headerphoto

Kriptografi

Jum`at, 21 Mei 2010 10:30:03 - oleh : admin

<!-- /* Font Definitions */ @font-face {font-family:Wingdings; panose-1:5 0 0 0 0 0 0 0 0 0; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 268435456 0 0 -2147483648 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} h1 {mso-style-next:Normal; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:1; font-size:18.0pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-font-kerning:0pt;} h2 {mso-style-next:Normal; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:2; font-size:15.0pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; font-weight:normal;} h3 {mso-style-next:Normal; margin:0cm; margin-bottom:.0001pt; text-align:center; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:3; font-size:15.0pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; font-weight:normal;} h4 {mso-style-next:Normal; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:36.0pt; margin-bottom:.0001pt; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:4; font-size:15.0pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; font-weight:normal;} h5 {mso-style-next:Normal; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:36.0pt; margin-bottom:.0001pt; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:5; font-size:18.0pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; font-style:italic;} h6 {mso-style-next:Normal; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:6; font-size:20.0pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman";} p.MsoHeading7, li.MsoHeading7, div.MsoHeading7 {mso-style-next:Normal; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:36.0pt; margin-bottom:.0001pt; text-indent:-36.0pt; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:7; font-size:18.0pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; font-weight:bold;} p.MsoHeading8, li.MsoHeading8, div.MsoHeading8 {mso-style-next:Normal; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:36.0pt; margin-bottom:.0001pt; text-indent:-36.0pt; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:8; font-size:15.0pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} p.MsoHeading9, li.MsoHeading9, div.MsoHeading9 {mso-style-next:Normal; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:36.0pt; margin-bottom:.0001pt; text-indent:-36.0pt; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:9; font-size:15.0pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; font-style:italic;} p.MsoFooter, li.MsoFooter, div.MsoFooter {margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:center 216.0pt right 432.0pt; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} p.MsoBodyTextIndent, li.MsoBodyTextIndent, div.MsoBodyTextIndent {margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:36.0pt; margin-bottom:.0001pt; text-indent:27.0pt; mso-pagination:widow-orphan; font-size:15.0pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} p.MsoBodyTextIndent2, li.MsoBodyTextIndent2, div.MsoBodyTextIndent2 {margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:36.0pt; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:15.0pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.Section1 {page:Section1;} /* List Definitions */ @list l0 {mso-list-id:63843873; mso-list-type:hybrid; mso-list-template-ids:-871445982 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l0:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l1 {mso-list-id:173737728; mso-list-type:hybrid; mso-list-template-ids:1722575594 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l1:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l2 {mso-list-id:188296917; mso-list-type:hybrid; mso-list-template-ids:-1604166522 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l2:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l3 {mso-list-id:213272034; mso-list-type:hybrid; mso-list-template-ids:1090826874 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l3:level1 {mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt;} @list l4 {mso-list-id:318702103; mso-list-type:hybrid; mso-list-template-ids:-399111068 -1528012796 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l4:level1 {mso-level-tab-stop:54.0pt; mso-level-number-position:left; margin-left:54.0pt; text-indent:-18.0pt;} @list l5 {mso-list-id:635717532; mso-list-type:hybrid; mso-list-template-ids:-549429992 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l5:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l6 {mso-list-id:681126658; mso-list-type:hybrid; mso-list-template-ids:1164756916 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l6:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l7 {mso-list-id:827285070; mso-list-type:hybrid; mso-list-template-ids:1354688826 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l7:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l8 {mso-list-id:849837806; mso-list-type:hybrid; mso-list-template-ids:1676307188 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l8:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l9 {mso-list-id:921522897; mso-list-type:hybrid; mso-list-template-ids:1780677626 -1875051978 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l9:level1 {mso-level-tab-stop:54.0pt; mso-level-number-position:left; margin-left:54.0pt; text-indent:-18.0pt;} @list l10 {mso-list-id:1028070462; mso-list-type:hybrid; mso-list-template-ids:1045346612 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l10:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l11 {mso-list-id:1182549612; mso-list-type:hybrid; mso-list-template-ids:-528557740 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l11:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l12 {mso-list-id:1386828899; mso-list-type:hybrid; mso-list-template-ids:626136668 -736314426 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l12:level1 {mso-level-start-at:2; mso-level-text:%1; mso-level-tab-stop:216.0pt; mso-level-number-position:left; margin-left:216.0pt; text-indent:-126.0pt;} @list l13 {mso-list-id:1387218067; mso-list-type:hybrid; mso-list-template-ids:-209177794 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l13:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l14 {mso-list-id:1398212610; mso-list-type:hybrid; mso-list-template-ids:-449383142 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l14:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l15 {mso-list-id:1501388597; mso-list-type:hybrid; mso-list-template-ids:2026773526 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l15:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l16 {mso-list-id:1511330673; mso-list-type:hybrid; mso-list-template-ids:-27333406 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l16:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l17 {mso-list-id:1935622781; mso-list-type:hybrid; mso-list-template-ids:-426867724 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l17:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l18 {mso-list-id:1940794733; mso-list-type:hybrid; mso-list-template-ids:-1074338064 -1875051978 67698689 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l18:level1 {mso-level-tab-stop:54.0pt; mso-level-number-position:left; margin-left:54.0pt; text-indent:-18.0pt;} @list l18:level2 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:90.0pt; mso-level-number-position:left; margin-left:90.0pt; text-indent:-18.0pt; font-family:Symbol;} ol {margin-bottom:0cm;} ul {margin-bottom:0cm;} -->

Data Encryption Standard (DES)

 

 

Sejarah DES

 

·        Algoritma DES dikembangkan di IBM dibawah kepemimpinan W.L. Tuchman pada tahun 1972.  Algoritma ini didasarkan pada algoritma LUCIFER yang dibuat oleh Horst Feistel.

 

·        Algoritma ini telah disetujui oleh National Bureau of Standard (NBS) setelah penilaian kekuatannya oleh National Security Agency (NSA) Amerika Serikat.

 

 

Tinjauan Umum

 

·        DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis cipher blok.

 

·        DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit.

 

·        Skema global dari algoritma DES adalah sebagai berikut (lihat Gambar 1):

1.     Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation atau IP).

2.     Hasil permutasi awal kemudian di-enciphering- sebanyak 16 kali (16 putaran). Setiap putaran menggunakan kunci internal yang berbeda.

3.     Hasil enciphering kemudian dipermutasi dengan matriks permutasi balikan (invers initial permutation atau IP-1 ) menjadi blok cipherteks.

 

Plainteks

 
 
 

 


IP

 
 
 

 

 


16 kali                  Enciphering

       
 
 
   
 

 

 


IP-1

 
 
 

 


Cipherteks

 

Gambar 1. Skema Global Algoritma DES

 

 

·        Di dalam proses enciphering, blok plainteks terbagi menjadi dua bagian, kiri (L) dan kanan (R), yang masing-masing panjangnya 32 bit. Kedua bagian ini masuk ke dalam 16 putaran DES.

 

·        Pada setiap putaran i, blok R merupakan masukan untuk fungsi transformasi yang disebut f. Pada fungsi f, blok R dikombinasikan dengan kunci internal Ki. Keluaran dai fungsi f di-XOR-kan dengan blok L untuk mendapatkan blok R yang baru. Sedangkan blok L yang baru langsung diambil dari blok R sebelumnya. Ini adalah satu putaran DES.

 

Secara matematis, satu putaran DES dinyatakan sebagai

 

          Li = Ri – 1

          Ri = Li – 1 Å f(Ri – 1, Ki)

 

Gambar 2 memperlihatkan skema algoritma DES yang lebih rinci.

 

Gambar 2. Algoritma Enkripsi dengan DS

·        Catatlah bahwa satu putaran DES merupakan model jaringan Feistel (lihat Gambar 3).

 

 

Gambar 3. Jaringan Feistel untuk satu putaran DES

 

·        Perlu dicatat dari Gambar 2 bahwa jika (L16, R16) merupakan keluaran dari putaran ke-16, maka (R16, L16) merupakan pra-cipherteks (pre-ciphertext) dari enciphering ini. Cipherteks yang sebenarnya diperoleh dengan melakukan permutasi awal balikan, IP-1,  terhadap blok pra-cipherteks.

 

 

Permutasi Awal

 

Sebelum putaran pertama, terhadap blok plainteks dilakukan permutasi awal (initial permutation atau IP). Tujuan permutasi awal adalah mengacak plainteks sehingga urutan bit-biit di dalamnya berubah. Pengacakan dilakukan dengan menggunakan matriks permutasi awal berikut ini:

 

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

 

Cara membaca tabel/matriks di atas: dua entry ujung kiri atas (58 dan 50) berarti:

          “pindahkan bit ke-58 ke posisi bit 1”

          “pindahkan bit ke-50 ke posisi bit 2”, dst

Pembangkitan Kunci Internal

 

·        Karena ada 16 putaran, maka dibutuhkan kunci internal sebanyak 16 buah, yaitu K1, K2, …, K16. Kunci-kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi.

 

·        Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna. Kunci eksternal panjangnya 64 bit atau 8 karakter.

 

 

·        Misalkan kunci eksternal yang tersusun dari 64 bit adalah K.

Kunci eksternal ini  menjadi masukan untuk permutasi dengan menggunakan matriks permutasi kompresi PC-1 sebagai berikut:

 

 

 

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

kirim ke teman | versi cetak

Berita "Komputer Dan Internet" Lainnya