KRIPTOGRAFI
1
1.3.2 Tujuan Kriptografi
Kriptografi bertujuan untuk memberikan layanan keamanan sebagai berikut (Sadikin,
2012):
1. Otentikasi
Otentikasi memberikan kepastian terhadap identitas setiap entitas yang terlibat dan
sumber daya data.
2. Kendali Akses
Layanan keamanan jaringan yang menghalangi penggunaan tidak terotorisasi
terhadap sumber daya.
3. Kerahasiaan (Confidentiality)
Data yang ditransmisikan diproteksi terhadap pengungkapan oleh pihak-pihak yang
tidak berwenang.
4. Keutuhan Data (Data Integrity)
Data yang diterima oleh penerima dipastikan adalah sama dengan data yang dikirim
oleh pengirim.
5. Non-Repudiation
Setiap entitas yang berkomunikasi tidak dapat menolak atau menyangkal atas data
yang telah dikirim atau diterima.
6. Ketersediaan
Layanan ini membuat sumber daya system tetap dapat diakses dan digunakan
Ketika ada permintaan dari pihak yang berwenang.
A. Caesar Cipher
Merupakan sistem persandian klasik berbasis subtitusi yang sederhana.
Enkripsi dan dekripsi pada sistem persandian Caesar menggunakan operasi
shift. Operasi shift adalah mensubtitusi suatu huruf menjadi huruf lain pada
daftar alfabet yang berada pada-k sebelah kanan atau kiri huruf sebenarnya.
Misal dipilih k = 3.
B. Vigenere Cipher
Merupakan sistem sandi poli-alfabetik yang sederhana. Sistem sandi
poli-alfabetik mengenkripsi sekaligus sebuah teks yang terdiri dari beberapa
huruf. Vigenere cipher menggunakan substitusi dengan fungsi shift seperti pada
Caesar. Fungsi enkripsi dan dekripsi adalah sebagai berikut :
● Enc(p1...pn) = (p1+k1pn+kn) mod 26
3
sangat besar. Ada beberapa mekanisme yang berkembang pada kriptografi modern
(Sadikin, 2012):
1. Symmetric Key
Penyandian dengan kunci simetrik adalah penyandian yang kunci enkripsi dan
kunci dekripsinya bernilai sama. Penyandian ini masih digunakan pada kriptografi
modern. Skema penyandian ini dapat digambarkan pada gambar 1.1.
Symmetric Key mempunyai 2 jenis sandi, yaitu Block Cipher dan Stream Cipher.
A. Block Cipher
Dalam kriptografi, block cipher adalah algoritma yang beroperasi pada
kelompok bit dengan panjang tetap yang disebut blok dengan transformasi yang
tidak bervariasi yang ditentukan oleh kunci simetris. Block Cipher banyak
digunakan untuk mengimplementasikan enkripsi data masal.
Salah satu contoh block cipher adalah S-DES. S-DES merupakan algoritma
DES (Data Encryption Standard) yang disederhanakan dan tidak digunakan dalam
kenyataan karena mudah untuk diserang. Namun dari algoritma yang
disederhanakan kita dapat memahami konsep yang digunakan oleh algoritma DES.
Berikut algoritmanya:
4
Gambar 1.2 Skema Algoritma DES
Contoh:
IP = [2 6 3 1 4 8 5 7] E/P = [4 1 2 3 2 3 4 1] IP-1 = [4 1 3 5 7 2 8 6]
01 00 11 10 00 01 10 11
𝑆0 = [11 10 01 00] 𝑆1 = [10 00 01 11]
00 10 01 11 11 00 01 00
11 01 11 10 10 01 00 11
Jika teks asli 𝑥 = (10101100) lalu 𝐾1 = (11111000) dan 𝐾2 = (10010011),
apa hasil enkripsi 𝑥 dengan S-DES?
Jawab:
- Masukkan teks asli ke dalam boks permutasi IP, 𝐼𝑃(10101100) =
(01110010)
- Ronde 1. Keluarkan IP sebelah kanan (0010) menjadi masukan boks
𝐸/𝑃(0010) = (00010100)
5
- Lakukan XOR antara 𝐾1 dengan keluaran 𝐸/𝑃 yaitu
(11111000) 𝑋𝑂𝑅 (00010100) = (11101100)
- Keluarkan operasi 𝑋𝑂𝑅 (11101100), 4 bit sebelah kiri dikenakan boks
substitusi 𝑆0 karena masukan adalah (1110) maka lihat pada boks substitusi
𝑆0, keluaranya adalah (11). Lakukan hal yang sama pada 4 bit sebelah kanan
dengan boks sumstitusi 𝑆1 sehingga menghasilkan nilai (01).
- Lakukan permutasi P4 terhadap gabungan 2 bit keluaran substitusi sehingga
menghasilkan 𝑃4(1101) = (1101)
- Lakukan XOR keluaran P4 dengan keluaran IP sebelah kiri yaitu
(1101)𝑋𝑂𝑅(0111) = (1010)
- Jadi keluaran Ronde 1 adalah (10100010)
- Lakukan swap pada keluaran Ronde 1 menjadi (00101010) untuk dimasukan
pada Ronde 2
- Lakukan langkah yang sama untuk Ronde 2 seperti pada Ronde 1 namun
dengan 𝐾2 = (10010011)
- Setelah mendapatkan keluaran Ronde 2 maka lakukan IP-1
B. Stream Cipher
Stream Cipher dibuat dengan tujuan mendapatkan sistem sandi yang
mampu melakukan penyandian unit data terkecil secara real time. Karena tujuan
tersebut maka stream cipher akan mengenkripsi dari 1 bit ke bit selanjutnya, dan
karena hal itu proses enkripsinya memerlukan komputasi yang lama dan sangat
berat.
Salah satu contoh dari stream cipher adalah algoritma RC4, dicirikan
dengan state dengan ukuran 256byte yang dilakukan proses permutasi dan
dicampur oleh kunci dimana kunci yang digunakan berukuran 256byte.
6
Gambar 1.3 Skema Stream Cipher
2. Asymmetric Key
Biasa disebut juga kriptografi kunci publik ini pertama kali diusulkan oleh
Deffie dan Hellman pada tahun 1976. Ide dari kriptografi ini terinspirasi dari cara kerja
gembok, karena gembok dan kuncinya harus berpasangan. Jika suatu kunci bukan
merupakan pasangan dari gembok tersebut maka tidak akan bisa membuka gembok.
Penyandian ini yang banyak dikembangkan. Skema penyandian ini dapat digambarkan
pada Gambar 1.4.
7
Gambar 1.5 Skema Algoritma RSA
1.3.5 Hash
Algoritma hash atau biasa disebut juga hash function merupakan algoritma
kriptografi yang tidak memerlukan key. Algoritma ini bersifat satu arah dimana
jika kita memasukkan data maka akan menghasilkan sebuah checksum atau
fingerprint dari data tersebut.
Algoritma hash biasa digunakan untuk melakukan verifikasi terhadap data
untuk memastikan data yang diterima tetap utuh tidak diubah atau rusak pada saat
proses pengiriman. Contoh hash function adalah MD5, SHA-1 dan SHA-256.
8
pada plaintext atau kunci menyatakan semakin baik algoritma kriptografi tersebut.
Berikut ini merupakan rumus perhitungan AE pada umumnya:
∑ 𝑏𝑖𝑡𝑏𝑒𝑟𝑢𝑏𝑎ℎ
𝐴𝑣𝑎𝑙𝑎𝑛𝑐ℎ𝑒 𝐸𝑓𝑓𝑒𝑐𝑡(𝐴𝐸) = ∑ 𝑏𝑖𝑡𝑡𝑜𝑡𝑎𝑙
× 100% (1)
9
Gambar 1.7 Lembar kerja enkripsi AES
3. Masukkan kata atau kalimat yang akan dienkripsi pada bagian kiri, lalu tekan
tombol Play untuk memulai proses enkripsi.
4. Klik continue pada jendela Avalanche Visualization.
5. Ganti satu buah atau beberapa karakter pada bagian text input.
6. Klik pada tiap-tiap round untuk melihat perubahannya, atau langsung klik ke
General Overview untuk melihat hasilnya.
7. Lakukan langkah yang sama pada algoritma DES dengan menggantinya pada
langkah 1.
1.4.3 Hash
1. Pada menu startcenter klik kolom pencarian pada bagian Templates. Cari
Avalanche (hash function).
2. Klik 2x untuk membuka lembar kerjanya.
10