summaryrefslogtreecommitdiff
path: root/serpentp.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2017-11-25 02:52:19 -0500
committerJeffrey Walton <noloader@gmail.com>2017-11-25 02:52:19 -0500
commita074722bfa82d82c12879b8fdd9a62bac8bcaf89 (patch)
tree6321fd7bb3c9a3340ce8463242854a19bc0ef4e1 /serpentp.h
parent2d4614084a4250ce4d60d535ccf506605477e4ed (diff)
downloadcryptopp-git-a074722bfa82d82c12879b8fdd9a62bac8bcaf89.tar.gz
Switch to rotlConstant and rotrConstant
This will help Clang and its need for a constexpr
Diffstat (limited to 'serpentp.h')
-rw-r--r--serpentp.h24
1 files changed, 12 insertions, 12 deletions
diff --git a/serpentp.h b/serpentp.h
index a38b39a7..b0053c17 100644
--- a/serpentp.h
+++ b/serpentp.h
@@ -4,24 +4,24 @@ NAMESPACE_BEGIN(CryptoPP)
// linear transformation
#define LT(i,a,b,c,d,e) {\
- a = rotlFixed(a, 13); \
- c = rotlFixed(c, 3); \
- d = rotlFixed(d ^ c ^ (a << 3), 7); \
- b = rotlFixed(b ^ a ^ c, 1); \
- a = rotlFixed(a ^ b ^ d, 5); \
- c = rotlFixed(c ^ d ^ (b << 7), 22);}
+ a = rotlConstant<13>(a); \
+ c = rotlConstant<3>(c); \
+ d = rotlConstant<7>(d ^ c ^ (a << 3)); \
+ b = rotlConstant<1>(b ^ a ^ c); \
+ a = rotlConstant<5>(a ^ b ^ d); \
+ c = rotlConstant<22>(c ^ d ^ (b << 7));}
// inverse linear transformation
#define ILT(i,a,b,c,d,e) {\
- c = rotrFixed(c, 22); \
- a = rotrFixed(a, 5); \
+ c = rotrConstant<22>(c); \
+ a = rotrConstant<5>(a); \
c ^= d ^ (b << 7); \
a ^= b ^ d; \
- b = rotrFixed(b, 1); \
- d = rotrFixed(d, 7) ^ c ^ (a << 3); \
+ b = rotrConstant<1>(b); \
+ d = rotrConstant<7>(d) ^ c ^ (a << 3); \
b ^= a ^ c; \
- c = rotrFixed(c, 3); \
- a = rotrFixed(a, 13);}
+ c = rotrConstant<3>(c); \
+ a = rotrConstant<13>(a);}
// order of output from S-box functions
#define beforeS0(f) f(0,a,b,c,d,e)