Function addEntropy [src]

Inserts entropy to refresh the internal state.

Prototype

pub fn addEntropy(self: *Self, bytes: []const u8) void

Parameters

self: *Selfbytes: []const u8

Source

pub fn addEntropy(self: *Self, bytes: []const u8) void { var i: usize = 0; while (i + Cipher.key_length <= bytes.len) : (i += Cipher.key_length) { Cipher.xor( self.state[0..Cipher.key_length], self.state[0..Cipher.key_length], 0, bytes[i..][0..Cipher.key_length].*, nonce, ); } if (i < bytes.len) { var k = [_]u8{0} ** Cipher.key_length; const src = bytes[i..]; @memcpy(k[0..src.len], src); Cipher.xor( self.state[0..Cipher.key_length], self.state[0..Cipher.key_length], 0, k, nonce, ); } self.refill(); }