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

Method RawProcessBlock

src/cryptopp/des.cpp:336–367  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

334}
335
336void RawDES::RawProcessBlock(word32 &l_, word32 &r_) const
337{
338 word32 l = l_, r = r_;
339 const word32 *kptr=k;
340
341 for (unsigned i=0; i<8; i++)
342 {
343 word32 work = rotrFixed(r, 4U) ^ kptr[4*i+0];
344 l ^= Spbox[6][(work) & 0x3f]
345 ^ Spbox[4][(work >> 8) & 0x3f]
346 ^ Spbox[2][(work >> 16) & 0x3f]
347 ^ Spbox[0][(work >> 24) & 0x3f];
348 work = r ^ kptr[4*i+1];
349 l ^= Spbox[7][(work) & 0x3f]
350 ^ Spbox[5][(work >> 8) & 0x3f]
351 ^ Spbox[3][(work >> 16) & 0x3f]
352 ^ Spbox[1][(work >> 24) & 0x3f];
353
354 work = rotrFixed(l, 4U) ^ kptr[4*i+2];
355 r ^= Spbox[6][(work) & 0x3f]
356 ^ Spbox[4][(work >> 8) & 0x3f]
357 ^ Spbox[2][(work >> 16) & 0x3f]
358 ^ Spbox[0][(work >> 24) & 0x3f];
359 work = l ^ kptr[4*i+3];
360 r ^= Spbox[7][(work) & 0x3f]
361 ^ Spbox[5][(work >> 8) & 0x3f]
362 ^ Spbox[3][(work >> 16) & 0x3f]
363 ^ Spbox[1][(work >> 24) & 0x3f];
364 }
365
366 l_ = l; r_ = r;
367}
368
369void DES_EDE2::Base::UncheckedSetKey(const byte *userKey, unsigned int length, const NameValuePairs &)
370{

Callers 1

ProcessAndXorBlockMethod · 0.80

Calls 1

rotrFixedFunction · 0.85

Tested by

no test coverage detected