Ultima modifica:
Vorrei avere un vostro parere se questo codice presenta qualche vulnerabilita' a livello crittoanalitico considerando key sicura.
E se e' sicuro generare uno stream da questa e fare uno XOR con un messaggio per proteggerlo, in caso contrario perche'?.
E se e' sicuro generare uno stream da questa e fare uno XOR con un messaggio per proteggerlo, in caso contrario perche'?.
C#:
byte[] MyHKDF(byte[] key, int outputLen)
{
// Compute needed HMACs for outputLength
uint blockCount = (uint)Math.Ceil((decimal)outputLen / 32);
byte[] outputBuff = new byte[blockCount * 32];
for (UInt32 i = 0; i < blockCount; i++)
{
byte[] counter = UI32_ToBytes(i);
byte[] block = HMAC_SHA256(key, counter);
Buffer.BlockCopy(block, 0, outputBuff, i * 32, 32);
}
// Truncate exceeding bytes
outputBuff.SetLength(outputLen);
return outputBuff;
}