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

Method ProcessAndXorBlock

src/cryptopp/rc5.cpp:42–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40typedef BlockGetAndPut<RC5::RC5_WORD, LittleEndian> Block;
41
42void RC5::Enc::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
43{
44 const RC5_WORD *sptr = sTable;
45 RC5_WORD a, b;
46
47 Block::Get(inBlock)(a)(b);
48 a += sptr[0];
49 b += sptr[1];
50 sptr += 2;
51
52 for(unsigned i=0; i<r; i++)
53 {
54 a = rotlMod(a^b,b) + sptr[2*i+0];
55 b = rotlMod(a^b,a) + sptr[2*i+1];
56 }
57
58 Block::Put(xorBlock, outBlock)(a)(b);
59}
60
61void RC5::Dec::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
62{

Callers 2

IterateMethod · 0.45
ProcessDataMethod · 0.45

Calls 4

rotlModFunction · 0.85
rotrModFunction · 0.85
PutFunction · 0.70
endMethod · 0.45

Tested by

no test coverage detected