• Tidak ada hasil yang ditemukan

1. Pendahuluan. 2. Tinjauan Pustaka

N/A
N/A
Protected

Academic year: 2021

Membagikan "1. Pendahuluan. 2. Tinjauan Pustaka"

Copied!
24
0
0

Teks penuh

(1)

1 1. Pendahuluan

Aspek keamanan merupakan salah satu faktor penting dalam proses pengiriman data. Dalam proses pengiriman data, data dapat saja diubah, disisipkan atau dihilangkan oleh orang yang tidak bertanggungjawab. Untuk melindungi data dari orang yang tidak bertanggungjawab atau lebih dikenal dengan istilah hacker, maka dikembangkan salah satu cabang ilmu yaitu kriptografi.

Salah satu kriptografi yang sering digunakan yaitu Hill Cipher yang dibuat oleh Lester S. Hill pada tahun 1929. Sistem yang digunakan yaitu polialfabetik menggunakan 26 huruf dalam bahasa inggris, yang berkorespondensi dengan angka 0 sampai 25 [1]. Kelemahan kriptografi Hill Cipher yaitu algoritma yang hanya bisa bekerja pada 26 karakter alfabet. Selain itu, jumlah karakter cipherteks sama dengan jumlah karakter plainteks dan juga cipherteks yang dihasilkan hanya dalam karakter abjad, sehingga mudah bagi kriptanalis untuk memecahkannya. Kriptanalis yang telah memecahkan kriptografi Hill Cipher yaitu known-plaintext attack dengan teknik perkalian linear dan perkalian matriks [2].

Beranjak dari permasalahan di atas, dilakukan penelitian yang memodifikasi Hill Cipher menggunakan fungsi linear yang berguna sebagai putaran dan fungsi Anger yang digunakan sebagai kunci pembangkit. Kunci matriks didapatkan dari hasil kali matriks utama dengan kunci pembangkit ataupun dengan nilai tertentu. Dalam penelitian ini terdapat 3 putaran dimana setiap putarannya terdapat 6 proses. Pada setiap proses, fungsi linear yang digunakan berbeda-beda karena setiap konstanta dibangkitkan dari fungsi Anger ataupun dengan kunci yang sudah dibangkitkan untuk proses enkripsi melalui perhitungan matematis (kali, bagi, jumlah, kurang) dengan nilai tertentu.

2. Tinjauan Pustaka

Penelitian sebelumnya yang berjudul “Variable-length Hill Cipher with MDS Key Matrix” menjelaskan bahwa untuk mengatasi serangan kriptografi Hill Cipher dari kriptanalis known-plaintext attack yaitu dengan melakukan proses enkripsi terlebih dahulu terhadap matriks kunci yang digunakan dengan menggunakan matriks kunci Maximum Distance Separable (MDS). Hasil dari penelitian ini yaitu dapat mencegah kriptanalis known-plaintext attack dan ciphertext only attack dengan cara mengubah kunci matriks secara dinamis. Tetapi kekurangan dari penelitian ini yaitu kurang efisien yang disebabkan penggunaan operasi matriks yang banyak [3].

Penelitian selanjutnya yaitu “Modifikasi Kriptografi Hill Cipher Menggunakan Convert Between Base” menjelaskan bahwa modifikasi tersebut bisa mengatasi berbagai permasalahan dari kriptografi Hill Cipher dengan cara mengkonversi bilangan plainteks dari suatu basis terpilih ke basis terpilih lainnya, kemudian hasil tersebut diubah ke dalam bentuk vektor dan dikalikan dengan matriks kunci, langkah tersebut diulang sampai dengan 10 kali. Cipherteks dihasilkan dari hasil akhir putaran yang kemudian dikonversi ke dalam suatu basis terpilih, sehingga menghasilkan cipherteks dalam bentuk bit biner [4].

(2)

2

Penelitian yang berjudul “Modifikasi Teknik Kriptografi Hill Cipher Menggunakan Fungsi Rasional dan Konversi Basis Bilangan pada Proses Enkripsi-Dekripsi”, menjelaskan bahwa modifikasi yang dilakukan untuk mengatasi permasalahan kriptografi Hill Cipher yaitu dengan memanfaatkan fungsi rasional sebagai putarannya dan sebuah nilai yang digunakan untuk kunci pada proses konversi basis bilangan, sumlah cipherteks yang dihasilkan lebih banyak dibandingkan dengan plainteks. Selain itu bentuk dari cipherteks merupakan bilangan 0 dan 1 sehingga sulit bagi kriptanalis untuk memecahkannya [5].

Penelitian terdahulu tersebut menjadi acuan untuk membuat modifikasi kriptografi Hill Cipher. Perbedaan perancangan kriptografi ini dari modifikasi terdahulu terletak pada penggunaan fungsi yang digunakan yaitu fungsi Anger sebagai pembangkit kunci enkripsi dan dekripsi. Proses alur pada modifikasi ini menggunakan 3 putaran dimana pada setiap putaran akan dibangkitkan kunci baru hasil dari pembangkitan kunci sebelumnya. Selain itu pada setiap putaran, fungsi linear yang digunakan juga berbeda karena nilai konstanta didapatkan dari hasil pembangkitan kunci pada setiap putaran ataupun hasil fungsi Anger. Penggunaan 3 putaran dengan alasan akan menghasilkan modifikasi Hill Cipher yang membutuhkan memori dan waktu sedikit tanpa mengurangi tingkat keamanan dari modifikasi Hill Cipher. Pada perhitungan CBB (Convert between Base), kunci dibangkitkan dari hasil fungsi Anger dikalikan dengan kunci yang dibangkitkan dari proses putaran.

Kriptografi Hill Cipher merupakan teknik kriptografi yang menggunakan matriks sebagai kuncinya untuk melakukan proses enkripsi-dekripsi [6]. Dasar dari matriks Hill Cipher yaitu aritmatika modulo terhadap matriks. Dalam penerapannya, Hill Cipher menggunakan teknik perkalian matriks dan invers terhadap matriks. Kunci pada Hill Cipher adalah matriks dengan merupakan ukuran blok. Jika matriks kunci disebut dengan A, maka matriks A adalah sebagai berikut :

[ ]

Defenisi 1. Invers Matriks [7]

- Jika A adalah matriks bujur sangkar, dan matriks B yang ukurannya sama sedemikian rupa sehinggaruux

- Jika A dapat dibalik,

- Jika matriks B tidak dapat didefinisikan, maka A dinyatakan sebagai

(3)

3

Matriks A harus mempunyai invers (A-1), karena akan digunakan untuk proses dekripsi. Fungsi dari A-1 yaitu untuk mengembalikan nilai. Proses enkripsi dilakukan untuk tiap blok plainteks yang mana ukuran blok harus sama dengan ukuran matriks kunci. Sebelum membagi teks menjadi deretan blok-blok, plainteks dikonversi ke dalam bilangan ASCII yang berkorespodensi dengan ketentuan bilangan { } dan huruf { }.

Dimisalkan P adalah plainteks dan C adalah cipherteks, maka

[ ] [ ]

Sehingga secara umum proses enkripsi dapat dinotasikan dengan

Sedangkan proses dekripsi dinotasikan dengan

Perancangan teknik kriptografi ini menggunakan fungsi linear sebagai proses putaran dipadukan dengan fungsi Anger sebagai pembangkit kuncinya. Fungsi linear merupakan sebuah persamaan aljabar yang setiap sukunya mengandung konstanta atau perkalian konstanta dengan variabel yang berpangkat satu. Eksistensi dan keunikan dari persamaan linear yaitu hubungan matematis tersebut dapat digambarkan sebagai garis lurus dalam koordinat kartesius [8]. Secara umum diberikan pada Persamaan (6).

dengan syarat .

Fungsi kedua yang digunakan dalam modifikasi ini menggunakan fungsi Anger yang didefenisikan pada Persamaan (7) [9].

Fungsi Anger digunakan karena hasil perhitungan fungsi Anger menghasilkan bilangan yang tidak linear karena bila digambarkan pada grafik akan membentuk parabola sehingga sulit bagi kriptanalis untuk mencari hubungan pada kunci Anger yang dihasilkan.

Perancangan kriptografi melibatkan banyak proses perhitungan matematika, selain menggunakan Persamaan (6) dan Persamaan (7) digunakan proses Convert Between Base (CBB) yang secara umum diberikan pada defenisi berikut ini.

Defenisi 2,

Konversi sembarang bilangan positif s, berbasis 10 ke basis β. Secara umum notasinya [9],

( )

Defenisi 3,

Konversi dari urutan bilangan (list digit) ℓ dalam basis ke basis β [9]. Secara umum dinotasikan,

( ) Dengan jumlahan urutan bilangan (jumlahan ℓ) mengikuti aturan [8],

(4)

4 ∑

Dimana nops (ℓ) adalah nilai terakhir dari urutan bilangan ℓ [9], dimana: - 0 ≤ lk ≤ α dan ℓ adalah bilangan positif.

- Nilai yang diperoleh merupakan kumpulan urutan bilangan dalam basis β.

3. Metode Perancangan

Perancangan sistem untuk modifikasi kriptografi Hill Cipher dilakukan dalam tahap-tahap penelitian. Tahap yang diperlukan yaitu Pengumpulan Bahan, Analisis Kebutuhan, Perancangan Modifikasi Hill Cipher, Modifikasi Hill Cipher, Uji Hasil Modifikasi Hill Cipher dan Penulisan Laporan yang ditunjukkan pada Gambar 1.

Gambar 1 Tahap Penelitian

Tahapan penelitian berdasarkan pada Gambar 1, dijelaskan sebagai berikut. Tahap pertama: Analisis Kebutuhan yaitu menganalisis kebutuhan apa saja yang diperlukan dalam modifikasi kriptografi Hill Cipher. Tahap Kedua: Pengumpulan Bahan yaitu pengumpulan bahan berupa data-data yang terkait dengan proses perancangan modifikasi kriptografi Hill Cipher misalnya mendapatkan data dan literatur yang terkait melalui dokumen dan referensi yang ada. Tahap Ketiga: Perancangan modifikasi kriptografi Hill Cipher yaitu meliputi pembuatan bagan proses enkripsi dan dekripsi dalam memodifikasi kr iptografi Hill Cipher beserta gambaran umum mengenai modifikasi yang akan dilakukan. Tahap Keempat: Modifikasi Hill Cipher yaitu melakukan modifikasi kriptografi Hill Cipher

