Sabtu, 26 November 2011

Kriptografi

Pengertian Kriptografi
Kriptografi adalah ilmu yang mempelajari bagaimana membuat suatu pesan yang  ikirim oleh pengirim, dapat tersampaikan dengan aman pada penerima dengan  cara menyamarkannya dalam bentuk sandi yang tidak mempunyai makna.
Istilah-istilah dalam Kriptografi
Ø    Plaintext, data atau informasi yang dapat dibaca dan dimengerti maknanya (cleartext).
Ø    Enkripsi, proses menyandikan plainteks menjadi cipherteks disebut enkripsi (enchiphering)
Ø    Dekripsi, proses mengembalikan cipherteks menjadi plainteksnya disebut dekripsi
Ø    Chipertext, data yang telah dienkripsi atau disebut juga cryptogram
Ø    Kunci (Key), parameter yang digunakan untuk transformasi enciphering dan dechipering.
Istilah diatas dapat digambarkan sbagai berikut :

Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara matematis sebagai berikut :
EK (M) = C  (Proses Enkripsi)
DK (C) = M  (Proses Dekripsi)
Pada saat proses enkripsi kita menyandikan pesan M dengan suatu kunci K lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan M yang sama seperti pesan sebelumnya.

Cryptographic system (cryptosystem)
Suatu cryptosystem terdiri dari sebuah algoritma, seluruh kemungkinan plaintext, ciphertext dan kunci-kunci. Algoritma kriptografi berdasarkan jenis kunci yang digunakan dapat dibedakan menjadi dua jenis yaitu :
1. Symmetric Cryptosystem
Dalam symmetric cryptosystem ini, kunci yang digunakan untuk proses enkripsi dan dekripsi pada prinsipnya identik, tetapi satu buah kunci dapat pula diturunkan dari kunci yang lainnya. Kunci-kunci ini harus dirahasiakan. Oleh karena itulah sistem ini sering disebut sebagai secret-key ciphersystem. Jumlah kunci yang dibutuhkan umumnya adalah :
nC2  = 
dengan n menyatakan banyaknya pengguna.
Contoh dari sistem ini adalah Data Encryption Standard (DES), Blowfish, IDEA.

2. Assymmetric Cryptosystem
Dalam assymmetric cryptosystem ini digunakan dua buah kunci. Satu kunci yang disebut kunci publik (public key) dapat dipublikasikan, sedang kunci yang lain yang disebut kunci privat (private key) harus dirahasiakan. Proses menggunakan sistem ini dapat diterangkan secara sederhana sebagai berikut : bila A ingin mengirimkan pesan kepada B, A dapat menyandikan pesannya dengan menggunakan kunci publik B, dan bila B ingin membaca surat tersebut, ia perlu mendekripsikan surat itu dengan kunci privatnya. Dengan demikian kedua belah pihak dapat menjamin asal surat serta keaslian surat tersebut, karena adanya mekanisme ini. Contoh sistem ini antara lain RSA Scheme dan Merkle-Hellman Scheme.
Setiap cryptosytem yang baik harus memiliki karakteristik sebagai berikut :
•    Keamanan sistem terletak pada kerahasiaan kunci dan bukan pada kerahasiaan algoritma yang digunakan.
•    Cryptosystem yang baik memiliki ruang kunci (keyspace) yang besar.
•    Cryptosystem yang baik akan menghasilkan ciphertext yang terlihat acak dalam seluruh tes statistik yang dilakukan terhadapnya.
•    Cryptosystem yang baik mampu menahan seluruh serangan yang telah dikenal sebelumnya
Namun demikian perlu diperhatikan bahwa bila suatu cryptosystem berhasil memenuhi seluruh karateristik di atas belum tentu ia merupakan sistem yang baik. Banyak cryptosystem lemah yang terlihat baik pada awalnya. Kadang kala untuk menunjukkan bahwa suatu cryptosystem kuat atau baik dapat dilakukan dengan menggunakan pembuktian matematika.
Hingga saat ini masih banyak orang yang menggunakan cryptosystem yang relatif mudah dibuka, alasannya adalah mereka tidak mengetahui sistem lain yang lebih baik serta kadang kala terdapat motivasi yang kurang untuk menginvestasikan seluruh usaha yang diperlukan untuk membuka suatu sistem.

    Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :
•    Algoritma block cipher
Informasi/data yang hendak dikirim dalam bentuk blok-blok besar (misal 64-bit) dimana blok-blok ini dioperasikan dengan fungsi enkripsi yang sama dan akan menghasilkan informasi rahasia dalam blok-blok yang berukuran sama.

•    Algoritma stream cipher
Informasi/data yang hendak dikirim dioperasikan dalam bentuk blok-blok yang lebih kecil (byte atau bit), biasanya satu karakter persatuan persatuan waktu proses, menggunakan tranformasi enkripsi yang berubah setiap waktu.

Contoh kriptografi :
Data Encryption Standard(DES)
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
Enciphering
16 kali
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.

Tidak ada komentar:

Posting Komentar