Example #1
0
        private ICipher GetCipher()
        {
            if (!encryptCheckBox.Checked)
            {
                return(null);
            }

            byte[] keyBytes = Encoding.UTF8.GetBytes(keyTextBox.Text);
            var    key      = KeyExtender.Extend(keyBytes, _padding);

            switch (encryptComboBox.Text)
            {
            case nameof(AES):
                return(new AES(key));

            case nameof(Twofish):
                return(new Twofish(key));

            case nameof(Serpent):
                return(new Serpent(key));

            default:
                return(null);
            }
        }
Example #2
0
        private ICipher GetCipher(int id, byte[] key)
        {
            key = KeyExtender.Extend(key, new PKCS7Padding()); // to chyba powinien encryptor robić

            if (id == CipherId.AES)
            {
                return(new AES(key));
            }

            if (id == CipherId.Serpent)
            {
                return(new Serpent(key));
            }

            if (id == CipherId.Twofish)
            {
                return(new Twofish(key));
            }

            throw new ArgumentOutOfRangeException();
        }
Example #3
0
 public void Extend_Provides10ByteKey_Extended()
 {
     byte[] key = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
     CollectionAssert.AreEqual(new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 6, 6, 6, 6, 6, 6 }, KeyExtender.Extend(key, new PKCS7Padding()));
 }
Example #4
0
 public void Extend_ProvidesCompleteKey_Extended()
 {
     CollectionAssert.AreEqual(new byte[16], KeyExtender.Extend(new byte[16], MockRepository.GenerateMock <IPadding>()));
     CollectionAssert.AreEqual(new byte[24], KeyExtender.Extend(new byte[24], MockRepository.GenerateMock <IPadding>()));
     CollectionAssert.AreEqual(new byte[32], KeyExtender.Extend(new byte[32], MockRepository.GenerateMock <IPadding>()));
 }