The primary objective of this project is to develop an upgraded iteration of the Data Encryption Standard (DES), named E-DES. We seek to address two key shortcomings of DES: the algorithm's inherent software performance inefficiencies and the limited key size. To achieve these objectives, we will retain the fundamental cipher architecture of DES while departing from its traditional reliance on permutations, expansion, and key mixing. Instead, we will utilize a 256-bit key to generate key-dependent S-Boxes and perform only substitution on each Feistel iteration. Another concern with DES, and its use of static S-Boxes, was the existence of a possible backdoor.
In order to test the performance of our approach, E-DES is implemented in two different programming languages, a high-level language and a low-level language. The programming languages selected were Python and C, respectively. Encryption and decryption are possible using both DES and E-DES in the tools provided in both languages. These tools take a textual password as an argument and use it to generate the 256-bit key for E-DES and the 56-bit key for DES. The only cipher mode implemented is ECB, and the block size is 64 bits.
The Feistel networks consists of 16 rounds, where the input data block is divided into two equal halves (32 bits each). Substitutions are then applied at the right most half. The left most half is XORed with the substituted right most half, and this is the new right block. The unchanged right block becomes the left block.
void feistel(uint8_t *firstSlice, uint8_t *secondSlice, uint8_t sbox[256]) {
uint8_t newFirstSlice[4];
// Switch position between slices
// Ri to Li+1
memcpy(newFirstSlice, secondSlice, 4);
// Pemutate and XOR
preformSBoxTransformation(sbox,secondSlice);
for ( int i = 0 ; i < 4 ; i++){
secondSlice[i] ^= firstSlice[i];
}
// copy firtslice to the correct position
memcpy(firstSlice, newFirstSlice, 4);
return;
}
void feistelRounds(uint8_t data[8], bool isEncrypting, uint8_t SBOXES[16][256]){
// Slices from 8 bytes of data, 4 bytes each
uint8_t slice1[4], slice2[4];
// ...
if (isEncrypting){
for( int i = 0 ; i < 16; i ++ ){
feistel(slice1, slice2, SBOXES[i]);
}
}
// If it is decryption, do the rounds the other way
else {
for( int i = 16 - 1 ; i >= 0; i -- ){
feistel(slice2, slice1, SBOXES[i]);
}
}
// ...
}
The 16 S-Boxes used in the Feistel network must be different and pseudo-randomly generated. The 16 S-Boxes don't need to contain the same set of values, but across the 16 S-Boxes, the 4096 values must be equally distributed. What this means is that, for example, one S-Box may have 3 zeros and another 5 eights, but in the totality, the S-Boxes must have exactly 16 zeros and 16 eights.
The 4098 byte-sized values are shuffled deterministically using a shuffling vector of the same size. The 256-bit key is used to generate this vector.
The 256-bit key is generated from the password using the hashing function SHA-256.
To generate the 4098 pseudo-random values from the 256-bit key, we used the SHA-256 hash function. The key is concatenated with integer values from 0 to 255 and hashed. From each 256-bit hash value, we generate 16 integers and add them to the vector. The idea was to create something similar to the random bit generator described NIST SP 800-90A (Hash_DRBG). This kind of pseudorandom generator construction is usually recommended to implement reseeding, something we did not implement given the small amount of hashes used and the fact that the values generated are not reflected directly in the ciphertext.
// Key length is 32 bytes
int seed_length = 32;
// Declare seed to be concatenated with index
// 32 + 3 (integer char) + 1(null value to end string)
char seed_with_index[seed_length + 4];
// Hash value on each iteration
char* hash;
for (int i = 0; i < 256; i ++){
// Concatenate char array with index
sprintf(seed_with_index, "%.32s%.3d", seed, i);
// Generate digest from Key and index
// HASH( "KEY+IDX" )
SHA256(seed_with_index, 35, hash);
}
The deterministic shuffling algorithm used is the Fisher–Yates shuffle. Given a list and a vector of random integers with the same size, we move through the list backward and swap between the current element of the list and the remainder of the corresponding element of the vector divided by the index of the element of the list.
// Swap Function to help with the Shuffling algorithm
void swap(uint8_t *a, uint8_t *b) {
uint8_t temp = *a;
*a = *b;
*b = temp;
}
// Fisher Yates Algorithm
// It allows us to shuffle with a deterministic vector
// It also has linear time complexity, and O(1) space complexity.
void fisherYates (uint8_t *array, int* vector)
{
int i;
int swapper = 0;
int size = 256 * 16;
for (i = 0; i < size; i ++) {
// Get the next value to be swapped, Fisher Yates algorithm
swapper = vector[i] % (size - i);
// Swap the last value with the value on another position
swap(&array[swapper], &array[size-i-1]);
}
}
PKCS#7 padding is used. This means that the value of the bytes added on the last block is equal to the size of the padding. If the byte size of the input is divisible by the block size, we add an entire block of padding.
$ ./e-des.out -p password
Password: password
Shuffling seed (in hex): 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
Shuffling Vector: [ 347, 315, 303, 300, 256, 264, 204, 294, 199, 347, 260, 257, 263, 361, 313, 405, 301, 206, 262, 256, 207, 351, 297, 258, 254, 302, 254, 260, 305, 399, 298, 311, 354, 259, 345, 255, 348, 299, 201, 214, 305, 344, 211, 356, 258, 297, 345, 255, 252, 259, 201, 304, 304, 211, 309, 343, 304, 215, 307, 212, 265, 314, 256, 260, 247, 269, 307, 209, 256, 259, 251, 342, 266, 353, 253, 261, 307, 259, 252, 303, 216, 254, 353, 302, 216, 204, 260, 302, 298, 302, 292, 258, 263, 315, 300, 250, 261, 310, 208, 259, 357, 214, 255, 261, 257, 400, 262, 354, 305, 250, 306, 259, 257, 208, 251, 203, 261, 309, 304, 394, 302, 261, 306, 301, 258, 208, 309, 250, 256, 267, 303, 307, 203, 343, 354, 257, 255, 252, 307, 303, 303, 254, 300, 204, 393, 304, 305, 257, 306, 308, 299, 309, 306, 340, 255, 296, 311, 303, 257, 304, 400, 300, 295, 258, 256, 205, 263, 304, 253, 257, 257, 299, 307, 302, 257, 219, 402, 209, 262, 314, 246, 303, 303, 215, 264, 257, 250, 303, 211, 254, 310, 260, 257, 253, 305, 247, 405, 256, 202, 263, 305, 308, 304, 258, 263, 301, 304, 354, 259, 309, 200, 268, 258, 351, 307, 354, 301, 263, 311, 261, 300, 306, 352, 309, 302, 261, 217, 307, 308, 305, 306, 213, 255, 215, 307, 248, 314, 259, 253, 298, 310, 263, 298, 260, 254, 253, 305, 255, 310, 204, 308, 252, 250, 353, 308, 261, 258, 267, 260, 257, 301, 263, 307, 267, 344, 297, 299, 207, 257, 257, 304, 208, 304, 295, 344, 255, 300, 204, 300, 349, 260, 299, 255, 308, 260, 396, 301, 264, 257, 300, 265, 204, 299, 299, 258, 295, 300, 304, 259, 305, 267, 207, 299, 293, 294, 261, 259, 299, 256, 257, 303, 311, 313, 292, 210, 220, 256, 305, 218, 209, 301, 214, 302, 352, 348, 253, 348, 304, 254, 344, 267, 350, 306, 308, 302, 215, 398, 298, 306, 260, 255, 300, 358, 256, 259, 298, 251, 303, 350, 355, 305, 250, 253, 267, 300, 247, 264, 350, 260, 262, 250, 203, 263, 359, 309, 301, 257, 248, 259, 259, 346, 311, 311, 310, 350, 203, 254, 262, 254, 304, 255, 253, 305, 263, 296, 308, 349, 350, 352, 304, 306, 304, 304, 300, 255, 267, 353, 297, 305, 396, 200, 196, 300, 300, 300, 304, 306, 203, 212, 202, 251, 310, 298, 258, 212, 263, 253, 295, 260, 258, 303, 205, 311, 258, 209, 298, 252, 207, 267, 304, 258, 218, 397, 264, 210, 256, 258, 214, 300, 257, 201, 302, 303, 297, 307, 268, 266, 252, 304, 253, 351, 262, 255, 264, 263, 310, 259, 302, 352, 249, 258, 308, 399, 355, 301, 355, 305, 348, 398, 201, 250, 349, 308, 391, 302, 295, 351, 214, 197, 253, 248, 256, 308, 302, 260, 208, 258, 257, 349, 355, 264, 260, 345, 202, 309, 348, 256, 256, 252, 261, 253, 349, 264, 208, 300, 302, 301, 211, 265, 261, 306, 303, 305, 254, 260, 298, 220, 213, 248, 208, 348, 351, 247, 310, 256, 258, 303, 253, 248, 303, 214, 246, 203, 317, 266, 354, 307, 207, 213, 309, 257, 306, 256, 211, 305, 244, 257, 251, 307, 252, 213, 309, 359, 307, 350, 257, 310, 304, 208, 307, 258, 307, 301, 254, 306, 303, 357, 302, 208, 251, 345, 255, 309, 352, 301, 355, 353, 307, 260, 351, 251, 265, 259, 304, 265, 253, 206, 251, 258, 355, 302, 297, 257, 299, 351, 299, 348, 257, 261, 198, 250, 257, 206, 296, 209, 257, 250, 302, 255, 353, 214, 300, 266, 260, 307, 302, 259, 301, 310, 297, 300, 264, 257, 351, 300, 205, 248, 294, 259, 308, 310, 308, 253, 302, 255, 257, 261, 267, 258, 252, 356, 299, 402, 247, 204, 262, 254, 257, 405, 265, 262, 298, 255, 218, 266, 208, 304, 258, 255, 225, 214, 223, 307, 257, 304, 304, 297, 251, 215, 350, 300, 298, 301, 253, 350, 249, 251, 257, 355, 262, 312, 304, 303, 352, 214, 297, 250, 310, 295, 310, 302, 348, 300, 255, 301, 256, 263, 354, 309, 299, 305, 357, 347, 352, 252, 347, 256, 302, 213, 207, 345, 354, 266, 254, 307, 254, 353, 208, 261, 307, 265, 315, 314, 245, 309, 305, 294, 312, 245, 204, 355, 260, 350, 295, 353, 309, 254, 352, 348, 207, 259, 307, 302, 296, 213, 306, 295, 257, 260, 257, 253, 312, 310, 305, 258, 349, 351, 202, 261, 214, 305, 352, 256, 263, 254, 300, 216, 316, 356, 311, 254, 262, 207, 343, 201, 311, 296, 313, 260, 255, 213, 207, 258, 224, 298, 306, 358, 206, 354, 264, 220, 309, 256, 303, 306, 265, 213, 260, 300, 299, 312, 313, 269, 204, 305, 305, 260, 250, 222, 303, 359, 350, 342, 312, 306, 298, 263, 211, 209, 351, 212, 260, 269, 307, 254, 345, 253, 258, 262, 357, 257, 354, 215, 261, 352, 407, 306, 262, 306, 210, 203, 210, 355, 212, 303, 300, 304, 211, 303, 254, 301, 197, 302, 302, 352, 300, 203, 209, 304, 207, 253, 253, 292, 200, 302, 354, 294, 297, 211, 248, 219, 351, 221, 302, 358, 211, 401, 256, 257, 254, 304, 300, 253, 256, 306, 259, 255, 304, 256, 251, 262, 259, 350, 259, 259, 262, 249, 298, 308, 259, 401, 315, 312, 260, 297, 262, 257, 302, 212, 300, 309, 208, 204, 252, 347, 350, 347, 252, 307, 304, 309, 303, 203, 306, 294, 261, 254, 257, 297, 252, 249, 258, 210, 303, 400, 253, 345, 301, 256, 258, 262, 297, 219, 260, 261, 312, 248, 255, 303, 308, 308, 305, 262, 258, 256, 348, 267, 299, 309, 258, 247, 267, 210, 307, 306, 250, 251, 199, 255, 252, 249, 259, 211, 352, 266, 349, 201, 252, 348, 301, 248, 306, 211, 304, 352, 350, 258, 255, 217, 399, 294, 261, 259, 253, 253, 257, 257, 218, 305, 255, 253, 258, 215, 312, 249, 263, 261, 258, 258, 301, 257, 348, 255, 302, 254, 251, 352, 257, 304, 257, 249, 260, 218, 306, 255, 307, 266, 296, 215, 257, 306, 261, 256, 301, 350, 261, 255, 208, 353, 263, 259, 298, 257, 261, 309, 250, 254, 246, 263, 307, 299, 259, 347, 268, 304, 265, 260, 261, 305, 200, 309, 261, 258, 256, 297, 307, 301, 396, 209, 253, 359, 250, 348, 216, 213, 251, 256, 259, 347, 304, 255, 303, 353, 398, 314, 211, 304, 306, 351, 309, 251, 209, 352, 204, 307, 257, 309, 308, 351, 305, 297, 303, 294, 257, 219, 255, 308, 393, 214, 309, 257, 257, 301, 258, 346, 263, 254, 396, 307, 246, 214, 202, 347, 303, 301, 254, 312, 349, 349, 301, 309, 258, 216, 301, 260, 306, 210, 297, 204, 216, 303, 344, 305, 303, 210, 353, 207, 259, 306, 354, 301, 305, 392, 259, 211, 258, 313, 259, 250, 255, 259, 249, 259, 257, 304, 250, 302, 355, 207, 352, 305, 303, 215, 301, 263, 261, 216, 209, 264, 304, 253, 263, 261, 254, 255, 312, 300, 356, 310, 213, 256, 257, 304, 350, 226, 351, 348, 309, 316, 219, 345, 248, 267, 250, 263, 308, 212, 350, 308, 263, 300, 255, 312, 255, 260, 216, 204, 304, 208, 303, 346, 304, 349, 315, 306, 303, 247, 307, 216, 403, 348, 264, 358, 304, 253, 309, 349, 308, 311, 303, 209, 299, 300, 308, 219, 301, 315, 358, 208, 305, 209, 215, 255, 302, 260, 304, 309, 216, 299, 261, 264, 305, 353, 306, 251, 258, 360, 306, 263, 357, 352, 347, 306, 356, 219, 257, 343, 264, 210, 299, 249, 304, 349, 304, 216, 300, 215, 220, 258, 307, 222, 258, 303, 300, 213, 262, 217, 305, 299, 262, 257, 306, 350, 253, 216, 213, 303, 256, 256, 299, 314, 352, 267, 348, 259, 303, 258, 352, 249, 217, 309, 207, 300, 255, 252, 253, 306, 306, 395, 251, 198, 300, 306, 259, 254, 308, 206, 262, 216, 218, 307, 260, 251, 214, 306, 397, 355, 304, 361, 262, 305, 351, 260, 268, 260, 257, 308, 315, 210, 301, 264, 259, 353, 308, 220, 310, 304, 210, 299, 299, 348, 256, 308, 307, 258, 260, 309, 341, 203, 251, 357, 256, 353, 205, 304, 210, 260, 305, 208, 202, 246, 251, 200, 398, 344, 220, 305, 213, 214, 259, 355, 264, 349, 355, 216, 265, 203, 354, 307, 311, 306, 303, 259, 259, 211, 306, 199, 302, 358, 297, 305, 397, 208, 255, 354, 313, 266, 209, 349, 299, 254, 306, 305, 358, 218, 210, 303, 296, 305, 303, 310, 354, 347, 355, 302, 266, 396, 256, 263, 304, 354, 350, 262, 250, 264, 304, 258, 252, 353, 301, 345, 211, 301, 348, 302, 306, 221, 301, 298, 256, 262, 256, 202, 265, 252, 260, 265, 209, 246, 248, 307, 258, 258, 207, 260, 252, 264, 247, 211, 301, 261, 298, 255, 214, 348, 304, 344, 352, 214, 265, 297, 305, 352, 257, 256, 255, 254, 255, 304, 211, 253, 251, 253, 248, 252, 254, 261, 314, 354, 208, 205, 298, 255, 299, 209, 253, 255, 217, 305, 354, 211, 356, 309, 308, 306, 298, 255, 346, 304, 309, 301, 260, 345, 212, 263, 262, 250, 221, 302, 208, 255, 354, 258, 306, 267, 266, 299, 254, 251, 201, 257, 261, 264, 294, 196, 352, 215, 310, 262, 266, 255, 264, 254, 299, 308, 351, 258, 355, 258, 259, 251, 307, 298, 298, 310, 302, 301, 206, 354, 261, 264, 259, 304, 397, 258, 214, 205, 255, 350, 301, 301, 301, 259, 353, 350, 256, 249, 297, 299, 209, 254, 301, 347, 257, 347, 203, 300, 258, 264, 264, 302, 312, 259, 258, 201, 262, 259, 215, 258, 253, 306, 210, 261, 352, 263, 248, 259, 301, 254, 305, 208, 265, 307, 269, 308, 213, 300, 257, 266, 309, 203, 305, 206, 204, 305, 256, 258, 203, 311, 398, 252, 295, 353, 302, 220, 346, 253, 298, 211, 247, 257, 251, 216, 312, 359, 303, 259, 210, 306, 300, 208, 251, 298, 255, 253, 403, 254, 260, 349, 203, 259, 256, 303, 306, 308, 255, 209, 352, 253, 302, 204, 302, 352, 299, 311, 259, 311, 257, 208, 262, 311, 300, 311, 302, 399, 303, 297, 350, 260, 309, 309, 257, 254, 255, 314, 298, 250, 262, 302, 305, 256, 307, 304, 213, 306, 267, 256, 253, 301, 253, 211, 310, 270, 263, 305, 353, 308, 258, 263, 298, 345, 262, 297, 306, 296, 302, 305, 303, 306, 306, 303, 209, 247, 301, 212, 215, 356, 256, 308, 216, 258, 307, 299, 305, 263, 294, 345, 353, 206, 206, 311, 346, 351, 216, 248, 308, 211, 349, 302, 260, 210, 299, 307, 260, 346, 213, 303, 221, 266, 208, 308, 311, 258, 309, 263, 255, 258, 213, 301, 307, 248, 301, 358, 299, 260, 257, 302, 300, 201, 258, 207, 306, 312, 248, 305, 263, 344, 263, 304, 353, 263, 259, 208, 348, 209, 248, 260, 256, 302, 250, 345, 207, 263, 302, 262, 266, 255, 353, 398, 265, 261, 303, 353, 258, 345, 302, 249, 353, 268, 354, 304, 258, 256, 218, 314, 295, 221, 253, 351, 253, 217, 246, 312, 297, 254, 256, 293, 351, 300, 303, 361, 256, 199, 258, 302, 258, 355, 352, 294, 307, 355, 253, 346, 353, 300, 257, 254, 311, 212, 257, 309, 264, 209, 304, 299, 300, 254, 306, 261, 304, 266, 305, 352, 206, 254, 257, 347, 259, 306, 306, 295, 261, 302, 347, 203, 304, 303, 300, 309, 297, 254, 260, 296, 348, 259, 305, 270, 260, 302, 208, 309, 208, 252, 248, 204, 352, 264, 349, 305, 302, 214, 343, 299, 262, 358, 400, 355, 403, 343, 259, 311, 256, 309, 300, 298, 350, 298, 315, 307, 347, 314, 304, 253, 254, 351, 211, 356, 265, 301, 309, 307, 256, 310, 262, 265, 255, 300, 247, 213, 300, 247, 253, 216, 299, 356, 300, 355, 256, 198, 301, 346, 251, 208, 253, 303, 297, 311, 257, 316, 208, 355, 354, 261, 213, 312, 396, 260, 257, 345, 297, 309, 312, 297, 302, 199, 262, 257, 254, 350, 208, 304, 308, 299, 297, 254, 260, 310, 308, 355, 308, 260, 351, 306, 306, 258, 264, 268, 304, 308, 311, 290, 255, 304, 213, 313, 307, 215, 301, 256, 308, 256, 307, 305, 301, 311, 259, 353, 300, 298, 347, 311, 305, 266, 260, 261, 255, 264, 301, 255, 253, 306, 297, 344, 351, 210, 310, 353, 259, 305, 396, 262, 263, 349, 306, 306, 259, 203, 259, 348, 354, 309, 251, 252, 257, 300, 252, 305, 302, 305, 304, 261, 304, 206, 343, 262, 265, 299, 248, 252, 296, 302, 300, 262, 247, 341, 249, 310, 268, 346, 397, 303, 255, 260, 261, 258, 306, 256, 215, 259, 302, 302, 249, 301, 213, 254, 261, 252, 255, 203, 251, 258, 299, 307, 257, 354, 307, 349, 261, 303, 268, 354, 302, 257, 307, 256, 311, 303, 261, 257, 207, 255, 351, 201, 246, 260, 298, 219, 311, 397, 263, 311, 398, 303, 197, 207, 261, 307, 251, 306, 301, 303, 252, 254, 348, 254, 303, 268, 212, 218, 299, 204, 206, 307, 299, 256, 304, 264, 252, 308, 297, 250, 299, 357, 401, 298, 303, 346, 310, 215, 206, 247, 303, 346, 400, 351, 266, 351, 301, 252, 306, 249, 261, 258, 200, 258, 299, 248, 255, 257, 252, 263, 260, 260, 400, 214, 348, 300, 256, 249, 252, 311, 393, 261, 300, 351, 265, 298, 302, 257, 307, 307, 351, 303, 251, 310, 214, 248, 305, 305, 298, 355, 262, 259, 259, 347, 403, 309, 201, 301, 257, 265, 259, 247, 357, 262, 292, 211, 355, 261, 298, 303, 352, 253, 264, 354, 299, 313, 261, 302, 304, 208, 311, 304, 312, 298, 203, 308, 347, 204, 257, 256, 298, 255, 299, 249, 251, 258, 209, 300, 346, 298, 260, 263, 308, 219, 255, 251, 310, 261, 208, 309, 302, 307, 255, 351, 362, 300, 246, 302, 201, 263, 259, 345, 262, 348, 249, 300, 212, 200, 208, 305, 256, 309, 306, 305, 259, 218, 262, 254, 261, 218, 347, 216, 306, 211, 247, 261, 308, 206, 395, 251, 299, 248, 301, 256, 261, 216, 309, 265, 262, 266, 351, 303, 253, 307, 206, 359, 256, 255, 259, 299, 301, 260, 294, 258, 196, 252, 256, 299, 307, 261, 308, 254, 342, 354, 307, 255, 256, 210, 256, 257, 249, 260, 257, 252, 254, 356, 259, 299, 262, 258, 262, 208, 257, 306, 207, 263, 309, 251, 345, 303, 209, 253, 304, 248, 312, 208, 206, 259, 255, 209, 257, 313, 301, 311, 260, 306, 304, 358, 259, 258, 308, 247, 247, 304, 308, 300, 208, 257, 257, 300, 268, 306, 302, 395, 211, 209, 299, 256, 213, 206, 209, 358, 305, 357, 258, 303, 260, 301, 268, 312, 306, 222, 256, 259, 310, 253, 259, 260, 397, 348, 299, 300, 215, 351, 261, 313, 215, 305, 257, 260, 217, 352, 302, 249, 302, 306, 311, 355, 268, 297, 301, 209, 302, 302, 297, 257, 316, 259, 350, 257, 294, 302, 302, 306, 210, 299, 304, 257, 399, 296, 205, 304, 257, 312, 264, 213, 310, 255, 249, 302, 265, 357, 305, 303, 263, 204, 254, 261, 258, 308, 403, 261, 309, 302, 351, 216, 261, 219, 256, 310, 352, 214, 254, 207, 354, 256, 217, 205, 303, 296, 298, 305, 265, 304, 346, 351, 255, 260, 215, 216, 307, 298, 304, 253, 198, 209, 256, 217, 304, 254, 254, 356, 257, 251, 201, 259, 304, 255, 304, 352, 268, 299, 309, 357, 296, 254, 350, 302, 255, 256, 309, 296, 359, 306, 258, 256, 261, 261, 214, 301, 208, 256, 259, 265, 306, 303, 270, 261, 304, 258, 257, 245, 307, 348, 261, 300, 255, 299, 301, 306, 351, 260, 248, 353, 216, 263, 259, 346, 296, 264, 313, 309, 297, 353, 314, 311, 259, 293, 263, 212, 205, 351, 252, 212, 257, 304, 254, 293, 212, 254, 257, 306, 260, 256, 345, 298, 298, 262, 206, 260, 306, 215, 295, 296, 258, 357, 302, 297, 201, 262, 300, 347, 212, 303, 219, 249, 259, 308, 258, 351, 201, 252, 345, 259, 213, 249, 257, 306, 263, 251, 248, 352, 259, 308, 261, 265, 305, 304, 203, 309, 266, 268, 303, 303, 263, 263, 213, 213, 312, 351, 357, 262, 346, 259, 259, 256, 249, 346, 252, 305, 304, 315, 297, 214, 216, 399, 351, 256, 205, 295, 254, 248, 304, 252, 258, 304, 256, 209, 298, 350, 348, 302, 297, 216, 302, 302, 302, 260, 355, 298, 303, 304, 398, 260, 259, 303, 210, 305, 296, 356, 263, 352, 254, 307, 353, 212, 300, 261, 311, 252, 263, 206, 310, 309, 210, 219, 210, 350, 309, 260, 308, 303, 212, 208, 259, 215, 263, 302, 306, 213, 257, 353, 396, 354, 255, 314, 259, 252, 347, 252, 304, 309, 258, 299, 255, 304, 350, 251, 355, 210, 248, 261, 310, 307, 360, 253, 304, 343, 253, 207, 209, 256, 391, 210, 301, 303, 302, 259, 212, 259, 264, 295, 351, 307, 217, 350, 354, 301, 254, 254, 313, 254, 354, 216, 252, 203, 349, 304, 211, 265, 299, 265, 223, 358, 354, 217, 296, 261, 209, 312, 313, 310, 256, 261, 256, 346, 355, 262, 206, 302, 250, 302, 258, 303, 216, 310, 255, 263, 209, 354, 210, 263, 253, 305, 250, 348, 260, 257, 357, 260, 203, 215, 208, 218, 354, 311, 297, 305, 311, 301, 294, 305, 258, 260, 309, 254, 305, 314, 266, 255, 300, 213, 209, 211, 257, 304, 298, 302, 259, 261, 261, 345, 306, 213, 259, 401, 254, 211, 216, 303, 350, 350, 302, 257, 250, 308, 254, 255, 355, 262, 351, 342, 266, 212, 304, 204, 256, 255, 210, 215, 255, 361, 252, 252, 350, 214, 255, 301, 265, 299, 303, 302, 202, 304, 247, 253, 260, 261, 358, 254, 302, 396, 304, 259, 354, 207, 256, 308, 344, 253, 247, 257, 256, 309, 255, 305, 311, 257, 248, 256, 210, 347, 297, 314, 352, 305, 300, 307, 306, 302, 355, 254, 310, 347, 254, 351, 258, 256, 259, 216, 351, 297, 221, 309, 259, 206, 301, 256, 349, 206, 211, 301, 259, 308, 303, 352, 258, 264, 219, 306, 222, 212, 309, 247, 220, 266, 304, 349, 358, 248, 303, 262, 306, 305, 311, 252, 301, 258, 216, 297, 304, 203, 258, 305, 254, 215, 215, 314, 354, 308, 204, 252, 310, 305, 346, 254, 260, 313, 347, 262, 257, 302, 258, 256, 259, 215, 350, 356, 309, 309, 307, 209, 250, 307, 263, 254, 302, 309, 258, 302, 264, 208, 210, 205, 305, 247, 352, 359, 257, 197, 305, 302, 392, 307, 306, 392, 207, 399, 303, 300, 298, 298, 301, 263, 305, 314, 258, 356, 259, 356, 302, 348, 253, 204, 312, 294, 303, 305, 258, 307, 311, 302, 254, 309, 402, 208, 256, 352, 254, 258, 210, 257, 260, 308, 253, 259, 270, 301, 251, 360, 303, 252, 302, 217, 294, 213, 267, 355, 263, 260, 298, 219, 206, 340, 308, 264, 349, 347, 310, 297, 397, 262, 305, 244, 259, 310, 298, 293, 302, 260, 266, 260, 299, 301, 251, 202, 307, 308, 294, 253, 263, 356, 204, 356, 259, 262, 293, 347, 310, 356, 257, 314, 256, 296, 398, 262, 349, 252, 257, 298, 296, 256, 307, 315, 297, 305, 348, 248, 256, 314, 255, 254, 299, 245, 215, 300, 307, 254, 356, 209, 309, 346, 305, 256, 355, 265, 255, 266, 310, 300, 218, 252, 251, 301, 263, 392, 223, 354, 353, 355, 207, 206, 351, 303, 251, 307, 213, 266, 262, 301, 251, 264, 258, 258, 267, 260, 257, 261, 265, 304, 252, 308, 251, 345, 347, 206, 307, 211, 355, 345, 303, 249, 261, 306, 243, 303, 347, 216, 302, 206, 311, 202, 212, 260, 220, 353, 256, 354, 256, 300, 210, 257, 256, 255, 259, 209, 341, 300, 204, 255, 257, 258, 259, 211, 203, 253, 304, 301, 300, 211, 253, 313, 254, 309, 348, 300, 212, 259, 314, 305, 252, 259, 250, 248, 262, 254, 265, 300, 302, 260, 299, 309, 301, 257, 264, 300, 214, 249, 218, 303, 204, 265, 303, 248, 309, 257, 258, 298, 209, 302, 200, 350, 301, 353, 263, 254, 304, 261, 347, 311, 262, 298, 261, 253, 347, 310, 264, 303, 348, 208, 251, 253, 209, 294, 209, 208, 216, 205, 264, 252, 257, 299, 225, 211, 306, 256, 311, 251, 352, 262, 269, 303, 261, 346, 307, 256, 209, 258, 302, 346, 303, 246, 218, 315, 344, 301, 205, 253, 258, 301, 256, 302, 207, 395, 297, 353, 253, 306, 257, 258, 354, 308, 299, 307, 298, 263, 248, 251, 305, 262, 307, 258, 256, 304, 210, 312, 301, 305, 249, 260, 312, 254, 254, 255, 359, 254, 255, 266, 212, 309, 349, 247, 257, 205, 260, 306, 265, 261, 305, 357, 297, 262, 208, 300, 254, 298, 350, 303, 306, 259, 310, 303, 207, 253, 256, 353, 258, 307, 345, 210, 250, 253, 258, 350, 302, 298, 300, 213, 252, 254, 263, 305, 351, 254, 306, 352, 218, 216, 303, 360, 304, 305, 221, 212, 308, 210, 262, 254, 402, 256, 265, 209, 258, 251, 202, 255, 314, 212, 250, 296, 354, 295, 265, 253, 297, 302, 304, 357, 257, 308, 357, 258, 305, 262, 301, 201, 263, 252, 253, 210, 306, 303, 306, 311, 257, 262, 351, 311, 352, 349, 204, 209, 256, 205, 350, 298, 398, 306, 305, 266, 205, 307, 261, 210, 211, 255, 264, 260, 212, 309, 356, 262, 300, 258, 261, 263, 263, 301, 350, 258, 348, 264, 260, 253, 257, 302, 306, 302, 258, 260, 301, 252, 352, 204, 300, 307, 213, 216, 308, 249, 360, 297, 304, 353, 306, 299, 254, 300, 257, 255, 250, 217, 312, 249, 221, 251, 264, 304, 309, 264, 305, 251, 254, 344, 309, 310, 253, 309, 400, 210, 304, 255, 263, 220, 207, 207, 303, 210, 205, 296, 353, 308, 353, 302, 308, 211, 211, 251, 299, 351, 212, 257, 260, 259, 213, 299, 249, 312, 305, 352, 211, 206, 256, 250, 208, 313, 309, 344, 247, 258, 309, 203, 264, 216, 204, 303, 249, 357, 353, 213, 254, 255, 300, 315, 257, 300, 253, 218, 304, 262, 264, 259, 361, 356, 302, 264, 305, 251, 214, 263, 353, 359, 259, 302, 307, 347, 297, 345, 269, 263, 301, 304, 204, 260, 304, 298, 357, 345, 306, 345, 305, 256, 311, 347, 258, 304, 208, 304, 195, 215, 310, 304, 263, 350, 260, 301, 212, 262, 311, 349, 302, 262, 216, 256, 307, 308, 258, 250, 310, 258, 213, 307, 252, 207, 219, 346, 253, 255, 217, 247, 301, 305, 207, 348, 306, 310, 250, 308, 259, 210, 343, 300, 257, 301, 250, 308, 251, 252, 303, 301, 199, 314, 264, 302, 308, 250, 208, 256, 299, 351, 313, 356, 212, 209, 255, 252, 257, 269, 249, 249, 265, 309, 300, 309, 216, 248, 301, 254, 360, 253, 347, 353, 254, 363, 265, 254, 261, 299, 255, 207, 250, 311, 297, 347, 355, 353, 307, 260, 219, 308, 210, 252, 310, 222, 300, 254, 305, 297, 305, 312, 309, 307, 355, 262, 348, 302, 357, 295, 363, 349, 256, 253, 265, 306, 217, 306, 210, 207, 347, 307, 261, 255, 256, 250, 309, 253, 351, 207, 296, 303, 299, 255, 267, 255, 259, 252, 298, 253, 253, 352, 258, 302, 213, 258, 259, 352, 251, 267, 355, 304, 258, 250, 302, 249, 253, 305, 297, 215, 301, 356, 267, 355, 218, 356, 308, 258, 210, 311, 354, 305, 254, 301, 343, 302, 258, 209, 347, 256, 302, 257, 398, 312, 252, 259, 254, 248, 256, 208, 313, 247, 215, 302, 214, 392, 247, 308, 346, 262, 208, 258, 308, 303, 251, 211, 257, 216, 247, 217, 257, 357, 356, 299, 260, 352, 252, 304, 266, 255, 247, 255, 254, 261, 218, 252, 245, 346, 260, 257, 301, 353, 303, 307, 248, 301, 247, 215, 309, 342, 269, 253, 206, 251, 210, 314, 359, 249, 206, 351, 300, 307, 256, 263, 350, 248, 214, 354, 298, 248, 303, 258, 213, 245, 214, 303, 306, 300, 297, 205, 300, 249, 204, 266, 347, 347, 252, 302, 311, 310, 252, 211, 347, 263, 213, 355, 307, 309, 206, 299, 305, 251, 249, 303, 402, 203, 261, 297, 348, 300, 206, 253, 354, 254, 207, 263, 307, 256, 299, 216, 309, 350, 306, 203, 202, 304, 204, 215, 208, 301, 352, 397, 398, 261, 247, 203, 218, ]
Scrambled Sboxes: [
Sbox 1: [ 1a, 77, e6, a4, 61, aa, 94, 8e, 5a, 7a, 77, 8f, f2, 7, 16, 40, 13, a7, 82, a9, 6e, 15, 1c, 17, 70, 83, 79, 9c, 9b, 4c, d, 12, 7d, 39, ad, 9e, 4f, 6a, f0, 10, 19, 13, b8, 64, 8, a3, bf, 55, 11, b2, 57, ba, 1d, 32, ab, 5d, 78, c0, 2, 1a, 89, 7b, 5b, 15, 94, 3c, b9, aa, ed, 1e, b0, a1, 7c, 6e, 1f, 3, e3, 97, aa, 73, 79, be, c2, ae, 88, 7e, 4a, b4, 7d, 23, 5f, 5d, 9f, 19, e9, bb, c, c1, bd, 4d, f1, 8b, a9, 1c, 2c, 2b, 21, 88, b3, f0, b6, 1e, 4f, 47, b, b7, 45, 9a, cf, f, 1d, b1, 85, a2, 3a, af, e7, ea, 58, 11, 74, a8, 51, 22, 50, 91, 24, 46, 8d, 90, ef, 75, bc, a5, 9d, 20, 97, ca, 31, 3b, 50, 96, 43, a0, a4, 95, c2, 99, 34, 62, 93, 20, 37, 18, 66, e5, 86, ea, af, 87, ec, 99, 81, b5, 3c, 80, 16, 59, eb, ac, 55, e4, 1b, 76, 49, a6, 42, 41, 6d, 3e, ee, 3f, 4a, 3d, 68, 6b, a0, 23, 98, 26, 6c, b3, 35, 88, 38, 65, 8c, 53, 73, 60, 6e, 5e, 34, 27, 29, 85, 92, e8, 8a, 11, 7f, 28, 84, 53, 54, 56, 4e, e6, 4c, 18, 45, 14, 4d, 21, 1f, 48, 2a, 14, 44, 71, 72, 69, 36, 43, 7b, 44, e4, 33, c, 4, e, 6f, 2a, 63, 5c, 3f, ]
Sbox 2: [ 67, 80, 2a, 7e, 42, 2f, 25, 2d, 0, f9, 84, 85, 12, 1f, c7, 1, 48, 52, 26, 4b, 16, 41, 52, fd, 1b, 14, 71, 1e, 17, f, 10, bc, 6f, 4b, 3, 9, 7c, 6, 30, ab, e0, 99, ea, a, 0, 2e, 46, 1, 49, 4f, c5, 7f, 7a, 24, 91, ad, d9, 40, 81, 3e, 4e, 7d, 8f, a4, d0, e9, e4, 47, 74, 17, 6d, 77, 9e, 20, 9f, 12, 1c, 51, b7, 52, c3, 53, b4, e6, 8b, 5, 5, 2c, 70, 6b, cc, 83, 8, fd, 6c, 9c, 86, 78, da, 6d, a2, 4a, cf, bc, d5, 72, 75, 6c, 82, b0, d8, a1, 96, 76, a5, ee, 63, 9b, 3d, ed, b2, 38, b6, 7e, 9d, 95, c9, b1, ba, 9a, a6, 16, 98, ac, d7, d3, bd, f8, fc, dc, 65, b9, b5, f1, 5a, c6, 0, 11, a2, d8, bc, c4, c3, a0, d4, 53, db, c8, f0, 6, cb, bb, a3, f4, a7, dd, a8, d2, cd, 21, f8, b3, b, ae, 50, c, e8, c7, bf, f5, 3c, b8, e1, 52, be, 94, ca, c1, fa, c0, ef, ce, e3, 27, 32, d1, 70, 99, 22, f3, e0, d6, 2d, 82, de, 4d, 1a, 1c, 35, 72, 17, 37, 41, f7, ec, 2, 4, f, e7, e2, e5, df, fb, 1b, 8, e, f1, f2, b8, eb, fe, 12, e9, 10, f6, 15, 42, 7, 4e, 67, 23, 62, ae, 25, a9, d, 5f, 4b, ff, 69, 14, a, 66, 43, 45, 63, ]
Sbox 3: [ 2b, 29, d4, 66, 39, 9, 3c, 13, 18, a6, c, 36, 3a, 2f, 1d, 40, 3e, 72, 74, 2e, 33, 28, 19, 30, 64, 5d, 34, 44, 5c, 47, 2a, db, 84, 60, 48, 31, ea, 6a, f, 7d, 46, 9c, 60, 4e, ac, 3b, 5b, 49, 83, 68, 26, 3d, 77, 9d, 51, b0, 96, a4, 54, 3f, 36, 5e, 7f, 58, ad, 32, 59, 57, 8d, 56, 4c, 4f, e6, 76, 1b, 7a, 79, 89, 78, 88, 8c, 55, bb, e7, 61, 98, c9, 80, 6b, d9, b1, 7b, 8a, a2, 73, a0, d3, 87, 71, 92, 86, d3, 64, d0, ec, 31, 6d, 6e, d1, fd, 6f, c5, 75, df, d7, 7c, 8f, b6, 6, c4, 8e, 85, 81, a3, e9, a5, d1, c6, bf, 9e, ab, 23, 9, 90, ac, a8, 91, c7, 5c, 5f, 38, 9a, 9d, 93, 9b, b5, af, c8, 48, 5d, d6, de, a1, 9f, cb, ce, b2, a7, 1e, 4b, be, b9, 94, c0, a9, b6, c1, 4, 17, f3, 6c, de, cf, e8, ba, d5, 13, b7, b4, 76, cc, bd, 22, ab, ee, d2, da, 44, c2, f2, c3, cd, e4, 10, 14, 18, f6, e3, 3e, b, dc, e6, d3, e0, 1, 61, fb, db, dd, e5, d5, e2, fe, 15, 42, 19, 5f, e1, 2d, fc, f5, ef, 54, d, 12, ed, 26, f0, 30, 59, e0, eb, 24, 4a, 57, fa, e, f4, 5a, 4c, 4f, ef, f7, f9, ff, 2f, 25, 75, ff, 1d, 2, 2b, 5, 3, 72, 7, ]
Sbox 4: [ b3, 4d, 70, 46, 8, 28, a6, 43, a, 3b, 49, 3a, 10, 29, 13, 79, b0, 1f, 80, 2, 20, 1a, f3, ca, 27, 4e, 35, 21, 39, 1e, 33, 37, 6d, 81, 2e, 77, 41, 0, 47, 53, 62, 7d, 96, 2c, a7, 8d, 34, 3f, 65, 45, 97, 50, 40, 9c, 28, 90, c8, 48, 3, f8, c6, c9, 74, 7b, 7a, 63, 9d, 51, 6c, 7e, 56, 5c, 95, 58, 5b, f2, ad, e1, 6b, 55, 5e, c5, e7, b7, 7c, a8, 42, 69, 5f, b, b9, 86, 89, 49, 78, 68, 67, 82, 6a, 9b, 8c, 6f, 2a, c2, aa, bf, a5, 71, 83, 8b, 81, 87, 84, 73, b7, bb, 94, a2, 98, 8e, b1, 58, 9e, 9f, 5b, 7f, f, 93, 9a, 93, 92, 8a, a1, de, b3, ed, 46, 1, f4, ee, d, d8, a3, 66, 1f, 16, c3, a4, c1, 32, 38, 7f, b5, c3, af, f5, b4, ec, f3, c2, bc, bc, b8, f7, f0, d0, d6, b2, ae, d2, e9, d7, 7d, db, dd, ba, 6, cb, be, c0, c6, 96, bf, f6, 47, a5, cd, bd, e8, e5, da, f9, ce, de, 4, c4, 86, 36, a, 45, 4b, cc, 8, df, 7f, d9, d4, 78, ec, ca, 19, 11, f3, 42, 3c, 9e, 17, dc, ea, e3, eb, f1, a9, e2, 74, 8a, 35, e4, 12, 23, 60, fa, 1c, 21, fe, 33, 3f, 9, 2f, be, 54, fc, b9, fd, 30, 5, 69, 1b, 4c, 39, fb, 65, 2e, 7, 3, a0, ]
Sbox 5: [ e, 27, 29, 18, 1d, 61, 40, 37, 15, 6f, 1a, 3e, 52, 20, 4e, 6c, 7f, 46, 25, 6b, 4d, 34, 13, dc, 2c, 38, 5a, 49, 24, 22, 7b, 23, cc, 2b, 5d, b6, 2a, 43, b5, 3a, 2d, 7a, 4d, 3d, 94, 6e, 31, 3b, af, 51, 70, 50, 80, d9, 8c, 41, 21, 8f, 9a, fc, 66, 44, f0, 45, 98, 90, 5e, 92, 4a, 75, 56, 55, dd, 73, 68, e7, 9c, 7e, 57, 2, 59, 72, c5, 82, 93, a8, 6a, 6a, 3f, 76, 79, c8, c7, 97, 64, 47, 77, 62, ce, a7, 67, 9f, aa, 71, ba, d, 87, de, 8e, 9c, da, b7, b8, 8d, 7c, e, a6, 88, 85, 78, d7, b1, b0, 89, 91, 5a, 84, 8b, 6, 70, 83, bb, dd, b3, 2d, cb, a3, ca, ac, 5, 1c, ae, 5e, ff, 95, d1, f9, a1, b2, 99, 26, d5, 9b, a7, 34, 1a, ab, c7, b, 9, cd, a4, 54, 4, f, 36, b4, 25, e8, ad, e3, c4, c0, 8, f6, bd, cf, e1, f8, b5, 5d, e0, 17, 53, f2, 4d, bc, c1, e5, ee, d2, 56, e6, ef, 24, d8, d0, 57, 6a, c9, f7, 63, 5e, ea, 93, 60, fb, 33, d6, d3, a4, d4, 20, e2, 1, f4, e3, ed, 44, 41, a5, df, c, fe, 7, d, b0, f1, 26, 3a, 39, fb, eb, be, f5, e7, d, 1f, 16, 1b, 3f, 12, 2e, 69, 11, fa, 0, b1, 3c, 10, 2b, fd, 7b, 19, a, a0, ]
Sbox 6: [ b2, fa, d6, 1e, 6c, 57, 6b, 30, 18, 85, 28, c2, 1d, 27, 65, 29, 15, 37, 14, 78, 26, 5f, ff, 88, 22, 3d, 9f, 64, 7c, 7a, a1, b6, 40, 67, 59, df, 83, 4b, 22, 2c, 50, 2f, 7a, 3b, 5b, 38, 33, 87, 31, 32, 35, 46, 48, 80, b5, d0, 8a, e5, 43, 3e, 74, 4c, 4a, 68, 91, 84, 9a, 4f, 55, 1e, aa, c4, 7f, 50, 61, 62, 71, 52, 6d, 8d, 51, 66, a7, 7d, 81, 73, 19, 58, 6e, 5a, 6a, 5c, 79, d6, b3, a3, fe, 95, f3, bf, b4, 75, 6f, d7, ac, dd, 9c, 86, 90, 77, 17, 76, 8c, 98, 7e, 99, 82, 9, 9e, 14, 1, bd, 92, c6, b3, 89, dc, a2, cf, d3, b9, a6, 7f, ec, 8f, 8e, 59, 8a, 8b, e9, 82, c1, ad, af, 96, 94, 97, 9d, d1, ba, b8, 9b, 91, ae, f7, d4, a9, ab, a8, 34, 4d, ab, 2c, cc, 3f, 18, cb, f0, c0, e, eb, d9, 7d, ed, ef, be, c3, d5, ce, 43, bb, 45, ea, 27, de, c8, d8, c5, 6f, f6, c9, f2, db, c7, 66, 30, fd, c6, 2, cd, a, 23, ad, d2, d4, e4, d9, 5, 28, e0, f5, 11, 6, 21, 32, fe, da, ee, e2, 29, dc, 83, 1a, 8f, e1, fc, e8, f8, f9, 2f, 31, 49, f1, f4, 9a, 3, 3e, 3b, 15, 4, f0, 1b, 12, 10, ef, 1d, f, 1c, 3a, 0, 9b, 86, c, 26, 39, 16, ]
Sbox 7: [ 4c, eb, 7, b7, 41, 13, 84, b, 1c, 68, 54, 40, 90, fb, 85, 53, 3d, 55, b5, 24, 37, 78, 4a, 5a, a, 4f, 1f, 20, c3, b8, 4d, 27, 69, 44, 97, 35, 25, 2d, a6, 2b, 13, 48, 27, 3c, 31, 2e, 36, 58, 51, 5e, 50, 10, 73, 4e, 38, 94, 60, c, b1, 47, 64, 56, 42, 75, 9f, b2, 55, 63, 5c, d7, 7d, 52, 4b, 7f, e8, 6e, 5b, f5, 61, 7c, 62, 74, 72, 81, 6d, 14, cd, 6f, 5d, 7a, a0, 96, 8d, 77, c3, be, dd, 71, 6b, 67, 65, 76, 7b, d5, 6c, 70, 6b, c2, 9e, 8b, 79, 5d, 7e, 87, 93, 2, a8, 7, 88, 80, 99, 8e, ae, 89, 0, bb, 1, b0, f2, b1, d9, bd, b6, db, 77, c4, 92, d2, 8c, a5, b4, a1, aa, 35, 9d, a3, 95, a7, d6, fa, 98, db, a2, ab, a0, 9, d3, c9, c0, b8, af, a9, ac, 36, e3, f3, 9f, ee, ba, bc, cc, e2, b9, 75, bf, e3, b, d, e1, 4e, ca, 17, cf, c5, c1, d0, 19, 25, f6, e9, cf, 54, ec, c8, 15, 11, ce, 37, fc, cb, e7, 6d, d8, 69, da, d1, 4a, e5, f9, 23, e6, 46, 6a, df, f5, 3a, 13, 1d, 16, ed, 1a, e4, 82, f1, 6a, 2a, ea, 2b, 5, 1b, 3, 6, 27, f4, f7, 7f, fd, 3f, 3d, f8, 51, 32, 91, 45, 28, 37, 8, 42, ff, 38, 18, 67, 1d, 5f, 9b, e, ]
Sbox 8: [ 1a, 4, 35, 12, 62, 2e, f, f9, 44, 8f, 61, e0, 66, 29, 22, 33, 21, 48, a1, 20, 5b, 53, 1e, 30, 2d, 4c, 83, cb, 5a, ea, 1f, a5, b5, 9, 2f, 24, c3, 43, 3b, 56, 74, 52, 31, 2c, 65, 41, 8e, 59, bc, 4d, 39, 48, ac, 7b, 40, 49, 63, b6, 6e, 61, 50, 3e, 81, 7c, 4b, 87, 85, ba, 5c, 47, 8f, 99, 76, a2, 73, 60, 72, 4f, e7, 84, 5c, 57, 58, b4, 66, a6, b1, af, 6c, 80, 7b, 9b, 64, d0, de, f4, 70, e3, c0, 8b, 68, 75, bf, 67, 98, b8, 95, 90, 71, 6f, cd, 9f, 9d, 79, a1, a8, 9a, 8c, 88, 86, ac, 89, c7, 7e, d4, ae, 8a, 5, eb, ab, b0, e5, dc, 9c, ce, 8d, 92, 91, e9, a7, 94, 96, a3, 95, b0, ad, 9e, d3, 97, cc, c8, f2, bb, a9, ca, cf, ac, b9, aa, d, fa, e2, b2, a4, b7, ce, f7, f3, d1, 3, c1, e6, e1, 2b, c6, 2f, 1, da, bf, 9e, 39, bd, c7, c4, 73, c6, 68, f, 3f, d5, 59, 86, c2, e5, fb, c5, 18, d7, c9, ec, 15, 69, 2e, 1b, 24, 72, d0, 7b, d8, d2, df, 64, cd, 16, 20, e8, ee, ed, b, 1, 6, dd, e, 4, 2c, e4, f0, 2, fc, 23, 7, 89, f1, ef, 4e, 51, 34, 9a, 58, fe, f6, 63, f8, f5, ff, 32, 30, 1a, 43, 6e, 22, 0, 3e, 22, 29, 8, ]
Sbox 9: [ 11, bd, 65, a2, 5, 80, 49, c, a, 25, 10, 41, 1f, 14, 19, 36, f7, 4c, 26, 52, 4a, 1e, 40, a5, 62, 1c, 21, 44, 2a, c1, 28, 6e, 59, af, 3b, 7e, bc, 33, 2d, 51, 84, 57, 76, 79, 38, 6a, 6e, 9b, 45, cd, 42, 5b, 3a, 47, 5f, 8, 4b, 3c, 3d, f0, 1d, 54, c9, 46, 5e, 32, 56, 4f, 55, ec, c6, 19, 5, aa, 75, 9c, 7a, b7, 7c, 9e, b2, 53, 4a, 2a, 78, 6b, a6, 96, 71, 60, 6a, 9d, 59, eb, cb, 8f, 3, c4, 6d, 70, 4, 92, 87, 5b, d4, 83, 6c, 77, d7, 7d, 74, 31, 88, 82, d6, 25, d3, 85, ae, 93, 8e, a8, 8a, 66, 83, a3, 8b, b6, 81, 8c, d8, b1, 94, 8d, c, a0, df, ca, 90, c5, e2, 97, 99, ea, bb, d5, ac, f4, 98, 1b, f6, ad, e8, a9, be, fd, b2, a1, ee, 10, 59, d6, a4, c0, ba, 77, ac, bb, c4, e6, b3, d0, b9, 45, 27, e1, 39, 8, b4, 9, 34, fa, 82, 43, 65, d2, c2, db, cb, b6, c3, b9, cc, cf, e4, c8, fb, 9f, 96, 84, da, f2, f9, 28, d1, d9, e3, f, 41, e7, 18, e9, e0, 1e, 29, f8, 56, dc, e, 3b, de, 27, f3, 12, ed, 76, 20, 34, f1, a7, 50, 3, 46, fe, 0, 66, ef, 7, ff, 1c, fc, f5, 44, 11, 47, 15, b, 6, 53, 8f, f4, 1f, 3a, a, 2, 14, ]
Sbox 10: [ 13, 72, 49, 24, 67, 33, 17, 9c, 16, d8, 7e, 4f, d, 8b, 2e, 29, e4, 2b, 23, 58, 3c, 2c, 77, 2d, 37, 4, a4, f8, 35, 7a, 5f, 22, 21, 26, 4c, 2f, 3f, 62, 39, 4b, 40, f9, 42, 30, 87, 61, 81, 3e, 9d, e, cf, 7b, 36, 9a, 5d, 3d, ed, 62, 92, c7, 95, 64, 89, 4e, 52, f5, 6d, 12, 60, 69, 54, 48, 8e, 68, bb, b8, 63, 22, 5a, 51, 70, 55, a6, 6f, 79, 57, 65, 85, b7, 5e, 5c, 8a, 80, 6b, 9e, b6, 6c, 93, 71, 74, 88, 73, 86, 6b, fa, 99, 32, 7d, c2, 7c, 78, 97, 91, a1, a0, 9b, 60, d1, aa, 83, d3, 90, 30, 5, d0, a2, fe, 8c, ab, bc, 15, 15, 8e, 7e, 8d, a3, ba, 8c, 3f, cc, 98, b0, fc, de, b2, af, 8a, d9, c9, d2, 24, f2, 7, b5, b4, a5, 16, f7, e2, ca, 64, ee, a, a8, e1, a9, df, e8, ae, bd, 43, ce, ad, c9, c5, cc, 81, b3, e7, 5d, be, db, b, da, 23, d9, 1f, c1, 4d, c8, bf, c0, cd, 54, dd, f, 25, d5, 72, fd, d4, dc, e6, f0, c7, fb, f3, e0, d1, 0, 37, e9, 7a, d7, 5c, ef, b8, 2, eb, ea, e5, f1, ec, f6, 5f, f9, 21, 6e, b1, 31, 13, 20, 2f, 18, 14, c, 5a, df, 1, 35, 6, ff, 10, 47, 45, 52, 41, 57, 49, 4b, 33, 2e, 3, 1b, 3b, 9, ]
Sbox 11: [ e, 46, a3, 9f, 6, 1a, 11, 22, d8, d, 17, 3a, 6a, 1c, 2c, 98, 71, 55, e1, 2d, 1d, 32, 38, 19, 90, d2, 2f, 28, 1e, 69, 2b, 40, b4, 26, 61, 74, 3b, 2a, da, 8d, 50, 48, 89, 70, 43, 14, 44, 4a, 35, 51, 3d, 3c, d6, 36, 4f, 7f, 4e, 91, 6c, 3e, 95, 4e, 82, 92, 42, 53, 58, ee, 49, 97, 68, 5b, a5, 4c, 79, 4f, b0, 99, d3, a1, 56, 86, 4c, ba, e9, 5e, 97, b, 9a, a2, 6d, 76, 84, 8, 6f, aa, 63, 67, fc, 7c, 96, c4, 75, 73, 78, c9, a6, 85, 1d, fd, 7b, 80, d4, 93, be, 8b, 8e, 20, 1a, 38, 7d, 7d, 7b, 88, dc, bf, 29, a2, 82, 9d, e0, c5, 87, fd, af, bd, ae, c0, e6, 94, ab, 8a, c4, dc, 9c, a0, 9e, 1f, b9, a0, a8, a9, 8e, ad, a4, a, c1, 65, 55, d7, b5, db, c3, ac, e3, de, a7, e2, b1, bc, 5b, f8, b3, 11, ca, 2, 22, 1, 21, c8, eb, b7, e2, c2, 54, ee, c6, f2, fc, 70, 4f, cb, 9f, ce, 19, f6, 1, e7, ec, ec, 24, 60, dd, d0, d5, a8, f, 8b, d1, ea, e8, 2e, 1b, f2, 6f, 17, ef, ff, e0, f4, e5, 75, 31, 4d, 9, c3, ed, e4, 59, f3, f1, fb, 2d, 48, 7, 4, f0, 0, 12, 23, 47, 5a, fa, 28, f7, d7, 34, e, e9, 1c, 25, 16, fe, 2b, 18, 76, ]
Sbox 12: [ 15, 87, 13, fa, 58, 23, 5c, c, 9d, 6e, c2, 46, 10, 68, 7c, bd, 37, 86, 1e, 30, 61, 26, 33, 2c, 2e, 41, 71, 42, 6b, 27, 6d, 3d, 2f, 38, 6a, 50, 2a, 45, e5, 66, 36, f8, 47, 39, 52, 63, 3a, 95, 65, 53, 93, 40, a1, 3f, 3c, 83, 7a, 97, 3e, a5, 6c, f2, 57, 8d, 67, 91, 44, 5e, 5f, 5d, 4b, 4a, 56, 73, ad, 62, 72, 3e, 2b, 57, af, 0, 95, cf, b5, e2, f5, 64, 74, cb, cd, f, ff, 72, 99, 78, 9a, 68, 69, d2, 73, ea, bc, 8c, da, a4, 81, fb, 88, 80, bb, 85, b5, a, 79, c1, a8, 77, 3, 7a, ae, d0, 7e, de, 94, c2, 84, 88, 89, 92, 9e, 90, ca, a4, c5, 8f, 8b, b4, b6, 9c, 93, ba, b3, 3d, c0, df, 96, ce, a6, aa, 9b, 98, 30, 14, a3, a7, b2, c9, a, ab, e8, b9, d4, e9, e7, 8d, d9, d5, a9, b0, b7, 8, 6f, b6, c7, 51, b8, 21, c6, d7, dd, bf, 49, be, ed, d6, 6f, 7, d3, cc, db, 98, f9, c8, 29, 2d, 2b, f1, 4b, f3, e1, e3, e4, d8, 8, e3, 1, c, ea, d5, 17, a6, 70, f6, e6, 52, f7, f, de, eb, a0, 19, ec, 2, e4, 5, 42, 6b, ef, 42, fe, f0, ec, 9, 3a, 41, f4, fa, 7e, 1f, 12, 21, 70, ff, f8, 26, e, 45, 11, 0, 4, 15, f7, 31, 3c, b, ]
Sbox 13: [ 2a, 1a, 50, 13, 6, 28, d, 27, 39, 61, 74, 18, 2d, 1b, 2c, 10, 16, 20, cf, 35, 4e, bf, 25, 1d, 24, 48, 72, 1c, 60, 1e, 58, 34, 4f, 63, 31, 1d, 37, 40, 6c, 32, 68, 33, 3b, 4d, 56, 44, 36, f9, c, 37, a9, 94, 7c, 5d, 5e, 4c, f7, 86, d8, 64, 69, 5b, 43, 7c, 46, 67, e0, 82, 1d, 55, 54, 53, da, 4a, 7d, 5a, 89, 9a, 79, 62, 78, 99, 5f, 76, 5c, 87, ad, c6, 8d, 5f, 66, b6, c4, 7f, 6a, 77, 75, 90, be, 9d, 8b, a7, af, 71, 88, c8, 6e, 6d, 83, 3e, 3f, dc, 32, e8, 8e, b4, 96, 91, 80, 9c, ca, d2, 2e, 93, 81, 88, d0, 5c, 85, 82, 84, d4, 8a, ba, 5b, 8c, 8f, f4, 1b, b9, 92, a2, a8, a5, ae, c1, e7, 91, 9b, ed, 9f, dd, cc, 50, 8d, b0, 52, 29, c0, aa, 6f, c6, a3, c5, f2, b1, cd, b7, b2, bd, ab, 19, 21, 49, c7, b3, ce, 56, e1, d6, cb, 25, b8, eb, 4d, bb, c3, d1, 97, 6, 9, 63, eb, 12, 42, fc, f1, 11, 39, fd, 1a, dd, d9, 61, b, a3, e0, 4, ef, e5, df, b8, 23, d7, e6, de, 51, e2, db, 7, 26, be, f6, 10, 44, 2, f5, f3, 2f, ee, 55, 5, 20, fb, 92, 38, a5, a9, 16, 60, e0, d, fb, 17, 4a, 13, c7, 18, fe, 2a, 7a, 1c, 58, 3, 59, 7f, ]
Sbox 14: [ 3c, ab, 4b, 1f, 47, 3d, 1e, e, 53, 31, 12, 90, a, 6e, 2a, 4e, 28, 5e, 14, 24, 5a, 22, cb, 3b, a4, 3c, 30, 8b, 3a, 4c, 40, 34, 2b, 33, 4f, 5d, 9a, 59, 7b, 2c, 57, 8c, 43, 45, f5, 13, a2, 76, 35, 83, 70, 9e, 36, 69, 79, 71, 46, c5, e6, d9, 4d, 48, 41, 80, 54, f6, c9, df, 7e, c3, e8, 39, e1, 5f, 6d, 61, ab, 86, 50, 24, 89, a1, 65, 6b, c2, ca, 66, 38, 75, b2, 68, 64, 34, 62, 87, 96, 74, 8f, d5, b0, b4, 94, 67, 6f, 78, 99, df, 9d, e1, 73, 81, b8, c7, 9b, 50, 85, fc, 7a, b7, 3b, 84, cc, 3c, dc, f5, 4f, ac, d4, da, b3, 53, a9, 91, 9f, 98, b6, 8a, 95, 1d, 97, cf, ef, 5a, 93, ad, a2, 9, 9c, b0, d3, c1, b9, a0, be, bd, e9, 7, ed, bf, c4, b1, a7, a6, 57, 7f, b5, aa, 29, c6, 2, af, f7, ae, bc, cc, d4, 44, c8, c0, cf, bb, ee, f0, ba, d2, 37, 3, c6, f6, fd, ce, 73, 16, cd, 35, d8, 3b, 13, dc, d1, 6, 9b, ee, e2, fe, 5, d0, f2, d6, f8, 3f, f4, dd, 7c, db, 94, e4, e5, d, e7, 65, e3, f4, ff, 4, f3, 1, 18, 11, fa, 54, 43, 28, 41, 3d, 68, 4b, 22, f1, f9, b, 0, 19, e, 38, 9c, 23, 10, 8, 1f, 18, c4, 56, 14, 85, 2d, ]
Sbox 15: [ 45, 69, c, dd, 43, 2f, 1c, 49, 1a, 15, 17, 20, ce, 40, f, 1e, 2c, 93, 66, d1, 1b, 3a, 2e, 28, 48, 33, f0, 5d, 25, 27, 4c, 90, 3e, c5, 4a, 3d, 5e, 36, 87, 32, 7d, 97, 47, af, b9, 71, 30, 92, a2, e2, 7e, 4b, f9, 7b, 46, 8e, 64, 60, 4e, 75, 86, 2a, 5f, 52, 55, b7, 2c, f9, 72, 5b, b1, cd, 91, 6b, be, 51, a8, c5, 9b, 8d, c1, 58, 6a, 74, d2, 4, 63, c0, 5c, 8b, 5a, a4, 62, 99, d8, 82, 80, 67, d9, a6, 8a, a5, 39, c4, 88, 79, 77, 6c, 6d, 76, c4, 2d, e2, 81, f6, 2, 9e, 83, 9d, 78, 7a, ad, 84, bc, 89, e8, b2, 64, 95, a1, 9f, ab, b8, 87, 98, b7, 96, 9a, 7, 8c, c8, 5a, 8f, a7, 14, ca, bf, 20, 67, fa, 7b, a0, 4d, ac, a3, e0, 3c, aa, b5, ba, 3, c2, 63, b4, c9, 8d, ae, cd, c3, 66, d7, e5, e3, b3, d, 8e, 16, bd, e4, 19, 5e, d3, ed, b, d6, bb, a, db, 21, 1f, 9a, e1, 4e, da, d4, cb, dc, d2, a5, f1, 25, 44, df, 3a, d1, d5, 0, f8, 25, da, f4, f8, 9, 12, ef, de, ee, ff, db, e6, ea, c3, e9, f2, 47, fb, 8c, e7, 1, ec, f5, fd, 5d, eb, 6, 23, 8, f7, 5d, f1, 82, 31, f3, fc, eb, 54, d2, d6, fe, 15, e, 27, 3f, c, 7e, 2b, ]
Sbox 16: [ 1e, 5, ad, 45, 76, 1b, 70, f, 17, 1a, 11, 42, 40, 10, 26, 41, a7, 3e, 2f, 4c, f8, 1c, 48, 65, d5, 22, 37, 36, 29, d9, 24, 52, 2e, 60, 67, 5e, 86, 63, 33, 32, 30, 53, ea, 34, c, c8, 68, 90, 79, 35, 84, 38, 5c, 58, 6a, 3d, 59, ca, 5b, f0, bf, 6d, 57, 46, a9, 9e, 72, ca, 49, 80, 51, fa, c6, 4a, 62, f6, c2, 95, bc, 92, db, 55, 87, 75, 69, 56, 61, b5, 60, a3, cd, 7f, 83, 27, 71, 96, 6e, 6c, 73, e0, 28, 77, 54, 6b, 81, da, 34, 85, 78, 93, 89, 89, aa, a1, ae, 74, 7d, 7c, b1, 99, 8f, 94, c8, 8c, b3, b0, b, bb, 92, 8a, 8e, a4, ef, 91, 8b, a6, 8a, c7, c9, 98, cb, b9, 9d, 97, 9c, 32, a0, d7, df, ed, 90, f4, 9f, d0, d8, 65, b2, d0, 36, b4, fa, fc, fe, f3, d3, 24, a8, e1, ac, c0, f9, af, e6, b6, e5, d8, fd, cf, ba, bd, 5, fd, 61, a, 56, fb, ce, c1, d1, c5, d, f7, e4, ec, 3a, 9, d4, 33, d7, cb, 57, 35, d5, cc, 30, d9, de, fc, dc, dd, e9, e8, 64, d3, 58, e3, d6, c9, 2b, 5c, ff, 59, 3, 62, 37, 2a, 8f, 31, f5, e7, 2e, fe, 2, 29, 5f, cf, fb, 6, ce, 2d, 95, 39, 69, 7, 1, 4, ff, c7, 26, cc, 8, 0, 2c, 2f, 3b, 5b, ]
]
ClearText data: hacking!
Encrypted data in hex format: c05209f9c26b85f3
Unencrypted data: hacking!
gcc -o e-des.out e-des.c -lssl -lcrypto | ./e-des.out -p password
$ echo "hacker mindset" | ./e-des-encrypt.out -p password
���4#���
!~{�b
$ echo "hacker mindset baby" | ./e-des-encrypt.out -p password | ./e-des-decrypt.out -p password
hacker mindset baby
$ echo "hacker mindset" | ./e-des-encrypt.out -p password -d
X�{�H��a�/#t�W
echo "hacker mindset" | ./e-des-encrypt.out -p password -d | ./e-des-decrypt.out -p password -d
hacker mindset
pip install pycryptodome
$ python3 e-des.py -p password
Password: password
Shuffling seed (in hex): 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
Shuffle Vector: [347, 315, 303, 300, 256, 264, 204, 294, 199, 347, 260, 257, 263, 361, 313, 405, 301, 206, 262, 256, 207, 351, 297, 258, 254, 302, 254, 260, 305, 399, 298, 311, 354, 259, 345, 255, 348, 299, 201, 214, 305, 344, 211, 356, 258, 297, 345, 255, 252, 259, 201, 304, 304, 211, 309, 343, 304, 215, 307, 212, 265, 314, 256, 260, 247, 269, 307, 209, 256, 259, 251, 342, 266, 353, 253, 261, 307, 259, 252, 303, 216, 254, 353, 302, 216, 204, 260, 302, 298, 302, 292, 258, 263, 315, 300, 250, 261, 310, 208, 259, 357, 214, 255, 261, 257, 400, 262, 354, 305, 250, 306, 259, 257, 208, 251, 203, 261, 309, 304, 394, 302, 261, 306, 301, 258, 208, 309, 250, 256, 267, 303, 307, 203, 343, 354, 257, 255, 252, 307, 303, 303, 254, 300, 204, 393, 304, 305, 257, 306, 308, 299, 309, 306, 340, 255, 296, 311, 303, 257, 304, 400, 300, 295, 258, 256, 205, 263, 304, 253, 257, 257, 299, 307, 302, 257, 219, 402, 209, 262, 314, 246, 303, 303, 215, 264, 257, 250, 303, 211, 254, 310, 260, 257, 253, 305, 247, 405, 256, 202, 263, 305, 308, 304, 258, 263, 301, 304, 354, 259, 309, 200, 268, 258, 351, 307, 354, 301, 263, 311, 261, 300, 306, 352, 309, 302, 261, 217, 307, 308, 305, 306, 213, 255, 215, 307, 248, 314, 259, 253, 298, 310, 263, 298, 260, 254, 253, 305, 255, 310, 204, 308, 252, 250, 353, 308, 261, 258, 267, 260, 257, 301, 263, 307, 267, 344, 297, 299, 207, 257, 257, 304, 208, 304, 295, 344, 255, 300, 204, 300, 349, 260, 299, 255, 308, 260, 396, 301, 264, 257, 300, 265, 204, 299, 299, 258, 295, 300, 304, 259, 305, 267, 207, 299, 293, 294, 261, 259, 299, 256, 257, 303, 311, 313, 292, 210, 220, 256, 305, 218, 209, 301, 214, 302, 352, 348, 253, 348, 304, 254, 344, 267, 350, 306, 308, 302, 215, 398, 298, 306, 260, 255, 300, 358, 256, 259, 298, 251, 303, 350, 355, 305, 250, 253, 267, 300, 247, 264, 350, 260, 262, 250, 203, 263, 359, 309, 301, 257, 248, 259, 259, 346, 311, 311, 310, 350, 203, 254, 262, 254, 304, 255, 253, 305, 263, 296, 308, 349, 350, 352, 304, 306, 304, 304, 300, 255, 267, 353, 297, 305, 396, 200, 196, 300, 300, 300, 304, 306, 203, 212, 202, 251, 310, 298, 258, 212, 263, 253, 295, 260, 258, 303, 205, 311, 258, 209, 298, 252, 207, 267, 304, 258, 218, 397, 264, 210, 256, 258, 214, 300, 257, 201, 302, 303, 297, 307, 268, 266, 252, 304, 253, 351, 262, 255, 264, 263, 310, 259, 302, 352, 249, 258, 308, 399, 355, 301, 355, 305, 348, 398, 201, 250, 349, 308, 391, 302, 295, 351, 214, 197, 253, 248, 256, 308, 302, 260, 208, 258, 257, 349, 355, 264, 260, 345, 202, 309, 348, 256, 256, 252, 261, 253, 349, 264, 208, 300, 302, 301, 211, 265, 261, 306, 303, 305, 254, 260, 298, 220, 213, 248, 208, 348, 351, 247, 310, 256, 258, 303, 253, 248, 303, 214, 246, 203, 317, 266, 354, 307, 207, 213, 309, 257, 306, 256, 211, 305, 244, 257, 251, 307, 252, 213, 309, 359, 307, 350, 257, 310, 304, 208, 307, 258, 307, 301, 254, 306, 303, 357, 302, 208, 251, 345, 255, 309, 352, 301, 355, 353, 307, 260, 351, 251, 265, 259, 304, 265, 253, 206, 251, 258, 355, 302, 297, 257, 299, 351, 299, 348, 257, 261, 198, 250, 257, 206, 296, 209, 257, 250, 302, 255, 353, 214, 300, 266, 260, 307, 302, 259, 301, 310, 297, 300, 264, 257, 351, 300, 205, 248, 294, 259, 308, 310, 308, 253, 302, 255, 257, 261, 267, 258, 252, 356, 299, 402, 247, 204, 262, 254, 257, 405, 265, 262, 298, 255, 218, 266, 208, 304, 258, 255, 225, 214, 223, 307, 257, 304, 304, 297, 251, 215, 350, 300, 298, 301, 253, 350, 249, 251, 257, 355, 262, 312, 304, 303, 352, 214, 297, 250, 310, 295, 310, 302, 348, 300, 255, 301, 256, 263, 354, 309, 299, 305, 357, 347, 352, 252, 347, 256, 302, 213, 207, 345, 354, 266, 254, 307, 254, 353, 208, 261, 307, 265, 315, 314, 245, 309, 305, 294, 312, 245, 204, 355, 260, 350, 295, 353, 309, 254, 352, 348, 207, 259, 307, 302, 296, 213, 306, 295, 257, 260, 257, 253, 312, 310, 305, 258, 349, 351, 202, 261, 214, 305, 352, 256, 263, 254, 300, 216, 316, 356, 311, 254, 262, 207, 343, 201, 311, 296, 313, 260, 255, 213, 207, 258, 224, 298, 306, 358, 206, 354, 264, 220, 309, 256, 303, 306, 265, 213, 260, 300, 299, 312, 313, 269, 204, 305, 305, 260, 250, 222, 303, 359, 350, 342, 312, 306, 298, 263, 211, 209, 351, 212, 260, 269, 307, 254, 345, 253, 258, 262, 357, 257, 354, 215, 261, 352, 407, 306, 262, 306, 210, 203, 210, 355, 212, 303, 300, 304, 211, 303, 254, 301, 197, 302, 302, 352, 300, 203, 209, 304, 207, 253, 253, 292, 200, 302, 354, 294, 297, 211, 248, 219, 351, 221, 302, 358, 211, 401, 256, 257, 254, 304, 300, 253, 256, 306, 259, 255, 304, 256, 251, 262, 259, 350, 259, 259, 262, 249, 298, 308, 259, 401, 315, 312, 260, 297, 262, 257, 302, 212, 300, 309, 208, 204, 252, 347, 350, 347, 252, 307, 304, 309, 303, 203, 306, 294, 261, 254, 257, 297, 252, 249, 258, 210, 303, 400, 253, 345, 301, 256, 258, 262, 297, 219, 260, 261, 312, 248, 255, 303, 308, 308, 305, 262, 258, 256, 348, 267, 299, 309, 258, 247, 267, 210, 307, 306, 250, 251, 199, 255, 252, 249, 259, 211, 352, 266, 349, 201, 252, 348, 301, 248, 306, 211, 304, 352, 350, 258, 255, 217, 399, 294, 261, 259, 253, 253, 257, 257, 218, 305, 255, 253, 258, 215, 312, 249, 263, 261, 258, 258, 301, 257, 348, 255, 302, 254, 251, 352, 257, 304, 257, 249, 260, 218, 306, 255, 307, 266, 296, 215, 257, 306, 261, 256, 301, 350, 261, 255, 208, 353, 263, 259, 298, 257, 261, 309, 250, 254, 246, 263, 307, 299, 259, 347, 268, 304, 265, 260, 261, 305, 200, 309, 261, 258, 256, 297, 307, 301, 396, 209, 253, 359, 250, 348, 216, 213, 251, 256, 259, 347, 304, 255, 303, 353, 398, 314, 211, 304, 306, 351, 309, 251, 209, 352, 204, 307, 257, 309, 308, 351, 305, 297, 303, 294, 257, 219, 255, 308, 393, 214, 309, 257, 257, 301, 258, 346, 263, 254, 396, 307, 246, 214, 202, 347, 303, 301, 254, 312, 349, 349, 301, 309, 258, 216, 301, 260, 306, 210, 297, 204, 216, 303, 344, 305, 303, 210, 353, 207, 259, 306, 354, 301, 305, 392, 259, 211, 258, 313, 259, 250, 255, 259, 249, 259, 257, 304, 250, 302, 355, 207, 352, 305, 303, 215, 301, 263, 261, 216, 209, 264, 304, 253, 263, 261, 254, 255, 312, 300, 356, 310, 213, 256, 257, 304, 350, 226, 351, 348, 309, 316, 219, 345, 248, 267, 250, 263, 308, 212, 350, 308, 263, 300, 255, 312, 255, 260, 216, 204, 304, 208, 303, 346, 304, 349, 315, 306, 303, 247, 307, 216, 403, 348, 264, 358, 304, 253, 309, 349, 308, 311, 303, 209, 299, 300, 308, 219, 301, 315, 358, 208, 305, 209, 215, 255, 302, 260, 304, 309, 216, 299, 261, 264, 305, 353, 306, 251, 258, 360, 306, 263, 357, 352, 347, 306, 356, 219, 257, 343, 264, 210, 299, 249, 304, 349, 304, 216, 300, 215, 220, 258, 307, 222, 258, 303, 300, 213, 262, 217, 305, 299, 262, 257, 306, 350, 253, 216, 213, 303, 256, 256, 299, 314, 352, 267, 348, 259, 303, 258, 352, 249, 217, 309, 207, 300, 255, 252, 253, 306, 306, 395, 251, 198, 300, 306, 259, 254, 308, 206, 262, 216, 218, 307, 260, 251, 214, 306, 397, 355, 304, 361, 262, 305, 351, 260, 268, 260, 257, 308, 315, 210, 301, 264, 259, 353, 308, 220, 310, 304, 210, 299, 299, 348, 256, 308, 307, 258, 260, 309, 341, 203, 251, 357, 256, 353, 205, 304, 210, 260, 305, 208, 202, 246, 251, 200, 398, 344, 220, 305, 213, 214, 259, 355, 264, 349, 355, 216, 265, 203, 354, 307, 311, 306, 303, 259, 259, 211, 306, 199, 302, 358, 297, 305, 397, 208, 255, 354, 313, 266, 209, 349, 299, 254, 306, 305, 358, 218, 210, 303, 296, 305, 303, 310, 354, 347, 355, 302, 266, 396, 256, 263, 304, 354, 350, 262, 250, 264, 304, 258, 252, 353, 301, 345, 211, 301, 348, 302, 306, 221, 301, 298, 256, 262, 256, 202, 265, 252, 260, 265, 209, 246, 248, 307, 258, 258, 207, 260, 252, 264, 247, 211, 301, 261, 298, 255, 214, 348, 304, 344, 352, 214, 265, 297, 305, 352, 257, 256, 255, 254, 255, 304, 211, 253, 251, 253, 248, 252, 254, 261, 314, 354, 208, 205, 298, 255, 299, 209, 253, 255, 217, 305, 354, 211, 356, 309, 308, 306, 298, 255, 346, 304, 309, 301, 260, 345, 212, 263, 262, 250, 221, 302, 208, 255, 354, 258, 306, 267, 266, 299, 254, 251, 201, 257, 261, 264, 294, 196, 352, 215, 310, 262, 266, 255, 264, 254, 299, 308, 351, 258, 355, 258, 259, 251, 307, 298, 298, 310, 302, 301, 206, 354, 261, 264, 259, 304, 397, 258, 214, 205, 255, 350, 301, 301, 301, 259, 353, 350, 256, 249, 297, 299, 209, 254, 301, 347, 257, 347, 203, 300, 258, 264, 264, 302, 312, 259, 258, 201, 262, 259, 215, 258, 253, 306, 210, 261, 352, 263, 248, 259, 301, 254, 305, 208, 265, 307, 269, 308, 213, 300, 257, 266, 309, 203, 305, 206, 204, 305, 256, 258, 203, 311, 398, 252, 295, 353, 302, 220, 346, 253, 298, 211, 247, 257, 251, 216, 312, 359, 303, 259, 210, 306, 300, 208, 251, 298, 255, 253, 403, 254, 260, 349, 203, 259, 256, 303, 306, 308, 255, 209, 352, 253, 302, 204, 302, 352, 299, 311, 259, 311, 257, 208, 262, 311, 300, 311, 302, 399, 303, 297, 350, 260, 309, 309, 257, 254, 255, 314, 298, 250, 262, 302, 305, 256, 307, 304, 213, 306, 267, 256, 253, 301, 253, 211, 310, 270, 263, 305, 353, 308, 258, 263, 298, 345, 262, 297, 306, 296, 302, 305, 303, 306, 306, 303, 209, 247, 301, 212, 215, 356, 256, 308, 216, 258, 307, 299, 305, 263, 294, 345, 353, 206, 206, 311, 346, 351, 216, 248, 308, 211, 349, 302, 260, 210, 299, 307, 260, 346, 213, 303, 221, 266, 208, 308, 311, 258, 309, 263, 255, 258, 213, 301, 307, 248, 301, 358, 299, 260, 257, 302, 300, 201, 258, 207, 306, 312, 248, 305, 263, 344, 263, 304, 353, 263, 259, 208, 348, 209, 248, 260, 256, 302, 250, 345, 207, 263, 302, 262, 266, 255, 353, 398, 265, 261, 303, 353, 258, 345, 302, 249, 353, 268, 354, 304, 258, 256, 218, 314, 295, 221, 253, 351, 253, 217, 246, 312, 297, 254, 256, 293, 351, 300, 303, 361, 256, 199, 258, 302, 258, 355, 352, 294, 307, 355, 253, 346, 353, 300, 257, 254, 311, 212, 257, 309, 264, 209, 304, 299, 300, 254, 306, 261, 304, 266, 305, 352, 206, 254, 257, 347, 259, 306, 306, 295, 261, 302, 347, 203, 304, 303, 300, 309, 297, 254, 260, 296, 348, 259, 305, 270, 260, 302, 208, 309, 208, 252, 248, 204, 352, 264, 349, 305, 302, 214, 343, 299, 262, 358, 400, 355, 403, 343, 259, 311, 256, 309, 300, 298, 350, 298, 315, 307, 347, 314, 304, 253, 254, 351, 211, 356, 265, 301, 309, 307, 256, 310, 262, 265, 255, 300, 247, 213, 300, 247, 253, 216, 299, 356, 300, 355, 256, 198, 301, 346, 251, 208, 253, 303, 297, 311, 257, 316, 208, 355, 354, 261, 213, 312, 396, 260, 257, 345, 297, 309, 312, 297, 302, 199, 262, 257, 254, 350, 208, 304, 308, 299, 297, 254, 260, 310, 308, 355, 308, 260, 351, 306, 306, 258, 264, 268, 304, 308, 311, 290, 255, 304, 213, 313, 307, 215, 301, 256, 308, 256, 307, 305, 301, 311, 259, 353, 300, 298, 347, 311, 305, 266, 260, 261, 255, 264, 301, 255, 253, 306, 297, 344, 351, 210, 310, 353, 259, 305, 396, 262, 263, 349, 306, 306, 259, 203, 259, 348, 354, 309, 251, 252, 257, 300, 252, 305, 302, 305, 304, 261, 304, 206, 343, 262, 265, 299, 248, 252, 296, 302, 300, 262, 247, 341, 249, 310, 268, 346, 397, 303, 255, 260, 261, 258, 306, 256, 215, 259, 302, 302, 249, 301, 213, 254, 261, 252, 255, 203, 251, 258, 299, 307, 257, 354, 307, 349, 261, 303, 268, 354, 302, 257, 307, 256, 311, 303, 261, 257, 207, 255, 351, 201, 246, 260, 298, 219, 311, 397, 263, 311, 398, 303, 197, 207, 261, 307, 251, 306, 301, 303, 252, 254, 348, 254, 303, 268, 212, 218, 299, 204, 206, 307, 299, 256, 304, 264, 252, 308, 297, 250, 299, 357, 401, 298, 303, 346, 310, 215, 206, 247, 303, 346, 400, 351, 266, 351, 301, 252, 306, 249, 261, 258, 200, 258, 299, 248, 255, 257, 252, 263, 260, 260, 400, 214, 348, 300, 256, 249, 252, 311, 393, 261, 300, 351, 265, 298, 302, 257, 307, 307, 351, 303, 251, 310, 214, 248, 305, 305, 298, 355, 262, 259, 259, 347, 403, 309, 201, 301, 257, 265, 259, 247, 357, 262, 292, 211, 355, 261, 298, 303, 352, 253, 264, 354, 299, 313, 261, 302, 304, 208, 311, 304, 312, 298, 203, 308, 347, 204, 257, 256, 298, 255, 299, 249, 251, 258, 209, 300, 346, 298, 260, 263, 308, 219, 255, 251, 310, 261, 208, 309, 302, 307, 255, 351, 362, 300, 246, 302, 201, 263, 259, 345, 262, 348, 249, 300, 212, 200, 208, 305, 256, 309, 306, 305, 259, 218, 262, 254, 261, 218, 347, 216, 306, 211, 247, 261, 308, 206, 395, 251, 299, 248, 301, 256, 261, 216, 309, 265, 262, 266, 351, 303, 253, 307, 206, 359, 256, 255, 259, 299, 301, 260, 294, 258, 196, 252, 256, 299, 307, 261, 308, 254, 342, 354, 307, 255, 256, 210, 256, 257, 249, 260, 257, 252, 254, 356, 259, 299, 262, 258, 262, 208, 257, 306, 207, 263, 309, 251, 345, 303, 209, 253, 304, 248, 312, 208, 206, 259, 255, 209, 257, 313, 301, 311, 260, 306, 304, 358, 259, 258, 308, 247, 247, 304, 308, 300, 208, 257, 257, 300, 268, 306, 302, 395, 211, 209, 299, 256, 213, 206, 209, 358, 305, 357, 258, 303, 260, 301, 268, 312, 306, 222, 256, 259, 310, 253, 259, 260, 397, 348, 299, 300, 215, 351, 261, 313, 215, 305, 257, 260, 217, 352, 302, 249, 302, 306, 311, 355, 268, 297, 301, 209, 302, 302, 297, 257, 316, 259, 350, 257, 294, 302, 302, 306, 210, 299, 304, 257, 399, 296, 205, 304, 257, 312, 264, 213, 310, 255, 249, 302, 265, 357, 305, 303, 263, 204, 254, 261, 258, 308, 403, 261, 309, 302, 351, 216, 261, 219, 256, 310, 352, 214, 254, 207, 354, 256, 217, 205, 303, 296, 298, 305, 265, 304, 346, 351, 255, 260, 215, 216, 307, 298, 304, 253, 198, 209, 256, 217, 304, 254, 254, 356, 257, 251, 201, 259, 304, 255, 304, 352, 268, 299, 309, 357, 296, 254, 350, 302, 255, 256, 309, 296, 359, 306, 258, 256, 261, 261, 214, 301, 208, 256, 259, 265, 306, 303, 270, 261, 304, 258, 257, 245, 307, 348, 261, 300, 255, 299, 301, 306, 351, 260, 248, 353, 216, 263, 259, 346, 296, 264, 313, 309, 297, 353, 314, 311, 259, 293, 263, 212, 205, 351, 252, 212, 257, 304, 254, 293, 212, 254, 257, 306, 260, 256, 345, 298, 298, 262, 206, 260, 306, 215, 295, 296, 258, 357, 302, 297, 201, 262, 300, 347, 212, 303, 219, 249, 259, 308, 258, 351, 201, 252, 345, 259, 213, 249, 257, 306, 263, 251, 248, 352, 259, 308, 261, 265, 305, 304, 203, 309, 266, 268, 303, 303, 263, 263, 213, 213, 312, 351, 357, 262, 346, 259, 259, 256, 249, 346, 252, 305, 304, 315, 297, 214, 216, 399, 351, 256, 205, 295, 254, 248, 304, 252, 258, 304, 256, 209, 298, 350, 348, 302, 297, 216, 302, 302, 302, 260, 355, 298, 303, 304, 398, 260, 259, 303, 210, 305, 296, 356, 263, 352, 254, 307, 353, 212, 300, 261, 311, 252, 263, 206, 310, 309, 210, 219, 210, 350, 309, 260, 308, 303, 212, 208, 259, 215, 263, 302, 306, 213, 257, 353, 396, 354, 255, 314, 259, 252, 347, 252, 304, 309, 258, 299, 255, 304, 350, 251, 355, 210, 248, 261, 310, 307, 360, 253, 304, 343, 253, 207, 209, 256, 391, 210, 301, 303, 302, 259, 212, 259, 264, 295, 351, 307, 217, 350, 354, 301, 254, 254, 313, 254, 354, 216, 252, 203, 349, 304, 211, 265, 299, 265, 223, 358, 354, 217, 296, 261, 209, 312, 313, 310, 256, 261, 256, 346, 355, 262, 206, 302, 250, 302, 258, 303, 216, 310, 255, 263, 209, 354, 210, 263, 253, 305, 250, 348, 260, 257, 357, 260, 203, 215, 208, 218, 354, 311, 297, 305, 311, 301, 294, 305, 258, 260, 309, 254, 305, 314, 266, 255, 300, 213, 209, 211, 257, 304, 298, 302, 259, 261, 261, 345, 306, 213, 259, 401, 254, 211, 216, 303, 350, 350, 302, 257, 250, 308, 254, 255, 355, 262, 351, 342, 266, 212, 304, 204, 256, 255, 210, 215, 255, 361, 252, 252, 350, 214, 255, 301, 265, 299, 303, 302, 202, 304, 247, 253, 260, 261, 358, 254, 302, 396, 304, 259, 354, 207, 256, 308, 344, 253, 247, 257, 256, 309, 255, 305, 311, 257, 248, 256, 210, 347, 297, 314, 352, 305, 300, 307, 306, 302, 355, 254, 310, 347, 254, 351, 258, 256, 259, 216, 351, 297, 221, 309, 259, 206, 301, 256, 349, 206, 211, 301, 259, 308, 303, 352, 258, 264, 219, 306, 222, 212, 309, 247, 220, 266, 304, 349, 358, 248, 303, 262, 306, 305, 311, 252, 301, 258, 216, 297, 304, 203, 258, 305, 254, 215, 215, 314, 354, 308, 204, 252, 310, 305, 346, 254, 260, 313, 347, 262, 257, 302, 258, 256, 259, 215, 350, 356, 309, 309, 307, 209, 250, 307, 263, 254, 302, 309, 258, 302, 264, 208, 210, 205, 305, 247, 352, 359, 257, 197, 305, 302, 392, 307, 306, 392, 207, 399, 303, 300, 298, 298, 301, 263, 305, 314, 258, 356, 259, 356, 302, 348, 253, 204, 312, 294, 303, 305, 258, 307, 311, 302, 254, 309, 402, 208, 256, 352, 254, 258, 210, 257, 260, 308, 253, 259, 270, 301, 251, 360, 303, 252, 302, 217, 294, 213, 267, 355, 263, 260, 298, 219, 206, 340, 308, 264, 349, 347, 310, 297, 397, 262, 305, 244, 259, 310, 298, 293, 302, 260, 266, 260, 299, 301, 251, 202, 307, 308, 294, 253, 263, 356, 204, 356, 259, 262, 293, 347, 310, 356, 257, 314, 256, 296, 398, 262, 349, 252, 257, 298, 296, 256, 307, 315, 297, 305, 348, 248, 256, 314, 255, 254, 299, 245, 215, 300, 307, 254, 356, 209, 309, 346, 305, 256, 355, 265, 255, 266, 310, 300, 218, 252, 251, 301, 263, 392, 223, 354, 353, 355, 207, 206, 351, 303, 251, 307, 213, 266, 262, 301, 251, 264, 258, 258, 267, 260, 257, 261, 265, 304, 252, 308, 251, 345, 347, 206, 307, 211, 355, 345, 303, 249, 261, 306, 243, 303, 347, 216, 302, 206, 311, 202, 212, 260, 220, 353, 256, 354, 256, 300, 210, 257, 256, 255, 259, 209, 341, 300, 204, 255, 257, 258, 259, 211, 203, 253, 304, 301, 300, 211, 253, 313, 254, 309, 348, 300, 212, 259, 314, 305, 252, 259, 250, 248, 262, 254, 265, 300, 302, 260, 299, 309, 301, 257, 264, 300, 214, 249, 218, 303, 204, 265, 303, 248, 309, 257, 258, 298, 209, 302, 200, 350, 301, 353, 263, 254, 304, 261, 347, 311, 262, 298, 261, 253, 347, 310, 264, 303, 348, 208, 251, 253, 209, 294, 209, 208, 216, 205, 264, 252, 257, 299, 225, 211, 306, 256, 311, 251, 352, 262, 269, 303, 261, 346, 307, 256, 209, 258, 302, 346, 303, 246, 218, 315, 344, 301, 205, 253, 258, 301, 256, 302, 207, 395, 297, 353, 253, 306, 257, 258, 354, 308, 299, 307, 298, 263, 248, 251, 305, 262, 307, 258, 256, 304, 210, 312, 301, 305, 249, 260, 312, 254, 254, 255, 359, 254, 255, 266, 212, 309, 349, 247, 257, 205, 260, 306, 265, 261, 305, 357, 297, 262, 208, 300, 254, 298, 350, 303, 306, 259, 310, 303, 207, 253, 256, 353, 258, 307, 345, 210, 250, 253, 258, 350, 302, 298, 300, 213, 252, 254, 263, 305, 351, 254, 306, 352, 218, 216, 303, 360, 304, 305, 221, 212, 308, 210, 262, 254, 402, 256, 265, 209, 258, 251, 202, 255, 314, 212, 250, 296, 354, 295, 265, 253, 297, 302, 304, 357, 257, 308, 357, 258, 305, 262, 301, 201, 263, 252, 253, 210, 306, 303, 306, 311, 257, 262, 351, 311, 352, 349, 204, 209, 256, 205, 350, 298, 398, 306, 305, 266, 205, 307, 261, 210, 211, 255, 264, 260, 212, 309, 356, 262, 300, 258, 261, 263, 263, 301, 350, 258, 348, 264, 260, 253, 257, 302, 306, 302, 258, 260, 301, 252, 352, 204, 300, 307, 213, 216, 308, 249, 360, 297, 304, 353, 306, 299, 254, 300, 257, 255, 250, 217, 312, 249, 221, 251, 264, 304, 309, 264, 305, 251, 254, 344, 309, 310, 253, 309, 400, 210, 304, 255, 263, 220, 207, 207, 303, 210, 205, 296, 353, 308, 353, 302, 308, 211, 211, 251, 299, 351, 212, 257, 260, 259, 213, 299, 249, 312, 305, 352, 211, 206, 256, 250, 208, 313, 309, 344, 247, 258, 309, 203, 264, 216, 204, 303, 249, 357, 353, 213, 254, 255, 300, 315, 257, 300, 253, 218, 304, 262, 264, 259, 361, 356, 302, 264, 305, 251, 214, 263, 353, 359, 259, 302, 307, 347, 297, 345, 269, 263, 301, 304, 204, 260, 304, 298, 357, 345, 306, 345, 305, 256, 311, 347, 258, 304, 208, 304, 195, 215, 310, 304, 263, 350, 260, 301, 212, 262, 311, 349, 302, 262, 216, 256, 307, 308, 258, 250, 310, 258, 213, 307, 252, 207, 219, 346, 253, 255, 217, 247, 301, 305, 207, 348, 306, 310, 250, 308, 259, 210, 343, 300, 257, 301, 250, 308, 251, 252, 303, 301, 199, 314, 264, 302, 308, 250, 208, 256, 299, 351, 313, 356, 212, 209, 255, 252, 257, 269, 249, 249, 265, 309, 300, 309, 216, 248, 301, 254, 360, 253, 347, 353, 254, 363, 265, 254, 261, 299, 255, 207, 250, 311, 297, 347, 355, 353, 307, 260, 219, 308, 210, 252, 310, 222, 300, 254, 305, 297, 305, 312, 309, 307, 355, 262, 348, 302, 357, 295, 363, 349, 256, 253, 265, 306, 217, 306, 210, 207, 347, 307, 261, 255, 256, 250, 309, 253, 351, 207, 296, 303, 299, 255, 267, 255, 259, 252, 298, 253, 253, 352, 258, 302, 213, 258, 259, 352, 251, 267, 355, 304, 258, 250, 302, 249, 253, 305, 297, 215, 301, 356, 267, 355, 218, 356, 308, 258, 210, 311, 354, 305, 254, 301, 343, 302, 258, 209, 347, 256, 302, 257, 398, 312, 252, 259, 254, 248, 256, 208, 313, 247, 215, 302, 214, 392, 247, 308, 346, 262, 208, 258, 308, 303, 251, 211, 257, 216, 247, 217, 257, 357, 356, 299, 260, 352, 252, 304, 266, 255, 247, 255, 254, 261, 218, 252, 245, 346, 260, 257, 301, 353, 303, 307, 248, 301, 247, 215, 309, 342, 269, 253, 206, 251, 210, 314, 359, 249, 206, 351, 300, 307, 256, 263, 350, 248, 214, 354, 298, 248, 303, 258, 213, 245, 214, 303, 306, 300, 297, 205, 300, 249, 204, 266, 347, 347, 252, 302, 311, 310, 252, 211, 347, 263, 213, 355, 307, 309, 206, 299, 305, 251, 249, 303, 402, 203, 261, 297, 348, 300, 206, 253, 354, 254, 207, 263, 307, 256, 299, 216, 309, 350, 306, 203, 202, 304, 204, 215, 208, 301, 352, 397, 398, 261, 247, 203, 218]
Scrambled Sboxes: [
Sbox 1 : [ 0x1a ,0x77 ,0xe6 ,0xa4 ,0x61 ,0xaa ,0x94 ,0x8e ,0x5a ,0x7a ,0x77 ,0x8f ,0xf2 ,0x7 ,0x16 ,0x40 ,0x13 ,0xa7 ,0x82 ,0xa9 ,0x6e ,0x15 ,0x1c ,0x17 ,0x70 ,0x83 ,0x79 ,0x9c ,0x9b ,0x4c ,0xd ,0x12 ,0x7d ,0x39 ,0xad ,0x9e ,0x4f ,0x6a ,0xf0 ,0x10 ,0x19 ,0x13 ,0xb8 ,0x64 ,0x8 ,0xa3 ,0xbf ,0x55 ,0x11 ,0xb2 ,0x57 ,0xba ,0x1d ,0x32 ,0xab ,0x5d ,0x78 ,0xc0 ,0x2 ,0x1a ,0x89 ,0x7b ,0x5b ,0x15 ,0x94 ,0x3c ,0xb9 ,0xaa ,0xed ,0x1e ,0xb0 ,0xa1 ,0x7c ,0x6e ,0x1f ,0x3 ,0xe3 ,0x97 ,0xaa ,0x73 ,0x79 ,0xbe ,0xc2 ,0xae ,0x88 ,0x7e ,0x4a ,0xb4 ,0x7d ,0x23 ,0x5f ,0x5d ,0x9f ,0x19 ,0xe9 ,0xbb ,0xc ,0xc1 ,0xbd ,0x4d ,0xf1 ,0x8b ,0xa9 ,0x1c ,0x2c ,0x2b ,0x21 ,0x88 ,0xb3 ,0xf0 ,0xb6 ,0x1e ,0x4f ,0x47 ,0xb ,0xb7 ,0x45 ,0x9a ,0xcf ,0xf ,0x1d ,0xb1 ,0x85 ,0xa2 ,0x3a ,0xaf ,0xe7 ,0xea ,0x58 ,0x11 ,0x74 ,0xa8 ,0x51 ,0x22 ,0x50 ,0x91 ,0x24 ,0x46 ,0x8d ,0x90 ,0xef ,0x75 ,0xbc ,0xa5 ,0x9d ,0x20 ,0x97 ,0xca ,0x31 ,0x3b ,0x50 ,0x96 ,0x43 ,0xa0 ,0xa4 ,0x95 ,0xc2 ,0x99 ,0x34 ,0x62 ,0x93 ,0x20 ,0x37 ,0x18 ,0x66 ,0xe5 ,0x86 ,0xea ,0xaf ,0x87 ,0xec ,0x99 ,0x81 ,0xb5 ,0x3c ,0x80 ,0x16 ,0x59 ,0xeb ,0xac ,0x55 ,0xe4 ,0x1b ,0x76 ,0x49 ,0xa6 ,0x42 ,0x41 ,0x6d ,0x3e ,0xee ,0x3f ,0x4a ,0x3d ,0x68 ,0x6b ,0xa0 ,0x23 ,0x98 ,0x26 ,0x6c ,0xb3 ,0x35 ,0x88 ,0x38 ,0x65 ,0x8c ,0x53 ,0x73 ,0x60 ,0x6e ,0x5e ,0x34 ,0x27 ,0x29 ,0x85 ,0x92 ,0xe8 ,0x8a ,0x11 ,0x7f ,0x28 ,0x84 ,0x53 ,0x54 ,0x56 ,0x4e ,0xe6 ,0x4c ,0x18 ,0x45 ,0x14 ,0x4d ,0x21 ,0x1f ,0x48 ,0x2a ,0x14 ,0x44 ,0x71 ,0x72 ,0x69 ,0x36 ,0x43 ,0x7b ,0x44 ,0xe4 ,0x33 ,0xc ,0x4 ,0xe ,0x6f ,0x2a ,0x63 ,0x5c ,0x3f ,]
Sbox 2 : [ 0x67 ,0x80 ,0x2a ,0x7e ,0x42 ,0x2f ,0x25 ,0x2d ,0x0 ,0xf9 ,0x84 ,0x85 ,0x12 ,0x1f ,0xc7 ,0x1 ,0x48 ,0x52 ,0x26 ,0x4b ,0x16 ,0x41 ,0x52 ,0xfd ,0x1b ,0x14 ,0x71 ,0x1e ,0x17 ,0xf ,0x10 ,0xbc ,0x6f ,0x4b ,0x3 ,0x9 ,0x7c ,0x6 ,0x30 ,0xab ,0xe0 ,0x99 ,0xea ,0xa ,0x0 ,0x2e ,0x46 ,0x1 ,0x49 ,0x4f ,0xc5 ,0x7f ,0x7a ,0x24 ,0x91 ,0xad ,0xd9 ,0x40 ,0x81 ,0x3e ,0x4e ,0x7d ,0x8f ,0xa4 ,0xd0 ,0xe9 ,0xe4 ,0x47 ,0x74 ,0x17 ,0x6d ,0x77 ,0x9e ,0x20 ,0x9f ,0x12 ,0x1c ,0x51 ,0xb7 ,0x52 ,0xc3 ,0x53 ,0xb4 ,0xe6 ,0x8b ,0x5 ,0x5 ,0x2c ,0x70 ,0x6b ,0xcc ,0x83 ,0x8 ,0xfd ,0x6c ,0x9c ,0x86 ,0x78 ,0xda ,0x6d ,0xa2 ,0x4a ,0xcf ,0xbc ,0xd5 ,0x72 ,0x75 ,0x6c ,0x82 ,0xb0 ,0xd8 ,0xa1 ,0x96 ,0x76 ,0xa5 ,0xee ,0x63 ,0x9b ,0x3d ,0xed ,0xb2 ,0x38 ,0xb6 ,0x7e ,0x9d ,0x95 ,0xc9 ,0xb1 ,0xba ,0x9a ,0xa6 ,0x16 ,0x98 ,0xac ,0xd7 ,0xd3 ,0xbd ,0xf8 ,0xfc ,0xdc ,0x65 ,0xb9 ,0xb5 ,0xf1 ,0x5a ,0xc6 ,0x0 ,0x11 ,0xa2 ,0xd8 ,0xbc ,0xc4 ,0xc3 ,0xa0 ,0xd4 ,0x53 ,0xdb ,0xc8 ,0xf0 ,0x6 ,0xcb ,0xbb ,0xa3 ,0xf4 ,0xa7 ,0xdd ,0xa8 ,0xd2 ,0xcd ,0x21 ,0xf8 ,0xb3 ,0xb ,0xae ,0x50 ,0xc ,0xe8 ,0xc7 ,0xbf ,0xf5 ,0x3c ,0xb8 ,0xe1 ,0x52 ,0xbe ,0x94 ,0xca ,0xc1 ,0xfa ,0xc0 ,0xef ,0xce ,0xe3 ,0x27 ,0x32 ,0xd1 ,0x70 ,0x99 ,0x22 ,0xf3 ,0xe0 ,0xd6 ,0x2d ,0x82 ,0xde ,0x4d ,0x1a ,0x1c ,0x35 ,0x72 ,0x17 ,0x37 ,0x41 ,0xf7 ,0xec ,0x2 ,0x4 ,0xf ,0xe7 ,0xe2 ,0xe5 ,0xdf ,0xfb ,0x1b ,0x8 ,0xe ,0xf1 ,0xf2 ,0xb8 ,0xeb ,0xfe ,0x12 ,0xe9 ,0x10 ,0xf6 ,0x15 ,0x42 ,0x7 ,0x4e ,0x67 ,0x23 ,0x62 ,0xae ,0x25 ,0xa9 ,0xd ,0x5f ,0x4b ,0xff ,0x69 ,0x14 ,0xa ,0x66 ,0x43 ,0x45 ,0x63 ,]
Sbox 3 : [ 0x2b ,0x29 ,0xd4 ,0x66 ,0x39 ,0x9 ,0x3c ,0x13 ,0x18 ,0xa6 ,0xc ,0x36 ,0x3a ,0x2f ,0x1d ,0x40 ,0x3e ,0x72 ,0x74 ,0x2e ,0x33 ,0x28 ,0x19 ,0x30 ,0x64 ,0x5d ,0x34 ,0x44 ,0x5c ,0x47 ,0x2a ,0xdb ,0x84 ,0x60 ,0x48 ,0x31 ,0xea ,0x6a ,0xf ,0x7d ,0x46 ,0x9c ,0x60 ,0x4e ,0xac ,0x3b ,0x5b ,0x49 ,0x83 ,0x68 ,0x26 ,0x3d ,0x77 ,0x9d ,0x51 ,0xb0 ,0x96 ,0xa4 ,0x54 ,0x3f ,0x36 ,0x5e ,0x7f ,0x58 ,0xad ,0x32 ,0x59 ,0x57 ,0x8d ,0x56 ,0x4c ,0x4f ,0xe6 ,0x76 ,0x1b ,0x7a ,0x79 ,0x89 ,0x78 ,0x88 ,0x8c ,0x55 ,0xbb ,0xe7 ,0x61 ,0x98 ,0xc9 ,0x80 ,0x6b ,0xd9 ,0xb1 ,0x7b ,0x8a ,0xa2 ,0x73 ,0xa0 ,0xd3 ,0x87 ,0x71 ,0x92 ,0x86 ,0xd3 ,0x64 ,0xd0 ,0xec ,0x31 ,0x6d ,0x6e ,0xd1 ,0xfd ,0x6f ,0xc5 ,0x75 ,0xdf ,0xd7 ,0x7c ,0x8f ,0xb6 ,0x6 ,0xc4 ,0x8e ,0x85 ,0x81 ,0xa3 ,0xe9 ,0xa5 ,0xd1 ,0xc6 ,0xbf ,0x9e ,0xab ,0x23 ,0x9 ,0x90 ,0xac ,0xa8 ,0x91 ,0xc7 ,0x5c ,0x5f ,0x38 ,0x9a ,0x9d ,0x93 ,0x9b ,0xb5 ,0xaf ,0xc8 ,0x48 ,0x5d ,0xd6 ,0xde ,0xa1 ,0x9f ,0xcb ,0xce ,0xb2 ,0xa7 ,0x1e ,0x4b ,0xbe ,0xb9 ,0x94 ,0xc0 ,0xa9 ,0xb6 ,0xc1 ,0x4 ,0x17 ,0xf3 ,0x6c ,0xde ,0xcf ,0xe8 ,0xba ,0xd5 ,0x13 ,0xb7 ,0xb4 ,0x76 ,0xcc ,0xbd ,0x22 ,0xab ,0xee ,0xd2 ,0xda ,0x44 ,0xc2 ,0xf2 ,0xc3 ,0xcd ,0xe4 ,0x10 ,0x14 ,0x18 ,0xf6 ,0xe3 ,0x3e ,0xb ,0xdc ,0xe6 ,0xd3 ,0xe0 ,0x1 ,0x61 ,0xfb ,0xdb ,0xdd ,0xe5 ,0xd5 ,0xe2 ,0xfe ,0x15 ,0x42 ,0x19 ,0x5f ,0xe1 ,0x2d ,0xfc ,0xf5 ,0xef ,0x54 ,0xd ,0x12 ,0xed ,0x26 ,0xf0 ,0x30 ,0x59 ,0xe0 ,0xeb ,0x24 ,0x4a ,0x57 ,0xfa ,0xe ,0xf4 ,0x5a ,0x4c ,0x4f ,0xef ,0xf7 ,0xf9 ,0xff ,0x2f ,0x25 ,0x75 ,0xff ,0x1d ,0x2 ,0x2b ,0x5 ,0x3 ,0x72 ,0x7 ,]
Sbox 4 : [ 0xb3 ,0x4d ,0x70 ,0x46 ,0x8 ,0x28 ,0xa6 ,0x43 ,0xa ,0x3b ,0x49 ,0x3a ,0x10 ,0x29 ,0x13 ,0x79 ,0xb0 ,0x1f ,0x80 ,0x2 ,0x20 ,0x1a ,0xf3 ,0xca ,0x27 ,0x4e ,0x35 ,0x21 ,0x39 ,0x1e ,0x33 ,0x37 ,0x6d ,0x81 ,0x2e ,0x77 ,0x41 ,0x0 ,0x47 ,0x53 ,0x62 ,0x7d ,0x96 ,0x2c ,0xa7 ,0x8d ,0x34 ,0x3f ,0x65 ,0x45 ,0x97 ,0x50 ,0x40 ,0x9c ,0x28 ,0x90 ,0xc8 ,0x48 ,0x3 ,0xf8 ,0xc6 ,0xc9 ,0x74 ,0x7b ,0x7a ,0x63 ,0x9d ,0x51 ,0x6c ,0x7e ,0x56 ,0x5c ,0x95 ,0x58 ,0x5b ,0xf2 ,0xad ,0xe1 ,0x6b ,0x55 ,0x5e ,0xc5 ,0xe7 ,0xb7 ,0x7c ,0xa8 ,0x42 ,0x69 ,0x5f ,0xb ,0xb9 ,0x86 ,0x89 ,0x49 ,0x78 ,0x68 ,0x67 ,0x82 ,0x6a ,0x9b ,0x8c ,0x6f ,0x2a ,0xc2 ,0xaa ,0xbf ,0xa5 ,0x71 ,0x83 ,0x8b ,0x81 ,0x87 ,0x84 ,0x73 ,0xb7 ,0xbb ,0x94 ,0xa2 ,0x98 ,0x8e ,0xb1 ,0x58 ,0x9e ,0x9f ,0x5b ,0x7f ,0xf ,0x93 ,0x9a ,0x93 ,0x92 ,0x8a ,0xa1 ,0xde ,0xb3 ,0xed ,0x46 ,0x1 ,0xf4 ,0xee ,0xd ,0xd8 ,0xa3 ,0x66 ,0x1f ,0x16 ,0xc3 ,0xa4 ,0xc1 ,0x32 ,0x38 ,0x7f ,0xb5 ,0xc3 ,0xaf ,0xf5 ,0xb4 ,0xec ,0xf3 ,0xc2 ,0xbc ,0xbc ,0xb8 ,0xf7 ,0xf0 ,0xd0 ,0xd6 ,0xb2 ,0xae ,0xd2 ,0xe9 ,0xd7 ,0x7d ,0xdb ,0xdd ,0xba ,0x6 ,0xcb ,0xbe ,0xc0 ,0xc6 ,0x96 ,0xbf ,0xf6 ,0x47 ,0xa5 ,0xcd ,0xbd ,0xe8 ,0xe5 ,0xda ,0xf9 ,0xce ,0xde ,0x4 ,0xc4 ,0x86 ,0x36 ,0xa ,0x45 ,0x4b ,0xcc ,0x8 ,0xdf ,0x7f ,0xd9 ,0xd4 ,0x78 ,0xec ,0xca ,0x19 ,0x11 ,0xf3 ,0x42 ,0x3c ,0x9e ,0x17 ,0xdc ,0xea ,0xe3 ,0xeb ,0xf1 ,0xa9 ,0xe2 ,0x74 ,0x8a ,0x35 ,0xe4 ,0x12 ,0x23 ,0x60 ,0xfa ,0x1c ,0x21 ,0xfe ,0x33 ,0x3f ,0x9 ,0x2f ,0xbe ,0x54 ,0xfc ,0xb9 ,0xfd ,0x30 ,0x5 ,0x69 ,0x1b ,0x4c ,0x39 ,0xfb ,0x65 ,0x2e ,0x7 ,0x3 ,0xa0 ,]
Sbox 5 : [ 0xe ,0x27 ,0x29 ,0x18 ,0x1d ,0x61 ,0x40 ,0x37 ,0x15 ,0x6f ,0x1a ,0x3e ,0x52 ,0x20 ,0x4e ,0x6c ,0x7f ,0x46 ,0x25 ,0x6b ,0x4d ,0x34 ,0x13 ,0xdc ,0x2c ,0x38 ,0x5a ,0x49 ,0x24 ,0x22 ,0x7b ,0x23 ,0xcc ,0x2b ,0x5d ,0xb6 ,0x2a ,0x43 ,0xb5 ,0x3a ,0x2d ,0x7a ,0x4d ,0x3d ,0x94 ,0x6e ,0x31 ,0x3b ,0xaf ,0x51 ,0x70 ,0x50 ,0x80 ,0xd9 ,0x8c ,0x41 ,0x21 ,0x8f ,0x9a ,0xfc ,0x66 ,0x44 ,0xf0 ,0x45 ,0x98 ,0x90 ,0x5e ,0x92 ,0x4a ,0x75 ,0x56 ,0x55 ,0xdd ,0x73 ,0x68 ,0xe7 ,0x9c ,0x7e ,0x57 ,0x2 ,0x59 ,0x72 ,0xc5 ,0x82 ,0x93 ,0xa8 ,0x6a ,0x6a ,0x3f ,0x76 ,0x79 ,0xc8 ,0xc7 ,0x97 ,0x64 ,0x47 ,0x77 ,0x62 ,0xce ,0xa7 ,0x67 ,0x9f ,0xaa ,0x71 ,0xba ,0xd ,0x87 ,0xde ,0x8e ,0x9c ,0xda ,0xb7 ,0xb8 ,0x8d ,0x7c ,0xe ,0xa6 ,0x88 ,0x85 ,0x78 ,0xd7 ,0xb1 ,0xb0 ,0x89 ,0x91 ,0x5a ,0x84 ,0x8b ,0x6 ,0x70 ,0x83 ,0xbb ,0xdd ,0xb3 ,0x2d ,0xcb ,0xa3 ,0xca ,0xac ,0x5 ,0x1c ,0xae ,0x5e ,0xff ,0x95 ,0xd1 ,0xf9 ,0xa1 ,0xb2 ,0x99 ,0x26 ,0xd5 ,0x9b ,0xa7 ,0x34 ,0x1a ,0xab ,0xc7 ,0xb ,0x9 ,0xcd ,0xa4 ,0x54 ,0x4 ,0xf ,0x36 ,0xb4 ,0x25 ,0xe8 ,0xad ,0xe3 ,0xc4 ,0xc0 ,0x8 ,0xf6 ,0xbd ,0xcf ,0xe1 ,0xf8 ,0xb5 ,0x5d ,0xe0 ,0x17 ,0x53 ,0xf2 ,0x4d ,0xbc ,0xc1 ,0xe5 ,0xee ,0xd2 ,0x56 ,0xe6 ,0xef ,0x24 ,0xd8 ,0xd0 ,0x57 ,0x6a ,0xc9 ,0xf7 ,0x63 ,0x5e ,0xea ,0x93 ,0x60 ,0xfb ,0x33 ,0xd6 ,0xd3 ,0xa4 ,0xd4 ,0x20 ,0xe2 ,0x1 ,0xf4 ,0xe3 ,0xed ,0x44 ,0x41 ,0xa5 ,0xdf ,0xc ,0xfe ,0x7 ,0xd ,0xb0 ,0xf1 ,0x26 ,0x3a ,0x39 ,0xfb ,0xeb ,0xbe ,0xf5 ,0xe7 ,0xd ,0x1f ,0x16 ,0x1b ,0x3f ,0x12 ,0x2e ,0x69 ,0x11 ,0xfa ,0x0 ,0xb1 ,0x3c ,0x10 ,0x2b ,0xfd ,0x7b ,0x19 ,0xa ,0xa0 ,]
Sbox 6 : [ 0xb2 ,0xfa ,0xd6 ,0x1e ,0x6c ,0x57 ,0x6b ,0x30 ,0x18 ,0x85 ,0x28 ,0xc2 ,0x1d ,0x27 ,0x65 ,0x29 ,0x15 ,0x37 ,0x14 ,0x78 ,0x26 ,0x5f ,0xff ,0x88 ,0x22 ,0x3d ,0x9f ,0x64 ,0x7c ,0x7a ,0xa1 ,0xb6 ,0x40 ,0x67 ,0x59 ,0xdf ,0x83 ,0x4b ,0x22 ,0x2c ,0x50 ,0x2f ,0x7a ,0x3b ,0x5b ,0x38 ,0x33 ,0x87 ,0x31 ,0x32 ,0x35 ,0x46 ,0x48 ,0x80 ,0xb5 ,0xd0 ,0x8a ,0xe5 ,0x43 ,0x3e ,0x74 ,0x4c ,0x4a ,0x68 ,0x91 ,0x84 ,0x9a ,0x4f ,0x55 ,0x1e ,0xaa ,0xc4 ,0x7f ,0x50 ,0x61 ,0x62 ,0x71 ,0x52 ,0x6d ,0x8d ,0x51 ,0x66 ,0xa7 ,0x7d ,0x81 ,0x73 ,0x19 ,0x58 ,0x6e ,0x5a ,0x6a ,0x5c ,0x79 ,0xd6 ,0xb3 ,0xa3 ,0xfe ,0x95 ,0xf3 ,0xbf ,0xb4 ,0x75 ,0x6f ,0xd7 ,0xac ,0xdd ,0x9c ,0x86 ,0x90 ,0x77 ,0x17 ,0x76 ,0x8c ,0x98 ,0x7e ,0x99 ,0x82 ,0x9 ,0x9e ,0x14 ,0x1 ,0xbd ,0x92 ,0xc6 ,0xb3 ,0x89 ,0xdc ,0xa2 ,0xcf ,0xd3 ,0xb9 ,0xa6 ,0x7f ,0xec ,0x8f ,0x8e ,0x59 ,0x8a ,0x8b ,0xe9 ,0x82 ,0xc1 ,0xad ,0xaf ,0x96 ,0x94 ,0x97 ,0x9d ,0xd1 ,0xba ,0xb8 ,0x9b ,0x91 ,0xae ,0xf7 ,0xd4 ,0xa9 ,0xab ,0xa8 ,0x34 ,0x4d ,0xab ,0x2c ,0xcc ,0x3f ,0x18 ,0xcb ,0xf0 ,0xc0 ,0xe ,0xeb ,0xd9 ,0x7d ,0xed ,0xef ,0xbe ,0xc3 ,0xd5 ,0xce ,0x43 ,0xbb ,0x45 ,0xea ,0x27 ,0xde ,0xc8 ,0xd8 ,0xc5 ,0x6f ,0xf6 ,0xc9 ,0xf2 ,0xdb ,0xc7 ,0x66 ,0x30 ,0xfd ,0xc6 ,0x2 ,0xcd ,0xa ,0x23 ,0xad ,0xd2 ,0xd4 ,0xe4 ,0xd9 ,0x5 ,0x28 ,0xe0 ,0xf5 ,0x11 ,0x6 ,0x21 ,0x32 ,0xfe ,0xda ,0xee ,0xe2 ,0x29 ,0xdc ,0x83 ,0x1a ,0x8f ,0xe1 ,0xfc ,0xe8 ,0xf8 ,0xf9 ,0x2f ,0x31 ,0x49 ,0xf1 ,0xf4 ,0x9a ,0x3 ,0x3e ,0x3b ,0x15 ,0x4 ,0xf0 ,0x1b ,0x12 ,0x10 ,0xef ,0x1d ,0xf ,0x1c ,0x3a ,0x0 ,0x9b ,0x86 ,0xc ,0x26 ,0x39 ,0x16 ,]
Sbox 7 : [ 0x4c ,0xeb ,0x7 ,0xb7 ,0x41 ,0x13 ,0x84 ,0xb ,0x1c ,0x68 ,0x54 ,0x40 ,0x90 ,0xfb ,0x85 ,0x53 ,0x3d ,0x55 ,0xb5 ,0x24 ,0x37 ,0x78 ,0x4a ,0x5a ,0xa ,0x4f ,0x1f ,0x20 ,0xc3 ,0xb8 ,0x4d ,0x27 ,0x69 ,0x44 ,0x97 ,0x35 ,0x25 ,0x2d ,0xa6 ,0x2b ,0x13 ,0x48 ,0x27 ,0x3c ,0x31 ,0x2e ,0x36 ,0x58 ,0x51 ,0x5e ,0x50 ,0x10 ,0x73 ,0x4e ,0x38 ,0x94 ,0x60 ,0xc ,0xb1 ,0x47 ,0x64 ,0x56 ,0x42 ,0x75 ,0x9f ,0xb2 ,0x55 ,0x63 ,0x5c ,0xd7 ,0x7d ,0x52 ,0x4b ,0x7f ,0xe8 ,0x6e ,0x5b ,0xf5 ,0x61 ,0x7c ,0x62 ,0x74 ,0x72 ,0x81 ,0x6d ,0x14 ,0xcd ,0x6f ,0x5d ,0x7a ,0xa0 ,0x96 ,0x8d ,0x77 ,0xc3 ,0xbe ,0xdd ,0x71 ,0x6b ,0x67 ,0x65 ,0x76 ,0x7b ,0xd5 ,0x6c ,0x70 ,0x6b ,0xc2 ,0x9e ,0x8b ,0x79 ,0x5d ,0x7e ,0x87 ,0x93 ,0x2 ,0xa8 ,0x7 ,0x88 ,0x80 ,0x99 ,0x8e ,0xae ,0x89 ,0x0 ,0xbb ,0x1 ,0xb0 ,0xf2 ,0xb1 ,0xd9 ,0xbd ,0xb6 ,0xdb ,0x77 ,0xc4 ,0x92 ,0xd2 ,0x8c ,0xa5 ,0xb4 ,0xa1 ,0xaa ,0x35 ,0x9d ,0xa3 ,0x95 ,0xa7 ,0xd6 ,0xfa ,0x98 ,0xdb ,0xa2 ,0xab ,0xa0 ,0x9 ,0xd3 ,0xc9 ,0xc0 ,0xb8 ,0xaf ,0xa9 ,0xac ,0x36 ,0xe3 ,0xf3 ,0x9f ,0xee ,0xba ,0xbc ,0xcc ,0xe2 ,0xb9 ,0x75 ,0xbf ,0xe3 ,0xb ,0xd ,0xe1 ,0x4e ,0xca ,0x17 ,0xcf ,0xc5 ,0xc1 ,0xd0 ,0x19 ,0x25 ,0xf6 ,0xe9 ,0xcf ,0x54 ,0xec ,0xc8 ,0x15 ,0x11 ,0xce ,0x37 ,0xfc ,0xcb ,0xe7 ,0x6d ,0xd8 ,0x69 ,0xda ,0xd1 ,0x4a ,0xe5 ,0xf9 ,0x23 ,0xe6 ,0x46 ,0x6a ,0xdf ,0xf5 ,0x3a ,0x13 ,0x1d ,0x16 ,0xed ,0x1a ,0xe4 ,0x82 ,0xf1 ,0x6a ,0x2a ,0xea ,0x2b ,0x5 ,0x1b ,0x3 ,0x6 ,0x27 ,0xf4 ,0xf7 ,0x7f ,0xfd ,0x3f ,0x3d ,0xf8 ,0x51 ,0x32 ,0x91 ,0x45 ,0x28 ,0x37 ,0x8 ,0x42 ,0xff ,0x38 ,0x18 ,0x67 ,0x1d ,0x5f ,0x9b ,0xe ,]
Sbox 8 : [ 0x1a ,0x4 ,0x35 ,0x12 ,0x62 ,0x2e ,0xf ,0xf9 ,0x44 ,0x8f ,0x61 ,0xe0 ,0x66 ,0x29 ,0x22 ,0x33 ,0x21 ,0x48 ,0xa1 ,0x20 ,0x5b ,0x53 ,0x1e ,0x30 ,0x2d ,0x4c ,0x83 ,0xcb ,0x5a ,0xea ,0x1f ,0xa5 ,0xb5 ,0x9 ,0x2f ,0x24 ,0xc3 ,0x43 ,0x3b ,0x56 ,0x74 ,0x52 ,0x31 ,0x2c ,0x65 ,0x41 ,0x8e ,0x59 ,0xbc ,0x4d ,0x39 ,0x48 ,0xac ,0x7b ,0x40 ,0x49 ,0x63 ,0xb6 ,0x6e ,0x61 ,0x50 ,0x3e ,0x81 ,0x7c ,0x4b ,0x87 ,0x85 ,0xba ,0x5c ,0x47 ,0x8f ,0x99 ,0x76 ,0xa2 ,0x73 ,0x60 ,0x72 ,0x4f ,0xe7 ,0x84 ,0x5c ,0x57 ,0x58 ,0xb4 ,0x66 ,0xa6 ,0xb1 ,0xaf ,0x6c ,0x80 ,0x7b ,0x9b ,0x64 ,0xd0 ,0xde ,0xf4 ,0x70 ,0xe3 ,0xc0 ,0x8b ,0x68 ,0x75 ,0xbf ,0x67 ,0x98 ,0xb8 ,0x95 ,0x90 ,0x71 ,0x6f ,0xcd ,0x9f ,0x9d ,0x79 ,0xa1 ,0xa8 ,0x9a ,0x8c ,0x88 ,0x86 ,0xac ,0x89 ,0xc7 ,0x7e ,0xd4 ,0xae ,0x8a ,0x5 ,0xeb ,0xab ,0xb0 ,0xe5 ,0xdc ,0x9c ,0xce ,0x8d ,0x92 ,0x91 ,0xe9 ,0xa7 ,0x94 ,0x96 ,0xa3 ,0x95 ,0xb0 ,0xad ,0x9e ,0xd3 ,0x97 ,0xcc ,0xc8 ,0xf2 ,0xbb ,0xa9 ,0xca ,0xcf ,0xac ,0xb9 ,0xaa ,0xd ,0xfa ,0xe2 ,0xb2 ,0xa4 ,0xb7 ,0xce ,0xf7 ,0xf3 ,0xd1 ,0x3 ,0xc1 ,0xe6 ,0xe1 ,0x2b ,0xc6 ,0x2f ,0x1 ,0xda ,0xbf ,0x9e ,0x39 ,0xbd ,0xc7 ,0xc4 ,0x73 ,0xc6 ,0x68 ,0xf ,0x3f ,0xd5 ,0x59 ,0x86 ,0xc2 ,0xe5 ,0xfb ,0xc5 ,0x18 ,0xd7 ,0xc9 ,0xec ,0x15 ,0x69 ,0x2e ,0x1b ,0x24 ,0x72 ,0xd0 ,0x7b ,0xd8 ,0xd2 ,0xdf ,0x64 ,0xcd ,0x16 ,0x20 ,0xe8 ,0xee ,0xed ,0xb ,0x1 ,0x6 ,0xdd ,0xe ,0x4 ,0x2c ,0xe4 ,0xf0 ,0x2 ,0xfc ,0x23 ,0x7 ,0x89 ,0xf1 ,0xef ,0x4e ,0x51 ,0x34 ,0x9a ,0x58 ,0xfe ,0xf6 ,0x63 ,0xf8 ,0xf5 ,0xff ,0x32 ,0x30 ,0x1a ,0x43 ,0x6e ,0x22 ,0x0 ,0x3e ,0x22 ,0x29 ,0x8 ,]
Sbox 9 : [ 0x11 ,0xbd ,0x65 ,0xa2 ,0x5 ,0x80 ,0x49 ,0xc ,0xa ,0x25 ,0x10 ,0x41 ,0x1f ,0x14 ,0x19 ,0x36 ,0xf7 ,0x4c ,0x26 ,0x52 ,0x4a ,0x1e ,0x40 ,0xa5 ,0x62 ,0x1c ,0x21 ,0x44 ,0x2a ,0xc1 ,0x28 ,0x6e ,0x59 ,0xaf ,0x3b ,0x7e ,0xbc ,0x33 ,0x2d ,0x51 ,0x84 ,0x57 ,0x76 ,0x79 ,0x38 ,0x6a ,0x6e ,0x9b ,0x45 ,0xcd ,0x42 ,0x5b ,0x3a ,0x47 ,0x5f ,0x8 ,0x4b ,0x3c ,0x3d ,0xf0 ,0x1d ,0x54 ,0xc9 ,0x46 ,0x5e ,0x32 ,0x56 ,0x4f ,0x55 ,0xec ,0xc6 ,0x19 ,0x5 ,0xaa ,0x75 ,0x9c ,0x7a ,0xb7 ,0x7c ,0x9e ,0xb2 ,0x53 ,0x4a ,0x2a ,0x78 ,0x6b ,0xa6 ,0x96 ,0x71 ,0x60 ,0x6a ,0x9d ,0x59 ,0xeb ,0xcb ,0x8f ,0x3 ,0xc4 ,0x6d ,0x70 ,0x4 ,0x92 ,0x87 ,0x5b ,0xd4 ,0x83 ,0x6c ,0x77 ,0xd7 ,0x7d ,0x74 ,0x31 ,0x88 ,0x82 ,0xd6 ,0x25 ,0xd3 ,0x85 ,0xae ,0x93 ,0x8e ,0xa8 ,0x8a ,0x66 ,0x83 ,0xa3 ,0x8b ,0xb6 ,0x81 ,0x8c ,0xd8 ,0xb1 ,0x94 ,0x8d ,0xc ,0xa0 ,0xdf ,0xca ,0x90 ,0xc5 ,0xe2 ,0x97 ,0x99 ,0xea ,0xbb ,0xd5 ,0xac ,0xf4 ,0x98 ,0x1b ,0xf6 ,0xad ,0xe8 ,0xa9 ,0xbe ,0xfd ,0xb2 ,0xa1 ,0xee ,0x10 ,0x59 ,0xd6 ,0xa4 ,0xc0 ,0xba ,0x77 ,0xac ,0xbb ,0xc4 ,0xe6 ,0xb3 ,0xd0 ,0xb9 ,0x45 ,0x27 ,0xe1 ,0x39 ,0x8 ,0xb4 ,0x9 ,0x34 ,0xfa ,0x82 ,0x43 ,0x65 ,0xd2 ,0xc2 ,0xdb ,0xcb ,0xb6 ,0xc3 ,0xb9 ,0xcc ,0xcf ,0xe4 ,0xc8 ,0xfb ,0x9f ,0x96 ,0x84 ,0xda ,0xf2 ,0xf9 ,0x28 ,0xd1 ,0xd9 ,0xe3 ,0xf ,0x41 ,0xe7 ,0x18 ,0xe9 ,0xe0 ,0x1e ,0x29 ,0xf8 ,0x56 ,0xdc ,0xe ,0x3b ,0xde ,0x27 ,0xf3 ,0x12 ,0xed ,0x76 ,0x20 ,0x34 ,0xf1 ,0xa7 ,0x50 ,0x3 ,0x46 ,0xfe ,0x0 ,0x66 ,0xef ,0x7 ,0xff ,0x1c ,0xfc ,0xf5 ,0x44 ,0x11 ,0x47 ,0x15 ,0xb ,0x6 ,0x53 ,0x8f ,0xf4 ,0x1f ,0x3a ,0xa ,0x2 ,0x14 ,]
Sbox 10 : [ 0x13 ,0x72 ,0x49 ,0x24 ,0x67 ,0x33 ,0x17 ,0x9c ,0x16 ,0xd8 ,0x7e ,0x4f ,0xd ,0x8b ,0x2e ,0x29 ,0xe4 ,0x2b ,0x23 ,0x58 ,0x3c ,0x2c ,0x77 ,0x2d ,0x37 ,0x4 ,0xa4 ,0xf8 ,0x35 ,0x7a ,0x5f ,0x22 ,0x21 ,0x26 ,0x4c ,0x2f ,0x3f ,0x62 ,0x39 ,0x4b ,0x40 ,0xf9 ,0x42 ,0x30 ,0x87 ,0x61 ,0x81 ,0x3e ,0x9d ,0xe ,0xcf ,0x7b ,0x36 ,0x9a ,0x5d ,0x3d ,0xed ,0x62 ,0x92 ,0xc7 ,0x95 ,0x64 ,0x89 ,0x4e ,0x52 ,0xf5 ,0x6d ,0x12 ,0x60 ,0x69 ,0x54 ,0x48 ,0x8e ,0x68 ,0xbb ,0xb8 ,0x63 ,0x22 ,0x5a ,0x51 ,0x70 ,0x55 ,0xa6 ,0x6f ,0x79 ,0x57 ,0x65 ,0x85 ,0xb7 ,0x5e ,0x5c ,0x8a ,0x80 ,0x6b ,0x9e ,0xb6 ,0x6c ,0x93 ,0x71 ,0x74 ,0x88 ,0x73 ,0x86 ,0x6b ,0xfa ,0x99 ,0x32 ,0x7d ,0xc2 ,0x7c ,0x78 ,0x97 ,0x91 ,0xa1 ,0xa0 ,0x9b ,0x60 ,0xd1 ,0xaa ,0x83 ,0xd3 ,0x90 ,0x30 ,0x5 ,0xd0 ,0xa2 ,0xfe ,0x8c ,0xab ,0xbc ,0x15 ,0x15 ,0x8e ,0x7e ,0x8d ,0xa3 ,0xba ,0x8c ,0x3f ,0xcc ,0x98 ,0xb0 ,0xfc ,0xde ,0xb2 ,0xaf ,0x8a ,0xd9 ,0xc9 ,0xd2 ,0x24 ,0xf2 ,0x7 ,0xb5 ,0xb4 ,0xa5 ,0x16 ,0xf7 ,0xe2 ,0xca ,0x64 ,0xee ,0xa ,0xa8 ,0xe1 ,0xa9 ,0xdf ,0xe8 ,0xae ,0xbd ,0x43 ,0xce ,0xad ,0xc9 ,0xc5 ,0xcc ,0x81 ,0xb3 ,0xe7 ,0x5d ,0xbe ,0xdb ,0xb ,0xda ,0x23 ,0xd9 ,0x1f ,0xc1 ,0x4d ,0xc8 ,0xbf ,0xc0 ,0xcd ,0x54 ,0xdd ,0xf ,0x25 ,0xd5 ,0x72 ,0xfd ,0xd4 ,0xdc ,0xe6 ,0xf0 ,0xc7 ,0xfb ,0xf3 ,0xe0 ,0xd1 ,0x0 ,0x37 ,0xe9 ,0x7a ,0xd7 ,0x5c ,0xef ,0xb8 ,0x2 ,0xeb ,0xea ,0xe5 ,0xf1 ,0xec ,0xf6 ,0x5f ,0xf9 ,0x21 ,0x6e ,0xb1 ,0x31 ,0x13 ,0x20 ,0x2f ,0x18 ,0x14 ,0xc ,0x5a ,0xdf ,0x1 ,0x35 ,0x6 ,0xff ,0x10 ,0x47 ,0x45 ,0x52 ,0x41 ,0x57 ,0x49 ,0x4b ,0x33 ,0x2e ,0x3 ,0x1b ,0x3b ,0x9 ,]
Sbox 11 : [ 0xe ,0x46 ,0xa3 ,0x9f ,0x6 ,0x1a ,0x11 ,0x22 ,0xd8 ,0xd ,0x17 ,0x3a ,0x6a ,0x1c ,0x2c ,0x98 ,0x71 ,0x55 ,0xe1 ,0x2d ,0x1d ,0x32 ,0x38 ,0x19 ,0x90 ,0xd2 ,0x2f ,0x28 ,0x1e ,0x69 ,0x2b ,0x40 ,0xb4 ,0x26 ,0x61 ,0x74 ,0x3b ,0x2a ,0xda ,0x8d ,0x50 ,0x48 ,0x89 ,0x70 ,0x43 ,0x14 ,0x44 ,0x4a ,0x35 ,0x51 ,0x3d ,0x3c ,0xd6 ,0x36 ,0x4f ,0x7f ,0x4e ,0x91 ,0x6c ,0x3e ,0x95 ,0x4e ,0x82 ,0x92 ,0x42 ,0x53 ,0x58 ,0xee ,0x49 ,0x97 ,0x68 ,0x5b ,0xa5 ,0x4c ,0x79 ,0x4f ,0xb0 ,0x99 ,0xd3 ,0xa1 ,0x56 ,0x86 ,0x4c ,0xba ,0xe9 ,0x5e ,0x97 ,0xb ,0x9a ,0xa2 ,0x6d ,0x76 ,0x84 ,0x8 ,0x6f ,0xaa ,0x63 ,0x67 ,0xfc ,0x7c ,0x96 ,0xc4 ,0x75 ,0x73 ,0x78 ,0xc9 ,0xa6 ,0x85 ,0x1d ,0xfd ,0x7b ,0x80 ,0xd4 ,0x93 ,0xbe ,0x8b ,0x8e ,0x20 ,0x1a ,0x38 ,0x7d ,0x7d ,0x7b ,0x88 ,0xdc ,0xbf ,0x29 ,0xa2 ,0x82 ,0x9d ,0xe0 ,0xc5 ,0x87 ,0xfd ,0xaf ,0xbd ,0xae ,0xc0 ,0xe6 ,0x94 ,0xab ,0x8a ,0xc4 ,0xdc ,0x9c ,0xa0 ,0x9e ,0x1f ,0xb9 ,0xa0 ,0xa8 ,0xa9 ,0x8e ,0xad ,0xa4 ,0xa ,0xc1 ,0x65 ,0x55 ,0xd7 ,0xb5 ,0xdb ,0xc3 ,0xac ,0xe3 ,0xde ,0xa7 ,0xe2 ,0xb1 ,0xbc ,0x5b ,0xf8 ,0xb3 ,0x11 ,0xca ,0x2 ,0x22 ,0x1 ,0x21 ,0xc8 ,0xeb ,0xb7 ,0xe2 ,0xc2 ,0x54 ,0xee ,0xc6 ,0xf2 ,0xfc ,0x70 ,0x4f ,0xcb ,0x9f ,0xce ,0x19 ,0xf6 ,0x1 ,0xe7 ,0xec ,0xec ,0x24 ,0x60 ,0xdd ,0xd0 ,0xd5 ,0xa8 ,0xf ,0x8b ,0xd1 ,0xea ,0xe8 ,0x2e ,0x1b ,0xf2 ,0x6f ,0x17 ,0xef ,0xff ,0xe0 ,0xf4 ,0xe5 ,0x75 ,0x31 ,0x4d ,0x9 ,0xc3 ,0xed ,0xe4 ,0x59 ,0xf3 ,0xf1 ,0xfb ,0x2d ,0x48 ,0x7 ,0x4 ,0xf0 ,0x0 ,0x12 ,0x23 ,0x47 ,0x5a ,0xfa ,0x28 ,0xf7 ,0xd7 ,0x34 ,0xe ,0xe9 ,0x1c ,0x25 ,0x16 ,0xfe ,0x2b ,0x18 ,0x76 ,]
Sbox 12 : [ 0x15 ,0x87 ,0x13 ,0xfa ,0x58 ,0x23 ,0x5c ,0xc ,0x9d ,0x6e ,0xc2 ,0x46 ,0x10 ,0x68 ,0x7c ,0xbd ,0x37 ,0x86 ,0x1e ,0x30 ,0x61 ,0x26 ,0x33 ,0x2c ,0x2e ,0x41 ,0x71 ,0x42 ,0x6b ,0x27 ,0x6d ,0x3d ,0x2f ,0x38 ,0x6a ,0x50 ,0x2a ,0x45 ,0xe5 ,0x66 ,0x36 ,0xf8 ,0x47 ,0x39 ,0x52 ,0x63 ,0x3a ,0x95 ,0x65 ,0x53 ,0x93 ,0x40 ,0xa1 ,0x3f ,0x3c ,0x83 ,0x7a ,0x97 ,0x3e ,0xa5 ,0x6c ,0xf2 ,0x57 ,0x8d ,0x67 ,0x91 ,0x44 ,0x5e ,0x5f ,0x5d ,0x4b ,0x4a ,0x56 ,0x73 ,0xad ,0x62 ,0x72 ,0x3e ,0x2b ,0x57 ,0xaf ,0x0 ,0x95 ,0xcf ,0xb5 ,0xe2 ,0xf5 ,0x64 ,0x74 ,0xcb ,0xcd ,0xf ,0xff ,0x72 ,0x99 ,0x78 ,0x9a ,0x68 ,0x69 ,0xd2 ,0x73 ,0xea ,0xbc ,0x8c ,0xda ,0xa4 ,0x81 ,0xfb ,0x88 ,0x80 ,0xbb ,0x85 ,0xb5 ,0xa ,0x79 ,0xc1 ,0xa8 ,0x77 ,0x3 ,0x7a ,0xae ,0xd0 ,0x7e ,0xde ,0x94 ,0xc2 ,0x84 ,0x88 ,0x89 ,0x92 ,0x9e ,0x90 ,0xca ,0xa4 ,0xc5 ,0x8f ,0x8b ,0xb4 ,0xb6 ,0x9c ,0x93 ,0xba ,0xb3 ,0x3d ,0xc0 ,0xdf ,0x96 ,0xce ,0xa6 ,0xaa ,0x9b ,0x98 ,0x30 ,0x14 ,0xa3 ,0xa7 ,0xb2 ,0xc9 ,0xa ,0xab ,0xe8 ,0xb9 ,0xd4 ,0xe9 ,0xe7 ,0x8d ,0xd9 ,0xd5 ,0xa9 ,0xb0 ,0xb7 ,0x8 ,0x6f ,0xb6 ,0xc7 ,0x51 ,0xb8 ,0x21 ,0xc6 ,0xd7 ,0xdd ,0xbf ,0x49 ,0xbe ,0xed ,0xd6 ,0x6f ,0x7 ,0xd3 ,0xcc ,0xdb ,0x98 ,0xf9 ,0xc8 ,0x29 ,0x2d ,0x2b ,0xf1 ,0x4b ,0xf3 ,0xe1 ,0xe3 ,0xe4 ,0xd8 ,0x8 ,0xe3 ,0x1 ,0xc ,0xea ,0xd5 ,0x17 ,0xa6 ,0x70 ,0xf6 ,0xe6 ,0x52 ,0xf7 ,0xf ,0xde ,0xeb ,0xa0 ,0x19 ,0xec ,0x2 ,0xe4 ,0x5 ,0x42 ,0x6b ,0xef ,0x42 ,0xfe ,0xf0 ,0xec ,0x9 ,0x3a ,0x41 ,0xf4 ,0xfa ,0x7e ,0x1f ,0x12 ,0x21 ,0x70 ,0xff ,0xf8 ,0x26 ,0xe ,0x45 ,0x11 ,0x0 ,0x4 ,0x15 ,0xf7 ,0x31 ,0x3c ,0xb ,]
Sbox 13 : [ 0x2a ,0x1a ,0x50 ,0x13 ,0x6 ,0x28 ,0xd ,0x27 ,0x39 ,0x61 ,0x74 ,0x18 ,0x2d ,0x1b ,0x2c ,0x10 ,0x16 ,0x20 ,0xcf ,0x35 ,0x4e ,0xbf ,0x25 ,0x1d ,0x24 ,0x48 ,0x72 ,0x1c ,0x60 ,0x1e ,0x58 ,0x34 ,0x4f ,0x63 ,0x31 ,0x1d ,0x37 ,0x40 ,0x6c ,0x32 ,0x68 ,0x33 ,0x3b ,0x4d ,0x56 ,0x44 ,0x36 ,0xf9 ,0xc ,0x37 ,0xa9 ,0x94 ,0x7c ,0x5d ,0x5e ,0x4c ,0xf7 ,0x86 ,0xd8 ,0x64 ,0x69 ,0x5b ,0x43 ,0x7c ,0x46 ,0x67 ,0xe0 ,0x82 ,0x1d ,0x55 ,0x54 ,0x53 ,0xda ,0x4a ,0x7d ,0x5a ,0x89 ,0x9a ,0x79 ,0x62 ,0x78 ,0x99 ,0x5f ,0x76 ,0x5c ,0x87 ,0xad ,0xc6 ,0x8d ,0x5f ,0x66 ,0xb6 ,0xc4 ,0x7f ,0x6a ,0x77 ,0x75 ,0x90 ,0xbe ,0x9d ,0x8b ,0xa7 ,0xaf ,0x71 ,0x88 ,0xc8 ,0x6e ,0x6d ,0x83 ,0x3e ,0x3f ,0xdc ,0x32 ,0xe8 ,0x8e ,0xb4 ,0x96 ,0x91 ,0x80 ,0x9c ,0xca ,0xd2 ,0x2e ,0x93 ,0x81 ,0x88 ,0xd0 ,0x5c ,0x85 ,0x82 ,0x84 ,0xd4 ,0x8a ,0xba ,0x5b ,0x8c ,0x8f ,0xf4 ,0x1b ,0xb9 ,0x92 ,0xa2 ,0xa8 ,0xa5 ,0xae ,0xc1 ,0xe7 ,0x91 ,0x9b ,0xed ,0x9f ,0xdd ,0xcc ,0x50 ,0x8d ,0xb0 ,0x52 ,0x29 ,0xc0 ,0xaa ,0x6f ,0xc6 ,0xa3 ,0xc5 ,0xf2 ,0xb1 ,0xcd ,0xb7 ,0xb2 ,0xbd ,0xab ,0x19 ,0x21 ,0x49 ,0xc7 ,0xb3 ,0xce ,0x56 ,0xe1 ,0xd6 ,0xcb ,0x25 ,0xb8 ,0xeb ,0x4d ,0xbb ,0xc3 ,0xd1 ,0x97 ,0x6 ,0x9 ,0x63 ,0xeb ,0x12 ,0x42 ,0xfc ,0xf1 ,0x11 ,0x39 ,0xfd ,0x1a ,0xdd ,0xd9 ,0x61 ,0xb ,0xa3 ,0xe0 ,0x4 ,0xef ,0xe5 ,0xdf ,0xb8 ,0x23 ,0xd7 ,0xe6 ,0xde ,0x51 ,0xe2 ,0xdb ,0x7 ,0x26 ,0xbe ,0xf6 ,0x10 ,0x44 ,0x2 ,0xf5 ,0xf3 ,0x2f ,0xee ,0x55 ,0x5 ,0x20 ,0xfb ,0x92 ,0x38 ,0xa5 ,0xa9 ,0x16 ,0x60 ,0xe0 ,0xd ,0xfb ,0x17 ,0x4a ,0x13 ,0xc7 ,0x18 ,0xfe ,0x2a ,0x7a ,0x1c ,0x58 ,0x3 ,0x59 ,0x7f ,]
Sbox 14 : [ 0x3c ,0xab ,0x4b ,0x1f ,0x47 ,0x3d ,0x1e ,0xe ,0x53 ,0x31 ,0x12 ,0x90 ,0xa ,0x6e ,0x2a ,0x4e ,0x28 ,0x5e ,0x14 ,0x24 ,0x5a ,0x22 ,0xcb ,0x3b ,0xa4 ,0x3c ,0x30 ,0x8b ,0x3a ,0x4c ,0x40 ,0x34 ,0x2b ,0x33 ,0x4f ,0x5d ,0x9a ,0x59 ,0x7b ,0x2c ,0x57 ,0x8c ,0x43 ,0x45 ,0xf5 ,0x13 ,0xa2 ,0x76 ,0x35 ,0x83 ,0x70 ,0x9e ,0x36 ,0x69 ,0x79 ,0x71 ,0x46 ,0xc5 ,0xe6 ,0xd9 ,0x4d ,0x48 ,0x41 ,0x80 ,0x54 ,0xf6 ,0xc9 ,0xdf ,0x7e ,0xc3 ,0xe8 ,0x39 ,0xe1 ,0x5f ,0x6d ,0x61 ,0xab ,0x86 ,0x50 ,0x24 ,0x89 ,0xa1 ,0x65 ,0x6b ,0xc2 ,0xca ,0x66 ,0x38 ,0x75 ,0xb2 ,0x68 ,0x64 ,0x34 ,0x62 ,0x87 ,0x96 ,0x74 ,0x8f ,0xd5 ,0xb0 ,0xb4 ,0x94 ,0x67 ,0x6f ,0x78 ,0x99 ,0xdf ,0x9d ,0xe1 ,0x73 ,0x81 ,0xb8 ,0xc7 ,0x9b ,0x50 ,0x85 ,0xfc ,0x7a ,0xb7 ,0x3b ,0x84 ,0xcc ,0x3c ,0xdc ,0xf5 ,0x4f ,0xac ,0xd4 ,0xda ,0xb3 ,0x53 ,0xa9 ,0x91 ,0x9f ,0x98 ,0xb6 ,0x8a ,0x95 ,0x1d ,0x97 ,0xcf ,0xef ,0x5a ,0x93 ,0xad ,0xa2 ,0x9 ,0x9c ,0xb0 ,0xd3 ,0xc1 ,0xb9 ,0xa0 ,0xbe ,0xbd ,0xe9 ,0x7 ,0xed ,0xbf ,0xc4 ,0xb1 ,0xa7 ,0xa6 ,0x57 ,0x7f ,0xb5 ,0xaa ,0x29 ,0xc6 ,0x2 ,0xaf ,0xf7 ,0xae ,0xbc ,0xcc ,0xd4 ,0x44 ,0xc8 ,0xc0 ,0xcf ,0xbb ,0xee ,0xf0 ,0xba ,0xd2 ,0x37 ,0x3 ,0xc6 ,0xf6 ,0xfd ,0xce ,0x73 ,0x16 ,0xcd ,0x35 ,0xd8 ,0x3b ,0x13 ,0xdc ,0xd1 ,0x6 ,0x9b ,0xee ,0xe2 ,0xfe ,0x5 ,0xd0 ,0xf2 ,0xd6 ,0xf8 ,0x3f ,0xf4 ,0xdd ,0x7c ,0xdb ,0x94 ,0xe4 ,0xe5 ,0xd ,0xe7 ,0x65 ,0xe3 ,0xf4 ,0xff ,0x4 ,0xf3 ,0x1 ,0x18 ,0x11 ,0xfa ,0x54 ,0x43 ,0x28 ,0x41 ,0x3d ,0x68 ,0x4b ,0x22 ,0xf1 ,0xf9 ,0xb ,0x0 ,0x19 ,0xe ,0x38 ,0x9c ,0x23 ,0x10 ,0x8 ,0x1f ,0x18 ,0xc4 ,0x56 ,0x14 ,0x85 ,0x2d ,]
Sbox 15 : [ 0x45 ,0x69 ,0xc ,0xdd ,0x43 ,0x2f ,0x1c ,0x49 ,0x1a ,0x15 ,0x17 ,0x20 ,0xce ,0x40 ,0xf ,0x1e ,0x2c ,0x93 ,0x66 ,0xd1 ,0x1b ,0x3a ,0x2e ,0x28 ,0x48 ,0x33 ,0xf0 ,0x5d ,0x25 ,0x27 ,0x4c ,0x90 ,0x3e ,0xc5 ,0x4a ,0x3d ,0x5e ,0x36 ,0x87 ,0x32 ,0x7d ,0x97 ,0x47 ,0xaf ,0xb9 ,0x71 ,0x30 ,0x92 ,0xa2 ,0xe2 ,0x7e ,0x4b ,0xf9 ,0x7b ,0x46 ,0x8e ,0x64 ,0x60 ,0x4e ,0x75 ,0x86 ,0x2a ,0x5f ,0x52 ,0x55 ,0xb7 ,0x2c ,0xf9 ,0x72 ,0x5b ,0xb1 ,0xcd ,0x91 ,0x6b ,0xbe ,0x51 ,0xa8 ,0xc5 ,0x9b ,0x8d ,0xc1 ,0x58 ,0x6a ,0x74 ,0xd2 ,0x4 ,0x63 ,0xc0 ,0x5c ,0x8b ,0x5a ,0xa4 ,0x62 ,0x99 ,0xd8 ,0x82 ,0x80 ,0x67 ,0xd9 ,0xa6 ,0x8a ,0xa5 ,0x39 ,0xc4 ,0x88 ,0x79 ,0x77 ,0x6c ,0x6d ,0x76 ,0xc4 ,0x2d ,0xe2 ,0x81 ,0xf6 ,0x2 ,0x9e ,0x83 ,0x9d ,0x78 ,0x7a ,0xad ,0x84 ,0xbc ,0x89 ,0xe8 ,0xb2 ,0x64 ,0x95 ,0xa1 ,0x9f ,0xab ,0xb8 ,0x87 ,0x98 ,0xb7 ,0x96 ,0x9a ,0x7 ,0x8c ,0xc8 ,0x5a ,0x8f ,0xa7 ,0x14 ,0xca ,0xbf ,0x20 ,0x67 ,0xfa ,0x7b ,0xa0 ,0x4d ,0xac ,0xa3 ,0xe0 ,0x3c ,0xaa ,0xb5 ,0xba ,0x3 ,0xc2 ,0x63 ,0xb4 ,0xc9 ,0x8d ,0xae ,0xcd ,0xc3 ,0x66 ,0xd7 ,0xe5 ,0xe3 ,0xb3 ,0xd ,0x8e ,0x16 ,0xbd ,0xe4 ,0x19 ,0x5e ,0xd3 ,0xed ,0xb ,0xd6 ,0xbb ,0xa ,0xdb ,0x21 ,0x1f ,0x9a ,0xe1 ,0x4e ,0xda ,0xd4 ,0xcb ,0xdc ,0xd2 ,0xa5 ,0xf1 ,0x25 ,0x44 ,0xdf ,0x3a ,0xd1 ,0xd5 ,0x0 ,0xf8 ,0x25 ,0xda ,0xf4 ,0xf8 ,0x9 ,0x12 ,0xef ,0xde ,0xee ,0xff ,0xdb ,0xe6 ,0xea ,0xc3 ,0xe9 ,0xf2 ,0x47 ,0xfb ,0x8c ,0xe7 ,0x1 ,0xec ,0xf5 ,0xfd ,0x5d ,0xeb ,0x6 ,0x23 ,0x8 ,0xf7 ,0x5d ,0xf1 ,0x82 ,0x31 ,0xf3 ,0xfc ,0xeb ,0x54 ,0xd2 ,0xd6 ,0xfe ,0x15 ,0xe ,0x27 ,0x3f ,0xc ,0x7e ,0x2b ,]
Sbox 16 : [ 0x1e ,0x5 ,0xad ,0x45 ,0x76 ,0x1b ,0x70 ,0xf ,0x17 ,0x1a ,0x11 ,0x42 ,0x40 ,0x10 ,0x26 ,0x41 ,0xa7 ,0x3e ,0x2f ,0x4c ,0xf8 ,0x1c ,0x48 ,0x65 ,0xd5 ,0x22 ,0x37 ,0x36 ,0x29 ,0xd9 ,0x24 ,0x52 ,0x2e ,0x60 ,0x67 ,0x5e ,0x86 ,0x63 ,0x33 ,0x32 ,0x30 ,0x53 ,0xea ,0x34 ,0xc ,0xc8 ,0x68 ,0x90 ,0x79 ,0x35 ,0x84 ,0x38 ,0x5c ,0x58 ,0x6a ,0x3d ,0x59 ,0xca ,0x5b ,0xf0 ,0xbf ,0x6d ,0x57 ,0x46 ,0xa9 ,0x9e ,0x72 ,0xca ,0x49 ,0x80 ,0x51 ,0xfa ,0xc6 ,0x4a ,0x62 ,0xf6 ,0xc2 ,0x95 ,0xbc ,0x92 ,0xdb ,0x55 ,0x87 ,0x75 ,0x69 ,0x56 ,0x61 ,0xb5 ,0x60 ,0xa3 ,0xcd ,0x7f ,0x83 ,0x27 ,0x71 ,0x96 ,0x6e ,0x6c ,0x73 ,0xe0 ,0x28 ,0x77 ,0x54 ,0x6b ,0x81 ,0xda ,0x34 ,0x85 ,0x78 ,0x93 ,0x89 ,0x89 ,0xaa ,0xa1 ,0xae ,0x74 ,0x7d ,0x7c ,0xb1 ,0x99 ,0x8f ,0x94 ,0xc8 ,0x8c ,0xb3 ,0xb0 ,0xb ,0xbb ,0x92 ,0x8a ,0x8e ,0xa4 ,0xef ,0x91 ,0x8b ,0xa6 ,0x8a ,0xc7 ,0xc9 ,0x98 ,0xcb ,0xb9 ,0x9d ,0x97 ,0x9c ,0x32 ,0xa0 ,0xd7 ,0xdf ,0xed ,0x90 ,0xf4 ,0x9f ,0xd0 ,0xd8 ,0x65 ,0xb2 ,0xd0 ,0x36 ,0xb4 ,0xfa ,0xfc ,0xfe ,0xf3 ,0xd3 ,0x24 ,0xa8 ,0xe1 ,0xac ,0xc0 ,0xf9 ,0xaf ,0xe6 ,0xb6 ,0xe5 ,0xd8 ,0xfd ,0xcf ,0xba ,0xbd ,0x5 ,0xfd ,0x61 ,0xa ,0x56 ,0xfb ,0xce ,0xc1 ,0xd1 ,0xc5 ,0xd ,0xf7 ,0xe4 ,0xec ,0x3a ,0x9 ,0xd4 ,0x33 ,0xd7 ,0xcb ,0x57 ,0x35 ,0xd5 ,0xcc ,0x30 ,0xd9 ,0xde ,0xfc ,0xdc ,0xdd ,0xe9 ,0xe8 ,0x64 ,0xd3 ,0x58 ,0xe3 ,0xd6 ,0xc9 ,0x2b ,0x5c ,0xff ,0x59 ,0x3 ,0x62 ,0x37 ,0x2a ,0x8f ,0x31 ,0xf5 ,0xe7 ,0x2e ,0xfe ,0x2 ,0x29 ,0x5f ,0xcf ,0xfb ,0x6 ,0xce ,0x2d ,0x95 ,0x39 ,0x69 ,0x7 ,0x1 ,0x4 ,0xff ,0xc7 ,0x26 ,0xcc ,0x8 ,0x0 ,0x2c ,0x2f ,0x3b ,0x5b ,]
ClearText data: hacking!
CipherText data: 0xc00x520x90xf90xc20x6b0x850xf3
ClearText data: hacking!
$ echo "random collection of letters and hello world" | ./C/EncryptTool/e-des-encrypt.out -p password | python3 Python3/DecryptTool/e-des-decrypt.py -p password
random collection of letter and hello world
$ echo "random collection of letters and hello world" | python3 Python3/EncryptTool/e-des-encrypt.py -p password | ./C/DecryptTool/e-des-decrypt.out -p password
random collection of letter and hello world
$ echo "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." | ./C/EncryptTool/e-des-encrypt.out -p letmein | python3 Python3/DecryptTool/e-des-decrypt.py -p letmein
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
$ echo "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." | python3 Python3/EncryptTool/e-des-encrypt.py -p randomPass -d | ./C/DecryptTool/e-des-decrypt.out -p randomPass -d
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
$ ./tool.sh
Results for 10 tries with a random buffer and random keys. Time is nano seconds
C-DES:
Encrypt: 2805293
Decrypt: 2616006
C-EDES:
Encrypt: 2765834
Decrypt: 4271651
Python-DES:
Encrypt: 938051
Decrypt: 923074
Python-EDES:
Encrypt: 26981408
Decrypt: 31150124