Pages

Jumat, 12 Juni 2015

Algoritma Kriptografi


A.  Sejarah dan Pengertian kriptografi
Kriptografi adalah kata serapan dari bahasa asing, dalam hal ini bahasa inggris, yaitu cryptography. Cryptography atau cryptology berasal dari bahasa Yunani, yaitu κρυπτός, kryptos, "hidden, secret" atau “tersembunyi, rahasia”, dan γράφω, gráphō, "I write" atau “aku menulis”, dan  -λογία, -logia atau “ilmu”. Kriptografi adalah ilmu atau seni untuk menyembunyikan informasi. Proses menyembunyikan informasi ini dilakukan dengan teknik penyandian, atau mengubah pesan atau informasi menjadi sandi-sandi yang tidak dimengerti oleh orang lain, selain pembuat dan penerimanya.
Pada kriptografi dikenal istilah-istilah seperti plain text, cipher text, enkripsi, dan dekripsi. Plain text adalah pesan asli yang ingin dikirimkan. Cipher text adalah pesan yang telah disandikan dengan metode enkripsi tertentu. Enkripsi adalah proses mengubah sebuah plain text menjadi cipher text, dan dekripsi adalah proses mengubah sebuah cipher text menjadi plain text.
Transaksi data banyak dilakukan dalam kehidupan sehari-hari. Beberapa informasi yang dikirimkan tersebut adalah informasi-informasi yang bersifat rahasia dan pribadi. Karena itu data-data yang dikirimkan perlu dirahasiakan sehingga pihak lain yang mencoba mendapatkan informasi tersebut tanpa izin tidak akan dapat mengetahuinya.
Pada masa lalu, informasi yang dianggap rahasia adalah seperti pada masa peperangan. Informasi mengenai operasi militer, kekuatan militer, dan sebagainya adalah informasi yang tidak boleh sampai ketahuan oleh pihak musuh. Karena itu informasi-informasi ini perlu disandikan ketika ingin dikirimkan ke tempat lain, sehingga jika informasi yang dikirim jatuh ke tangan pihak musuh, mereka tetap tidak mengerti. Sementara pada era modern ini, kita sering melakukan transaksi secara elektronik. Transaksitransaksi ini juga perlu dilindungi karena mengandung informasi yang bersifat pribadi, misalnya nomor kartu kredit. Karena itu kriptografi menjadi sebuah cabang ilmu yang terus diteliti dan dikembangkan untuk melindungi kerahasiaan data.

Sebelum era modern ini, manusia telah menggunakan teknik penyandian dalam pertukaran atau pengiriman informasi yang dianggap sangat rahasia. Pesan-pesan yang dikirim diubah menjadi 4 sandi-sandi sehingga orang yang menyadap tidak dapat mengetahui isi pesan tanpa pengetahuan mengenai cara penyandian.
Scytale yang dimiliki masyarakat Yunani kuno mungkin merupakan salah satu alat pertama yang digunakan untuk menyandikan sebuah pesan. Cara kerja scytale ini adalah pesan yang ingin dikirim dituliskan di secarik kulit yang dililitkan di sebatang kayu berbentuk silinder sehingga jika dilepaskan, maka tulisan tersebut menjadi teracak. Orang yang dapat menyandikan kembali pesan itu ke pesan yang sebenarnya perlu memiliki kayu yang berukuran sama (atau kayu yang sama). Scytale ini termasuk dalam transposition cipher yaitu metode enkripsi yang melakukan perubahan posisi terhadap karakter-karakter di pesan asli. Misalnya pesan “saya disini” dapat disandikan menjadi “ini sidayas” dengan menggunakan transposition cipher ini.
Dikenal juga substitution cipher, atau metode enkripsi yang melakukan substitusi terhadap karakter-karakter pada pesan asli. Salah satu substitution cipher yang terkenal adalah Caesar Cipher yang mengubah setiap huruf dari pesan asli dengan huruf ke sekian di depannya. metode ini diberi nama menurut nama Julius Caesar yang dipercaya menggunakan metode ini untuk berkomunikasi dengan jendral-jendralnya selama peperangan.
Pada perang dunia II, banyak negara yang juga mengembangkan dan menggunakan mesin-mesin tertentu untuk menyandikan pesan mereka. Contohnya seperti Mesin Lorenz dan Enigma yang digunakan oleh militer Jerman.
Perkembangan teknologi dan ditemukannya komputer membuat penggunaan algoritma kriptografi yang lebih kompleks lagi menjadi terbuka kemungkinannya. Banyak penelitian mengenai algoritma kriptografi telah dilakukan sehingga muncul metode baru dalam sistem penyandian pesan. Metode-metode enkripsi yang selama ini dikenal adalah dengan menggunakan sebuah kunci atau kode khusus yang digunakan untuk menyandikan dan membaca pesan.
Misalnya dalam Caesar Cipher digunakan 3 huruf setelah huruf yang digunakan untuk menyandikan pesan. Dan hal itu berarti untuk membaca pesan, kita cukup menggeser setiap huruf yang muncul dengan 3 huruf sebelumnya. Metode ini dikenal dengan symmetric-key cryptography, dimana untuk membaca dan menyandikan sebuah pesan digunakan sebuah key atau kunci yang sama.
Di tahun 1976, sebuah sistem kriptografi yang asymmetric-key dipublikasikan oleh Whitfield Diffie dan Martin Hellman yang dipengaruhi oleh metode distribusi kunci publik (public-key) yang dikembangkan oleh Ralph Merkle. Sistem pertukaran kunci ini dikenal dengan nama Diffie- Hellman key exchage (pada tahun 2002, Hellman menyarankan agar nama ini diubah menjadi Diffie-Hellman-Merkle key exchage atas jasa Merkle dalam penemuan metode public-key). Sistem 5 ini juga disebut public-key cryptography.
Dalam public-key cryptography, kedua pihak yang ingin mengirimkan dan menerima pesan akan saling bertukar kunci yang digunakan untuk mengenkripsi data, sedangkan kunci untuk melakukan dekripsi tetap dirahasiakan. Salah satu public-key cryptography adalah kriptografi RSA.
B.  Komponen Kriptografi
·         Plain text                     : Sumber berita/pesan/teks asli
·         Cipher text                  : Teks yang sudah diproses (diacak, digantikan)
·         Algoritma & kunci      : Misal: subsitusi (algoritma) & number of shift (kunci)
  Pemisahan algoritma & kunci ditemukan oleh Auguste    
  Kerckhoffs von Niewenhof (1883)
