Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int keyEncrypt(char key[], char string[])
- {
- int lengthOf_subdivision = 0;
- int numbOf_subdivision = 0;
- unsigned int alea = 0;
- int v = 0;
- unsigned int w = 0;
- int x = 0;
- int y = 0;
- int z = 0;
- int mod = 0;
- ////////////////////// Variables servant dans la génération de nombre aléatoire //////////////////////
- int bb = 0;
- int zz = 1;
- ////////////////////// Variables servant dans la génération de nombre aléatoire //////////////////////
- ////////////////////// Création de la subtitBox //////////////////////
- char verifBox[62][62][3] = { 0 };
- char subtitBox[62][62][3] = { 0 };
- char string_temp2[3] = { 0 };
- char backup = 0;
- int alea1 = 0;
- int alea2 = 0;
- _Bool loop = 1;
- _Bool toBreak = 0;
- ////////////////////// Création de la subtitBox //////////////////////
- /////////////////// Variables du tri-di shaker /////////////////////
- int z_dim = 0;
- int y_dim = 0;
- int x_dim = 0;
- int mod_3 = 0;
- char ****stringMatrix = NULL;
- char *stringToEncrypt = NULL;
- /////////////////// Variables du tri-di shaker /////////////////////
- ////// Initialisation du tableau de int servant aux randoms... /////
- int keyLength = strlen(key);
- int hash2Length;
- int hashFinalLength;
- int i = 0;
- unsigned char hash[512] = { 0 };
- unsigned char hash2[512] = { 0 };
- unsigned char hashFinal[512] = { 0 };
- char stringTemp[4] = { 0 };
- int numbTab[128] = { 0 };
- mbedtls_sha512(key, keyLength, hash, 0);
- for (i = 0; i < 512; i++)
- {
- nullString(hash2, 512);
- SHA512_binToHex(hash, hash2, 0);
- sprintf(hash2, "%s", tri_dimensionnalShaker(hash2, key[0], key[keyLength - 1], key[keyLength / 2], 0));
- subtitChar(hash2, 128, '\0', '³');
- stringAdd(hash2, key);
- subtitChar(hash2, 128, '\0', 'Í');
- sprintf(hash2, "%s", tri_dimensionnalShaker(hash2, key[0], key[keyLength - 1], key[keyLength / 2], 0));
- subtitChar(hash2, 128, '\0', 'A');
- stringXOR(hash2, key);
- subtitChar(hash2, 128, '\0', 'Ò');
- nullString(hash, 512);
- mbedtls_sha512(hash2, strlen(hash2), hash, 0);
- }
- mbedtls_sha512(hash, strlen(hash), hash, 0);
- SHA512_binToHex(hash, hashFinal, 1);
- subtitChar(hashFinal, strlen(hashFinal), ' ', '0');
- stringXOR(hashFinal, key);
- if (keyLength < 128)
- {
- for (i = 0; i < 128; i++)
- numbTab[i] = hashFinal[i] + key[i%keyLength] * 16;
- }
- else if (keyLength == 128)
- {
- for (i = 0; i < 128; i++)
- numbTab[i] = hashFinal[i] + key[i] * 16;
- }
- else
- {
- for (i = 0; i < keyLength; i++)
- numbTab[i] = hashFinal[i % 128] += key[i] * 24;
- }
- ////// Initialisation du tableau de int servant aux randoms... /////
- int temp = 0;
- char string_temp[15] = { 0 };
- unsigned char caractersInitial[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
- char caracters[63] = { 0 };
- char braille_tab[][9] =
- {
- /* 0 */ /* A */ ".. .. ",
- /* 1 */ /* B */ " .....",
- /* 2 */ /* C */ " . . . ",
- /* 3 */ /* D */ " .. ...",
- /* 4 */ /* E */ ".... ..",
- /* 5 */ /* F */ ". .. ",
- /* 6 */ /* G */ " . . .",
- /* 7 */ /* H */ ". . .",
- /* 8 */ /* I */ " . .",
- /* 9 */ /* J */ " . ",
- /* 10 */ /* K */ "... ",
- /* 11 */ /* L */ " .... ",
- /* 12 */ /* M */ ". .. . ",
- /* 13 */ /* N */ ". .. .",
- /* 14 */ /* O */ "...... ",
- /* 15 */ /* P */ " .. . ",
- /* 16 */ /* Q */ "... . ",
- /* 17 */ /* R */ ".. ",
- /* 18 */ /* S */ " . .",
- /* 19 */ /* T */ " . .",
- /* 20 */ /* U */ ". ... .",
- /* 21 */ /* V */ " ......",
- /* 22 */ /* W */ ". .. .",
- /* 23 */ /* X */ "... . .",
- /* 24 */ /* Y */ ".. . ",
- /* 25 */ /* Z */ " . . ..",
- /* 26 */ /* a */ " . ... ",
- /* 27 */ /* b */ "... ...",
- /* 28 */ /* c */ ". . . .",
- /* 29 */ /* d */ " . . ",
- /* 30 */ /* e */ " ... . ",
- /* 31 */ /* f */ " ... ",
- /* 32 */ /* g */ ". . . ",
- /* 33 */ /* h */ ".. ....",
- /* 34 */ /* i */ ".... . ",
- /* 35 */ /* j */ ". .....",
- /* 36 */ /* k */ "... .",
- /* 37 */ /* l */ ". . ",
- /* 38 */ /* m */ " .",
- /* 39 */ /* n */ " . . ",
- /* 40 */ /* o */ " ... .",
- /* 41 */ /* p */ " ....",
- /* 42 */ /* q */ ".. . .",
- /* 43 */ /* r */ ". . ",
- /* 44 */ /* s */ " .. .",
- /* 45 */ /* t */ " .. .",
- /* 46 */ /* u */ " .. . ",
- /* 47 */ /* v */ " . . .",
- /* 48 */ /* w */ " . ",
- /* 49 */ /* x */ " .... .",
- /* 50 */ /* y */ " . .",
- /* 51 */ /* z */ ". . ",
- /* 52 */ /* 0 */ " . ....",
- /* 53 */ /* 1 */ " . .. .",
- /* 54 */ /* 2 */ " ...",
- /* 55 */ /* 3 */ " .. ",
- /* 56 */ /* 4 */ ". . .",
- /* 57 */ /* 5 */ ". .",
- /* 58 */ /* 6 */ " . ...",
- /* 59 */ /* 7 */ ".. ... ",
- /* 60 */ /* 8 */ "... . ",
- /* 61 */ /* 9 */ " . ..",
- /* 62 */ /* ! */ " .. . .",
- /* 63 */ /* " */ ". ...",
- /* 64 */ /* # */ " . .. ",
- /* 65 */ /* $ */ " ..... ",
- /* 66 */ /* % */ ".... .",
- /* 67 */ /* & */ ".. .. ",
- /* 68 */ /* ( */ " .. ",
- /* 69 */ /* ) */ ". .. ",
- /* 70 */ /* * */ " . . ",
- /* 71 */ /* + */ ". ... ",
- /* 72 */ /* , */ "..... ",
- /* 73 */ /* - */ ". . ...",
- /* 74 */ /* . */ ". .. ",
- /* 75 */ /* / */ ". . ..",
- /* 76 */ /* : */ " . ",
- /* 77 */ /* ; */ ".. . . ",
- /* 78 */ /* < */ ". .. ..",
- /* 79 */ /* = */ " .. .",
- /* 80 */ /* > */ ". . .",
- /* 81 */ /* ? */ " . ...",
- /* 82 */ /* @ */ ".......",
- /* 83 */ /* [ */ " .. ",
- /* 84 */ /* ] */ ".. ...",
- /* 85 */ /* ^ */ ".. . ",
- /* 86 */ /* _ */ " .. .. ",
- /* 87 */ /* ` */ " . ..",
- /* 88 */ /* { */ ". ... ",
- /* 89 */ /* | */ ".. .",
- /* 90 */ /* } */ " ..",
- /* 91 */ /* ~ */ " ... .",
- /* 92 */ /* */ ".. ..",
- /* 93 */ /* ' */ ".. .. ."
- };
- char morse_tab[][9] =
- {
- /* 0 */ /* A */ "...--..-",
- /* 1 */ /* B */ "....-...",
- /* 2 */ /* C */ "-.",
- /* 3 */ /* D */ "--...",
- /* 4 */ /* E */ "....--..",
- /* 5 */ /* F */ "...--",
- /* 6 */ /* G */ ".......-",
- /* 7 */ /* H */ "....",
- /* 8 */ /* I */ "......--",
- /* 9 */ /* J */ "...-",
- /* 10 */ /* K */ "....--.-",
- /* 11 */ /* L */ "...-....",
- /* 12 */ /* M */ ".-.",
- /* 13 */ /* N */ "-----",
- /* 14 */ /* O */ "....-.--",
- /* 15 */ /* P */ ".....---",
- /* 16 */ /* Q */ "....---.",
- /* 17 */ /* R */ "---",
- /* 18 */ /* S */ "........",
- /* 19 */ /* T */ ".--",
- /* 20 */ /* U */ "----.",
- /* 21 */ /* V */ "--..",
- /* 22 */ /* W */ "...-..--",
- /* 23 */ /* X */ "-.--",
- /* 24 */ /* Y */ "-...",
- /* 25 */ /* Z */ ".----",
- /* 26 */ /* a */ ".--.",
- /* 27 */ /* b */ "-.-",
- /* 28 */ /* c */ ".....-.-",
- /* 29 */ /* d */ ".",
- /* 30 */ /* e */ "....----",
- /* 31 */ /* f */ "--.",
- /* 32 */ /* g */ "..-.",
- /* 33 */ /* h */ "-....",
- /* 34 */ /* i */ "...--...",
- /* 35 */ /* j */ "....-.-.",
- /* 36 */ /* k */ "-",
- /* 37 */ /* l */ "-..",
- /* 38 */ /* m */ "-.-.",
- /* 39 */ /* n */ "......-.",
- /* 40 */ /* o */ "...-.---",
- /* 41 */ /* p */ "...-.--.",
- /* 42 */ /* q */ ".....--.",
- /* 43 */ /* r */ ".....-..",
- /* 44 */ /* s */ "...-...-",
- /* 45 */ /* t */ "---..",
- /* 46 */ /* u */ ".....",
- /* 47 */ /* v */ ".-",
- /* 48 */ /* w */ "..",
- /* 49 */ /* x */ "..---",
- /* 50 */ /* y */ "--",
- /* 51 */ /* z */ "...-..-.",
- /* 52 */ /* 0 */ ".-..",
- /* 53 */ /* 1 */ "-..-",
- /* 54 */ /* 2 */ "....-",
- /* 55 */ /* 3 */ "...-.-..",
- /* 56 */ /* 4 */ "--.-",
- /* 57 */ /* 5 */ ".---",
- /* 58 */ /* 6 */ "...",
- /* 59 */ /* 7 */ "...-.-.-",
- /* 60 */ /* 8 */ "....-..-",
- /* 61 */ /* 9 */ "..-",
- /* 62 */ /* ! */ "..------",
- /* 63 */ /* " */ "-...-",
- /* 64 */ /* # */ "--..--..",
- /* 65 */ /* $ */ "..---..-",
- /* 66 */ /* % */ "-------.",
- /* 67 */ /* & */ "--.-..-.",
- /* 68 */ /* ( */ "..--..-.",
- /* 69 */ /* ) */ "-.-.--..",
- /* 70 */ /* * */ ".-.-..-.",
- /* 71 */ /* + */ ".-....--",
- /* 72 */ /* , */ ".-...-..",
- /* 73 */ /* - */ ".--.-.--",
- /* 74 */ /* . */ "......",
- /* 75 */ /* / */ "------",
- /* 76 */ /* : */ "-.-..-.-",
- /* 77 */ /* ; */ "..-.-.",
- /* 78 */ /* < */ ".--.-.",
- /* 79 */ /* = */ "..--..--",
- /* 80 */ /* > */ ".-.--..-",
- /* 81 */ /* ? */ ".---.",
- /* 82 */ /* @ */ ".-.-",
- /* 83 */ /* [ */ ".--....-",
- /* 84 */ /* ] */ "-.-..--.",
- /* 85 */ /* ^ */ ".--.-.-.",
- /* 86 */ /* _ */ "..--...-",
- /* 87 */ /* ` */ "-.-.-.-.",
- /* 88 */ /* { */ "..-..-..",
- /* 89 */ /* | */ ".-..-.-.",
- /* 90 */ /* } */ "..---...",
- /* 91 */ /* ~ */ "-..---.-",
- /* 92 */ /* */ ".-.-.-..",
- /* 93 */ /* ' */ "-.----.-",
- };
- //Partagé
- char hexa_prefix[13] = { 0 };
- char morse_prefix[13] = { 0 };
- char braille_prefix[13] = { 0 };
- char ternaire_prefix[14] = { 0 };
- char senaire_prefix[14] = { 0 };
- //Partagé
- //Partagé
- char morse_length_1[9] = { 0 };
- char morse_length_2[10] = { 0 };
- char morse_length_3[10] = { 0 };
- char morse_length_4[10] = { 0 };
- char morse_length_5[10] = { 0 };
- char morse_length_6[10] = { 0 };
- char morse_length_8[10] = { 0 };
- //Partagé
- //Partagé
- char hexa_0[4] = { 0 };
- char hexa_1[4] = { 0 };
- char hexa_2[4] = { 0 };
- char hexa_3[4] = { 0 };
- char hexa_4[4] = { 0 };
- char hexa_5[4] = { 0 };
- char hexa_6[4] = { 0 };
- char hexa_7[4] = { 0 };
- char hexa_8[4] = { 0 };
- char hexa_9[4] = { 0 };
- char hexa_A[4] = { 0 };
- char hexa_B[4] = { 0 };
- char hexa_C[4] = { 0 };
- char hexa_D[4] = { 0 };
- char hexa_E[4] = { 0 };
- char hexa_F[4] = { 0 };
- char hexa_space[15] = { 0 };
- //Partagé
- //Partagé
- char morse_short[32] = { 0 }; //Caractères représentant les "courts" du morse
- char morse_long[32] = { 0 }; //Caractères représentant les "longs" du morse
- //Partagé
- //Partagé
- char braille_dot[32] = { 0 };
- char braille_void[32] = { 0 };
- //Partagé
- //Ensemble mais ne coûte pas de caractère
- char morse_final[9] = { 0 };
- char hexa_temp[9] = { 0 };
- char braille_final[8] = { 0 };
- char ternaire_final[9] = { 0 };
- char senaire_final[9] = { 0 };
- //Ensemble mais ne coûte pas de caractère
- char *stringToCopy = NULL;
- if (strlen(string) >= 8)
- {
- x_dim = y_dim = z_dim = identifyTriDiShaker_Size(string);
- stringToEncrypt = malloc(sizeof(char*)* 2 + sizeof(char*)*z_dim*y_dim*x_dim);
- if (stringToEncrypt == NULL)
- {
- centerText("Pas assez de RAM pour allouer stringToEncrypt", CONS_L, 15, 0);
- Sleep(10000);
- exit(1);
- }
- else
- sprintf(stringToEncrypt, "%s", tri_dimensionnalShaker(string, numbTab[69], numbTab[79], numbTab[0], 0));
- stringToCopy = malloc((sizeof(char*)* 8 * z_dim*y_dim*x_dim) + 29 * sizeof(char*));
- if (stringToCopy == NULL)
- {
- centerText("Pas assez de RAM pour allouer stringToCopy", CONS_L, 15, 0);
- Sleep(10000);
- exit(1);
- }
- else
- nullString(stringToCopy, 8 * z_dim*y_dim*x_dim + 29);
- }
- else
- {
- string_random(string, 59, 59, 0);
- stringToEncrypt = malloc(sizeof(char*)*(strlen(string) + 1));
- if (stringToEncrypt == NULL)
- {
- centerText("Pas assez de RAM pour allouer stringToEncrypt", CONS_L, 15, 0);
- Sleep(10000);
- exit(1);
- }
- else
- {
- nullString(stringToEncrypt, strlen(string) + 1);
- sprintf(stringToEncrypt, "%s", string);
- }
- stringToCopy = malloc(sizeof(char*)*(strlen(string) * 8 + 29));
- if (stringToCopy == NULL)
- {
- centerText("Pas assez de RAM pour allouer stringToCopy", CONS_L, 15, 0);
- Sleep(10000);
- exit(1);
- }
- else
- nullString(stringToCopy, strlen(string) * 8 + 29)
- }
- string_random(caractersInitial, (numbTab[116] + numbTab[37])*numbTab[36] + numbTab[68], (((numbTab[3] + numbTab[15] + numbTab[110])*numbTab[24]) ^ numbTab[1]) + numbTab[55], 0);
- string_leftRotation(caractersInitial, 26);
- sprintf(caracters, "%s", caractersInitial);
- for (x = 0; x < 3; x++)
- hexa_0[x] = caracters[x];
- hexa_0[3] = '\0';
- for (x = 3; x < 6; x++)
- hexa_1[x - 3] = caracters[x];
- hexa_1[3] = '\0';
- for (x = 6; x < 9; x++)
- hexa_2[x - 6] = caracters[x];
- hexa_2[3] = '\0';
- for (x = 9; x < 12; x++)
- hexa_3[x - 9] = caracters[x];
- hexa_3[3] = '\0';
- for (x = 12; x < 15; x++)
- hexa_4[x - 12] = caracters[x];
- hexa_4[3] = '\0';
- for (x = 15; x < 18; x++)
- hexa_5[x - 15] = caracters[x];
- hexa_5[3] = '\0';
- for (x = 18; x < 21; x++)
- hexa_6[x - 18] = caracters[x];
- hexa_6[3] = '\0';
- for (x = 21; x < 24; x++)
- hexa_7[x - 21] = caracters[x];
- hexa_7[3] = '\0';
- for (x = 24; x < 27; x++)
- hexa_8[x - 24] = caracters[x];
- hexa_8[3] = '\0';
- for (x = 27; x < 30; x++)
- hexa_9[x - 27] = caracters[x];
- hexa_9[3] = '\0';
- for (x = 30; x < 33; x++)
- hexa_A[x - 30] = caracters[x];
- hexa_A[3] = '\0';
- for (x = 33; x < 36; x++)
- hexa_B[x - 33] = caracters[x];
- hexa_B[3] = '\0';
- for (x = 36; x < 39; x++)
- hexa_C[x - 36] = caracters[x];
- hexa_C[3] = '\0';
- for (x = 39; x < 42; x++)
- hexa_D[x - 39] = caracters[x];
- hexa_D[3] = '\0';
- for (x = 42; x < 45; x++)
- hexa_E[x - 42] = caracters[x];
- hexa_E[3] = '\0';
- for (x = 45; x < 48; x++)
- hexa_F[x - 45] = caracters[x];
- hexa_F[3] = '\0';
- for (x = 48; x < 62; x++)
- hexa_space[x - 48] = caracters[x];
- hexa_space[14] = '\0';
- string_random(hexa_0, (numbTab[48] + numbTab[49])*numbTab[84], numbTab[8], 0);
- string_leftRotation(hexa_0, numbTab[12] + numbTab[13]*numbTab[34]);
- string_random(hexa_0, (numbTab[10] + numbTab[9])*numbTab[99], numbTab[86], 0);
- string_rightRotation(hexa_0, numbTab[25] + numbTab[85] * numbTab[72]);
- string_random(hexa_1, (numbTab[67] + numbTab[7])*numbTab[41], numbTab[22], 0);
- string_leftRotation(hexa_1, numbTab[45] + numbTab[46] * numbTab[4]);
- string_random(hexa_1, (numbTab[26] + numbTab[79])*numbTab[58], numbTab[14] + numbTab[110], 0);
- string_rightRotation(hexa_1, numbTab[52] + numbTab[120]*numbTab[95]);
- string_random(hexa_2, (numbTab[73] + numbTab[59])*numbTab[40], numbTab[34], 0);
- string_leftRotation(hexa_2, numbTab[120] + numbTab[10]*numbTab[8]);
- string_random(hexa_2, (numbTab[127] + numbTab[63])*numbTab[125], numbTab[121] + numbTab[74], 0);
- string_rightRotation(hexa_2, numbTab[126] + numbTab[12]*numbTab[51]);
- string_random(hexa_3, (numbTab[97] + numbTab[5])*numbTab[24], numbTab[73], 0);
- string_leftRotation(hexa_3, numbTab[98] + numbTab[120]*numbTab[50]);
- string_random(hexa_3, (numbTab[5] + numbTab[92])*numbTab[61], numbTab[42] + numbTab[96], 0);
- string_rightRotation(hexa_3, numbTab[71] + numbTab[108]*numbTab[47]);
- string_random(hexa_4, (numbTab[61] + numbTab[24])*numbTab[85], numbTab[97] + numbTab[64], 0);
- string_leftRotation(hexa_4, numbTab[93] + numbTab[108]*numbTab[71]);
- string_random(hexa_4, (numbTab[57] + numbTab[95])*numbTab[0], numbTab[99] + numbTab[127], 0);
- string_rightRotation(hexa_4, numbTab[38] + numbTab[38]*numbTab[59]);
- string_random(hexa_5, (numbTab[75] + numbTab[14])*numbTab[42], numbTab[53], 0);
- string_leftRotation(hexa_5, numbTab[20] + numbTab[122]*numbTab[48]);
- string_random(hexa_5, (numbTab[33] + numbTab[34])*numbTab[36], numbTab[33] + numbTab[34] + numbTab[43], 0);
- string_rightRotation(hexa_5, numbTab[32] + numbTab[75]*numbTab[88]);
- string_random(hexa_6, (numbTab[95] + numbTab[16])*numbTab[21], numbTab[1], 0);
- string_leftRotation(hexa_6, numbTab[80] + numbTab[103]*numbTab[104]);
- string_random(hexa_6, (numbTab[43] + numbTab[106])*numbTab[14], numbTab[45] + numbTab[0], 0);
- string_rightRotation(hexa_6, numbTab[2] + numbTab[50]*numbTab[110]);
- string_random(hexa_7, (numbTab[108] + numbTab[11])*numbTab[47], numbTab[127], 0);
- string_leftRotation(hexa_7, numbTab[17] + numbTab[104]*numbTab[22]);
- string_random(hexa_7, (numbTab[122] + numbTab[90])*numbTab[93], numbTab[122] + numbTab[103], 0);
- string_rightRotation(hexa_7, numbTab[107] + numbTab[19]*numbTab[24]);
- string_random(hexa_8, (numbTab[14] + numbTab[82])*numbTab[98], numbTab[114], 0);
- string_leftRotation(hexa_8, numbTab[35] + numbTab[18]*numbTab[86]);
- string_random(hexa_8, (numbTab[6] + numbTab[6])*numbTab[92], numbTab[8] + numbTab[15], 0);
- string_rightRotation(hexa_8, numbTab[11] + numbTab[93]*numbTab[83]);
- string_random(hexa_9, (numbTab[39] + numbTab[2])*numbTab[110], numbTab[84] + numbTab[21], 0);
- string_leftRotation(hexa_9, numbTab[90] + numbTab[110]*numbTab[42]);
- string_random(hexa_9, (numbTab[104] + numbTab[69])*numbTab[2], numbTab[108] + numbTab[27], 0);
- string_rightRotation(hexa_9, numbTab[101] + numbTab[122]*numbTab[99]);
- string_random(hexa_A, (numbTab[27] + numbTab[62])*numbTab[38], numbTab[25], 0);
- string_leftRotation(hexa_A, numbTab[63] + numbTab[90]*numbTab[50]);
- string_random(hexa_A, (numbTab[23] + numbTab[63])*numbTab[71] + numbTab[68], numbTab[43] + numbTab[63], 0);
- string_rightRotation(hexa_A, numbTab[21] + numbTab[84]*numbTab[91]);
- string_random(hexa_B, (numbTab[111] + numbTab[121])*numbTab[92], numbTab[86], 0);
- string_leftRotation(hexa_B, numbTab[56] + numbTab[43]*numbTab[127]);
- string_random(hexa_B, (numbTab[16] + numbTab[0])*numbTab[55], numbTab[13] + numbTab[37], 0);
- string_rightRotation(hexa_B, numbTab[106] + numbTab[24]*numbTab[125]);
- string_random(hexa_C, (numbTab[91] + numbTab[17])*numbTab[26], numbTab[21] + numbTab[33], 0);
- string_leftRotation(hexa_C, numbTab[70] + numbTab[23]*numbTab[21]);
- string_random(hexa_C, (numbTab[87] + numbTab[4])*numbTab[69], numbTab[78] + numbTab[122], 0);
- string_rightRotation(hexa_C, numbTab[53] + numbTab[58]*numbTab[3]);
- string_random(hexa_D, (numbTab[112] + numbTab[1])*numbTab[19], numbTab[33], 0);
- string_leftRotation(hexa_D, numbTab[109] + numbTab[83]*numbTab[2]);
- string_random(hexa_D, (numbTab[77] + numbTab[15])*numbTab[97], numbTab[29] + numbTab[3], 0);
- string_rightRotation(hexa_D, numbTab[42] + numbTab[57]*numbTab[6]);
- string_random(hexa_E, (numbTab[44] + numbTab[21])*numbTab[88], numbTab[48], 0);
- string_leftRotation(hexa_E, numbTab[47] + numbTab[120]*numbTab[108]);
- string_random(hexa_E, (numbTab[50] + numbTab[49])*numbTab[77], numbTab[59] + numbTab[84], 0);
- string_rightRotation(hexa_E, numbTab[29] + numbTab[36]*numbTab[39]);
- string_random(hexa_F, (numbTab[30] + numbTab[27])*numbTab[79] + numbTab[55], numbTab[19], 0);
- string_leftRotation(hexa_F, numbTab[28] + numbTab[43]*numbTab[30]);
- string_random(hexa_F, (numbTab[54] + numbTab[10])*numbTab[44], numbTab[40] + numbTab[31], 0);
- string_rightRotation(hexa_F, numbTab[31] + numbTab[93]*numbTab[1]);
- string_random(hexa_space, (numbTab[100] + numbTab[50])*numbTab[98], numbTab[3], 0);
- string_leftRotation(hexa_space, numbTab[51] + numbTab[125]*numbTab[71]);
- string_random(hexa_space, (numbTab[40] + numbTab[55])*numbTab[92], numbTab[45] + numbTab[32], 0);
- string_rightRotation(hexa_D, numbTab[74] + numbTab[29]*numbTab[80]);
- string_random(caracters, (numbTab[89] + numbTab[100])*numbTab[116] + numbTab[32], ((numbTab[110] + numbTab[119] + numbTab[107])*numbTab[14]) ^ numbTab[16], 0);
- string_leftRotation(caracters, 1024);
- for (x = 0; x < 8; x++)
- morse_length_1[x] = caracters[x];
- morse_length_1[8] = '\0';
- for (x = 8; x < 17; x++)
- morse_length_2[x - 8] = caracters[x];
- morse_length_2[9] = '\0';
- for (x = 17; x < 26; x++)
- morse_length_3[x - 17] = caracters[x];
- morse_length_3[9] = '\0';
- for (x = 26; x < 35; x++)
- morse_length_4[x - 26] = caracters[x];
- morse_length_4[9] = '\0';
- for (x = 35; x < 44; x++)
- morse_length_5[x - 35] = caracters[x];
- morse_length_5[9] = '\0';
- for (x = 44; x < 53; x++)
- morse_length_6[x - 44] = caracters[x];
- morse_length_5[9] = '\0';
- for (x = 53; x < 62; x++)
- morse_length_8[x - 53] = caracters[x];
- morse_length_8[9] = '\0';
- for (x = 0; x < 12; x++)
- morse_prefix[x] = caracters[x];
- morse_prefix[12] = '\0';
- for (x = 12; x < 24; x++)
- hexa_prefix[x - 12] = caracters[x];
- hexa_prefix[12] = '\0';
- for (x = 24; x < 36; x++)
- braille_prefix[x - 24] = caracters[x];
- braille_prefix[11] = '\0';
- for (x = 36; x < 49; x++)
- ternaire_prefix[x - 36] = caracters[x];
- ternaire_prefix[13] = '\0';
- for (x = 49; x < 62; x++)
- senaire_prefix[x - 49] = caracters[x];
- senaire_prefix[13] = '\0';
- string_leftRotation(morse_length_1, numbTab[39]);
- string_leftRotation(morse_length_2, numbTab[18]);
- string_leftRotation(morse_length_3, numbTab[114]);
- string_leftRotation(morse_length_4, numbTab[99]);
- string_leftRotation(morse_length_5, numbTab[81]);
- string_leftRotation(morse_length_6, numbTab[23]);
- string_leftRotation(morse_length_8, numbTab[98]);
- string_leftRotation(morse_prefix, numbTab[9]);
- string_leftRotation(hexa_prefix, numbTab[1]);
- string_random(morse_length_1, numbTab[18], numbTab[19] + numbTab[105] + numbTab[86], 0);
- string_random(morse_length_2, numbTab[65], numbTab[113] + numbTab[119] + numbTab[20], 0);
- string_random(morse_length_3, numbTab[124], numbTab[78] + numbTab[19] + numbTab[41], 0);
- string_random(morse_length_4, numbTab[59], numbTab[103] + numbTab[20] + numbTab[48], 0);
- string_random(morse_length_5, numbTab[117], numbTab[125] + numbTab[123] + numbTab[58], 0);
- string_random(morse_length_6, numbTab[28], numbTab[0] + numbTab[98] + numbTab[127], 0);
- string_random(morse_length_8, numbTab[81], numbTab[96] + numbTab[26] + numbTab[107], 0);
- string_random(morse_prefix, numbTab[64], numbTab[82] + numbTab[85] + numbTab[84], 0);
- string_random(hexa_prefix, numbTab[123], numbTab[121] + numbTab[115] + numbTab[86], 0);
- string_rightRotation(morse_length_1, numbTab[14]);
- string_rightRotation(morse_length_2, numbTab[100]);
- string_rightRotation(morse_length_3, numbTab[87]);
- string_rightRotation(morse_length_4, numbTab[77]);
- string_rightRotation(morse_length_5, numbTab[109]);
- string_rightRotation(morse_length_6, numbTab[12]);
- string_rightRotation(morse_length_8, numbTab[53]);
- string_rightRotation(morse_prefix, numbTab[87]);
- string_rightRotation(hexa_prefix, numbTab[48]);
- string_random(caracters, (numbTab[92] + numbTab[17])*numbTab[5] + numbTab[90], ((numbTab[34] + numbTab[60] + numbTab[99])*numbTab[58]) ^ numbTab[56], 0);
- string_rightRotation(caracters, 1024);
- for (x = 0; x < 31; x++)
- morse_short[x] = caracters[x];
- morse_short[31] = '\0';
- for (x = 31; x < 62; x++)
- morse_long[x - 31] = caracters[x];
- morse_long[31] = '\0';
- //On randomise le morse court
- string_random(morse_short, (numbTab[105] + numbTab[74] + numbTab[104])*numbTab[25], rand(), 0);
- string_leftRotation(morse_short, numbTab[88] + numbTab[124]*numbTab[113]);
- string_random(morse_short, (numbTab[66] + numbTab[20] + numbTab[11])*numbTab[114], rand() + rand(), 0);
- string_rightRotation(morse_short, numbTab[83] + numbTab[34]*numbTab[81]);
- //On randomise le morse "long"
- string_random(morse_long, (numbTab[62] + numbTab[87])*numbTab[6], rand() + rand(), 0);
- string_leftRotation(morse_long, numbTab[94] + numbTab[112]*numbTab[0]);
- string_random(morse_long, (numbTab[118] + numbTab[4])*numbTab[32], rand() + numbTab[107], 0);
- string_rightRotation(morse_long, numbTab[114] + numbTab[50]*numbTab[106]);
- for (x = 0; x < 31; x++)
- braille_dot[x] = caracters[x];
- braille_dot[31] = '\0';
- for (x = 31; x < 62; x++)
- braille_void[x - 31] = caracters[x];
- braille_void[31] = '\0';
- string_random(braille_dot, 0, numbTab[115] + numbTab[21] + numbTab[98] + numbTab[70], 0);
- string_leftRotation(braille_dot, 14);
- string_random(braille_dot, 0, numbTab[76] + numbTab[31] + numbTab[105] + numbTab[29], 0);
- string_rightRotation(braille_dot, 14);
- string_random(braille_void, 0, numbTab[35] + numbTab[22] + numbTab[126] + numbTab[21], 0);
- string_leftRotation(braille_dot, 14);
- string_random(braille_void, 0, numbTab[73] + numbTab[72] + numbTab[112] + numbTab[39], 0);
- string_rightRotation(braille_dot, 14);
- if (strlen(stringToEncrypt) >= 3)
- {
- for (x = 1;; x++)
- {
- if (!(strlen(stringToEncrypt) % x) && x >= 3)
- {
- lengthOf_subdivision = x;
- numbOf_subdivision = strlen(stringToEncrypt) / x; //Détermination du nombre de subdivisions
- break;
- }
- }
- }
- else
- {
- lengthOf_subdivision = strlen(stringToEncrypt);
- numbOf_subdivision = 1;
- }
- unsigned int *randsTab = NULL;
- randsTab = malloc((numbOf_subdivision*sizeof(unsigned int)) + 1);
- if (randsTab == NULL)
- {
- centerText("Pas assez de RAM", CONS_L, 15, 0);
- Sleep(10000);
- exit(1);
- }
- int *randResult = NULL;
- randResult = malloc((numbOf_subdivision*sizeof(int)) + 1);
- if (randResult == NULL)
- {
- centerText("Pas assez de RAM", CONS_L, 15, 0);
- Sleep(10000);
- exit(1);
- }
- char **subdivisionsTab = NULL;
- subdivisionsTab = malloc(sizeof(char**)*numbOf_subdivision);
- for (x = 0; x < numbOf_subdivision; x++)
- subdivisionsTab[x] = malloc(sizeof(char*)*(lengthOf_subdivision + 1));
- if (subdivisionsTab == NULL)
- {
- centerText("Pas assez de RAM", CONS_L, 15, 0);
- Sleep(10000);
- exit(1);
- }
- w = 0;
- for (x = 0; x < numbOf_subdivision; x++)
- {
- for (y = 0; y < lengthOf_subdivision; y++)
- {
- subdivisionsTab[x][y] = stringToEncrypt[w];
- w++;
- }
- }
- w = 0;
- srand(numbTab[84] + numbTab[120] + numbTab[125] + numbTab[47] + numbTab[121]);
- for (x = 0; x < numbOf_subdivision; x++)
- while (randsTab[x] > 5000 || randsTab[x] < 0)
- randsTab[x] = rand();
- for (x = 0; x < numbOf_subdivision; x++)
- {
- if (randsTab[x] <= 1000)
- randResult[x] = 0;
- else if (randsTab[x]>1000 && randsTab[x] <= 2000)
- randResult[x] = 1;
- else if (randsTab[x] > 2000 && randsTab[x] <= 3000)
- randResult[x] = 2;
- else if (randsTab[x] > 3000 && randsTab[x] <= 4000)
- randResult[x] = 3;
- else
- randResult[x] = 4;
- }
- string_random(caracters, 0, 12536, 0);
- srand(numbTab[67] + numbTab[94] + numbTab[90] + numbTab[79] + numbTab[74]);
- for (y = 0; y < 62; y++)
- {
- for (x = 0; x < 62; x++)
- {
- do
- {
- alea1 = rand() % 62;
- alea2 = rand() % 62;
- sprintf(string_temp, "%c", caracters[alea1]);
- sprintf(string_temp2, "%c", caracters[alea2]);
- strcat(string_temp, string_temp2);
- strcpy(verifBox[y][x], string_temp);
- for (v = 0; v < 62; v++)
- {
- for (w = 0; w < 62; w++)
- {
- if (v != y || w != x)
- {
- if (!(strcmp(verifBox[v][w], string_temp)))
- {
- loop = 1;
- toBreak = 1;
- break;
- }
- else if (strlen(string_temp) < 2)
- {
- loop = 1;
- toBreak = 1;
- break;
- }
- else
- {
- toBreak = 0;
- loop = 0;
- }
- }
- }
- if (toBreak)
- break;
- }
- } while (loop);
- sprintf(subtitBox[y][x], "%s", string_temp);
- }
- }
- nullString(string_temp, 15);
- for (x = 0; x < numbOf_subdivision; x++)
- {
- srand(numbTab[26]*numbTab[115] + numbTab[19] + x);
- if (randResult[x] == 0)
- {
- srand(numbTab[105] + numbTab[73]);
- for (y = 0; y < lengthOf_subdivision; y++)
- {
- alea = rand();
- if (alea>11)
- alea %= 12;
- sprintf(string_temp, "%c", hexa_prefix[alea]);
- strcat(stringToCopy, string_temp);
- sprintf(hexa_temp, "%8X", subdivisionsTab[x][y] + numbTab[16] + numbTab[56] + numbTab[96] + numbTab[21]);
- for (z = 0; z < 8; z++)
- {
- ////////////////////////////////////////////// Alea
- srand(bb);
- alea = rand();
- if (alea > 20)
- alea %= 21;
- bb += zz + numbTab[30] + numbTab[3] + numbTab[43];
- if (bb >= (unsigned int)(8 * zz))
- zz += numbTab[68] + numbTab[14] + numbTab[54];
- if (bb >= 2147483647)
- {
- zz -= (numbTab[42] - 20);
- bb -= (unsigned int)(numbTab[126]*numbTab[93]*numbTab[63]*numbTab[126] * 9000);
- }
- ////////////////////////////////////////////// Alea
- if (hexa_temp[z] == '0')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_0[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_0[2] && hexa_temp[z - 2] != hexa_0[2])
- hexa_temp[z] = hexa_0[2];
- else if (hexa_temp[z - 1] != hexa_0[0] && hexa_temp[z - 2] != hexa_0[0])
- hexa_temp[z] = hexa_0[0];
- else
- hexa_temp[z] = hexa_0[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_0[1])
- hexa_temp[1] = hexa_0[1];
- else
- hexa_temp[1] = hexa_0[2];
- }
- }
- }
- else if (hexa_temp[z] == '1')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_1[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_1[2] && hexa_temp[z - 2] != hexa_1[2])
- hexa_temp[z] = hexa_1[2];
- else if (hexa_temp[z - 1] != hexa_1[0] && hexa_temp[z - 2] != hexa_1[0])
- hexa_temp[z] = hexa_1[0];
- else
- hexa_temp[z] = hexa_1[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_1[1])
- hexa_temp[1] = hexa_1[1];
- else
- hexa_temp[1] = hexa_1[2];
- }
- }
- }
- else if (hexa_temp[z] == '2')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_2[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_2[2] && hexa_temp[z - 2] != hexa_2[2])
- hexa_temp[z] = hexa_2[2];
- else if (hexa_temp[z - 1] != hexa_2[0] && hexa_temp[z - 2] != hexa_2[0])
- hexa_temp[z] = hexa_2[0];
- else
- hexa_temp[z] = hexa_2[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_2[1])
- hexa_temp[1] = hexa_2[1];
- else
- hexa_temp[1] = hexa_2[2];
- }
- }
- }
- else if (hexa_temp[z] == '3')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_3[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_3[2] && hexa_temp[z - 2] != hexa_3[2])
- hexa_temp[z] = hexa_3[2];
- else if (hexa_temp[z - 1] != hexa_3[0] && hexa_temp[z - 2] != hexa_3[0])
- hexa_temp[z] = hexa_3[0];
- else
- hexa_temp[z] = hexa_3[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_3[1])
- hexa_temp[1] = hexa_3[1];
- else
- hexa_temp[1] = hexa_3[2];
- }
- }
- }
- else if (hexa_temp[z] == '4')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_4[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_4[2] && hexa_temp[z - 2] != hexa_4[2])
- hexa_temp[z] = hexa_4[2];
- else if (hexa_temp[z - 1] != hexa_4[0] && hexa_temp[z - 2] != hexa_4[0])
- hexa_temp[z] = hexa_4[0];
- else
- hexa_temp[z] = hexa_4[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_4[1])
- hexa_temp[1] = hexa_4[1];
- else
- hexa_temp[1] = hexa_4[2];
- }
- }
- }
- else if (hexa_temp[z] == '5')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_5[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_5[2] && hexa_temp[z - 2] != hexa_5[2])
- hexa_temp[z] = hexa_5[2];
- else if (hexa_temp[z - 1] != hexa_5[0] && hexa_temp[z - 2] != hexa_5[0])
- hexa_temp[z] = hexa_5[0];
- else
- hexa_temp[z] = hexa_5[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_5[1])
- hexa_temp[1] = hexa_5[1];
- else
- hexa_temp[1] = hexa_5[2];
- }
- }
- }
- else if (hexa_temp[z] == '6')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_6[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_6[2] && hexa_temp[z - 2] != hexa_6[2])
- hexa_temp[z] = hexa_6[2];
- else if (hexa_temp[z - 1] != hexa_6[0] && hexa_temp[z - 2] != hexa_6[0])
- hexa_temp[z] = hexa_6[0];
- else
- hexa_temp[z] = hexa_6[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_6[1])
- hexa_temp[1] = hexa_6[1];
- else
- hexa_temp[1] = hexa_6[2];
- }
- }
- }
- else if (hexa_temp[z] == '7')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_7[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_7[2] && hexa_temp[z - 2] != hexa_7[2])
- hexa_temp[z] = hexa_7[2];
- else if (hexa_temp[z - 1] != hexa_7[0] && hexa_temp[z - 2] != hexa_7[0])
- hexa_temp[z] = hexa_7[0];
- else
- hexa_temp[z] = hexa_7[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_7[1])
- hexa_temp[1] = hexa_7[1];
- else
- hexa_temp[1] = hexa_7[2];
- }
- }
- }
- else if (hexa_temp[z] == '8')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_8[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_8[2] && hexa_temp[z - 2] != hexa_8[2])
- hexa_temp[z] = hexa_8[2];
- else if (hexa_temp[z - 1] != hexa_8[0] && hexa_temp[z - 2] != hexa_8[0])
- hexa_temp[z] = hexa_8[0];
- else
- hexa_temp[z] = hexa_8[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_8[1])
- hexa_temp[1] = hexa_8[1];
- else
- hexa_temp[1] = hexa_8[2];
- }
- }
- }
- else if (hexa_temp[z] == '9')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_9[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_9[2] && hexa_temp[z - 2] != hexa_9[2])
- hexa_temp[z] = hexa_9[2];
- else if (hexa_temp[z - 1] != hexa_9[0] && hexa_temp[z - 2] != hexa_9[0])
- hexa_temp[z] = hexa_9[0];
- else
- hexa_temp[z] = hexa_9[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_9[1])
- hexa_temp[1] = hexa_9[1];
- else
- hexa_temp[1] = hexa_9[2];
- }
- }
- }
- else if (hexa_temp[z] == 'A')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_A[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_A[2] && hexa_temp[z - 2] != hexa_A[2])
- hexa_temp[z] = hexa_A[2];
- else if (hexa_temp[z - 1] != hexa_A[0] && hexa_temp[z - 2] != hexa_A[0])
- hexa_temp[z] = hexa_A[0];
- else
- hexa_temp[z] = hexa_A[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_A[1])
- hexa_temp[1] = hexa_A[1];
- else
- hexa_temp[1] = hexa_A[2];
- }
- }
- }
- else if (hexa_temp[z] == 'B')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_B[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_B[2] && hexa_temp[z - 2] != hexa_B[2])
- hexa_temp[z] = hexa_B[2];
- else if (hexa_temp[z - 1] != hexa_B[0] && hexa_temp[z - 2] != hexa_B[0])
- hexa_temp[z] = hexa_B[0];
- else
- hexa_temp[z] = hexa_B[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_B[1])
- hexa_temp[1] = hexa_B[1];
- else
- hexa_temp[1] = hexa_B[2];
- }
- }
- }
- else if (hexa_temp[z] == 'C')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_C[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_C[2] && hexa_temp[z - 2] != hexa_C[2])
- hexa_temp[z] = hexa_C[2];
- else if (hexa_temp[z - 1] != hexa_C[0] && hexa_temp[z - 2] != hexa_C[0])
- hexa_temp[z] = hexa_C[0];
- else
- hexa_temp[z] = hexa_C[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_C[1])
- hexa_temp[1] = hexa_C[1];
- else
- hexa_temp[1] = hexa_C[2];
- }
- }
- }
- else if (hexa_temp[z] == 'D')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_D[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_D[2] && hexa_temp[z - 2] != hexa_D[2])
- hexa_temp[z] = hexa_D[2];
- else if (hexa_temp[z - 1] != hexa_D[0] && hexa_temp[z - 2] != hexa_D[0])
- hexa_temp[z] = hexa_D[0];
- else
- hexa_temp[z] = hexa_D[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_D[1])
- hexa_temp[1] = hexa_D[1];
- else
- hexa_temp[1] = hexa_D[2];
- }
- }
- }
- else if (hexa_temp[z] == 'E')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_E[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_E[2] && hexa_temp[z - 2] != hexa_E[2])
- hexa_temp[z] = hexa_E[2];
- else if (hexa_temp[z - 1] != hexa_E[0] && hexa_temp[z - 2] != hexa_E[0])
- hexa_temp[z] = hexa_E[0];
- else
- hexa_temp[z] = hexa_E[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_E[1])
- hexa_temp[1] = hexa_E[1];
- else
- hexa_temp[1] = hexa_E[2];
- }
- }
- }
- else if (hexa_temp[z] == 'F')
- {
- if (alea > 2)
- alea %= 3;
- hexa_temp[z] = hexa_F[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_F[2] && hexa_temp[z - 2] != hexa_F[2])
- hexa_temp[z] = hexa_F[2];
- else if (hexa_temp[z - 1] != hexa_F[0] && hexa_temp[z - 2] != hexa_F[0])
- hexa_temp[z] = hexa_F[0];
- else
- hexa_temp[z] = hexa_F[1];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_F[1])
- hexa_temp[1] = hexa_F[1];
- else
- hexa_temp[1] = hexa_F[2];
- }
- }
- }
- else
- {
- if (alea > 13)
- alea %= 14;
- hexa_temp[z] = hexa_space[alea];
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] || hexa_temp[1] == hexa_temp[0])
- {
- if (hexa_temp[z] == hexa_temp[z - 1] || hexa_temp[z] == hexa_temp[z - 2] && z >= 2)
- {
- if (hexa_temp[z - 1] != hexa_space[2] && hexa_temp[z - 2] != hexa_space[2])
- hexa_temp[z] = hexa_space[2];
- else if (hexa_temp[z - 1] != hexa_space[0] && hexa_temp[z - 2] != hexa_space[0])
- hexa_temp[z] = hexa_space[0];
- else
- hexa_temp[z] = hexa_space[9];
- }
- else
- {
- if (hexa_temp[1] == hexa_temp[0] && hexa_temp[0] != hexa_space[5])
- hexa_temp[1] = hexa_space[5];
- else
- hexa_temp[1] = hexa_space[8];
- }
- }
- }
- }
- string_random(hexa_temp, 8058, 73, 0);
- string_leftRotation(hexa_temp, 69);
- subBox(hexa_temp, subtitBox);
- strcat(stringToCopy, hexa_temp);
- }
- }
- else if (randResult[x] == 1)
- {
- srand(numbTab[54]);
- for (y = 0; y < lengthOf_subdivision; y++)
- {
- alea = rand();
- if (alea > 11)
- alea %= 12;
- sprintf(string_temp, "%c", morse_prefix[alea]);
- strcat(stringToCopy, string_temp);
- temp = searchChar(subdivisionsTab[x][y]);
- switch (strlen(morse_tab[temp]))
- {
- case 1:
- if (alea > 7)
- alea %= 8;
- sprintf(string_temp, "%c", morse_length_1[alea]);
- strcat(stringToCopy, string_temp);
- break;
- case 2:
- if (alea > 8)
- alea %= 9;
- sprintf(string_temp, "%c", morse_length_2[alea]);
- strcat(stringToCopy, string_temp);
- break;
- case 3:
- if (alea > 8)
- alea %= 9;
- sprintf(string_temp, "%c", morse_length_3[alea]);
- strcat(stringToCopy, string_temp);
- break;
- case 4:
- if (alea > 8)
- alea %= 9;
- sprintf(string_temp, "%c", morse_length_4[alea]);
- strcat(stringToCopy, string_temp);
- break;
- case 5:
- if (alea > 8)
- alea %= 9;
- sprintf(string_temp, "%c", morse_length_5[alea]);
- strcat(stringToCopy, string_temp);
- break;
- case 6:
- if (alea > 8)
- alea %= 9;
- sprintf(string_temp, "%c", morse_length_6[alea]);
- strcat(stringToCopy, string_temp);
- break;
- case 8:
- if (alea > 8)
- alea %= 9;
- sprintf(string_temp, "%c", morse_length_8[alea]);
- strcat(stringToCopy, string_temp);
- break;
- default:
- return 1;
- }
- for (z = 0; z < strlen(morse_tab[temp]); z++)
- {
- ////////////////////////////////////////////// Alea
- srand(bb);
- alea = rand();
- if (alea > 30)
- alea %= 31;
- bb += zz + numbTab[37] + numbTab[62];
- if (bb >= (unsigned int)(8 * zz))
- {
- zz += numbTab[124] + numbTab[55];
- }
- if (bb >= 2147483647)
- {
- zz -= (numbTab[96] - 20);
- bb -= (unsigned int)(numbTab[64]*numbTab[23]*numbTab[86]*numbTab[58] * 9000);
- }
- ////////////////////////////////////////////// Alea
- if (morse_tab[temp][z] == '.')
- morse_final[z] = morse_short[alea];
- else
- morse_final[z] = morse_long[alea];
- }
- string_leftRotation(morse_long, 12);
- string_random(morse_long, 45, 2563, 0);
- string_reverse(morse_long);
- string_rightRotation(morse_long, 10);
- string_leftRotation(morse_short, 7);
- string_random(morse_short, 63854, 963, 0);
- string_reverse(morse_short);
- string_rightRotation(morse_short, 10);
- strcat(stringToCopy, morse_final);
- nullString(morse_final, 9);
- }
- }
- else if (randResult[x] == 2)
- {
- srand(numbTab[103]);
- for (y = 0; y < lengthOf_subdivision; y++)
- {
- alea = rand();
- if (alea > 11)
- alea %= 12;
- sprintf(string_temp, "%c", braille_prefix[alea]);
- strcat(stringToCopy, string_temp);
- temp = searchChar(subdivisionsTab[x][y]);
- for (z = 0; z < strlen(braille_tab[temp]); z++)
- {
- ////////////////////////////////////////////// Alea
- srand(bb);
- alea = rand();
- if (alea > 30)
- alea %= 31;
- bb += zz + numbTab[46] + numbTab[11];
- if (bb >= (unsigned int)(8 * zz))
- {
- zz += numbTab[25] + numbTab[5];
- }
- if (bb >= 2147483647)
- {
- zz -= (numbTab[97] - 20);
- bb -= (unsigned int)(numbTab[87]*numbTab[48]*numbTab[13]*numbTab[120] * 9000);
- }
- ////////////////////////////////////////////// Alea
- if (braille_tab[temp][z] == '.')
- braille_final[z] = braille_dot[alea];
- else
- braille_final[z] = braille_void[alea];
- }
- string_leftRotation(caracters, 10);
- string_random(caracters, 78, 1211, 0);
- string_reverse(caracters);
- string_rightRotation(caracters, 8);
- for (w = 0; w < 31; w++)
- braille_dot[w] = caracters[w];
- braille_dot[31] = '\0';
- for (w = 31; w < 62; w++)
- braille_void[w - 31] = caracters[w];
- braille_void[31] = '\0';
- string_leftRotation(braille_dot, 12);
- string_random(braille_dot, 45, 2563, 0);
- string_reverse(braille_dot);
- string_rightRotation(braille_dot, 10);
- string_leftRotation(braille_void, 7);
- string_random(braille_void, 6854, 963, 0);
- string_reverse(braille_void);
- string_rightRotation(braille_void, 10);
- strcat(stringToCopy, braille_final);
- }
- }
- else if (randResult[x] == 3)
- {
- srand(numbTab[40]);
- for (y = 0; y < lengthOf_subdivision; y++)
- {
- alea = rand();
- if (alea > 12)
- alea %= 13;
- sprintf(string_temp, "%c", ternaire_prefix[alea]);
- strcat(stringToCopy, string_temp);
- sprintf(ternaire_final, ternaire8bits((subdivisionsTab[x][y]) + numbTab[36] + numbTab[118] + numbTab[27]));
- string_random(ternaire_final, 0, numbTab[82], 0);
- string_leftRotation(ternaire_final, numbTab[112]);
- string_reverse(ternaire_final);
- subBox(ternaire_final, subtitBox);
- strcat(stringToCopy, ternaire_final);
- }
- }
- else if (randResult[x] == 4)
- {
- srand(numbTab[11] + numbTab[23] + numbTab[51]);
- for (y = 0; y < lengthOf_subdivision; y++)
- {
- alea = rand();
- if (alea > 12)
- alea %= 13;
- sprintf(string_temp, "%c", senaire_prefix[alea]);
- strcat(stringToCopy, string_temp);
- sprintf(senaire_final, senaire8bits((subdivisionsTab[x][y]) + numbTab[15] + numbTab[11] + numbTab[71] + numbTab[127]));
- string_random(senaire_final, 0, numbTab[64], 0);
- string_leftRotation(senaire_final, numbTab[125]);
- string_reverse(senaire_final);
- subBox(senaire_final, subtitBox);
- strcat(stringToCopy, senaire_final);
- }
- }
- else
- return 1;
- }
- string_random(stringToCopy, 0, 7895, 0);
- string_leftRotation(stringToCopy, 25);
- string_random(stringToCopy, 0, strlen(stringToCopy), 0);
- string_rightRotation(stringToCopy, 23);
- string_reverse(stringToCopy);
- string_random(stringToCopy, 12, strlen(stringToCopy) * 2, 0);
- for (x = 0; x < numbOf_subdivision; x++)
- free(subdivisionsTab[x]);
- free(subdivisionsTab);
- free(randsTab);
- free(randResult);
- free(stringToCopy);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement