• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
16
0
0

Teks penuh

(1)

2.1. Kriptografi

2.1.1. Definisi Kriptografi

Kriptografi (Cryptography) merupakan ilmu dan seni penyimpanan pesan, data, atau informasi secara aman. Kriptografi berasal dari bahasa Yunani yaitu dari kata Crypto dan Graphia yang berarti penulisan rahasia. Kriptografi adalah suatu ilmu yang mempelajari penulisan secara rahasia (Ariyus, 2008). Kriptografi merupakan bagian dari suatu cabang ilmu matematika yang disebut Cryptology. Akses perlindungan terhadap informasi untuk masalah keamanan merupakan alasan utama dalam menggunakan kriptografi. Selain itu juga untuk peningkatan identifikasi terhadap individu, authentikasi, dan non repudiation. Hal ini sangat penting seiring dengan perkembangan internet yang cukup pesat, perdagangan global, dan aktifitas-aktifitas lainnya (Subasree & Sakhthivel, 2010). Kriptografi juga sangat berguna dalam antisipasi kemanan komputer seperti interruption, interception, modification, dan

fabrication.

Dalam menjaga kerahasiaan data, kriptografi mentransformasikan data jelas (plaintext) ke dalam bentuk data sandi (ciphertext) yang tidak dapat dikenali.

Ciphertext inilah yang kemudian dikirimkan oleh pengirim (sender) kepada penerima

(receiver). Setelah sampai di penerima, ciphertext tersebut ditranformasikan kembali ke dalam bentuk plaintext agar dapat dikenali. Proses tranformasi dari plaintext menjadi ciphertext disebut proses enkripsi (encryption), sedangkan proses mentransformasikan kembali ciphertext menjadi plaintext disebut proses dekripsi (decryption). Untuk mengenkripsi dan mendekripsi data, kriptografi menggunakan suatu algoritma (cipher) dan kunci (key).

(2)

Cipher adalah fungsi matematika yang digunakan untuk mengenkripsi dan mendekripsi. Sedangkan kunci merupakan sederetan bit yang diperlukan untuk mengenkripsi dan mendekripsi data. Kunci yang digunakan untuk melakukan enkripsi dan dekripsi terbagi menjadi 2 bagian, yaitu kunci pribadi (private key) dan kunci umum (public key)(Munir, 2006).

Gambar 2.1 Bagan Proses Enkripsi dan Dekripsi

2.1.2. Tujuan Kriptografi

Kriptografi bertujuan untuk memberikan layanan keamanan, layanan tersebut terdiri dari empat aspek yaitu sebagai berikut (Sukarno, 2013):

o Confidentiality (Kerahasiaan) merupakan layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak.

o Integrity (Integritas) merupakan layanan yang menjamin bahwa pesan masih asli atau belum pernah dimanipulasi selama pengiriman.

o Authentication (Authentikasi) merupakan layanan yang berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan (data origin authentication).

o Non Repudiation (Nirpenyangkalan) merupakan layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman pesan atau penerima pesan menyangkal telah menerima pesan.

(3)

2.1.3. Jenis-Jenis Algoritma Kriptografi 2.1.3.1. Algoritma Simetris

Algoritma simetris merupakan algoritma yang memiliki kunci yang sama dalam proses enkripsi dan dekripsi sehingga algoritma ini sering disebut algoritma kunci tunggal atau algoritma satu kunci (Kumar & Vijay, 2017). Keunggulan dari algoritma simetris adalah proses eksekusi yang lebih cepat karena transformasi hasil enkripsi secara langsung disalurkan untuk kinerja yang lebih baik. Salah satu masalah utama pada algoritma simetris adalah menemukan metode yang efisien untuk menyetujui dan bertukar kunci dengan aman. Apabila kunci dapat diketahui orang lain, maka orang tersebut dapat melakukan enkripsi dan dekripsi pada pesan yang akan dikirim. Masalah ini disebut dengan masalah distribusi kunci (Gutub & Khan, 2012). Contoh dari algoritma simetris adalah Playfair Cipher, Vigenere Cipher, Caesar Cipher,

Blowfish, dll. Proses dan cara kerja algoritma simetris dapat dilihat pada gambar 2.2.

Gambar 2.2 Bagan Cara Kerja Algoritma Kunci Simetris (Sumber: Dafid, 2006)

2.1.3.2. Algoritma Asimetris

