Pengertian dan Contoh Kriptografi(Cryptography) dengan
Proses Enkripsi dan Dekripsi
Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto dan graphia. Kripto artinya menyembunyikan, sedangkan graphia artinya tulisan. Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data .Tetapi tidak semua aspek keamanan informasi dapat diselesaikan dengan kriptografi.
Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan.
Pada prinsipnya, Kriptografi memiliki 4 komponen utama
yaitu:
1. Plaintext, yaitu pesan yang dapat
dibaca
2. Ciphertext, yaitu pesan acak yang
tidka dapat dibaca
3. Key, yaitu kunci untuk melakukan
teknik kriptografi
4. Algorithm, yaitu metode untuk
melakukan enkrispi dan dekripsi
Kemudian, proses yang akan dibahas
dalam artikel ini meliputi 2 proses dasar pada Kriptografi yaitu:
1. Enkripsi (Encryption)
2. Dekripsi (Decryption)
dengan key yang digunakan sama untuk
kedua proses diatas. Penggunakan key yang sama untuk kedua proses enkripsi dan
dekripsi ini disebut juga dengan Secret Key, Shared Key atau Symetric
Key Cryptosystems.
Berikut adalah ilustrasi 4 komponen
dan 2 proses yang digunakan dalam teknik kriptografi.
Enkripsi
Enkripsi
(Encryption) adalah sebuah proses menjadikan pesan yang dapat dibaca
(plaintext) menjadi pesan acak yang tidak dapat dibaca (ciphertext). Berikut
adalah contoh enkripsi yang digunakan oleh Julius Caesar, yaitu dengan
mengganti masing-masing huruf dengan 3 huruf selanjutnya (disebut juga
Additive/Substitution Cipher):
Plaintext
|
Ciphertext
|
rumah
|
xasgn
|
motor
|
suzux
|
kompor
|
qusvux
|
dst…
|
Dekripsi
Dekripsi
merupakan proses kebalikan dari enkripsi dimana proses ini akan mengubah
ciphertext menjadi plaintext dengan menggunakan algortima ‘pembalik’ dan key
yang sama. Contoh:
Ciphertext
|
Plaintext
|
xasgn
|
rumah
|
suzux
|
motor
|
qusvux
|
kompor
|
dst…
|
Contoh
Cryptography
Data Asal = “ RUMAH “
Key = 7
Data Acak ?
2. Enkripsi dan Dekripsi
Konsep utama yang melandasi komunikasi data selama ini
adalah persoalan privacy data, dimana satu kata kunci yang digunakan dalam
privacy adalah : pesan/ data harus dikodekan (encrypt) pada saat dikirim.
Data yang akan dikodekan saat dikirim disebut dengan
plaintext dan data yang terkode (encryoted data) disebut dengan chipertext
adalah data yang didekripsi oleh penerima. Terdapat dua kategori metoda
enkripsi/ dekripsi yaitu : metoda kunci rahasia (secret-key methods) dan metoda
kunci publik (public-key encryption)
Enkripsi/ Dekripsi Kunci Rahasia
Dalam
enkripsi K
unci Rahasia, digunakan kunci yang sama oleh dua user yang sedang berkomunikasi. Pengirim menggunakan Kunci dan sebuah algoritma enkripsi untuk meng-enkrip data; sedangkan penerima menggunakan kunci yang sama dan sebuah algoritma dekripsi yang sesuai untuk men-dekrip data. Proses ini terlihat pada Gambar 3.
unci Rahasia, digunakan kunci yang sama oleh dua user yang sedang berkomunikasi. Pengirim menggunakan Kunci dan sebuah algoritma enkripsi untuk meng-enkrip data; sedangkan penerima menggunakan kunci yang sama dan sebuah algoritma dekripsi yang sesuai untuk men-dekrip data. Proses ini terlihat pada Gambar 3.
Gambar 3. Enkripsi/ Dekripsi Kunci Rahasia
Dalam Enkripsi/ Dekripsi Kunci rahasia, kunci yang
sama digunakan oleh pengirim untuk meng-enkrip dan oleh penerima untuk
men-dekrip data. Kunci di bagi bersama (Shared Key)
Dalam enkripsi/ dekripsi kunci rahasia, algoritma yang
digunaka dalam proses dekripsi adalah kebalikkan dari algoritma enkripsi.
Misalnya dalam algoritma enkripsi digunakan kombinasi dari penjumlahan dan
perkalian, maka pada algoritma dekripsi akan digunakan kombinasi dari perkalian
dan pengurangan (ingat : Pengurangan adalah kebalikan dari Penjumlahan, dan
Pembagian adalah kebalikan dari Perkalian).
Misal :
Pada sisi Pengirim :
Data Plaintext = 10
Algoritma Enkripsi =
Penjumlahan dan Perkalian
Key = 2
Data Chipertext = (10+2)* 2 =
24
Pada sisi Penerima :
Data Chipertext = 24
Algoritma Dekripsi = Pembagian
dan Pengurangan
Key = 2
Data Plaintext = (24 : 2)-2 =
10
Perlu diingatk kembali bahwa algoritma enkripsi kunci
rahasia sering juga disebut dengan algoritma enkripsi simetrik karena kunci
yang sama digunakan dalam komunikasi bidireksional (dua arah).
Keuntungan Enkripsi Kunci Rahasia
Algoritma Kunci rahasia merupakan algoritma efisien;
menggunakan waktu yang lebih sedikit untuk meng-enkrip pesan jika dibandingan
dengan algoritma kunci publik. Disebabkan oleh kunci yang digunakan biasanya
lebih kecil, oleh sebab itu maka enkripsi kunci rahasia digunakan untuk
meng-enkrip dan dekrip pesan yang panjang.
Kelemahan Enkripsi/ Dekripsi Kunci Rahasia
Enkripsi/ Dekripsi kunci rahasia memiliki dua
kelemahan utama, yaitu :
- Masing-masing pasangan harus mempunyai kunci rahasia.
Hal ini berarti, jika terdapat N
orang yang berkomunikasi dengan menggunakan metoda ini, maka akan dibutuhkan
N(N-1)/2 buah kunci rahasia. Sebagai contoh untuk 1 juta member akan dibutuhkan
500 miliar kunci, yang diperoleh dari 1.000.000 (1.000.000 – 1)/2.
- Pendistribusian kunci antara dua pihak akan sulit, karena masing-masing member akan memiliki kunci dari setiap anggota lainnya.
Pusat Distribusi Kunci (KDC = Key Distribution Center)
Pada enskripsi kunci rahasia, jika ada dua pihak yang
saling berkomunikasi, maka mereka tidak akan dapat berkomunikasi dengan orang
lain, dan mereka harus sepakat terhadap sebuah shared secret-key. Salah satu
solusi yang dapat digunakan terhadap masalah ini adalah dengan memanfaatkan
pihak ketiga, berupa sebuah pusat distribusi kunci (key distribution
center-KDC). KDC adalah sebuah server normal yang akan men-share sebuah kunci
setaip user.
User kemudian menggunakan shared key-nya untuk membuka
one-time shared key dengan user lainnya.
KDC dapat digunakan untuk mengatasi masalah
penditistribusian Secret- Key
Enkripsi Kunci Publik (Public Key Encryption)
Dalam enkripsi kunci publik, akan terdapat dua jenis
kunci yaitu kunci private (private key) dan kunci publik (public key). Kunci
Private dimiliki oleh penerima (pemilik kunci asli). Kunci Publik
dipublikasikan ke publik.
Gambaran tentang proses enkripsi kunci publik ini,
diperlihatkan pada Gambar 4 berikut, user A ingin mengirim pesan kepada user B.
Maka A menggunakan kunci publik B untuk meng-enkrip pesan, dan pada saat pesan
sampai di B, B menggunakan kunci private-nya untuk men-dekrip isi pesan.
Gambar 4. Enkripsi kunci publik
Di dalam enkripsi/ dekripsi kunci publik, kunci publik
digunakan untuk algoritma enkripsi akan berbeda dengan kunci private yang
digunakan untuk algoritma dekripsi. Kunci publik tersedia untuk publik
sedangkan kunci private disimpan oleh masing-masing individu.
Keuntungan Enkripsi Kunci Publik
Enkripsi/ Dekripsi kunci publik memiliki dua
keuntungan utama, yaitu :
1. Ide utama yang ada dibalik penggunakan kunci publik
ini adalah untuk mengatasi kelemahan shared key di antara dua entitas yang
berkomunikasi pada enkripsi kunci private untuk berkomunikasi dengan orang
lain. Karena pada enkripsi private key, jika dua orang sudah berkomunikasi,
maka dia tidak dapat melakukan komunikasi pada waktu yang sama dengan pihak
ketiga atau orang lain. Pada enkripsi. Dekripsi kunci publik, masing-masing
user dapat membuat pasangan kunci, menyimpan yang private dan mempublis yang
publik, Masing-masing kunci independen dan pasangan kunci yang telah dibuat
dapat digunakan untuk berkomunikasi dengan banyak orang lainnya.
2. Jumlah kunci yang dibutuhkan menurun dengan tajam.
Dalam sistem kunci publik ini, untuk satu juta pengguna untuk berkomunikasi,
hanya dua juta kunci yang dibutuhkan, hal ini karena kunci publik tidak harus
disimpan oleh setiap user yang tergabung, tetapi cukup dipublis di
komunitasnya.
Kelemahan Enkripsi Kunci Publik
Enkripsi kunci publik juga mempunyai dua kelemahan :
1. Kelemahan terbesar dalam enkripsi kunci publik
adalah membutuhkan algoritma yang lebih kompleks. Jika digunakan metoda yang
efektif, maka akan dibutuhkan jumlah algoritma yang lebih besar, dengan
demikian akan memakan waktu lebih lama dalam proses enkripsi dan dekripsinya.
Oleh sebab itu algoritma enkripsi kunci publik tidak disarankan untuk dipakai
pada pesan yang panjang.
Algoritma kunci publik akan lebih efisien jika
digunakan pada pesan pendek
2. Kelemahan
kedua dari metoda kunci publik adalah perlu dilakukan langkah verifikasi
terhadap kunci diatara dua entitas yang berkomunikasi. Jika A mengirim kunci
publiknya ke B melalui email, maka B harus yakin bahwa kunci publik tersebut
benar-benar milik A, bukan orang lain, maka B akan memverifikasi kunci publik
tersebut kepada A. Dalam hal ini kita lihat bahwa pada enkripsi kunci publik,
persoalah sertifikasi kepemilikan kunci publik menjadi keharusan untuk proses
authetikasi. Persoalan ini akan dapat diatasi dengan menggunakan sebuah
Certification Authority – CA (Sertifikasi kepemilikan).