Latest in Tech

Rabu, 18 Maret 2020

Keamanan Jaringan : Kriptografi Klasik


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. 

Teks Terang     :   JANGAN MENDEKATI  BLOK  D
Teks Sandi      :    MDQJDQ PHQGHNDWL EORN G 

2. Playpair Cipher
Sir Charles Wheatstone
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 

a. Algoritma Enkripsi Playfair 
   - 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/
Metode Affine cipher adalah perluasan dari metode Caesar cipher, yang mengalikan plainteks dengan sebuah nilai Pdan menambahkannya dengan sebuah pergeseran b menghasilkan cipherteks Cdinyatakan dengan fungsi kongruen:

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