Algoritma asimetris merupakan algoritma yang memiliki kunci yang berbeda pada saat enkripsi dan dekripsi. Kunci yang digunakan untuk enkripsi adalah kunci publik atau public key sehingga algoritma ini juga disebut dengan algoritma kunci publik. Sedangkan kunci untuk proses dekripsi menggunakan kunci rahasia. (Prayudi, 2005). Algoritma asimetris merupakan algoritma yang aman karena didasarkan pada kesulitan matematis yang secara mendasar sulit untuk memecahkan masalahnya namun secara substansial lebih lama dari algoritma simetris. (Gutub & Khan, 2012). Contoh dari algoritma asimetris adalah RSA, ElGamal, Knapsack Naccache-Stern, dll. Proses dan cara kerja algoritma asimetris dapat dilihat pada gambar 2.3.

(4)

Gambar 2.3 Bagan Cara Kerja Algoritma Kunci Asimetris (Sumber: Dafid, 2006)

2.1.4. Hybrid Cryptosystem

Hybrid Cryptosystem sering dipakai karena memanfaatkan keunggulan kecepatan

pemrosesan data oleh algoritma simetris dan kemudahan transfer kunci oleh algoritma asimetris. Hal ini mengakibatkan peningkatan kecepatan tanpa mengurangi kenyamanan serta keamanan (Annelis, 2010). Hybrid Cryptosystem mengkombinasikan algoritma simetris dan algoritma asimetris. Metode ini menerapkan kriptosistem yang sangat aman dengan menggabungkan kekuatan algoritma simetris dan algoritma asimetris yang tersedia saat ini (Gutub & Khan, 2012). Proses dan cara kerja Hybrid Cryptosystem dapat dilihat pada gambar 2.4.

Gambar 2.4 Bagan Proses Hybrid Cryptosystem 2.2. Algoritma Playfair Cipher

Playfair Cipher ditemukan oleh Sir Charles Wheatstone (1802-1875) pada tahun

(5)

diabadikan untuk algoritma ini. Playfair Cipher pertama kali digunakan oleh tentara Inggris pada Perang Boer dan masih digunakan pada Perang Dunia I.

Playfair Cipher merupakan suatu algoritma kriptografi klasik yang termasuk ke dalam polygram cipher, dimana plaintext diubah menjadi bentuk poligram dan proses

enkripsi dekripsi dilakukan untuk poligram tersebut. Pada umumnya, kunci yang digunakan adalah serangkaian kata yang mudah dimengerti.

2.2.1. Proses Enkripsi dan Dekripsi Algoritma Playfair Cipher

Playfair Cipher merupakan algoritma yang termasuk ke dalam substitution cipher dan

mengenkripsi dua huruf (digraf) dalam suatu waktu secara bersamaan (Alam, et al, 2011). Playfair Cipher memanfaatkan matriks 5x5 untuk melakukan proses enkripsi maupun dekripsi. Kunci kriptografinya adalah 25 buah huruf yang disusun di dalam bujur sangkar 5x5 dengan menghilangkan huruf ‘J’ dari abjad dan menganggapnya sama seperti huruf ‘I’. Kunci yang didapatkan akan disusun ke dalam matriks berdasarkan urutan huruf yang muncul pada kunci. Huruf yang telah muncul tidak akan dimasukkan lagi kedalam matriks tersebut, sedangkan huruf yang belum muncul akan diletakkan setelahnya. Kemungkinan kunci yang terbentuk dari algoritma

Playfair Cipher adalah 25!. Susunan kunci di dalam bujur sangkar diperluas dengan

menambahkan kolom keenam dan baris keenam. Baris keenam merupakan baris pertama, sementara kolom keenam berisi kolom pertama. Penggunaan kunci ditunjukkan sebagai berikut, dalam contoh ini kunci yang digunakan adalah “SITEPU” maka matriks yang dihasilkan dari kunci tersebut dapat dilihat pada gambar 2.5. S I T E P S U A B C D U F G H K L F M N O Q R M V W X Y Z V S I T E P

(6)

Pesan yang akan dienkripsi menggunakan algoritma Playfair Cipher terlebih dahulu disusun dengan aturan sebagai berikut:

1. Mengganti huruf J dengan huruf I.

2. Menulis pesan dalam pasangan huruf (digraf).

3. Hindari digraf yang mempunyai huruf yang sama, jika ada sisipkan huruf X di dalamnya.

