public KdfResult Kdf(KdfParameterHkdf param, BitString fixedInfo) { var kdf = _hkdfFactory.GetKdf(ShaAttributes.GetHashFunctionFromEnum(param.HmacAlg)); var result = kdf.DeriveKey(param.Salt, param.Z, fixedInfo, param.L / BitString.BITSINBYTE); if (result.Success) { return(new KdfResult(result.DerivedKey)); } return(new KdfResult(result.ErrorMessage)); }
public KdfMultiExpansionResult Kdf(KdfMultiExpansionParameterHkdf param) { var kdf = _hkdfFactory.GetKdf(ShaAttributes.GetHashFunctionFromEnum(param.HmacAlg)); List <KdfResult> result = new List <KdfResult>(); foreach (var iterationParameter in param.IterationParameters) { result.Add(kdf.DeriveKey(param.Salt, param.Z, iterationParameter.FixedInfo, iterationParameter.L / BitString.BITSINBYTE)); } return(new KdfMultiExpansionResult(result)); }
public ITlsKdf_v1_3 GetInstance(HashFunctions hashFunction) { var hf = ShaAttributes.GetHashFunctionFromEnum(hashFunction); return(new TlsKdfv13(_hkdfFactory.GetKdf(hf), _shaFactory.GetShaInstance(hf), hf.OutputLen)); }