Senin, 26 November 2012

Pengertian, Tujuan dan Jenis-jenis Kriptografi

Pengertian Kriptografi 

Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita [bruce Schneier - Applied Cryptography]. Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data [A. Menezes, P. van Oorschot and S. Vanstone - Handbook of Applied Cryptography]. Tidak semua aspek keamanan informasi ditangani oleh kriptografi.

Tujuan Kriptografi

Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :
  1. Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.
  2. Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
  3. Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
  4. Non-repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.

Jenis-Jenis Kriptografi

Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang dipakainya :

1. Kriptografi Simetris

Pengertian Kriptografi Simetris

Kriptografi Simetris adalah : Kode Hill atau lebih dikenal dengan Hill cipher merupakan salah satu algoritma kriptografi kunci simetris dan merupakan salah satu kripto polyalphabetic. Hill cipher diciptakan oleh Lester S. Hill pada tahun 1929 .

Teknik kriptografi ini diciptakan dengan maksud untuk dapat menciptakan cipher yang tidak dapat dipecahkan menggunakanteknik analisis frekuensi. Berbeda dengan caesar cipher, hill cipher tidak mengganti setiap abjad yang sama pada plainteks dengan abjad lainnya yang sama pada cipherteks karena menggunakan perkalian matriks pada dasar enkripsi dan dekripsinya.
Hill cipher merupakan penerapan aritmatika modulo pada kriptografi. Teknik kriptografi ini enggunakan sebuah matriks persegi sebagai kunci berukuran m x m sebagai kunci untuk melakukan enkripsi dan dekripsi. Dasar teori matriks yang digunakan dalam Hill cipher antara lain adalah perkalian antar matriks dan melakukan invers pada matriks
Karena menggunakan matriks sebagai kunci, Hill cipher merupakan algoritma kriptografi kunci simetris yang sulit dipecahkan, karena teknik kriptanalisis seperti analisis frekuensi tidak dapat diterapkan dengan mudah untuk memecahkan algoritma ini. Hill cipher sangat sulit dipecahkan jika kriptanalis hanya memiliki ciphertext saja (chipertext-only), namun dapat dipecahkan dengan mudah jika kriptanalis memiliki ciphertext dan potongan dari plaintext-nya (known-plaintext).

Gambar Kriptografi Simetris :


Gambar Kriptografi Simetris
Gambar Kriptografi Simetris

Contoh Kriptografi Simetris :

Perhitungan Matematis Dasar dari teknik hill cipher adalah aritmatika modulo terhadap matriks. Dalam penerapannya, Hill cipher menggunakan teknik perkalian matriks dan teknik invers terhadap matriks. Kunci pada hill cipher adalah matriks n x n dengan n merupakan ukuran blok. Jika matriks kunci kita sebut dengan K, maka matriks K adalah sebagai berikut :
Contoh Kriptografi Simetris
Contoh Kriptografi Simetris 

Matriks K yang menjadi kunci ini harus merupakan matriks yang invertible, yaitu memiliki multiplicative inverse K-1 sehingga :
K.K-1 = 1
Ingat ! Kunci harus memiliki invers karena matriks K-1 tersebut adalah kunci yang digunakan untuk melakukan dekripsi.

Cara Enkripsi

Dengan mengkodekan atau mengubah setiap huruf abjad dengan integer sebagai berikut: A = 0, B = 1, …, Z = 25
Cara Enkripsi
Cara Enkripsi
maka secara matematis, proses enkripsi pada hill cipher adalah:
C = K . P mod 26
C = Cipherteks | K = Kunci | P = Plainteks
Proses enkripsi pada hill cipher dilakukan per blok plainteks. Ukuran blok tersebut sama dengan ukuran matriks kuncinya. Perhatikan contoh dibawah ini!
P = D O D I S P U T R A ,dikodekan/diintegerkan menjadi
P = 3 14 3 8 18 15 20 19 17 0