Analisis Kebutuhan

Pengumpulan Bahan

Perancangan Modifikasi

Modifikasi Hill Cipher

Uji Modifikasi

(5)

5

berdasar pada tahap ketiga, kemudian melakukan analisis dari hasil modifikasi Hill Cipher. Tahap Kelima: Uji Hasil Modifikasi Hill Cipher yaitu melakukan uji hasil modifikasi terhadap keseluruhan perancangan dan modifikasi yang telah dibuat. Tahap Keenam: Penulisan laporan yaitu mendokumentasikan proses penelitian dari tahap awal sampai tahap akhir ke dalam sebuah tulisan yang akan menjadi laporan hasil penelitian.

Pada proses modifikasi Hill Cipher ini terdapat dua (2) proses utama yaitu proses enkripsi dan proses dekripsi.

a. Menyiapkan plainteks

Plainteks yang akan dienkripsi diubah ke dalam bilangan ASCII dan di-mod 127, sehingga

{ } (11)

dimana m adalah jumlah karakter plainteks. b. Menyiapkan kunci utama.

Kunci utama didapatkan dengan mengubah karakter kunci utama yang di-input menjadi bilangan ASCII, sehingga

{ } yang kemudian bilangan-bilangan pada Persamaan (12) dijumlahkan dan di-mod 127 sehingga

dimana n adalah jumlah karakter kunci utama.

c. Menyiapkan fungsi Anger

Fungsi Anger digunakan sebagai kunci pembangkit dalam proses enkripsi-dekripsi. Hasil dari perhitungan fungsi Anger akan digunakan dalam perhitungan setiap proses. Selain itu kunci Anger digunakan dalam proses putaran dengan mensubtitusikan ke dalam persamaan linear dan juga untuk membangkitkan kunci-kunci tambahan lainnya. Nilai fungsi Anger didapatkan dari, merujuk pada Persamaan (7) yang di-mod 127, dimana dan

, maka diperoleh

d. Menyiapkan kunci pada setiap putaran yang diberikan rumus umum secara

berikut :

Dimana

- Kunci yang pertama, merujuk pada Persamaan (15) dimana

yang kemudian di-mod 127, maka

- Kunci yang kedua, merujuk pada Persamaan (15) dimana

yang kemudian di-mod 127, maka

- Kunci yang ketiga, merujuk pada Persamaan (15) dimana

yang kemudian di-mod 127, maka

(6)

6

- Kunci yang keempat, merujuk pada Persamaan (15) dimana

yang kemudian di-mod 127, maka

- Kunci yang kelima, merujuk pada Persamaan (15) dimana

yang kemudian di-mod 127, maka

- Kunci yang keenam, merujuk pada Persamaan (15) dimana

yang kemudian di-mod 127, maka

- Kunci yang ketujuh, merujuk pada Persamaan (15) dimana

yang kemudian di-mod 127, maka

e. Menyiapkan matriks kunci yang invertible

Matriks kunci yang akan digunakan untuk membangkitkan matriks kunci yang lainnya yaitu,

[

] - Matriks kunci yang pertama maka Persamaan (23) dikalikan dengan

Persamaan (14) yang kemudian di-mod 127, sehingga diperoleh

- Matriks kunci yang kedua diperoleh dari

- Matriks kunci yang ketiga dibangkitkan dengan proses sebagai berikut

Proses dekripsi menggunakan invers Persamaan (24), Persamaan (25) dan Persamaan (26). Selanjutnya secara berturut-turut invers dari matriks dan adalah dan

f. Menyiapkan fungsi linear dan invers fungsi liner

Fungsi linear yang digunakan harus mempunyai invers. Fungsi linear digunakan dalam proses putaran pada enkripsi sedangkan invers fingsi linear digunakan dalam proses putaran pada dekripsi. Untuk mempersulit kriptanalis memecahkan plainteks, maka setiap putaran tidak hanya menggunakan satu (1) fungsi linear, melainkan menggunakan beberapa fungsi linear dimana nilai konstanta merupakan hasil dari kunci yang dibangkitkan.

- Pada putaran pertama fungsi linear 1 diperoleh dari Persamaan (6) dimana dan kemudian di-mod 127, sehingga

(7)

7

- Pada putaran pertama fungsi linear 2 diperoleh dari Persamaan (6) dimana dan kemudian di-mod 127, sehingga

( ) - Pada putaran pertama fungsi linear 3 diperoleh dari Persamaan (6) dimana dan kemudian di-mod 127, sehingga

( ) - Pada putaran kedua fungsi linear 1 diperoleh dari Persamaan (6) dimana

dan kemudian di-mod 127, sehingga ( ) - Pada putaran kedua fungsi linear 2 diperoleh dari Persamaan (6) dimana

dan kemudian di-mod 127, sehingga

( ) - Pada putaran kedua fungsi linear 3 diperoleh dari Persamaan (6) dimana dan kemudian di-mod 127, sehingga

