KRIPTOGRAFI
Ada dua cara
yang paling dasar pada kriptografi klasik. Yang pertama adalah transposisi.
Transposisi adalah mengubah susunan huruf pada plaintext sehingga urutannya
berubah. Contoh yang paling sederhana adalah mengubah suatu kalimat dengan
menuliskan setiap kata secara terbalik.
Plaintext: IBU AKAN DATANG BESOK PAGI
Ciphertext: UBI NAKA GNATAD KOSEB IGAP
Contoh transposisi yang sedikit lebih sulit adalah plaintext yang disusun dalam kelompok huruf yang terdiri dari beberapa kolom huruf, misalnya 5 kolom huruf :
Plaintext: IBU AKAN DATANG BESOK PAGI
Ciphertext: UBI NAKA GNATAD KOSEB IGAP
Contoh transposisi yang sedikit lebih sulit adalah plaintext yang disusun dalam kelompok huruf yang terdiri dari beberapa kolom huruf, misalnya 5 kolom huruf :
IBUAK
ANDAT
ANGBE
SOKPA
GIAAA
Plaintext disusun dalam 5 kolom huruf
kemudian dituliskan per kolom, dengan urutan kolom
yang bisa berubah-ubah. IAASGBNNOIUDGKAAABPAKTEAA Kolom huruf dituliskan
berurutan dari kolom 1,2,3,4,5
Cara kedua adalah cara substitusi yaitu setiap huruf pada plaintext akan digantikan dengan huruf lain berdasarkan suatu cara atau rumus tertentu. Ada dua macam substitusi yaitu polyalphabetic substitution cipherdanmonoalphabetic substitution cipher. Padapolyalphabetic substitution cipher, enkripsi terhadap satu huruf yang sama bisa menghasilkan huruf yang berbeda sehingga lebih sulit untuk menemukan pola enkripsinya.
Pada monoalphabetic substitution cipher maka satu huruf tertentu pasti akan berubah menjadi huruf tertentu yang lain, sehingga pola enkripsinya lebih mudah diketahui, karena satu huruf pada ciphertext pasti merepresentasikan satu huruf pada plaintext.
Salah satu contoh cara substitusi adalah dengan dengan pergeseran huruf. Kita lihat pada gambar 4, urutan abjad ABCD…….Z bisa digeser sebanyak 1 huruf sehingga huruf A akan menjadi B, B akan menjadi C dan seterusnya. Pergeserannya bisa dibuat lebih banyak yaitu 2 huruf sehingga huruf A akan menjadi C, B akan menjadi D dan seterusnya. Pergeseran bisa lebih banyak lagi tergantung bagaimana kita merumuskannya. Cara pergeseran ini termasukmonoalphabetic substitution cipher di mana satu huruf pasti akan berubah menjadi huruf tertentu yang lain. Karena relasi antara huruf plaintext dan huruf ciphertext satu-satu, yang artinya suatu huruf plaintext pasti menjadi suatu huruf ciphertext tertentu, maka cara monoalphabetic substitution cipher sangat mudah dipecahkan.
Cara kedua adalah cara substitusi yaitu setiap huruf pada plaintext akan digantikan dengan huruf lain berdasarkan suatu cara atau rumus tertentu. Ada dua macam substitusi yaitu polyalphabetic substitution cipherdanmonoalphabetic substitution cipher. Padapolyalphabetic substitution cipher, enkripsi terhadap satu huruf yang sama bisa menghasilkan huruf yang berbeda sehingga lebih sulit untuk menemukan pola enkripsinya.
Pada monoalphabetic substitution cipher maka satu huruf tertentu pasti akan berubah menjadi huruf tertentu yang lain, sehingga pola enkripsinya lebih mudah diketahui, karena satu huruf pada ciphertext pasti merepresentasikan satu huruf pada plaintext.
Salah satu contoh cara substitusi adalah dengan dengan pergeseran huruf. Kita lihat pada gambar 4, urutan abjad ABCD…….Z bisa digeser sebanyak 1 huruf sehingga huruf A akan menjadi B, B akan menjadi C dan seterusnya. Pergeserannya bisa dibuat lebih banyak yaitu 2 huruf sehingga huruf A akan menjadi C, B akan menjadi D dan seterusnya. Pergeseran bisa lebih banyak lagi tergantung bagaimana kita merumuskannya. Cara pergeseran ini termasukmonoalphabetic substitution cipher di mana satu huruf pasti akan berubah menjadi huruf tertentu yang lain. Karena relasi antara huruf plaintext dan huruf ciphertext satu-satu, yang artinya suatu huruf plaintext pasti menjadi suatu huruf ciphertext tertentu, maka cara monoalphabetic substitution cipher sangat mudah dipecahkan.
Algoritma
Kriptografi Klasik memiliki ciri:
- Berbasis Karakter
- Menggunakan pena dan kertas saja (belum ada komputer)
- Termasuk ke dalam kriptografi kunci-simetri
Secara
Teknik Algoritma Kriptografi Klasik terdiri dari:
1. Teknik
Subsitusi
2. Teknik
Transposisi
Kriptografi Modern
Kriptografi Modern karakter dikonversi ke
dalam suatu urutan digit binner (bits) yaitu 1 dan 0 dengan menggunakan skema
encoding ASCII (American Standard Code for Information Interchange). Perkembangan algoritma kriptografi modern didorong
oleh penggunaan komputer digital untuk keamanan pesan. Dalam
Kriptografi Modern, kunci,
plainteks, cipherteks, diproses dalam rangkaian bit
dengan Operasi bit XOR.
Kriptografi modern menggunakan gagasan
dasar yang sama seperti kriptografi klasik (permutasi dan transposisi) tetapi
penekanannya berbeda. Pada kriptografi klasik, kriptografer menggunakan
algoritma yang sederhana, yang memungkinkan cipherteks dapat dipecahkan dangan
mudah (melalui penggunaan statistik, terkaan, intuisi, dsb). Algoritma
kriptografi modern dibuat sedemikian kompleks sedemikian sehingga kriptanalis
sangat sulit memecahkan cipherteks tanpa mengetahui kunci.
Algoritma kriptografi modern umumnya beroperasi
dalam mode bit ketimbang mode karakter. Operasi dalam mode bit berarti semua
data dan informasi (baik kunci, plainteks, maupun cipherteks) dinyatakan dalam
rangkaian (string) bit biner, 0 dan 1. Algoritma enkripsi dan dekripsi
memproses semua data dan informasi dalam bentuk rangkaian bit. Rangkaian bit
yang menyatakan plainteks dienkripsi menjadi cipherteks dalam bentuk rangkaian
bit, demikian sebaliknya.
Kriptografi Asimetris
Algoritma simetris, sering juga
disebut dengan algoritma kunci rahasia atau sandi kunci rahasia. Algoritma
asimetris (asymmetric algorithm) adalah suatu algoritma dimana kunci
enkripsi yang digunakan tidak sama dengan kunci dekripsi. Pada algoritma ini
menggunakan dua kunci yakni kunci publik (public key) dan kunci privat
(private key). Kunci publik disebarkan secara umum sedangkan kunci
privat disimpan secara rahasia oleh si pengguna
Sifat kunci yang seperti ini
membuat pengirim harus selalu memastikan bahwa jalur yang digunakan dalam
pendistribusian kunci adalah jalur yang aman atau memastikan bahwa seseorang
yang ditunjuk membawa kunci untuk dipertukarkan adalah orang yang dapat
dipercaya. Masalahnya akan menjadi rumit apabila komunikasi dilakukan secara
bersama-sama oleh sebanyak n pengguna dan setiap dua pihak yang melakukan
pertukaran kunci, maka akan terdapat sebanyak (n-1)/2 kunci rahasia yang harus
dipertukarkan secara aman.
Algoritma simetri (Algoritma Klasik) Dimana kunci
yang digunakan untuk proses enkripsi dan dekripsi adalah kunci yang sama.
Algoritma asimetris (Algoritma
Publik) Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi
menggunakan kunci yang berbeda. Kunci terbagi dua bagian yakni: kunci rahasia
(private key) dan kunci umum (public key). Algoritma yang biasa digunakan
adalah: 1. Digital Signature lgortihm (DSA) 2. RSA 3. Diffie-Hellman (DH) 4.
Elliptic Curve Cryptiography (ECC) 5. Kripto Quantum, dan lain sebagainya
Contoh dari algoritma kriptografi simetris adalah
Cipher Permutasi, Cipher Substitusi, Cipher Hill, OTP, RC6, Twofish, Magenta, FEAL,
SAFER, LOKI, CAST, Rijndael (AES), Blowfish, GOST, A5, Kasumi, DES dan IDEA.
Kelebihan :
·
Masalah keamanan pada distribusi kunci dapat lebih baik
·
Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit
Kelemahan :
·
Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris
·
Untuk tingkat keamanan sama,
kunci yang digunakan lebih
panjang dibandingkan dengan algoritma simetris.
Contoh
algoritma : RSA, DSA, ElGamal
Kriptografi
Asimentris atau
disebut juga Public Key Criptography (PKC), adalah kriptografi
yang menggunakan 2 buah kunci (private & publik) yang
masing-masing kunci tersebut hanya digunakan untuk enkripsi saja
atau dekripsi saja.
Kunci public adalah kunci yang
publikasikan/diberikan kepada orang lain, sedangkan kunci private harus
dirahasiakan.
Apabila
pesan di-enkripsi menggunakan kunci publik, maka dekripsi-nya
menggunakan kunci private. Artinya, pesan hanya bisa dibuka oleh pemilik
kunci private. Hal ini biasanya digunakan untuk tujuan confidentalily
(kerahasiaan).
Sebaliknya,
apabila pesan dienkripsi menggunakan kunci private, maka dekripsi-nya
menggunakan kunci publik. Disini sudah jelas, berarti semua orang bisa
membukanya. Ini biasa digunakan untuk melakukan authentication.