data encryption standar

12
DATA ENCRYPTION STANDAR (DES) Plaintext : OKTORIA1 Hex : 4F4B544F52494131 Biner : 01001111 01001011 01010100 01001111 01010010 01001001 01000001 00110001 Kunci : FAWWAZI1 Hex : 46415757415A4931 Biner : 01000110 01000001 01010111 01010111 01000001 01011010 01001001 00110001 A. Pembangkitan Kunci 1. Kunci dipermutasi kompresi (PC1) sehingga menjadi 56 bit 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 K : 01000110 01000001 01010111 01010111 01000001 01011010 01001001 00110001 (1-8) (9-16) (17-24) (25-32) (33-40) (41-48) (49-56) (57-64) PC (K) : 0000000 0011111 1110000 0001010 0010110 1000011 0101100 0001100

Upload: iwan-kurniarasa

Post on 23-Jun-2015

408 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Data encryption standar

DATA ENCRYPTION STANDAR (DES)

Plaintext : OKTORIA1

Hex : 4F4B544F52494131

Biner : 01001111 01001011 01010100 01001111 01010010 01001001 01000001 00110001

Kunci : FAWWAZI1

Hex : 46415757415A4931

Biner : 01000110 01000001 01010111 01010111 01000001 01011010 01001001 00110001

A. Pembangkitan Kunci

1. Kunci dipermutasi kompresi (PC1) sehingga menjadi 56 bit

57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4

K : 01000110 01000001 01010111 01010111 01000001 01011010 01001001 00110001

(1-8) (9-16) (17-24) (25-32) (33-40) (41-48) (49-56) (57-64)

PC (K) : 0000000 0011111 1110000 0001010 0010110 1000011 0101100 0001100

2. Pisah PC(K) menjadi 2 binerC0 : 0000000 0011111 1110000 0001010D0 : 0010110 1000011 0101100 0001100

3. Putaran pertama, geser kiri C0 dan D0 sejauh 1 bitC1 : 0000000 0111111 1100000 0010100D1 : 0101101 0000110 1011000 0011000

Page 2: Data encryption standar

4. Gabung C1 dan D1, permutasi kompresi dengan PC2

14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32

C1&D1 : 0000000 0111111 1100000 0010100 0101101 0000110 1011000 0011000(1-7) (8-14) (15-21) (22-28) (29-35) (36-42) (43-49) (50-56)

PC2(C1&D1) : 101100 001001 001010 100010 110000 110110 000001 100001K1 = PC2(C1&D1)

5. Geser kiri C1 dan D1 sejauh 1 bit

C1 : 0000000 0111111 1100000 0010100

D1 : 0101101 0000110 1011000 0011000

C2 : 0000000 1111111 1000000 0101000

D2 : 1011010 0001101 0110000 0110000

6. Gabung C2 dan D2, permutasi kompresi dengan PC2

14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53

46 42 50 36 29 32

C2&D2 : 0000000 1111111 1000000 0101000 1011010 0001101 0110000 0110000

(1-7) (8-14) (15-21) (22-28) (29-35) (36-42) (43-49) (50-56)PC2(C2&D2) : 101000 001001 101001 000010 011000 011100 101010 010011K2 = PC2(C2&D2)

7. Geser kiri C2 dan D2 sejauh 2 bit

C2 : 0000000 1111111 1000000 0101000

D2 : 1011010 0001101 0110000 0110000

C3 : 0000011 1111110 0000001 0100000

D3 : 1101000 0110101 1000001 1000010

Page 3: Data encryption standar

8. Gabung C3 dan D3, permutasi kompresi dengan PC2

14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53

46 42 50 36 29 32

C3&D3 : 0000011 1111110 0000001 0100000 1101000 0110101 1000001 1000010

(1-7) (8-14) (15-21) (22-28) (29-35) (36-42) (43-49) (50-56)PC2(C3&D3) : 001000 000111 101001 010010 000101 110000 010000 011011 K3 = PC2(C3&D3)

9. Geser kiri C3 dan D3 sejauh 2 bit

C3 : 0000011 1111110 0000001 0100000

D3 : 1101000 0110101 1000001 1000010

C4 : 0001111 1111000 0000101 0000000

D4 : 0100001 1010110 0000110 0001011

10. Gabung C4 dan D4, permutasi kompresi dengan PC2

14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53

46 42 50 36 29 32