( ) - Pada putaran tiga fungsi linear 1 diperoleh dari Persamaan (6) dimana dan kemudian di-mod 127, sehingga

( ) - Pada putaran ketiga fungsi linear 2 diperoleh dari Persamaan (6) dimana

dan kemudian di-mod 127, sehingga ( ) - Pada putaran ketiga fungsi linear 3 diperoleh dari Persamaan (6) dimana dan kemudian di-mod 127, sehingga ( ) Proses dekripsi memerlukan invers fungsi linear Persamaan (27) sampai dengan Persamaan (35). Secara berturut-turut invers dari fungsi linear adalah

(8)

8

g. Menyiapkan fungsi Convert Between Base (CBB)

Cipherteks dirancang dalam bit biner, maka dari itu salah satu basis harus dua (2). Sehingga dengan Defenisi 3 dimana (11), , , maka

( )

Pada proses dekripsi digunakan konversi basis bilangan dimana cipherteks, 2, Persamaan (22) Persamaan (14), maka

( )

Gambar 2 menunjukkan proses enkripsi dalam modifikasi kriptografi Hill Cipher.

(9)

9

Gambar 2 Proses Enkripsi

Setelah tahap persiapan selesai dilakukan, maka selanjutnya adalah proses enkripsi secara garis besar yang akan dijelaskan sebagai berikut:

1. Merujuk pada Persamaan (11), jika banyak elemen pada Persamaan (11) sebanding dengan kelipatan ordo matriks kunci, maka dilanjutkan pada proses selanjutnya. Apabila banyak elemen pada Persamaan (11) tidak sebanding dengan kelipatan ordo matriks, maka harus ditambahkan bilangan 32 (dalam kode ASCII merupakan karakter spasi) setelah bilangan terakhir sesuai kebutuhan sehingga banyak elemen Persamaan (11) sebanding dengan kelipatan ordo matriks kunci.

{ } { } { } [ ] M a t r i k K u n c i A S C I I Kunci Utama { } { } { }} { } { } A S C I I P l a i n t e x t { } { } { } { } { }} { } { } { } { } { } { } { } C i p h e r t e k s C B B K u n c i k e k u n c i K e t : F u n g s i k e f u n g s i K u n c i k e f u n g s i { }

(10)

10

dimana kelipatan tiga dari jumlah karakter plainteks.

2. Merujuk pada Persamaan (27), dimana , sehingga { } 3. Persamaan (39) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan (24), maka

{ } 4. Merujuk pada Persamaan (28), dimana , sehingga

{ } 5. Persamaan (41) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan (25), maka

{ } 6. Merujuk pada Persamaan (29), dimana , sehingga

{ } 7. Persamaan (43) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan (26), maka

{ } 8. Merujuk pada Persamaan (30), dimana , sehingga

{ } 9. Persamaan (45) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan (25), maka

{ }

10. Merujuk pada Persamaan (31), dimana , sehingga

{ }

11. Persamaan (47) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan (26), maka

{ }

12. Merujuk pada Persamaan (32), dimana , sehingga

{ }

13. Persamaan (49) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan (24), maka

{ }

14. Merujuk pada Persamaan (33), dimana , sehingga

{ }

15. Persamaan (51) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan (26), maka

{ }

16. Merujuk pada Persamaan (34), dimana , sehingga

(11)

11

17. Persamaan (53) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan (25), maka

{ }

18. Merujuk pada Persamaan (35), dimana , sehingga

{ }

19. Persamaan (55) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan Persamaan (24), maka

{ }

20. Bilangan-bilangan pada Persamaan (56) kemudian dikonversi menggunakan Persamaan (36), sehingga

{ }

Gambar 3 Proses Dekripsi

{ } { } { } { } { } { } C i p h e r t e k s C B B { } { } { } { } { } { } { } { } { } A S C I I P l a i n t e x t { } { } { } { } K u n c i k e k u n c i K e t : F u n g s i k e f u n g s i K u n c i k e f u n g s i A S C I I Kunci Utama { }

(12)

12

Setelah proses Enkripsi selesai, proses dekripsi adalah sebagai berikut : 1. Merujuk pada Persamaan (37) dimana 57), maka

{ } 2. Persamaan (58) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

maka

{ }

3. Merujuk pada , dimana , sehingga

{ }

4. Persamaan (60) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ }

5. Merujuk pada , dimana , sehingga

{ }

6. Persamaan (62) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ }

7. Merujuk pada , dimana , sehingga

{ }

8. Persamaan (64) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ }

9. Merujuk pada , dimana , sehingga

{ }

10. Persamaan (66) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ }

11. Merujuk pada , dimana , sehingga

{ }

12. Persamaan (68) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ }

13. Merujuk pada , dimana , sehingga

{ } 14. Persamaan (70) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ } 15. Merujuk pada , dimana , sehingga

(13)

13

16. Persamaan (72) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ } 17. Merujuk pada , dimana , sehingga

{ } 18. Persamaan (74) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ } 19. Merujuk pada , dimana , sehingga

{ } 20. Tahap yang terakhir yaitu bilangan-bilangan hasil Persamaan (76) diubah dalam kode ASCII yang berkorespondensi sehingga plainteks diperoleh kembali.

