まずは内部鍵を求めておきましょう。 共通鍵KEY(64)が次のようなビット列の場合( ‾ のところが奇数パリティビット) KEY = 10010111 11001011 11110010 10111111 10001001 11000010 11101001 11000010 ‾ ‾ ‾ ‾ ‾ ‾ ‾ ‾ 共通鍵KEY(64)を縮約型転置PC1した結果(56) C,D 0 = 11111111 11100110 01001100 0000 1010 11110000 10010101 10101101 循環左シフトをした結果C(28),D(28) C,D 1 = 11111111 11001100 10011000 0001 0101 11100001 00101011 01011011 C,D 2 = 11111111 10011001 00110000 0011 1011 11000010 01010110 10110110 C,D 3 = 11111110 01100100 11000000 1111 1111 00001001 01011010 11011010 C,D 4 = 11111001 10010011 00000011 1111 1100 00100101 01101011 01101011 C,D 5 = 11100110 01001100 00001111 1111 0000 10010101 10101101 10101111 C,D 6 = 10011001 00110000 00111111 1111 0010 01010110 10110110 10111100 C,D 7 = 01100100 11000000 11111111 1110 1001 01011010 11011010 11110000 C,D 8 = 10010011 00000011 11111111 1001 0101 01101011 01101011 11000010 C,D 9 = 00100110 00000111 11111111 0011 1010 11010110 11010111 10000100 C,D10 = 10011000 00011111 11111100 1100 1011 01011011 01011110 00010010 C,D11 = 01100000 01111111 11110011 0010 1101 01101101 01111000 01001010 C,D12 = 10000001 11111111 11001100 1001 0101 10110101 11100001 00101011 C,D13 = 00000111 11111111 00110010 0110 0110 11010111 10000100 10101101 C,D14 = 00011111 11111100 11001001 1000 1011 01011110 00010010 10110101 C,D15 = 01111111 11110011 00100110 0000 1101 01111000 01001010 11010110 C,D16 = 11111111 11100110 01001100 0000 1010 11110000 10010101 10101101 C,D(56)から縮約型転置PC2後に生成される内部鍵(48) K1〜K16 K 1 = 11001111 01110001 01010111 01001111 01110001 11001001 K 2 = 00001111 01000111 01111111 01101100 10101110 10110011 K 3 = 11101111 01010001 10011001 01111111 01001100 01011011 K 4 = 00011111 10001011 11101001 00001111 11010001 01011010 K 5 = 10011011 01111000 10011011 10000101 11110101 01100100 K 6 = 00111101 00101111 11001100 11101000 10001110 11100100 K 7 = 01010010 01111100 10001101 11011000 11001110 10011111 K 8 = 01011001 10101101 01110100 00011111 01010110 10011001 K 9 = 11010011 11101100 00111100 10101000 00111110 10110110 K10 = 11001100 10100111 10100110 01111101 01001010 10110111 K11 = 11110010 10011110 00101111 00010111 01001000 11011011 K12 = 11101001 10110010 01100010 10000111 10110001 01010101 K13 = 10100000 11011110 11111110 10100011 10100111 11100100 K14 = 11110100 01110011 01010010 01111000 10001111 10000111 K15 = 00100110 11011111 01110001 01011110 01000100 10011111 K16 = 10101110 11110001 01010001 10100000 10111101 11100110 では実際に、平文から暗号文を求めてみましょう。 平文が「TestData」とした場合 平文0 = T ---> 01010100 平文1 = e ---> 01100101 平文2 = s ---> 01110011 平文3 = t ---> 01110100 平文4 = D ---> 01000100 平文5 = a ---> 01100001 平文6 = t ---> 01110100 平文7 = a ---> 01100001 平文(64) 平文 = 01010100 01100101 01110011 01110100 01000100 01100001 01110100 01100001 初期転置IP後(64) L,R 0 = 11111111 01001101 01011011 10100110 00000000 11101110 00000000 00000100 第1段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R 0 = 00000000 11101110 00000000 00000100 ---> L 1 R' 0 = 00000000 00010111 01011100 00000000 00000000 00001000 K 1 = 11001111 01110001 01010111 01001111 01110001 11001001 R'eorK = 11001111 01100110 00001011 01001111 01110001 11000001 ---> S in 各Sボックスへの入力  S in = 110011 110110 011000 001011 010011 110111 000111 000001  S1 行 = 3, 列 = 9, out10進 = 11, out = 1101  S2 行 = 2, 列 = 11, out10進 = 6, out = 0110  S3 行 = 0, 列 = 12, out10進 = 11, out = 1101  S4 行 = 1, 列 = 5, out10進 = 15, out = 1111  S5 行 = 1, 列 = 9, out10進 = 0, out = 0000  S6 行 = 3, 列 = 11, out10進 = 7, out = 1110  S7 行 = 1, 列 = 3, out10進 = 7, out = 1110  S8 行 = 1, 列 = 0, out10進 = 1, out = 1000 各Sボックスの通過後(32) S out = 11010110 11011111 00001110 11101000 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 11011100 11110001 10010101 01011011 L 0 = 11111111 01001101 01011011 10100110 feorL = 00100011 10111100 11001110 11111101 ---> R 1 以上の結果より、次の段へのL,R(64)は L,R 1 = 00000000 11101110 00000000 00000100 00100011 10111100 11001110 11111101 第2段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R 1 = 00100011 10111100 11001110 11111101 ---> L 2 R' 1 = 10010000 01111101 11111001 01100101 11010111 11111010 K 2 = 00001111 01000111 01111111 01101100 10101110 10110011 R'eorK = 10011111 00111010 10000110 00001001 01111001 01001001 ---> S in 各Sボックスへの入力  S in = 100111 110011 101010 000110 000010 010111 100101 001001  S1 行 = 3, 列 = 3, out10進 = 2, out = 0100  S2 行 = 3, 列 = 9, out10進 = 6, out = 0110  S3 行 = 2, 列 = 5, out10進 = 15, out = 1111  S4 行 = 0, 列 = 3, out10進 = 3, out = 1100  S5 行 = 0, 列 = 1, out10進 = 12, out = 0011  S6 行 = 1, 列 = 11, out10進 = 14, out = 0111  S7 行 = 3, 列 = 2, out10進 = 13, out = 1011  S8 行 = 1, 列 = 4, out10進 = 10, out = 0101 各Sボックスの通過後(32) S out = 01000110 11111100 00110111 10110101 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 01100110 00100001 10111101 11111101 L 1 = 00000000 11101110 00000000 00000100 feorL = 01100110 11001111 10111101 11111001 ---> R 2 以上の結果より、次の段へのL,R(64)は L,R 2 = 00100011 10111100 11001110 11111101 01100110 11001111 10111101 11111001 第3段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R 2 = 01100110 11001111 10111101 11111001 ---> L 3 R' 2 = 10110000 11010110 01011111 11011111 10111111 11110010 K 3 = 11101111 01010001 10011001 01111111 01001100 01011011 R'eorK = 01011111 10000111 11000110 10100000 11110011 10101001 ---> S in 各Sボックスへの入力  S in = 010111 111000 011111 000110 101000 001111 001110 101001  S1 行 = 1, 列 = 11, out10進 = 11, out = 1101  S2 行 = 2, 列 = 12, out10進 = 9, out = 1001  S3 行 = 1, 列 = 15, out10進 = 1, out = 1000  S4 行 = 0, 列 = 3, out10進 = 3, out = 1100  S5 行 = 2, 列 = 4, out10進 = 10, out = 0101  S6 行 = 1, 列 = 7, out10進 = 5, out = 1010  S7 行 = 0, 列 = 7, out10進 = 13, out = 1011  S8 行 = 3, 列 = 4, out10進 = 4, out = 0010 各Sボックスの通過後(32) S out = 11011001 10001100 01011010 10110010 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 00110010 10101110 11010101 01000011 L 2 = 00100011 10111100 11001110 11111101 feorL = 00010001 00010010 00011011 10111110 ---> R 3 以上の結果より、次の段へのL,R(64)は L,R 3 = 01100110 11001111 10111101 11111001 00010001 00010010 00011011 10111110 第4段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R 3 = 00010001 00010010 00011011 10111110 ---> L 4 R' 3 = 00001010 00101000 10100100 00001111 01111101 11111100 K 4 = 00011111 10001011 11101001 00001111 11010001 01011010 R'eorK = 00010101 10100011 01001101 00000000 10101100 10100110 ---> S in 各Sボックスへの入力  S in = 000101 011010 001101 001101 000000 001010 110010 100110  S1 行 = 1, 列 = 2, out10進 = 7, out = 1110  S2 行 = 0, 列 = 13, out10進 = 0, out = 0000  S3 行 = 1, 列 = 6, out10進 = 6, out = 0110  S4 行 = 1, 列 = 6, out10進 = 0, out = 0000  S5 行 = 0, 列 = 0, out10進 = 2, out = 0100  S6 行 = 0, 列 = 5, out10進 = 2, out = 0100  S7 行 = 2, 列 = 9, out10進 = 15, out = 1111  S8 行 = 2, 列 = 3, out10進 = 1, out = 1000 各Sボックスの通過後(32) S out = 11100000 01100000 01000100 11111000 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 00001010 10010101 10000110 00001101 L 3 = 01100110 11001111 10111101 11111001 feorL = 01101100 01011010 00111011 11110100 ---> R 4 以上の結果より、次の段へのL,R(64)は L,R 4 = 00010001 00010010 00011011 10111110 01101100 01011010 00111011 11110100 第5段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R 4 = 01101100 01011010 00111011 11110100 ---> L 5 R' 4 = 00110101 10000010 11110100 00011111 01111111 10101000 K 5 = 10011011 01111000 10011011 10000101 11110101 01100100 R'eorK = 10101110 11111010 01101111 10011010 10001010 11001100 ---> S in 各Sボックスへの入力  S in = 101011 101111 101001 101111 100110 101000 101011 001100  S1 行 = 3, 列 = 5, out10進 = 9, out = 1001  S2 行 = 3, 列 = 7, out10進 = 2, out = 0100  S3 行 = 3, 列 = 4, out10進 = 6, out = 0110  S4 行 = 3, 列 = 7, out10進 = 8, out = 0001  S5 行 = 2, 列 = 3, out10進 = 11, out = 1101  S6 行 = 2, 列 = 4, out10進 = 2, out = 0100  S7 行 = 3, 列 = 5, out10進 = 4, out = 0010  S8 行 = 0, 列 = 6, out10進 = 11, out = 1101 各Sボックスの通過後(32) S out = 10010100 01100001 11010100 00101101 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 10101001 10000101 00001100 00111110 L 4 = 00010001 00010010 00011011 10111110 feorL = 10111000 10010111 00010111 10000000 ---> R 5 以上の結果より、次の段へのL,R(64)は L,R 5 = 01101100 01011010 00111011 11110100 10111000 10010111 00010111 10000000 第6段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R 5 = 10111000 10010111 00010111 10000000 ---> L 6 R' 5 = 01011111 00010100 10101110 10001010 11111100 00000001 K 6 = 00111101 00101111 11001100 11101000 10001110 11100100 R'eorK = 01100010 00111011 01100010 01100010 01110010 11100101 ---> S in 各Sボックスへの入力  S in = 011000 100011 101101 100010 011000 100111 001011 100101  S1 行 = 0, 列 = 12, out10進 = 5, out = 1010  S2 行 = 3, 列 = 1, out10進 = 8, out = 0001  S3 行 = 3, 列 = 6, out10進 = 8, out = 0001  S4 行 = 2, 列 = 1, out10進 = 6, out = 0110  S5 行 = 0, 列 = 12, out10進 = 13, out = 1011  S6 行 = 3, 列 = 3, out10進 = 12, out = 0011  S7 行 = 1, 列 = 5, out10進 = 9, out = 1001  S8 行 = 3, 列 = 2, out10進 = 14, out = 0111 各Sボックスの通過後(32) S out = 10100001 00010110 10110011 10010111 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 00100111 11100010 01111010 10100001 L 5 = 01101100 01011010 00111011 11110100 feorL = 01001011 10111000 01000001 01010101 ---> R 6 以上の結果より、次の段へのL,R(64)は L,R 6 = 10111000 10010111 00010111 10000000 01001011 10111000 01000001 01010101 第7段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R 6 = 01001011 10111000 01000001 01010101 ---> L 7 R' 6 = 10100101 01111101 11110000 00100000 00101010 10101010 K 7 = 01010010 01111100 10001101 11011000 11001110 10011111 R'eorK = 11110111 00000001 01111101 11111000 11100100 00110101 ---> S in 各Sボックスへの入力  S in = 111101 110000 000101 111101 111110 001110 010000 110101  S1 行 = 3, 列 = 14, out10進 = 6, out = 0110  S2 行 = 2, 列 = 8, out10進 = 5, out = 1010  S3 行 = 1, 列 = 2, out10進 = 0, out = 0000  S4 行 = 3, 列 = 14, out10進 = 2, out = 0100  S5 行 = 2, 列 = 15, out10進 = 14, out = 0111  S6 行 = 0, 列 = 7, out10進 = 8, out = 0001  S7 行 = 0, 列 = 8, out10進 = 3, out = 1100  S8 行 = 3, 列 = 10, out10進 = 9, out = 1001 各Sボックスの通過後(32) S out = 01101010 00000100 01110001 11001001 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 01101000 00011100 10111010 10000001 L 6 = 10111000 10010111 00010111 10000000 feorL = 11010000 10001011 10101101 00000001 ---> R 7 以上の結果より、次の段へのL,R(64)は L,R 7 = 01001011 10111000 01000001 01010101 11010000 10001011 10101101 00000001 第8段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R 7 = 11010000 10001011 10101101 00000001 ---> L 8 R' 7 = 11101010 00010100 01010111 11010101 10101000 00000011 K 8 = 01011001 10101101 01110100 00011111 01010110 10011001 R'eorK = 10110011 10111001 00100011 11001010 11111110 10011010 ---> S in 各Sボックスへの入力  S in = 101100 111011 100100 100011 110010 101111 111010 011010  S1 行 = 2, 列 = 6, out10進 = 2, out = 0100  S2 行 = 3, 列 = 13, out10進 = 5, out = 1010  S3 行 = 2, 列 = 2, out10進 = 4, out = 0010  S4 行 = 3, 列 = 1, out10進 = 15, out = 1111  S5 行 = 2, 列 = 9, out10進 = 9, out = 1001  S6 行 = 3, 列 = 7, out10進 = 10, out = 0101  S7 行 = 2, 列 = 13, out10進 = 5, out = 1010  S8 行 = 0, 列 = 13, out10進 = 0, out = 0000 各Sボックスの通過後(32) S out = 01001010 00101111 10010101 10100000 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 11100001 01001000 10110100 01001101 L 7 = 01001011 10111000 01000001 01010101 feorL = 10101010 11110000 11110101 00011000 ---> R 8 以上の結果より、次の段へのL,R(64)は L,R 8 = 11010000 10001011 10101101 00000001 10101010 11110000 11110101 00011000 第9段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R 8 = 10101010 11110000 11110101 00011000 ---> L 9 R' 8 = 01010101 01010111 10100001 01111010 10101000 11110001 K 9 = 11010011 11101100 00111100 10101000 00111110 10110110 R'eorK = 10000110 10111011 10011101 11010010 10010110 01000111 ---> S in 各Sボックスへの入力  S in = 100001 101011 101110 011101 110100 101001 011001 000111  S1 行 = 3, 列 = 0, out10進 = 15, out = 1111  S2 行 = 3, 列 = 5, out10進 = 15, out = 1111  S3 行 = 2, 列 = 7, out10進 = 0, out = 0000  S4 行 = 1, 列 = 14, out10進 = 14, out = 0111  S5 行 = 2, 列 = 10, out10進 = 12, out = 0011  S6 行 = 3, 列 = 4, out10進 = 9, out = 1001  S7 行 = 1, 列 = 12, out10進 = 2, out = 0100  S8 行 = 1, 列 = 3, out10進 = 8, out = 0001 各Sボックスの通過後(32) S out = 11111111 00000111 00111001 01000001 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 11110000 11011000 11111010 10010010 L 8 = 11010000 10001011 10101101 00000001 feorL = 00100000 01010011 01010111 10010011 ---> R 9 以上の結果より、次の段へのL,R(64)は L,R 9 = 10101010 11110000 11110101 00011000 00100000 01010011 01010111 10010011 第10段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R 9 = 00100000 01010011 01010111 10010011 ---> L10 R' 9 = 10010000 00000010 10100110 10101010 11111100 10100110 K10 = 11001100 10100111 10100110 01111101 01001010 10110111 R'eorK = 01011100 10100101 00000000 11010111 10110110 00010001 ---> S in 各Sボックスへの入力  S in = 010111 001010 010100 000000 110101 111011 011000 010001  S1 行 = 1, 列 = 11, out10進 = 11, out = 1101  S2 行 = 0, 列 = 5, out10進 = 11, out = 1101  S3 行 = 0, 列 = 10, out10進 = 12, out = 0011  S4 行 = 0, 列 = 0, out10進 = 7, out = 1110  S5 行 = 3, 列 = 10, out10進 = 0, out = 0000  S6 行 = 3, 列 = 13, out10進 = 0, out = 0000  S7 行 = 0, 列 = 12, out10進 = 5, out = 1010  S8 行 = 1, 列 = 8, out10進 = 12, out = 0011 各Sボックスの通過後(32) S out = 11011101 00111110 00000000 10100011 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 00000100 11001010 11011100 01010111 L 9 = 10101010 11110000 11110101 00011000 feorL = 10101110 00111010 00101001 01001111 ---> R10 以上の結果より、次の段へのL,R(64)は L,R10 = 00100000 01010011 01010111 10010011 10101110 00111010 00101001 01001111 第11段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R10 = 10101110 00111010 00101001 01001111 ---> L11 R'10 = 11010101 11000001 11110100 00010101 00101010 01011111 K11 = 11110010 10011110 00101111 00010111 01001000 11011011 R'eorK = 00100111 01011111 11011011 00000010 01100010 10000100 ---> S in 各Sボックスへの入力  S in = 001001 110101 111111 011011 000000 100110 001010 000100  S1 行 = 1, 列 = 4, out10進 = 14, out = 0111  S2 行 = 3, 列 = 10, out10進 = 7, out = 1110  S3 行 = 3, 列 = 15, out10進 = 12, out = 0011  S4 行 = 1, 列 = 13, out10進 = 10, out = 0101  S5 行 = 0, 列 = 0, out10進 = 2, out = 0100  S6 行 = 2, 列 = 3, out10進 = 5, out = 1010  S7 行 = 0, 列 = 5, out10進 = 0, out = 0000  S8 行 = 0, 列 = 2, out10進 = 8, out = 0001 各Sボックスの通過後(32) S out = 01111110 00110101 01001010 00000001 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 11010100 00101100 10011010 00010110 L10 = 00100000 01010011 01010111 10010011 feorL = 11110100 01111111 11001101 10000101 ---> R11 以上の結果より、次の段へのL,R(64)は L,R11 = 10101110 00111010 00101001 01001111 11110100 01111111 11001101 10000101 第12段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R11 = 11110100 01111111 11001101 10000101 ---> L12 R'11 = 11111010 10000011 11111111 11100101 10111100 00001011 K12 = 11101001 10110010 01100010 10000111 10110001 01010101 R'eorK = 00010011 00110001 10011101 01100010 00001101 01011110 ---> S in 各Sボックスへの入力  S in = 000100 110011 000110 011101 011000 100000 110101 011110  S1 行 = 0, 列 = 2, out10進 = 13, out = 1011  S2 行 = 3, 列 = 9, out10進 = 6, out = 0110  S3 行 = 0, 列 = 3, out10進 = 14, out = 0111  S4 行 = 1, 列 = 14, out10進 = 14, out = 0111  S5 行 = 0, 列 = 12, out10進 = 13, out = 1011  S6 行 = 2, 列 = 0, out10進 = 9, out = 1001  S7 行 = 3, 列 = 10, out10進 = 0, out = 0000  S8 行 = 0, 列 = 15, out10進 = 7, out = 1110 各Sボックスの通過後(32) S out = 10110110 01110111 10111001 00001110 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 11111101 11000011 00110010 10110110 L11 = 10101110 00111010 00101001 01001111 feorL = 01010011 11111001 00011011 11111001 ---> R12 以上の結果より、次の段へのL,R(64)は L,R12 = 11110100 01111111 11001101 10000101 01010011 11111001 00011011 11111001 第13段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R12 = 01010011 11111001 00011011 11111001 ---> L13 R'12 = 10101010 01111111 11110010 10001111 01111111 11110010 K13 = 10100000 11011110 11111110 10100011 10100111 11100100 R'eorK = 00001010 10100001 00001100 00101100 11011000 00010110 ---> S in 各Sボックスへの入力  S in = 000010 101010 000100 001100 001011 001101 100000 010110  S1 行 = 0, 列 = 1, out10進 = 4, out = 0010  S2 行 = 2, 列 = 5, out10進 = 4, out = 0010  S3 行 = 0, 列 = 2, out10進 = 9, out = 1001  S4 行 = 0, 列 = 6, out10進 = 9, out = 1001  S5 行 = 1, 列 = 5, out10進 = 7, out = 1110  S6 行 = 1, 列 = 6, out10進 = 9, out = 1001  S7 行 = 2, 列 = 0, out10進 = 1, out = 1000  S8 行 = 0, 列 = 11, out10進 = 14, out = 0111 各Sボックスの通過後(32) S out = 00100010 10011001 11101001 10000111 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 11010101 00000110 00101011 11100001 L12 = 11110100 01111111 11001101 10000101 feorL = 00100001 01111001 11100110 01100100 ---> R13 以上の結果より、次の段へのL,R(64)は L,R13 = 01010011 11111001 00011011 11111001 00100001 01111001 11100110 01100100 第14段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R13 = 00100001 01111001 11100110 01100100 ---> L14 R'13 = 00010000 00101011 11110011 11110000 11000011 00001000 K14 = 11110100 01110011 01010010 01111000 10001111 10000111 R'eorK = 11100100 01011000 10100001 10001000 01001100 10001111 ---> S in 各Sボックスへの入力  S in = 111001 000101 100010 100001 100010 000100 110010 001111  S1 行 = 3, 列 = 12, out10進 = 10, out = 0101  S2 行 = 1, 列 = 2, out10進 = 4, out = 0010  S3 行 = 2, 列 = 1, out10進 = 6, out = 0110  S4 行 = 3, 列 = 0, out10進 = 3, out = 1100  S5 行 = 2, 列 = 1, out10進 = 2, out = 0100  S6 行 = 0, 列 = 2, out10進 = 10, out = 0101  S7 行 = 2, 列 = 9, out10進 = 15, out = 1111  S8 行 = 1, 列 = 7, out10進 = 4, out = 0010 各Sボックスの通過後(32) S out = 01010010 01101100 01000101 11110010 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 01000010 00010111 10110100 01001111 L13 = 01010011 11111001 00011011 11111001 feorL = 00010001 11101110 10101111 10110110 ---> R14 以上の結果より、次の段へのL,R(64)は L,R14 = 00100001 01111001 11100110 01100100 00010001 11101110 10101111 10110110 第15段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R14 = 00010001 11101110 10101111 10110110 ---> L15 R'14 = 00001010 00111111 01011101 01010101 11111101 10101100 K15 = 00100110 11011111 01110001 01011110 01000100 10011111 R'eorK = 00101100 11100000 00101100 00001011 10111001 00110011 ---> S in 各Sボックスへの入力  S in = 001011 001110 000000 101100 000010 111011 100100 110011  S1 行 = 1, 列 = 5, out10進 = 2, out = 0100  S2 行 = 0, 列 = 7, out10進 = 4, out = 0010  S3 行 = 0, 列 = 0, out10進 = 10, out = 0101  S4 行 = 2, 列 = 6, out10進 = 7, out = 1110  S5 行 = 0, 列 = 1, out10進 = 12, out = 0011  S6 行 = 3, 列 = 13, out10進 = 0, out = 0000  S7 行 = 2, 列 = 2, out10進 = 11, out = 1101  S8 行 = 3, 列 = 9, out10進 = 12, out = 0011 各Sボックスの通過後(32) S out = 01000010 01011110 00110000 11010011 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 01100110 01010011 10011000 11000001 L14 = 00100001 01111001 11100110 01100100 feorL = 01000111 00101010 01111110 10100101 ---> R15 以上の結果より、次の段へのL,R(64)は L,R15 = 00010001 11101110 10101111 10110110 01000111 00101010 01111110 10100101 第16段目 R(32)を拡大型転置E後(48)、内部鍵K(48)と排他的論理輪をとる R15 = 01000111 00101010 01111110 10100101 ---> L16 R'15 = 10100000 11101001 01010100 00111111 11010101 00001010 K16 = 10101110 11110001 01010001 10100000 10111101 11100110 R'eorK = 00001110 00011000 00000101 10011111 01101000 11101100 ---> S in 各Sボックスへの入力  S in = 000011 100001 100000 000101 100111 110110 100011 101100  S1 行 = 1, 列 = 1, out10進 = 15, out = 1111  S2 行 = 3, 列 = 0, out10進 = 13, out = 1011  S3 行 = 2, 列 = 0, out10進 = 13, out = 1011  S4 行 = 1, 列 = 2, out10進 = 11, out = 1101  S5 行 = 3, 列 = 3, out10進 = 7, out = 1110  S6 行 = 2, 列 = 11, out10進 = 10, out = 0101  S7 行 = 3, 列 = 1, out10進 = 11, out = 1101  S8 行 = 2, 列 = 6, out10進 = 14, out = 0111 各Sボックスの通過後(32) S out = 11111011 10111101 11100101 11010111 S out(32)を転置P後のf(R,K)と、L(32)で排他的論理輪をとる f(R,K) = 11000111 10011110 11111011 11101111 L15 = 00010001 11101110 10101111 10110110 feorL = 11010110 01110000 01010100 01011001 ---> R16 以上の結果より、次の段へのL,R(64)は L,R16 = 01000111 00101010 01111110 10100101 11010110 01110000 01010100 01011001 最終転置IP-1への入力(64) IP-1 = 11010110 01110000 01010100 01011001 01000111 00101010 01111110 10100101 最終転置IP-1後の、求められた暗号文(64) 暗号文 = 10000011 11101000 11001110 00101001 01011101 00111010 11011101 01000010