Selasa, 17 Oktober 2017

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 :