DES merupakan block cipher yang banyak digunakan di dunia. DES menengkrip data dalam blok berukuran 64-bit. Dengan ukuran kunci sebesar 56 bit. Biasanya berukuran 64 bit dengan delapan pariti untuk pengecekan dan diabaikan). Menghasilkan output cipher text berukuran 64 bit. DES menggunakan algoritma yang simetrik. Algoritma dan kunci yang sama digunakan dalam mengenkripsi dan mendekripsi.
Implementasi Algoritma DES :
a. Implementasi modul permutasi awal
Modul verilog permutasi awal berfungsi untuk melakukan pengacakan posisi bit plainteks yang berjumlah 64 bit. Posisi bit diacak berdasarkan matriks permutasi awal. Lalu setelah diacak dengan matriks permutasi awal menghasilkan keluaran berupa 32 bit bagian kiri (L0) dan 32 bit yang merupakan bit ke-33 sampai bit ke-64 dan bagian kanan (R0) bit ke-1 sampai bit ke-32. Operasi pengacakan dengan matriks permutasi awal diatas jika sinyal chip_select_bar bernilai “0”.
b. Implementasi modul permbangkitan kunci internal
Pada modul pembangkitan kunci internal ini mengubah kunci eksternal sepanjang 64-bit menjadi kunci internal yang berjumlah 16 buah yang akan digunakan pada tiap operasi jaringan Feistel yang berjumlah 16 putaran. Operasi terhadap kunci eksternal ini dengan melakukan permutasi dengan matriks permutasi kompresi PC-1. Setelah itu keluaran dari permutasi PC-1 dibagi dua yang akan menjadi masukan matriks PC-2 setelah dilakukan penggeseran kiri 1 bit atau 2 bit sesuai putaran yang dijelaskan pada proses pembangkitan kunci internal.
c. Implementasi modul enciphering
Modul enciphering ini berisi proses yang terjadi pada proses enciphering yang sudah dijelaskan pada sub bab 3.1.5 tentang operasi enciphering. Berupa komputasi fungsi f yang berupa fungsi ekspansi yang memperluas blok Ri-1. Lalu hasilnya di-XOR-kan dengan Ki yang didapatkan dari modul pembangkitan kunci internal. Setelah itu pemrosesan dengan 8 kotak-S yang kemudian keluarannya dipermutasi kembali dengan matriks permutasi P (P-box).
d. Implementasi modul permutasi akhir
Masukan pada operasi permutasi hasil keluaran proses enciphering yang posisinya sudah sesuai 32-bit kanan dan 32bit kiri dengan matriks permutasi awal balikan.Menghasilkan keluaran berupa cipherteks sepanjang 64-bit.
e. Implementasi modul enkripsi
Modul yang menggabungkan seluruh proses enkripsi dari permutasi awal, pembangkitan kunci internal, 16 putaran proses enciphering hingga permutasi dengan matriks permutasi awal balikan digabungkan dalam satu modul untuk menyelaraskan semua operasi menjadi kesatuan proses enkripsi. Dimana masukannya berupa 64-bit plainteks dan 64bit cipherteks sebagai keluaran.
f. Implementasi modul Dekripsi
Modul yang menggabungkan seluruh proses dekripsi dari permutasi awal, pembangkitan kunci internal, 16 putaran proses deciphering hingga permutasi dengan matriks permutasi awal balikan digabungkan dalam satu modul untuk menyelaraskan semua operasi menjadi kesatuan proses dekripsi.
2. RSA
RSA dikeluarkan oleh tiga orang kriptologi, Ron Rivest, Adi Shamir, dan Len Adleman di MIT. Nama RSA diambil dari nama tiga orang tersebut (Rivet-Shamir-Adleman). RSA dikembangkan pada tahun 1977 dan diterbitkan pada tahun 1978. sejak itu RSA mendapat kejayaan sebagai enkripsi dengan pendekatan public-key yang paling diterima dan banyak diimplementasikan. RSA merupakan block cipher, dimana sebuah plaintext dan ciphertext merupakan integer antara 0 dan n-1. Dimana n biasanya bernilai 1024 bit atau 309 dalam desimal.
Implementasi RSA : Tahapan Umum Perangkat Lunak Sistem Kriptografi RSA Simulasi yang dibuat dalam algoritma kriptografi kunci publik RSA ini meliputi dua bagian besar, yaitu :
1. Tahap pembangkitan kunci
2. Tahap enkripsi dan dekripsi Berikut inai akan dijelaskan masing-masing tahapan sistem kriptografi diatas.
a. Tahap Pembangkitan Kunci Untuk pembangkitan kunci, pertama dicari dua buah bilangan prima yang berbeda, yaitu p dan q yang digunakan untuk mencari n dan teta(n), kemudian digunakan fungsi fluclidean, fungsi ini digunakan untuk memperoleh pasangan kunci privat dan kunci publik, melalui proses pengulangan sampai kondisi yang diinginkan terpenuhi. Pada algoritma ini, kunci privat yang digunakan adalah d. Nilai d didapatkan dari nilai fungsi random yang lebih besar dari I dan lebih kecil dai teta(n) , dan d adalah bilangan prima yang relatif prima terhadap teta(n) dimana teta(n) adalah hasil perkalian dua bilangan relatif prima p-1 dan q-1. Perhitungan kunci publik didapat dari fungsi invers d yang di-modulo oleh teta(n).
b. Pada prosedur dekripsi ini, setelah menerima pesan, pasangan kunci privat yang sebelumnya telah dibuat , digunakan. pembacaan terhadap file chipertext tersebut dilakukan dengan prosedur blockread,, dengan algoritma dekripsi RSA, suatu chipertext akan diolah kembali dengan menggunakan kunci privat yaitu d, menjadi nilai ordinal (desimal) dari blok-pesan. Selanjutnya proses dekripsi merupakan kebalikan dari proses enkripsi, dimana setiap dua blok-pesan berurutan diproses. Selanjutnya nilai ordinal tersebut akan diubah menjadi karakter dengan menggunakan fungsi chr yang ada pada bahasa pemrograman. Demikian seterusnya setiap blok-pesan dikembalikan, yang akhirnya dituliskan kembali pada suatu file baru.
3. PGP
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.
Implementasi PGP :
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.
Sumber :
https://media.neliti.com/media/publications/169194-ID-perancangan-dan-implementasi-algoritma-d.pdf
http://informatika.stei.itb.ac.id/~rinaldi.munir/Matdis/2006-2007/Makalah/Makalah0607-92.pdf
https://media.neliti.com/media/publications/90787-ID-analisis-dan-implementasi-algoritma-krip.pdf
Tidak ada komentar:
Posting Komentar