private byte[] ComputeHandshakeDigest1(byte[] vec, byte[] key, int doffset)
{
var msg = new byte[vec.Length-32];
Array.Copy(vec, 0, msg, 0, doffset);
Array.Copy(vec, doffset+32, msg, doffset, vec.Length-32-doffset);
var hasher = new System.Security.Cryptography.HMACSHA256(key);
return hasher.ComputeHash(msg);
}