Perangkat lunak yang akan dibangun tidak perlu perangkat tambahan ataupun perangkat pendukung dalam proses eksekusinya.
4. Dokumentasi Perangkat lunak yang akan dibangun dapat menyimpan file dan kunci yang
telah dienkripsi. 5. Manajemen kualitas
Perangkat lunak yang akan dibangun harus memiliki kualitas yang baik yaitu proses enkripsi dan proses dekripsi file dokumen dan kunci yang relatif cepat.
6. Kontrol Perangkat lunak yang akan dibangun harus memiliki messege error pesan
kesalahan supaya tidak terjadi kesalahan maupun kesulitan oleh pengguna dalam memasukkan inputan.
3.1.3 Analisis Proses
Pada sistem ini ada dua algoritma kriptografi yang dikombinasikan untuk mengamankan file yaitu algoritma kunci simetris Hill Cipher dan algoritma kunci
asimetris Knapsack. Algoritma kunci simetris Session Key Hill Cipher digunakan untuk mengamankan file dokumen office Plaintext, sedangkan
algoritma kunci asimetris Knapsack digunakan untuk mengamankan Session Key tersebut. Kombinasi dua algoritma inilah yang disebut dengan sistem kriptografi
Hibrida Hybrid.
Pada analisis proses ini tahapan yang akan dilakukan ataupun dikerjakan oleh sistem adalah sebagai berikut:
1. Proses enkripsi Plaintext file dan Key Session Pada proses ini, enkripsi Plaintext dapat dikerjakan jika nilai bit-bit pada file
sudah didapatkan. File yang sudah dienkripsi dinamakan dengan cipherfile dan Key Session
terenkripsi disebut Cipherkey. Semua yang sudah terenkripsi akan disimpan dalam drive penyimpanan data sistem komputer, kemudian akan
dikirimkan kepada penerima pesan lewat jaringan. 2. Proses dekripsi
Universitas Sumatera Utara
Pada proses ini, penerima yang telah memperoleh file dan kunci yang terenkripsi akan melakukan dekripsi. Pertama penerima mendekripsi Cipherkey
supaya dapat dugunakan kembali untuk mendekripsikan file yang terenkripsi.
Berikut ini merupakan contoh penggunaan metode kriptografi hibrida yaitu kombinasi antar dua algoritma kriptografi simetri dan asimetri dimana algoritma
Hill Cipher sebagai algoritma untuk kunci simetri dan algoritma Knapsack
sebagai algoritma untuk kunci asimetri. Di sini saya akan mencontohkan file dalam bentuk teks “HANNA”
Tahap 1 : Pengirim mengenkripsi teks dengan kunci simetri Tahap 2 : Enkripsi kunci simetri dengan public key kunci asimetri Knapsack
Tahap 3 : Penerima mendekripsi Session Key degan Private key kunci asimetri Knapsack
Tahap 4 : Mendekripsi teks dengan Session Key Hill Cipher
Penyelesaian :
Tahap 1
: Pengirim mengenkripsi teks dengan Session Key dengan metode Hill Cipher
Sebelum masuk dalam proses, ditentukan harga dalam abjad tersebut, tiap harga dari tiap abjad bisa dilihat dalam tabel ASCII terlampir
Disini saya buat key matriksnya 2x2 yaitu: K
= Karena kolom dari matriks adalah 2, maka kata yang akan dienkripsi juga harus
dibagi agar membentuk 2 huruf, ini dilakukan karena syarat perkalian matriks adalah “baris matriks A = kolom matriks B”
Pertama semua katakalimat digabung menjadi HANNA, lalu dibagi dan tentukan nilai tiap-tiap huruf:
H A N = 72, 65, 78 N A S = 78, 65, 83
Universitas Sumatera Utara
ditambahkan karakter sembarang supaya jumlah baris pada matriks A sama dengan jumlah pada matriks B. Pada contoh ini karakter yang ditambahkan adalah
karakter S yang bilangan desimalnya 83. Selanjutnya dilakukan perkalian matriks untuk mencari ciphertext:
P = 72 65 78 78 65 83 =
= =
= mod 256
Karakter yang berkorespondensi dengan 206, 134, 237, 248, 81, dan 86 adalah
╬
,
Å
,
φ
,
°
,
Q
,
dan V Ciphertext
yang diperoleh : { ╬Åφ°QV }
Tahap 2
: Enkripsi Key Session dengan kunci publik Kunci asimetri dengan Knapsack
Key Session : {1 5 9 8}
Misalnya barisan superincreasing kita buat : w =
[1, 2, 4, 8], = 86, r = 71 - Key dibuat dalam bentuk biner 8 bit:
1 = 00000001 5 = 00000110
9 = 00001001 8 = 00001000
- Barisan non superincreasing
Jadi kunci publik adalah : {71, 56, 26, 52}
Sedangkan kunci privat : w = {1, 2, 4, 8}
Universitas Sumatera Utara
- Plainkey session key yang akan dienkripsi dipecah menjadi blok-blok 4 bit: 0000 0001 0000 0110 0000 1001 0000 1000
Blok Plainteks key 1 : 0000 Kunci Publik
: 71, 56, 26, 52 Kriptogram
: 071+056+026+052 = 0 Blok Plainteks key 2 : 0001
Kunci Publik : 71, 56, 26, 52
Kriptogram : 071+056+026+152 = 52
Blok Plainteks key 3 : 0000 Kunci Publik
: 71, 56, 26, 52 Kriptogram
: 071+056+026+052 = 0 Blok Plainteks key 4 : 0110
Kunci Publik : 71, 56, 26, 52
Kriptogram : 071+156+126+052 = 82
Blok Plainteks key 5 : 0000 Kunci Publik
: 71, 56, 26, 52 Kriptogram
: 071+056+026+052 = 0 Blok Plainteks key 6 : 1001
Kunci Publik : 71, 56, 26, 52
Kriptogram : 171+056+026+152 = 123
Blok Plainteks key 7 : 0000
Kunci Publik : 71, 56, 26, 52
Kriptogram : 071+056+026+052 = 0
Blok Plainteks key 8 : 1000
Kunci Publik : 71, 56, 26, 52
Kriptogram : 171+056+026+052 = 71
Jadi cipherkey yang dihasilkan adalah :
,
52
, ,
82
, ,
123
, ,
7
Tahap 3 :
Penerima mendekripsi Session Key dengan Private key
Universitas Sumatera Utara
- Dekripsi dilakukan dengan kunci privat {1, 2, 4, 8}. Disini dan
Nilai diperoleh sebagai berikut:
Dengan mencoba maka untuk
diperoleh bilangan
bulat, yaitu:
-
Session key yang diperoleh dari enkripsi key sebelumnya adalah
,
52
, ,
82
, ,
123
, ,
71. Plaintext
yang berkoresponden diperoleh kembali sebagai berikut: , berkorespondensi dengan 0000
, berkorespondensi dengan 0001 , berkorespondensi dengan 0000
,
berkorespondensi dengan
0110 , berkorespondensi dengan 0000
,
berkorespondensi dengan
1001 , berkorespondensi dengan 0000
, berkorespondensi dengan 1000
Total hasil korespondensi : 0000 0001
0000 0110 0000
1001 0000
1000
- Ubah Session Key ke dalam bentuk blok 8 bit untuk memperoleh session key kembali dan konversi ke decimal sehingga diperoleh :
00000001 00000110
00001001 00001000
1 5
9 8
Tahap 4 :
Mendekripsi teks dengan Session Key dekripsi Hill Cipher Key session
yang diperoleh dari dekripsi cipherkey adalah :
Universitas Sumatera Utara
1 5
9 8
Sehingga :
- Cari Adjoint dari Session Key K
- Cari Determinan K
- Cari Invers dari Determinan K
- Cari K
-1
Universitas Sumatera Utara
Catatan : Setiap hasil yang bernilai negatif, ditambahkan 256 agar tetap positif, ini dilakukan karena yang digunakan adalah bilangan dari 0-255
- Lakukan pembuktian bahwa K saling invers dengan K
-1
dengan melakukan perkalian, dan hasilnya adalah matriks identitas
terbukti - Jika telah terbukti menghasilkan matriks identitas, selanjutnya lakukan
dekripsi dengan mengalikan matriks K
-1
dengan ciphertext Ciphertext:
╬ Å
φ ° Q V 206 134
237 248 81 86
Karakter yang berkorespondensi dengan 72, 65, 78, 78, 65, dan 83 adalah H, A, N, N, A, S
Sehingga plaintext yang dihasilkan kembali adalah 72, 65, 78, 78, 65, 83
H, A, N , N, A, S - Hapus huruf terakhir, karena pada saat kita melakukan enkripsi, telah
ditambahkan 1 sembarang karakter untuk memenuhi syarat perkalian matriks. - Hasil Dekripsi adalah HANNA
3.2 Pemodelan Sistem
Universitas Sumatera Utara