public void DecryptedTextIsEqualToOriginalPlainText(BlockCipherEngines engine, BlockCipherModes mode) { var cryptoProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(engine, mode); var cipherText = cryptoProvider.Encrypt(_plainText, _encryptionKey); var decryptedCipherText = cryptoProvider.Decrypt(cipherText, _encryptionKey); Assert.That(decryptedCipherText, Is.EqualTo(_plainText)); }
public void EncryptionModeSerialized(BlockCipherEngines engine, BlockCipherModes mode) { var cryptoProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(engine, mode); var element = _rootNodeSerializer.SerializeRootNodeInfo(_rootNodeInfo, cryptoProvider); var attributeValue = element.Attribute(XName.Get("BlockCipherMode"))?.Value; Assert.That(attributeValue, Is.EqualTo(mode.ToString())); }
public XmlConnectionsDecryptor(BlockCipherEngines blockCipherEngine, BlockCipherModes blockCipherMode, RootNodeInfo rootNodeInfo) { _cryptographyProvider = new CryptoProviderFactory(blockCipherEngine, blockCipherMode).Build(); _rootNodeInfo = rootNodeInfo; }
public void EncryptionModeSerialized(BlockCipherEngines engine, BlockCipherModes mode) { var cryptoProvider = new CryptoProviderFactory(engine, mode).Build(); var element = _rootNodeSerializer.SerializeRootNodeInfo(_rootNodeInfo, cryptoProvider); var attributeValue = element.Attribute(XName.Get("BlockCipherMode"))?.Value; Assert.That(attributeValue, Is.EqualTo(mode.ToString())); }
private IAeadBlockCipher ChooseBlockCipherMode(BlockCipherModes mode, IBlockCipher blockCipher) { switch (mode) { case BlockCipherModes.GCM: return new GcmBlockCipher(blockCipher); case BlockCipherModes.CCM: return new CcmBlockCipher(blockCipher); case BlockCipherModes.EAX: return new EaxBlockCipher(blockCipher); default: throw new ArgumentOutOfRangeException(nameof(mode), mode, null); } }
private IAeadBlockCipher ChooseBlockCipherMode(BlockCipherModes mode, IBlockCipher blockCipher) { switch (mode) { case BlockCipherModes.GCM: return(new GcmBlockCipher(blockCipher)); case BlockCipherModes.CCM: return(new CcmBlockCipher(blockCipher)); case BlockCipherModes.EAX: return(new EaxBlockCipher(blockCipher)); default: throw new ArgumentOutOfRangeException(nameof(mode), mode, null); } }
public void GetCipherMode(BlockCipherEngines engine, BlockCipherModes mode) { var cryptoProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(engine, mode); Assert.That(cryptoProvider.CipherMode, Is.EqualTo(mode)); }
public ICryptographyProvider CreateAeadCryptographyProvider(BlockCipherEngines engine, BlockCipherModes mode) { var cipherEngine = ChooseBlockCipherEngine(engine); var cipher = ChooseBlockCipherMode(mode, cipherEngine); return(new AeadCryptographyProvider(cipher)); }
public CryptoProviderFactory(BlockCipherEngines engine, BlockCipherModes mode) { var cipherEngine = ChooseBlockCipherEngine(engine); _aeadBlockCipher = ChooseBlockCipherMode(mode, cipherEngine); }
public XmlConnectionsDecryptor(BlockCipherEngines blockCipherEngine, BlockCipherModes blockCipherMode, RootNodeInfo rootNodeInfo) { _cryptographyProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(blockCipherEngine, blockCipherMode); _rootNodeInfo = rootNodeInfo; }
private string GenerateXml(BlockCipherEngines engine = BlockCipherEngines.AES, BlockCipherModes mode = BlockCipherModes.GCM, int interations = 1000) { return($"<Credentials EncryptionEngine=\"{engine}\" BlockCipherMode=\"{mode}\" KdfIterations=\"{interations}\" SchemaVersion=\"1.0\">" + $"<Credential Id=\"{_id}\" Title=\"{Title}\" Username=\"{Username}\" Domain=\"{Domain}\" Password=\"{PlaintextPassword}\" />" + $"<Credential Id=\"{Guid.NewGuid()}\" Title=\"{Title}\" Username=\"{Username}\" Domain=\"{Domain}\" Password=\"{PlaintextPassword}\" />" + "</Credentials>"); }
public ICryptographyProvider CreateAeadCryptographyProvider(BlockCipherEngines engine, BlockCipherModes mode) { var cipherEngine = ChooseBlockCipherEngine(engine); var cipher = ChooseBlockCipherMode(mode, cipherEngine); return new AeadCryptographyProvider(cipher); }
public void CanCreateAeadProvidersWithCorrectMode(BlockCipherEngines engine, BlockCipherModes mode) { var cryptoProvider = _cryptographyProviderFactory.CreateAeadCryptographyProvider(engine, mode); Assert.That(cryptoProvider.CipherMode, Is.EqualTo(mode)); }
public XmlConnectionsDecryptor(BlockCipherEngines blockCipherEngine, BlockCipherModes blockCipherMode, RootNodeInfo rootNodeInfo) { _cryptographyProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(blockCipherEngine, blockCipherMode); ((AeadCryptographyProvider)_cryptographyProvider).KeyDerivationIterations = KeyDerivationIterations; _rootNodeInfo = rootNodeInfo; }
public void CanCreateAeadProvidersWithCorrectMode(BlockCipherEngines engine, BlockCipherModes mode) { var cryptoProvider = new CryptoProviderFactory(engine, mode).Build(); Assert.That(cryptoProvider.CipherMode, Is.EqualTo(mode)); }
public ConnectionsDecryptor(BlockCipherEngines blockCipherEngine, BlockCipherModes blockCipherMode) { _cryptographyProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(blockCipherEngine, blockCipherMode); ((AeadCryptographyProvider)_cryptographyProvider).KeyDerivationIterations = KeyDerivationIterations; }
public void GetCipherMode(BlockCipherEngines engine, BlockCipherModes mode) { var cryptoProvider = new CryptoProviderFactory(engine, mode).Build(); Assert.That(cryptoProvider.CipherMode, Is.EqualTo(mode)); }