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.
Ada empat tujuan mendasar dari ilmu
kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :
§ 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.
§ 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.
§ 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.
§ Non-repudiasi.,
atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan
terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.
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 :
Dekripsi : atau
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 digunakan 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
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:
1.
Ahmad dan Bejo masing-masing membuat 2 buah kunci
1.
Ahmad membuat dua buah kunci, kunci-publik dan
kunci-privat
2.
Bejo membuat dua buah kunci, kunci-publik dan
kunci-privat
2.
Mereka berkomunikasi dengan cara:
1.
Ahmad dan Bejo saling bertukar kunci-publik. Bejo mendapatkan dari
Ahmad, dan Ahmad mendapatkan dari
Bejo.
2.
Ahmad mengenkripsi teks-terang ke
Bejo dengan fungsi
3.
Ahmad mengirim teks-sandi ke
Bejo
4.
Bejo menerima dari
Ahmad dan membuka teks-terang dengan fungsi
Hal yang sama
terjadi apabila Bejo hendak mengirimkan pesan ke Ahmad
1.
Bejo mengenkripsi teks-terang ke
Ahmad dengan fungsi
2.
Ahmad menerima dari
Bejo dan membuka teks-terang dengan fungsi
Algoritma -Algoritma Sandi Kunci-Asimetris
§ Knapsack
§ RSA -
Rivert-Shamir-Adelman
Fungsi Hash Kriptografis
Fungsi hash
Kriptografis adalah fungsi
hash yang memiliki beberapa sifat keamanan tambahan sehingga
dapat dipakai untuk tujuan keamanan data. Umumnya digunakan untuk
keperluan autentikasi dan
integritas data. Fungsi hash adalah fungsi yang secara efisien mengubah string
input dengan panjang berhingga menjadi string output dengan panjang tetap yang
disebut nilai hash.
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)
Algoritma-Algoritma Fungsi Hash Kriptografi
Beberapa contoh
algoritma fungsi hash Kriptografi:
§ MD4
§ MD5
§ SHA-0
§ SHA-1
§ SHA-256
§ SHA-512
Tidak ada komentar:
Posting Komentar