Advertisement
tulen_pod_soysom

Untitled

Oct 4th, 2022
750
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.63 KB | Cybersecurity | 0 0
  1.  
  2.  
  3.     // Матрица начальной перестановки IP
  4.     T1 = {
  5.         58,  50,  42,  34,  26,  18,  10,   2,
  6.         60,  52,  44,  36,  28,  20,  12,   4,
  7.         62,  54,  46,  38,  30,  22,  14,   6,
  8.         64,  56,  48,  40,  32,  24,  16,   8,
  9.         57,  49,  41,  33,  25,  17,   9,   1,
  10.         59,  51,  43,  35,  27,  19,  11,   3,
  11.         61,  53,  45,  37,  29,  21,  13,   5,
  12.         63,  55,  47,  39,  31,  23,  15,   7
  13.     };
  14.  
  15.     // Матрица обратной перестановки IP^-1
  16.     T2 = {
  17.         40,   8,  48,  16,  56,  24,  64,  32,
  18.         39,   7,  47,  15,  55,  23,  63,  31,
  19.         38,   6,  46,  14,  54,  22,  62,  30,
  20.         37,   5,  45,  13,  53,  21,  61,  29,
  21.         36,   4,  44,  12,  52,  20,  60,  28,
  22.         35,   3,  43,  11,  51,  19,  59,  27,
  23.         34,   2,  42,  10,  50,  18,  58,  26,
  24.         33,   1,  41,   9,  49,  17,  57,  25
  25.     };
  26.  
  27.     // Функция расширения E
  28.     T3 = {
  29.         32,   1,   2,   3,   4,   5,
  30.          4,   5,   6,   7,   8,   9,
  31.          8,   9,  10,  11,  12,  13,
  32.         12,  13,  14,  15,  16,  17,
  33.         16,  17,  18,  19,  20,  21,
  34.         20,  21,  22,  23,  24,  25,
  35.         24,  25,  26,  27,  28,  29,
  36.         28,  29,  30,  31,  32,   1
  37.     };
  38.  
  39.  
  40.     /* 16 * (8*4)*/
  41.     T4 = {
  42.         14,  4, 13,  1,  2, 15, 11,  8,  3, 10,  6, 12,  5,  9,  0,  7,
  43.          0, 15,  7,  4, 14,  2, 13,  1, 10,  6, 12, 11,  9,  5,  3,  8,
  44.          4,  1, 14,  8, 13,  6,  2, 11, 15, 12,  9,  7,  3, 10,  5,  0,
  45.         15, 12,  8,  2,  4,  9,  1,  7,  5, 11,  3, 14, 10,  0,  6, 13,
  46.  
  47.         15,  1,  8, 14,  6, 11,  3,  4,  9,  7,  2, 13, 12,  0,  5, 10,
  48.          3, 13,  4,  7, 15,  2,  8, 14, 12,  0,  1, 10,  6,  9, 11,  5,
  49.          0, 14,  7, 11, 10,  4, 13,  1,  5,  8, 12,  6,  9,  3,  2, 15,
  50.         13,  8, 10,  1,  3, 15,  4,  2, 11,  6,  7, 12,  0,  5, 14,  9,
  51.  
  52.         10,  0,  9, 14,  6,  3, 15,  5,  1, 13, 12,  7, 11,  4,  2,  8,
  53.         13,  7,  0,  9,  3,  4,  6, 10,  2,  8,  5, 14, 12, 11, 15,  1,
  54.         13,  6,  4,  9,  8, 15,  3,  0, 11,  1,  2, 12,  5, 10, 14,  7,
  55.          1, 10, 13,  0,  6,  9,  8,  7,  4, 15, 14,  3, 11,  5,  2, 12,
  56.  
  57.         7, 13, 14,  3,  0,  6,  9, 10,  1,  2,  8,  5, 11, 12,  4, 15,
  58.        13,  8, 11,  5,  6, 15,  0,  3,  4,  7,  2, 12,  1, 10, 14,  9,
  59.        10,  6,  9,  0, 12, 11,  7, 13, 15,  1,  3, 14,  5,  2,  8,  4,
  60.         3, 15,  0,  6, 10,  1, 13,  8,  9,  4,  5, 11, 12,  7,  2, 14,
  61.  
  62.         2, 12,  4,  1,  7, 10, 11,  6,  8,  5,  3, 15, 13,  0, 14,  9,
  63.        14, 11,  2, 12,  4,  7, 13,  1,  5,  0, 15, 10,  3,  9,  8,  6,
  64.         4,  2,  1, 11, 10, 13,  7,  8, 15,  9, 12,  5,  6,  3,  0, 14,
  65.        11,  8, 12,  7,  1, 14,  2, 13,  6, 15,  0,  9, 10,  4,  5,  3,
  66.  
  67.        12,  1, 10, 15,  9,  2,  6,  8,  0, 13,  3,  4, 14,  7,  5, 11,
  68.        10, 15,  4,  2,  7, 12,  9,  5,  6,  1, 13, 14,  0, 11,  3,  8,
  69.         9, 14, 15,  5,  2,  8, 12,  3,  7,  0,  4, 10,  1, 13, 11,  6,
  70.         4,  3,  2, 12,  9,  5, 15, 10, 11, 14,  1,  7,  6,  0,  8, 13,
  71.  
  72.         4, 11,  2, 14, 15,  0,  8, 13,  3, 12,  9,  7,  5, 10,  6,  1,
  73.        13,  0, 11,  7,  4,  9,  1, 10, 14,  3,  5, 12,  2, 15,  8,  6,
  74.         1,  4, 11, 13, 12,  3,  7, 14, 10, 15,  6,  8,  0,  5,  9,  2,
  75.         6, 11, 13,  8,  1,  4, 10,  7,  9,  5,  0, 15, 14,  2,  3, 12,
  76.  
  77.         13,  2,  8,  4,  6, 15, 11,  1, 10,  9,  3, 14,  5,  0, 12,  7,
  78.          1, 15, 13,  8, 10,  3,  7,  4, 12,  5,  6, 11,  0, 14,  9,  2,
  79.          7, 11,  4,  1,  9, 12, 14,  2,  0,  6, 10, 13, 15,  3,  5,  8,
  80.          2,  1, 14,  7,  4, 10,  8, 13, 15, 12,  9,  0,  3,  5,  6, 11
  81.     };
  82.  
  83.     //Функция перестановки P
  84.     T5 = {
  85.         16,   7,  20,  21,
  86.         29,  12,  28,  17,
  87.          1,  15,  23,  26,
  88.          5,  18,  31,  10,
  89.          2,   8,  24,  14,
  90.         32,  27,   3,   9,
  91.         19,  13,  30,   6,
  92.         22,  11,  04,  25
  93.     };
  94.  
  95.     // Матрица G первоначальной подготовки ключа
  96.     T6 = {
  97.         57,  49,  41,  33,  25,  17,   9,
  98.          1,  58,  50,  42,  34,  26,  18,
  99.         10,   2,  59,  51,  43,  35,  27,
  100.         19,  11,  03,  60,  52,  44,  36,
  101.         63,  55,  47,  39,  31,  23,  15,
  102.          7,  62,  54,  46,  38,  30,  22,
  103.         14,  06,  61,  53,  45,  37,  29,
  104.         21,  13,  05,  28,  20,  12,   4,
  105.     };
  106.  
  107.     //Таблица сдвигов для вычисления ключа
  108.     T7 = {
  109.         1,
  110.         1,
  111.         2,
  112.         2,
  113.         2,
  114.         2,
  115.         2,
  116.         2,
  117.         1,
  118.         2,
  119.         2,
  120.         2,
  121.         2,
  122.         2,
  123.         2,
  124.         1,
  125.     };
  126.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement