Keamanan Sistem Komputer dengan Algoritma Kriptografi
Rabu, 12 Desember 2018
Nama : Anisa Selvianingsih
NIM : 2017-31-157
Kelas : B
Nama Dosen : Desi Rose Hertina, ST., M.Kom
Quiz : Keamanan Sistem Komputer
·
Sejarah Kriptografi
Algoritma IDEA
Proses Enkripsi Algoritma IDEA
Proses Dekripsi Algoritma IDEA
·
http://repository.usu.ac.id/bitstream/handle/123456789/16431/Chapter%20I.pdf?sequence=5
·
Sejarah Kriptografi Algoritma DES
Li = Ri – 1
Ri = Li – 1 + f(Ri – 1, Ki)
Proses Dekripsi Algoritma IDEA
Perbedaan Kriptografi Algoritma IDEA dan Kriptografi Algoritma DES
NIM : 2017-31-157
Kelas : B
Nama Dosen : Desi Rose Hertina, ST., M.Kom
Quiz : Keamanan Sistem Komputer
A. Algoritma
1. Hubungan
KSK dengan Kriptografi Algoritma IDEA
Keamanan Sistem
Komputer merupakan sebuah upaya yang dilakukan untuk mengamankan kinerja dan
proses komputer. Penerapan Keamanan
Sistem Komputer dalam kehidupan
sehari-hari berguna sebagai penjaga sumber daya sistem agar tidak
digunakan, modifikasi, interupsi, dan diganggu oleh
orang yang tidak berwenang.
Sasaran
keamanan sistem komputer antara lain adalah sebagai perlindungan informasi
terhadap pencurian atau korupsi, atau pemeliharaan ketersediaan, seperti
dijabarkan dalam kebijakan keamanan.
Sistem keamanan pengiriman data
(komunikasi data yang aman) dipasang untuk mencegah pencurian, kerusakan, dan
penyalahgunaan data yang terkirim melalui jaringan komputer. Dalam praktek,
pencurian data berwujud pembacaan oleh pihak yang tidak berwenang biasanya
dengan menyadap saluran publik. Teknologi jaringan komputer telah dapat
mengurangi bahkan membuang kemungkinan adanya kerusakan data akibat buruknya
konektivitas fisik, namun gangguan tetap bisa terjadi karena ada unsur
kesengajaan yang mengarah ke penyalahgunaan sistem dari pihak-pihak tertentu.
Makalah
ini bertujuan
untuk mengetahui teknik-teknik mengamankan data dengan proses Enkripsi dan Dekripsi.
Enkripsi dan Dekripsi
yang akan dibahas pada makalah ini adalah
dengan menggunakan kriptografi International
Data Encryption Algorithm (IDEA).
2. Penjelasan
Algoritma Kriptografi IDEA
·
Pengertian
Kriptografi Algoritma IDEA
IDEA merupakan
block cipher (cipher blok), yang
beroperasi pada blok plaintext 64 bit. Panjang kuncinya 128 bit. Algoritma yang sama digunakan untuk
proses enkripsi dan dekripsi. Sebagaimana algoritma enkripsi yang lain, IDEA
menggunakan confusion dan diffusion. IDEA
menggunakan operasi aljabar yang tidak kompatibel sebagai berikut,
a. XOR.
b. Penambahan
modulo 216.
c. Perkalian
modulo 216+1 (operasi ini menggantikan kotak-S atau S-Box).
·
Sejarah Kriptografi
Algoritma IDEA
Metode IDEA diperkenalkan pertama kali oleh Xuejia
Lai dan James Massey pada tahun 1990 dengan nama PES (Proposed Encryption Standard). Tahun berikutnya, setelah Biham dan
Shamir mendemonstrasikan cryptanalysis yang
berbeda, sang penemu memperkuat algoritma mereka dari serangan dan algoritma
hasil pengubahan tersebut diberi nama IPES (Improved
Proposed Encryption Algorithm). Kemudian pada tahun 1992, IPES diganti
namanya menjadi IDEA (International Data
Encryption Algorithm). IDEA dirancang untuk menggantikan DES (Data Encryption Standard).
·
Cara
kerja (Proses Ekripsi dan Proses Deskripsi) Kriptografi Algoritma IDEA
Dalam proses metode IDEA memiliki input 128 bit kunci (key)
yang identik dengan 32 digit heksadesimal ataupun 16 karakter yang diproses
untuk menghasilkan 52 subkey dengan
perincian masing-masing 6 buah subkey akan
digunakan pada 8 putaran dan 4 buah subkey
untuk transformasi output. Algoritma IDEA ini menggunakan kunci (key) simetris, dimana kunci yang
digunakan enkripsi sama dengan dekripsi.
Proses Ekripsi Kriptografi Algoritma IDEA
Proses enkripsi algoritma IDEA adalah sebagai berikut,
pertama–tama plaintext 64 bit dibagi menjadi 4 buah sub blok
dengan panjang 16 bit, yaitu X1, X2,
X3, X4. Empat sub blok ini menjadi masukan bagi iterasi tahap pertama
algoritma. Total terdapat 8 iterasi. Pada setiap iterasi, 4 sub blok
di-XOR-kan, ditambahkan, dikalikan dengan yang lain dan dengan 6 buah subkey 16 bit. Diantara iterasi sub blok
kedua dan ketiga saling dipertukarkan. Akhirnya 4 buah sub blok dikombinasikan
dengan 4 subkey dalam transformasi
output. Pada setiap tahapan, urutan berikut ini dikerjakan,
1.
Kalikan X1 dengan K1 mod (216
+ 1).
2.
Tambahkan X2 dengan K2 mod 216.
3.
Tambahkan X3 dengan K3 mod 216.
4.
Kalikan X4 dengan K4 mod (216 + 1).
5.
XOR hasil dari step 1 dan 3.
6.
XOR hasil dari step 2 dan 4.
7.
Kalikan hasil dari step 5 dengan
K5 mod (216 + 1).
8.
Tambahkan hasil dari step 6 dan 7
mod 216.
9.
Kalikan hasil dari step 8 dengan
K6 mod (216 + 1).
10.
Tambahkan hasil dari step 7 dan 9
mod 216.
11.
XOR hasil dari step 1 dan 9.
12.
XOR hasil dari step 3 dan 9.
13.
XOR hasil dari step 2 dan 10.
14.
XOR hasil dari step 4 dan 10.
Output dari setiap round adalah
empat sub blok yang dihasilkan pada langkah 11, 12, 13 dan 14. Sub blok 12 dan
13 di-swap (kecuali untuk putaran
terakhir) sehingga input dari putaran
berikutnya adalah hasil kombinasi dari langkah 11 13 12 14.Setelah 8 putaran,
akan dilakukan tranformasi output berikut,
1.
Kalikan X1 dengan subkey K1 mod
(216 + 1).
2.
Tambahkan X2 dengan subkey K2 mod 216.
3.
Tambahkan X3 dengan subkey K3 mod 216.
4.
Kalikan X4 dengan subkey K4 mod
(216 + 1).
Proses Deskripsi Kriptografi
Algoritma IDEA
Proses dekripsi sama persis dengan proses enkripsi.
Perbedaannya hanya terletak pada aturan dari subkey-nya. Urutan subkey terbalik dengan proses enkripsi
dan subkey-nya di-inverse-kan. Subkey pada langkah transformasi output pada proses enkripsi di-inverse-kan dan digunakan sebagai subkey pada putaran 1 pada proses
dekripsi. Subkey pada putaran 8 di-inverse-kan dan digunakan sebagai subkey pada putaran 1 dan 2 pada proses
dekrips. Demikian seterusnya, agar lebih jelas lihatlah tabel berikut ini.
Table 3.1 Proses Dekripsi
Round
|
Subkey Enkripsi
|
Subkey Dekripsi
|
1
|
K1(1) K2(1) K3(1) K4(1) K5(1) K6(1)
|
K1(9)-1 -K2(9)-K3(9) K4(9)-1 K5(8) K6(8)
|
2
|
K1(2)
K2(2) K3(2) K4(2) K5(2) K6(2)
|
K1(8)-1
-K3(8) -K2(8) K4(8)-1 K5(7) K6(7)
|
3
|
K1(3)
K2(3) K3(3) K4(3) K5(3) K6(3)
|
K1(7)-1
-K3(7) -K2(7) K4(7)-1 K5(6) K6(6)
|
4
|
K1(4)
K2(4) K3(4) K4(4) K5(4) K6(4)
|
K1(6)-1
-K3(6) -K2(6) K4(6)-1 K5(5) K6(5)
|
5
|
K1(5)
K2(5) K3(5) K4(5) K5(5) K6(5)
|
K1(5)-1
-K3(5) -K2(5) K4(5)-1 K5(4) K6(4)
|
6
|
K1(6)
K2(6) K3(6) K4(6) K5(6) K6(6)
|
K1(4)-1
-K3(4) -K2(4) K4(4)-1 K5(3) K6(3)
|
7
|
K1(7)
K2(7) K3(7) K4(7) K5(7) K6(7)
|
K1(3)-1
-K3(3) -K2(3) K4(3)-1 K5(2) K6(2)
|
8
|
K1(8)
K2(8) K3(8) K4(8) K5(8) K6(8)
|
K1(2)-1
-K3(2) -K2(2) K4(2)-1 K5(1) K6(1)
|
Transfor masi output
|
K1(9) K2(9) K3(9) K4(9)
|
K1(1)-1 -K2(1) -K3(1) K4(1)-1
|
·
Flowchart
dan Penjelasan Kriptografi Algoritma IDEA
Penjelasan
:
IDEA menggunakan
proses iterasi yang terdiri dari 8 putaran dan 1
transformasi keluaran pada putaran ke 8,5. Algoritma IDEA ini
menggunakan 3 operasi aljabar utama, yakni : Xor,
operasi penjmlahan modulo 2 16 dan operasi perkalian modulo (216 + 1).
Operasi ini semuanya dilakukan pada subblok 16bit. IDEA
mendapatkan keamanannya dari operasi dari grup yang berbeda – penambahan
dan penjumlahan modular serta exclusive or dari bit—yang secara
aljabar tidak cocok dalam beberapa pengertian.
3. Deskripsi
Studi Kasus
Tema : Industri
Jakarta,
CNN Indonesia -- Telkomsel memberi keterangan resmi mengenai peretasan terhadap
situsnya. Dalam konferensi pers yang digelar Telkomsel, Ririek Adriansyah,
Direktur Utama Telkomsel menyebutkan mengakui peretasan tersebut. "Web
server kita diretas sekitar 5.30 (WIB). (Lalu) kita ambil langkah
matikan web kita," terang Ririek kepada wartawan
di Jakarta, Jumat (28/4).
Ririek mengaku situs Telkomsel telah berangsur normal sejak pukul 15.00 WIB. "Kalau sekarang diakses, sudah normal kembali," tambahnya. Berdasarkan pengamatan CNNIndonesia.com, situs Telkomsel kembali tak bisa diakses dalam beberapa jam. Namun, kini sudah bisa diakses kembali. Lebih lanjut Ririek menyebutkan bahwa web server Telkomsel tersebut tidak terhubung dengan sistem di dalam, sehingga tidak berimbas kepada akses data pelanggan. "Jadi (situs itu) hanya untuk menyediakan informasi saja. Tidak mungkin kena akses pelanggan."
Ririek juga menyebutkan bahwa Telkomsel saat ini sedang dalam proses migrasi server. "Kita sudah ambil langkah-langkah sebagai fokus agar tak terulang kembali." Berdasarkan pantauan CNN Indonesia.com sepanjang hari ini, berikut kronologi pembajakan situs Telkomsel.
05.30 WIB - Hacker retas situs www.telkomsel.com
06.00 WIB - Laporan peretasan muncul pertama kali di Twitter disertai tangkapan layar deface yang dilakukan hacker di situs tersebut.
07.00 WIB - Situs www.telkomsel.com tak bisa diakses. Netizen mulai ramai membicarakan peristiwa peretasan ini.
11.00 WIB - CNNIndonesia.com sempat berhasil mengecek situs Telkomsel yang sudah kembali live.
15.00 WIB - Telkomsel mengklaim situs sudah berangsur pulih dan sudah bisa diakses kembali.
17.30 WIB - Pantauan CNNIndonesia.com situs Telkomsel masih dalam perbaikan.
18.30 WIB - Pantauan CNNIndonesia.com situs Telkomsel sudah dapat diakses kembali.
Ririek mengaku situs Telkomsel telah berangsur normal sejak pukul 15.00 WIB. "Kalau sekarang diakses, sudah normal kembali," tambahnya. Berdasarkan pengamatan CNNIndonesia.com, situs Telkomsel kembali tak bisa diakses dalam beberapa jam. Namun, kini sudah bisa diakses kembali. Lebih lanjut Ririek menyebutkan bahwa web server Telkomsel tersebut tidak terhubung dengan sistem di dalam, sehingga tidak berimbas kepada akses data pelanggan. "Jadi (situs itu) hanya untuk menyediakan informasi saja. Tidak mungkin kena akses pelanggan."
Ririek juga menyebutkan bahwa Telkomsel saat ini sedang dalam proses migrasi server. "Kita sudah ambil langkah-langkah sebagai fokus agar tak terulang kembali." Berdasarkan pantauan CNN Indonesia.com sepanjang hari ini, berikut kronologi pembajakan situs Telkomsel.
05.30 WIB - Hacker retas situs www.telkomsel.com
06.00 WIB - Laporan peretasan muncul pertama kali di Twitter disertai tangkapan layar deface yang dilakukan hacker di situs tersebut.
07.00 WIB - Situs www.telkomsel.com tak bisa diakses. Netizen mulai ramai membicarakan peristiwa peretasan ini.
11.00 WIB - CNNIndonesia.com sempat berhasil mengecek situs Telkomsel yang sudah kembali live.
15.00 WIB - Telkomsel mengklaim situs sudah berangsur pulih dan sudah bisa diakses kembali.
17.30 WIB - Pantauan CNNIndonesia.com situs Telkomsel masih dalam perbaikan.
18.30 WIB - Pantauan CNNIndonesia.com situs Telkomsel sudah dapat diakses kembali.
Alfons
Tanujaya, pakar keamanan digital, menyebut ada dua kemungkinan situs Telkomsel
kena retas. Pertama karena ada celah keamanan yang berhasil dieksploitasi dan
kedua karena username dan password web hosting berhasil diketahui oleh peretas.
Soal kemungkinan pertama, Alfons menyebut pihak keamanan Telkomsel tidak sigap dalam menambal celah keamanan di sistem hosting yang telah terekspos para peretas. Alhasil pelaku berhasil mengeksploitasi situs Telkomsel seperti yang terlihat sejak pagi. Alfons mengatakan celah seperti itu bisa berujung pada risiko eksploitasi database oleh pihak peretas yang imbasnya bisa sangat parah jika terjadi.
"Kemungkinan kecil, tapi ceroboh banget kalau itu sampai terjadi," ujar Alfons ketika ditelpon CNNIndonesia.com, Jumat (28/4).
Kemudian untuk kemungkinan berikutnya, peretasan terjadi akibat peretas mengetahui nama pengguna dan kata sandi untuk mengakses web hosting. Menurut Alfons, Telkomsel seharusnya bisa menghindarinya dengan memasang pengamanan two-factor authentication (TFA) atau pengamanan dua pintu. Cara lain yang semestinya dipakai oleh Telkomsel adalah membatasi Internet Protocol (IP) yang bisa mengakses dan mengganti web hosting mereka. "Jadi harusnya sekelas Telkomsel melakukan hal-hal seperti itu dan itu artinya belum dilakukan," ucap Alfons. Selain masalah deface yang mendera situsnya Telkomsel juga harus menanggung malu lantaran hasil pencarian teratas dengan kata kunci 'Telkomsel' di Google kena retas sehingga berisi kata-kata kasar. Menanggapi hal ini, Alfons berujar Telkomsel bisa mengubahnya secepat mungkin dengan menghubungi pihak Google. "Kalau adminnya peduli, bisa itu diubah," imbuhnya.
Soal kemungkinan pertama, Alfons menyebut pihak keamanan Telkomsel tidak sigap dalam menambal celah keamanan di sistem hosting yang telah terekspos para peretas. Alhasil pelaku berhasil mengeksploitasi situs Telkomsel seperti yang terlihat sejak pagi. Alfons mengatakan celah seperti itu bisa berujung pada risiko eksploitasi database oleh pihak peretas yang imbasnya bisa sangat parah jika terjadi.
"Kemungkinan kecil, tapi ceroboh banget kalau itu sampai terjadi," ujar Alfons ketika ditelpon CNNIndonesia.com, Jumat (28/4).
Kemudian untuk kemungkinan berikutnya, peretasan terjadi akibat peretas mengetahui nama pengguna dan kata sandi untuk mengakses web hosting. Menurut Alfons, Telkomsel seharusnya bisa menghindarinya dengan memasang pengamanan two-factor authentication (TFA) atau pengamanan dua pintu. Cara lain yang semestinya dipakai oleh Telkomsel adalah membatasi Internet Protocol (IP) yang bisa mengakses dan mengganti web hosting mereka. "Jadi harusnya sekelas Telkomsel melakukan hal-hal seperti itu dan itu artinya belum dilakukan," ucap Alfons. Selain masalah deface yang mendera situsnya Telkomsel juga harus menanggung malu lantaran hasil pencarian teratas dengan kata kunci 'Telkomsel' di Google kena retas sehingga berisi kata-kata kasar. Menanggapi hal ini, Alfons berujar Telkomsel bisa mengubahnya secepat mungkin dengan menghubungi pihak Google. "Kalau adminnya peduli, bisa itu diubah," imbuhnya.
Sampai tulisan ini ditulis pada pukul 12.10 WIB, hasil pencarian
dengan kata kunci 'Telkomsel' di mesin Google masih kena retas. Alfons
memperkirakan hal itu terjadi karena mesin pencari Google bekerja lebih cepat
dibanding mesin pencari lain seperti Bing dan Yahoo karena dapat menangkap
cache dari metadata kurang dari 12 jam. Hal itu menjelaskan pencarian dengan
kata kunci 'Telkomsel' di Bing dan Yahoo tidak menampilkan hal yang sama
seperti di Google.
•
Pada bagian username dan password
dari studi kasus tersebut dapat diterapkan Algoritma Kriptografi IDEA sebagai
sistem keamanan data pengguna.
4.
Sintaks
dari Algoritma Kriptografi IDEA (Proses Enkripsi dan Deskripsi)
Proses Enkripsi Algoritma IDEA
Sub Proses_Encryp() On Error Resume Next
Dim
i, cRow As Integer Dim jlhBaris As Integer Dim
bTmp As Double Dim tmpHasil As String Dim jlhx As Integer
Dim X1, X2,
X3, X4 As String Dim proses As Integer
jlhx =
(msfp.Rows - 1) * 2 proses = (jlhx / 8) * 14 L1 = ""
L2
= ""
L3
= ""
L4
= ""
L5
= ""
L6
= ""
L7
= ""
L8
= ""
L9
= ""
L10
= ""
L11
= ""
L12
= ""
L13
= ""
L14
= ""
bTmp = 0
tmpHasil = ""
frmmaster.xF.Caption
= "Informasi Enkripsi Data:" 'frmmaster.txtinfo.Text = ""
i
= 0
For
i = 1 To val(txtjlh.Text)
frmmaster.txtinfo.Text
= frmmaster.txtinfo.Text & Chr(13) & " PUTARAN " & i
& " " & Chr(13)
With
frminfopkunci.msf jlhBaris = .Rows - 1
Screen.MousePointer
= vbHourglass For cRow = 1 To proses
Select
Case cRow
Case
1
.TextMatrix(cRow,
1) = "(X1 * K1) mod (2^16 + 1) =(" & msfp.TextMatrix(cRow, 1)
& " * " & msfk.TextMatrix(cRow, 1) & ") mod (2^16 +
1)"
bTmp
= FBiner2Dec(msfp.TextMatrix(cRow, 1)) * FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil
= FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L1 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
2
.TextMatrix(cRow,
1) = "(X2 + K2) mod 2^16 =" & msfp.TextMatrix(cRow, 1) &
" + " & msfk.TextMatrix(cRow, 1) & ") mod (2^16)"
bTmp
= FBiner2Dec(msfp.TextMatrix(cRow, 1)) + FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, 2 ^ 16), 16) L2 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
3
.TextMatrix(cRow,
1) = "(X3 + K3) mod 2^16 =" & msfp.TextMatrix(cRow, 1) &
" + " & msfk.TextMatrix(cRow, 1) & ") mod (2^16)"
bTmp
= FBiner2Dec(msfp.TextMatrix(cRow, 1)) + FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil = FDec2Biner(FMod(bTmp,
2 ^ 16), 16) L3 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
4
.TextMatrix(cRow,
1) = "(X4 * K4) mod (2^16 + 1) =(" & msfp.TextMatrix(cRow, 1)
& " * " & msfk.TextMatrix(cRow, 1) & ") mod (2^16 +
1)"
bTmp
= FBiner2Dec(msfp.TextMatrix(cRow, 1)) * FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil
= FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L4 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
5
.TextMatrix(cRow,
1) = "L#1 XOR L#3 =" & Trim(L1) & " XOR " &
Trim(L3)
tmpHasil =
FXORBiner(Trim(L1), Trim(L3), 16) L5 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
6
.TextMatrix(cRow,
1) = "L#2 XOR L#4 =" & Trim(L2) & " XOR " &
Trim(L4)
tmpHasil =
FXORBiner(Trim(L2), Trim(L4), 16) L6 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
7
.TextMatrix(cRow,
1) = "(L#5 * K5) mod (2^16 + 1) ="
& L5 & " * " & msfk.TextMatrix(cRow - 2, 1) &
" mod (2^16 + 1)"
bTmp =
FBiner2Dec(Trim(L5)) * FBiner2Dec(msfk.TextMatrix(cRow - 2, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L7 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
8
.TextMatrix(cRow,
1) = "(L#6 + L#7)) mod 2^16 =" & L6 & " + " &
L7 & "mod 2^16"
bTmp =
FBiner2Dec(Trim(L6)) + FBiner2Dec(Trim(L7)) tmpHasil = FDec2Biner(FMod(bTmp, 2
^ 16), 16)
L8
= tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
9
.TextMatrix(cRow,
1) = "(L#8 * K6) mod (2^16 + 1) =" & L8 & " * "
& msfk.TextMatrix(cRow - 3, 1)
bTmp
= FBiner2Dec(Trim(L8)) * FBiner2Dec(msfk.TextMatrix(cRow - 3, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L9 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
10
.TextMatrix(cRow,
1) = "(L#7 + L#9)) mod 2^16 =" & L7 & " + " &
L9 & "mod 2^16"
bTmp =
FBiner2Dec(Trim(L7)) + FBiner2Dec(Trim(L9)) tmpHasil = FDec2Biner(FMod(bTmp, 2
^ 16), 16)
L10
= tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
11
.TextMatrix(cRow,
1) = "L#1 XOR L#9 =" & L1 & " XOR " & L9
tmpHasil =
FXORBiner(Trim(L1), Trim(L9), 16) L11 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
12
.TextMatrix(cRow,
1) = "L#3 XOR L#9 =" & L3 & " XOR " & L9
tmpHasil =
FXORBiner(Trim(L3), Trim(L9), 16) L12 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case 13
.TextMatrix(cRow,
1) = "L#2 XOR L#10 =" & L2 & " XOR " & L10
tmpHasil =
FXORBiner(Trim(L2), Trim(L10), 16) L13 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case 14
.TextMatrix(cRow,
1) = "L#4 XOR L#10 =" & L4 & " XOR " & L10
tmpHasil =
FXORBiner(Trim(L4), Trim(L10), 16) L14 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil End Select
Next cRow
d_Grid
End With Next
i
Screen.MousePointer
= vbDefault Call transForm
End
Sub
Proses Dekripsi Algoritma IDEA
Sub
Proses_Decryp() On Error Resume Next
Dim
i, cRow As Integer Dim jlhBaris As Integer Dim
bTmp As Double Dim tmpHasil As String Dim jlhx As Integer
Dim X1, X2,
X3, X4 As String Dim proses As Integer
jlhx =
(msfp.Rows - 1) * 2 proses = (jlhx / 8) * 14
L1
= ""
L2
= ""
L3
= ""
L4
= ""
L5
= ""
L6
= ""
L7
= ""
L8
= ""
L9
= ""
L10
= ""
L11
= ""
L12
= ""
L13
= ""
L14
= ""
bTmp = 0
tmpHasil = ""
frmmaster.xF.Caption
= "Informasi Deskripsi Data:" 'frmmaster.txtinfo.Text = ""
i
= 0
For
i = 1 To val(txtjlh.Text)
frmmaster.txtinfo.Text
= frmmaster.txtinfo.Text & Chr(13) & "PUTARAN " & i &
" " & Chr(13)
With
frminfopkunci.msf jlhBaris = .Rows - 1
Screen.MousePointer
= vbHourglass For cRow = 1 To proses
Select
Case cRow Case 1
.TextMatrix(cRow,
1) = "(X1 * K1) mod (2^16 + 1) =(" & msfp.TextMatrix(cRow, 1)
& " * " & msfk.TextMatrix(cRow, 1) & ") mod (2^16 +
1)"
bTmp =
FBiner2Dec(msfp.TextMatrix(cRow, 1)) * FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L1 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
2
.TextMatrix(cRow,
1) = "(X2 + K2) mod 2^16 =" & msfp.TextMatrix(cRow, 1) &
" + " & msfk.TextMatrix(cRow, 1) & ") mod (2^16)"
bTmp = FBiner2Dec(msfp.TextMatrix(cRow,
1)) + FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, 2 ^ 16), 16) L2 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
3
.TextMatrix(cRow,
1) = "(X3 + K3) mod 2^16 =" & msfp.TextMatrix(cRow, 1) &
" + " & msfk.TextMatrix(cRow, 1) & ") mod (2^16)"
bTmp =
FBiner2Dec(msfp.TextMatrix(cRow, 1)) + FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, 2 ^ 16), 16) L3 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
4
.TextMatrix(cRow,
1) = "(X4 * K4) mod (2^16 + 1) =(" & msfp.TextMatrix(cRow, 1)
& " * " & msfk.TextMatrix(cRow, 1) & ") mod (2^16 +
1)"
bTmp =
FBiner2Dec(msfp.TextMatrix(cRow, 1)) * FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L4 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
5
.TextMatrix(cRow,
1) = "L#1 XOR L#3 =" & Trim(L1) & " XOR " &
Trim(L3)
tmpHasil =
FXORBiner(Trim(L1), Trim(L3), 16) L5 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
6
.TextMatrix(cRow,
1) = "L#2 XOR L#4 =" & Trim(L2) & " XOR " &
Trim(L4)
tmpHasil =
FXORBiner(Trim(L2), Trim(L4), 16) L6 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
7
.TextMatrix(cRow,
1) = "(L#5 * K5) mod (2^16 + 1) =" & L5 & " * "
& msfk.TextMatrix(cRow - 2, 1) & " mod (2^16 + 1)"
bTmp =
FBiner2Dec(Trim(L5)) * FBiner2Dec(msfk.TextMatrix(cRow - 2, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L7 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
8
.TextMatrix(cRow,
1) = "(L#6 + L#7)) mod 2^16 =" & L6 & " + " &
L7 & "mod 2^16"
bTmp =
FBiner2Dec(Trim(L6)) + FBiner2Dec(Trim(L7)) tmpHasil = FDec2Biner(FMod(bTmp, 2
^ 16), 16)
L8
= tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
9
.TextMatrix(cRow,
1) = "(L#8 * K6) mod (2^16 + 1) =" & L8 & " * "
& msfk.TextMatrix(cRow - 3, 1)
bTmp =
FBiner2Dec(Trim(L8)) * FBiner2Dec(msfk.TextMatrix(cRow - 3, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16)
L9 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
10
.TextMatrix(cRow,
1) = "(L#7 + L#9)) mod 2^16 =" & L7 & " + " &
L9 & "mod 2^16"
bTmp =
FBiner2Dec(Trim(L7)) + FBiner2Dec(Trim(L9)) tmpHasil = FDec2Biner(FMod(bTmp, 2
^ 16), 16)
L10
= tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
11
.TextMatrix(cRow,
1) = "L#1 XOR L#9 =" & L1 & " XOR " & L9
tmpHasil =
FXORBiner(Trim(L1), Trim(L9), 16) L11 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
12
.TextMatrix(cRow,
1) = "L#3 XOR L#9 =" & L3 & " XOR " & L9
tmpHasil =
FXORBiner(Trim(L3), Trim(L9), 16) L12 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
13
.TextMatrix(cRow,
1) = "L#2 XOR L#10 =" & L2 & " XOR " & L10
tmpHasil =
FXORBiner(Trim(L2), Trim(L10), 16) L13 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
14
.TextMatrix(cRow,
1) = "L#4 XOR L#10 =" & L4 & " XOR " & L10
tmpHasil =
FXORBiner(Trim(L4), Trim(L10), 16) L14 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil End Select
Next cRow
d_Grid
End With Next
i
Screen.MousePointer
= vbDefault Call transForm
End
Sub
5.
Link
blog anggota kelompok 7 (Kriptografi Algoritma IDEA)
http://adiliyanisaputra.blogspot.com
https://verdhilife.home.blog/2018/12/12/keamanan-sistem-komputer/
https://syahrulanwrr.wordpress.com
https://novalgandhi25.blogspot.com/2018/12/keamanan-sistem-komputer-ksk.html?m=1
https://anisainformatics1731157.blogspot.com/2018/12/sistem-keamanan-komputer-dengan.html?m=1
https://verdhilife.home.blog/2018/12/12/keamanan-sistem-komputer/
https://syahrulanwrr.wordpress.com
https://novalgandhi25.blogspot.com/2018/12/keamanan-sistem-komputer-ksk.html?m=1
https://anisainformatics1731157.blogspot.com/2018/12/sistem-keamanan-komputer-dengan.html?m=1
6.
Referensi
sumber materi kelompok 7 (Kriptografi Algoritma IDEA)
·
http://hidayatcahayailmu.blogspot.com/2013/07/keamanan-sistem-komputer.html
·
https://id.wikipedia.org/wiki/Keamanan_komputer
·
https://www.cnnindonesia.com/teknologi/20170428174948-185-211012/kronologi-peretasan-situs-versi-telkomsel
·
https://www.cnnindonesia.com/teknologi/20170428125838-185-210886/beginikah-cara-peretas-bajak-situs-telkomsel
·
http://informatika.stei.itb.ac.id/~rinaldi.munir/Matdis/2007-2008/Makalah/MakalahIF2153-0708-102.pdf
·
https://karil.uui.ac.id/berkas/11111084-1-c080aa9494675dffb313da04f579c109.pdf
B.
Analisa
Algoritma
1.
Hubungan
KSK dengan Kriptografi algoritma IDEA dan Kriptografi algoritma DES
Makalah Perbandingan Algoritma IDEA dengan DES (Stevens Jethefer) IDEA
menunjukkan dirinya sendiri bahwa algoritma yang kebal menghadapi berbagai
serangan dari para kriptanalisis dengan asumsi tertentu. Pembuat dari algoritma
ini mengetahui kelemahan dari DES dan mencoba memperbaikinya dan membuat suatu
algoritma yang lebih kebal/tangguh terhadap berbagai jenis serangan. Pada tahun 1992, Joan
Daemen menemukan sebuah kelas yang merupakan titik lemah dari kunci. Contoh kunci berikut ini,
k = 0000,0000,0x00,0000,0000,000x,xxxx,x000 dalam bentuk hexadecimal akan
menjadi lemah/rentan terhadap serangan, artinya adalah seorang kriptanalisis
dapat mengidentifikasi kunci ini dengan satu serangan pada plaintext yang sudah terpilih.
Posisi x dapat memiliki nilai apapun dalam hexadecimal. Kemungkinan dari tipe
kunci yang seperti ini dapat digunakan adalah hanya 1 sampai 296, dan itu semua
mungkin terjadi. Namun hal ini juga bias dihindari dengan melakukan
proses desain yang baik. Sampai tahun 2004, serangan terbaik yang dapat
dilakukan pada semua kunci yang dapat memecahkan IDEA dilakukan di bawah
putaran ke-5 (algoritma IDEA yang penuh menggunakan 8.5 putaran).
Pada tahun 1996, Bruce Schneier sangat memandang tinggi IDEA, beliau
menulis, "Menurut saya, IDEA merupakan algoritma blok-chiper yang terbaik
dan paling aman yang tersedia pada masyarakat luas pada saat ini." (Applied Cryptography, 2nd ed.) Akan
tetapi, pada tahun 1999 dia tidak lagi merekomendasikan algoritma IDEA
dikarenakan ketersediaan dari algoritma lain yang lebih cepat, beberapa
perkembangan para kriptanalisis, dan munculnya hak paten pada IDEA.
Hubungan dari Algoritma IDEA dan Algoritma DES yaitu
Algoritma DES menjadi standard enkripsi data sebelum adanya Algoritma IDEA,
sehingga kedua algoritma ini memiliki beberapa kemiripan dalam segi keamanan
data. Akan tetapi keamanan Algoritma idea lebih tinggi dibanding Algoritma DES.
2.
Penjelasan
Algoritma Kriptografi DES
·
Pengertian
Kriptografi Algoritma DES
DES merupakan kriptografi simetri dan tergolong jenis cipher blok, dengan ukuran blok 64 bit dan
ukuran kuncinya 56 bit. Algoritma DES dibuat di IBM, dan merupakan modifikasi
daripada algoritma terdahulu yang bernama Lucifer. Lucifer merupakan algoritma
cipher block yang beroperasi pada blok masukan 64 bit dan kuncinya berukuran 28
bit. Pengurangan jumlah bit kunci pada DES dilakukan dengan alasan agar
mekanisme algoritma ini bisa diimplementasikan dalam satu chip.
·
Sejarah Kriptografi Algoritma DES
DES pertama kali
dipublikasikan di Federal Register pada 17 Maret 1975. Setelah melalui banyak
diskusi, akhirnya algortima DES diadopsi sebagai algoritma standar yang
digunakan oleh NBS (National Bureau of Standards) pada 15 Januari 1977. Sejak
saat itu, DES banyak digunakan pada dunia penyebaran informasi untuk melindungi
data agar tidak bisa dibaca oleh orang lain. Namun demikian, DES juga
mengundang banyak kontroversi dari para ahli di seluruh dunia. Salah satu
kontroversi tersebut adalah S-Box yang digunakan pada DES. S-Box merupakan
bagian vital dari DES karena merupakan bagian yang paling sulit dipecahkan. Hal
ini disebabkan karena S-Box merupakan satu – satunya bagian dari DES yang
komputasinya tidak linear. Sementara itu, rancangan dari S-Box sendiri tidak
diberitahukan kepada publik. Karena itulah, banyak yang curiga bahwa S-Box
dirancang sedemikian rupa sehingga memberikan trapdoor kepada NSA agar NSA bisa
membongkar semua ciphertext yang dienkripsi dengan DES kapan saja.
·
Cara
kerja (Proses Enkripsi dan Proses Deskripsi) dan Flowchart Algoritma DES
Skema Global Algoritma DES
a. Pada
awalnya, blok plainteks dipermutasi dengan matriks permutasi awal (initial
permutation atau IP). Hasil dari permutasi awal tersebutkemudian di enchiper sebanyak 16 kali atau 16 putaran. Setiap putarannya menggunakan kunci internal yang berbeda. Hasil dari proses enchiper kembali dipermutasi dengan matrikspermutasi balikan (invers initial permutation atau IP-1 ) menjadi blok cipherteks.
permutation atau IP). Hasil dari permutasi awal tersebutkemudian di enchiper sebanyak 16 kali atau 16 putaran. Setiap putarannya menggunakan kunci internal yang berbeda. Hasil dari proses enchiper kembali dipermutasi dengan matrikspermutasi balikan (invers initial permutation atau IP-1 ) menjadi blok cipherteks.
b.
Dalam proses enchiper, blok plainteks terbagi
menjadi dua bagian yaitu bagian kiri (L) dan bagian kanan (R), yang masing
masing memiliki panjang 32 bit. Pada setiap putaran i, blok R merupakan
masukan untuk fungsi transformasi fungsi f. Pada fungsi f,
blok R dikombinasikan dengan kunci internal Ki. Keluaran dari fungsi ini
di XOR kan dengan blok L yang langsung diambil dari blok R sebelumnya. Ini
merupakan 1 putaran DES. Secara matematis, satu putaran DES dinyatakan sebagai
berikut :
Li = Ri – 1
Ri = Li – 1 + f(Ri – 1, Ki)
c. Catatlah
bahwa satu putaran DES merupakan model jaringan Feistel, seperti gambar
dibawah :
Perlu dicatat dari Gambar kedua bahwa jika (L16, R16)
merupakan keluaran dari putaran ke-16, maka (R16, L16) merupakan pra-cipherteks
(pre-ciphertext) dari enciphering ini. Cipherteks yang sebenarnya diperoleh
dengan melakukan permutasi awal balikan, IP-1, terhadap blok pra-cipherteks.
3.
Pengetesan
Kriptografi Algoritma IDEA dan Kriptografi Algoritma DES
Plaintext
: ANSASELV
Key
: 20173157
•
Pengetesan Kriptografi Algoritma IDEA
Sub
Proses_Encryp() On Error Resume Next
Dim
i, cRow As Integer Dim jlhBaris As Integer Dim
bTmp As Double Dim tmpHasil As String Dim jlhx As Integer
Dim X1=AN, X2=SA,
X3=SE, X4=LV As String
Dim K1=20, K2=17,
K3=31, K4=57 As String
Dim proses As
Integer
jlhx =
(msfp.Rows - 1) * 2 proses = (jlhx / 8) * 14
L1 = ""
L2
= ""
L3
= ""
L4
= ""
L5
= ""
L6
= ""
L7
= ""
L8
= ""
L9
= ""
L10
= ""
L11
= ""
L12
= ""
L13
= ""
L14
= ""
bTmp = 0
tmpHasil = ""
frmmaster.xF.Caption
= "Informasi Enkripsi Data:" 'frmmaster.txtinfo.Text = ""
i
= 0
For
i = 1 To val(txtjlh.Text)
frmmaster.txtinfo.Text
= frmmaster.txtinfo.Text & Chr(13) & " PUTARAN " & i
& " " & Chr(13)
With
frminfopkunci.msf jlhBaris = .Rows - 1
Screen.MousePointer
= vbHourglass For cRow = 1 To proses
Select
Case cRow
Case
1
.TextMatrix(cRow,
1) = "(X1 * K1) mod (2^16 + 1) =(" & msfp.TextMatrix(cRow, 1)
& " * " & msfk.TextMatrix(cRow, 1) & ") mod (2^16 +
1)"
bTmp
= FBiner2Dec(msfp.TextMatrix(cRow, 1)) * FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil
= FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L1 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
2
.TextMatrix(cRow,
1) = "(X2 + K2) mod 2^16 =" & msfp.TextMatrix(cRow, 1) &
" + " & msfk.TextMatrix(cRow, 1) & ") mod (2^16)"
bTmp
= FBiner2Dec(msfp.TextMatrix(cRow, 1)) + FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, 2 ^ 16), 16) L2 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
3
.TextMatrix(cRow,
1) = "(X3 + K3) mod 2^16 =" & msfp.TextMatrix(cRow, 1) &
" + " & msfk.TextMatrix(cRow, 1) & ") mod (2^16)"
bTmp
= FBiner2Dec(msfp.TextMatrix(cRow, 1)) + FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil = FDec2Biner(FMod(bTmp,
2 ^ 16), 16) L3 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
4
.TextMatrix(cRow,
1) = "(X4 * K4) mod (2^16 + 1) =(" & msfp.TextMatrix(cRow, 1)
& " * " & msfk.TextMatrix(cRow, 1) & ") mod (2^16 +
1)"
bTmp
= FBiner2Dec(msfp.TextMatrix(cRow, 1)) * FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil
= FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L4 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
5
.TextMatrix(cRow,
1) = "L#1 XOR L#3 =" & Trim(L1) & " XOR " &
Trim(L3)
tmpHasil =
FXORBiner(Trim(L1), Trim(L3), 16) L5 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
6
.TextMatrix(cRow,
1) = "L#2 XOR L#4 =" & Trim(L2) & " XOR " &
Trim(L4)
tmpHasil =
FXORBiner(Trim(L2), Trim(L4), 16) L6 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
7
.TextMatrix(cRow,
1) = "(L#5 * K5) mod (2^16 + 1) ="
& L5 & " * " & msfk.TextMatrix(cRow - 2, 1) &
" mod (2^16 + 1)"
bTmp =
FBiner2Dec(Trim(L5)) * FBiner2Dec(msfk.TextMatrix(cRow - 2, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L7 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
8
.TextMatrix(cRow,
1) = "(L#6 + L#7)) mod 2^16 =" & L6 & " + " &
L7 & "mod 2^16"
bTmp =
FBiner2Dec(Trim(L6)) + FBiner2Dec(Trim(L7)) tmpHasil = FDec2Biner(FMod(bTmp, 2
^ 16), 16)
L8
= tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
9
.TextMatrix(cRow,
1) = "(L#8 * K6) mod (2^16 + 1) =" & L8 & " * "
& msfk.TextMatrix(cRow - 3, 1)
bTmp
= FBiner2Dec(Trim(L8)) * FBiner2Dec(msfk.TextMatrix(cRow - 3, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L9 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
10
.TextMatrix(cRow,
1) = "(L#7 + L#9)) mod 2^16 =" & L7 & " + " &
L9 & "mod 2^16"
bTmp =
FBiner2Dec(Trim(L7)) + FBiner2Dec(Trim(L9)) tmpHasil = FDec2Biner(FMod(bTmp, 2
^ 16), 16)
L10
= tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
11
.TextMatrix(cRow,
1) = "L#1 XOR L#9 =" & L1 & " XOR " & L9
tmpHasil =
FXORBiner(Trim(L1), Trim(L9), 16) L11 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
12
.TextMatrix(cRow,
1) = "L#3 XOR L#9 =" & L3 & " XOR " & L9
tmpHasil =
FXORBiner(Trim(L3), Trim(L9), 16) L12 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case 13
.TextMatrix(cRow,
1) = "L#2 XOR L#10 =" & L2 & " XOR " & L10
tmpHasil =
FXORBiner(Trim(L2), Trim(L10), 16) L13 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case 14
.TextMatrix(cRow,
1) = "L#4 XOR L#10 =" & L4 & " XOR " & L10
tmpHasil =
FXORBiner(Trim(L4), Trim(L10), 16) L14 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil End Select
Next cRow
d_Grid
End With Next
i
Screen.MousePointer
= vbDefault Call transForm
End
Sub
Setelah 8 putaran dan di tambah satu putaran transfortasi
proses enkripsi selesai, maka di
dapatkan Chiper Text= Šh?I/ Ǻ• ™mç¦
Proses Dekripsi Algoritma IDEA
Sub
Proses_Decryp() On Error Resume Next
Dim
i, cRow As Integer Dim jlhBaris As Integer Dim
bTmp As Double Dim tmpHasil As String Dim jlhx As Integer
Dim X1, X2,
X3, X4 As String Dim proses As Integer
jlhx =
(msfp.Rows - 1) * 2 proses = (jlhx / 8) * 14
L1
= ""
L2
= ""
L3
= ""
L4
= ""
L5
= ""
L6
= ""
L7
= ""
L8
= ""
L9
= ""
L10
= ""
L11
= ""
L12
= ""
L13
= ""
L14
= ""
bTmp = 0
tmpHasil = ""
frmmaster.xF.Caption
= "Informasi Deskripsi Data:" 'frmmaster.txtinfo.Text = ""
i
= 0
For
i = 1 To val(txtjlh.Text)
frmmaster.txtinfo.Text
= frmmaster.txtinfo.Text & Chr(13) & "PUTARAN " & i &
" " & Chr(13)
With
frminfopkunci.msf jlhBaris = .Rows - 1
Screen.MousePointer
= vbHourglass For cRow = 1 To proses
Select
Case cRow Case 1
.TextMatrix(cRow,
1) = "(X1 * K1) mod (2^16 + 1) =(" & msfp.TextMatrix(cRow, 1)
& " * " & msfk.TextMatrix(cRow, 1) & ") mod (2^16 +
1)"
bTmp =
FBiner2Dec(msfp.TextMatrix(cRow, 1)) * FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L1 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
2
.TextMatrix(cRow,
1) = "(X2 + K2) mod 2^16 =" & msfp.TextMatrix(cRow, 1) &
" + " & msfk.TextMatrix(cRow, 1) & ") mod (2^16)"
bTmp = FBiner2Dec(msfp.TextMatrix(cRow,
1)) + FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, 2 ^ 16), 16) L2 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
3
.TextMatrix(cRow,
1) = "(X3 + K3) mod 2^16 =" & msfp.TextMatrix(cRow, 1) &
" + " & msfk.TextMatrix(cRow, 1) & ") mod (2^16)"
bTmp =
FBiner2Dec(msfp.TextMatrix(cRow, 1)) + FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, 2 ^ 16), 16) L3 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
4
.TextMatrix(cRow,
1) = "(X4 * K4) mod (2^16 + 1) =(" & msfp.TextMatrix(cRow, 1)
& " * " & msfk.TextMatrix(cRow, 1) & ") mod (2^16 +
1)"
bTmp =
FBiner2Dec(msfp.TextMatrix(cRow, 1)) * FBiner2Dec(msfk.TextMatrix(cRow, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L4 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
5
.TextMatrix(cRow,
1) = "L#1 XOR L#3 =" & Trim(L1) & " XOR " &
Trim(L3)
tmpHasil =
FXORBiner(Trim(L1), Trim(L3), 16) L5 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
6
.TextMatrix(cRow,
1) = "L#2 XOR L#4 =" & Trim(L2) & " XOR " &
Trim(L4)
tmpHasil =
FXORBiner(Trim(L2), Trim(L4), 16) L6 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
7
.TextMatrix(cRow,
1) = "(L#5 * K5) mod (2^16 + 1) =" & L5 & " * "
& msfk.TextMatrix(cRow - 2, 1) & " mod (2^16 + 1)"
bTmp =
FBiner2Dec(Trim(L5)) * FBiner2Dec(msfk.TextMatrix(cRow - 2, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L7 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
8
.TextMatrix(cRow,
1) = "(L#6 + L#7)) mod 2^16 =" & L6 & " + " &
L7 & "mod 2^16"
bTmp =
FBiner2Dec(Trim(L6)) + FBiner2Dec(Trim(L7)) tmpHasil = FDec2Biner(FMod(bTmp, 2
^ 16), 16)
L8
= tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
9
.TextMatrix(cRow,
1) = "(L#8 * K6) mod (2^16 + 1) =" & L8 & " * "
& msfk.TextMatrix(cRow - 3, 1)
bTmp =
FBiner2Dec(Trim(L8)) * FBiner2Dec(msfk.TextMatrix(cRow - 3, 1))
tmpHasil =
FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16)
L9 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
10
.TextMatrix(cRow,
1) = "(L#7 + L#9)) mod 2^16 =" & L7 & " + " &
L9 & "mod 2^16"
bTmp =
FBiner2Dec(Trim(L7)) + FBiner2Dec(Trim(L9)) tmpHasil = FDec2Biner(FMod(bTmp, 2
^ 16), 16)
L10
= tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
11
.TextMatrix(cRow,
1) = "L#1 XOR L#9 =" & L1 & " XOR " & L9
tmpHasil =
FXORBiner(Trim(L1), Trim(L9), 16) L11 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
12
.TextMatrix(cRow,
1) = "L#3 XOR L#9 =" & L3 & " XOR " & L9
tmpHasil =
FXORBiner(Trim(L3), Trim(L9), 16) L12 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
13
.TextMatrix(cRow,
1) = "L#2 XOR L#10 =" & L2 & " XOR " & L10
tmpHasil =
FXORBiner(Trim(L2), Trim(L10), 16) L13 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil
Case
14
.TextMatrix(cRow,
1) = "L#4 XOR L#10 =" & L4 & " XOR " & L10
tmpHasil =
FXORBiner(Trim(L4), Trim(L10), 16) L14 = tmpHasil
.TextMatrix(cRow,
2) = tmpHasil End Select
Next cRow
d_Grid
End With Next
i
Screen.MousePointer
= vbDefault Call transForm
End
Sub
Setelah proses dekripsi di atas
selesai maka di peroleh plaintext awal adalah ANSASELV.
•
Pengetesan Kriptografi Algoritma DES
Plaintext
: ANSASELV
Key
: 20173157
Proses Enkripsi Algoritma DES
Setelah proses enkripsi selesai,
maka di dapatkan Chiper Text= Šh?I/ Ǻ• ™mç¦
Proses Enkripsi Algoritma DES
Setelah
proses dekripsi di atas selesai maka di peroleh plaintext awal adalah ANSASELV.
4.
Perbandingan
kedua algoritma
Persamaan
Kriptografi Algoritma IDEA dan Kriptografi Algoritma DES
Ø
Termasuk ke dalam sistem kriptografi Simetris.
Ø
Tergolong jenis Algoritma Kriptografi Cipher Blok.
Ø
Sama-sama beroperasi pada ukuran blok plaintext 64 bit.
Perbedaan Kriptografi Algoritma IDEA dan Kriptografi Algoritma DES
Ø
IDEA panjang kuncinya 128 bit,
sedangkan DES hanya menggunakan kunci berukuran 56 bit.
Ø
DES menggunakan permutasi dan subtitusi untuk confusion dan
difusion, sedangkan IDEA tidak menggunakannya.
Ø
Pada DES melakukan 16 round (putaran) pada proses enkripsi,
sedangkan IDEA melakukan 9 round (putaran) proses enkripsi.
5.
Link
blog anggota kelompok 1 (Kriptografi Algoritma DES)
6.
Referensi
sumber dari materi kelompok 1 (Kriptografi Algoritma DES)
•
http://studyinformatics.blogspot.com/2012/07/des-data-encryption-standard.html
• https://www.academia.edu/21897370/ENKRIPSI_DAN_DESKRIPSI_METODE_DES_DATA_ENCRYPTION_STANDART_
•
https://rumahradhen.wordpress.com/materi-kuliahku/semester-ii/sistem-keamanan-komputer/data-enkripsi-standar-des/
C.
Kesimpulan
Kriptografi Algoritma IDEA dan Kriptografi
Algoritma DES merupakan sistem kriptografi Simetris,
dan juga termasuk ke dalam jenis Algoritma Kriptografi Cipher Blok. Kriptografi
Algoritma IDEA dan Kriptografi Algoritma DES mempunyai
kesamaan dalam mengoperasikan enkripsi
dengan ukuran blok plaintext sebanyak 64 bit.
Disamping kesamaan dalam block cipher, dalam kedua
algoritma tersebut juga terdapat perbedaan yaitu Kriptografi Algoritma IDEA
mempunyai panjang kunci berukuran 128 bit untuk mengolah plaintext menjadi cipher text, sedangkan Kriptografi Algoritma DES hanya menggunakan kunci berukuran 56 bit untuk mengolah plaintext menjadi cipher text. Dalam Kriptografi Algoritma DES
menggunakan permutasi dan subtitusi untuk confusion dan difusion, sedangkan Kriptografi Algoritma IDEA tidak menggunakan permutasi dan subtitusi
untuk confusion dan difusion melainkan Kriptografi Algoritma IDEA menggunakan operasi aljabar
yang tidak kompatibel sebagai berikut,
·
XOR.
·
Penambahan modulo 216.
·
Perkalian modulo 216+1
(operasi ini menggantikan kotak-S atau S-Box).
Pada Kriptografi
Algoritma DES melakukan 16 round (putaran) proses
enkripsi, sedangkan Kriptografi Algoritma IDEA
hanya melakukan 9 round (putaran) proses enkripsi. Jadi, jika ditinjau dari seluruh persamaan
dan perbedaan kedua Kriptografi
Algoritma tersebut, maka tingkat keamanan dari Kriptografi
Algoritma IDEA lebih tingi dibandingkan dengan Kriptografi
Algoritma DES.