4. Jika jumlah huruf dalam pesan ternyata ganjil, tambahkan huruf X di huruf terakhir yang tidak memiliki pasangan.

Setelah pesan tersebut tersusun dengan aturan yang telah diberikan, maka selanjutnya adalah menerapkan proses enkripsi algoritma Playfair Cipher pada pesan tersebut dengan ketentuan sebagai berikut (Sharma et al, 2014).:

1. Jika pasangan huruf berada pada baris yang sama, maka ciphertext dari masing-masing huruf tersebut adalah huruf yang berada disebelah kanannya (pada kunci yang sudah diperluas).

2. Jika pasangan huruf berada pada kolom yang sama, maka ciphertext dari masing-masing huruf tersebut adalah huruf yang berada dibawahnya (pada kunci yang sudah diperluas).

3. Jika pasangan huruf berada pada sudut diagonal dari persegi panjang yang terbentuk dari huruf tersebut, maka ciphertext dari masing-masing huruf tersebut adalah huruf yang berada pada sudut-sudut yang berlawanan dan baris yang sama dengan huruf itu sendiri.

Sebagai contoh akan dilakukan proses enkripsi pada pesan berikut “ILMU KOMPUTER ADALAH PRODI TERBAIK”. Enkripsi akan dilakukan dengan matriks yang memiliki kunci “SITEPU”. Proses enkripsi pesan tersebut adalah sebagai berikut:

1. Dengan mengikuti aturan yang ada maka pesan (plaintext) tersebut dapat disusun menjadi pasangan-pasangan huruf sebagai berikut:

IL MU KO MP UT ER AD AL AH PR OD IT ER BA IK

2. Dengan mengikuti aturan enkripsi algoritma Playfair Cipher maka plaintext tersebut menghasilkan ciphertext sebagai berikut:

PG VF HQ RS BS PQ BU DG BG DZ RB TE PQ CB EG

Untuk melakukan dekripsi, algoritma Playfair Cipher memiliki aturan yang berbeda dengan saat melakukan enkripsi. Aturan dekripsi pada poin pertama dan poin kedua

(7)

berlawanan dengan aturan enkripsinya, sedangkan poin ketiga tidak mengalami perubahan pada saat melakukan dekripsi.

2.2.2. Modifikasi Algoritma Playfair Cipher Matriks 16 x 16

Playfair Cipher dengan matriks 5x5 memiliki keterbatasan dalam melakukan proses

enkripsi maupun dekripsi pesan (Eweoya, 2013). Keterbatasan-keterbatasan tersebut adalah sebagai berikut:

1. Hanya dapat menjadikan 26 huruf sebagai kunci.

2. Spasi antara 2 buah kata dalam plaintext tidak dianggap sebagai satu karakter. 3. Tidak dapat menggunakan karakter khusus dan angka.

4. Hanya terdapat huruf besar (uppercase).

5. Digraf yang mempunyai huruf yang sama dalam plaintext dipisahkan oleh sebuah huruf X padahal huruf X sendiri digunakan sebagai karakter yang dikenali yang ada pada matriks dan karena itu menimbulkan kerumitan.

Dalam penelitian ini, diusulkan untuk memodifikasi matriks 5x5 menjadi matriks 16x16 yang berisi 256 karakter yang ada pada tabel ASCII mulai dari kode karakter 1-256. Hal ini memungkinkan untuk menghilangkan keterbatasan-keterbatan yang dimiliki oleh matriks 5x5 sehingga proses enkripsi dan dekripsi dapat lebih luas. Kemungkinan kunci dari matriks 16x16 ini meningkat pesat, yang semula 25! Menjadi 256!. Peran huruf X sebagai padding character akan digantikan dengan symbol ‘¿’ (inverted question mark), dan pada saat dekripsi menjadi plaintext kembali dia akan diabaikan sehingga plaintext hasil enkripsi akan kembali seperti semula. Gambar 2.6 merupakan contoh dari matriks 16x16.

[Null] [SOH] [STX] [ETX] [EOT] [ENQ] [ACK] [BEL] [BS] [TAB] [LF] [VT] [FF] [CR] [SO] [SI] [Null]

[DLE] [DC1] [DC2] [DC3] [DC4] [NAK] [SIN] [EBT] [CAN] [EM] [SUB] [ESC] [FS] [GS] [RS] [SP] [DLE]

! “ # $ % & ' ( ) * + , - . / 0 ! 1 2 3 4 5 6 7 8 9 : ‘ < = > ? @ 1 A B C D E F G H I J K L M N O P A Q R S T U V W X Y Z [ \ ] ^ _ ` Q a b c d e f g h i j k l m n o p a q r s t u v w x y z { | } ~ [DEL] q

(8)

¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ - ® ¯ ° ¡ ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À ± Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Á Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à Ñ á â ã ä å æ ç è é ê ë ì í î ï ð á ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ ñ

[Null] [SOH] [STX] [ETX] [EOT] [ENQ] [ACK] [BEL] [BS] [TAB] [LF] [VT] [FF] [CR] [SO] [SI]

Gambar 2.6 Matriks 16x16 Playfair Cipher

Contoh : Melakukan enkripsi dengan menggunakan modifikasi algoritma Playfair

Cipher yang mempunyai matriks 16x16 dengan plaintext “Ilmu Komputer adalah

prodi terbaik” dan menggunakan “Sitepu” sebagai kuncinya.

1. Bentuk matriks 16x16 dengan kunci “Raviza Sitepu” ditunjukkan seperti gambar 2.7.

R a v i z [Sp] S t e p u [Null] [SOH] [STX] [ETX] [EOT] R

[ENQ] [ACK] [BEL] [BS] [TAB] [LF] [VT] [FF] [CR] [SO] [SI] [DLE] [DC1] [DC2] [DC3] [DC4] [ENQ]

[NAK] [SIN] [EBT] [CAN] [EM] [SUB] [ESC] [FS] [GS] [RS] ! “ # $ % & [NAK]

