algoritma-algoritma kriptografiilmusisteminfo.com/upload/file_pdf/kriptografi... · aes (advanced...
Post on 05-Feb-2020
40 Views
Preview:
TRANSCRIPT
Algoritma-Algoritma Kriptografi
Aini Latifah, Christiana Natalia Corputty, Fira Apriliana Juwari, I Ketut Gerry
Putra Hartawan, Sherina Avianita
Undergraduated Student, Airlangga University
Mulyosari, Surabaya, Indonesia
Abstract.
Seiring berkembangnya teknologi, kini pertukaran informasi ataupun data menjadi
lebih mudah, namun meski demikian, pertukaran informasi ataupun data juga rentan terhadap
serangan, untuk itulah perlu dilakukan tindakan-tindakan pengamanan terhadap kerahasiaan
informasi yang dipertukarkan. Sehingga diperlukan adanya teknik pengamanan informasi
yaitu kriptografi. Kriptografi bertujuan untuk menjaga kerahasiaan informasi yang
terkandung dalam data, sehingga informasi tersebut tidak dapat diketahui oleh pihak yang
tidak diinginkan. Dengan kriptografi plaintext akan ditransformasikan menjadi ciphertext.
Ada beberapa algoritma kriptografi seperti AES (Advanced Encryption Standard), IDEA
(International Data Encryption Algorithm), RSA (Rivest, Shamir, Adleman), Knapsack
Merkle-Hellman (MH), A5, RC4, PGP (Pretty Good Privacy), Digital Signature, Digital
Certificate, dan MD5
Keyword : Kriptografi, Algoritma, enkripsi, dekripsi, plaintext, ciphertext
LATAR BELAKANG
Saat ini, teknologi semakin berkembang dengan pesat. Teknologi merupakan suatu
hal yang akan terus berkembang seiring berjalannya waktu. Teknologi internet yang ada saat
ini semakin mampu untuk memecahkan dan memberikan kemudahan dalam kebutuhan
sehari-hari. Berkat perkembangan teknologi yang begitu pesat memungkinkan manusia dapat
berkomunikasi dan saling bertukar informasi atau data secara jarak jauh. Namun, hal ini
menyebabkan pertukaran informasi atau data yang dilakukan rentan akan serangan, seiring
dengan itu tuntutan akan sekuritas (keamanan) terhadap kerahasiaan informasi yang saling
dipertukarkan tersebut semakin meningkat.
Bagi pengguna internet individu maupun perusahaan tentu tidak ingin data yang
dimilikinya diketahui oleh orang lain yang seharusnya tidak memiliki hak untuk melihat
maupun mempergunakan data tersebut. Oleh karena itu, muncullah sebuah teknologi
keamanan yang disbeut dengan kriptografi.
Kriptografi (cryptography) merupakan ilmu dan seni penyimpanan pesan, data, atau
informasi secara aman. Kriptografi (Cryptography) berasal dari bahasa Yunani yaitu dari kata
Crypto dan Graphia yang berarti penulisan rahasia. Kriptografi adalah suatu ilmu yang
mempelajari penulisan secara rahasia. Kriptografi merupakan bagian dari suatu cabang ilmu
matematika yang disebut Cryptology. Kriptografi bertujuan menjaga kerahasiaan informasi
yang terkandung dalam data sehingga informasi tersebut tidak dapat diketahui oleh pihak
yang tidak sah. Dalam menjaga kerahasiaan data, kriptografi mentransformasikan data jelas
(plaintext) ke dalam bentuk data sandi (ciphertext) yang tidak dapat dikenali. Ciphertext
inilah yang kemudian dikirimkan oleh pengirim (sender) kepada penerima (receiver). Setelah
sampai di penerima, ciphertext tersebut ditranformasikan kembali ke dalam bentuk plaintext
agar dapat dikenali.
Kriptografi memiliki berbagai jenis algoritma yang dapat digunakan untuk
mengamankan data atau informasi dari pengguna. Dari latar belakang diatas maka dalam
laporan ini penulis memfokuskan pembahasan pada jenis-jenis kriptografi yang dapat
digunakan untuk mengamankan data.
PEMBAHASAN
1. Enkripsi Algoritma AES (Advanced Encryption Standard)
Advanced Encryption Standard (AES) merupakan algoritma cryptographic yang dapat
digunakan untuk mengamakan data. Algoritma AES adalah blok chipertext simetrik yang
dapat mengenkripsi (encipher) dan dekripsi (decipher) informasi. Enkripsi merubah data
yang tidak dapat lagi dibaca disebut ciphertext; sebaliknya dekripsi adalah
merubah ciphertext data menjadi bentuk semula yang kita kenal sebagai plaintext. Algoritma
AES is mengunkan kunci kriptografi 128, 192, dan 256 bits untuk mengenkrip dan dekrip
data pada blok 128 bits.
AES (Advanced Encryption Standard) adalah lanjutan dari algoritma enkripsi standar
DES (Data Encryption Standard) yang masa berlakunya dianggap telah usai karena faktor
keamanan. Kecepatan komputer yang sangat pesat dianggap sangat membahayakan DES,
sehingga pada tanggal 2 Maret tahun 2001 ditetapkanlah algoritma baru Rijndael sebagai
AES. Kriteria pemilihan AES didasarkan pada 3 kriteria utama yaitu: keamanan, harga, dan
karakteristik algoritma beserta implementasinya. Keamanan merupakan faktor terpenting
dalam evaluasi (minimal seaman triple DES), yang meliputi ketahanan terhadap semua
analisis sandi yang telah diketahui dan diharapkan dapat menghadapi analisis sandi yang
belum diketahui. Di samping itu, AES juga harus dapat digunakan secara bebas tanpa harus
membayar royalti, dan juga murah untuk diimplementasikan pada smart card yang memiliki
ukuran memori kecil. AES juga harus efisien dan cepat (minimal secepat Triple DES)
dijalankan dalam berbagai mesin 8 bit hingga 64 bit, dan berbagai perangkat lunak. DES
menggunakan stuktur Feistel yang memiliki kelebihan bahwa struktur enkripsi dan
dekripsinya sama, meskipun menggunakan fungsi F yang tidak invertibel. Kelemahan Feistel
yang utama adalah bahwa pada setiap ronde, hanya setengah data yang diolah. Sedangkan
AES menggunakan struktur SPN (Substitution Permutation Network) yang memiliki derajat
paralelisme yang lebih besar, sehingga diharapkan lebih cepat dari pada Feistel.
Kelemahan SPN pada umumnya (termasuk pada Rijndael) adalah berbedanya struktur
enkripsi dan dekripsi sehingga diperlukan dua algoritma yang berbeda untuk enkripsi dan
dekripsi. Dan tentu pula tingkat keamanan enkripsi dan dekripsinya menjadi berbeda. AES
memiliki blok masukan dan keluaran serta kunci 128 bit. Untuk tingkat keamanan yang lebih
tinggi, AES dapat menggunakan kunci 192 dan 256 bit. Setiap masukan 128 bit plaintext
dimasukkan ke dalam state yang berbentuk bujursangkar berukuran 4×4 byte. State ini di-
XOR dengan key dan selanjutnya diolah 10 kali dengan subtitusi-transformasi linear-Addkey.
Dan di akhir diperoleh ciphertext.
Berikut ini adalah operasi Rijndael (AES) yang menggunakan 128 bit kunci:
1. Ekspansi kunci utama (dari 128 bit menjadi 1408 bit);
2. Pencampuran subkey;
3. Ulang dari i=1 sampai i=10 Transformasi : ByteSub (subtitusi
perbyte) ShiftRow (Pergeseren byte perbaris) MixColumn (Operasi perkalian
GF(2) per kolom);
4. Pencampuran subkey (dengan XOR);
5. Transformasi : ByteSub dan ShiftRow;
6. Pencampuran subkey.
1.1 Metode Algoritma AES
Algoritma kriptografi bernama Rijndael yang didesain oleh oleh Vincent Rijmen
dan John Daemen asal Belgia keluar sebagai pemenang kontes algoritma kriptografi
pengganti DES yang diadakan oleh NIST (National Institutes of Standards and
Technology) milik pemerintah Amerika Serikat pada 26 November 2001. Algoritma
Rijndael inilah yang kemudian dikenal dengan Advanced Encryption Standard (AES).
Setelah mengalami beberapa proses standardisasi oleh NIST, Rijndael kemudian
diadopsi menjadi standard algoritma kriptografi secara resmi pada 22 Mei 2002. Pada
2006, AES merupakan salah satu algoritma terpopuler yang digunakan dalam
kriptografi kunci simetrik. AES ini merupakan algoritma block cipher dengan
menggunakan sistem permutasi dan substitusi (P-Box dan S-Box) bukan dengan
jaringan Feistel sebagaiman block cipher pada umumnya. Jenis AES terbagi 3, yaitu:
1. AES-128;
2. AES-192;
3. AES-256.
Pengelompokkan jenis AES ini adalah berdasarkan panjang kunci yang digunakan.
Angka-angka di belakang kata AES menggambarkan panjang kunci yang digunakan
pada tiap-tiap AES. Selain itu, hal yang membedakan dari masing-masing AES ini
adalah banyaknyaround yang dipakai. AES-128 menggunakan 10 round, AES-192
sebanyak 12 round, dan AES-256 sebanyak 14 round. Secara umum metode yang
digunakan dalam pemrosesan enkripsi dalam algoritma ini dapat dilihat melalui
Gambar 1.
Gambar 1: Diagram AES
1.1.1 Add Round Key
Add Round Key pada dasarnya adalah mengkombinasikan chiper teks yang
sudah ada dengan chiper key yang chiper key dengan hubungan XOR. Bagannya bisa
dilihat pada Gambar 2.
Gambar 2: Add Round Key
1.1.2 Sub Bytes
Prinsip dari Sub Bytes adalah menukar isi matriks/tabel yang ada dengan
matriks/tabel lain yang disebut dengan Rijndael S-Box. Di bawah ini adalah
contoh Sub Bytes dan Rijndael S-Box.
Gambar 3: Rijndael S-Box
Gambar 4: Ilustrasi Sub Bytes
Gambar 4 adalah contoh dari Rijndael S-Box, di sana terdapat nomor kolom
dan nomor baris. Seperti yang telah disebutkan sebelumnya, tiap isi kotak dari blok
chiper berisi informasi dalam bentuk heksadesimal yang terdiri dari dua digit, bisa
angka-angka, angka-huruf, ataupun huruf-angka yang semuanya tercantum dalam
Rijndael S-Box. Langkahnya adalah mengambil salah satu isi kotak matriks,
mencocokkannya dengan digit kiri sebagai baris dan digit kanan sebagai kolom.
Kemudian dengan mengetahui kolom dan baris, kita dapat mengambil sebuah isi tabel
dari Rijndael S-Box. Langkah terakhir adalah mengubah keseluruhan blok chiper
menjadi blok yang baru yang isinya adalah hasil penukaran semua isi blok dengan isi
langkah yang disebutkan sebelumnya.
1.1.3 Shift Rows
Shift Rows seperti namanya adalah sebuah proses yang melakukan shift atau
pergeseran pada setiap elemen blok/tabel yang dilakukan per barisnya. Yaitu baris
pertama tidak dilakukan pergeseran, baris kedua dilakukan pergeseran 1 byte, baris
ketiga dilakukan pergeseran 2 byte, dan baris keempat dilakukan pergeseran 3 byte.
Pergeseran tersebut terlihat dalam sebuah blok adalah sebuah pergeseran tiap elemen
ke kiri tergantung berapa byte tergesernya, tiap pergeseran 1 byte berarti bergeser ke
kiri sebanyak satu kali. Ilustrasi dari Tahap ini diperlihatkan oleh gambar di bawah
ini.
Gambar 5: Ilustrasi dari Shift Row
1.1.4 Mix Columns
Yang terjadi saat Mix Column adalah mengalikan tiap elemen dari blok chiper
dengan matriks yang ditunjukkan oleh Gambar 6. Tabel sudah ditentukan dan siap
pakai. Pengalian dilakukan seperti perkalian matriks biasa yaitu menggunakan dot
product lalu perkalian keduanya dimasukkan ke dalam sebuah blok chiper baru.
Ilustrasi dalam gambar 7 akan menjelaskan mengenai bagaimana perkalian ini
seharusnya dilakukan. Dengan begitu seluruh rangkaian proses yang terjadi pada AES
telah dijelaskan dan selanjutnya adalah menerangkan mengenai penggunaan tiap-tiap
proses tersebut.
Gambar 6: Tabel untuk Mix Column
Gambar 7: Ilustrasi Mix Column
Gambar 8: Ilustrasi Ronde 2 hingga Ronde 6
Gambar 9: Ilustrasi Rone 7 hingga Ronde 10
1.2 Implementasi Advanced Encryption Standard
Salah satu contoh penggunaan lain adalah pada perangkat
lunak DiskCryptor yang kegunaannya adalah mengenkripsi keseluruhan isi
disk/partisi pada sebuah komputer. Metode enkripsi yang ditawarkan adalah
menggunakan AES-256, Twofish, atau Serpent.
2. Enkripsi Algoritma IDEA (International Data Encryption Algorithm)
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. Algoritma ini melakukan iterasi yang terdiri dari atas 8
putaran dan I transformasi keluaran pada putaran ke 9. 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
2.1 Proses Enkripsi IDEA
Pada proses enkripsi, algoritma IDEA ini ditunjukkan oleh gambar di atas, terdapat
tiga operasi yang berbeda untuk pasangan sub-blok 16-bit yang digunakan, sebagai berikut :
· XOR dua sub-blok 16-bit bir per bit
· 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, dimana kedua sub-blok 16-bit itu
dianggap sebagai representasi biner dari integer biasa kecuali sub-blok nol dianggap
mewakili integer 216
Blok pesan terbuka dengan lebar 64-bit , X, dibagi menjadi 4 sub-blok 16-bit, X1, X2,
X3, X4, sehingga X = (X1, X2, X3, X4). Keempat sub-blok 16-bit itu ditransformasikan
menjadi sub-blok 16-bit, Y2, Y2, Y3, Y4, sebagai pesan rahasia 64-bit Y = (Y1, Y2, Y3, Y4)
yang berada dibawah kendali 52 sub_blok kunci 16-bit yang dibentuk dari dari blok kunci
128 bit.
Keempat sub-blok 16-bit, X1, X2, X3, X4, digunakan sebagai masukn untuk putaran
pertama dari algoritma IDEA. 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.
3. RSA (Rivest, Shamir, Adleman)
RSA adalah salah satu teknik kriptografi dimana kunci untuk melakukan enkripsi
berbeda dengan kunci untuk melakukan dekripsi. Kunci untuk melakukan enkripsi disebut
sebagai kunci publik, sedangkan kunci untuk melakukan dekripsi disebut sebagai kunci
privat. (Rahajoeningroem, 2015). Algoritma RSA dibuat oleh tiga orang peneliti dari MIT
(Massachussets Institute of Technology) pada tahun 1976, yaitu Ron Rivest, Adi Shamir dan
Leonard Adleman. Metode RSA termasuk ke dalam jenis algoritma asimetris. Dimana
algoritma asimetris menggunakan dua kunci yang berbeda untuk proses enkripsi dan
dekripsinya.
Skema RSA sendiri mengadopsi dari skema block cipher, dimana sebelum dilakukan
enkripsi, plainteks yang ada dibagi menjadi blok – blok dengan panjang yang sama, dimana
plainteks dan cipherteksnya berupa integer(bilangan bulat) antara 1 hingga n, dimana n
berukuran biasanya sebesar 1024 bit, dan panjang bloknya sendiri berukuran lebih kecil atau
sama dengan log(n) +1 dengan basis 2. Fungsi enkripsi dan dekripsinya dijabarkan dalam
fungsi berikut :
C = Me mod n ( fungsi enkripsi )
M = Cd mod n (fungsi dekripsi), Dengan keterangan :
C = Cipherteks
M = Message / Plainteks
e = kunci publik
d= kunci privat
n = modulo pembagi, Syarat nilai e dan d ini, gcd(d,e)=1 atau FPB(d,e)=1. Berikut
adalah contoh perhitungan dengan algoritma RSA :
1. Pilih 2 bilangan prima, misalnya p = 17 dan q = 11.
2. Hitung n = pq = 17 × 11 = 187.
3. Hitung Φ(n) = (p – 1)(q – 1) = 16 × 10 = 160.
4. Pilih nilai e sedemikian sehingga relatif prima terhadap Φ(n) = 160 dan kurang
dari Φ(n); kita pilih e = 7.
5. Hitung d sedemikian sehingga de ≡ 1 (mod 160) dan d < 160. Nilai yang
didapatkan d = 23, karena 23 × 7 = 161 = (1 × 160) + 1; d dapat dihitung dengan
Extended Euclidean Algorithm.
Sehingga, nilai e dan d yang akan ditetapkan sebagai Public Key(e) dan Private
Key(d). Pasangan Kunci Publiknya ={7,187} dan Kunci Privatnya = {23, 187}
Kemudian kita aplikasikan dalam proses enkripsi.
Misalnya kita mempunyai M 88. Untuk proses enkripsi, kita akan menghitung C =
887 mod 187.
= 887 mod 187.
=894,432 mod 187
=11, didapatkan nilai C =11.
Selanjutnya, nilai C ini dikirimkan kepada penerima untuk didekripsi dengan kunci
privat miliknya.
M = Cd mod n
= 1123
mod 187
=79,720,245 mod187
= 88
4. Knapsack Merkle-Hellman (MH)
Knapsack Merkle-Hellman merupakan kriptosistem, dimana kriptosistem adalah
fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya , Knapsack Merkle-
Hellman menggunakan algoritma asimetries. Kelebihan algoritma asimetries ini adalah
proses pendistribusian kunci pada media yang tidak aman seperti internet, tidak memerlukan
kerahasiaan. Karena kunci yang didistribusikan adalah kunci publik. Sehingga jika kunci ini
sampai hilang atau diketahui oleh orang lain yang tidak berhak, maka pesan sandi yang
dikirim akan tetap aman. Sedangkan kunci private (rahasia) tetap disimpan (tidak
didistribusikan). Dengan menggunakan Merkle-Hellman Knapsack dapat menggunakan
ukuran kunci yang lebih kecil dibandingkan dengan kriptosistem seperti RSA. Kemampuan
ini membuat Merkle-Hellman Knapsack mempunyai keamanan yang kuat dengan panjang
kunci yang pendek.
Algoritma Merkle - Hellman Knapsack :
Contoh Inplementasi Merkle - Hellman Knapsack
Jadi Merkle Hellman Knapsack punya kelebihan lain pada efisiensi jumlah kunci
publik. Jika terdapat n user, maka hanya membutuhkan 1 (satu) kunci publik, sehingga untuk
jumlah user yang sangat banyak, sistem ini sangat efisien.
5. A5
A5/1 cipher adalah stream cipher yang digunakan untuk mengamankan komunikasi
privasi lewat udara pada telepon seluler GSM standar. Teknologi GSM memanfaatkan
gelombang mikro dan pengiriman sinyal yang dibagi berdasarkan waktu (time slot), sehingga
sinyal informasi yang dikirim akan sampai di tujuan. GSM dijadikan standar global untuk
komunikasi seluler sekaligus sebagai teknologi seluler yang paling banyak digunakan di
seluruh dunia.
A5/1 Cipher digunakan sebagai sistem keamanan ketika MS (Mobile Seluler) dengan
BTS (Base Transceiver Station) melakukan pertukaran data yang berbentuk biner. OTP (One
Time Pad) adalah dasar operasi yang digunakan pada A5/1 Cipher dengan cara meng-XOR
kan keystream dengan plaintext jika ingin membuat ciphertext (enkripsi) atau meng-XOR
kan keystream dengan ciphertext jika ingin mengetahui plaintext (dekripsi). Untuk
mendapatkan keystream, A5/1 Cipher menggunakan metode LFSR (Linear Feedback Shift
Register). A5/1 Cipher menggunakan tiga register dengan masing-masing memiliki panjang
bit, clock serta tap bit.
6. RC4
Algoritma RC4 adalah algoritma kriptografi simetrik. Disebut algoritma kriptografi
simetrik karena menggunakan kunci yang sama untuk mengenkripsi ataupun mendekripsi
suatu pesan, data, ataupun informasi. Kunci enkripsi didapat dari sebuat 256 bit state-
arrayyang diinisialisasi dengan sebuah key tersendiri dengan panjang 1-256 bit. Setelah itu,
state-array tersebut akan diacak kembali dan diproses untuk menghasilkan sebuah kunci
enkripsi yang akan di-XOR-kan dengan plainteks ataupun cipherteks. Secara umum,
algoritma RC4 terbagi menjadi dua, inisalisasi state-array dan penghasilan kunci enkripsi
serta pengenkripsiannya.Kinerja RC4 sebagai metode enkripsi tergolong sangat cepat. Selain
cepat, waktu RC4 tidak terpengaruh dengan panjang keylength yang dipakai. Berikut adalah
perbandingan waktu yang digunakan untuk enkripsi dari berbagai metode.
1. RC4 adalah sebuah stream cipher yang sinkron yang dapat dijalankan dengan
panjang kunci variabel dan mengenkripsi suatu plainteks secara digit per digit
dengan kunci simetris
2. RC4 merupakan metode enkripsi tercepat dibandingkan dengan DES, Triple DES,
Blowfish-256, AES-128, dan AES-256.
3. RC4 memiliki banyak kelemahan antara lain, tingginya peluang untuk
menghasilkan array S yang sama ataupun berulang dan Bit-Flipping Attack. Akan
tetapi bisa diatasi dengan memperbanyak bit kunci, mengubah cara pengisian K-
array, menggunakan IV dalam setiap kunci, serta mengacak plainteks sebelum
dienkripsi untuk mencegah terjadinya bit-flipping attack.
7. PGP (Pretty Good Privacy)
Pretty Good Privacy menggunakan kriptografi kunci simetri dan kriptografi kunci
publik. Oleh karena itu, PGP mempunyai dua tingkatan kunci, yatu kunci rahasia (simetri) –
yang disebut juga session key-untuk enkripsi data dan pasangan kunci privat-kunci publik
untuk pemberian tanda tangan digital serta melindungi kunci simetri. Kunci simetri hanya
dipakai sekali (one-time) dan dibuat secara otomatis dari gerakan mouse atau ketikan tombol
keyboard
7.1. Cara Kerja PGP
PGP adalah salah satu perangkat lunak yang pertama kali tersedia untuk
mengimplementasikan cryptography kunci publik. Ini adalah sebuah cryptosystem hybrid
yang menggunakan kedua enkripsi simetris dan asimetris untuk mencapai
tingkat keamanan yang tinggi.
Dalam proses dasar dari enkripsi teks, sebuah plaintext (data yang dapat secara jelas
dimengerti) dikonversikan ke ciphertext (data yang tidak dapat dibaca). Akan tetapi
sebelum proses enkripsi terjadi, kebanyakan sistem PGP melakukan kompresi data.
Dengan mengkompresi file plaintext sebelum mentransmisi mereka, PGP menghemat
ruang disk dan waktu transmisi - sekaligus meningkatkan keamanan.
Setelah kompresi file, proses enkripsi sesungguhnya akan dimulai. Pada tahap ini, file
plaintext yang dikompresi akan di enkripsi dengan sebuah kunci sekali-pakai, yang
dikenal sebagai kunci sesi. Kunci ini secara acak dibuat melalui cryptography simetris,
dan setiap sesi komunikasi PGP memiliki sebuah kunci sesi yang berbeda.
Selanjutnya, kunci sesi tersebut di enkripsi menggunakan enkripsi asimetris: penerima
(Bob) menyediakan kunci publiknya kepada pengirim pesan (Alice) sehingga ia dapat
mengenkripsi kunci sesi. Langkah ini mengizinkan Alice untuk secara aman membagikan
kunci sesi kepada Bob melalui internet, tanpa harus memperhatikan kondisi keamanan.
Enkripsi asimetris dari kunci sesi biasanya dilakukan melalui penggunaan algoritma
RSA. Banyak sistem enkripsi lainnya yang juga menggunakan RSA, termasuk protokol
Transport Layer Security (TLS) yang mengamankan banyak bagian di internet.
Setelah pesan ciphertext dan kunci sesi yang sudah dienkripsi ditransmisikan, Bob
dapat menggunakan kunci pribadinya untuk mendekripsi kunci sesi, yang akan digunakan
untuk mendekripsi ciphertext kembali ke plaintext orisinil.
Disamping dari proses dasar enkripsi dan dekripsi, PGP juga mendukung tanda tangan
digital - yang memiliki setidaknya tiga fungsi:
1. Otentikasi: Bob dapat memverifikasi bahwa pengirim pesan adalah Alice.
2. Integritas: Bob dapat yakin bahwa pesan tidak diubah.
3. Tidak ada penolakan: Setelah pesan ditanda-tangani secara digital, Alice tidak
dapat mengaku bahwa ia tidak mengirimnya.
7.2 Algoritma pada PGP
Algoritma yang digunakan pada PGP, antara lain algoritma Cipher Feedback (CFB),
RSA, dan SHA-1 Ketiga algoritma tersebut merupakan algoritma yang biasa digunakan
pada enkripsi dengan menggunakan PGP.
7.3 Cipher Feedback (CFB)
Enkripsi yang dilakukan dengan algoritma Cipher Feedback (CFB) tidak dapat
diterapkan jika blok plainteks yang diterima belum lengkap. Pada mode CFB ini, data
dienkripsikan menjadi unit yang lebih kecil daripada ukuran blok. Unit yang dienkripsikan
dapat berupa bit per bit seperti cipher aliran atau beberapa bit. Jika unit yang dienkripsikan
satu karakter dalam setiap kali operasinya maka mode CFB disebut CFB 8-bit. Secara
umum, CFB n-bit mengenkripsi plainteks sebanyak n bit setiap kali operasinya, di mana n
m (m=ukuran blok). Dengan kata lain, CFB mengenkripsikan cipher blok seperti pada
cipher aliran. Mode CFB membutuhkan sebuah antrian (queue) yang berukuran sama
dengan blok masukan.
Enkripsi pada mode CFB:
,
Gambar 16 Skema Enkripsi CFB
Dekripsi pada mode CFB:
,
Gambar 17 Skema Dekripsi CFB
7.4 RSA
Algoritma RSA dibuat oleh 3 orang peneliti dari MIT (Massachussets Institute of
Technology) pada tahun 1976, yaitu Ron Rivest, Adi Shamir, dan Leonard Adleman.
Keamanan algoritma RSA terletak pada sulitnya memaktorkan 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 mangkus, maka selama itu pula keamanan RSA tetap terjamin.
Algoritma enkripsi RSA:
1. Ambil kunci publik penerima pesan, e, dan modulus n.
2. Nyatakan plainteks m menjadi blok-blok m1, m2, ..., sedemikian sehingga setiap
blok merepresentasikan nilai dalam selang [0, n-1].
3. Setiap blok m, dienkripsi menjadi blok ci dengan rumus ci=mie mod n. Algoritma
dekripsi RSA:
4. Setiap blok cipherteks ci didekripsi kembali menjadi mi dengan rumus mi=cid
mod n.
5. Kemudian setiap blok mi digabungkan kembali untuk mendapatkan plainteks m
semula.
7.4 SHA-1
SHA-1 menerima masukan berupa pesan dengan ukuran maksimum 264
bit dan
menghasilkan message digest yang panjangnya 160 bit, lebih panjang dari message
digest yang dihasilkan oleh MD5 yang hanya 128 bit.
8. Digital Signature
Digital signature adalah mekanisme otentikasi yang memungkinkan pembuat pesan
dapat melampirkan sebuah kode yang bertindak sebagai tanda tangan. Tanda tangan digital
dibuat dengan menggunakan fungsi hash pada pesan, lalu mengenkripsi hash tersebut dengan
private key pembuat. Tanda tangan tersebut menjamin sumber dan integritas pesan .
8.1 Cara Kerja Digital Signature
Untuk proses tanda tangan , pesan terlebih dahulu dienkripsi dengan kriptografi fungsi
hash dan kemudian hasil dari fungsi hash tersebut dienkripsi dengan private key user
pengirim. Setelah itu pesan dan tanda tangan diberikan kepada user penerima. Untuk
proses verifikasi, pesan yang dikirim akan dienkripsi dengan fungsi hash dan untuk tanda
tangan yang diterima akan dienkripsi dengan menggunakan kunci publik user pengirim.
Kemudian hasil dari keduanya dicocokkan, apabila kedua hasil tersebut sama maka tanda
tangan itu sah, jika sebaliknya maka tidak sah. Dalam Digital Signature Standard (DSS),
fungsi hash yang dipakai pada umumnya adalah SHA-1, tetapi berdasarkan standar
Federal Information Processing Standard Publications diumumkan bahwa fungsi hash
SHA-1 pada akhir tahun 2013 tidak akan digunakan, tetapi fungsi hash SHA-2 telah
disetujui pemakaiannya untuk Digital Signature Standard. Output dari fungsi hash SHA-2
diperbolehkan untuk dipotong ukurannya hingga sama seperti ukuran key pair.
8.3 Algoritma Digital Signature
Key generation :
1) Generate dua buah bilangan prima 𝑝 dan 𝑞
2) Hitung 𝑛= 𝑝𝑞 dan ∅(𝑛)=(𝑝−1)(𝑞−1)
3) Pilih sebuah random integer 𝑒,1< 𝑒 < ∅, dimana gcd(𝑒,∅(𝑛))=1
4) Hitung 𝑒.𝑑≡1 (𝑚𝑜𝑑 ∅(𝑛)) dimana 1<𝑑<∅(𝑛)
5) Public key (𝑛,); private key adalah 𝑑
Signature Generation :
1) Hitung 𝑀=(𝑚) dimana 𝑀<𝑛
2) Hitung 𝑠=𝑀𝑑 𝑚𝑜𝑑 𝑛
Verification Generation :
1) Diperoleh public key (𝑛,)
2) 𝑀=𝑠𝑒 𝑚𝑜𝑑 𝑛
3) Verifikasi M € MR jika tidak tolak signing
4) Recovery 𝑚=𝑅−1(𝑀)
9. Digital Certificate
Digital Certificate adalah sebuah password elektronik yang memungkinkan individu
atau organisasi untuk mentransfer data secara aman di dalam internet dengan menggunakan
Public Key Infrastructure (PKI). PKI merupakan teknologi yang mampu memberikan
keamanan komunikasi melalui e-commerce maupun internet sendiri. Digital certificate juga
dikenal sebagai public key certificate atau identity certificate.
Digital Certificate juga dapat dideskripsikan sebagai virtual ID Cards. Digital
Certificate mencakup kunci publik yang disertifikasi, mengidentifikasi informasi tentang
entitas yang memiliki kunci publik, metadata yang berkaitan dengan sertifikat digital,
dan tanda tangan digital kunci publik yang dibuat oleh penerbit sertifikat. Untuk
mendapatkan digital certificate, perusahaan perlu mendaftarkan perusahaan ke website ke
otoritas sertifikat atau Certificate Authority (CA), yang merupakan entitas pihak ketiga
tepercaya terkait masalah sertifikat digital untuk digunakan oleh pihak lain. Setelah
perusahaan tersebut dikonfirmasi memiliki website, maka Certificate Authority akan
menandatangani sertifikat website perusahaan yang telah didaftarkan. Digital Certificate
diperlukan untuk digital signature karena menyediakan public key yang dapat digunakan
untuk memvalidasi kunci pribadi yang terkait dengan digital signature. Digital certificate
memungkinkan digital signature digunakan sebagai cara untuk otentikasi informasi digital.
Digital Certificate merupakan pengaman yang penting pada internet, dikarenakan
banyaknya orang yang menggunakan internet dan bisnis berbasis internet yang kian
meningkat. Internet merupakan sebuah jaringan komunikasi yang terbuka, maka
kemungkinan pengunjung untuk terkena berbagai serangan seperti malware, network attack
semakin besar. Biasanya website yang telah memiliki sertifikat sudah tidak diragukan lagi
dan data yang disampaikan sudah benar.
Dalam kriptografi, Public Key Infrastructure (PKI) adalah sebuah cara untuk
otentikasi, pengamanan data dan perangkat anti sangkal. Secara teknis, PKI adalah
implementasi dari berbagai teknik kriptografi yang bertujuan untuk mengamankan data,
memastikan keaslian data maupun pengirimnya dan mencegah penyangkalan.
Teknik-teknik kriptografi yang digunakan antara lain fungsi hash, algoritma enkripsi
simetrik, dan algoritma enkripsi asimetrik. Fungsi hash akan digunakan bersama dengan
algoritma enkripsi asimetrik dalam bentuk tanda tangan digital untuk memastikan integritas
dan keaslian berita atau data berikut pengirimnya. Algoritma enkripsi simetrik digunakan
untuk mengamankan data dengan cara enkripsi. Dalam PKI penggunaan algoritma enkripsi
simetrik tidak langsung didefinisikan tetapi telah diimplementasikan oleh berbagai perangat
lunak. Secara garis besar PKI diwujudkan dalam bentuk kolaborasi antar komponen-
komponennya.
Komponen-komponen PKI antara lain:
1. Subscriber
2. Certification Authority (CA)
3. Registration Authority (RA)
4. Sertifikat Digital
Secara sederhana, sebuah digital certificate tidak lebih dari file data yang biasanya
berkisar beberapa ratus hingga beberapa ribu byte panjangnya. Di dalam berisi masing-
masing sejumlah field data yang berbeda, sebagian berupa data yang diperlukan dan sebagian
lainnya bersifat opsional atau pilihan. Isi dari sertifikat tersebut bervariasi berdasarkan
identitas pemilik sertifikat, otoritas sertifikat yang diterbitkan sertifikat tersebut, serta versi
sertifikat. Berikut ini adalah field data dalam sebuah sertifikat digital:
1. Serial Number. Nomor seri identifikasinya unik.
2. Issuer Name. Field nama penerbit berisi distinguished name dari CA.
3. Validity Period. Masa berlaku (validitas) sertifikat digital.
4. Subject Name. Nama subject berisi distingueshed name yang mengidentifikasi
pemegang sertifikat digital.
5. Extensions. Extensions memungkinkan pembuat sertifikat untuk menyisipkan data ke
dalam sertifikat yang tidak cocok dengan bidang lain.
6. Public Key. Digunakan untuk memverifikasi tanda tangan yang dihasilkan oleh
pemegang sertifikat.
7. Signature. Tanda tangan digital yang mengidentifikasi pemegang sertifikat.
9.1 Cara Kerja Digital Certificates
9.1.1 Proses Registrasi
Langkah pembuatan sertifikat digital:
9.1.1.1 Sertifikat digital/digital sign diperlukan sebagai identifikasi sebelum
seorang pelanggan dapat melakukan akses/transaksi pada suatu aktifitas
kegiatan berbasis WEB (B2B, B2C, G2C) yang menggunakan
pengamanan dan enkripsi dengan metoda Public Key Infrastructure
(PKI).
9.1.1.2 Setiap orang/pelanggan yang akan berkomunikasi/bertransaksi harus
terlebih dahulu mendaftar (registrasi) untuk memperoleh Identifikasi
dalam bentuk Elektronik Identification Number.
9.1.1.3 Setelah Elektronik Identification Number (E-ID) diterbitkan dan
diterima oleh pelanggan, selanjutnya Elektronik Identification Number
(E-ID) tersebut oleh provider yang bersangkutan akan dikirimkan ke
Certificate Authority Server untuk di registrasikan.
9.1.1.4 Selanjutnya pelanggan melalui komputer yang dimiliki (personal) akan
melakukan koneksi secara on line menggunakan komunikasi yang
khusus/secure (menuju address WEB site yang telah ditentukan) untuk
melalukan verifikasi dengan cara mengirimkan Elektronik Identification
Number (E-ID) yang telah diperoleh sebelumnya, dalam rangka
memperoleh Digital Certificate.
9.1.1.5 Selanjutnya Certificate Authority Server akan melakukan verifikasi
terhadap kebenaran dan keabsahan Elektronik Identification Number (E-
ID) yang telah dikirimkan oleh pelanggan.
9.1.1.6 Jika Elektronik Identification Number (E-ID) tersebut benar dan absah,
maka selanjutnya Certificate Authority Server akan menerbitkan Digital
Certificate, dengan disertai Public Key dan Private Key.
9.1.1.7 Digital Certificate tersebut akan dikirimkan ke pelanggan dengan
menggunakan komunikasi yang khusus/secure untuk selanjutnya Digital
Certificate tersebut diinstall di komputer pelanggan.
9.1.2 Proses pengiriman
9.1.2.1 Sertifikat digital/digital sign diperlukan sebagai identifikasi sebelum
seorang pelanggan dapat melakukan akses/transaksi pada suatu aktifitas
kegiatan berbasis WEB (B2B, B2C, G2C) yang menggunakan
pengamanan dan enkripsi dengan metoda Public Key Infrastructure
(PKI).
9.1.2.2 Setiap orang/pelanggan yang akan berkomunikasi/bertransaksi harus
terlebih dahulu mendaftar (registrasi) untuk memperoleh Identifikasi
dalam bentuk Elektronik Identification Number.
9.1.2.3 Setelah Elektronik Identification Number (E-ID) diterbitkan dan
diterima oleh pelanggan, selanjutnya Elektronik Identification Number
(E-ID) tersebut oleh provider yang bersangkutan akan dikirimkan ke
Certificate Authority Server untuk di registrasikan.
9.1.2.4 Selanjutnya pelanggan melalui komputer yang dimiliki (personal) akan
melakukan koneksi secara on line menggunakan komunikasi yang
khusus/secure (menuju address WEB site yang telah ditentukan) untuk
melalukan verifikasi dengan cara mengirimkan Elektronik Identification
Number (E-ID) yang telah diperoleh sebelumnya, dalam rangka
memperoleh Digital Certificate.
10. MD5
MD5 yang merupakan singkatan dari Message-Digest algorithm 5, adalah fungsi hash
(prosedur terdefinisi atau fungsi matematika yang mengubah variabel dari suatu data yang
berukuran besar menjadi lebih sederhana) kriptografik yang digunakan secara luas dengan
hash value 128-bit. MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk
menggantikan hash function sebelumnya, yaitu MD4 yang berhasil diserang oleh kriptanalis.
Secara garis besar algoritma MD5 terdiri dari beberapa langkah yang dimulai dari
penambahan bit-bit pengganjal yang sering disebut padding bits. Kemudian mengerjakan
proses penambahan nilai panjang pesan semula. Setelah itu melakukan inisialisasi penyangga
(buffer) Message Digest. Terakhir melakukan Pengolahan pesan dalam blok berukuran 512
bit. Proses dikerjakan hingga mendapat hash value yang memiliki panjang 128 bit.
Algoritma MD5 mungkin sedikit lebih lambat dari MD4 dan memiliki desain yang
lebih komprehensif, namun MD5 memiliki tingkat keamanan yang jauh lebih baik dibanding
MD4. MD5 merupakan salah satu algoritma hash function yang paling popular. Algoritma ini
pada dasarnya dirancang untuk tujuan keamanan yang tinggi di mana pesan yang besar harus
“kompresi” dengan cara yang aman sebelum ditandatangani dengan kunci pribadi (Rusdianto
dan Akhmad, 2016).
10.1 Cara Kerja MD5
Untuk menghitung message digest dari sebuah pesan, pada MD5 dilakukan
tiga langkah sebagai berikut :
10.1.1 Penambahan Panjang Bit. Pesan diperpanjang sampai sebesar 448 bit,
dengan modulo 512. artinya jika panjang pesan telah melebihi 448 bit
ini, maka perpanjangan pesan akan dilakukan sampai sebesar 512 +
448 bit, dan begitu seterusnya. Penambahan panjang pesan ini
dilakukan dengan cara sebagai berikut, sebuah bit “1” ditambahkan ke
dalam pesan. Kemudian bit “0” ditambahkan sampai panjang pesan
menjadi 448 bit. Tujuan dari penambahan pesan ini adalah membuat
panjang pesan menjadi (kelipatan) 512 bit, dikurangi 64 bit.
Kekurangan 64 bit ini akan diatasi pada tahap kedua.
10.1.2 Penambahan Panjang Pesan Total. Representasi sebesar 64 bit dari “b”
(panjang pesan awal) ditambahkan ke dalam pesan. Jika representasi
“b” ini ternyata lebih besar dari 64 bit, maka yang akan diambil
hanyalah 64 bit awal (low-order) saja. Panjang pesan total sampai pada
tahap ke-dua ini sebesar (kelipatan dari) 512 bit. Tujuan dari
penambahan ukuran pesan sampai sebesar kelipatan dari 512 bit ini
adalah agar pesan memiliki panjang tepat kelipatan dari 16 word (satu
word memiliki ukuran 32 bit). Pengolahan pesan pada tahap keempat
nanti akan dilakukan untuk setiap blok sebesar 16 word.
10.1.3 Inisialisasi Buffer MD Pada tahap ini digunakan 4 buah register
sebagai buffer untuk perhitungan pesan (A, B, C, dan D). Setiap buffer
ini memiliki ukuran 32 bit. Empat kata buffer yang didefinisikan
dengan A, B, C, D digunakan dalam melakukan komputasi message
digest. Setiap dari A, B, C, D merupakan sebuah data register yang
terdiri dari 32 bit. Total panjang penyangga adalah 128 bit.
KESIMPULAN
Pada penjelasan diatas menjelaskan bahwa Kriptografi (cryptography) merupakan
ilmu dan seni penyimpanan pesan, data, atau informasi secara aman. Kriptografi adalah suatu
ilmu yang mempelajari penulisan secara rahasia. Kriptografi merupakan bagian dari suatu
cabang ilmu matematika yang disebut Cryptology. Kriptografi bertujuan menjaga kerahasiaan
informasi yang terkandung dalam data sehingga informasi tersebut tidak dapat diketahui oleh
pihak yang tidak sah. Kriptografi memiliki berbagai jenis algoritma yang dapat digunakan
untuk mengamankan data atau informasi dari pengguna, misalnya : AES (Advanced
Encryption Standard), IDEA (Internasional Data Encryption Algorithm), RSA (Rivest,
Shamir, Adleman), Knapsack Markle-Hellman (MH), A5, RC4, PGP (Pretty Good Privacy),
Digital Signature, Digital Certificate, dan MD5.
DAFTAR PUSTAKA
Admin. 2019. Digital Certificate. diakses dari https://www.comodo.com/resources/small-
business/digital-certificates.php diakses pada 5 September 2019.
Admin. 2019. Obtain a digital certificate and create a digital signature. diakses dari
https://support.office.com/en-gb/article/obtain-a-digital-certificate-and-create-a-
digital-signature-e3d9d813-3305-4164-a820-2e063d86e512?omkt=en-GB&ui=en-
US&rs=en-GB&ad=GB diakses pada 5 September 2019
Admin. 2019. Digital Certificates. diakses dari https://www.beritabebas.com/definisi/digital-
certificate/ diakses pada 5 September 2019.
Agung, Halim , dan Ferry . 2016. Kriptografi Menggunakan Hybrid Cryptosystem dan
Digital Signature Vol 3 No 1 (2016) JATISI (Jurnal Teknik Informatika dan Sistem
Informasi)
Agustina , Ardelia Nidya , Aryanti , Nasron. 2017. Pengamanan Dokumen Menggunakan
Metode RSA (Rivest Shamir Adleman) Berbasis Web.Papers Unisbank Ke-3.
Politeknik Negeri Sriwijaya Palembang.
Bahri, Saipul; Diana; PS, Susan Dian. April 2012. STUDI DAN IMPLEMENTASI
PENGAMANAN BASIS DATA MENGGUNAKAN METODE ENKRIPSI MD5
(Message-Digest Algorihm 5). Diakses dari
http://eprints.binadarma.ac.id/258/1/JURNAL%20STUDI%20DAN%20IMPLEMEN
TASI%20PENGAMANAN%20BASIS%20DATA%20MENGGUNAKAN%20MET
ODE%20ENKRIPSI%20MD5.pdf diakses pada 5 September 2019
Binance. 2019. Apakah itu PGP?. diakses dari https://www.binance.vision/id/security/what-
is-pgp .diakses pada tanggal 5 September 2019
Boettcher, Judith V.; Powell, Amanda. 2002. Digital Certificates. diakses dari
http://www.cren.net/crenca/docs/syllabus.pdf diakses pada 5 September 2019.
Darmali, Veronika. 2017. Digital Certificate dan Digital Signature. diakses dari
https://docplayer.info/49026555-Digital-certificate-digital-signature.html diakses pada
5 September 2019
Ginting, Ardi Betesda Clinta. 2017. Perbandingan Algoritma Message Diggest 5 (MD5) dan
SHA256 pada Hashing File Dokumen. diakses dari
http://repositori.usu.ac.id/handle/123456789/2230 diakses pada 5 September 2019
Hidayat, Akik, Akmal, Rudi Rosyadi.2016. Cryptography Asymmetries Merkle-Hellman
Knapsack Digunakan untuk Enkripsi dan Dekripsi Teks. Prosiding Seminar Nasional
MIPA.Universitas Pdjadjaran
Inayatullah. 2007. “Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password”.
Jurnal Ilmiah STMIK MDP. diakses dari
http://eprints.mdp.ac.id/553/1/Jurnal%20Analisis%20Penerapan%20Algoritma%20M
D5%20Untuk%20Pengamanan%20Password.pdf diakses pada 5 September 2019
Pahlevi, Nurezka .2012.Kriptografi Dan Keamanan Informasi.[online, diakses tanggal 5
September 2019]. diakses dari:
https://ilmukriptografi.wordpress.com/2012/10/24/public-key-rsa/
Stallings, W., 2011, Cryptography and Network Security, Principles and Practices, fifth
edition, Pearson Education, UK
Tanoto, Andri. 2007.Analisis Keamanan pada Pretty Good Privacy (PGP)
Y.S, Sofu Rizqi , dan Kesumastuti, Lintang. 2016. Algoritma Digital Signature Solin Sebagai
Pengaman Jaringan Telekomunikasi. Seminar Nasional Sistem Informasi Indonesia
Zacky, 2016. Enkripsi Algoritma IDEA (International Data Encryption Algorithm). diakses
dari http://kriptografijaringan.blogspot.com/2016/03/enkripsi-algoritma-idea-
international.html. diakses tanggal 5 September 2019
Zacky, 2016. Enkripsi Algoritma AES (Advanced Encryption Standard). diakses dari
http://kriptografijaringan.blogspot.com/2016/03/enkripsi-algoritma-aes-
advanced.html.diakses tanggal 5 September 2019
top related