Skip to content

Enhanced DES (E-DES), a exploration on creating a variant of DES

Notifications You must be signed in to change notification settings

Rafael-Remigio/E-DES

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

E-DES

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.

Cipher Architecture

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]);
        }
    }
    // ...
}

S-Boxes

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.

Key generation

The 256-bit key is generated from the password using the hashing function SHA-256.

Shuffling Vector from key

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);
}

Fisher Yates:

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]);
    }
}

Padding

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.

C

$ ./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!

Compiling with gcc

gcc -o e-des.out e-des.c -lssl -lcrypto | ./e-des.out -p password

E-DES Mode

$ 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

DES Mode

$ 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

Python3

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!

Cross language compatibility

$ 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

E-DES Mode

$ 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.

DES Mode

$ 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.

Speed Tool

$ ./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

About

Enhanced DES (E-DES), a exploration on creating a variant of DES

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages