В результате перестановки за таблицей получаем последовательности из 48-ми бит:
C1D1 = 1111111 1111111 1000000 0010001 0110001 1011100 1100001 0100101
K1 = 101111 111101 001101 010011 001000 111000 111100 000100
C2D2 = 1111111 1111111 0000000 0100011 1100011 0111001 1000010 1001010
K2 = 101011 110101 101101 011011 000101 100001 001011 011010
C3D3 = 1111111 1111100 0000001 0001111 0001101 1100110 0001010 0101011
K3 = 001011 110111 001111 011001 100101 010011 000101 100101
C4D4 = 1111111 1110000 0000100 0111111 0110111 0011000 0101001 0101100
K4 = 000111 110101 110111 011001 001000 101010 111011 100000
C5D5 = 1111111 1000000 0010001 1111111 1011100 1100001 0100101 0110001
K5 = 000111 110110 100111 011001 011110 001010 110100 010111
C6D6 = 1111110 0000000 1000111 1111111 1110011 0000101 0010101 1000110
K6 = 000111 111110 110110 001101 001011 110100 010010 011010
C7D7 = 1111000 0000010 0011111 1111111 1001100 0010100 1010110 0011011
K7 = 010110 110010 110110 001111 010011 010111 000101 000011
C8D8 = 1100000 0001000 1111111 1111111 0110000 1010010 1011000 1101110
K8 = 011110 011010 110010 101101 101001 101100 000001 101100
C9D9 = 1000000 0010001 1111111 1111111 1100001 0100101 0110001 1011100
K9 = 110110 011011 110010 101100 010100 110100 110001 011010
C10D10 = 0000000 1000111 1111111 1111110 0000101 0010101 1000110 1110011
K10 = 110100 001010 111011 101110 010011 011011 000100 011000
C11D11 = 0000010 0011111 1111111 1111000 0010100 1010110 0011011 1001100
K11 = 111100 001111 111000 100110 101000 010111 010001 101100
C12D12 = 0001000 1111111 1111111 1100000 1010010 1011000 1101110 0110000
K12 = 111000 001011 111101 100110 011010 001001 101010 100110
C13D13 = 0100011 1111111 1111111 0000000 1001010 1100011 0111001 1000010
K13 = 111000 001111 011001 110111 100101 000100 110010 111111
C14D14 = 0001111 1111111 1111100 0000001 0101011 0001101 1100110 0001010
K14 = 111001 011101 011101 110010 000011 110001 101011 010001
C15D15 = 0111111 1111111 1110000 0000100 0101100 0110111 0011000 0101001
K15 = 111001 101101 001111 110011 100100 111110 000101 110001
C16D16 = 1111111 1111111 1100000 0001000 1011000 1101110 0110000 1010010
K16 = 101111 111101 001101 010011 001000 111000 111100 000100
Итерация 1.
Расширяем входное значение до 48 битов для последующего сложения с ключом раунда. Над 32-битным входом выполняется расширяющая перестановка согласно таблице E:
R0: 1111 1111 0000 0000 0001 1111 1001 1100
Получаем последовательность из 48-ми битным входом:
E(R0): 011111 111110 100000 000000 000011 111111 110011 111001
Произведем операцию XOR (сложение по модулю 2) по формуле E(Rn-1) XOR ключ Kn. На первой итерации это K1 E(R0):
Осуществим S-подстановку за таблицами, преобразуем 6-битовые числа в 4-битовые:
K1 E(R0) = B1B2B3B4B5B6B7B8:
110000 000011 101101 010011 001011 000111 001111 111101
Номер S-блока | Исходное число ![]() | Строка; столбец | Значение | Двоичное значение |
S1 | 2; 8 | |||
S2 | 1; 1 | |||
S3 | 3; 6 | |||
S4 | 1; 9 | |||
S5 | 1; 5 | |||
S6 | 1; 3 | |||
S7 | 1; 7 | |||
S8 | 3; 14 |
S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8):
1111 1101 1000 0111 0111 0010 1010 0110
Выполним функцию перестановки за таблицей P:
f = P[S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8)]:
1010 0000 1110 1110 1101 0111 1011 0011
Конечный результат после 1 итерации:
L0: 1111 1111 0000 0000 0100 1001 0101 0001
f(R0,K1): 1010 0000 1110 1110 1101 0111 1011 0011
R1 = L0 f(R0,K1):
R1: 0101 1111 1110 1110 1001 1110 1110 0010
L1 = R0: 1111 1111 0000 0000 0001 1111 1001 1100
Итерация 2.
Расширяем входное значение до 48 битов для последующего сложения с ключом раунда. Над 32-битным входом выполняется расширяющая перестановка согласно таблице E:
R1: 0101 1111 1110 1110 1001 1110 1110 0010
Получаем последовательность из 48-ми битным входом:
E(R1): 001011 111111 111101 011101 010011 111101 011100 000100
Произведем операцию XOR (сложение по модулю 2) по формуле E(Rn-1) XOR ключ Kn. На первой итерации это K2 E(R1):
Осуществим S-подстановку за таблицами, преобразуем 6-битовые числа в 4-битовые:
K2 E(R1) = B1B2B3B4B5B6B7B8:
100000 001010 010000 000110 010110 011100 010111 011110
Номер S-блока | Исходное число ![]() | Строка; столбец | Значение | Двоичное значение |
S1 | 2; 0 | |||
S2 | 0; 5 | |||
S3 | 0; 8 | |||
S4 | 0; 14 | |||
S5 | 0; 11 | |||
S6 | 0; 14 | |||
S7 | 1; 11 | |||
S8 | 0; 15 |
S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8):
0100 1011 0001 0100 1111 0101 1100 0111
Выполним функцию перестановки за таблицей P:
f = P[S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8)]:
0110 0101 0001 1110 1111 1000 1010 1001
Конечный результат после 2 итерации:
L1: 1111 1111 0000 0000 0001 1111 1001 1100
f(R1,K2): 0110 0101 0001 1110 1111 1000 1010 1001
R2 = L1 f(R1,K2):
R2: 1001 1010 0001 1110 1110 0111 0011 0101
L2 = R1: 0101 1111 1110 1110 1001 1110 1110 0010
Итерация 3.
Расширяем входное значение до 48 битов для последующего сложения с ключом раунда. Над 32-битным входом выполняется расширяющая перестановка согласно таблице E:
R2: 1001 1010 0001 1110 1110 0111 0011 0101
Получаем последовательность из 48-ми битным входом:
E(R2): 110011 110100 000011 111101 011100 001110 100110 101011
Произведем операцию XOR (сложение по модулю 2) по формуле E(Rn-1) XOR ключ Kn. На первой итерации это K3 E(R2):
Осуществим S-подстановку за таблицами, преобразуем 6-битовые числа в 4-битовые:
K3 E(R2) = B1B2B3B4B5B6B7B8:
111000 000011 001100 100100 111001 011101 100011 001110
Номер S-блока | Исходное число ![]() | Строка; столбец | Значение | Двоичное значение |
S1 | 2; 12 | |||
S2 | 1; 1 | |||
S3 | 0; 6 | |||
S4 | 2; 2 | |||
S5 | 3; 12 | |||
S6 | 1; 14 | |||
S7 | 3; 1 | |||
S8 | 0; 7 |
S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8):
0011 1101 1111 1001 1010 0011 1011 0001
Выполним функцию перестановки за таблицей P:
f = P[S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8)]:
1000 0111 0010 1001 0110 1111 1101 0111
Конечный результат после 3 итерации:
L2: 0101 1111 1110 1110 1001 1110 1110 0010
f(R2,K3): 1000 0111 0010 1001 0110 1111 1101 0111
R3 = L2 f(R2,K3):
R3: 1101 1000 1100 0111 1111 0001 0011 0101
L3 = R2: 1001 1010 0001 1110 1110 0111 0011 0101
Итерация 4.
Расширяем входное значение до 48 битов для последующего сложения с ключом раунда. Над 32-битным входом выполняется расширяющая перестановка согласно таблице E:
R3: 1101 1000 1100 0111 1111 0001 0011 0101
Получаем последовательность из 48-ми битным входом:
E(R3): 111011 110001 011000 001111 111110 100010 100110 101011
Произведем операцию XOR (сложение по модулю 2) по формуле E(Rn-1) XOR ключ Kn. На первой итерации это K4 E(R3):
Осуществим S-подстановку за таблицами, преобразуем 6-битовые числа в 4-битовые:
K4 E(R3) = B1B2B3B4B5B6B7B8:
111100 000100 101111 010110 110110 001000 011101 001011
Номер S-блока | Исходное число ![]() | Строка; столбец | Значение | Двоичное значение |
S1 | 2; 14 | |||
S2 | 0; 2 | |||
S3 | 3; 7 | |||
S4 | 0; 11 | |||
S5 | 2; 11 | |||
S6 | 0; 4 | |||
S7 | 1; 14 | |||
S8 | 1; 5 |
S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8):
0101 1000 0111 0101 0101 1001 1000 0011
Выполним функцию перестановки за таблицей P:
f = P[S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8)]:
1011 0100 0000 1111 1011 1000 0000 0111
Конечный результат после 4 итерации:
L3: 1001 1010 0001 1110 1110 0111 0011 0101
f(R3,K4): 1011 0100 0000 1111 1011 1000 0000 0111
R4 = L3 f(R3,K4):
R4: 0010 1110 0001 0001 0101 1111 0011 0010
L4 = R3: 1101 1000 1100 0111 1111 0001 0011 0101
Итерация 5.
Расширяем входное значение до 48 битов для последующего сложения с ключом раунда. Над 32-битным входом выполняется расширяющая перестановка согласно таблице E:
R4: 0010 1110 0001 0001 0101 1111 0011 0010
Получаем последовательность из 48-ми битным входом:
E(R4): 000101 011100 000010 100010 101011 111111 110110 100100
Произведем операцию XOR (сложение по модулю 2) по формуле E(Rn-1) XOR ключ Kn. На первой итерации это K5 E(R4):
Осуществим S-подстановку за таблицами, преобразуем 6-битовые числа в 4-битовые:
K5 E(R4) = B1B2B3B4B5B6B7B8:
000010 101010 100101 111011 110101 110101 000110 110011
Номер S-блока | Исходное число ![]() | Строка; столбец | Значение | Двоичное значение |
S1 | 0; 1 | |||
S2 | 2; 5 | |||
S3 | 3; 2 | |||
S4 | 3; 13 | |||
S5 | 3; 10 | |||
S6 | 3; 10 | |||
S7 | 0; 3 | |||
S8 | 3; 9 |
S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8):
0100 0100 1101 0111 0000 0001 1110 1100
Выполним функцию перестановки за таблицей P:
f = P[S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8)]:
1000 1101 0101 0001 1011 0101 0011 0001
Конечный результат после 5 итерации:
L4: 1101 1000 1100 0111 1111 0001 0011 0101
f(R4,K5): 1000 1101 0101 0001 1011 0101 0011 0001
R5 = L4 f(R4,K5):
R5: 0111 0101 1001 0110 0100 0100 0000 0100
L5 = R4: 0010 1110 0001 0001 0101 1111 0011 0010
Итерация 6.
Расширяем входное значение до 48 битов для последующего сложения с ключом раунда. Над 32-битным входом выполняется расширяющая перестановка согласно таблице E:
R5: 0111 0101 1001 0110 0100 0100 0000 0100
Получаем последовательность из 48-ми битным входом:
E(R5): 001110 101011 110010 101110 101000 001000 000000 001100
Произведем операцию XOR (сложение по модулю 2) по формуле E(Rn-1) XOR ключ Kn. На первой итерации это K6 E(R5):
Осуществим S-подстановку за таблицами, преобразуем 6-битовые числа в 4-битовые:
K6 E(R5) = B1B2B3B4B5B6B7B8:
001001 010101 000100 100011 100011 111100 010010 010110
Номер S-блока | Исходное число ![]() | Строка; столбец | Значение | Двоичное значение |
S1 | 1; 4 | |||
S2 | 1; 10 | |||
S3 | 0; 2 | |||
S4 | 3; 1 | |||
S5 | 3; 1 | |||
S6 | 2; 14 | |||
S7 | 0; 9 | |||
S8 | 0; 11 |
S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8):
1110 0001 1001 1111 1000 1011 1100 1110
Выполним функцию перестановки за таблицей P:
f = P[S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8)]:
1001 1101 1111 0010 1111 0011 0110 0001
Конечный результат после 6 итерации:
L5: 1101 1000 1100 0111 1111 0001 0011 0101
f(R5,K6): 1001 1101 1111 0010 1111 0011 0110 0001
R6 = L5 f(R5,K6):
R6: 0100 0101 0011 0101 0000 0010 0101 0100
L6 = R5: 0111 0101 1001 0110 0100 0100 0000 0100
Итерация 7.
Расширяем входное значение до 48 битов для последующего сложения с ключом раунда. Над 32-битным входом выполняется расширяющая перестановка согласно таблице E:
R6: 0100 0101 0011 0101 0000 0010 0101 0100
Получаем последовательность из 48-ми битным входом:
E(R6): 010000 001010 100110 101010 100000 000100 001010 101000
Произведем операцию XOR (сложение по модулю 2) по формуле E(Rn-1) XOR ключ Kn. На первой итерации это K7 E(R6):
Осуществим S-подстановку за таблицами, преобразуем 6-битовые числа в 4-битовые:
K7 E(R6) = B1B2B3B4B5B6B7B8:
000110 111000 010000 100101 110011 010011 001111 111011
Номер S-блока | Исходное число ![]() | Строка; столбец | Значение | Двоичное значение |
S1 | 0; 3 | |||
S2 | 2; 12 | |||
S3 | 0; 8 | |||
S4 | 3; 2 | |||
S5 | 3; 9 | |||
S6 | 1; 9 | |||
S7 | 1; 7 | |||
S8 | 3; 13 |
S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8):
0001 1001 0001 0000 1111 0001 1010 0101
Выполним функцию перестановки за таблицей P:
f = P[S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8)]:
0010 0101 0000 1100 0110 1100 1010 0011
Конечный результат после 7 итерации:
L6: 0111 0101 1001 0110 0100 0100 0000 0100
f(R6,K7): 0010 0101 0000 1100 0110 1100 1010 0011
R7 = L6 f(R6,K7):
R7: 0101 0000 1001 1010 0010 1000 1010 0111
L7 = R6: 0100 0101 0011 0101 0000 0010 0101 0100
Итерация 8.
Расширяем входное значение до 48 битов для последующего сложения с ключом раунда. Над 32-битным входом выполняется расширяющая перестановка согласно таблице E:
R7: 0101 0000 1001 1010 0010 1000 1010 0111
Получаем последовательность из 48-ми битным входом:
E(R7): 101010 000001 010011 110100 000101 010001 010100 001110
Произведем операцию XOR (сложение по модулю 2) по формуле E(Rn-1) XOR ключ Kn. На первой итерации это K8 E(R7):
Осуществим S-подстановку за таблицами, преобразуем 6-битовые числа в 4-битовые:
K8 E(R7) = B1B2B3B4B5B6B7B8:
110100 011011 100001 011001 101100 111101 010101 100010
Номер S-блока | Исходное число ![]() | Строка; столбец | Значение | Двоичное значение |
S1 | 2; 10 | |||
S2 | 1; 13 | |||
S3 | 3; 0 | |||
S4 | 1; 12 | |||
S5 | 2; 6 | |||
S6 | 3; 14 | |||
S7 | 1; 10 | |||
S8 | 2; 1 |
S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8):
1001 1001 0001 0001 0111 1000 0101 1011
Выполним функцию перестановки за таблицей P:
f = P[S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8)]:
1010 1110 1001 1110 0100 1000 1000 0010
Конечный результат после 8 итерации:
L7: 0100 0101 0011 0101 0000 0010 0101 0100
f(R7,K8): 1010 1110 1001 1110 0100 1000 1000 0010
R8 = L7 f(R7,K8):
R8: 1110 1011 1010 1011 0100 1010 1101 0110
L8 = R7: 0101 0000 1001 1010 0010 1000 1010 0111
Итерация 9.
Расширяем входное значение до 48 битов для последующего сложения с ключом раунда. Над 32-битным входом выполняется расширяющая перестановка согласно таблице E:
R8: 1110 1011 1010 1011 0100 1010 1101 0110
Получаем последовательность из 48-ми битным входом:
E(R8): 011101 010111 110101 010110 101001 010101 011010 101101
Произведем операцию XOR (сложение по модулю 2) по формуле E(Rn-1) XOR ключ Kn. На первой итерации это K9 E(R8):
Осуществим S-подстановку за таблицами, преобразуем 6-битовые числа в 4-битовые:
K9 E(R8) = B1B2B3B4B5B6B7B8:
101011 001100 000111 111010 111101 100001 101011 110111
Номер S-блока | Исходное число ![]() | Строка; столбец | Значение | Двоичное значение |
S1 | 3; 5 | |||
S2 | 0; 6 | |||
S3 | 1; 3 | |||
S4 | 2; 13 | |||
S5 | 3; 14 | |||
S6 | 3; 0 | |||
S7 | 3; 5 | |||
S8 | 3; 11 |
S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8):
1001 0011 1001 0010 0101 0100 0100 0000
Выполним функцию перестановки за таблицей P:
f = P[S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8)]:
0100 0100 1101 0100 0100 0001 0000 1010
Конечный результат после 9 итерации:
L8: 0100 0101 0011 0101 0000 0010 0101 0100
f(R8,K9): 0100 0100 1101 0100 0100 0001 0000 1010
R9 = L8 f(R8,K9):
R9: 0001 0100 0100 1110 0110 1001 1010 1101
L9 = R8: 1110 1011 1010 1011 0100 1010 1101 0110
Итерация 10.
Расширяем входное значение до 48 битов для последующего сложения с ключом раунда. Над 32-битным входом выполняется расширяющая перестановка согласно таблице E:
R9: 0001 0100 0100 1110 0110 1001 1010 1101
Получаем последовательность из 48-ми битным входом:
E(R9): 100010 101000 001001 011100 001101 010011 110101 011010
Произведем операцию XOR (сложение по модулю 2) по формуле E(Rn-1) XOR ключ Kn. На первой итерации это K10 E(R9):
Осуществим S-подстановку за таблицами, преобразуем 6-битовые числа в 4-битовые:
K10 E(R9) = B1B2B3B4B5B6B7B8:
010110 100010 110010 110010 011110 001000 110001 000010
Номер S-блока | Исходное число ![]() | Строка; столбец | Значение | Двоичное значение |
S1 | 0; 11 | |||
S2 | 2; 1 | |||
S3 | 2; 9 | |||
S4 | 2; 9 | |||
S5 | 0; 15 | |||
S6 | 0; 4 | |||
S7 | 3; 8 | |||
S8 | 0; 1 |
S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8):
1100 1110 0001 0001 1001 1001 1001 0010
Выполним функцию перестановки за таблицей P:
f = P[S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8)]:
1111 0111 1000 1010 1010 0000 0001 0001
Конечный результат после 10 итерации:
L9: 1110 1011 1010 1011 0100 1010 1101 0110
f(R9,K10): 1111 0111 1000 1010 1010 0000 0001 0001
R10 = L9 f(R9,K10):
R10: 0001 1100 0010 0001 1110 1010 1100 0111
L10 = R9: 0001 0100 0100 1110 0110 1001 1010 1101
Итерация 11.
Расширяем входное значение до 48 битов для последующего сложения с ключом раунда. Над 32-битным входом выполняется расширяющая перестановка согласно таблице E:
R10: 0001 1100 0010 0001 1110 1010 1100 0111
Получаем последовательность из 48-ми битным входом:
E(R10): 100011 111000 000100 000011 111101 010101 011000 001110
Произведем операцию XOR (сложение по модулю 2) по формуле E(Rn-1) XOR ключ Kn. На первой итерации это K11 E(R10):
Осуществим S-подстановку за таблицами, преобразуем 6-битовые числа в 4-битовые:
K11 E(R10) = B1B2B3B4B5B6B7B8:
011111 110111 111100 100101 010111 000010 011001 100010
Номер S-блока | Исходное число ![]() | Строка; столбец | Значение | Двоичное значение |
S1 | 1; 15 | |||
S2 | 3; 11 | |||
S3 | 2; 14 | |||
S4 | 3; 2 | |||
S5 | 1; 11 | |||
S6 | 0; 1 | |||
S7 | 1; 12 | |||
S8 | 2; 1 |
S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8):
1000 1100 1110 0000 1010 0001 0010 1011
Выполним функцию перестановки за таблицей P:
f = P[S(B1)S(B2)S(B3)S(B4)S(B5)S(B6)S(B7)S(B8)]:
0001 1001 1000 1011 0010 1101 1001 0100
Конечный результат после 11 итерации:
L10: 0001 0100 0100 1110 0110 1001 1010 1101
f(R10,K11): 0001 1001 1000 1011 0010 1101 1001 0100
R11 = L10 f(R10,K11):
R11: 0000 1101 1100 0101 0100 0100 0011 1001
L11 = R10: 0001 1100 0010 0001 1110 1010 1100 0111
Итерация 12.
Расширяем входное значение до 48 битов для последующего сложения с ключом раунда. Над 32-битным входом выполняется расширяющая перестановка согласно таблице E:
R11: 0000 1101 1100 0101 0100 0100 0011 1001
Получаем последовательность из 48-ми битным входом:
E(R11): 100001 011011 111000 001010 101000 001000 000111 110010
Произведем операцию XOR (сложение по модулю 2) по формуле E(Rn-1) XOR ключ Kn. На первой итерации это K