“Kriptografi adalah suatu ilmu yang mempelajari teknik-teknik untuk menyemebunyikan pesan rahasia dari pihak-pihak
yang tidak berwenang”
Prinsip dasarnya adalah kita ingin agar pesan hanya dapat dibaca dan dipahami oleh orang-orang yang berhak
mengaksesnya saja, contoh penerapannya:
Pesan rahasia saat Perang Dunia II
Pengiriman uang secara elektronik (khususnya username dan passwordnya)
Cryptocurrency and Blockchain
Menyimpan informasi penting pada database (username & password)
PLAINTEXT: Pesan asli yang akan dienkripsi. Masih dapat dibaca dengan mudah oleh siapapun
CIPHERTEXT: Pesan yang sudah berhasil dienkripsi. Sangat sulit dibaca oleh manusia
ENKRIPSI: Proses pengkodean terhadap pesan sehingga pesan hanya dapat dibaca dan dipahami oleh pihak-pihak yang
berwenang saja.Plaintext -> Ciphertext
DEKRIPSI: Proses pendekodean ciphertext menjadi plaintext
KUNCI: Suatu karakter atau serangkaian karakter yang dibutuhkan oleh enkripsi dan dekrispi
Kriptografi Simetris
Kriptografi simetris menggunakan satu kunci. Baik enkripsi dan dekripsi menggunakan kunci yang sama -> itulah
mengapa dinamakan simetris” contoh chaesar chipher, AES, DES
Kriptografi Asimetris
Kriptografi asimetris menggunakan dua buah kunci. Public key digunakan untuk melakukan enkripsi. Private key
digunakan untuk melakukan dekripsi. Contoh: RSA, Eliptic Curve Cryptography
Public key boleh diketahui oleh siapapun
Private key tidak boleh ada yang mengetahui
Misal, Alice ingin mengirim pesan kepada Bob. Alice melakukan enkripsi dengan public key milik Bob.
Bob dapat melakukan dekripsi terhadap pesan tersebut menggunakan private key milik Bob
Kunci rahasia = 3
O → 14 → (14 + 3) mod 26 = 17 → R (x)=(x+3)mod 26
M → 12 → (12 + 3) mod 26 = 15 → P
P → 15 → (15 + 3) mod 26 = 18 → S
I → 8 → (8 + 3) mod 26 = 11 → L
L → 11 → (11 + 3) mod 26 = 14 → O
U → 20 → (20 + 3) mod 26 = 23 → X
Y → 24 → (24 + 3) mod 26 = 1 → B
O → 14 → (14 + 3) mod 26 = 17 → R
Caesar-Cipher: Dekripsi (Contoh)
R → 17 → (17 - 3) mod 26 = 14 → O D(x)=(x−3)mod 26
P → 15 → (15 - 3) mod 26 = 12 → M
S → 18 → (18 - 3) mod 26 = 15 → P
L → 11 → (11 - 3) mod 26 = 8 → I
O → 14 → (14 - 3) mod 26 = 11 → L
X → 23 → (23 - 3) mod 26 = 20 → U
B → 1 → (1 - 3) mod 26 = 24 → Y
R → 17 → (17 - 3) mod 26 = 14 → O
Masalah utama dari Caesar-Cipher adalah sangat terbatasnya jumlah kemungkinan kunci rahasia yang
digunakan.Contoh: Jika huruf yang digunakan adalah huruf ALFABET maka hanya ada 26 kemungkinan kunci rahasia
yang digunakan.
Terdapat 2 cara untuk melakukan cracking terhadap Caesar-Cipher.
1) Brute Force: Mencoba semua kemungkinan kunci yang ada. Untuk alfabet hanya ada 26 kunci rahasia yang mungkin
digunakan. Angka tersebut tentu sangat kecil dan sangat memungkinkan untuk dilakukan brute-force.
Dari hasil brute-force tersebut, cari hasil dekripsi yang paling dapat dibaca (sehingga sangat penting untuk tahu bahasa
yang digunakan).
2)Analisis Frekuensi: Melakukan analisis distribusi frekuensi kemunculan suatu huruf. Contoh: Pada Bahasa Inggris,
huruf E, A, O, I, dan T lebih sering muncul dibandingkan huruf lainnya.Cocokan dengan ciphertext yang ada.
Cracking Caesar Cipher – Analisis Frekuensi. Langkah-langkah cracking menggunakan analisis frekuensi
Hitung distribusi frekuensi relatif untuk semua huruf yang ada di ciphertext.
Temukan huruf-huruf yang sering muncul di ciphertext (peringkat ke-1 atau ke-2 terbanyak).
Gunakan rumus berikut untuk mengetahui kunci rahasia yang digunakan.
I → (I + I) mod 26 → (8 + 8) mod 26 = 16 → Q
Plaintext: OM PILU YO
Ciphertext: RQ ZQWX CY
Algoritma Kasiski
Mencari panjang kunci yang mungkin digunakan
Dilakukan dengan cara mencari substring yang berulang pada ciphertext (carilah substring yang memiliki panjang
minimal 3 huruf).
CARA MENGHITUNG HASILNYA YANG DI HITUNG ADA ANGKA SATUNYA DAN JUMLAH CONTOH
0 0 1 0 1 0 0 1
128 64 32 16 8 4 2 1
MAKA JUMLAHNYA 32 + 8 + 1= 41
BINNER
A= 0100 0001 T = 0101 0100 m = 0110 1101
B = 0100 0010 U = 0101 0101 n = 0110 1110
C = 0100 0011 V = 0101 0110 o = 0110 1111
D = 0100 0100 W = 0101 0111 p = 0111 0000
E = 0100 0101 X = 0101 1000 q = 0111 0001
F = 0100 0110 Y = 0101 1001 r = 0111 0010
G = 0100 0111 Z = 0101 1010 s = 0111 0011
H = 0100 1000 a = 0110 0001 t = 0111 0100
I = 0100 1001 b = 0110 0010 u = 0111 0101
J = 0100 1010 c = 0110 0011 v = 0111 0110
K = 0100 1011 d = 0110 0100 w = 0111 0111
L = 0100 1100 e = 0110 0101 x = 0111 1000
M = 0100 1101 f = 0110 0110 y = 0111 1001
N = 0100 1110 g =0110 0111 z = 0111 1010
O = 0100 1111 h = 0110 1000
P = 0101 0000 i = 0110 1001
Q = 0101 0001 j = 0110 1010
R = 0101 0010 k = 0110 1011
S = 0101 0011 l = 0110 1100