C.  Tujuan Kriptografi
Kriptografi bertujuan untuk memberikan layanan pada aspek-aspek keamanan antara lain:
1.       kerahasiaan (confidentiality), yaitu menjaga supaya pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak,
2.       integritas data (data integrity), yaitu memberikan jaminan bahwa untuk tiap bagian pesan tidak akan mengalami perubahan dari saat data 10 dibuat/dikirim oleh pengirim sampai dengan saat data tersebut dibuka oleh penerima data,
3.      otentikasi (authentication), yaitu berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi maupun mengidentifikasi kebenaran sumber pesan,
4.         nirpenyangkalan (non repudiation), yaitu memberikan cara untuk  membuktikan bahwa suatu dokumen datang dari seseorang tertentu sehingga apabila ada seseorang yang mencoba mengakui memiliki dokumen tersebut, dapat dibuktikan kebenarannya dari pengakuan orang tersebut.
D. Jenis Algoritma Kriptografi
Berdasarkan kunci yang digunakan untuk enkripsi dan dekripsi, kriptografi dapat dibedakan menjadi 2 macam, yaitu kriptografi simetri (symetric cryptography) dan kriptografi asimetri asymetric cryptography).
1.      Kriptografi Kunci Simetri.
Algoritma kunci-simetri mengacu pada metode enkripsi yang dalam hal ini pengirim maupun penerima memiliki kunci yang sama. Algoritma kunci-simetri modern beroperasi dalam mode bit dan dapat dikelompokkan menjadi dua kategori:
·           Cipher aliran ( stream cipher)
Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit. Cipher aliran mengenkripsi satu bit setiap kali.
·           Cipher blok (block cipher)
Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam  bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya. Cipher blok mengenkripsi satu blok bit setiap kali.

Beberapa contoh algoritma yang menggunakan kunci-simetris:
·         DES (Data Encryption Standard)
·         Blowfish
·         Twofish
·         MARS
·         IDEA
·         3DES (DES diaplikasikan 3 kali)
  • AES (Advanced Encryption Standard, yang bernama asli rijndael)
2.      Kriptografi Asimetri (Asymetric Cryptography)
Pada sistem kriptografi asimetri, kunci untuk proses enkripsi tidak sama
dengan kunci untuk proses dekripsi. Istilah lain untuk kriptografi asimetri adalah
kriptografi kunci publik (public key cryptography), sebab kunci untuk enkripsi
tidak rahasia dan dapat diketahui oleh siapapun, sementara kunci untuk dekripsi
hanya diketahui oleh penerima pesan.
Berdasarkan arah implementasi dan pembabakan jamannya dibedakan menjadi :
1.       algoritma sandi klasik classic cryptography
  1. algoritma sandi modern modern cryptography
Berdasarkan kerahasiaan kuncinya dibedakan menjadi :
1.       algoritma sandi kunci rahasia secret-key
  1. algoritma sandi kunci publik publik-key
E.  Fungsi Hash Satu Arah
Fungsi hash satu arah (one-way hash function) digunakan untuk membuat sidik jari (fingerprint) dari suatu dokumen atau pesan X. Pesan X (yang besarnya dapat bervariasi) yang akan di-hash disebut pre-image, sedangkan outputnya yang memiliki ukuran tetap, disebut hash-value (nilai hash). Fungsi hash dapat diketahui oleh siapapun, tak terkecuali, sehingga siapapun dapat memeriksa keutuhan dokumen atau pesan X tersebut. Tak ada algoritma rahasia dan umumnya tak ada pula kunci rahasia. Contoh algoritma fungsi hash satu arah adalah MD-5 dan SHA. Message Authentication Code (MAC) adalah salah satu variasi dari fungsi hash satu arah, hanya saja selain pre-image, sebuah kunci rahasia juga menjadi input bagi fungsi MAC.

Sifat-Sifat Fungsi Hash Kriptografi:

·         Tahan preimej (Preimage resistant): bila diketahui nilai hash h maka sulit (secara komputasi tidak layak) untuk mendapatkan m dimana h = hash(m).
·         Tahan preimej kedua (Second preimage resistant): bila diketahui input m1 maka sulit mencari input m2 (tidak sama dengan m1) yang menyebabkan hash(m1) = hash(m2).
·         Tahan tumbukan (Collision-resistant): sulit mencari dua input berbeda m1 dan m2 yang menyebabkan hash(m1) = hash(m2)
Beberapa contoh algoritma fungsi hash Kriptografi:
1.    MD4
2.    MD5
3.    SHA-0
4.    SHA-1
5.    SHA-256
6.    SHA-512
F.  Tanda Tangan Digital
Selama ini, masalah tanda tangan digital masih sering di permasalahkan keabsahannya, hal ini terjadi karena pengertian dan konsep dasarnya belum dipahami. Penandatanganan digital terhadap suatu dokumen adalah sidik jari dari dokumen tersebut beserta timestamp-nya di enkripsi dengan menggunakan kunci privat pihak yang menandatangani. Tanda tangan digital memanfaatkan fungsi hash satu arah untuk menjamin bahwa tanda tangan itu hanya berlaku untuk dokumen yang bersangkutan saja. Keabsahan tanda tangan digital itu dapat diperiksa oleh pihak yang menerima pesan.
G.  Dasar Matematis
1.      Konsep Dasar Kriptografi
Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasirelasi himpunan yaitu himpunan yang berisi elemen plainteks dan himpunan yang berisi elemen cipherteks [4]. Enkripsi dan dekripsi merupakan fungsi transformasiantara dua himpunan tersebut. Bila himpunan plainteks dinotasikan dengan P danhimpunan cipherteks dinotasikan dengan C, sedangkan fungsi enkripsidinotasikan dengan E dan fungsi dekripsi dinotasikan dengan D maka proses enkripsi dan dekripsi dapat dinyatakan dalam notasi matematis sebagai berikut :
E(P) = C
D(C) = P
Karena proses enkripsi dan dekripsi bertujuan untuk memperoleh kembali data asal, maka :
D(E(P)) = P
Relasi antara himpunan plainteks dengan himpunan cipherteks merupakan korespondensi satu-satu. Hal ini merupakan keharusan untuk mencegah terjadinya ambigu dalam dekripsi yaitu satu elemen cipherteks menyatakan lebih dari satu elemen plainteks.
Pada metode kriptografi simetris hanya menggunakan satu buah kunci untuk proses enkripsi dan dekripsi. Bila kunci dinotasikan dengan k maka proses enkripsi dan dekripsi kriptografi simetris dapat dinyatakan sebagai berikut :
E k (P) C =D k (C) P Maka: D (E (P))=P
Pada metode kriptografi asimetris menggunakan kunci umum untuk enkripsi dan kunci pribadi untuk dekripsi. Bila kunci umum dinotasikan dengan pk dan kunci pribadi dinotasikan dengan sk, maka proses enkripsi dan dekripsi kriptografi asimetris dapat dinyatakan sebagai berikut :
E pk (P) =C
D sk (C)=P
Maka:
D sk (E pk (P))=P
2.      Aritmatika Modular
Aritmetika modular merupakan operasi matematika yang banyak diimplementasikan pada metode kriptografi. Pada metoda kriptografi simetris, operasi aritmetika modular yang sering dipakai adalah operasi penjumlahan modulo dua dan operasi XOR (Exclusive OR) dengan simbol .. operasi modulo dua ini melibatkan bilangan 0 dan 1 saja sehingga identik dengan bit pada komputer. Seluruh kemungkinan nilai operasi XOR ini dapat dilihat pada table dibawah ini :
Dari tabel diatas dapat dilihat sifat-sifat unik operasi XOR yaitu :
A A = 0, A 0 = A, A 1 = A’, dengan A’ adalah komplemen dari A.

0 komentar:

Posting Komentar

Guestbook

Ilmu komputer © 2008 Template by:
SkinCorner