C4&D4 : 0001111 1111000 0000101 0000000 0100001 1010110 0000110 0001011

(1-7) (8-14) (15-21) (22-28) (29-35) (36-42) (43-49) (50-56)PC2(C4&D4) : 001001 000111 010101 010000 100011 110001 000101 000100K4 = PC2(C4&D4)

11. Geser kiri C4 dan D4 sejauh 2 bit

C4 : 0001111 1111000 0000101 0000000

D4 : 0100001 1010110 0000110 0001011C5 : 0111111 1100000 0010100 0000000D5 : 0000110 1011000 0011000 0101101,

Page 4: Data encryption standar

12. Gabung C5 dan D5, permutasi kompresi dengan PC2

14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53

46 42 50 36 29 32

C5&D5 : 0111111 1100000 0010100 0000000 0000110 1011000 0011000 0101101(1-7) (8-14) (15-21) (22-28) (29-35) (36-42) (43-49) (50-56)

PC2(C5&D5) : 010001 100100 010101 010001 000000 001110 001111 100100K5 = PC2(C5&D5)

13. Geser kiri C5 dan D5 sejauh 2 bitC5 : 0111111 1100000 0010100 0000000D5 : 0000110 1011000 0011000 0101101C6 : 1111111 0000000 1010000 0000001D6 : 0011010 1100000 1100001 0110100

14. Gabung C5 dan D5, permutasi kompresi dengan PC2

14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53

46 42 50 36 29 32

C6&D6 : 1111111 0000000 1010000 0000001 0011010 1100000 1100001 0110100(1-7) (8-14) (15-21) (22-28) (29-35) (36-42) (43-49) (50-56)

PC2(C6&D6) : 010011 111100 000100 010001 011100 001000 110010 000101 K6 = PC2(C6&D6)

15. Geser kiri C6 dan D6 sejauh 2 bitC6 : 1111111 0000000 1010000 0000001D6 : 0011010 1100000 1100001 0110100C7 : 1111100 0000010 1000000 0000111D7 : 1101011 0000011 0000101 1010000

Page 5: Data encryption standar

16. Gabung C7 dan D7, permutasi kompersi dengan PC2

14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53

46 42 50 36 29 32

C7 & D7 : 1111100 0000010 1000000 0000111 1101011 0000011 0000101 1010000(1-7) (8-14) (15-21) (22-28) (29-35) (36-42) (43-49) (50-56)

PC2(C7&D7) : 000011 111000 000110 001011 110010 100000 010010 011011K7 = PC2(C7&D7)

17. Geser kiri C7 dan D7 sejauh 2 bitC7 : 1111100 0000010 1000000 0000111D7 : 1101011 0000011 0000101 1010000C8 : 1110000 0001010 0000000 0011111D8 : 0101100 0001100 0010110 1000011

18. Gabung C8 dan D8, permutasi kompresi dengan PC2

14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53

46 42 50 36 29 32

C8&D8 : 1110000 0001010 0000000 0011111 0101100 0001100 0010110 1000011(1-7) (8-14) (15-21) (22-28) (29-35) (36-42) (43-49) (50-56)

PC2(C8&D8) : 001110 110000 000010 001011 000011 110111 001100 001001 K8 = PC2(C8&D8)

19. Geser kiri C8 dan D8 sejauh 1 bitC8 : 1110000 0001010 0000000 0011111D8 : 0101100 0001100 0010110 1000011C9 : 1000000 0101000 0000000 1111111D9 : 0110000 0110000 1011010 0001101

Page 6: Data encryption standar

20. Gabung C9 dan D9, permutasi kompresi dengan PC2

14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53

46 42 50 36 29 32

C9&D9 : 1000000 0101000 0000000 1111111 0110000 0110000 1011010 0001101(1-7) (8-14) (15-21) (22-28) (29-35) (36-42) (43-49) (50-56)

PC2(C9&D9) : 001110 010000 100010 001000 001100 100101 000101 100000 K9 = PC2(C9&D9)

21. Geser kiri C9 dan D9 sejauh 2 bitC9 : 1000000 0101000 0000000 1111111D9 : 0110000 0110000 1011010 0001101C10 : 0000001 0100000 0000011 1111110D10 : 1000001 1000010 1101000 0110101

22. Gabung C10 dan D10, permutasi kompresi dengan PC2

14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53

46 42 50 36 29 32

