Keamanan Sistem Komputer [Algoritma IDEA]
A. Algoritma
Perkembangan teknologi informasi pada abad
ke-21 ini telah memberikan kepraktisan bagi masyarakat modern untuk melakukan
berbagai kegiatan komunikasi secara elektronik, salah satunya dalam bidang
bisnis seperti perdagangan dan perbankan. Dengan teknologi informasi, khususnya
dengan jaringan komputer yang luas seperti Internet, barang dan jasa dapat
dipromosikan secara luas dalam skala global. Kepada calon konsumen pun
diberikan pula kemudahan-kemudahan yang memungkinkan mereka mengakses dan
membeli produk dan jasa yang dimaksud secara praktis, misalnya pelayanan kartu
kredit. Perkembangan ini rupanya membawa serta dampak negatif dalam hal
keamanan. Praktek-praktek kejahatan dalam jaringan komputer kerap terjadi dan
meresahkan masyarakat, misalnya pencurian sandi lewat dan nomor rahasia kartu
kredit. Akibat dari hal seperti ini, aspek keamanan dalam penggunaan jaringan
komputer menjadi hal yang krusial.
Dalam
dunia komunikasi data global dan perkembangan teknologi informasi yang
senantiasa berubah serta cepatnya perkembangan software, keamanan merupakan
suatu isu yang sangat penting, baik itu keamanan fisik, keamanan data maupun
keamanan aplikasi.
Perlu
kita sadari bahwa untuk mencapai suatu keamanan itu adalah suatu hal yang
sangat mustahil, seperti yang ada dalam dunia nyata sekarang ini. Tidak ada
satu daerah pun yang betul-betul aman kondisinya, walau penjaga keamanan telah
ditempatkan di daerah tersebut, begitu juga dengan keamanan sistem komputer.
Namun yang bisa kita lakukan adalah untuk mengurangi gangguan keamanan
tersebut.
Algoritma penyandian IDEA
(International Data Encryption Algorithm) muncul pertama kali pada tahun 1990
yang dikembangkan oleh ilmuwan Xueijia Lai dan James L Massey. Algoritma utama
dari sistem kriptografi IDEA adalah sebagai berikut :
1. Proses
enkripsi : ek(M)
= C
2. Proses
dekripsi : dk(C)
= M
Dimana :
E =
adalah fungsi enkripsi
D =
adalah fungsi dekripsi
M =
adalah pesan terbuka
C =
adalah pesan rahasia
K =
adalah kunci enkripsi atau dekripsi
IDEA (International Data
Encryption Algorithm) merupakan algoritma simetris yang beroperasi pada sebuah
blok pesan terbuka dengan lebar 64-bit. Dan menggunakan kunci yang sama ,
berukuran 128-bit, untuk proses enkripsi dan dekripsi. Pesan rahasia yang dihasilan
oleh algoritma ini berupa blok pesan rahasia dengan lebar atu ukuran 64-bit.
Pesan dekripsi menggunakan blok penyandi yang sama dengan blok proses enkripsi
dimana kunci dekripsinya diturunkan dari dari kunci enkripsi. Algoritma ini
menggunakan operasi campuran dari tiga operasi aljabar yang berbeda, yaitu XOR,
operasi penjumlahan modulo 216 dan operasi perkalian modulo ( 216 + 1 )
. Semua operasi ini digunakan dalam pengoperasian sub-blok 16-bit.
Pada proses enkripsi, terdapat tiga operasi yang berbeda untuk
pasangan sub-blok 16-bit yang digunakan sebagai berikut :
·
XOR dua sub-blok 16-bit bir per bit, yang
disimbolkan dengan tanda
·
Penjumlahan integer modulo (216 + 1)
dua sub-blok 16-bit , dimana edua sub-blok itu dianggap sebagai representasi
biner dari integer biasa.
·
Perkalian modulo (216 + 1) dua sub-blok
16-bit.
Dalam setiap putaran dilakukan
operasi XOR, penjumlahan, perkalian antara dua sub-blok 16-bit dan diikuti
pertukaran antara sub-blok 16-bit putaran kedua dan ketiga. Keluaran putaran
sebelumnya menjadi masukan putaran berikutnya. Setelah putaran kedelapan
dilakukan transformasi keluara yang dikendalikan oleh 4 sub-blok unci 16-bit.
Pada setiap putaran dilakukan operasi-operasi sebagai berikut
:
1) Perkalian
X1 dengan
sub-kunci pertama
2) Penjumlahan
X2 dengan
sub-kunci kedua
3) Pejumlahan
X3 dengan
sub kunci ketiga
4) Perkalian
X4 dengan
sub kunci keempat
5) Operasi
XOR hasil langkah 1) dan 3)
6) Operasi
XOR hasil angkah 2) dan 4)
7) Perkalian
hasil langkah 5) dengan sub-kunci kelima
8) Penjumlahan
hasil langkah 6) dengan langkah 7)
9) Perkalian
hasil langkah 8) dengan sub-kunci keenam
10) Penjumlahan
hasil langah 7) dengan 9)
11) Operasi
XOR hasil langkah 1) dan 9)
12) Operasi
XOR hasil langkah 3) dan 9)
13) Operasi
XOR hasil langkah 2) dan 10)
14) Operasi
XOR hasil langkah 4) dan 10)
Keluaran setiap putaran adalah 4 sub-blok
yang dihasilkan pada langkah 11), 12), 13), dan 14) dan menjadi masukan putaran
berikutnya. Setelah putaran kedelapan terdapat transformasi keluaran, yaitu :
1)
Perkalian X1
dengan sub-kunci pertama
2)
Penjumlahan X2
dengan sub-kuci ketiga
3)
Penjumlahan X3
dengan sub-kunci kedua
4)
Perkalian X4
dengan sub-kunci keempat Terahir, keempat sub-blok 16-bit 16-bit
yang merupakan hasil operasi 1), 2), 3), dan 4) ii digabung kembali menjadi
blok pesan rahasia 64-bit.
Proses dekripsi menggunakan algoritma
yang sama dengan proses enkripsi tatapi 52 buah sub-blok kunci yang digunakan masing-masing merupakan
hasil turunan 52 buah sub-blok kunci enkripsi. Tabel sub-blok kunci dekripsi
yang diturunkan dari sub-blok kunci enkripsi dapat dilihat pada tabel berikut :
Keterangan :
● Z-1 merupakan
invers perkalian modulo 216+1 dari Z, dimana Z Z-1 = 1
● Z
merupakan invers penjumlahan modulo 216 dri Z, dimana Z Z-1 = 0
Pada penelitian sebelumnya telah dilakukan implementasi metode kriptografi
IDEA untuk menjamin keamanan data dari pihak lain yang bisa menyebabkan
kerugian pada perusahaan. Penelitian yang pertama adalah "Implementasi Kriptografi IDEA pada Priority Dealer untuk Layanan
Pemesanan dan Laporan Penjualan Handphone Berbasis Web ”. Priority Dealer melakukan penjualan langsung pada konsumen (end user) setelah menerima barang dari distributor. Priority Dealer harus memberikan laporan
hasil penjualan dan pemesanan
kepada distributor, akan tetapi dalam pelaporannya, priority
dealer masih memakai cara yang kuno, yaitu datang langsung ke distributor. Maka
dirancang suatu web untuk mempermudah pertukaran informasi. Untuk
menjamin keamanan data pada web, dibuatlah sistem
pengamanan data menggunakan algoritma Kriptografi IDEA.
Bahasa Java
| /** |
| * Implementation of IDEA symmetric-key block cipher. |
| * |
| * Based on http://www.source-code.biz/ |
| */ |
| public class IdeaCipher extend |
| private static final int KEY_ |
| private static final int BLOCK |
| private static final int ROUND |
| private boolean encrypt; |
| private int[] subKey; |
| public IdeaCipher(String charK |
| super(KEY_SIZE, BLOCK_SIZE); |
| this.encrypt = encrypt; |
| setKey(charKey); |
| } |
| @Override |
Link blog Kelompok 9
Muhammad Ilham : https://xmuhammadilham-sttpln.blogspot.com
Sekar Novianing
Dinda Aulia
Referensi sumber :
- Makalah Kelompok 9
- PPT Kelompok 9
- https://github.com/davidmigloz/IDEA-chiper/blob/master/src/main/java/com/davidmiguel/idea_cipher/crypto/idea.Cipher.java
- https://xmuhammadilham-sttpln.blogspot.com/2018/12/keamanan-sistem-komputer-quiz.html
B. Analisa Algoritma
DES (Data Encryption Standard) adalah algoritma cipher blok yang populer karena dijadikan standard algoritma enkripsi kunci-simetri, meskipun saat ini standard tersebut telah digantikan dengan algoritma yang baru, AES, karena DES sudah dianggap tidak aman lagi. Sebenarnya DES adalah nama standard enkripsi simetri, nama algoritma enkripsinya sendiri adalah DEA (Data Encryption Algorithm), namun nama DES lebih populer daripada DEA. Algoritma DES dikembangkan di IBM dibawah kepemimpinan W.L. Tuchman pada tahun 1972. Algoritma ini didasarkan pada algoritma Lucifer yang dibuat oleh Horst Feistel. Algoritma ini telah disetujui oleh National Bureau of Standard (NBS) setelah penilaian kekuatannya oleh National Security Agency (NSA) Amerika Serikat.
DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis cipher blok.
DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit
plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci
internal (internal key) atau upa-kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit.
Gambar 6.1 Skema global algoritma DES
Skema global dari algoritma DES adalah sebagai berikut (lihat Gambar 6.1):
1. Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation atau IP).
2. Hasil permutasi awal kemudian di-enciphering- sebanyak 16 kaH (16 putaran). Setiap putaran menggunakan kunci internal yang berbeda.
3. Hasil enciphering kemudian dipermutasi dengan matriks permutasi balikan (invers initial permutation atau IP-1 ) menjadi blok cipherteks.
Di dalam proses enciphering, blok
plainteks terbagi menjadi dua bagian, kiri (L) dan kanan R), yang
masing-masing panjangnya 32 bit. Kedua bagian ini masuk ke dalam 16
putaran DES. Pada setiap putaran i, blok R merupakan
masukan untuk fungsi transformasi yang ;isebut f. Pada fungsi f, blok R
dikombinasikan dengan kunci internal K,. Keluaran dai =angsi f
di-XOR-kan dengan blok L untuk mendapatkan blok R yang baru. Sedangkan blok - yang baru langsung diambil dari blok R sebelumnya. Ini adalah satu putaran DES. Secara watematis, satu putaran DES dinyatakan sebagai
Li=Ri-1 (6.1)
Gambar 6.3 memperlihatkan skema algoritma DES yang lebih rinci. Satu putaran DES merupakan model jaringan Feistel (lihat Gambar 6.2). Perlu dicatat dari Gambar 6.2 bahwa ika (L,6, R,6) merupakan keluaran dari putaran ke-16, maka (R,6, L,s) merupakan pra:ipherteks (pre-ciphertext) dari enciphering ini. Cipherteks yang sebenarnya diperoleh dengan melakukan permutasi awal balikan, IP-1, terhadap blok pra-cipherteks.
Gambar 6.2. Jaringan Feistel untuk satu putaran DES
Gambar 6.3 Algoritma Enkripsi dengan DES Permutasi Awal
Sebelum putaran pertama, terhadap blok plainteks dilakukan permutasi awal (initial-permutation atau
IP). Tujuan permutasi awal adalah mengacak plainteks sehingga urutan
bit-bit di dalamnya berubah. Pengacakan dilakukan dengan menggunakan
matriks permutasi awal berikut ini:
Cara membaca tabel/matriks: dua entry ujung kiri atas (58 dan 50) artinya:
"pindahkan bit ke-58 ke posisi bit 1"
"pindahkan bit ke-50 ke posisi bit 2", dst
Pembangkitan Kunci Internal
Karena ada 16 putaran, maka dibutuhkan kunci internal sebanyak 16 buah, yaitu K,, Kz, ...,K16.
Kunci-kunci internal ini dapat dibangkitkan sebelum proses enkripsi
atau bersamaan dengan proses enkripsi. Kunci internal dibangkitkan dari
kunci eksternal yang diberikan oleh pengguna. Kunci eksternal panjangnya
64 bit atau 8 karakter.
Misalkan kunci eksternal yang tersusun dari 64 bit adalah K. Kunci eksternal ini menjadi masukan untuk permutasi dengan menggunakan matriks permutasi kompresi PC- 1 sebagai berikut:
Dalam permutasi ini, tiap bit kedelapan (parity bit) dari delapan byte kunci diabaikan. Hasil 7-ermutasinya adalah sepanjang 56 bit, sehingga dapat dikatakan panjang kunci DES adalah 56
bit. Selanjutnya, 56 bit ini dibagi menjadi 2 bagian, kiri dan kanan,
yang masing-masing nanjangnya 28 bit, yang masing-masing disimpan di
dalam Co dan DO:
CO: berisi bit-bit dari K pada posisi
57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18
10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36
Do: berisi bit-bit dari K pada posisi
63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22
14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4
Persamaan :
- Terdapat beberapa operasi yang sama dalam proses Enkripsi dan Dekripsinya
- Pengembangan dari IPES ( Improved Proposed Encryption Standard )
- Keduanyan merupakan algoritma simetri yang beroperasi pada sebuah blok pesan terbuka 64bit.
Perbedaan :
- IDEA menggunakan kunci 128bit, DES menggunakan kunci 58bit
- IDEA dibuat sebagai pengganti DES, sedangkan DES pada awalnya dibuat untuk mengamankan kepentingan politik
- Dalam proses Enkripsi dan Dekripsinya, IDEA menggunakan operasi pembagian modulo serta perkalian modulo, sedangkan DES menggunakan permutasi.
Link blog kelompok :
Referensi sumber :
http://ilmu-kriptografi.blogspot.com/2009/05/algoritma-des-data-encryption-standart.html
https://www.researchgate.net/publication/267787562_ANALISIS_KRIPTOGRAFI_MENGGUNAKAN_ALGORITMA_VIGENERE_CIPHER_DENGAN_MODE_OPERASI_CIPHER_BLOCK_CHAINING_CBC
C. Kesimpulan
Pada dasarnya Algoritma Kriptografi IDEA dengan Algoritma Kriptografi DES merupakan algoritma yang sama. Kedua algoritma ini sama-sama menggunakan operasi XOR pada proses Enkripsi dan Dekripsinya. Namun, kedua algoritma ini sudah tidak lagi dianggap aman, dan digantikan oleh Algoritma AES ( Algoritma Encryption Standart ).






Komentar
Posting Komentar