Sie sind auf Seite 1von 18

TD codage et cryptographie

M = (0123456789ABCDEF)16

=(0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111)2

1. Premutation initiale du bloc de 64 bits :


P(M)=[ 1100 1100 0000 0000 1100 1100 1111 1111 ] [
1111 0000 1010 1010 1111 0000 1010 1010 ]
2. Découpage en L0,R0 :
L0 = 1100 1100 0000 0000 1100 1100 1111 1111
R0 = 1111 0000 1010 1010 1111 0000 1010 1010
3. Calcul de L1 et R1 :
L1=R 0 = 1111 0000 1010 1010 1111 0000 1010 1010
R1 =L0 ⊕f k 1 (R 0 )
calcul de f k1 (R 0 )  :
 Expansion de ( R0 )
E( R0 )=011110100001010101010101011110100001010101
Ek 1 ( R0 )=k 1⊕ E( R 0 ) =
000110110000001011101111111111000111000001110010
Xor

011110100001010101010101011110100001010101010101

= 011000010001011110111010100001100110010100100111

 Concaténation de E 1 ( R0 ) en utilisant s-boxes


Ek 1 ( R0 )=
011000010001011110111010100001100110010100100111

S1 s2 s3 s4 s5 s6 s7 s8
0101 1100 1000 0001 1011 0101 1001 0111
 permutation
F=10100011000010101010100110111010
calcul de R1

1100 1100 0000 0000 1100 1100 1111 1111


Xor

10100011000010101010100110111010

0110 1111 0000 1010 0110 0101 0100 0101

4. Calcul de R2 et L2

L2=R 1 = 0110 1111 0000 1010 0110 0101 0100 0101

R2 =L1 ⊕f k 2 ( R1 )
calcul de f k2 (R 1 )  :
 Expansion de
R1
E( R1 )=101101011110100001010100001100001010101000001010
 Application de k2 :
Ek 2 ( R1 )=k 2⊕ E( R1 ) =
011110011010111011011001110110111100100111100101
Xor

101101011110100001010100001100001010101000001010

= 1100110001 0001101000 1101111010 1101100011 11101111

 Concatenation de E 2 ( R1 ) en utilisant s-boxes


Ek 2 ( R1 )=
1100110001 0001101000 1101111010 1101100011 11101111

S1 s2 s3 s4 s5 s6 s7 s8
1011 1000 0100 0000 0011 1010 1010 1101
 permutation
F=0011 1000 1010 1001 0000 1110 1010 0011
calcul de R2

1111 0000 1010 1010 1111 0000 1010 1010


Xor

0011 1000 1010 1001 0000 1110 1010 0011

1100 1000 0000 0011 1111 1110 0000 1001

5. Calcul de R3 et L3

L3 =R 2 = 1100 1000 0000 0011 1111 1110 0000 1001

R3 =L2 ⊕f k 3 (R 2 )

calcul de f k3 (R 2 )  :
 Expansion de
R2
E( R2 )=111001010000000000000111111111111100000001010011
 Application de k3 :
Ek 3 ( R2 )=k 3⊕ E (R 2 ) =
010101011111110010001010010000101100111110011001
Xor

111001010000000000000111111111111100000001010011

= 1011000011 1111001000 1101101111 0100001111 11001010

 Concatenation de
E (R 2 ) en utilisant s-boxes
Ek 3 ( R2 )=
1011000011 1111001000 1101101111 0100001111 11001010

S1 s2 s3 s4 s5 s6 s7 s8
0010 1110 0001 0000 1101 1101 1100 1111
 permutation
F=1111 1101 0001 1110 0011 1010 0011 1001

calcul de
R3

0110 1111 0000 1010 0110 0101 0100 0101


Xor

1111 1101 0001 1110 0011 1010 0011 1001

1001 0010 0001 0100 0101 1111 0111 1100

6. Calcul de R4 et L4
L4 =R3 = 1001 0010 0001 0100 0101 1111 0111 1100

R4 =L3 ⊕ f k 4 ( R3 )

calcul de f k 4 ( R3 )  :
 Expansion de
R3
E( R3 )=010010100100000010101000001011111110101111111001
 Application de k4 :
Ek 4 ( R3 )=k 4 ⊕ E( R3 ) =
011100 101010 110111 010110 110110 110011 010100 011101
Xor

010010100100000010101000001011111110101111111001

= 001110 001110 110101 111110 111101 001101 111011 100100

 Concatenation de
E (R 3 ) en utilisant s-boxes
Ek 4 ( R3 )=
001110 001110 110101 111110 111101 001101 111011 100100
S1 s2 s3 s4 s5 s6 s7 s8
1000 0100 1110 0100 0101 1001 1110 0100
 permutation
F=0011 0000 1001 0101 0011 0101 0011 0101

calcul de R4