4. Hasil dan Pembahasan

Pengujian pada modifikasi kriptografi Hill Cipher sebagai sebuah teknik baru pada kriptografi dilakukan proses enkripsi-dekripsi. Proses tersebut dilakukan sesuai dengan langkah-langkah yang telah dijelaskan sebelumnya. Berikut ini adalah tahap persiapan yaitu tahap yang dilakukan sebelum proses enkripsi dan dekripsi dilakukan :

a. Menyiapkan plainteks

Plainteks yang digunakan yaitu “FTI UKSW”. Plainteks yang akan dienkripsi diubah ke dalam bilangan ASCII dan di-mod 127, merujuk pada Persamaan (11), sehingga

{ } b. Menyiapkan kunci utama.

Kunci utama yang digunakan yaitu “fti”. Kunci utama diubah menjadi bilangan ASCII, merujuk pada Persamaan (12), maka

{ } Merujuk pada Persamaan (13), maka

c. Menyiapkan fungsi Anger

Fungsi Anger digunakan sebagai kunci pembangkit dalam proses enkripsi-dekripsi. Merujuk pada Persamaan (14), dimana dan , maka

d. Menyiapkan kunci yang dibangkitkan dari proses enkripsi dan dekripsi.

Merujuk pada Persamaan (16) sampai dengan Persamaan (22) secara berturut-turut, maka

(14)

14

e. Menyiapkan matriks kunci yang invertible

Matriks kunci yang akan digunakan untuk membangkitkan matriks kunci yang lainnya harus mempunyai invers, matriks yang digunakan yaitu, merujuk pada Persamaan (23), maka

[

] Dari Persamaan (88), maka dihasilkan matriks sesuai dengan penjelasan pada Persamaan (24), Persamaan (25) dan Persamaan (26). Sehingga invers dari secara berturut-turut adalah . f. Menyiapkan fungsi linear dan invers fungsi liner

Fungsi linear yang digunakan haruslah fungsi linear yang mempunyai invers. Fungsi linear digunakan dalam proses putaran pada enkripsi.Merujuk dari Persamaan (36) sampai dengan Persamaan (44) secara berurutan, maka

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) Invers dari fungsi linear secara berturut-turut dari dan adalah , dan

g. Menyiapkan fungsi Convert Between Base (CBB)

Cipherteks dirancang dalam bit biner, maka dari itu salah satu basis harus dua (2). Merujuk pada Persamaan (49) dimana (11), , , maka

Sedangkan untuk proses dekripsi digunakan konversi basis bilangan merujuk pada Persamaan (50) dimana , , , maka

(15)

15

( )

Setelah proses persiapan selesai, maka selanjutnya untuk memulai proses enkripsi dapat dilakukan sebagai berikut:

1. Jumlah bilangan pada Persamaan (77) tidak sebanding dengan kelipatan ordo matriks, maka ditambahkan bilangan 32 (dalam karakter ASCII merupakan karakter spasi), sehingga

{ } 2. Merujuk pada Persamaan (89), dimana , sehingga

{ } 3. Persamaan (101) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan , maka

{ } 4. Merujuk pada Persamaan (90), dimana , sehingga

{ } 5. Persamaan (103) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan , maka

{ } 6. Merujuk pada Persamaan (91), dimana , sehingga

{ } 7. Persamaan (105) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan , maka

{ } 8. Merujuk pada Persamaan (92), dimana , sehingga

{ } 9. Persamaan (107) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan , maka

{ }

10. Merujuk pada Persamaan (93), dimana , sehingga

{ }

11. Persamaan (109) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan , maka

{ }

12. Merujuk pada Persamaan (94), dimana , sehingga

{ }

13. Persamaan (111) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan , maka

{ }

14. Merujuk pada Persamaan (95), dimana , sehingga

(16)

16

15. Persamaan (113) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan , maka

{ }

16. Merujuk pada Persamaan (96), dimana , sehingga

{ }

17. Persamaan (115) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan , maka

{ }

18. Merujuk pada Persamaan (97), dimana , sehingga

{ }

19. Persamaan (117) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan , maka

{ }

20. Merujuk pada Persamaan (98), maka diperoleh cipherteks

{

}

Setelah proses Enkripsi selesai, proses dekripsi adalah sebagai berikut : 1. Merujuk pada Persamaan (99), dimana , maka

{ } 2. Persamaan (119) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ }

3. Merujuk pada , dimana , sehingga

{ }

4. Persamaan (121) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ }

5. Merujuk pada , dimana , sehingga

{ }

6. Persamaan (123) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ }

7. Merujuk pada , dimana , sehingga

{ }

8. Persamaan (125) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

(17)

17

{ }

9. Merujuk pada , dimana , sehingga

{ }

10. Persamaan (127) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ }

11. Merujuk pada , dimana , sehingga

{ }

12. Persamaan (129) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ }

13. Merujuk pada , dimana , sehingga

{ } 14. Persamaan (131) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ } 15. Merujuk pada , dimana , sehingga

{ } 16. Persamaan (133) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ } 17. Merujuk pada , dimana , sehingga