Proses enkripsi
Proses enkripsi

Karena matriks kunci K berukuran 2, maka plainteks dibagi menjadi blok yang masing-masing bloknya berukuran 2 karakter. Blok pertama dari plainteks P1,2 =[3;14] kemudian dienkripsi dengan kunci K dengan persamaan C = K . P mod 26. Karena perkalian tersebut menghasilkan lebih dari angka 25 maka dilakukan modulo 26 pada hasil yang lebih dari 25.

Proses enkripsi
Proses enkripsi
Karakter yang berkorespondensi dengan 21 dan 9 adalah V dan J. Setelah melakukan enkripsi semua blok pada plainteks P maka dihasilkan cipherteks C sebagai berikut:
P = D O D I S P U T R A
C = V J R N P W L U R X
Cipherteks yang dihasilkan oleh enkripsi hill chiper atau kode hill menghasilkan cipherteks yang tidak memiliki pola yang mirip dengan plainteks atau pesan aslinya.

Mancari K Invers dan Teknik Dekripsi

Perhitungan matematis dekripsi pada hill chiper atau kode hill ini sama halnya dengan enkripsi. Namun matriks kunci harus dibalik (invers) terlebih dahulu dan kunci invers harus memenuhi persamaan K . K-1 = 1.
P=K-1.Cm26
Sebelum mendekripsi kita akan menginvers kunci K terlebih dahulu, untuk menginvers kita akan menggunakan persamaan [K | I] = K-1, proses invers ini kita akan kita lakukan dengan operasi baris/ row operation.

Mancari K Invers dan Teknik Dekripsi
Mancari K Invers dan Teknik Dekripsi

Dari perhitungan diatas didapatkan K invers :

K invers
K invers 

K invers ini sudah memenuhi persamaan K . K-1 = I, berdasarkan perkalian K dengan K-1 kemudian dimodulasi dengan 26 menghasilkan I = [1 0;0 1]. Setelah itu kita akan melakukan dekripsi terhadap chiperteks, kemudian dirubah menjadi integer terlebih dahulu. Dengan kunci dekripsi yang dimiliki, kriptanalis hanya perlu menerapkan persamaan (P = K-1 . C mod 26) pada cipherteks dan kunci, sehingga menghasilkan plainteks/ pesan asli (P = D O D I S P U T R A).
Hill cipher/ kode hill merupakan algoritma kriptografi klasik yang sangat kuat dilihat dari segi keamanannya dnegan matriks kunci hill cipher harus merupakan matriks yang invertible, karena disitulah letak keunikan sekaligus kesulitan kode hill tersebut.

2. Kriptografi Asimetris

Pengertian Kriptografi Asimetris

Algoritma asimetris, sering juga disebut dengan algoritma kunci publik atausandi kunci publik, menggunakan dua jenis kunci, yaitu kunci publik (public key) dan kunci rahasia (secret key). Kunci publik merupakan kunci yang digunakan untuk mengenkripsi pesan. Sedangkan kunci rahasia digunakan untuk mendekripsi pesan.
Kunci publik bersifat umum, artinya kunci ini tidak dirahasiakan sehingga dapat dilihat oleh siapa saja. Sedangkan kunci rahasia adalah kunci yang dirahasiakan dan hanya orang-orang tertentu saja yang boleh mengetahuinya. Keuntungan utama dari algoritma ini adalah memberikan jaminan keamanan kepada siapa saja yang melakukan pertukaran informasi meskipun di antara mereka tidak ada kesepakatan mengenai keamanan pesan terlebih dahulu maupun saling tidak mengenal satu sama lainnya.

Gambar Kriptografi Asimetris


Gambar Kriptografi Asimetris
Gambar Kriptografi Asimetris

Contoh Kriptografi Asimetris

