Algoritma Sandi
algoritma
sandi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis. Algoritma tersebut harus memiliki
kekuatan untuk melakukan (dikemukakan oleh Shannon):
- konfusi/pembingungan
(confusion), dari teks terang sehingga sulit untuk direkonstruksikan
secara langsung tanpa menggunakan algoritma dekripsinya
- difusi/peleburan (difusion),
dari teks terang sehingga karakteristik dari teks terang tersebut hilang.
sehingga
dapat digunakan untuk mengamankan informasi. Pada implementasinya sebuah
algoritmas sandi harus memperhatikan kualitas layanan/Quality
of Service
atau QoS dari keseluruhan sistem dimana dia diimplementasikan.
Algoritma sandi yang handal adalah algoritma sandi yang kekuatannya terletak
pada kunci, bukan pada kerahasiaan algoritma itu sendiri. Teknik dan metode
untuk menguji kehandalan algoritma sandi adalah kriptanalisa.
Dasar
matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan yaitu yang
berisi elemen teks terang /plaintext dan yang berisi elemen
teks sandi/ciphertext. Enkripsi dan dekripsi merupakan
fungsi transformasi antara himpunan-himpunan
tersebut. Apabila elemen-elemen teks terang dinotasikan dengan P, elemen-elemen
teks sandi dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan
dengan E, dekripsi dengan notasi D.
Enkripsi :
E(P) = C
Dekripsi :
D(C) = P atau D(E(P)) = P
Secara
umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi :
- kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional
karena umumnya diterapkan pada algoritma sandi klasik
- kunci-asimetris/asymetric-key
Berdasarkan
arah implementasi dan pembabakan jamannya dibedakan menjadi :
- algoritma sandi klasik classic cryptography
- algoritma sandi modern modern cryptography
Berdasarkan
kerahasiaan kuncinya dibedakan menjadi :
- algoritma sandi kunci rahasia secret-key
- algoritma sandi kunci publik publik-key
Pada
skema kunci-simetris, digunakan sebuah kunci rahasia yang sama untuk melakukan
proses enkripsi dan dekripsinya. Sedangkan pada sistem kunci-asimentris
digunakan sepasang kunci yang berbeda, umumnya disebut kunci publik(public key) dan kunci pribadi (private key), digunakan untuk proses enkripsi dan proses
dekripsinya. Bila elemen teks terang dienkripsi dengan menggunakan kunci
pribadi maka elemen teks sandi yang dihasilkannya hanya bisa didekripsikan
dengan menggunakan pasangan kunci pribadinya. Begitu juga sebaliknya, jika
kunci pribadi digunakan untuk proses enkripsi maka proses dekripsi harus
menggunakan kunci publik pasangannya.
algoritma sandi kunci-simetris
Skema
algoritma sandi akan disebut kunci-simetris apabila untuk setiap proses
enkripsi maupun dekripsi data secara keseluruhan digunakan kunci yang sama.
Skema ini berdasarkan jumlah data per proses dan alur pengolahan data
didalamnya dibedakan menjadi dua kelas, yaitu block-cipher dan stream-cipher.
Block-Cipher
Block-cipher
adalah skema algoritma sandi yang akan membagi-bagi teks terang yang akan
dikirimkan dengan ukuran tertentu (disebut blok) dengan panjang t, dan setiap
blok dienkripsi dengan menggunakan kunci yang sama. Pada umumnya, block-cipher
memproses teks terang dengan blok yang relatif panjang lebih dari 64 bit, untuk mempersulit penggunaan pola-pola
serangan yang ada untuk membongkar kunci. Untuk menambah kehandalan model
algoritma sandi ini, dikembangkan pula beberapa tipe proses enkripsi,
yaitu :
Stream-Cipher
Stream-cipher
adalah algoritma sandi yang mengenkripsi data persatuan data, seperti bit,
byte, nible atau per lima bit(saat data yang di enkripsi berupa data Boudout).
Setiap mengenkripsi satu satuan data di gunakan kunci yang merupakan hasil
pembangkitan dari kunci sebelum.
Algoritma-algoritma sandi kunci-simetris
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
Algoritma Sandi Kunci-Asimetris
Skema
ini adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi
dan dekripsinya. Skema ini disebut juga sebagai sistem kriptografi kunci publik
karena kunci untuk enkripsi dibuat untuk diketahui oleh umum (public-key) atau
dapat diketahui siapa saja, tapi untuk proses dekripsinya hanya dapat dilakukan
oleh yang berwenang yang memiliki kunci rahasia untuk mendekripsinya, disebut
private-key. Dapat dianalogikan seperti kotak pos yang hanya dapat dibuka oleh
tukang pos yang memiliki kunci tapi setiap orang dapat memasukkan surat ke
dalam kotak tersebut. Keuntungan algoritma model ini, untuk berkorespondensi
secara rahasia dengan banyak pihak tidak diperlukan kunci rahasia sebanyak
jumlah pihak tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi
para korensponden untuk mengenkripsi pesan, dan kunci privat untuk mendekripsi
pesan. Berbeda dengan skema kunci-simetris, jumlah kunci yang dibuat adalah
sebanyak jumlah pihak yang diajak berkorespondensi.
Fungsi Enkripsi dan Dekripsi Algoritma Sandi
Kunci-Asimetris
Apabila
Ahmad dan Bejo hendak bertukar berkomunikasi, maka:
- Ahmad dan Bejo masing-masing
membuat 2 buah kunci
- Ahmad membuat dua buah kunci,
kunci-publik
- Bejo membuat dua buah kunci,
kunci-publik
- Mereka berkomunikasi dengan
cara:
- Ahmad dan Bejo saling bertukar
kunci-publik. Bejo mendapatkan
- Ahmad mengenkripsi teks-terang
- Ahmad mengirim teks-sandi
- Bejo menerima
Hal
yang sama terjadi apabila Bejo hendak mengirimkan pesan ke Ahmad
- Bejo mengenkripsi teks-terang
- Ahmad menerima
Algoritma -Algoritma Sandi Kunci-Asimetris
- Knapsack
- RSA - Rivert-Shamir-Adelman
- Diffie-Hellman
0 Komentar