Kata Cryptography berasal dari dari bahasa Yunani κρυπτός kryptós, yang berarti "tersembunyi, rahasia";
dan γράφειν graphein, yang artinya "menulis".
Kriptografi merupakan bagian dari suatu cabang ilmu
matematika yang disebut kriptologi (cryptology). Tujuan dari kriptografi adalah untuk menjaga rahasia informasi yang terkandung
sehingga informasi tersebut tidak dapat diketahui oleh pihak yang tidak sah.
- Sejarah Singkat Kriptografi
https://i2.wp.com/itjambi.com |
Kriptografi
telah digunakan oleh Julius Caesar sejak zaman Romawi Kuno. Teknik ini dijuluki
Caesar cipher untuk mengirim pesan secara rahasia, meskipun teknik yang
digunakannya sangat tidak memadai untuk ukuran kini. Casanova menggunakan
pengetahuan mengenai kriptografi untuk mengelabui Madame d’Urfe (ia mengatakan
kepada Madame d’Urfe bahwa sesosok jin memberi tahu kunci rahasia Madame d’Urfe
kepadanya, padahal ia berhasil memecahkan kunci rahasia berdasarkan
pengetahuannya mengenai kriptografi), sehingga ia mampu mengontrol kehidupan
Madame d’Urfe secara total. (Kromodimoeljo, 2010).
Kriptografi
juga digunakan oleh tentara Sparta melalui alat pembuat pesan yang disebut
Scytale. Scytale merupakan suatu alat yang memiliki pita panjang dari daun
papyrus dan ditambah dengan sebatang silinder. Mula – mula pengirim menuliskan
pesannya diatas pita papyrus yang digulung pada sebatang silinder, setelah itu
pita dilepaskan dan dikirimkan. Batang silinder yang cukup tebal dapat
dituliskan 6 huruf dan bisa memuat 3 huruf secara melingkar. (Ariyus, 2008).
Dua Kriptografi di atas masuk dalam kategori kriptografi klasik, yang dimana penggunaan dan pemecahan kodenya masih menggunakan tangan bukan mesin atau komputer. Untuk lebih jelasnya saya akan membahas lebih lanjut beberapa kriptografi klasik termasuk Caesar Cipher diatas.
1. Caesar Cipher
http://www.julius-caesar.nl/ |
Caesar
Cipher adalah salah satu teknik enkripsi
paling sederhana dan paling terkenal. Sandi ini termasuk sandi substitusi
dimana setiap huruf pada teks terang (plaintext) digantikan oleh huruf lain
yang memiliki selisih posisi tertentu
dalam alfabet geseran 3, W akan menjadi
Z, I menjadi L, dan K menjadi N sehingga teks terang "wiki"
akan menjadi "ZLNL" pada teks tersandi. Nama Caesar diambil dari
Julius Caesar, jenderal, konsul, dan diktator Romawi yang menggunakan sandi ini
untuk berkomunikasi dengan para panglimanya.
Untuk menyandikan sebuah pesan, cukup mencari setiap huruf yang hendak disandikan di alfabet biasa, lalu tuliskan huruf yang sesuai pada alfabet sandi. Untuk memecahkan sandi tersebut gunakan cara sebaliknya. Contoh penyandian sebuah pesan adalah sebagai berikut.
Untuk menyandikan sebuah pesan, cukup mencari setiap huruf yang hendak disandikan di alfabet biasa, lalu tuliskan huruf yang sesuai pada alfabet sandi. Untuk memecahkan sandi tersebut gunakan cara sebaliknya. Contoh penyandian sebuah pesan adalah sebagai berikut.
Teks Terang
: JANGAN MENDEKATI BLOK D
Teks Sandi
: MDQJDQ PHQGHNDWL EORN G 2. Playpair Cipher
Sandi
Playfair ditemukan oleh ahli Fisika berkebangsaan Inggris bernama Sir Charles Wheatstone
(1802 - 1875) namun dipromosikan oleh Baron Lyon Playfair (1819 - 1898) pada tahun
1854. Sandi Playfair pertama kali digunakan untuk tujuan-tujuan taktis oleh
pasukan Inggris dalam Perang Boer II dan Perang Dunia I. Australia dan Jerman
juga menggunakan sandi ini untuk tujuan yang sama dalam Perang Dunia II. Pada
perkembangan selanjutnya, sandi ini tidak lagi digunakan oleh pasukan militer
karena telah muncul berbagai perangkat enkripsi digital untuk menerjemahkannya.
Sandi
Playfair menggunakan 25 huruf sebagai kunci yang disusun dalam bujur sangkar
dengan menghilangkan huruf J dari abjad. Susunan kunci di dalam bujur sangkar
tersebut diperluas dengan menambahkan kolom keenam dan baris keenam.
Tahap-tahap
penerapan Playfair Cipher :
1.
Membuat Bujursangkat Kunci
Membuat
bujur sangkar kunci playfair cipher, dengan ketentuan sebagai berikut:
a.
Memilih kunci dari sebuah kata atau kalimat yang mudah diingat, misalnya: UMMI.
b. Membuang huruf yang berulang dan huruf J jika ada, sehingga menjadi: UMI.
c. Menambahkan huruf-huruf yang belum ada (kecuali J), sehingga akan menjadi: UMIABCDEFGHKLNOPQRSTVWXYZ.
d.
Memasukkan kunci tersebut ke dalam bujur sangkar.
U
|
M
|
I
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
K
|
L
|
N
|
O
|
P
|
Q
|
R
|
S
|
T
|
V
|
W
|
X
|
Y
|
Z
|
e. Bujur sangkar kunci di perluas
Memperluas
susunan kunci di dalam bujur sangkar dengan menambahkan kolom
keenam
dan baris keenam.
U
|
M
|
I
|
A
|
B
|
U
|
C
|
D
|
E
|
F
|
G
|
C
|
H
|
K
|
L
|
N
|
O
|
H
|
P
|
Q
|
R
|
S
|
T
|
P
|
V
|
W
|
X
|
Y
|
Z
|
V
|
U
|
M
|
I
|
A
|
B
|
2.
Mengatur Pesan (Plaintext/Ciphertext)
a.
Mengganti huruf J (bila ada) dengan huruf I.
b.
Menulis pesan dalam pasangan huruf.
c.
Jika terdapat pasangan huruf yang sama, maka harus disisipkan huruf Z di
tengahnya.
d.
Jika jumlah huruf ganjil, maka harus ditambahkan huruf Z di akhir kunci.
3.
Melakukan Proses Enkripsi atau Dekripsi
-
Jika terdapat dua huruf pada baris kunci yang sama maka masing-masing
huruf diganti dengan huruf di kanannya
(pada kunci yang sudah diperluas).
-
Jika terdapat dua huruf pada kolom kunci yang sama maka masing-masing
huruf diganti dengan huruf di bawahnya
(pada kunci yang sudah diperluas).
- Jika dua huruf tidak terdapat pada baris
atau kolom yang sama, maka huruf pertama
diganti dengan huruf pada perpotongan baris huruf pertama dengan kolom
huruf kedua. Huruf kedua diganti dengan
huruf pada titik sudut keempat dari persegi
panjang yang dibentuk dari 3 huruf (huruf yang digunakan untuk mencarai
huruf ganti huruf pertama) yang
digunakan.
- Contoh Soal:
Plaintext
= DIYO
Kunci
= UMMI
Bujursangkar
Kunci
U
|
M
|
I
|
A
|
B
|
U
|
C
|
D
|
E
|
F
|
G
|
C
|
H
|
K
|
L
|
N
|
O
|
H
|
P
|
Q
|
R
|
S
|
T
|
P
|
V
|
W
|
X
|
Y
|
Z
|
V
|
U
|
M
|
I
|
A
|
B
|
Penyelesaian
(Lihat Ketentuan) Cek plaintext mengandung huruf “J” atau tidak, selanjutnya
membuat plaintext menjadi huruf berpasang-pasangan:
DI
YO
Dari
pasangan huruf diatas cek ada tidak huruf yang berpasangan dengan huruf yang
sama (lihat ketentuan diatas)
Maka
Proses Enkripsi Playfair Cipher (lihat ketentuan enkrispi diatas):
- DI berada pada baris dan kolom yang berbeda
pada bujursangkar kunci, maka huruf D di
ganti dengan huruf E, dan huruf I diganti dengan huruf M maka hasil enkrispi
pasangan huruf DI = EM.
- YO
berada pada baris dan kolom yang berbeda pada bujursangkar kunci, maka
huruf Y di ganti dengan huruf Z, dan
huruf O diganti dengan huruf N maka hasil enkrispi pasangan huruf YO = ZN.
Hasil
proses enkripsi:
EM
ZN
3. Affine Cipher
https://i.pinimg.com/ |
C ≡ m P + b (mod
n)
Yang mana n adalah ukuran alphabet, m
adalah bilangan bulat yang harus relatif prima dengan n (jika tidak
relatif prima, maka dekripsi tidak bisa dilakukan) dan b adalah jumlah
pergeseran (Caesar cipher adalah bentuk khusus dari Affine cipher
dengan m=1). Untuk melakukan deskripsi, persamaan (2.3) harus dipecahkan untuk
memperoleh P. Solusi kekongruenan tersebut hanya ada jika inver m (mod n),
dinyatakan dengan m-1. Jika m-1 ada maka
dekripsi dilakukan dengan persamaan sebagai berikut: (Munir, 2006)
P ≡ m-1(C – b ) (mod n)
Contoh:
Misalkan plainteks
G I L D A
Yang ekivalen dengan:
68 1130(dengan memisalkan ‘A’ = 0, ‘B’ = 1dst)
Dienkripsi dengan Affine cipher dengan
mengambil m = 7 (karena 7 relatif prima dengan 26) dan
b = 10.
Karena alphabet yang digunkaan 26 huruf, maka n = 26.
Enkripsi plaintext dihitung dengan kekongruenan:
C≡7P + 10 (mod 26)
Perhitungannya adalah sebagai berikut:
P1 = 6 à
C1 ≡ 7 .6 + 10 ≡ 52≡ 0 (mod26) (huruf ‘A’)
P2= 8 à
C2 ≡ 7 .8 + 10 ≡ 66 ≡ 14 (mod26) (huruf ‘O’)
P3= 11 à C3 ≡ 7 . 11 + 10 ≡ 87 ≡ 9 (mod 26)
(huruf ‘I’)
P4= 3
à C4 ≡ 7 .3 + 10 ≡ 31 ≡
5 (mod26) (huruf ‘F’)
P5= 0 à
C5 ≡ 7 .0 + 10 ≡ 10 ≡ 10 (mod 26) (huruf ‘K’)
Ciphertext yang dihasilkan adalah
AOIFK
Untuk melakukan dekripsi, pertama-tama dihitung 7-1
(mod 26), yang dapat dihitung dengan memecahkan kekongruenan lanjar:
7x ≡ 1 (mod 26)
Solusinya adalah x ≡ 15 (mod 26) sebab 7.15
= 105 ≡ 1 (mod 26). Jadi, untuk dekripsi digunakan kekongruenan:
P ≡ 15(C – 10) (mod 26)
Perhitungannya adalah sebagai berikut:
C1 =
0 àP1≡
15 . (0 – 10) = -150 ≡ (mod 26) (huruf ‘G’)
C2 = 14 àP2≡
15 . (14 – 10) = 60 ≡ 8 (mod 26) (huruf ‘I’)
C3 =
9 àP3≡ 15 . (9 – 10) =
-15 ≡ 11 (mod 26) (huruf ‘L’)
C4 =
5 àP4≡ 15 . (5 – 10) =
-75 ≡ 3 (mod 26) (huruf ‘D’)
C5 = 10 àP5≡
15 . (10 – 10) = 0 ≡ 0 (mod 26) (huruf ‘A’)
Plaintext yang dihasilkan adalah
G I L D A
Referensi
Hondro, R. K. (2016-2017). Teknik
Enkripsi dan Dekripsi Playfair Cipher . Kriptografi, 1-3.
Kromodimoeljo,
Sentot. 2010. Teori dan Aplikasi Kriptografi. Jakarta : SPK IT
Dony, Ariyus. 2008. Pengantar Ilmu Kriptografi. Penerbit Andi, Yogyakarta.
Tidak ada komentar:
Posting Komentar