MCPcopy Create free account
hub / github.com/LUX-Core/lux / FPERM

Function FPERM

src/cryptopp/des.cpp:98–118  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

96}
97
98static inline void FPERM(word32 &left, word32 &right)
99{
100 word32 work;
101
102 right = rotrFixed(right, 1U);
103 work = (left ^ right) & 0xaaaaaaaa;
104 right ^= work;
105 left = rotrFixed(left^work, 9U);
106 work = (left ^ right) & 0x00ff00ff;
107 right ^= work;
108 left = rotlFixed(left^work, 6U);
109 work = (left ^ right) & 0x33333333;
110 right ^= work;
111 left = rotlFixed(left^work, 18U);
112 work = (left ^ right) & 0xffff0000;
113 right ^= work;
114 left = rotlFixed(left^work, 20U);
115 work = (left ^ right) & 0xf0f0f0f0;
116 right ^= work;
117 left = rotrFixed(left^work, 4U);
118}
119
120void DES::Base::UncheckedSetKey(const byte *userKey, unsigned int length, const NameValuePairs &)
121{

Callers 1

ProcessAndXorBlockMethod · 0.85

Calls 2

rotrFixedFunction · 0.85
rotlFixedFunction · 0.85

Tested by

no test coverage detected