Botan 1.10.17
Botan::HAS_160_F Namespace Reference

Functions

void F1 (u32bit A, u32bit &B, u32bit C, u32bit D, u32bit &E, u32bit msg, u32bit rot)
void F2 (u32bit A, u32bit &B, u32bit C, u32bit D, u32bit &E, u32bit msg, u32bit rot)
void F3 (u32bit A, u32bit &B, u32bit C, u32bit D, u32bit &E, u32bit msg, u32bit rot)
void F4 (u32bit A, u32bit &B, u32bit C, u32bit D, u32bit &E, u32bit msg, u32bit rot)

Function Documentation

◆ F1()

void Botan::HAS_160_F::F1 ( u32bit A,
u32bit & B,
u32bit C,
u32bit D,
u32bit & E,
u32bit msg,
u32bit rot )
inline

Definition at line 19 of file has160.cpp.

21 {
22 E += rotate_left(A, rot) + (D ^ (B & (C ^ D))) + msg;
23 B = rotate_left(B, 10);
24 }
T rotate_left(T input, size_t rot)
Definition rotate.h:21

References F1(), and Botan::rotate_left().

Referenced by F1().

◆ F2()

void Botan::HAS_160_F::F2 ( u32bit A,
u32bit & B,
u32bit C,
u32bit D,
u32bit & E,
u32bit msg,
u32bit rot )
inline

Definition at line 29 of file has160.cpp.

31 {
32 E += rotate_left(A, rot) + (B ^ C ^ D) + msg + 0x5A827999;
33 B = rotate_left(B, 17);
34 }

References F2(), and Botan::rotate_left().

Referenced by F2().

◆ F3()

void Botan::HAS_160_F::F3 ( u32bit A,
u32bit & B,
u32bit C,
u32bit D,
u32bit & E,
u32bit msg,
u32bit rot )
inline

Definition at line 39 of file has160.cpp.

41 {
42 E += rotate_left(A, rot) + (C ^ (B | ~D)) + msg + 0x6ED9EBA1;
43 B = rotate_left(B, 25);
44 }

References F3(), and Botan::rotate_left().

Referenced by F3().

◆ F4()

void Botan::HAS_160_F::F4 ( u32bit A,
u32bit & B,
u32bit C,
u32bit D,
u32bit & E,
u32bit msg,
u32bit rot )
inline

Definition at line 49 of file has160.cpp.

51 {
52 E += rotate_left(A, rot) + (B ^ C ^ D) + msg + 0x8F1BBCDC;
53 B = rotate_left(B, 30);
54 }

References F4(), and Botan::rotate_left().

Referenced by F4().