1100 1000 0000 0011 1111 1110 0000 1001


Xor

0011 0000 1001 0101 0011 0101 0011 0101

11111000100101101100101100111100

7. Calcul de R5 et L5
L5 =R 4 = 11111000100101101100101100111100
R5 =L4 ⊕ f k 5 ( R 4 )
calcul de f k5 (R 4 )  :
 Expansion de
R4
E( R4 )=011111110001010010101101011001011011110011111001
 Application de k5 :
Ek 5 ( R 4 )=k 5 ⊕ E( R 4 ) =
011111 001110 110000 000111 111010 110101 001110 101000
Xor

011111110001010010101101011001011011110011111001

= 000000 111111 100010 101010 101100 101110 111101 010001

 Concatenation de
E (R 4 ) en utilisant s-boxes
Ek 5 ( R 4 )=
000000 111111 100010 101010 101100 101110 111101 010001

S1 s2 s3 s4 s5 s6 s7 s8
1110 1001 1101 1011 0111 0011 0011 1100
 permutation
F=0010 1110 1110 1100 1111 0111 1110 0000

7. b. calcul de
R5

1001 0010 0001 0100 0101 1111 0111 1100


Xor

0010 1110 1110 1100 1111 0111 1110 0000

1011 1100 1111 1000 1010 1000 1001 1100

8. Calcul de R6 et L6
L6 =R 5 = 1011 1100 1111 1000 1010 1000 1001 1100
R6 =L5 ⊕ f k 6 ( R5 )
calcul de f k6 ( R5 )  :
 Expansion de
R5
E( R5 )=010111111001011111110001010101010001010011111001
 Application de k6 :
Ek 6 ( R 5 )=k 6 ⊕ E( R5 ) =
011000 111010 010100 111110 010100 000111 101100 101111
Xor

010111111001011111110001010101010001010011111001

= 001111000011001011001111000001010110111111010110

 Concatenation de
E (R 5 ) en utilisant s-boxes
Ek 6 ( R 5 )=
001111000011001011001111000001010110111111010110
S1 s2 s3 s4 s5 s6 s7 s8
0001 1101 0100 0011 1110 0100 1100 1110
 permutation
F=0000 1001 0101 1111 0101 0000 1011 1011

calcul de R6

11111000100101101100101100111100
Xor

0000 1001 0101 1111 0101 0000 1011 1011

1111 0001 1100 1001 1001 1011 1000 0111

9. Calcul de R7 et L7
L7 =R 6 = 1111 0001 1100 1001 1001 1011 1000 0111
R7 =L6 ⊕ f k 7 ( R6 )
calcul de f k7 ( R6 )  :
 Expansion de
R6
E( R6 )=111110100011111001010011110011110111110000001111
 Application de k7 :
Ek 7 ( R 6 )=k 7 ⊕ E( R6 ) =
111011 001000 010010 110111 111101 100001 100010 111100
Xor

111110100011111001010011110011110111110000001111

= 000101 101011 101011 100100 001110 010110 010010 110011


 Concatenation de E (R6) en utilisant s-boxes
Ek 7 ( R 6)=
000101 101011 101011 100100 001110 010110 010010 110011

S1 s2 s3 s4 s5 s6 s7 s8
0111 1111 1001 1001 0110 0100 1100 1100
 permutation
F=0100 1100 0001 1100 1100 0011 1111 1011

calcul de R7

1011 1100 1111 1000 1010 1000 1001 1100


Xor

0100 1100 0001 1100 1100 0011 1111 1011

1111 0000 1110 0100 0110 1011 0110 0111

10. Calcul de R8 et L8
L8 =R7 = 1111 0000 1110 0100 0110 1011 0110 0111
R8 =L7 ⊕ f k 8 ( R7 )
calcul de f k8 ( R7 )  :
 Expansion de
R7
E( R7 )=111110100001011100001000001101010110101100001111
 Application de k8 :
Ek 8 ( R7 )=k 8 ⊕ E( R7 ) =
111101 111000 101000 111010 110000 010011 101111 111011
Xor

111110100001011100001000001101010110101100001111
= 000011 011001 110100 110010 111101 000101 000011 110100

 Concatenation de E (R 7) en utilisant s-boxes


Ek 8 ( R7 )=
000011 011001 110100 110010 111101 000101 000011 110100

S1 s2 s3 s4 s5 s6 s7 s8
1111 0110 0010 0001 0101 0100 0000 1010
 permutation
F=0110 1000 1000 0110 1000 0010 0001 1110

calcul de R8

1111 0001 1100 1001 1001 1011 1000 0111


Xor

0110 1000 1000 0110 1000 0010 0001 1110

1001 1001 0100 1111 0001 1001 1001 1001

11. Calcul de R9 et L9
L9 =R 8 = 1001 1001 0100 1111 0001 1001 1001 1001

R9 =L8 ⊕ f k 9 ( R8 )

calcul de f k9 ( R8 )  :
 Expansion de
R8
E( R8 )=110011110010101001011110100011110011110011110011
 Application de k9 :
Ek 9 ( R 8 )=k 9 ⊕ E( R8 ) =
111000 001101 101111 101011 111011 011110 011110 000001
Xor

110011110010101001011110100011110011110011110011

= 001011 111111 000110 110101 011000 101101 101101 110010

 Concatenation de E (R 8) en utilisant s-boxes


Ek 9 ( R 8 )=
001011 111111 000110 110101 011000 101101 101101 110010

S1 s2 s3 s4 s5 s6 s7 s8
1101 1001 1110 0101 1101 1111 1010 0110
 permutation
F=0011 0001 1010 1111 1111 0101 0010 1111

calcul de R9

1111 0000 1110 0100 0110 1011 0110 0111


Xor

0011 0001 1010 1111 1111 0101 0010 1111

1100 0001 0100 1011 1001 1110 0100 1000

12. Calcul de R10 et L10


L10=R 9 = 1100 0001 0100 1011 1001 1110 0100 1000
R10=L9 ⊕ f k 10( R 9 )
calcul de f k10 ( R9 )  :
 Expansion de
R9
E( R9 )=011000000010101001010111110011111100001001010001
 Application de k9 :
Ek 10 (R 9 )=k 10 ⊕ E( R9 ) =
101100 011111 001101 000111 101110 100100 011001 001111
Xor

011000000010101001010111110011111100001001010001

= 110100 011101 100100 010000 011101 011000 010000 011110

 Concatenation de E (R9) en utilisant s-boxes


Ek 10 (R 9 )=
110100 011101 100100 010000 011101 011000 010000 011110

S1 s2 s3 s4 s5 s6 s7 s8
1001 1011 0100 0001 1000 1110 0011 0111
 permutation
F=1101 0011 1010 1011 0100 1100 1010 1010

calcul de R 10

1001 1001 0100 1111 0001 1001 1001 1001


Xor

1101 0011 1010 1011 0100 1100 1010 1010

0100 1010 1110 0100 0101 0101 0011 0011

13. Calcul de R11 et L11


L11=R 10 = 0100 1010 1110 0100 0101 0101 0011 0011

R11 =L10 ⊕f k 11 (R 10 )

calcul de f k11 ( R 10 )  :
 Expansion de
R10
E( R10 )=101001010101011100001000001010101010100110100110
 Application de k11 :
Ek 11 ( R10 )=k 11⊕ E( R 10) =
001000 010101 111111 010011 110111 101101 001110 000110
Xor

101001010101011100001000001010101010100110100110

= 100001 000000 100011 011011 111101 000111 101000 100000

 Concatenation de E (R 10) en utilisant s-boxes


Ek 11 ( R 10)=
100001 000000 100011 011011 111101 000111 101000 100000

S1 s2 s3 s4 s5 s6 s7 s8
1111 1111 1010 1010 0000 0010 1100 0111
 permutation
F=1100 0001 1111 1010 1100 1011 0111 0111

calcul de R 11

1100 0001 0100 1011 1001 1110 0100 1000


Xor

1100 0001 1111 1010 1100 1011 0111 0111

0000 0000 1011 0001 0101 0101 0011 0111

14. Calcul de R12 et L12


L12=R11 = 0000 0000 1011 0001 0101 0101 0011 0111

R12=L11 ⊕f k12 (R 11 )

calcul de f k12 ( R11 )  :


 Expansion de
R11
E( R11 )=100000000001010110100010101010101010100110101110
 Application de k12 :
Ek 12( R 11 )=k 12⊕ E( R11 ) =
011101 010111 000111 110101 100101 000110 011111 101001
Xor

100000000001010110100010101010101010100110101110

= 111101 010110 010001 010111 001111 101100 111001 000111

 E (R 8) en utilisant s-boxes
Concatenation de
Ek 12( R 11 )=
111101 010110 010001 010111 001111 101100 111001 000111

S1 s2 s3 s4 s5 s6 s7 s8
0110 1101 0010 1100 0001 1100 1010 1110
 permutation
F=0011 1000 0000 1010 1101 0110 0111 1101

calcul de R 12

0100 1010 1110 0100 0101 0101 0011 0011


Xor

0011 1000 0000 1010 1101 0110 0111 1101

0111 0010 1110 1110 1000 0011 0100 1110

15. Calcul de R13 et L13


L13=R 12 = 0111 0010 1110 1110 1000 0011 0100 1110
R13=L 12⊕ f k 13( R12 )

calcul de f k13 ( R12 )  :


 Expansion de R 12
E( R13 )=001110100101011101011101010000000110101001011100
 Application de k13 :
Ek 13 (R 12 )=k 13 ⊕ E( R12 ) =
100101 111100 010111 010001 111110 101011 101001 000001
Xor

001110100101011101011101010000000110101001011100

= 101011 011001 001010 001100 101110 101101 000000 011101

 Concatenation de E (R 12) en utilisant s-boxes


101011 011001 001010 001100 101110 101101 000000 011101
Ek 13 (R 12)=

S1 s2 s3 s4 s5 s6 s7 s8
1001 0110 0011 1001 1000 1111 0100 0100
 permutation
F=0101 0101 1011 0000 0010 0000 0111 1110

calcul de R 13

0000 0000 1011 0001 0101 0101 0011 0111


Xor

0101 0101 1011 0000 0010 0000 0111 1110

0101 0101 0000 0001 0111 0101 0100 1001

16. Calcul de R14 et L14


L14=R 13 = 0101 0101 0000 0001 0111 0101 0100 1001

R14=L 14 ⊕ f k 14 ( R 13 )

calcul de f k14 ( R13 )  :


 Expansion de R 13
E( R13 )=101010101010100000000010101110101010101001010010
 Application de k14 :
Ek 14 ( R13 )=k 14 ⊕ E( R13 ) =
010111 110100 001110 110111 111100 101110 011100 111010
Xor

101010101010100000000010101110101010101001010010

= 111101 011110 101110 110101 010010 000100 100101 101000

 Concatenation de E (R 13 ) en utilisant s-boxes


111101 011110 101110 110101 010010 000100 100101 101000
Ek 14 ( R 13)=

S1 s2 s3 s4 s5 s6 s7 s8
0110 1010 0000 0101 0101 1010 1101 1001
 permutation
F=1111 1010 0011 1100 1001 1010 0000 0001

calcul de R 14

0111 0010 1110 1110 1000 0011 0100 1110


Xor

1111 1010 0011 1100 1001 1010 0000 0001

1000 1000 1101 0010 0001 1001 0100 1111

17. Calcul de R15 et L15

L15=R 14 = 1000 1000 1101 0010 0001 1001 0100 1111


R15=L 14 ⊕f k 15 ( R14 )

calcul de f k15 ( R14 )  :


 Expansion de R 14
E( R14 )=110001010001011010100100000011110010101001011111

 Application de k15 :
Ek 15 (R 14 )=k 15⊕ E (R 14 ) =
101111 111001 000110 001101 001111 010011 111100 001010
Xor

110001010001011010100100000011110010101001011111

= 011110 101000 011100 101001 001100 100001 010101 010101

 E (R 14) en utilisant s-boxes


Concatenation de
Ek 15 (R 14)= 011110 101000 011100 101001 001100 100001 010101
010101

S1 s2 s3 s4 s5 s6 s7 s8
0111 1010 0010 1010 1011 0100 0101 0110
 permutation
F=0110 0011 0101 1010 1000 0010 1110 1110

calcul de R 15

0101 0101 0000 0001 0111 0101 0100 1001


Xor

0110 0011 0101 1010 1000 0010 1110 1110

0011 0110 0101 1011 1111 0111 1010 0111

18. Calcul de R16 et L16


L16=R 15 = 0011 0110 0101 1011 1111 0111 1010 0111

R16=L 15 ⊕f k 16 ( R15 )

calcul de f k16 ( R15 )  :


 Expansion de R 15
E( R15 )=100110101100001011110111111110101111110100001110

 Application de k16 :
Ek 16 (R 15 )=k 16 ⊕ E (R 15 ) =
110010 110011 110110 001011 000011 100001 011111 110101
Xor

100110101100001011110111111110101111110100001110

= 010100 011111 111101 111100 111101 001110 101011 111011

 E (R 15 ) en utilisant s-boxes
Concatenation de
Ek 16 (R 15)= 010100 011111 111101 111100 111101 001110 101011
111011

S1 s2 s3 s4 s5 s6 s7 s8
0110 0101 0010 1000 0101 1000 0100 0101
 permutation
F=1011 0000 0001 0100 1100 1010 0111 0100

calcul de R 16

1000 1000 1101 0010 0001 1001 0100 1111


Xor

1011 0000 0001 0100 1100 1010 0111 0100

0011 1000 1100 0110 1101 0011 0011 1011


on obtient finalement :

R16
=0011 1000 1100 0110 1101 0011 0011 1011

L16= 0011 0110 0101 1011 1111 0111 1010 0111

19. Appliquer une permutation initiale inversée :

R16 L16 = 0011 1000 1100 0110 1101 0011 0011 1011 0011 0110 0101 1011 1111 0111
1010 0111
−1
IP =
00101111 10111111 10011010 01100001 11101101 11001111 00111000 00011010

Das könnte Ihnen auch gefallen