private void Decrypt() { HandleJobController.Progress(() => { //TODO Compression var algorithm = ViewModel.CryptionModel.Algorithm as RsaAlgorithm; DecodeModel model; if (algorithm != null) { string key; using (var sr = new StreamReader(ViewModel.CryptionModel.KeyFilePath)) { key = sr.ReadToEnd(); } model = new DecodeModel(ViewModel.ImagePath, ViewModel.CryptionModel.Algorithm, key, ViewModel.SteganographicModel.Algorithm, ViewModel.SteganographicModel.Compression, ViewModel.SteganographicModel.LsbIndicator); } else { model = new DecodeModel(ViewModel.ImagePath, ViewModel.CryptionModel.Algorithm, ViewModel.CryptionModel.Password, ViewModel.SteganographicModel.Algorithm, ViewModel.SteganographicModel.Compression, ViewModel.SteganographicModel.LsbIndicator); } ViewModel.Result = model.Decode(); }); }
private void Analysis() { HandleJobController.Progress(() => { var analyser = new StegAnalyser(ViewModel.RsAnalysis, ViewModel.SamplePairs, ViewModel.LaplaceGraph); var path = SelectImage(); if (!string.IsNullOrEmpty(path)) { using (var bitmap = new Bitmap(path)) { ViewModel.Result = analyser.Run(bitmap); } } }); }
private void Benchmark() { HandleJobController.Progress(() => { var benchmarker = new Benchmarker(ViewModel.AverageAbsoluteDifference, ViewModel.MeanSquaredError, ViewModel.LpNorm, ViewModel.LaplacianMeanSquaredError, ViewModel.SignalToNoiseRatio, ViewModel.PeakSignalToNoiseRatio, ViewModel.NormalizedCrossCorrelation, ViewModel.CorrelationQuality); var original = SelectImage("Select Original Image"); var stegano = SelectImage("Select Steganogramm"); if (!string.IsNullOrEmpty(original) || !string.IsNullOrEmpty(stegano)) { using (var orig = new Bitmap(original)) { using (var steg = new Bitmap(stegano)) { ViewModel.Result = benchmarker.Run(orig, steg); } } } }); }
private void CancelAction() { HandleJobController.Cancel(); }