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/idea/java



*/



public class IdeaCipher extendsBlockCipher {







private static final int KEY_SIZE = 16;



private static final int BLOCK_SIZE = 8;



private static final int ROUNDS = 8;







private boolean encrypt;



private int[] subKey;







public IdeaCipher(String charKeyboolean encrypt) {



super(KEY_SIZEBLOCK_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)
R i=L i-1 f(Ri-1, K i) (6.2)
 
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
Selanjutnya, kedua bagian digeser ke kiri (left shift) sepanjang satu atau dua bit bergantung pada tiap putaran. 


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

Postingan populer dari blog ini

Rangkaian RC (Resistor-Kapasitor)

BAB 8 - Sistem Operasi dan Program Utilitas

Virtual Keyboard