1. KRIPTOGRAFI KLASIK DAN MODERN
Jurusan Teknik Komputer
Sekolah Tinggi Teknologi Payakumbuh
2. Kriptografi Klasik
• Sebelum komputer ada, kriptografi dilakukan
dengan algoritma berbasis karakter.
• Algoritma yang digunakan termasuk ke dalam
sistem kriptografi simetri dan digunakan jauh
sebelum sistem kriptografi kunci publik ditemukan
• Tiga alasan mempelajari algoritma kriptografi
klasik:
1. Untuk memberikan pemahaman konsep dasar kriptografi.
2. Dasar dari algoritma kriptografi modern.
3. Dapat memahami potensi-potensi kelemahan sistem
chiper
Deni Satria - Jaringan komputer dan keamanan 2
3. Jenis Kriptografi Klasik
• Chiper Substitusi (Substitution Chipers)
• Chiper Transposisi (Transposition Chipers)
4. Chiper Substitusi
• Ini adalah algoritma kriptografi yang mula-mula
digunakan oleh kaisar Romawi, Julius Caesar
(sehingga dinamakan juga caesar chiper), untuk
menyandikan pesan yang ia kirim kepada para
gubernurnya.
• Caranya adalah dengan mengganti (menyulih atau
mensubstitusi) setiap karakter dengan karakter lain
dalam susunan abjad (alfabet)
5. • Misalnya, tiap huruf disubstitusi dengan huruf ketiga
berikutnya dari susunan abjad. Dalam hal ini kuncinya adalah
jumlah pergeseran huruf (yaitu k=3)
• Tabel substitusi:
pi : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
• Contoh 1.
Pesan
AWASI ASTERIX DAN TEMANNYA OBELIX
• disamarkan (enkripsi) menjadi
DZDVL DVWHULA GDQ WHPDQQBA REHOLA
6. • Penerima pesan men-dekripsi chiperteks dengan
menggunakan tabel substitusi, sehingga chiperteks
DZDVL DVWHULA GDQ WHPDQQBA REHOLA
dapat dikembalikan menjadi plainteks semula:
AWASI ASTERIX DAN TEMANNYA OBELIX
7. Kriptanalisis Terhadap Caesar Chiper
• Caesar chiper mudah dipecahkan dengan metode
exhaustive key search karena jumlah kuncinya
sangat sedikit (hanya ada 26 kunci).
8. Chiper Transposisi
• Pada chiper transposisi, plainteks tetap sama,
tetapi urutannya diubah. Dengan kata lain,
algoritma ini melakukan transpose terhadap
rangkaian karakter di dalam teks.
• Nama lain untuk metode ini adalah permutasi,
karena transpose setiap karakter di dalam teks
sama dengan mempermutasikan karakter-karakter
tersebut
9. • Contoh
Misalkan plainteks adalah
TEKNIK KOMPUTER STTP
• Untuk meng-enkripsi pesan, plainteks ditulis secara
horizontal dengan lebar kolom tetap, misal selebar
6 karakter (kunci k = 6):
TEKNIK
KOMPUT
ERSTTP
maka chiperteksnya dibaca secara vertikal menjadi
TKEEORKMSNPTIUTKTP
10. • Untuk mendekripsi pesan, kita membagi panjang chiperteks
dengan kunci. Pada contoh ini, kita membagi 18 dengan 6
untuk mendapatkan 3
• Algoritma dekripsi identik dengan algoritma enkripsi. Jadi,
untuk contoh ini, kita menulis chiperteks dalam baris-baris
selebar 3 karakter menjadi :
TKE
EOR
KMS
NPT
IUT
KTP
11. • Dengan membaca setiap kolom kita memperoleh
pesan semula:
TEKNIK KOMPUTER STTP
12. Kriptografi Modern
• Algoritma kriptografi modern umumnya beroperasi dalam
mode bit ketimbang mode karakter (seperti yang dilakukan
pada cipher substitusi atau cipher transposisi dari algoritma
kriptografi klasik)
• Operasi dalam mode bit berarti semua data dan informasi
(baik kunci, plainteks, maupun cipherteks) dinyatakan dalam
rangkaian 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
• Perkembangan algoritma kriptografi modern berbasis bit
didorong oleh penggunaan komputer digital yang
merepresentasikan data dalam bentuk biner
13. Jenis Kriptografi Modern
• Cipher aliran (stream cipher)
– Algoritma kriptografi beroperasi pada plainteks/cipherteks
dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit
dienkripsikan/didekripsikan bit per bit
• Cipher blok (block cipher)
– Algoritma kriptografi beroperasi pada plainteks/cipherteks
dalam bentuk blok bit, yang dalam hal ini rangkaian bit
dibagi menjadi blok-blok bit yang panjangnya sudah
ditentukan sebelumnya
– Misalnya panjang blok adalah 64 bit, maka itu berarti
algoritma enkripsi memperlakukan 8 karakter setiap kali
penyandian (1 karakter = 8 bit dalam pengkodean ASCII).
14. Rangkaian Bit
• Rangkaian bit yang dipecah menjadi blok-blok bit dapat ditulis
dalam sejumlah cara bergantung pada panjang blok
• Contoh: Plainteks 100111010110 dibagi menjadi blok bit yang
panjangnya 4 menjadi
1001 1101 0110
• Setiap blok menyatakan bilangan bulat dari 0 sampai 15, yaitu
9 13 6
• Bila plainteks dibagi menjadi blok-blok yang berukuran 3 bit,
maka rangkaian bit di atas menjadi:
100 111 010 110
Setiap blok menyatakan bilangan bulat dari 0 sampai 7, yaitu
4 7 2 6
15. • Bila panjang rangkaian bit tidak habis dibagi
dengan ukuran blok
• yang ditetapkan, maka blok yang terakhir ditambah
dengan bit-bit semu yang disebut padding bits.
• Misalnya rangkaian bit di atas dibagi menjadi blok
5-bit menjadi
10011 10101 00010
• Blok yang terakhir telah ditambahkan 3 bit 0 di
bagian awal (dicetak tebal) agar ukurannya menjadi
5 bit. Padding bits dapat mengakibatkan ukuran
plainteks hasil dekripsi lebih besar daripada ukuran
plainteks semula
16. • Cara lain untuk menyatakan rangkaian bit adalah dengan
notasi heksadesimal (HEX). Rangkaian bit dibagi menjadi
blok yang berukuran 4 bit dengan representasi dalam HEX
adalah:
0000 = 0 0001 = 1 0010 = 2 0011 = 3
0100 = 4 0101 = 5 0011 = 6 0111 = 7
1000 = 8 1001 = 9 1010 = A 1011 = B
1100 = C 1101 = D 1101 = E 1111 = F
• Misalnya, plainteks 100111010110 dibagi menjadi blok bit
yang panjangnya 4 menjadi
1001 1101 0110
yang dalam notasi HEX adalah :
9 D 6
17. Operator XOR
• Operator biner yang sering digunakan dalam cipher
yang yang beroperasi dalam mode bit adalah XOR
atau exclusive-or
• Notasi matematis untuk opeartor XOR adalah ⊕
(dalam Bahas C, operator XOR dilambangkan
dengan ^)
• Operator XOR diperasikan pada dua bit dengan
aturan sebagai berikut:
0⊕0=0
0⊕1=1
1⊕0=1
1⊕1=0
18. • Misalkan a, b, dan c adalah peubah Boolean. Hukum-hukum
yang terkait dengan operator XOR:
(i) a ⊕ a = 0
(ii) a ⊕ b = b ⊕ a (Hukum komutatif)
(iii) a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c (Hukum asosiatif)
• Jika dua rangkaian dioperasikan dengan XOR, maka
operasinya dilakukan dengan meng-XOR-kan setiap bit yang
berkoresponden dari kedua rangkaian bit tersebut
• Contoh: 10011 ⊕ 11001 = 01010
yang dalam hal ini, hasilnya diperoleh sebagai berikut:
1 0 0 1 1
1 1 0 0 1 ⊕
1⊕1 0⊕1 0⊕0 1⊕ 0 1⊕1
0 1 0 1 0
19. • Algoritma enkripsi sederhana yang menggunakan
XOR adalah dengan meng-XOR-kan plainteks (P)
dengan kunci (K) menghasilkan cipherteks
C = P ⊕ K ….. (1)
• Karena meng-XOR-kan nilai yang sama dua kali
menghasilkan nilai semula, maka proses dekripsi
menggunakan persamaan
P= C ⊕ K ….. (2)