' ( ) * + , - . / 0 1 2 3 4 5 6 ' 7 8 9 : ‘ < = > ? @ A B C D E F 7 G H I J K L M N O P Q T U V W X G Y Z [ \ ] ^ _ ` b c d f g h j k Y l m n o q r s w x y { | } ~ [DEL] l ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ - ® ¯ ° ¡ ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À ± Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Á Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à Ñ á â ã ä å æ ç è é ê ë ì í î ï ð á ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ ñ

R a v i z [Sp] S t e p u [Null] [SOH] [STX] [ETX] [EOT]

(9)

2. Plaintext “Ilmu Komputer adalah prodi terbaik” setelah disusun sesuai dengan aturan algoritma Playfair Cipher:

Il mu [Sp]K om pu te r[Sp] ad al ah [Sp]p ro di [Sp]t er ba 3. Ciphertext yang dihasilkan adalah sebagai berikut:

ik

Gn {a zL qn u[Null] ep [][LF] uZ Rm [STX]Z Su sq \u Se [Sp]x Ze [EOT]\ Proses dekripsi matriks 16x16 memiliki aturan yang sama dengan dekripsi matriks 5x5 algoritma Playfair Cipher, sehingga hasil dekripsi akan menghasilkan plaintext “Ilmu Komputer adalah prodi terbaik” kembali.

2.3. Algoritma Knapsack Naccache-Stern

Algoritma Knapsack Naccache-Stern adalah sebuah algoritma kunci publik baru yang ditemukan oleh ilmuwan perancis bernama David Naccache dan Jacques Stern pada tahun 1997. Algoritma ini bersifat deterministik. Algoritma ini mengenkripsi plaintext menjadi ciphertext dengan mengalikan elemen-elemen yang ada pada kunci publik yang terindeks pada bit bit dalam plaintext. Proses dekripsi dilakukan dengan memecah ciphertext dengan memanfaatkan secret power (Zayaraz et al, 2009). Algoritma ini melibatkan 3 buah proses, yaitu pembangkitan kunci, enkripsi, dan dekripsi (Naccache & Stern, 1997).

2.3.1. Landasan Teori Matematika Algoritma Knapsack Naccache-Stern

Dalam memahami dan mempelajari kriptografi, ada baiknya terlebih dahulu memahami dan mempelajari konsep-konsep dasar dalam perhitungan matematis yang digunakan dalam algoritma kriptogafi tersebut. Dalam algoritma Knapsack

Naccache-Stern akan melibatkan konsep perhitungan matematis seperti bilangan prima, Faktor

Persekutuan Terbesar (Greatest Common Divisor(GCD)), relatif prima, aritmatika modulo.

2.3.1.1. Bilangan Prima

Sebuah bilangan dikatakan prima apabila bilangan tersebut merupakan bilangan bulat dan lebih besar dari 1. Bilangan prima hanya memiliki faktor 1 dan bilangan itu sendiri dan tidak memiliki bilangan pembagi lainnya. Bilangan yang bukan bilangan prima disebut bilangan komposit. Contoh bilangan prima adalah 2, 3, 17, 41, 103.

(10)

2.3.1.2. Faktor Persekutuan Terbesar (Greatest Common Divisor(GCD))

Faktor persekutuan terbesar atau Greatest Common Divisor merupakan elemen terbesar pada himpunan semua faktor dua buah bilangan integer. Dua bilangan tersebut mungkin saja memiliki beberapa elemen faktor yang sama namun hanya satu yang terbesar. Misalnya 18 memiliki faktor {1, 2, 3, 6, 9, 18}, dan 48 memiliki faktor {1, 2, 3, 4, 6, 8, 12, 24, 48}. Maka himpunan faktor bersama yang dimiliki oleh dua bilangan tersebut adalah {1, 2, 3, 6} dan yang terbesar adalah 6. Sehingga dapat dinotasikan sebagai GCD(18,48) = 6 (Sadikin, 2012).

2.3.1.3. Relatif Prima

Dua buah bilangan dikatakan relatif prima jika dan hanya jika GCD dari dua buah bilangan tersebut adalah 1. GCD(a, b) = 1 maka dapat diartikan a relatif prima dengan b.

2.3.1.4. Aritmatika Modulo

Aritmatika modulo digunakan agar operasi aritmatika selalu menghasilkan integer pada lingkup yang sama. Operasi modulo memerlukan 2 buah masukan yaitu sebuah bilangan bulat a dan sebuah bilangan positif yang disebut modulus b. Operasi modulo mengembalikan nilai r yang merupakan sisa bagi atas operasi a dibagi b. Notasi operasi modulus dituliskan sebagai a mod b = r (Sadikin, 2012). Tabel 2.1 menunjukkan beberapa persamaaan aritmatika dengan modulo 11.

Tabel 2.1 Aritmatika Modulo 11 Ekspresi Hasil 9 9 18 – 10 8 7 + 5 1 5 x 6 8 -9 2

(11)

2.3.2. Pembangkit Kunci Algoritma Knapsack Naccache-Stern

Untuk membangkitkan public key dan private key pada algoritma ini dilakukan dengan cara berikut:

1. Memilih bilangan prima yang dapat dibentuk dimulai dari i = 0 sampai i = 7. Bilangan prima yang terbentuk disimbolkan dengan 𝑝𝑝𝑖𝑖.

2. Kalikan semua bilangan prima yang terbentuk.

3. Pilih sebuah bilangan prima (p) yang lebih besar dari hasil perkalian semua 𝑝𝑝𝑖𝑖, sehingga:

𝑝𝑝 > � 𝑝𝑝𝑖𝑖 𝑛𝑛 𝑖𝑖=0

4. Pilih sebuah bilangan bulat rahasia s dimana s < p-1 sehingga gcd (p-1, s) = 1. 5. Tentukan 𝑣𝑣, dengan cara 𝑣𝑣𝑖𝑖𝑠𝑠 ≡ 𝑝𝑝𝑖𝑖 𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝.

Maka public key yang terbentuk adalah {n, p, 𝑣𝑣0, … , 𝑣𝑣𝑛𝑛} dan private key-nya adalah s.

Contoh: Membangkitkan public key dan private key dilakukan dengan cara sebagai berikut:

1. Menyusun bilangan prima secara acak yang dapat terbentuk dimulai dari i = 0 sampai dengan i =7. Maka bilangan prima yang terbentuk adalah 𝑝𝑝𝑖𝑖 = {2, 3, 5, 7, 11, 13, 17, 19}. Bilangan prima yang dibentuk tidak boleh berulang.

2. Kemudian mengalikan semua bilangan prima yang terbentuk sehingga diperoleh 9699690.

3. Selanjutnya memilih sebuah bilangan prima yang lebih besar dari 9699690 yaitu p = 9700247, sehingga:

𝑝𝑝 > � 𝑝𝑝𝑖𝑖 𝑛𝑛 𝑖𝑖=0

4. Selanjutnya memilih sebuah bilangan bulat s yang lebih kecil dari p-1 sehingga s relatif prima dengan p-1. Maka dipilih s = 5642069.

5. Menentukan 𝑣𝑣, yang mana i dimulai dari 0 sampai 7 dengan rumus: 𝑣𝑣𝑖𝑖𝑠𝑠 ≡ 𝑝𝑝𝑖𝑖 𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝

(12)

Tabel 2.2 Nilai 𝑣𝑣𝑖𝑖 yang diperoleh dari Perhitungan i 𝒑𝒑𝒊𝒊 𝒗𝒗𝒊𝒊𝒔𝒔 ≡ 𝒑𝒑𝒊𝒊 𝒎𝒎𝒎𝒎𝒎𝒎 𝒑𝒑 0 2 8567078 1 3 5509679 2 5 2006538 3 7 4340987 4 11 8643477 5 13 6404090 6 17 1424105 7 19 7671241

Maka public key yang terbentuk adalah {7, 9700247, 8567078, 5509679, 2006538, 4340987, 8643477, 6404090, 1424105, 7671241} sedangkan private key-nya adalah 5642069.

2.3.2.1. Pengujian Bilangan Prima Algoritma Agrawal Kayal Saxena (AKS)

Pada tahun 2002 tiga peneliti berkebangsaan India bernama Manindra Agrawal, Neeraj Kayal, dan Nitin Saxena telah membangun sebuah algoritma pengujian bilangan prima yang mempunyai sifat deterministik dalam waktu polinomial yang diberi nama Algoritma AKS. Diberikan sebuah bilangan bulat p yang ingin diuji keprimaannya. Selanjutnya pilih lagi sebulah bilangan bulat positif z, yang mana 2 ≤ z

< p – 2 dan GCD(p, z) = 1 (Agrawal et al, 2002). Maka p merupakan bilangan prima

jika dan hanya jika:

(1 + z)p≡ 1 + zp (mod p)

Contoh: Menguji keprimaan dari 11. Maka perhitungan menggunakan algoritma

Agrawal Kayal Saxena dapat dilakukan dengan cara berikut:

1. Bilangan yang ingin diuji keprimaannya adalah 11, maka p = 11.

2. Menentukan z dengan cara 2 ≤ z < p – 2, maka 2 ≤ z < 9 oleh karena itu z yang dapat dibentuk adalah {2, 3, 4, 5, 6, 7, 8}. Pilih satu nilai z yang akan digunakan misalnya 5.

(13)

3. Kemudian membandingkan nilai yang ada di ruas kanan dengan nilai yang ada di ruas kiri apakah sama jika dimodulo dengan p.

(1 + 5)11≡ 1 + 511 (mod 11) 611≡ 1 + 511 (mod 11)

362797056 ≡ 1 + 48828125 (mod 11) 362797056 ≡ 48828126 (mod 11) 6 ≡ 6 (mod 11)

Karena nilai yang ada di ruas kiri sama dengan nilai yang ada di ruas kanan dalam modulo p, maka p merupakan bilangan prima. Namun, jika nilai yang ada di ruas kiri dan nilai yang ada di ruas kanan tidak sama, maka p bukan merupakan bilangan prima (Bilangan Komposit).

2.3.3. Proses Enkripsi Algoritma Knapsack Naccache-Stern

Enkripsi pada algoritma ini dapat dilakukan dengan rumus berikut: 𝑐𝑐 = � 𝑣𝑣𝑖𝑖𝑚𝑚𝑖𝑖

𝑛𝑛 𝑖𝑖=0

𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝

Dimana 𝑚𝑚𝑖𝑖 merupakan plaintext yang telah dikonversi menjadi bilangan biner 8 bit. Setiap bit yang terbentuk dari plaintext menjadi pangkat pada 𝑣𝑣𝑖𝑖 yang diperoleh dari pembangkitan kunci. Kemudian setiap 𝑣𝑣𝑖𝑖 yang berpangkat 𝑚𝑚𝑖𝑖 tersebut dikalikan dan hasil kalinya di mod dengan p, maka hasil akhirnya yang akan menjadi ciphertext.

Contoh: Mengenkripsi karakter “ Ö ” yang mempunyai kode karakter 202 dengan menggunakan public key = {7, 9700247, 8567078, 5509679, 2006538, 4340987, 8643477, 6404090, 1424105, 7671241} yang telah dibangkitkan sebelumnya.

1. Mengkonversi kode karakter 202 menjadi bilangan biner, sehingga diperoleh 𝑚𝑚𝑖𝑖 = 11001010

2. Memangkatkan setiap 𝑣𝑣𝑖𝑖 dengan 𝑚𝑚𝑖𝑖 dengan i = 0 sampai i = 7 sehingga diperoleh nilai 𝑣𝑣𝑖𝑖𝑚𝑚𝑖𝑖 yang ditunjukkan pada tabel 2.3.

(14)

Tabel 2.3 Nilai 𝑣𝑣𝑖𝑖𝑚𝑚𝑖𝑖 dengan Kode Karakter 202 i 𝒗𝒗𝒊𝒊 𝒎𝒎𝒊𝒊 𝒗𝒗𝒊𝒊𝒎𝒎𝒊𝒊 0 8567078 0 1 1 5509679 1 5509679 2 2006538 0 1 3 4340987 1 4340987 4 8643477 0 1 5 6404090 0 1 6 1424105 1 1424105 7 7671241 1 7671241

3. Ciphertext diperoleh dengan mengalikan semua nilai 𝑣𝑣𝑖𝑖𝑚𝑚𝑖𝑖 dimodulo dengan nilai p sehingga menghasilkan:

c = 𝑣𝑣71 𝑥𝑥 𝑣𝑣61 𝑥𝑥 𝑣𝑣50 𝑥𝑥 𝑣𝑣40 𝑥𝑥 𝑣𝑣31 𝑥𝑥 𝑣𝑣20 𝑥𝑥 𝑣𝑣11 𝑥𝑥 𝑣𝑣00 𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝

c = 7671241 x 1424105 x 1 x 1 x 4340987 x 1 x 5509679 x 1 mod 9700247 c = 7202882

Maka karakter “ Ö ” yang mempunyai kode karakter 202 setelah dienkripsi akan menghasilkan ciphertext = 7202882.

2.3.4. Proses Dekripsi Algoritma Knapsack Naccache-Stern

Dekripsi pada algoritma ini dapat dilakukan dengan menentukan terlebih dahulu nilai dari 𝑐𝑐𝑠𝑠 𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝. Kemudian plaintext diperoleh kembali dengan rumus berikut:

𝑚𝑚 = �𝑝𝑝 2𝑖𝑖

𝑖𝑖− 1 𝑛𝑛

𝑖𝑖=0

𝑥𝑥 [gcd(𝑝𝑝𝑖𝑖, 𝑐𝑐𝑠𝑠 𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝) − 1]

Contoh: Mendekripsi ciphertext = 7202882 dengan menggunakan private key = 5642069 yang telah dibangkitkan sebelumnya.

1. Menghitung nilai dari 𝑐𝑐𝑠𝑠 𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝 sehingga diperoleh: 7208825642069 𝑚𝑚𝑚𝑚𝑚𝑚 97002477 = 6783.

2. Menentukan nilai dari 𝑚𝑚𝑖𝑖 = 2𝑖𝑖

𝑝𝑝𝑖𝑖−1 𝑥𝑥 [gcd(𝑝𝑝𝑖𝑖, 𝑐𝑐

𝑠𝑠 𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝) − 1] yang mana nilai

(15)

Tabel 2.4 Perhitungan Ciphertext dengan Nilai 7202882 i 𝒑𝒑𝒊𝒊 𝟐𝟐 𝒊𝒊 𝒑𝒑𝒊𝒊− 𝟏𝟏 [𝐠𝐠𝐠𝐠𝐠𝐠(𝒑𝒑𝒊𝒊, 𝒄𝒄 𝒔𝒔 𝒎𝒎𝒎𝒎𝒎𝒎 𝒑𝒑) − 𝟏𝟏] 𝒎𝒎 𝒊𝒊 0 2 1 0 0 1 3 1 2 2 2 5 1 0 0 3 7 8/6 6 8 4 11 16/10 0 0 5 13 32/12 0 0 6 17 4 16 64 7 19 128/18 18 128

3. Plaintext diperoleh dengan menjumlahkan semua nilai 𝑚𝑚𝑖𝑖 mulai dari i = 0 sampai i = 7 sehingga diperoleh :

m = 𝑚𝑚7+ 𝑚𝑚6+ 𝑚𝑚5+ 𝑚𝑚4+ 𝑚𝑚3+ 𝑚𝑚2+ 𝑚𝑚1+ 𝑚𝑚0 m = 128 + 64 + 0 + 0 + 8 + 0 + 2 + 0

m = 202

Maka ciphertext dengan nilai 7202882 setelah didekripsi akan menghasilkan

plaintext dengan kode karakter 202, yang mana karaker tersebut mewakili simbol “ Ö

”.

2.4. Penelitian yang Terdahulu

Beberapa penelitian yang relevan dengan penelitian yang akan dilakukan oleh penulis adalah sebagai berikut:

1. Berdasarkan grafik waktu proses dan perhitungan kompleksitas, diperoleh hasil O(n) yaitu linear untuk algoritma Playfair Cipher dan algoritma ElGamal. Pertumbuhan waktu dalam enkripsi dan dekripsi pesan berbanding lurus dengan panjang plaintext (Mizfar, 2016).

2. (Andriana, 2016) menyimpulkan bahwa dengan adanya algoritma Super-Playfair memperbanyak kemungkinan kunci untuk algoritma Playfair Cipher.

Super-Playfair memberikan tingkat keamanan lebih daripada sekedar Super-Playfair Cipher

karena kunci yang digunakan lebih banyak dan beragam.

3. (Rastaghi, 2011) menyimpulkan bahwa sebuah skema knapsack telah ditemukan. Skema ini menggunakan algoritma permutasi pada fase enkripsi untuk

(16)

menghindari penyerangan kepadatan yang rendah dengan menjaga kepadatan yang tinggi. Seperti yang dilihat, skema ini rentan, karena algoritma yang asli yang ditemukan oleh Merkle-Hellman menggunakan urutan superincreasing sebagai

private key dan mencoba menyembunyikan urutannya dengan modulus perkalian.

4. Hybrid cryptosystem memberikan kerangka baru untuk menerapkan sistem kripto yang sangat aman dengan menggabungkan kekuatan algoritma simetris dan algoritma asimetris (Gutub & Khan, 2012).

5. Penelitian ini mengubah tradisional Playfair Cipher dengan 26 karakter menjadi 256 kode karakter ASCII (Eweoya, 2013).

6. Ukuran ciphertext yang dihasilkan lebih besar daripada plaintext, karena enkripsi dapat menghasilkan kriptogram yang nilai desimalnya lebih besar daripada nilai desimal blok plaintext yang dienkripsikan (Munir, 2006).

Gambar

Gambar 2.1 Bagan Proses Enkripsi dan Dekripsi
Gambar 2.2 Bagan Cara Kerja Algoritma Kunci Simetris (Sumber: Dafid, 2006)
Gambar 2.4 Bagan Proses Hybrid Cryptosystem  2.2.   Algoritma Playfair Cipher
Gambar 2.5 Matriks dengan Kunci “SITEPU”
+6

Referensi

Dokumen terkait

Sebanding dengan penelitian tersebut, hasil menunjukan bahwa saat profil risiko mempengaruhi kerelaan berdonasi secara individu memberikan nilai koefisien 0.118

Sehingga masyarakat akan mengkonsumsi bahan makanan bergizi dalam jumlah yang kurang, dengan demikian penyakit kekurangan gizi akan mudah timbul Berdasarkan pada

Pelelangan secara elektronik pada pengadaan barang atau jasa pemerintah Indonesia disebut dengan LPSE (Layanan Pengadaan Secara Elektronik) mulai dilaksanakan pada

Varibel utama adalah karakteristik organ reproduksi betina yang terdiri atas bentuk/morfologi dan panjang organ reproduksi betina, panjang dan berat Ovarium, panjang dan

Tema yang dipilih dalam Skripsi yang dilaksanakan pada bulan Febuari 2017 sampai Mei 2017 ialah “Pemberian Bahan Pembenah Tanah Pada Lahan Tailing Pasir Pasca Penambangan

(DER) dan Earning Per Share (EPS) terhadap harga saham pada perusahaan otomotif yang terdaftar di Bursa Efek Indonesia (BEI) tahun 2013- 2016 ”.

hubungan panjang berat dan pola pertumbuhan ikan di perairan muara Sungai Musi Kabupaten Banyuasin Sumatera Selatan.. BAHAN

Berdasarkan penelitian di atas maka penelitian ini mencoba untuk melakukan penelitian yang serupa dengan variabel dependen yang berbeda untuk menganalisis Apakah ada pengaruh