Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: sha512 - use standard ror64()
This commit is contained in:
commit
a18d3afefa
2 changed files with 24 additions and 9 deletions
|
@ -31,11 +31,6 @@ static inline u64 Maj(u64 x, u64 y, u64 z)
|
|||
return (x & y) | (z & (x | y));
|
||||
}
|
||||
|
||||
static inline u64 RORu64(u64 x, u64 y)
|
||||
{
|
||||
return (x >> y) | (x << (64 - y));
|
||||
}
|
||||
|
||||
static const u64 sha512_K[80] = {
|
||||
0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL, 0xb5c0fbcfec4d3b2fULL,
|
||||
0xe9b5dba58189dbbcULL, 0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL,
|
||||
|
@ -66,10 +61,10 @@ static const u64 sha512_K[80] = {
|
|||
0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL,
|
||||
};
|
||||
|
||||
#define e0(x) (RORu64(x,28) ^ RORu64(x,34) ^ RORu64(x,39))
|
||||
#define e1(x) (RORu64(x,14) ^ RORu64(x,18) ^ RORu64(x,41))
|
||||
#define s0(x) (RORu64(x, 1) ^ RORu64(x, 8) ^ (x >> 7))
|
||||
#define s1(x) (RORu64(x,19) ^ RORu64(x,61) ^ (x >> 6))
|
||||
#define e0(x) (ror64(x,28) ^ ror64(x,34) ^ ror64(x,39))
|
||||
#define e1(x) (ror64(x,14) ^ ror64(x,18) ^ ror64(x,41))
|
||||
#define s0(x) (ror64(x, 1) ^ ror64(x, 8) ^ (x >> 7))
|
||||
#define s1(x) (ror64(x,19) ^ ror64(x,61) ^ (x >> 6))
|
||||
|
||||
static inline void LOAD_OP(int I, u64 *W, const u8 *input)
|
||||
{
|
||||
|
|
|
@ -55,6 +55,26 @@ static inline unsigned long hweight_long(unsigned long w)
|
|||
return sizeof(w) == 4 ? hweight32(w) : hweight64(w);
|
||||
}
|
||||
|
||||
/**
|
||||
* rol64 - rotate a 64-bit value left
|
||||
* @word: value to rotate
|
||||
* @shift: bits to roll
|
||||
*/
|
||||
static inline __u64 rol64(__u64 word, unsigned int shift)
|
||||
{
|
||||
return (word << shift) | (word >> (64 - shift));
|
||||
}
|
||||
|
||||
/**
|
||||
* ror64 - rotate a 64-bit value right
|
||||
* @word: value to rotate
|
||||
* @shift: bits to roll
|
||||
*/
|
||||
static inline __u64 ror64(__u64 word, unsigned int shift)
|
||||
{
|
||||
return (word >> shift) | (word << (64 - shift));
|
||||
}
|
||||
|
||||
/**
|
||||
* rol32 - rotate a 32-bit value left
|
||||
* @word: value to rotate
|
||||
|
|
Loading…
Reference in a new issue