public static void ComputeAsymetricKeys(byte[] sharedSecret, byte[] initiatorNonce, byte[] responderNonce,out byte[] requestKey,out byte[] responseKey)
{
var hmac = new HMACSHA256(responderNonce);
var md1 = hmac.ComputeHash(initiatorNonce, 0, initiatorNonce.Length);
hmac = new HMACSHA256(initiatorNonce);
var md2 = hmac.ComputeHash(responderNonce, 0, responderNonce.Length);
hmac = new HMACSHA256(sharedSecret);
requestKey = hmac.ComputeHash(md1, 0, md1.Length);
responseKey = hmac.ComputeHash(md2, 0, md2.Length);
}
}