foto

foto
foto

Selasa, 15 Maret 2011

Desain dan Analisis Keamanan Jaringan

catatan tanggal 15 maret 2011
Makalah Kelompok 2

A.    Vigenere Cipher

a.    Sejarah

Ditemukan oleh Giovan Battista Bellaso pada tahun 1553 dalam bukunya La cifra del Sig. Giovan Battista Bellaso. Kemudian Blaise de Vigenère pada abad ke 19 mempublikasikan temuan serupa dengan tambahan autokey, dan kemudian cipher ini disebut Vigenère cipher karena kesalahan sejarah
·         Cipher ini pertama kali dipecahkan oleh Charles Babbage, tetapi tetap dijaga kerahasiaannya untuk tujuan militer.
·         White space, karakter numerik serta karakter khusus seperti ^ , % dll diabaikan tetapi bukan dihapus

b.   Pengertian

Vigenere cipher adalah salah satu jenis kriptografi klasik yang pada dasarnya adalah melakukan substitusi cipher abjad majemuk (polyalphabetic substitution), yaitu mengubah plaintext dengan kunci tertentu  biasanya berupa sebuah kata atau kalimat yang berulang sepanjang plaintext sehingga didapatkan ciphertext. Tetapi salah satu kelemahan dari cipher ini adalah ia mudah diserang dengan metode Kasiski untuk mengetahui panjang huruf yang digunakan sebagai kunci. Untuk lebih memperkuat cipher ini, banyak modifikasi dilakukan oleh para peneliti. Salah satu cara yang saya ajukan sebagai tugas makalah ini adalah Vigenere cipher dengan metode pembangkitan kunci dengan menggunakan bilangan euler. Pada dasarnya, metode ini adalah sebuah cara untuk mendapatkan suatu kunci berbentuk acak yang digenerate dari perkalian matematis antara kunci yang dimasukkan dengan bilangan Euler. Diharapkan dengan metode ini, kunci yang dihasilkan untuk Vigenere cipher menjadi lebih panjang dan acak sehingga akan menyulitkan kriptanalisis untuk menyerang dengan metode Kasiski maupun dengan analisis frekuensi.
Pembangkitan kunci ini menggunakan perkalian secara matematis dengan bilangan Euler kemudian setiap angka hasil perkalian akan dikelompokkan sesuai dengan panjang digit dari kunci. Untuk lebih jelasnya, sebuah kunci yang dibentuk dari sebuah kata kemudian diterjemahkan ke dalam bentuk angka. Angka tersebut dikalikan dengan bilangan Euler sesuai dengan panjang yang diinginkan kemudian didapatkan angka hasil perkalian yang selanjutnya digunakan sebagai kunci.
c.    Proses Enkripsi dan Dekripsi Vigenere Cipher

1.      Enkripsi
Pembentukan Tabel:

ü  Susun alphabet A..Z pada baris 1
ü  Baris  2 terjadi 1 kali pergeseran (shifting).                
ü  Baris 3 terjadi 2 kali pergeseran. 
  
ü  Demikian hingga baris terakhir terjadi 25 kali pergeseran.

ü  Buatlah alphabet di atas dan di kanan sebagai penunjuk
Key Generation

ü  Panjang kunci  <=  panjang pesan.
ü  Jika panjang kunci < Message length, kunci baru dibentuk dengan menulis alphabet kunci secara berulang hingga panjang kunci = panjang message.

2.      Dekripsi

ü  Tempatkan alphabet kunci pada sisi kiri tabel berdasarkan baris.
ü  Telusuri sepanjang baris tersebut hingga  ditemukan alphabet ciphertext.
ü Index kolom lokasi alphabet ciphertext berada merupakan alphabet plaintext
d.      Contoh Enkripsi dan Dekripsi vigenere cipher
1.      Enkripsi
Misalnya:
Key           : BLOG
Pesan         : RASAMAUTAU
Keyword
B
L
O
G
B
L
O
G
B
L
Plaintext
R
A
S
A
M
A
U
T
A
U




Bisa kita lihat key di atas diulang-ulang sehingga memiliki panjang yang sama dengan pesan.

ü  Berdasarkan kolom, temukan alphabet plaintext pada sisi atas tabel.

ü  Berdasarkan baris, temukan alphabet kunci pada sisi kiri tabel.

ü  Ciphertext dihasilkan dengan mengintersek baris dan kolom tersebut
ü  Hal yang sama dilakukan untuk alphabet plaintext dan kunci berikutnya
ü  Dan cara yang sama untuk huruf berikutnya
ü  Maka diperoleh ciphertex
RASAMAUTAU = SLGGNLIZBF
2.      Dekripsi
Untuk mendekripsi ciphertex tersebut tinggal kita masukkan kembali kedalam table alphabet tersebut

B.     Hill Chiper

a.       Sejarah

Pada tahun 1929 salah satu polyalphabetic cryptosystem dan block cipher yang disebut dengan Cipher Hill diperkenalkan oleh Lester S. Hill (Stinson, 1995). Cipher ini termuat dalam papernya “Cryptography in Algebraic Alphabet” pada prosiding American Mathematical Monthly, 36, Juni-Juli 1929. Teknik kriptografi ini diciptakan dengan maksud untuk dapat menciptakan cipher (kode) yang tidak dapat dipecahkan menggunakan teknik analisis frekuensi. Hill Cipher tidak mengganti setiap abjad yang sama pada plaintext dengan abjad lainnya yang sama pada ciphertext karena menggunakan perkalian matriks pada dasar enkripsi dan dekripsinya.

