public void ShouldMacCorrectly(int keyLength, int macLength, BitString dkm, BitString nonce, BitString expectedMacData, BitString expectedMac) { NoKeyConfirmationParameters p = new NoKeyConfirmationParameters(KeyAgreementMacType.CmacAes, macLength, dkm, nonce); _subject = new NoKeyConfirmationCmac(new NoKeyConfirmationMacDataCreator(), p, _algoFactory.GetCmacInstance(CmacTypes.AES128)); var result = _subject.ComputeMac(); Assert.That(result.Success, nameof(result.Success)); Assert.AreEqual(expectedMacData.ToHex(), result.MacData.ToHex(), nameof(result.MacData)); Assert.AreEqual(expectedMac.ToHex(), result.Mac.ToHex(), nameof(result.Mac)); }
public void ShouldMacCorrectly(int keyLength, int ccmNonceLength, int macLength, BitString dkm, BitString nonce, BitString ccmNonce, BitString expectedMacData, BitString expectedMac) { NoKeyConfirmationParameters p = new NoKeyConfirmationParameters(KeyAgreementMacType.AesCcm, macLength, dkm, nonce, ccmNonce); _subject = new NoKeyConfirmationAesCcm(new NoKeyConfirmationMacDataCreator(), p, _algo); var result = _subject.ComputeMac(); Assert.That(result.Success, nameof(result.Success)); Assert.AreEqual(expectedMacData.ToHex(), result.MacData.ToHex(), nameof(result.MacData)); Assert.AreEqual(expectedMac.ToHex(), result.Mac.ToHex(), nameof(result.Mac)); }
public void ShouldReturnCorrectInstance(KeyAgreementMacType macType, Type expectedType) { NoKeyConfirmationParameters p = null; if (macType == KeyAgreementMacType.AesCcm) { p = new NoKeyConfirmationParameters(macType, 1, new BitString(1), new BitString(1), new BitString(1)); } else { p = new NoKeyConfirmationParameters(macType, 1, new BitString(1), new BitString(1)); } var result = _subject.GetInstance(p); Assert.IsInstanceOf(expectedType, result); }
public void ShouldMacCorrectly(int keyLength, int macLength, KeyAgreementMacType keyAgreementMacType, BitString dkm, BitString nonce, BitString expectedMacData, BitString expectedMac) { ModeValues modeValue = ModeValues.SHA2; DigestSizes digestSize = DigestSizes.NONE; EnumMapping.GetHashFunctionOptions(keyAgreementMacType, ref modeValue, ref digestSize); NoKeyConfirmationParameters p = new NoKeyConfirmationParameters(keyAgreementMacType, macLength, dkm, nonce); _subject = new NoKeyConfirmationHmac(new NoKeyConfirmationMacDataCreator(), p, _algoFactory.GetHmacInstance(new HashFunction(modeValue, digestSize))); var result = _subject.ComputeMac(); Assert.That(result.Success, nameof(result.Success)); Assert.AreEqual(expectedMacData.ToHex(), result.MacData.ToHex(), nameof(result.MacData)); Assert.AreEqual(expectedMac.ToHex(), result.Mac.ToHex(), nameof(result.Mac)); }