Berbagai Solusi Enkripsi Modern
Adapun berbagai solusi enkripsi
modern antara lain adalah :
1.
Data
Encryption Standart (DES)
2.
Advanced
Encryption Standart (EAS)
3.
Digital
Certificate Server (DCS)
4.
IP
Security (IPSec)
5.
Kerberos
6.
Point
to point Tunneling Protocol (PPTP), Layer Two Tunneling Protocol (L2TP)
7.
Remote
Access Dial-in User Service (RADIUS)
8.
RSA
Encryption
9.
Secure
Hash Algoritm (SHA)
10. MD5
11. Secure Shell (SSH)
12. Secure Socket Layer (SSL)
13. Security Token
14. Simple Key Management for Internet
Protocol
Empat
belas hal diatas adalah solusi untuk enkripsi modern.Tapi, pada saat ini penulis
akan membahas tentang Data Encryption Standart (DES).
Pengertian Data Encryption Standart (DES)
DES ( Data Encryption Standart ) adalah algoritma chiper blok yang
populer karena dijadikan standart algoritma enkripsi kunci simetri, meskipun
saat ini standart tersebut telah digantikan dengan algoritma yang baru atau
AES, karena DES sudah dianggap tidak aman lagi. Sebenarnya DES adalah nama
standart enkripsi simetris, nama algoritma enkripsinya sendiri adalah DEA ( Data Encryption Algoritm ) namun nama
DES lebih populer daripada DEA. Algoritma DES dikembangkan diIBM 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 Standart
(NBS) setelah penilaian kekuatanya oleh National
Security Agency (NSA) Amerika Serikat.
Dasar Teori
DES
termasuk ke dalam sistem kriptografi simetris yang tergolong jenis chiper blok.
DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit plainteks
menjadi 64 bit chiperteks dengan menggunakan 56 bit kunci internal. Kunci internal
dibangkitkan dari kunci eksternal (External
Key) yang panjangnya 64 bit.
Gambar 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
putaranDES. Secara watematis, satu putaran DES dinyatakan
sebagai
Li=Ri-1 (2.1)
R i=L i-1 f(Ri-1, K i) (2.2)
Satu
putaran DES merupakan model jaringan Feistel. Perlu dicatat dari
Gambar 2.2 bahwa ika (L,6, R,6) merupakan keluaran dari putaran
ke-16, maka (R,6, L,s) merupakan praipherteks (pre-ciphertext) dari enciphering ini.
Cipherteks yang sebenarnya diperoleh dengan melakukan permutasi awal balikan,
IP-1, terhadap blok pra-cipherteks.
Gambar 2.1
Jaringan Feistel untuk satu
putaran DES
Gambar 2.2
Algoritma enkripsi DES
a.
Enkripsi
·
Permutasi Awal ( IP)
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:
Gambar 3
Matriks IP (Initial Permutation)
·
Enciphering
(Penyandian)
Proses enciphering terhadap
blok plainteks dilakukan setelah permutasi awal.Setiap blok plainteks mengalami
16 kali putaran enciphering (lihat Gambar 2.2).Setiap putaran enciphering merupakan
jaringan Feistel yang secaramatematis dinyatakan sebagai :
Gambar 4
Rincian Komputasi Kunci f
Dari gambar skema tersebut dalam
proses enciphering masih dilakukan lagi langkah dengan Permutasi Ekspansi (E),
Substitusi dengan S-Box (S), sertadilakukan Permutasi (P). Tabel dan
penjelasannya dapat dilihat dalam bagianlampiran.
·
Permutasi Akhir IP-1
(Inverse Initial
Permutation)Permutasi terakhir dilakukan setelah 16 kali putaran terhadap
gabungan blokkiri dan blok kanan. Proses permutasi menggunakan matriks
permutasi awalbalikan (inverse initial permutation atau IP-1) sebagai
berikut :
Gambar 5
Matriks IP-1 (Invers Initial Permutation)
a.
Pembangkit
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.
Gambar 6
Proses pembangkit kunci-kunci
internal DES
·
Permutasi
Kunci Internal dengan Matriks PC-1
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:
Gambar 7
Matriks PC-1( Permuted Choice 1)
Dalam
permutasi ini, tiap bit kedelapan (parity bit ) dari delapan byte kunci
diabaikan. Hasil permutasinya adalah sepanjang 56 bit, sehingga dapatdikatakan
panjang kunci DES adalah 56 bit. Selanjutnya,
56 bit ini dibagimenjadi 2 bagian, kiri (C0) dan kanan (D0), yang masing-masing
panjangnya28 bit.
·
Penggeseran
Bit dan Permutasi PC-2
Untuk
mendapatkan Kunci InternalDilakukan pergeseran bit dengan cara kedua bagian (C0
dan D0) digeser kekiri (left shift ) sepanjang satu atau dua bit
bergantung pada tiap putaran.Operasi pergeseran bersifat wrapping atauround-shift.
Jumlah pergeseranpada setiap putaran ditunjukkan pada Tabel sebagai
berikut :
Gambar 8
Jumlah penggeseran bit putaran
Misalkan
(Ci ,Di) menyatakan penggabungan Ci dan Di. (Ci +1, Di +1)
diperoleh dengan menggeser Ci dan Di satu atau dua bit. Setelah
pergeseran bit, (Ci, Di ) mengalami permutasi kompresi dengan menggunakan
matriks PC-2berikut :
Gambar 9
Matriks PC-2 (Permutade Choice 2)
Jadi,
dengan permutasi matriks PC-2 setiap kunci internal Ki (Ci dan Di )mempunyai
panjang 48 bit dan telah didapat 16 kunci internal
c. Dekripsi
Proses
dekripsi terhadap cipherteks merupakan kebalikan dari prosesenkripsi. DES
menggunakan algoritma yang sama untuk proses enkripsi dandekripsi. Jika pada
proses enkripsi urutan kunci internal yang digunakan adalah K1, K2, …, K16,
maka pada proses dekripsi urutan kunci yang digunakan adalah K16, K15, …, K1.
Untuk tiap putaran 16, 15, …, 1, keluaran pada setiap
putaran deciphering adalah
yang dalam hal ini, (R16, L16)
adalah blok masukan awal untuk deciphering. Blok (R16, L16) diperoleh dengan
mempermutasikan cipherteks dengan matrikspermutasi IP-1. Pra-keluaran dari
deciphering adalah (L0, R 0).
Dengan
permutasi awal IP akan didapatkan kembali blok plainteks semula.Tinjau kembali
proses pembangkitan kunci internal pada Gambar 4.Selama
deciphering, K16 dihasilkan dari
(C16, D 16) dengan permutasi PC-2. Tentu saja (C16,D16) tidak dapat diperoleh
langsung pada permulaan deciphering. Tetapi karena (C16, D16) = (C0, D0),
maka K16 dapat dihasilkan dari (C0, D0) tanpaperlu lagi melakukan pergeseran bit.
Catatlah bahwa (C0, D0) yang merupakanbit-bit dari kunci eksternal
K yang diberikan pengguna pada waktu dekripsi.Selanjutnya, K15 dihasilkan
dari (C15, D15) yang mana (C15, D15) diperoleh dengan menggeser C 16 (yang
sama dengan C 0) dan D16 (yang sama dengan C0) satu bit ke kanan. Sisanya,
K14 sampai K1 dihasilkan dari (C14, D14) sampai (C1, D1). Catatlah bahwa (Ci –
1, Di – 1) diperoleh dengan menggeser Ci dan Di dengan cara
yang sama seperti pada Tabel 1, tetapi pergeseran kiri (left shift )
diganti menjadi pergeseran kanan (right shift ).
3. Permutasi (P box)
Tabel –tabel :
1.
Permutasi Ekspansi (E)
1.
Substitusi Box ( S box)
3. Permutasi (P box)
Semoga bermanfaat materinya ^^
Comments
Post a Comment