public void MovTestLsb() { AesAlgo aesAlgo = new AesAlgo(); using (AesManaged aes = new AesManaged()) { aes.KeySize = 128; aes.Padding = PaddingMode.PKCS7; var path = @"C:/Users/mamis/Desktop/sample.mov"; FileStream file = File.OpenRead(path); byte[] byteVideo = File.ReadAllBytes(path); string message = "Im the GOATTTT!!"; byte[] encryptedData = aesAlgo.EncryptStringToBytes_Aes(message, aes.Key, aes.IV).Concat(aes.Key).Concat(aes.IV).ToArray(); var binMessage = _decoder.EncryptedByteArrayToBinary(encryptedData); _lsbVideo.HideMov(byteVideo, binMessage); byte[] cypherData = _lsbVideo.SeekMov(byteVideo); byte[] key = _lsbVideo.ExtractKeyMov(byteVideo); byte[] iv = _lsbVideo.ExtractIvMov(byteVideo); var decryptedMessage = aesAlgo.DecryptStringFromBytes_Aes(cypherData, key, iv); Console.WriteLine("Secret Massage Is: \n" + decryptedMessage); File.WriteAllBytes("C:/Users/mamis/Desktop/outputTest.mov", byteVideo); } }
public void PETestLsb() { AesAlgo aesAlgo = new AesAlgo(); using (AesManaged aes = new AesManaged()) { aes.KeySize = 128; aes.Padding = PaddingMode.PKCS7; var path = @"C:\testfolder\exetest.exe"; //FileStream file = File.OpenRead(path); byte[] byteAudio = File.ReadAllBytes(path); string message = "TEST lsb aes"; byte[] encryptedMessage = aesAlgo.EncryptStringToBytes_Aes(message, aes.Key, aes.IV).Concat(aes.Key) .Concat(aes.IV).ToArray(); var binMessage = _decoder.EncryptedByteArrayToBinary(encryptedMessage); _lsbPe.HidePE(byteAudio, binMessage); byte[] cypherData = _lsbPe.SeekPE(byteAudio); byte[] key = _lsbPe.ExtractKeyPE(byteAudio); byte[] iv = _lsbPe.ExtractIvPE(byteAudio); var decryptedMessage = aesAlgo.DecryptStringFromBytes_Aes(cypherData, key, iv); Console.WriteLine("Secret Massage Is: \n" + decryptedMessage); File.WriteAllBytes("C:/Users/Mike/Desktop/pruducta/file_example_WAV_1MG - Copy.wav", byteAudio); } }
public void Mp3TestLsb() { AesAlgo aesAlgo = new AesAlgo(); using (AesManaged aes = new AesManaged()) { aes.KeySize = 128; aes.Padding = PaddingMode.PKCS7; var path = @"C:/Users/Mike/Desktop/pruducta/file_example_MP3_2MG - Copy.mp3"; byte[] byteAudio = File.ReadAllBytes(path); string message = "tmkescht"; byte[] encryptedMessage = aesAlgo.EncryptStringToBytes_Aes(message, aes.Key, aes.IV).Concat(aes.Key) .Concat(aes.IV).ToArray(); //var binMessage = _decoder.EncryptedByteArrayToBinary(encryptedMessage); //byteAudio = _metaDataAudio.GenerateJunk(byteAudio); byteAudio = _metaDataAudio.GenerateFramesMp3(byteAudio); _metaDataAudio.HideMp3(byteAudio, encryptedMessage); byte[] cypherData = _metaDataAudio.SeekMp3(byteAudio); byte[] key = _metaDataAudio.ExtractKeyMp3(byteAudio); byte[] iv = _metaDataAudio.ExtractIvMp3(byteAudio); // byteAudio = _lsbAudio.GenerateFrames(byteAudio); // _lsbAudio.HideMp3(byteAudio, binMessage); // // byte[] cypherData = _lsbAudio.SeekMp3(byteAudio); // byte[] key = _lsbAudio.ExtractKeyMp3(byteAudio); // byte[] iv = _lsbAudio.ExtractIvMp3(byteAudio); var decryptedMessage = aesAlgo.DecryptStringFromBytes_Aes(cypherData, key, iv); Console.WriteLine("Secret Massage Is: \n" + decryptedMessage); File.WriteAllBytes("C:/Users/Mike/Desktop/pruducta/TEST.mp3", byteAudio); } }
public void bmpHide() { AesAlgo aesAlgo = new AesAlgo(); using (AesManaged aes = new AesManaged()) { aes.KeySize = 128; aes.Padding = PaddingMode.PKCS7; var path = @"C:/Users/mamis/Desktop/pic.png"; var bmp = (Bitmap)Image.FromFile(path); string message = "Lebron is the Goat Lebron is the Goat "; byte[] encryptedData = aesAlgo.EncryptStringToBytes_Aes(message, aes.Key, aes.IV).Concat(aes.Key).Concat(aes.IV).ToArray(); var binMessage = _decoder.EncryptedByteArrayToBinary(encryptedData); _lsbPicture.HideBitmap(bmp, binMessage); byte[] cypherData = _lsbPicture.SeekBitmap(bmp); byte[] key = _lsbPicture.ExtractKeyBitmap(bmp); byte[] iv = _lsbPicture.ExtractIvBitmap(bmp); var decryptedMessage = aesAlgo.DecryptStringFromBytes_Aes(cypherData, key, iv); Console.WriteLine("Secret Massage Is: \n" + decryptedMessage); bmp.Save("C:/Users/mamis/Desktop/pica1.jpg", ImageFormat.Tiff); } }
public string ExtractMessageFromVideo(FileDataUploadRequestModel fileData) { AesAlgo aesAlgo = new AesAlgo(); //byte[] video = new byte[fileData.FileAsHttpPostedFileBase.ContentLength]; //fileData.FileAsHttpPostedFileBase.InputStream.Read(video, 0, video.Length); byte[] video = fileData.FileAsByteArray; byte[] cypherData = null; byte[] key = null; byte[] iv = null; string decryptedMessage = null; switch (fileData.HidingMethod) { case HidingMethod.Lsb: if (fileData.FileName.EndsWith(".avi")) { cypherData = _lsbVideo.SeekAvi(video); key = _lsbVideo.ExtractKeyAvi(video); iv = _lsbVideo.ExtractIvAvi(video); } else { cypherData = _lsbVideo.SeekMov(video); key = _lsbVideo.ExtractKeyMov(video); iv = _lsbVideo.ExtractIvMov(video); } break; case HidingMethod.MetaData: if (fileData.FileName.EndsWith(".avi")) { cypherData = _metaDataVideo.SeekAvi(video); key = _metaDataVideo.ExtractKeyAvi(video); iv = _metaDataVideo.ExtractIvAvi(video); } else { cypherData = _metaDataVideo.SeekMov(video); key = _metaDataVideo.ExtractKeyMov(video); iv = _metaDataVideo.ExtractIvMov(video); } break; } switch (fileData.EncryptionMethod) { case EncryptionMethod.Aes: decryptedMessage = Decrypt_Aes(cypherData, key, iv); break; case EncryptionMethod.Serpent: decryptedMessage = Decrypt_Serpent(cypherData, key); break; } return(decryptedMessage); }
public string ExtractMessageFromAudio(FileDataUploadRequestModel fileData) { AesAlgo aesAlgo = new AesAlgo(); byte[] audio = fileData.FileAsByteArray; byte[] cypherData = null; byte[] key = null; byte[] iv = null; string decryptedMessage = null; switch (fileData.HidingMethod) { case HidingMethod.Lsb: if (fileData.FileName.EndsWith(".wav")) { cypherData = _lsbAudio.SeekWave(audio); key = _lsbAudio.ExtractKeyWave(audio); iv = _lsbAudio.ExtractIvWave(audio); } else { cypherData = _lsbAudio.SeekMp3(audio); key = _lsbAudio.ExtractKeyMp3(audio); iv = _lsbAudio.ExtractIvMp3(audio); } break; case HidingMethod.MetaData: if (fileData.FileName.EndsWith(".wav")) { cypherData = _metaDataAudio.SeekWave(audio); key = _metaDataAudio.ExtractKeyWave(audio); iv = _metaDataAudio.ExtractIvWave(audio); } else { cypherData = _metaDataAudio.SeekMp3(audio); key = _metaDataAudio.ExtractKeyMp3(audio); iv = _metaDataAudio.ExtractIvMp3(audio); } break; } switch (fileData.EncryptionMethod) { case EncryptionMethod.Aes: decryptedMessage = Decrypt_Aes(cypherData, key, iv); break; case EncryptionMethod.Serpent: //decryptedMessage = Decrypt_Des(cypherData, key, iv); decryptedMessage = Decrypt_Serpent(cypherData, key); break; } return(decryptedMessage); }
public byte[] Encrypt_Aes(string plainMessage) { AesAlgo aesAlgo = new AesAlgo(); using (AesManaged aes = new AesManaged()) { aes.KeySize = 128; aes.Padding = PaddingMode.PKCS7; byte[] encryptedData = aesAlgo.EncryptStringToBytes_Aes(plainMessage, aes.Key, aes.IV).Concat(aes.Key) .Concat(aes.IV).ToArray(); return(encryptedData); } }
public string ExtractMessageFromExe(FileDataUploadRequestModel fileData) { AesAlgo aesAlgo = new AesAlgo(); // var ms = new MemoryStream(fileData.File); byte[] Exe = fileData.FileAsByteArray; byte[] cypherData = null; byte[] key = null; byte[] iv = null; string decryptedMessage = null; switch (fileData.HidingMethod) { case HidingMethod.Lsb: if (fileData.FileName.EndsWith(".exe")) { cypherData = _lsbExe.SeekPE(Exe); key = _lsbExe.ExtractKeyPE(Exe); iv = _lsbExe.ExtractIvPE(Exe); } break; case HidingMethod.MetaData: if (fileData.FileName.EndsWith(".exe")) { cypherData = _metaDataExe.SeekPE(Exe); key = _metaDataExe.ExtractKeyPE(Exe); iv = _metaDataExe.ExtractIvPE(Exe); } else if (fileData.FileName.EndsWith(".bat")) { cypherData = _metaDataExe.SeekBatch(Exe); key = _metaDataExe.ExtractKeyBatch(Exe); iv = _metaDataExe.ExtractIvBatch(Exe); } break; } switch (fileData.EncryptionMethod) { case EncryptionMethod.Aes: decryptedMessage = Decrypt_Aes(cypherData, key, iv); break; case EncryptionMethod.Serpent: decryptedMessage = Decrypt_Serpent(cypherData, key); break; } return(decryptedMessage); }
public void bmpSeek() { AesAlgo aesAlgo = new AesAlgo(); var path1 = "C:/Users/mamis/Desktop/pica1.jpg"; var bmp = (Bitmap)Image.FromFile(path1); byte[] cypherData = _lsbPicture.SeekBitmap(bmp); byte[] key = _lsbPicture.ExtractKeyBitmap(bmp); byte[] iv = _lsbPicture.ExtractIvBitmap(bmp); var decryptedMessage = aesAlgo.DecryptStringFromBytes_Aes(cypherData, key, iv); Console.WriteLine("Secret Massage Is: \n" + decryptedMessage); }
public void Given_ValidKeyAndBinaryData_When_EncryptAndDecrypt_Then_DecryptionIsSameResult( [Values(192, 256)] int keySize) { // Arrange const string strToTestWith = "string should be encrypted and come out the same after descryption"; var byteConverter = new UnicodeEncoding(); var strAsBytes = byteConverter.GetBytes(strToTestWith); var algo = new AesAlgo(); // Act var key = new AesKeyGenerator().GetNewKey(new AesKeyGenerationOptions() { NewKeyName = "my new aes key", KeySize = keySize }); var result = algo.Decrypt(algo.Encrypt(strAsBytes, key), key); // Assert byteConverter.GetString(result).Should().Be(strToTestWith); }
public string ExtractMessageFromPicture(FileDataUploadRequestModel fileData) { AesAlgo aesAlgo = new AesAlgo(); var ms = new MemoryStream(fileData.FileAsByteArray); var bmp = new Bitmap(ms); byte[] cypherData = null; byte[] key = null; byte[] iv = null; string decryptedMessage = null; switch (fileData.HidingMethod) { case HidingMethod.Lsb: cypherData = _lsbPicture.SeekBitmap(bmp); key = _lsbPicture.ExtractKeyBitmap(bmp); iv = _lsbPicture.ExtractIvBitmap(bmp); break; case HidingMethod.MetaData: cypherData = _metaDataPicture.SeekJpeg(fileData.FileAsByteArray); key = _metaDataPicture.ExtractKeyJpeg(fileData.FileAsByteArray); iv = _metaDataPicture.ExtractIvJpeg(fileData.FileAsByteArray); break; } switch (fileData.EncryptionMethod) { case EncryptionMethod.Aes: decryptedMessage = Decrypt_Aes(cypherData, key, iv); break; case EncryptionMethod.Serpent: decryptedMessage = Decrypt_Serpent(cypherData, key); break; } return(decryptedMessage); }
public void JpegHide() { AesAlgo aesAlgo = new AesAlgo(); using (AesManaged aes = new AesManaged()) { aes.KeySize = 128; aes.Padding = PaddingMode.PKCS7; var path = @"C:/Users/mamis/Desktop/tif.tiff"; var path2 = @"C:/Users/mamis/Desktop/picOutput.tiff"; var jpeg = File.ReadAllBytes(path); string message = "Lebron james is the greatest player of all times" + "Lebron james is the greatest player of all times" + "Lebron james is the greatest player of all times" + "Lebron james is the greatest player of all times" + "Lebron james is the greatest player of all times" + "Lebron james is the greatest player of all times "; byte[] encryptedData = aesAlgo.EncryptStringToBytes_Aes(message, aes.Key, aes.IV); encryptedData = encryptedData .Concat(aes.Key) .Concat(aes.IV).ToArray(); jpeg = _metaDataPicture.HideJpeg(jpeg, encryptedData); byte[] cypherData = _metaDataPicture.SeekJpeg(jpeg); byte[] key = _metaDataPicture.ExtractKeyJpeg(jpeg); byte[] iv = _metaDataPicture.ExtractIvJpeg(jpeg); var decryptedMessage = aesAlgo.DecryptStringFromBytes_Aes(cypherData, key, iv); Console.WriteLine("Secret Massage Is: \n" + decryptedMessage); File.WriteAllBytes(path2, jpeg); } }
public void AviTestMetaData() { AesAlgo aesAlgo = new AesAlgo(); using (AesManaged aes = new AesManaged()) { aes.KeySize = 128; aes.Padding = PaddingMode.PKCS7; var path = @"C:/Users/mamis/Desktop/sample.avi"; FileStream file = File.OpenRead(path); byte[] byteVideo = File.ReadAllBytes(path); string message = " the seven sees?? Lebron is the goat, It is well known all the seven sees." + "the seven sees?? Lebron is the goat, It is well known all the seven sees" + "the seven sees?? Lebron is the goat, It is well known all the seven sees" + "the seven sees?? Lebron is the goat, It is well known all the seven sees" + "the seven sees?? Lebron is the goat, It is well known all the seven sees??"; byte[] encryptedData = aesAlgo.EncryptStringToBytes_Aes(message, aes.Key, aes.IV).Concat(aes.Key).Concat(aes.IV) .ToArray(); //byte[] b = encryptedData.Concat(aes.Key).ToArray(); _metaDataVideo.hideAvi(byteVideo, encryptedData); byte[] cypherData = _metaDataVideo.SeekAvi(byteVideo); byte[] key = _metaDataVideo.ExtractKeyAvi(byteVideo); byte[] iv = _metaDataVideo.ExtractIvAvi(byteVideo); var decryptedMessage = aesAlgo.DecryptStringFromBytes_Aes(cypherData, aes.Key, aes.IV); Console.WriteLine("Secret Massage Is: \n" + decryptedMessage); File.WriteAllBytes("C:/Users/mamis/Desktop/vidOutput.avi", byteVideo); } }
public string Decrypt_Aes(byte [] cypherData, byte[] key, byte[] iv) { AesAlgo aesAlgo = new AesAlgo(); return(aesAlgo.DecryptStringFromBytes_Aes(cypherData, key, iv)); }