Kamis, 05 Januari 2017

ALGORITMA DES (Data Encryption Standard)



Pengertian
DES adalah tipikal blok cipher suatu algoritma yang membutuhkan tetap serangkaian panjang dan mengubah bit plaintext melalui serangkaian operasi rumit ke bitstring ciphertext lain yang sama panjang.
Dalam kasus DES, ukuran blok adalah 64 bit. DES juga menggunakan kunci untuk menyesuaikan transformasi, dekripsi sehingga dapat dianggap hanya dapat dilakukan oleh orang-orang yang mengetahui kunci tertentu yang digunakan untuk mengenkripsi. Nampaknya kunci terdiri dari 64-bit, namun hanya 56 di antaranya yang benar-benar digunakan oleh algoritma. Delapan bit digunakan hanya untuk memeriksa paritas, dan kemudian dibuang. Maka panjang kunci yang efektif adalah 56 bit, dan biasanya dikutip seperti itu.


Kelebihan :
1.     Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetrik.
2.     Karena kecepatannya yang cukup tinggi, maka dapat digun akan pada sistem real-time 



Kelemahan :
1.     Untuk tiap pengiriman pesan dengan pengguna yang berbed a dibutuhkan kunci yang berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci tersebut.
2.     Permasalahan dalam pengiriman kunci itu sendiri yang disebut  key distribution problem”

Algoritma DES termasuk dalam ‘kriptografi simetris’

Kriptografi Simetris

        Yaitu merupakan Algoritma Kriptografi Simetris atau Algoritma Kriptografi Konvensional adalah algoritma yang menggunakan kunci untuk proses enkripsi sama dengan kunci untuk proses dekripsi. Algoritma ini dibagi menjadi 2 kategori, yaitu Algoritma Aliran (Stream Ciphers) dan Algoritma Blok (Block Ciphers). Pada Algoritma Aliran, proses penyandiannya berorientasi pada satu bit atau satu byte data. Sedang pada Algoritma Blok, proses penyandiannya berorientasi pada sekumpulan bit atau byte data (per blok).
Kriptografi jenis ini yang paling umum dipergunakan. Kunci untuk membuat pesan yang disandikan sama dengan kunci untuk membuka pesan yang disandikan itu. Jadi pembuat pesan dan penerimanya harus memiliki kunci yang sama persis. Siapapun yang memiliki kunci tersebut  termasuk pihak-pihak yang tidak diinginkan dapat membuat dan membongkar rahasia ciphertext. Problem yang paling jelas disini terkadang bukanlah masalah pengiriman ciphertext-nya, melainkan masalah bagaimana menyampaikan kunci simetris tersebut kepada pihak yang diinginkan.

ALGORITMA RSA



Pengertian RSA

Pada penelitian ini algoritma kriptografi yang akan digunakan adalah algoritma kriptografi asimetris RSA yang ditemukan oleh Ron Rivest, Adi Shamir, dan Leonard Adleman pada tahun 1978 dan RSA merupakan singkatan inisial dari nama mereka bertiga.RSA digunakan karena merupakan algoritma kriptografi asimetris yang paling sering digunakan pada saat ini dikarenakan kehandalannya. Panjang kunci dalam bit dapat diatur, dengan semakin panjang bit maka semakin sukar untuk dipecahkan karena sulitnyamemfaktorkan dua bilangan yang sangat besar tersebut, tetapi juga semakin lama pada proses dekripsinya.

Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima. Pemfaktoran dilakukan untuk memperoleh kunci pribadi. Selama pemfaktoran bilangan besar menjadi faktor-faktor prima belum ditemukan algoritma yang mangkus, maka selama itu pula keamanan algoritma RSA tetap terjamin.

·       Besaran-besaran yang digunakan pada algoritma RSA:
1.  p dan q bilangan prima                                 (rahasia)
2.  r = p × q                                                          (tidak rahasia)
3.  f(r) = (p – 1)(q – 1)                                      (rahasia)
4.  PK     (kunci enkripsi)                                  (tidak rahasia)
5.  SK     (kunci dekripsi)                                  (rahasia)
6.  X     (plainteks)                                              (rahasia)
7.  Y    (cipherteks)                                             (tidak rahasia)    

Prosedur Membuat Pasangan Kunci

1.      Pilih dua buah bilangan prima sembarang, p dan q.
2.    Hitung r = p × q. Sebaiknya p ¹ q, sebab jika p = q maka r = p2sehingga p dapat diperoleh dengan menarik akar pangkat dua dari r.
3.     Hitung f(r) = (p – 1)(q – 1).
4.     Pilih kunci publik, PK, yang relatif prima terhadap f(r).
5.   Bangkitkan kunci rahasia dengan menggunakan persamaan (5), yaitu SK × PK º 1 (mod f(r)).


Kekuatan dan Keamanan RSA
·       Keamanan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan non prima menjadi faktor primanya, yang dalam hal ini r = p ´ q.

·       Sekali r berhasil difaktorkan menjadi p dan q, maka  f(r) = (p– 1) (q – 1) dapat dihitung. Selanjutnya, karena kunci enkrispiPK diumumkan (tidak rahasia), maka  kunci dekripsi SK dapat dihitung dari persamaan PK × SK º 1 (mod f(r)).
         
·       Penemu algoritma RSA menyarankan nilai p dan q panjangnya lebih dari 100 digit. Dengan demikian hasil kali r = p ´ q akan berukuran lebih dari 200 digit. Menurut Rivest dan kawan-kawan, uasaha untuk mencari faktor bilangan 200 digit membutuhkan waktu komputasi selama 4 milyar tahun! (dengan asumsi bahwa algoritma pemfaktoran yang digunakan adalah algoritma yang tercepat saat ini dan komputer yang dipakai mempunyai kecepatan 1 milidetik).

·       Untunglah algoritma yang paling mangkus untuk memfaktorkan bilangan yang besar belum ditemukan. Inilah yang membuat algoritma RSA tetap dipakai hingga saat ini. Selagi belum ditemukan algoritma yang mangkus untuk memfaktorkan bilangan bulat menjadi faktor primanya, maka algoritma RSA tetap direkomendasikan untuk menyandikan pesan.