{ } 18. Persamaan (135) kemudian disusun menjadi blok vektor dengan ukuran blok sama dengan ukuran ordo matriks kunci yang kemudian dikalikan dengan

, maka

{ } 19. Merujuk pada , dimana , sehingga

{ } 20. Tahap yang terakhir yaitu bilangan-bilangan hasil Persamaan (137) diubah dalam kode ASCII yang berkorespondensi sehingga diperoleh plainteks “FTI UKSW”.

Stinson [10], seorang kriptografer asal Amerika Serikat menyatakan bahwa sebuah sistem kriptografi harus memenuhi lima tuple (five-tuple). Berikut ini akan menjelaskan bagaimana modifikasi kriptografi Hill Cipher menggunakan fungsi linear sebagai putarannya dan fungsi Anger sebagai kunci yang sudah dijelaskan memenuhi lima tuple tersebut :

- P adalah himpunan berhingga dari plainteks. Plainteks pada modifikasi Hill Cipher ini menggunakan karakter yang berjumlah 127 dan ekuivalen dengan bilangan ASCII. Bilangan ASCII merupakan sekumpulan karakter yang ekuivalen dengan jumlah bilangan yang semuanya terbatas dalam

(18)

18

sebuah himpunan yang berhingga. Maka himpunan plainteks pada modifikasi Hill Cipher adalah himpunan berhingga.

- C adalah himpunan berhingga dari cipherteks. Cipherteks yang dihasilkan pada modifikasi Hill Cipher merupakan elemen bit (bilangan 0 dan 1). Karena himpunan cipherteks hanya { }, maka cipherteks pada modifikasi Hill Cipher adalah himpunan berhingga.

- K merupakan ruang kunci (keyspace), adalah himpunan berhingga dari kunci. Penggunaan fungsi Linear dan kunci Anger adalah fungsi. Maka dari itu kunci yang digunakan juga himpunan berhingga.

- Untuk setiap k K, terdapat aturan enkripsi E dan berkorespondensi dengan aturan dekripsi . Setiap dan adalah fungsi sedemikian hingga ( ) untuk setiap plainteks . Dari kondisi ke-4 ini secara menyeluruh terdapat kunci yang dapat melakukan proses enkripsi sehingga merubah plainteks menjadi cipherteks dan begitupun sebaliknya, dapat melakukan proses dekripsi sehingga bisa merubah cipherteks menjadi plainteks kembali. Sebelumnya telah dibuktikan dengan plainteks FTI UKSW juga dapat melakukan proses enkripsi dan dekripsi dengan merubah cipherteks menjadi plainteks.

Berdasar uraian tersebut, maka modifikasi kriptografi Hill Cipher menggunakan fungsi linear sebagai putarannya dan fungsi Anger sebagai kunci telah memenuhi five tuple sehingga bisa disebut sebagai sebuah sistem kriptografi. Pengujian berikutnya yaitu menguji ketahanan modifikasi Hill Cipher terhadap kriptanalis known-plaintext attack.

- Plainteks yang digunakan untuk yaitu

“FAKULTAS TEKNOLOGI INFORMASI” - Matriks kunci ordo

[

] - Melalui proses modifikasi Hill Cipher, maka terbentuk cipherteks dalam

bilangan ASCII adalah sebagai berikut :

{ }

Mencari matriks kunci agar dapat menemukan plainteks, maka perlu diketahui cipherteks, berkas plainteks dan ukuran matriks kunci yang digunakan. Jika diketahui matriks kunci yang digunakan yaitu matriks ordo , cipherteks dan berkas plainteks “FAKULTAS”, maka pencarian matriks kunci dengan menggunakan teknik perkalian matriks adalah sebagai berikut :

- Matriks ordo yang berkesesuaian dengan berkas plainteks dengan kode ASCII diperoleh

[ ] [ ] - Disusun matriks cipherteks sebagai berikut :

