DoxigAlpha

extractBytes

Extract the first bytes of the state.

Function parameters

Parameters

#
self:*Self
out:[]u8

An Ascon state.

Functions

#
State
An Ascon state.

Source

Implementation

#
pub fn extractBytes(self: *Self, out: []u8) void {
    var i: usize = 0;
    while (i + 8 <= out.len) : (i += 8) {
        mem.writeInt(u64, out[i..][0..8], self.st[i / 8], endian);
    }
    if (i < out.len) {
        var padded = [_]u8{0} ** 8;
        mem.writeInt(u64, padded[0..], self.st[i / 8], endian);
        @memcpy(out[i..], padded[0 .. out.len - i]);
    }
}