Function sha::sha1::ops::digest_round_x4 [-] [+] [src]

pub fn digest_round_x4(state: &mut [u32; 5], w: [u32; 4], i: usize)

This function can be easily implemented with Intel SHA intruction set extensions.

{
    let abcd = u32x4(a, b, c, d);
    let e000 = u32x4(e, 0, 0, 0);

    abcd = sha1rnds4(abcd, e000 + work, i);

    e = a.rotate_left(30);
    a = abcd.0;
    b = abcd.1;
    c = abcd.2;
    d = abcd.3;
}