Go to the documentation of this file.
64 #ifndef RIPEMD160_LONG_LOG2
65 #define RIPEMD160_LONG_LOG2 2
74 # if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__)
75 # define ripemd160_block_data_order ripemd160_block_asm_data_order
81 #define DATA_ORDER_IS_LITTLE_ENDIAN
83 #define HASH_LONG RIPEMD160_LONG
84 #define HASH_CTX RIPEMD160_CTX
85 #define HASH_CBLOCK RIPEMD160_CBLOCK
86 #define HASH_UPDATE RIPEMD160_Update
87 #define HASH_TRANSFORM RIPEMD160_Transform
88 #define HASH_FINAL RIPEMD160_Final
89 #define HASH_MAKE_STRING(c,s) do { \
91 ll=(c)->A; HOST_l2c(ll,(s)); \
92 ll=(c)->B; HOST_l2c(ll,(s)); \
93 ll=(c)->C; HOST_l2c(ll,(s)); \
94 ll=(c)->D; HOST_l2c(ll,(s)); \
95 ll=(c)->E; HOST_l2c(ll,(s)); \
97 #define HASH_BLOCK_DATA_ORDER ripemd160_block_data_order
102 #define F1(x,y,z) ((x)^(y)^(z))
103 #define F2(x,y,z) (((x)&(y))|((~x)&z))
104 #define F3(x,y,z) (((x)|(~y))^(z))
105 #define F4(x,y,z) (((x)&(z))|((y)&(~(z))))
106 #define F5(x,y,z) ((x)^((y)|(~(z))))
111 #define F1(x,y,z) ((x) ^ (y) ^ (z))
112 #define F2(x,y,z) ((((y) ^ (z)) & (x)) ^ (z))
113 #define F3(x,y,z) (((~(y)) | (x)) ^ (z))
114 #define F4(x,y,z) ((((x) ^ (y)) & (z)) ^ (y))
115 #define F5(x,y,z) (((~(z)) | (y)) ^ (x))
118 #define RIPEMD160_A 0x67452301L
119 #define RIPEMD160_B 0xEFCDAB89L
120 #define RIPEMD160_C 0x98BADCFEL
121 #define RIPEMD160_D 0x10325476L
122 #define RIPEMD160_E 0xC3D2E1F0L
126 #define RIP1(a,b,c,d,e,w,s) { \
131 #define RIP2(a,b,c,d,e,w,s,K) { \
132 a+=F2(b,c,d)+X(w)+K; \
136 #define RIP3(a,b,c,d,e,w,s,K) { \
137 a+=F3(b,c,d)+X(w)+K; \
141 #define RIP4(a,b,c,d,e,w,s,K) { \
142 a+=F4(b,c,d)+X(w)+K; \
146 #define RIP5(a,b,c,d,e,w,s,K) { \
147 a+=F5(b,c,d)+X(w)+K; \