Contoh RSA:
  1. Kunci Publik:
    • Pilih bil. prima p = 7 dan q = 11, n = 7.11 =77
    • F(n)=(p-1).(q-1)=6.10= 60 artinya
      F(n)={1,2,3,4,6,8,..,76}={x|gcd(x, n)=1}
    • Pilih e dalam {x|gcd(x, 60)=1}, misalnya e=17
    • Hapus p dan q dan Kunci Publik n=77, e=17
  2. Kunci Rahasia:
    • d = e-1 mod F(n), d .e = 1 mod 60, d =53
    • 53 . 17 mod 60 = 901 mod 60 = 1 mod 60

3. Kriptografi Hibrid

Pengertian Kriptografi Hibrid

Permasalahan yang menarik pada bidang kemanan informasi adalah adanya trade off antara kecepatan dengan kenyamanan. Semakin aman semakin tidak nyaman, berlaku juga sebaliknya semakin nyaman semakin tidak aman. Salah satu contohnya adalah bidang kriptografi. Tetapi hal ini dapat diatasi dengan penggunaan kriptografi hibrida. Kriptografi hibrida sering dipakai karena memanfaatkan keunggulan kecepatan pemrosesan data oleh algoritma simetrik dan kemudahan transfer kunci menggunakan algoritma asimetrik. Hal ini mengakibatkan peningkatan kecepatan tanpa mengurangi kenyamanan serta keamanan. Aplikasi kriptografi hibrida yang ada saat ini pada umumnya ditujukan untuk penggunaan umum atau mainstream yang merupakan pengguna komputer.

Aplikasi pada umumnya mengikuti perkembangan hardware komputer yang semakin cepat dari waktu ke waktu. Sehingga hardware yang sudah lama tidak dapat difungsikan sebagaimana mestinya. Selain itu banyak perangkat embedded dengan kekuatan pemrosesan maupun daya yang terbatas. Terutama dengan trend akhir akhir ini, hampir semua orang memiliki handheld device yang mempunyai kekuatan terbatas, seperti telepon seluler.
Dalam tugas akhir ini dibahas mengenai perancangan sebuah aplikasi kriptografi hibrida yang ditujukan untuk kalangan tertentu, terutama pemakai hardware dengan kekuatan pemrosesan yang terbatas. Aplikasi yang ingin dicapai adalah aplikasi yang sederhana, ringan dan cepat tanpa mengurangi tingkat keamanan menggunakan hash.

Sistem ini mengggabungkan chiper simetrik dan asimetrik. Proses ini dimulai dengan negosiasi menggunakan chiper asimetrik dimana kedua belah pihak setuju dengan private key/session key yang akan dipakai. Kemudian session key digunakan dengan teknik chiper simetrik untuk mengenkripsi conversation ataupun tukar-menukar data selanjutnya. Suatu session key hanya dipakai sekali sesi. Untuk sesi selanjutnya session key harus dibuat kembali.

Gambar Kriptografi Hibrid


Gambar Kriptografi Hibrid
Gambar Kriptografi Hibrid

Contoh Kriptografi Hibrid

Metode hibrida terdiri atas enkripsi simetris dengan satu kunci (Session Key) dan enkripsi asimetris dengan sepasang kunci (Public/Private Key).
  1. Langkah 1 : Pengirim mengenkripsi teks dengan Session Key.
  2. Langkah 2 : Mengenkripsi Session Key dengan Public Key.
  3. Langkah 3 : Penerima men-decrypt Session Key dengan Private Key. Langkah 4 : Men-decrypt teks dengan Session Key.

sumber : http://agoydaywalker.blogspot.com

2 komentar:

  1. kita juga punya nih artikel mengenai 'Kriptografi', silahkan dikunjungi dan dibaca , berikut linknya
    http://repository.gunadarma.ac.id/bitstream/123456789/2430/1/03-02-010-Aplikasi%5bYulisdin%5d.pdf
    terimakasih

    BalasHapus
  2. saya masih belum paham tentang denga texs C1,2 mod=26

    BalasHapus