b.      Pengertian

Hill Cipher merupakan penerapan aritmatika modulo pada kriptografi. Teknik kriptografi ini menggunakan sebuah matriks persegi sebagai kunci yang digunakan untuk melakukan enkripsi dan dekripsi. Hill Cipher yang merupakan polyalphabetic cipher dapat dikategorikan sebagai block cipher  karena teks yang akan diproses akan dibagi menjadi blokblok dengan ukuran tertentu. Setiap karakter dalam satu blok akan saling mempengaruhi karakter lainnya dalam proses enkripsi dan dekripsinya, sehingga karakter yang sama tidak dipetakan menjadi karakter yang sama pula. Hill Cipher termasuk kepada algoritma kriptografi klasik yang sangat sulit dipecahkan oleh kriptanalis apabila dilakukan hanya dengan mengetahui berkas ciphertext saja. Namun, teknik ini dapat dipecahkan dengan cukup mudah apabila kriptanalis memiliki berkas ciphertext dan potongan berkas plaintext. Teknik kriptanalisis ini disebut known-plaintext attack.

C.     Proses Enkripsi dan Dekripsi Hill Cipher

Secara singkat, Cipher Hill dapat dijelaskan sebagai berikut. Diberikan m bilangan bulat positif, didefinisikan P = C = (Z26 )m dengan P adalah himpunan plainteks dan C adalah himpunan cipherteks. Ide dari algoritma Cipher Hill adalah untuk membuat m kombinasi linear dari m karakter alfabetik di dalam satu elemen plainteks, sehingga dihasilkan m karakter alfabetik sebagai elemen dari cipherteks.
                                           
Misalnya Diambil m = 2, maka dapat dituliskan elemenelemen dalam bentuk  x = (x1 x2 ) dan elemen-elemen cipherteks sebagai  y = (y1 y2 ) . Dalam hal ini y1 dan y2 ditentukan sebagai kombinasi linear dari x1 dan x2 .
Sebagai contoh:

y1 = 11x1 + 3x2
y2 = 8x1 + 7x2

Maka kombinasi linear di atas dapat dituliskan dalam notasi persamaan matriks sebagai berikut:
 =  

1.      Enkripsi
Proses enkripsi pada Hill Cipher dilakukan per blok plaintext. Ukuran blok tersebut sama dengan ukuran matriks kunci. Sebelum membagi teks menjadi deretan blok-blok, plaintext terlebih dahulu dikonversi menjadi angka, masing-masing sehingga A=0, B=1, dan Z = 25.

Diberikan K adalah himpunan matriks-matriks persegi. Cipher Hill mengambil matriks KÎK berukuran mxm yang invertibel dalam  26 sebagai kunci. Untuk  ( x1 x2….xm ) Î P dan K Î K, maka dihitung y = ek(x) = (y1 y2……ym).
sebagai berikut:
                 

Dengan kata lain, y = Kx .

2.      Dekripsi

Untuk fungsi dekripsinya diturunkan dari formula di atas, karena y = Kx , jika K-1 ada, maka dengan mengalikan kedua ruas dengan K-1 didapatkan:
K-1y = K-1(Kx)
        =(K-1K) x
        =Imx
        =x
Jelas bahwa setiap fungsi enkripsi K e haruslah merupakan fungsi injektif (satu-satu), sebab jika tidak, maka proses dekripsi tidak akan bisa dikerjakan tanpa hasil yang ambigu. Sebagai contoh, jika y= ek(x2)  dengan x1 ¹ x2 , maka penerima pesan tidak tahu apakah y harus didekrip ke x1 atau x2 .

c.       Contoh Enkripsi dan Dekripsi Hill cipher
Misalkan Alice mengambil kunci:
K =
Misalkan pesan yang akan dienkripsi adalah “july”, maka didapatkan dua elemen dari plainteks untuk dienkripsi, yaitu (9 20)T berkorespondensi dengan “ju” dan (11 24)T berkorespondensi dengan “ly”. Perhitungan enkripsinya adalah sebagai berikut:

            =  =
Dan
             =  =

(11 x 9) + (8 x 20) = 259 mod 26 = 25
(  3 x 9) + (7 x 20) = 167 mod 26 = 11
(11 x 11) + (8 x 24) = 313 mod 26 = 1
(  3 x 11) + (2 x 24) = 201 mod 26 = 19

Jadi, didapatkan cipherteks dari plainteks “july” adalah 25-11-1-9 atau “ZLBT”. Jadi Alice mengirim “ZLBT” kepada Bob. Untuk mengetahui pesan yang sesungguhnya, Bob perlu mendekripsi. Proses dekripsinya, Bob menghitung:

             =

Dan
                         =

(  7 x 25) + (18 x 11) = 373 mod 26 = 9
(23 x 25) + (11 x 11) = 696 mod 26 = 20
(  7 x  1) + (18 x 19) = 349 mod 26 = 11
(23 x  1) + (11 x 19) = 232 mod 26 = 24

yang menghasilkan pesan 9-20-11-24 atau “july”.

d.      Kesimpulan
1.      Hill Cipher adalah algoritma kriptografi klasik yang sangat kuat dilihat dari segi keamanannya.
2.      Matriks kunci Hill Cipher harus merupakan matriks yang invertible. Semakin besar suatu matriks kunci maka semakin kuat juga segi keamanannya
3.      Hill Cipher kuat dalam menghadapi ciphertext-only attack namun lemah jika diserang dengan knownplaintext attack.
           

1 komentar: