Flowchart Proses Pembangkitan Kunci Matriks Hill Cipher Kunci Privat Flowchart Proses Enkripsi File dengan Kunci Hill Cipher Flowchart Proses Pembangkitan Kunci Knapsack Kunci Privat dan Kunci Publik

Pada gambar 3.6 terdapat proses enkripsi dan dekripsi file dengan kriptografi hibrida. Pada proses enkripsi akan dilakukan beberapa proses yaitu proses pembangkitan kunci matriks Hill Cipher, proses pembangkitan kunci Knapsack , proses enkripsi file dengan kunci Hill Cipher , dan proses enkripsi kunci Hill Cipher dengan kunci Knapsack. Proses tersebut disebut sebagai predefined process yaitu proses yang akan dikembangkan lebih rinci. Pada proses dekripsi terdapat beberapa proses yaitu proses pencarian bilangan bulat dari algoritma Knapsack, proses dekripsi cipherkey dengan kunci Knapsack , dan proses dekripsi cipherfile dengan kunci asli Hill Cipher.

3.3.1.1 Flowchart Proses Pembangkitan Kunci Matriks Hill Cipher Kunci Privat

Pada proses pembangkitan kunci Hill Cipher, pengguna akan diminta mencari kunci matriks yang memiliki nilai matriks identitas dimana jika sebuah kunci matriks dikalikan dengan invers-nya harus menghaslikan matriks identitas. Dengan ketentuan, sebuah kunci invers matriks haruslah bernilai bilangan bulat dicari dengan menggunakan teknik Hill Cipher yaitu aritmatika modulo. Universitas Sumatera Utara Berikut merupakan skema flowchart pembangkitan kunci matriks Hill Cipher 2x2 pada gambar 3.7 : START Bangkitkan bilangan matriks K 2x2 secara acak While K . K -1 = I K -1 = Det K -1 [Adj K Proses pencarian bilangan matriks Tidak Ya While Det K -1 Det K = 1 mod 256 While Det K 0 Det K -1 = Rand 1,256 Det K mod 2 = 0 Det K + = 256 Tidak Ya Tidak Ya Kunci Matriks 2x2 END Ya Tidak Tidak Ya Gambar 3.7 Flowchart Pembangkitan Kunci Hill Cipher 2x2 Universitas Sumatera Utara

3.3.1.2 Flowchart Proses Enkripsi File dengan Kunci Hill Cipher

Pada proses enkripsi file, file akan dibaca secara byte per byte. Karena kunci matriks yang akan dibuat adalah matriks 2x2, maka file yang akan dienkripsi akan dibagi sehingga membentuk 2 byte, ini dilakukan karena syarat perkalian matriks adalah “baris matriks A = kolom matriks B”. Jika sebuah file berukuran tidak sama dengan ukuran matriks yang akan dibagi, maka file akan ditambah karakter sembarang untuk memenuhi ukuran matriks tersebut. Berikut merupakan skema flowchart enkripsi file dengan kunci Hill Cipher pada gambar 3.8 : Start Input File, Key Hill Cipher Counter = 2 Baca byte Counter++ 1. Buat matriks 2x1 2. Kalikan matriks dengan key 3. Sederhanakan Apakah masih ada data? Counter 0 Selesai Tambahkan karakter Ada Selesai Proses dibuffer disimpan ke file Ya Tidak Ya Tidak Ya Tidak Gambar 3.8 Flowchart Enkripsi File Dengan Kunci Hill Cipher Universitas Sumatera Utara

3.3.1.3 Flowchart Proses Pembangkitan Kunci Knapsack Kunci Privat dan Kunci Publik

Pada proses pembangkitan kunci Knapsack Kunci Privat dan Kunci Publik, pengguna akan mencari sebuah barisan Superincreasing w yang dimulai dari bilangan bukan nol dimana jumlah barisannya ditentukan oleh pengguna sendiri. Barisan Superincrasing tersebut akan menjadi kunci privat yang akan mengenkripsi kunci Hill Cipher. Selanjutnya akan dicari sebuah bilangan q yang memenuhi dan salah satu angka integer r secara acak sehingga PBBr,q =1 r relatif prima dengan q. Barisan yang akan menjadi kunci publik bisa dicari dengan rumus . Berikut merupakan skema flowchart pembangkitan kunci Knapsack pada gambar 3.9 : START Pilih Jumlah w Perintah memilih jumlah w Tidak Rand Barisan w Barisan w kunci privat Rand bilangan q, r K.publik = r.w mod q Bilangan q, r Barisan kunci publik Ya END Universitas Sumatera Utara Gambar 3.9 Flowchart Pembangkitan Kunci Knapsack

3.3.1.4 Flowchart Proses Enkripsi Kunci Hill Cipher dengan Kunci Publik Knapsack