IMPLEMENTASI
KEGUNAAN ALGORITMA DES, RSA, DAN PGP DI BIDANG KEAMANAN DATA/JARINGAN/SISTEM
OPERASI
DES (Data
Encryption Standard) merupakan nama dari sebuah algoritma untuk mengenkripsi
data yang dikeluarkan oleh Federal Information Processing
Standard (FIPS) 46 – 1 Amerika Serikat. Algoritma dasarnya
dikembangkan oleh IBM, NSA, dan NBS yang berperan penting dalam pengembangan
bagian akhir algoritmanya. DEA dan DES telah dipelajari secara ekstensif sejak
publikasi pertamanya, dan diketahui sebagai algoritma simetris yang paling baik
dan paling banyak digunakan di dunia.
Algoritma DES
Untuk
mengenkrip atau mendekripsi lebih dari 64 bit ada 4 model resmi yang telah
ditetapkan oleh FIPS PUB 81. Salah satu model yang digunakan adalah untuk
memeriksa proses deakripsi di atas untuk masing-masing blok secara berurutan.
Model ini disebut model Electronic Code Book (ECB). Kelebihan dari metode ini
adalah melakukan XOR masing-masing blok plaintext dengan blok ciphertext
sebelumnya untuk proses enkripsi. Model ini dinamakan Cipher Block Initial
Permutation, IP
For 1
<=j<=16
Begin
End
XOR
Final Permutation,
FP
Function,
f(R,K)
Blok Enkrip
: 64
IP Blok
Enkrip : 64
L[0]: 32
R[0]: 32
R[j-1]: 32
f(R[j-1],
K[j]): 32
L[j]: 32
R[j]: 32
L[j-1]: 32
Blok
Enkrip=FP(Blok Enkrip) : 64 Diagram Blok Dekripsi Data 64 bit
Chaining
(CBC). Dua model yang lain adalah Output Feedback (OFB) dan Cipher Feedback
(CFB). Algoritma DES juga dapat digunakan untuk menghitung checksum sampai
panjang 64 bit. Jika jumlah data dalam bit dikenai checksum bukan perkalian 64
bit, maka blok data yang terakhir diberi angka 0. Jika data itu berupa data
ASCII, maka bit pertama dari beberapa bit yang lain diberi nilai 0. Data
tersebut kemudian dienkripsi dalam model CBC, dengan rentang n adalah 16 sampai
64 bit dan n merupakan perkalian dari 8 bit.
Pemrosesan
Kunci
Seperti yang
telah diuraikan di atas, pemrosesan kunci dilakukan dengan beberapa blok fungsi
utama , yaitu Permuted Choice 1 (PC1), Permuted Choice 2 (PC2), dan Shift Kiri
atau geser kiri. Fungsi ini menggunakan 64-bit (8 byte) kunci input untuk
dikonversi menjadi 16 set kunci yang akan dipergunakan dalam masing-masing
enkripsi maupun dekripsi.
Pemrosesan
Data
Setelah
kunci berhasil diproses, maka langkah selanjutnya adalah memproses blok data,
tentunya dengan menyertakan kunci tersebut. Dalam fungsi ini, masukkan dan
keluarkan data berupa blok data masing-masing 8 byte yang disertai oleh
KunciSet yang memuat keseluruhan set kunci yang siap digunakan dalam setiap
iterasi DES. Parameter mode digunakan untuk menentukan jenis proses baik enkripsi
maupun dekripsi. IP dan FP Initial Permutation dan Final Permutation merupakan
suatu proses pengacakan blok data yang saling invers. IP dan FP
diimplementasikan dengan menggunakan macro PERM_OP yang berfungsi untuk menukar
posisi (swapping) blok-blok bit dalam satu blok data. Dalam beberapa percobaan,
akhirnya didapat bahwa lima buah PERM_OP pada desblok memungkinkan terjadinya
IP dan FP.
Fungsi
Fungsi ini
menggabungkan beberapa blok menjadi satu, yaitu Expansion, Substitution, dan
Permutation. SpBox merupakan sebuah lookup tabel dari Substitution dan
Permutation dengan variable lookup 6 bit kunci yang di-XOR dengan 6 bit hasil
ekspansi.
Compile dan
Pengujian Program
Program DES
dibuat oleh compiler 16 bit Borland C++ versi 3.1 untuk DOS. Karena sifat
enkripsi dan dekripsi tidak menghilangkan satu informasi pun, maka program ini
dapat dan telah diuji pada file-file terkompres seperti rar.arj maupun .zip.
Hasilnya, file-file tersebut dapat dibuka kembali dengan baik oleh program
dekompresi masing-masing.
Algoritma RSA
Untuk menyandi informasi dan untuk
menerjemahkan pesan tersandi sebuah algoritma penyandian memerlukan
sebuah data biner yang disebut kunci. Tanpa kunci yang cocok orang tidak
bisa mendapatkan kembali pesan asli dari pesan tersandi. Pada DES
digunakan kunci yang sama untuk menyandi (enkripsi) maupun untuk menterjemahan
(dekripsi), sedangkan RSA menggunakan dua kunci yang berbeda.
Isitilahnya, DES disebut sistem sandi simetris sementara RSA disebut sistem
sandi asimetris. Kedua sistem ini memiliki keuntungan dan kerugiannya sendiri.
Sistem sandi simetris cenderung jauh lebih cepat sehingga lebih disukai oleh
sementara kalangan industri. Kejelekannya, pihak-pihak yang ingin berkomunikasi
secara privat harus punya akses ke sebuah kunci DES bersama. Walaupun
biasanya pihak-pihak yang terkait sudah saling percaya, skema ini
memungkinkan satu pihak untuk memalsukan pernyataan dari pihak lainnya.
RSA yang menggunakan algoritma asimetrik mempunyai dua kunci yang berbeda,
disebut pasangan kunci (key pair) untuk proses enkripsi dan
dekripsi. Kunci-kunci yang ada pada pasangan kunci mempunyai hubungan secara
matematis, tetapi tidak dapat dilihat secara komputasi untuk mendeduksi kunci
yang satu ke pasangannya. Algoritma ini disebut kunci publik, karena kunci
enkripsi dapat disebarkan. Orang-orang dapat menggunakan kunci publik ini, tapi
hanya orang yang mempunyai kunci privat sajalah yang bisa mendekripsi
data tersebut. Keamanan algoritma RSA terletak pada sulitnya memfaktorkan
bilangan yang besar menjadi faktor-faktor prima.Pemfaktoran dilakukan untuk
memperoleh kunci privat. Selama pemfaktoran bilangan besar menjadi
faktor-faktor prima belum ditemukan algoritma yang efisien, maka selama itu
pula keamanan algoritma RSA tetap terjamin. Besaran-besaran yang digunakan pada
Algoritma RSA:
1.
p dan
q bilangan prima (rahasia)
2.
n = p . q
(tidak rahasia)
3.
ᶲ(n) = (p–
1) (q-1) (rahasia)
4.
e (kunci
enkripsi) (tidak rahasia)
5.
d (kunci
dekripsi) ( rahasia)
6.
m
(plainteks) (rahasia)
7.
c
(cipherteks) (tidak rahasia)
Algoritma PGP (Pretty Good Privacy)
Pretty good
privacy (PGP) adalah fenomena yang luar biasa. Program ini di temukan oleh
Philip Zimmermann. PGP menyediakan fasilitas pengecekan dan autentifikasi yang
dapat digunakan dalam surat elektronik dan aplikasi penyimpanan file. Hal-hal
yang dilakukan oleh Zimmermann adalah sebagai berikut:
1. Memilih algoritma-algoritma encripsi terbaik
2. Menggabungkan algoritma-algoritma tersebut menjadi
suatu aplikasi yang independen dari sistem operasi dan prosesor.
3. Membuat package dan dokumentasinya, termasuk source
code, tersedia via internet.
4. Membuat perjanjian dengam perussahaan (Viacrypt) untuk
mendukung versi comersial yang murah dan fully compatible.
Digital
signature dalam PGP menggunakan DSS atau RSA untuk mengenkripsi pesan dengan
private key pengirim dan hash code pesan dibuat dengan SHA-1. Untuk enkripsi
pesan menggunakann CAST-123 atau IDEA atau Three-key Triple DES ataupun dengan
menggunakan RSA juga. Pesan dapat terlebih dahulu dikompresi untuk penimpann
atau peniriman dengan menggunakan ZIP. Hasil enkripsi ditampilkan dalam string
ASCII dengan menggunakan pengkonversian radix 64. Untuk mengakomodasikan batas
ukuran maksimum pesan, PGP melakukan segmentasi dan penyusunan ulang. Seperti
yang disebutkan di atas. PGP menggunakan sistem managemen kunci. Dalam
dokumentasi, PGP sering menggunakan kunci rahasia, yaitu pasangan kunci
public-key dan private-key dalam enkripsinya. PGP dalam operasinya menyangkut
lima proses: autentifikasi, pengerahasiaan, kompresi, e-mail compatibility, dan
segmentasi.
Referensi :
·
IMPLEMENTASI-ENKRIPSI-DATA-BERBASIS-ALGORITMA-DES.pdf
Tidak ada komentar:
Posting Komentar