C10&D10 : 0000001 0100000 0000011 1111110 1000001 1000010 1101000 0110101 (1-7) (8-14) (15-21) (22-28) (29-35) (36-42) (43-49) (50-56)

PC2(C10&D10) : 000100 000010 100010 011100 110000 001000 100100 100110K10 = PC2(C10 &D10)

23. Geser kiri C10 dan D10 sejauh 2 bit24. Gabung C11 dan D11, permutasi kompresi dengan PC2

K11 = PC2(C11 &D11)25. Geser kiri C11 dan D11 sejauh 2 bit26. Gabung C12 dan D12, permutasi kompresi dengan PC2

K12 = PC2(C12 &D12)27. Geser kiri C12 dan D12 sejauh 2 bit28. Gabung C13 dan D13, permutasi kompresi dengan PC2

K13 = PC2(C13 &D13)29. Geser kiri C13 dan D13 sejauh 2 bit30. Gabung C14 dan D14, permutasi kompresi dengan PC2

K14 = PC2(C14 &D14)

Page 7: Data encryption standar

31. Geser kiri C14 dan D14 sejauh 2 bit32. Gabung C15 dan D15, permutasi kompresi dengan PC2

K15 = PC2(C15 &D15)33. Geser kiri C15 dan D15 sejauh 1 bit34. Gabung C16 dan D16, permutasi kompresi dengan PC2

K16 = PC2(C16 &D16)

B. Enkripsi

1. Permutasi plaintext (P) dengan IP

58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5

63 55 47 39 31 23 15 7

P : 01001111 01001011 01010100 01001111 01010010 01001001 01000001 00110001

(1-8) (9-16) (17-24) (25-32) (33-40) (41-48) (49-56) (57-64)

IP(P) : 01111111 10010100 00001101 11101011 00000000 11000000 00101011 00011011

2. Pisah IP(P) menjadi menjadi 2 bagian

IP(P) : 01111111 10010100 00001101 11101011 00000000 11000000 00101011 00011011

L0 : 01111111 10010100 00001101 11101011R0 : 00000000 11000000 00101011 00011011

3. Permutasi ekpansi R0

32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29

28 29 30 31 32 1

R0 : 00000000 11000000 00101011 00011011 (1-8) (9-16) (17-24) (25-32)

E/P(R0) : 100000 000001 011000 000000 000101 010110 100011 110110

Page 8: Data encryption standar

4. XOR kan E/P (R0) dengan K1E/P(R0) : 100000 000001 011000 000000 000101 010110 100011 110110 K1 : 101100 001001 001010 100010 110000 110110 000001 100001

E/P(RO) K1 : 001100 001000 010010 100010 110101 100000 100010 010111

5. Subtitusikan (E/P(RO) K1) dengan kotak S

E/P(RO) K1 : 001100 001000 010010 100010 110101 100000 100010 010111

S1

14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

S1 (E/P(RO) K1) : 1011 S2

15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9

S2 (E/P(RO) K1) : 0110 S3

10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12

S3 (E/P(RO) K1) : 1101 S4

7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14

S4 (E/P(RO) K1) : 0110 S5

2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3

E/P(RO) K1 : 001100 001000 010010 100010 110101 100000 100010 010111

S5 (E/P(RO) K1) : 0000

Page 9: Data encryption standar

S6

12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13

E/P(RO) K1 : 001100 001000 010010 100010 110101 100000 100010 010111

S6 (E/P(RO) K1) : 1001 S7

4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12

S7 (E/P(RO) K1) : 0100

S8

13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8

2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11

S8 (E/P(RO) K1) : 1011

S-box : 1011 0110 1101 0110 0000 1001 0100 1011

6. Permutasikan hasil subtitusi dengan P

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6

22 11 4 25

S-box : 1011 0110 1101 0110 0000 1001 0100 1011 (1-4) (5-8) (9-12) (13-16) (17-20)(21-24)(25-28)(29-32)

P(S-box) : 0101 1100 1101 0011 0011 1011 0001 0010

7. XOR-kan P(S-box) dengan L0

P(S-box) : 01011100 11010011 00111011 00010010L0 : 01111111 10010100 00001101 11101011

P(s-box) L0 : 00100011 01000111 00110110 11111001

R1 = P(s-box) L0 = 00100011 01000111 00110110 11111001

L1 = R0 = 01111111 10010100 00001101 11101011

www.oktoria-ok.co.cc

[email protected]

Page 10: Data encryption standar

C. Dekripsi