[

(19)

19

- Mencari matriks kunci sehingga diperoleh [ ] [ ] [ ] - Dari proses perhitungan di atas, menunjukkan bahwa matriks kunci R tidak sama dengan matriks kunci pada Persamaan (138), seperti ditunjukkan berikut : [ ] [ ] Matriks yang ditemukan berbeda, maka dapat disimpulkan bahwa pada known-plaintext attack dengan teknik perkalian matriks tidak dapat memecahkan matriks kunci pada modifikasi Hill Cipher.

Hasil modifikasi Hill Cipher dilakukan uji ketahanan terhadap known-plaintext attack dengan perkalian linier.

- Misalkan matriks kunci yang dipakai adalah :

[

] - Matrik plainteks dan cipherteks telah didefinisikan pada Persamaan

(139) dan Persamaan (140) yaitu

[ ] [ ] [ ] - Menerapkan Persamaan (4), maka diperoleh

[ ] [ ] [ ]

(20)

20

- Penggunaan cara eliminasi untuk menghitung Persamaan (145), Persamaan (148) dan Persamaan (151), maka diperoleh

- Penggunaan cara eliminasi untuk menghitung Persamaan (146),

Persamaan (149) dan Persamaan (152), maka diperoleh

- Penggunaan cara eliminasi untuk menghitung Persamaan (147),

Persamaan (150) dan Persamaan (153), maka diperoleh

- Hasil perhitungan berturut-turut pada Persamaan (154), Persamaan (155),

Persamaan (156), maka diperoleh

K=[ ] [ ] - Diperoleh matriks K tidak sama dengan matrik kunci pada Persamaan

(138). Seperti yang ditunjukkan berikut ini

[

] [

] Teknik persamaan linear tidak dapat menemukan matriks kunci pada modifikasi Hill Cipher. Sehingga kriptanalis known- plaintext attack dengan perkalian matriks dan fungsi linear tidak dapat memecahkan modifikasi Hill Cipher.

Uji perancangan selanjutnya yaitu dilakukan dengan membandingkan jumlah karakter yang diproses berdasarkan kebutuhan memori serta waktu yang diperlukan selama proses enkripsi dan dekripsi berlangsung.

Perbandingan kebutuhan memori dan waktu untuk proses enkripsi dan dekripsi pada modifikasi Hill Cipher menggunakan fungsi linear dan fungsi Anger (MHc) dibandingkan dengan penelitian sebelumnya (Modifikasi Alz, Ineke dan Irwan (MAII) dan Modifikasi Alz (MA) ) dapat dilihat pada Gambar 4 dan Gambar 5.

(21)

21

Gambar 4 Kebutuhan Memori Berdasarkan Jumlah Karakter Plainteks

Berdasarkan Gambar 4, hasil perhitungan kemiringan garis pada MHc, MAII dan MA secara berturut-turut adalah 0.09335, 0.002718 dan 0.07992. Terlihat bahwa nilai MHc paling besar, hal tersebut disebabkan karena pada MHc penggunaan 3 putaran pada proses modifikasi dimana 1 putaran terdapat 6 proses yang terdiri dari 3 proses perhitungan fungsi linear dan 3 proses perkalian vektor dengan matriks. Pada grafik terlihat bahwa pada MAII terlihat cenderung lebih stabil dan nilai kemiringannya paling kecil, hal tersebut disebabkan pada modifikasi hanya menggunakan 1 putaran dimana 1 putaran itu hanya menggunakan 1 fungsi rasional dan 1 matriks kunci. Pada MA mengunakan 10 putaran dimana 1 putaran hanya terdapat 1 proses perkalian vektor dan matriks saja.

Gambar 5 Kebutuhan Waktu Berdasarkan Jumlah Karakter Plainteks

0 10 20 30 40 50 60 70 80 0 100 200 300 400 500 M e m o ry (M b ) Pesan Teks MHc MAII MA 0 1 2 3 4 5 6 0 100 200 300 400 500 Waktu ( s) PesanTeks MHc MAII MA

(22)

22

Berdasarkan Gambar 5, nilai kemiringan pada masing-masing modifikasi kriptografi Hill Cipher adalah MHc = 0.00812, MAII = 0.00057, MA = 0.007048. Terlihat bahwa MHc mempunyai nilai kemiringan yang paling tinggi. Hal tersebut disebabkan karena proses yang dilakukan sangat panjang dan juga kunci pada proses CBB lebih besar dari MAII dan MA.

Pada penelitian ini plainteks yang dimasukkan yaitu berupa karakter, sedangkan cipherteks yang dihasilkan dalam bentuk bit. Oleh karena itu untuk mengetahui seberapa baik algoritma yang dibangun, maka dilakukan perbandingan banyaknya plainteks dan cipherteks.

Tabel 1 Perbandingan Jumlah Plainteks dan Cipherteks

Data pada Tabel 1 memberikan informasi terkait banyaknya karakter pada plainteks dan banyaknya jumlah bit pada cipherteks. Hasil tersebut menunjukkan karakter dari algoritma yang dirancang. Plainteks sebesar 500 karakter merupakan stress point dari modifikasi kriptografi. Kenutuhan informasi untuk karakter yang lebih besar dari 500 sangat diperlukan untuk mengetahui karakteristik dari algoritma dan juga tingkat kenaikan setiap interval yang diambil. Oleh karena itu sangat diperlukan model matematika yang dibangun berdasarkan data yang diperoleh pada Tabel 1. Dalam kasus ini model yang dibangun berdasarkan fitting (pencocokan kurva) dari data yang ada pada Tabel 1. Proses pencocokan kurva ditunjukkan pada Gambar .

Plainteks Cipherteks 10 145 50 640 100 1290 200 2549 300 3811 400 5106 500 6365

(23)

23

Gambar 6 Perbandingan Jumlah Plainteks dan Cipherteks

Berdasarkan koefisien determinasi yang paling baik ( ) yaitu mendekati atau sama dengan 1. Pencocokan kurva yang dilakukan dengan data pada Tabel 1 maka diperoleh

y 12,707x11,818 (160)

Model pada Persamaan (160) menunjukkan perbandngan antara banyaknya karakter plainteks dan banyaknya jumlah bit pada cipherteks, gradien dari Persamaan (160) adalah 12,707. Hal ini memberikan informasi setiap laju kenaikan antara banyaknya plainteks terhadap cipherteks.

5. Simpulan

Modifikasi Hill Cipher menggunakan fungsi linear sebagai putaran dan fungsi Anger sebagai kuncinya, membuktikan bahwa modifikasi yang dilakukan dapat melakukan proses enkripsi dan dekripsi. Selain itu telah memenuhi five tuple P, C, K, E, D sehingga dapat disebut sebagai sebuah sistem kriptografi. Pada MHc kurang cocok untuk plainteks dalam jumlah yang banyak. Hal tersebut disebabkan karena kebutuhan memori dan waktu pada MHc lebih besar dibandingkan dengan MAII ataupun MA. Perbandingan antara banyaknya palinteks dan cipherteks berelasi sesuai dengan persamaan y12,707x11,818 . Plainteks pada MHc tidak hanya berupa alphabet saja, tetapi bisa juga simbol, angka dan karakter lainnya. Cipherteks yang dihasilkan yaitu dalam bentuk bit biner, sehingga dapat menahan dan mempersulit kriptanalis known-plaintext attack untuk memecahkannya dengan metode perkalian matriks dan perkalian linear.

y = 12.707x + 11.818 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 100 200 300 400 500 600 700 Ci p h er te ks Plainteks

(24)

24 6. Daftar Pustaka

[1] Hill, Lester, S., 1929, Cryptography in an Algebraic Alphabet: The American Monthly, 36 (6), pp. 106-312.

[2] Cryptanalysis of The Hill Cipher. 2012.

http://practicalcryptography.com/cryptanalysis/stochastic-searching/cryptanalysis-hill-cipher/ (Diakses pada tanggal 17 Juli 2014) [3] Magamba, K., Kadaleka, S dan Kasambara, Ansley, 2012, Variable-length

Hill Cipher with MDS Key Matrix, International Journal of Computer Application, Vol. 57, No. 13, pp. 43-45.

[4] Wowor, A. D, 2013, Modifikasi Kriptografi Hill Cipher Menggunakan Convert Between Base. Institut Teknik Surabaya, Bali : Seminar Nasional Sistem Informasi Indonesia.

[5] Wowor, A. D, Pakereng, M. A. Ineke dan Sembiring, Irwan, 2011, Modifikasi Teknik Kriptografi Hill Cipher Menggunakan Fungsi Rasional dan Konversi Basis Bilangan pada Proses Enkripsi-Dekripsi, Tesis : Magister Sistem Informasi Universitas Kristen Satya Wacana.

[6] Essilinger, Bernhard, 2010, The CrypTool Script: Cryptography, Mathematics, and More, 10th Edirion, Frankfurt-Germany: Prof Bernhard and the Cryptool Development Team 1998-2010.

[7] Anton, H. & Rorres, C., 2005, Elementary Linear Algebra, Applications Version, 8th Edition, New York: John Wiley & Sons.

[8] Sutojo,T., Bowo N., Erna, Z.A., dkk, 2010, Teori dan Aplikasi Aljabar Linear dan Matriks dengan Implementasi Aljabar Linear dan Matriks Menggunakan Matlab, Semarang : Andi.

[9] Maplesoft. 2010. Anger function.

http://www.maplesoft.com/support/help/Maple/view.aspx?path=AngerJ (Diakses pada tanggal 5 Maret 2014)

[10] Stinson, D.R. 1995. Cryptography Theory and Practice. Florida: CRC Press, Inc.sd

Gambar

Gambar 1 Tahap Penelitian
Gambar 2 Proses Enkripsi
Gambar 3 Proses Dekripsi
Gambar 4 Kebutuhan Memori Berdasarkan Jumlah Karakter Plainteks
+3

Referensi

Dokumen terkait

Sistem penomoran rawat jalan di Puskesmas Bejen Temanggung menggunakan sistem penomoran secara unit atau UNS (Unit Numbering System) dengan family numbering system atau

Tujuan dari penelitian ini adalah untuk mengetahui dan mengidentifikasi penerapan dan prosedur metode Drill sebagai upaya peningkatan kemampuan gambar bentuk siswa kelas X

Sehingga apabila sepanjang mengenai kepastian hukum anak sah maka diatur dalam Pasal 250 Burgelijk Wetboek voor Indonesie (BW) atau yang dikenal juga dengan Kitab

b) Di dalam diesel engine, solar yang dipakai sebagai bahan bakar, menghasilkan energi untuk memutar generator yang kemudian menghasilkan listrik yang dihubungkan ke trafo dan

Dokumen kualifikasi perusahaan asli yang diupload atau dokumen yang dilegalisir oleh pihak yang berwenang dan menyerahkan 1 (satu) rangkap rekaman (foto copy).

Berikut adalah keterbatasan (1) penelitian ini hanya menganalisis faktor-faktor yang mempengaruhi harga saham, tetapi bukan meneliti apakah harga saham turun atau naik;

• Simpullah seperti pada gambar dengan dua motif kordon dan satu motifdengan variasi manik-manik yang dikelilingi dengan simpul kordonmembantuk belah ketupat. Lakukan

Proyek akhir adalah rangkaian kegiatan yang didesain untuk membantu mahasiswa Akademi Komunitas Negeri Blitar dalam mengaplikasikan pengetahuan dan keterampilan yang