Enkripsi Pesan Dekripsi Pesan

Tabel 2.3 Nilai Invers f Modulo q fq k A B Q R t 1 t 2 T Init x 7 - 1 x 3 - x 2 + x - - 1 - 1 x 7 - 1 x 3 - x 2 + x x 4 + x 3 + 31x + 31 x + 31 1 31x 4 + 31x 3 + x + 1 2 x 3 + 31x 2 + x x + 31 x 2 + 1 1 1 31x 4 + 31x 3 + x + 1 x 6 + x 5 + x 4 + 31x 2 + 31x 3 x + 31 1 x + 31 31x 4 + 31x 3 + x + 1 x 6 + x 5 + x 4 + 31x 2 + 31x x 7 - 1 4 1 - - x 6 + x 5 + x 4 + 31x 2 + 31x x 7 - 1 - Berdasarkan tabel 2.2 dan tabel 2.3, maka nilai fp = 2x + 2x 2 + x 4 + x 5 + x 6 dan nilai fq = 31x + 31x 2 + x 4 + x 5 + x 6 5. Kunci publik polinom H H = p × f q × g mod q H = 3 × 31x + 31x 2 + x 4 + x 5 + x 6 × -1 + x 2 - x 3 + x 4 mod 32 = 6x + 3x 2 + 29x 4 + 29x 5 + 29x 6 Maka diperoleh kunci privat f = x - x 2 + x 3 , dan kunci publik H = 6x + 3x 2 + 29x 4 + 29x 5 + 29x 6 .

2.4.2. Enkripsi Pesan

Setelah melakukan pembangkitan kunci, langkah selanjutnya adalah mengenkripsi pesan. proses enkripsi antara lain: 1. m merupakan plaintext yang diubah dalam bentuk polynomial pada ring ℤ p ℤ[X]X N -1. Polinom m akan memiliki koefisien pada range -1, 0, 1. 2. Bangkitkan polinom kecil r secara acak pada ring ℤ p ℤ[X]X N -1. Polinom ini adalah blinding value yang berfungsi untuk menyamarkan pesan. 3. Enkripsi polynomial m dengan rumus berikut: e = r × H + m mod q Polinom e adalah pesan terenkripsi yang akan dikirimkan. Contoh: Langkah- langkah mengenkripsi pesan string “d” dengan menggunakan kunci publik H = 6x + 3x 2 + 29x 4 + 29x 5 + 29x 6 adalah sebagai berikut: 1. Pesan string “d” diubah ke dalam bentuk polynomial m menjadi: m = - x + x 2 - x 3 - x 5 - x 6 Langkah-langkah mengubah string “d” menjadi polynomial: Nilai ASCII string “d” adalah 100 100 : 3 = 33 sisa bagi 1 33 : 3 = 11 sisa bagi 0 11 : 3 = 3 sisa bagi 2 3 : 3 = 1 sisa bagi 0 Maka dihasilkan array dengan m = [1 0 2 0 1], karena N = 7 maka nilai m = [1 0 2 0 1 0 0] koefisien polynomial m harus diantara -1,0,1 maka nilai m dikurangi 1, maka nilai m = [0 -1 1 -1 0 -1 -1] Maka polynomial m = - x + x 2 - x 3 - x 5 - x 6 2. Bangkitkan polinom r sebagai blinding value: r = 1 + x - x 2 3. e merupakan polinom hasil enkripsi: e = r × H + m mod q e = 1 + x - x 2 × 6x + 3x 2 + 29x 4 + 29x 5 + 29x 6 + - x + x 2 – x 3 - x 5 - x 6 mod 32 = 8x + 10x 2 + 28x 3 + 26x 4 + 25x 5 + 28x 6 Maka dihasilkan polynomial baru hasil enkripsi adalah 8x + 10x 2 + 28x 3 + 26x 4 + 25x 5 + 28x 6 .

2.4.3. Dekripsi Pesan

Langkah-langkah pada proses dekripsi adalah sebagai berikut: 1. Hitung nilai polinom a dengan rumus berikut: a = f × e mod q, dimana koefisien polinom a berada pada interval –q2 dan q2. 2. Hitung nilai polinom b dengan rumus berikut: b = a mod p, koefisien polinom b berada pada interval -1 dan 1. 3. Hitung nilai polinom c dengan rumus berikut: c = f p × b mod p, koefisien polinom b berada pada interval -1 dan 1. Polinom c merupakan polinom hasil dekripsi pesan. Contoh: Langkah-langkah mendekripsi pesan e = 8x + 10x 2 + 28x 3 + 26x 4 + 25x 5 + 28x 6 dengan nilai f = x - x 2 + x 3 fp = 2x + 2x 2 + x 4 + x 5 + x 6 fq = 31x + 31x 2 + x 4 + x 5 + x 6 Proses dekripsi polinom e adalah sebagai berikut: 1. Polinom a = f × e mod q a = f × e mod q a = x - x 2 + x 3 × 8x + 10x 2 + 28x 3 + 26x 4 + 25x 5 + 28x 6 mod 32 = -3 - 3x + 4x 2 + 2x 3 - 6x 4 + 8x 5 - 5x 6 mod 32 2. Polinom b = a mod p b = a mod p b = -3 - 3x + 4x 2 - 2x 3 - 6x 4 + 8x 5 - 5x 6 mod 3 = x 2 - x 3 - x 5 + x 6 mod 3 3. Polinom c = f p × b mod p c = f p × b mod p c = 2x + 2x 2 + x 4 + x 5 + x 6 × -x 2 - x 3 - x 5 + x 6 mod 3 c = - x + x 2 – x 3 - x 5 - x 6 Hasil dekripsi yaitu polinom c sama dengan polinom m= - x + x 2 - x 3 - x 5 - x 6 Polinom m= - x + x 2 - x 3 + x 5 - x 6 , maka array m = [0 -1 1 -1 0 -1 -1], untuk mengubah kembali dalam bilangan ASCII maka m ditambahkan dengan 1, maka nilai m = [1 0 2 0 1 0 0], m diubah kembali ke nilai ASCII 1  1 x 3 + 0 = 3 0  3 x 3 + 2 = 11 2  11 x 3 + 0 = 33 0  33 x 3 + 1 = 100 1  100 Maka dihasilkan nilai m = 100, 100 merupakan nilai ASCII dari string “d”.

2.5. Citra Digital