Penggunaan Arimatika Modulo Dan relatif Prima Pada Pembangkitan Kunci Merkle-Hellman Penggunaan Balikan Modulo Pada Dekripsi Enkripsi Knapsack

Algoritma Superincreasing Knapsack adalah algoritma yang lemah, karena ciphertext dapat didekripsi menjadi plaintext secara mudah dalam waktu polinomial. Algoritma non-superincreasing knapsack atau normal knapsack adalah kelompok algoritma yang sulit dari segi komputasi karena membutuhkan waktu dalam orde eksponensial untuk memecahkannya. Namun, Superincreasing Knapsack dapat dimodifikasi menjadi non- Superincreasing Knapsack dengan menggunakan kunci publik untuk enkripsi dan kunci privat untuk dekripsi. Kunci publik merupakan barisan non- Superincreasing sedangkan kunci privat tetap merupakan barisan superincreasing. Hasil modifikasi tersebut dinamakan algoritma Merkle-Helman karena modifikasi ini ditemukan oleh Martin Hellman dan Ralph Merkle. Modifikasi dilakukan dengan perhitungan aritmatika modulo Munir, 2006.

2.5.2 Penggunaan Teori Bilangan Bulat Pada Sistem Kriptografi Merkle- Hellman

2.5.2.1 Penggunaan Arimatika Modulo Dan relatif Prima Pada Pembangkitan Kunci Merkle-Hellman

Untuk mengenkripsikan n-bit pesan, caranya adalah sebagai berikut: a. Tentukan barisan Superincreasing. w = w 1 , w 2 , ..., w n dari bilangan bukan nol b. Pilih salah satu bilangan integer q sehingga memenuhi dan salah satu angka integer r secara acak sehingga PBBr,q =1 r relatif prima dengan q . Bilangan q dipilih dengan cara di atas untuk memastikan keunikan dari ciphertext . Jika bilangan yang digunakan lebih kecil, lebih dari satu plaintext akan dienkripsi menjadi ciphertext yang sama. Sedangkan r harus tidak memiliki persekutuan dengan q karena jika tidak, maka balikan modulo dari r mod q tidak dapat ditemukan. Bilangan yang merupakan balikan modulo dari r mod q adalah penting agar memungkinkan dekripsi. c. Kemudian hitung barisan yang memenuhi d. Kunci publik adalah , sedangkan kunci privat adalah w barisan superincreasing semula Munir, 2006. Universitas Sumatera Utara

2.5.2.2 Penggunaan Balikan Modulo Pada Dekripsi Enkripsi Knapsack

Terdapat n-bit pesan α = α1, α2, ..., α n dengan αi adalah bit ke-i dari pesan dan α i ∈{0, 1}. i Teknik Enkripsi Knapsack Cara untuk mengenkripsi pesan tersebut adalah sebagai berikut: a. Pilih himpunan bagian dari normal Knapsack kunci publik yang berkorespondensi dengan 1 pada plainteks dan mengabaikan bagian yang berkorespondensi dengan 0 pada plainteks. b. Elemen dari himpunan bagian yang telah dipilih dijumlahkan dan hasilnya menjadi ciphertext Marta, 2006 ..................................................17 ii Teknik Dekripsi Knapsack Untuk mendekripsi ciphertext c, penerima harus menemukan pesan dalam bentuk sehingga memenuhi Nilai βi dipilih sehingga dekripsi mudah dilakukan jika kunci privat w, q, r diketahui. Hal yang penting dari dekripsi adalah menemukan suatu bilangan integer n -1 yang merupakan balikan modulo modular inverse dari r modulo q. Ini berarti n -1 memenuhi persamaan n -1 .r mod q = 1 atau n -1 .r ≡ 1 mod q atau terdapat bilangan integer k sehingga n -1 .r = kq + 1. Karena r dipilih sehingga memenuhi persamaan PBBr,q = 1, maka s dan k mungkin ditemukan dengan menggunakan perhitungan balikan modulo yang memenuhi sr ≡ 1 mod q. Kekongruenan ini dapat dihitung dengan cara yang sederhana sebagai berikut: n -1 = 1 + kqr.............................................18 dimana k merupakan sembarang bilangan bulat. Universitas Sumatera Utara Kalikan setiap kriptogram dengan n -1 mod m , lalu nyatakan hasil kalinya sebagai penjumlahan elemen-elemen kunci privat untuk memperoleh plainteks dengan menggunakan algoritma pencarian solusi superincreasing knapsack Marta, 2006. Bentuk persamaan dekripsi algoritma Knapsack adalah sebagai berikut : .............................................19 Keterangan : plainkey pada sistem disebut session key = balikan modulo = cipherkey

2.6 File