public void DecryptBasic() { Vigenere v = new Vigenere("PALIMPSEST", new CipherNet.Common.Alphabet("KRYPTOS")); var plainText = v.Decrypt("EMUFPHZLRFAXYUSDJKZLDKRNSHGNFIVJYQTQUXQBQVYUVLLTREVJYQTMKYRDMFD"); Assert.AreEqual("BETWEENSUBTLESHADINGANDTHEABSENCEOFLIGHTLIESTHENUANCEOFIQLUSION", plainText); }
static void Main(string[] args) { string texteClair = null; string key = null; string texteChiffre = null; Console.WriteLine("Quelle phrase voulez-vous encoder :"); texteClair = Console.ReadLine(); Console.WriteLine("Entrez votre clef :"); key = Console.ReadLine(); Vigenere vigenere = new Vigenere(); texteChiffre = vigenere.Encrypt(texteClair, key); Console.WriteLine("\nTexte en claire : " + texteClair); Console.WriteLine("Cléf : " + key + " "); Console.WriteLine("Texte chiffré : " + texteChiffre); texteClair = vigenere.Decrypt(texteChiffre, key); Console.WriteLine("\nTexte chiffré : " + texteChiffre); Console.WriteLine("Cléf : " + key + " "); Console.WriteLine("Texte claire : " + texteClair); Console.Read(); }
private void VigenereDecode(object sender, RoutedEventArgs e) { Vigenere vigenere = new Vigenere(); string value = VigenereDecodeInput.Text; string key = VigenereDecodeKeyInput.Text; VigenereDecodeOutput.Text = vigenere.Decrypt(value, key); }
public void TestDecrypt() { IEnumerable <string> encrypt = Program.Preprocess("ALPHA"); string key = "NU"; string expected = "OXTCO"; string actual = Vigenere.Decrypt(encrypt, key).FirstOrDefault(); Assert.AreNotEqual(expected, actual); }
/// <summary> /// Performs one of the possible actions: encrypts or decrypts data. /// </summary> /// <param name="text">Data to be encrypted / decrypted.</param> /// <param name="key">The key for the encryption / decryption algorithm.</param> /// <param name="typeOfChiper">The name of the encryption / decryption algorithm.</param> /// <param name="action">Action to be taken (encrypt / decrypt).</param> /// <returns>The result of encryption / decryption.</returns> private static string PerformAction(string text, string key, TypesOfCiphers typeOfChiper, Model.Ciphers.Action action) { switch (typeOfChiper) { case TypesOfCiphers.RailFence: RailFence railFence = new RailFence(); if (action == Model.Ciphers.Action.Encrypt) { return(railFence.Encrypt(text, key)); } else { return(railFence.Decrypt(text, key)); } case TypesOfCiphers.RotatingSquare: RotatingGrill rotatingSquare = new RotatingGrill(); if (action == Model.Ciphers.Action.Encrypt) { return(rotatingSquare.Encrypt(text)); } else { return(rotatingSquare.Decrypt(text)); } case TypesOfCiphers.Vigenere: Vigenere vigener = new Vigenere(); if (action == Model.Ciphers.Action.Encrypt) { try { return(vigener.Encrypt(text, key)); } catch (DivideByZeroException) { return(text); } } else { try { return(vigener.Decrypt(text, key)); } catch (DivideByZeroException) { return(text); } } default: return(null); } }
private void dechiffreBtn_Click(object sender, EventArgs e) { if (textBox2.TextLength != 0 || textBox3.TextLength != 0) { Vigenere vigenere = new Vigenere(); textBox1.Text = vigenere.Decrypt(textBox3.Text, textBox2.Text); chiffrerBtn.Enabled = true; dechiffreBtn.Enabled = false; } }
public void Decrypt_CorrectInputString_CorrectDecrypted() { var encrypted = "Rijvs"; var key = "key"; var cipher = new Vigenere(); var decrypted = cipher.Decrypt(encrypted, key); var expected = "HELLO"; Assert.AreEqual(expected, decrypted); }
public void ReturnsDecryptedWordForKeyMatchingWordLengthWithSmallLetters() { string input = "dicpdpxvazip"; string expected = "CRYPTOGRAPHY"; Vigenere vigenere = new Vigenere("breakbreakbr"); string decrypted = vigenere.Decrypt(input); Assert.AreEqual(expected, decrypted); }
public void ReturnsDecryptedWordForKeyShorterThanWord() { string input = "DICPDPXVAZIP"; string expected = "CRYPTOGRAPHY"; Vigenere vigenere = new Vigenere("BREAK"); string decrypted = vigenere.Decrypt(input); Assert.AreEqual(expected, decrypted); }
public void ReturnsDecryptedWordForKeyMatchingWordLength() { string input = "DICPDPXVAZIP"; string expected = "CRYPTOGRAPHY"; Vigenere vigenere = new Vigenere("BREAKBREAKBR"); string decrypted = vigenere.Decrypt(input); Assert.AreEqual(expected, decrypted); }
public void Vigenere_DecryptTest() { //Arrange SecurityAlgorithm target = new Vigenere("lemon"); string plain = "attackatdawn"; string cypher = "lxfopvefrnhr"; //Act string actual = target.Decrypt(cypher); //Assert }
public void DecryptTest() { //Arrange IEncryptionAlgorithm target = new Vigenere("lemon"); string plain = "attackatdawn"; string cypher = "lxfopvefrnhr"; //Act string actual = target.Decrypt(cypher); //Assert Assert.Equal(plain, actual); }
public void Decrypt_CorrectInputEnumerable_CorrectEncrypted() { var source = new List <string> { "Rijvs", "FMEORCBI", "mmnrip" }; var key = "key"; var cipher = new Vigenere(); var decrypted = cipher.Decrypt(source, key); var expected = new List <string> { "HELLO", "VIGENERE", "CIPHER" };; CollectionAssert.AreEqual(expected, decrypted); }
public void Unigraph_VigenereTest() { Vigenere vigenere = new Vigenere(Utility.KeyedEnglishAlphabet("KRYPTOS")); cipher = ""; clear = ""; generated = ""; for (int i = 0; i < 25; i++) { vigenere.Key = vigenere.GenerateRandomString(11); generated = vigenere.GenerateRandomString(); cipher = vigenere.Encrypt(generated); clear = vigenere.Decrypt(cipher); Assert.AreEqual(generated, clear); } }
private void encryptDecryptPressed(object sender, RoutedEventArgs e) { string buttonName = ((Button)sender).Name; string userInput = mTextBox.Text.ToString(); string userKey = keyTextBox.Text.ToString(); string encrypted = ""; string decrypted = ""; bool normalDialog = true; switch (currentAlgorithm) { case "RAIL_FENCE": if (mTextBox.Text == "") { MessageBox.Show("Rail fence text input is empty. Please type in something."); return; } if (validateRailfenceFields(keyTextBox.Text.ToString())) { int i = int.Parse(userKey); rf = new RailFence(i); encrypted = rf.Encrypt(userInput); decrypted = rf.Decrypt(userInput); } break; case "COLUMNAR_TRANSP": if (mTextBox.Text == "") { MessageBox.Show("Columanr transp text input is empty. Please type in something."); return; } int[] inputTab = parseColumnarTranspKey(userKey); if (validateColumnarTranspkey(inputTab)) { ct = new ColumnarTransposition(parseColumnarTranspKey(userKey)); encrypted = ct.Encrypt(userInput); decrypted = ct.Decrypt(userInput); } else { return; } break; case "MATRIX_TRANSP": if (mTextBox.Text == "") { MessageBox.Show("Matrix transp text input is empty. Please type in something."); return; } if (validateMatrixTransp(userKey)) { mt = new MatrixTransp(parseMatrixTranspKey(userKey)); encrypted = mt.Encrypt(userInput); decrypted = mt.Decrypt(userInput); } else { return; } break; case "COLUMNAR_C": if (mTextBox.Text == "") { MessageBox.Show("Matrix transp version C text input is empty. Please type in something."); return; } if (validateMatrixTranspVerCKey(userKey) && validateMatrixTranspVerCWord(userInput)) { ctc = new ColumnarTranspositionC(userKey); encrypted = ctc.Encrypt(userInput); decrypted = ctc.Decrypt(userInput); } else { return; } break; case "ViGENERE": if (mTextBox.Text == "") { MessageBox.Show("Winegret text input is empty. Please type in something."); return; } if (validateVinegretKey(userKey) && validateVinegretWord(userInput)) { vig = new Vigenere(userKey); encrypted = vig.Encrypt(userInput); decrypted = vig.Decrypt(userInput); } else { return; } break; case "CEZAR": if (mTextBox.Text == "") { MessageBox.Show("Cezar text input is empty. Please type in something."); return; } if (validateCezarKey(userKey) && validateCezarWord(userInput)) { int i = int.Parse(userKey); cz = new Cezar(i); encrypted = cz.Encrypt(userInput); decrypted = cz.Decrypt(userInput); } else { return; } break; case "SYNC": if (syncFileName.Content.ToString() == " ") { MessageBox.Show("SYNC file input is empty. Please type in something."); return; } if (keyTextBox.Text == "") { MessageBox.Show("SYNC key text input is empty. Please type in something."); return; } if (!syncKeyGenerated) { MessageBox.Show("SYNC key needs to be generated first, please press run and then stop button before proceeding."); return; } normalDialog = false; synchronousStreamCipher = new SynchronousStreamCipher(lsfrGen.GetSequence()); TextWriter tw = new StreamWriter("LFSR KEY USED.txt"); List <bool> listOfBools = lsfrGen.GetSequence(); char boolOutcome = ' '; string boolOutcomeCollection = ""; int ij = 0; foreach (bool b in listOfBools) { if (b == true) { boolOutcome = '1'; } else { boolOutcome = '0'; } boolOutcomeCollection += boolOutcome; ij++; if (ij > 100) { ij = 0; tw.WriteLine(boolOutcomeCollection); boolOutcomeCollection = ""; } } tw.WriteLine(boolOutcomeCollection); tw.Close(); if (buttonName == "encrypt") { synchronousStreamCipher.Encrypt(syncFileName.Content.ToString()); } else { synchronousStreamCipher.Decrypt(syncFileName.Content.ToString()); } MessageBox.Show("Encrypted/decrypted file is located in folder where your .exe file is ( most probably bin/debug ). You will also find text file that contains LFSR key in it there."); break; case "DES": if (syncFileName.Content.ToString() == " ") { MessageBox.Show("DES file input is empty. Please type in something."); return; } if (keyTextBox.Text == "") { MessageBox.Show("DES key text input is empty. Please type in something."); return; } if (!validateDesKey(userKey)) { return; } des = new DES(desKeyParsing(userKey)); if (buttonName == "encrypt") { des.EncryptFile(syncFileName.Content.ToString()); } else { des.DecryptFile(syncFileName.Content.ToString()); } MessageBox.Show("Encrypted/decrypted file is located in folder where your .exe file is ( most probably bin/debug )."); break; default: break; } int length = encrypted.Length; outcomeLabel.FontSize = 30; if (length > 10) { outcomeLabel.FontSize = 20; } if (length > 20) { outcomeLabel.FontSize = 15; } if (normalDialog) { if (buttonName == "encrypt") { if (encrypted != "") { outcomeTypeLabel.Content = "Encrypted:"; } outcomeLabel.Content = encrypted; } else { if (decrypted != "") { outcomeTypeLabel.Content = "Decrypted:"; } outcomeLabel.Content = decrypted; } } else { } }
public void DecodeVigenere(string input, string key, string output) { var result = vigenere.Decrypt(input, key); Assert.AreEqual(output, result); }
private void VigenereDecrypt_Click(object sender, EventArgs e) { VigenereOutput.Text = Vigenere.Decrypt(VigenereInput.Text, VigenereKeyword.Text); }