unrarsrc  6.1.7
About: unrar extracts, views and tests the contents of archives created with the RAR archiver.
  Fossies Dox: unrarsrc-6.1.7.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

rijndael.cpp File Reference
#include "rar.hpp"
Include dependency graph for rijndael.cpp:

Go to the source code of this file.

Functions

void Xor128 (void *dest, const void *arg1, const void *arg2)
 
void Xor128 (byte *dest, const byte *arg1, const byte *arg2, const byte *arg3, const byte *arg4)
 
void Copy128 (byte *dest, const byte *src)
 
static byte gmul (byte a, byte b)
 

Variables

static byte S [256]
 
static byte S5 [256]
 
static byte rcon [] ={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1b,0x36}
 
static byte T1 [256][4]
 
static byte T2 [256][4]
 
static byte T3 [256][4]
 
static byte T4 [256][4]
 
static byte T5 [256][4]
 
static byte T6 [256][4]
 
static byte T7 [256][4]
 
static byte T8 [256][4]
 
static byte U1 [256][4]
 
static byte U2 [256][4]
 
static byte U3 [256][4]
 
static byte U4 [256][4]
 

Function Documentation

◆ Copy128()

void Copy128 ( byte dest,
const byte src 
)
inline

Definition at line 65 of file rijndael.cpp.

Referenced by Rijndael::blockDecrypt(), and Rijndael::blockEncrypt().

◆ gmul()

static byte gmul ( byte  a,
byte  b 
)
static

Definition at line 438 of file rijndael.cpp.

Referenced by Rijndael::GenerateTables().

◆ Xor128() [1/2]

void Xor128 ( byte dest,
const byte arg1,
const byte arg2,
const byte arg3,
const byte arg4 
)
inline

Definition at line 53 of file rijndael.cpp.

◆ Xor128() [2/2]

void Xor128 ( void *  dest,
const void *  arg1,
const void *  arg2 
)
inline

Definition at line 39 of file rijndael.cpp.

Referenced by Rijndael::blockDecrypt(), and Rijndael::blockEncrypt().

Variable Documentation

◆ rcon

byte rcon[] ={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1b,0x36}
static

Definition at line 33 of file rijndael.cpp.

Referenced by Rijndael::keySched().

◆ S

byte S[256]
static
Initial value:
=
{
99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118,
202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192,
183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21,
4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117,
9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132,
83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207,
208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168,
81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210,
205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115,
96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219,
224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121,
231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8,
186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138,
112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158,
225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223,
140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 22
}

This code is based on Szymon Stefanek public domain AES implementation *

Definition at line 10 of file rijndael.cpp.

Referenced by blake2s_compress(), blake2s_compress_sse(), blake2s_final(), blake2s_increment_counter(), blake2s_init_param(), blake2s_set_lastblock(), blake2s_set_lastnode(), blake2s_update(), blake2sp_final(), blake2sp_init(), blake2sp_update(), Rijndael::GenerateTables(), Rijndael::keySched(), ListFileHeader(), CommandData::SetStoreTimeMode(), and CommandData::SetTimeFilters().

◆ S5

byte S5[256]
static

◆ T1

byte T1[256][4]
static

Definition at line 35 of file rijndael.cpp.

Referenced by Rijndael::blockEncrypt(), Rijndael::GenerateTables(), and sha256_transform().

◆ T2

byte T2[256][4]
static

Definition at line 35 of file rijndael.cpp.

Referenced by Rijndael::blockEncrypt(), Rijndael::GenerateTables(), and sha256_transform().

◆ T3

byte T3[256][4]
static

Definition at line 35 of file rijndael.cpp.

Referenced by Rijndael::blockEncrypt(), and Rijndael::GenerateTables().

◆ T4

byte T4[256][4]
static

Definition at line 35 of file rijndael.cpp.

Referenced by Rijndael::blockEncrypt(), and Rijndael::GenerateTables().

◆ T5

byte T5[256][4]
static

Definition at line 36 of file rijndael.cpp.

Referenced by Rijndael::blockDecrypt(), and Rijndael::GenerateTables().

◆ T6

byte T6[256][4]
static

Definition at line 36 of file rijndael.cpp.

Referenced by Rijndael::blockDecrypt(), and Rijndael::GenerateTables().

◆ T7

byte T7[256][4]
static

Definition at line 36 of file rijndael.cpp.

Referenced by Rijndael::blockDecrypt(), and Rijndael::GenerateTables().

◆ T8

byte T8[256][4]
static

Definition at line 36 of file rijndael.cpp.

Referenced by Rijndael::blockDecrypt(), and Rijndael::GenerateTables().

◆ U1

byte U1[256][4]
static

Definition at line 37 of file rijndael.cpp.

Referenced by Rijndael::GenerateTables(), Rijndael::keyEncToDec(), and pbkdf2().

◆ U2

byte U2[256][4]
static

Definition at line 37 of file rijndael.cpp.

Referenced by Rijndael::GenerateTables(), Rijndael::keyEncToDec(), and pbkdf2().

◆ U3

byte U3[256][4]
static

Definition at line 37 of file rijndael.cpp.

Referenced by Rijndael::GenerateTables(), and Rijndael::keyEncToDec().

◆ U4

byte U4[256][4]
static

Definition at line 37 of file rijndael.cpp.

Referenced by Rijndael::GenerateTables(), and Rijndael::keyEncToDec().