RESUME ALGORITMA KRIPTOGRAFI kelompok... · RESUME ALGORITMA KRIPTOGRAFI Firda Atsalis, Saberina...
Transcript of RESUME ALGORITMA KRIPTOGRAFI kelompok... · RESUME ALGORITMA KRIPTOGRAFI Firda Atsalis, Saberina...
1
RESUME ALGORITMA KRIPTOGRAFI
Firda Atsalis, Saberina Pinkhan Aulia, Sinta Sintya, Yossy Adirta Suryo Legowo,
Muhammad Akbar Fikri
Program Studi S1 Sistem Informasi, Fakultas Sains dan Teknologi, Universitas Airlangga,
Surabaya
Abstract.
Komputer sebagai salah satu media yang dikembangkan dari teknologi terus mengalami
perkembangan. Pun dari segi keamanan, komputer terus berkembang melalui serangkaian
penelitian yang dilakukan oleh para ahli. Keamanan tersebut dapat berbentuk protok ataupun
algoritma yang sudah ditanamkan ketika komputer atau jaringan komputer dirakit dan
disambungkan. Algoritma tersebut memiliki karakteristik masing-masing dan beberapa masih
terus dipergunakan dan terus dikembangkan, sedangkan sisanya ditinggalkan dikarenakan
masih terdapat celah keamanan yang membahayakan keamanan data di komputer.
Kata kunci: keamanan, algoritma, kriptografi.
A. AES (Advanced Encryption Standard)
Advanced Encryption Standard (AES) merupakan algoritma kriptografi 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 plain text. AES 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.
Advanced Encryption Standard (AES) merupakan standar enkripsi dengan kunci-
simetris yang diadopsi oleh pemerintah Amerika Serikat. Standar ini terdiri atas 3 blok cipher,
yaitu AES-128, AES-192 and AES-256, yang diadopsi dari koleksi yang lebih besar yang
2
awalnya diterbitkan sebagai Rijndael. Masing-masing cipher memiliki ukuran 128-bit, dengan
ukuran kunci masing-masing 128, 192, dan 256 bit. Secara umum enkripsi dengan algoritma
AES sebagai berikut :
1. Pertama kita melakukan XOR plainteks/ state dengan roundkey.
2. Setelah selesai melakukan XOR plainteks dengan roundkey, kita lakukan substitusi
dengan s-Box
3. Setelah itu hasil dari substitusi dengan S-Box Selesai kita lakukan shift row
4. Setelah hasil shift row di dapat, maka langkah selanjutnya yaitu melakukan Mix
Column dengan cara megalikan matrik
Setelah perhitungan Mix Column selesai maka kita melakukan addround key. Yaitu
melakukan XOR state dengan roundkey. Lakukan samapai iterasi 10, namun pada saat iterasi
ke 10, setelah melakukan step shift row tidak melakukan Mix Colum. Namun langsung
melakukan XOR hasil state saat shift row dengan round key.
3
AES sebagai salah satu algoritma yang penting tentu memiliki berbagai kegunaan yang
sudah diaplikasikan atau diimplementasikan di kehidupan sehari-hari yang tentu saja
membutuhkan suatu perlindungan atau penyembunyian informasi di dalam prosesnya. Salah
satu contoh penggunaan AES adalah pada kompresi 7-Zip. Salah satu proses di dalam 7-Zip
adalah mengenkripsi isi dari data dengan menggunakan metode AES-256. Yang kuncinya
dihasilkan melalui fungsi Hash. Perpaduan ini membuat suatu informasi yang terlindungi dan
tidak mudah rusak terutama oleh virus yang merupakan salah satu musuh besar dalam dunia
4
komputer dan informasi karena sifatnya adalah merusak sebuah data. 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.
B. IDEA (International Data Encryption Algorithm)
International Data Encryption Algorithm (IDEA) adalah algoritma enkripsi blok kunci
yang aman dan rahasia yang dikembangkan oleh James Massey dan Xuejia Lai. Algoritma ini
berkembang pada 1992 dari algoritma semula yang disebut dengan Proposed Encryption
Standard and The Inproved Proposed Encryption Standard. IDEA beroperasi pada blok
plaintext 64 bit dan menggunakan kunci 128 bit.
Algoritma IDEA menggunakan delapan round dan beroperasi pada subblok 16 bit
dengan menggunakan kalkulasi aljabar yang dapat digunakan untuk implementasi hardware.
Operasi ini adalah penjumlahan modulo 216, perkalian modulo 216 + 1, dan XOR. Dengan
kunci 128 bitny a, cipher IDEA lebih sulit untuk dibobol daripada DES. Pada Algoritma IDEA,
plaintext memiliki panjang 64 bit dan kunci sepanjang 128 bit. Metodologi dari algoritma
IDEA menggunakan operasi yang berbeda seperti berikut ini :
• Bit per bit XOR 16 bit sub-block
• Penambahan 16 bit integer modulo 216
• Perkalian 16 bit integer modulo 216+1
• Operasi ini tidak berlaku hukum distributif atau hukum asosiatif.
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
Langkah-langkah Enkripsi IDEA adalah sebagai berikut :
5
• 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, Y1, Y2, Y3, Y4, sebagai pesan rahasia 64-bit Y = (Y1, Y2, Y3,
Y4) yang berada dibawah kendali 52 subblok kunci 16-bit y ang dibentuk dari blok kunci
128 bit.
• Keempat sub-blok 16-bit, X1, X2, X3, X4, digunakan sebagai masukan 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 keluaran yang dikendalikan oleh 4 sub-
blok kunci 16-bit.
• Pada setiap putaran dilakukan operasi-operasi sebagai berikut :
1. Perkalian X1 dengan sub-kunci pertama, A = X1 ¤ K1
2. Penjumlahan X2 dengan sub-kunci kedua, B = X2 + K2
3. Pejumlahan X3 dengan sub kunci ketiga, E = A © C
4. Perkalian X4 dengan sub kunci keempat, C = X3 + K3
5. Operasi XOR hasil langkah 1 dan 3, D = X4 ¤ K4
6. Operasi XOR hasil langkah 2 dan 4, F = B © D
7. Perkalian hasil langkah 5 dengan sub-kunci kelima, G = E ¤ K5
8. Penjumlahan hasil langkah 6 dengan langkah 7, H = G + F
9. Perkalian hasil langkah 8 dengan sub-kunci keenam, J = H ¤ K6
10. Penjumlahan hasil langkah 7 dengan 9, L = J + G
11. Operasi XOR hasil langkah 1 dan 9, R1 = A © J
12. Operasi XOR hasil langkah 3 dan 9, R2 = C © J
13. Operasi XOR hasil langkah 2 dan 10, R3 = B © L
14. Operasi XOR hasil langkah 4 dan 10, R4 = D © L
Ket : © = Xor, ¤ = Perkalian Modulo 216 + 1, + = Penambahan modulo 216.
6
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-kunci ketiga
3. Penjumlahan X3 dengan sub-kunci kedua
4. Perkalian X4 dengan sub-kunci keempat
Terakhir, keempat sub-blok 16-bit 16-bit y ang merupakan hasil operasi 1, 2, 3, dan 4 digabung
kembali menjadi blok pesan rahasia 64-bit.
Dekripsi IDEA :
Proses dekripsi menggunakan algoritma yang sama dengan proses enkripsi tetapi 52 buah sub-
blok kunci yang digunakan masing-masing merupakan hasil turunan 52 buah sub-blok kunci
enkripsi.
7
C. RSA (Rivest, Shamir, Adleman)
RSA di bidang kriptografi adalah sebuah algoritme pada enkripsi public key. RSA
merupakan algoritme pertama yang cocok untuk digital signature seperti halnya ekripsi, dan
salah satu yang paling maju dalam bidang kriptografi public key. RSA masih digunakan secara
luas dalam protokol electronic commerce, dan dipercaya dalam mengamnkan dengan
menggunakan kunci yang cukup panjang. Kekuatan algoritma ini terletak pada proses
eksponensial, dan pemfaktoran bilangan menjadi 2 bilangan prima yang hingga kini perlu
waktu yang lama untuk melakukan pemfaktorannya. Algoritma ini dinamakan sesuai dengan
nama penemunya, Ron Rivest, Adi Shamir dan Adleman (Rivest-Shamir-Adleman) yang
dipublikasikan pada tahun 1977 di MIT, menjawab tantangan yang diberikan algoritma
pertukaran kunci Diffie Hellman.
Skema RSA sendiri mengadopsi dari skema block cipher, dimana sebelum dilakukan
enkripsi, plainteks yang ada dibagi-bagibagi 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)
C = Cipherteks
M = Message / Plainteks
e = kunci publik
8
d= kunci privat
n = modulo pembagi(akan dijelaskan lebih lanjut )
Kedua pihak harus mengetahui nilai e dan nilai n ini, dan salah satu pihak harus memilki
d untuk melakukan dekripsi terhadap hasil enkripsi dengan menggunakan public key e.
Penggunaan algoritma ini harus memenuhi kriteria berikut :
1. Memungkinkan untuk mencari nilai e, d, n sedemikian rupa sehingga Med mod n = M
untuk semua M < n.
2. Relatif mudah untuk menghitung nilai Me mod n dan Cd mod n untuk semua nilai M <
n.
3. Tidak memungkinkan mencari nilai d jika diberikan nilai n dan e.
Syarat nilai e dan d ini,fpb(d,e)=1 , dimana fpb= Faktor persekutuan terbesar. Sebelum
memulai penggunaan RSA ini, terlebih dahulu kita harus memiliki bahan – bahan dasar sebagai
berikut :
1. p, q = 2 bilangan prima yang dirahasiakan
2. n, dari hasil p.q
3. e, dengan ketentuan fpb (Φ(n), e) =1
4. d, e-1 (mod Φ(n))
Contoh :
• Pilih 2 bilangan prima, misalnya p = 17 dan q = 11.
• Hitung n = pq = 17 × 11 = 187.
• Hitung Φ(n) = (p – 1)(q – 1) = 16 × 10 = 160.
• Pilih nilai e sedemikian sehingga relatif prima terhadap Φ(n) = 160 dan kurang dari
Φ(n); kita pilih e = 7.
• 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.
Nilai e dan di sebut sebagai Public Key(e) dan Private Key(d). Pasangan Kunci Publiknya
={7,187} dan Kunci Privatnya = {23, 187}
Aplikasikan dalam proses enkripsi.
9
Misalnya M 88. Untuk proses enkripsi, kita akan menghitung C = 887 mod 187.
= 887 mod 187.
=894,432 mod 187
=11 =C
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
D. Knapsack Merkle-Hellman (MH)
Merkle-Hellman Knapsack merupakan kriptosistem yang menggunakan algoritma
asimetris. Kelebihan algoritma asimetris 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..Sedangkan tujuan yang ingin dicapai
yaitu proses dekripsi danenkripsi, mengaplikasikan metode kriptosistem Merkle-Hellman
Knapsack menggunakan bahasa pemrograman C++. Jika terdapat n user, maka hanya
membutuhkan 1 (satu) kunci publik, sehingga untuk jumlah user yang sangat banyak, sistem
ini sangat efisien.Dengan adanya pertukaran kunci dalam enkripsi-dekripsi data dengan
kriptosistem kurva elliptik adalah mengamanan data yang berupa teks untuk menghindari
adanya penyadapan yang dilakukan oleh pihak-pihak yang tidak berkepentingan
10
Mencari Knapsack superincreasing :
1. Pertama mengambil serangkaian superincreasing s bilangan bulat positif dengan cara
pilih bilagan inisial(terkecil). Pilih bilangan selanjutnya dengan bilangan yang lebih
besar daripada yang pertama. Kemudian pilih bilangan yang lebih besar daripada
penjumlahan bilangan pertama dan kedua. Teruskan proses ini dari memilih bilangan-
bilangan baru yang lebih besar daripada jumlah semua bilangan yang sebelumnya
dipilih.
2. Setelah memilih knapsack yang sederhana S = [s 1, s 2,,s m ], kita memilih sebuah
bilangan pengali b dan di modulus p.
• Bilangan mod seharusnya adalah angka yang lebih besar daripada jumlah semua
s i dan merupakan bilangan prima
• Pengali tidak mempunyai factor persekutuan dengan modulus.
3. Mencari kunci publik, mengganti setiap bilangan s i dalam knapsack sederhana dengan
ketentuan.
t i = a * s i mod p
S = [1, 2, 4, 8] dan diubah dari pengali b dan kemudian di mod p dimana b = 7 dan p =
17:
1 * 7 = 7 mod 17 = 7
2 * 7 = 14 mod 17 = 14
4 * 7 = 28 mod 17 = 11
9 * 7 = 63 mod 17 = 5
knapsack t= [7,14,11,5]
4. Proses Enkripsi
• Pesan plaintext P bisa dituliskan dalam bentuk:
P = [p 1, p 2,..., p k ].
• Membagi pesan ke dalam blok bit-bit m, P 0 = [p l, p 2,..., p m ], P 1 = [p m+1,...,
p 2m ], dan selanjutnya. (m adalah bilangan pembatas dalam knapsack)
• Memilih nilai dengan mengubah dari bentuk 1 bit kedalam P i selanjutnya P i
disajikan sebagai vector yang dipilih untuk element t.
• Nilai ciphertext merupakan: Pi * t, target menggunakan blok P i untuk memilih
vector [4].
11
5. Proses Dekripsi :
• Penerima tahu knapsack sederhana dan nilai dari a dan p yang ditranformasi ke
dalam knapsack sulit.
• Dengan nilai a -1 kemudian a* a -1 = 1 mod p. Dalam contoh kami, 7 -1 mod 17
adalah 5, mulai 5 * 8 mod 17 = 40 mod 17 = (17 * 7) + 1 mod 17 = 1.
• Ingat bahwa H adalah knapsack sulit yang terjadi dari knapsack sederhanas. H
adalah memperoleh S dengan H= w * S mod n
Pesan ciphertext di dapat dari algoritma enkripsi:
C = H * P = w * S * P mod n
❖ Untuk mengubah cipher, pengali C dari w -1, mulai
w -1 * C = w -1 * H * P =
w -1 * w * S * P mod n=
S * P mod n
❖ Sekarang penerima dapat memecahkan masalah knapsack sederhana dengan
knapsack S dan target w -1 * C i untuk beberapa bilangan ciphertext C i.
Dimulai w -1 * C i = S * P mod n, solusi untuk target w -1 * C i adalah blok plaintext P
i, yaitu adalah pesan asli yang di enkripsi.
E. A5
Algoritma A5 adalah cipher aliran yang digunakan untuk mengenkripsi pesan dalam
transmisi udara. Cipher aliran ini diinisialisasi setiap frame dikirim. Cipher aliran ini
diinisialisasi dengan kunci sesi, Kc, dan jumlah frame yang akan dienkripsi. Kunci sesi yang
sama digunakann sepanjang panggilan berlangsung, tetapi 22 bit nomor frame berubah selama
proses berlangsung, kemudian membangkitkan keystream yang unik untuk setiap frame.
Kunci yang digunakan dalam algoritma ini adalah 64-bit Kc, ditambah input berupa
nomor frame TDM A dalam suatu multiframe. Output yang dihasilkan berupa sepasang 114 bit
12
codeword (S1 dan S2) untuk arah downlink dan uplink. Selanjutnya masing-masing codeword
di-XOR dengan 114 bit plain text untuk menghasilkan 114-bit chipertext yang akan dikirimkan.
Jaringan GSM saat ini menggunakan algoritma A3, A8, dan A5 dalam sistem pengamanannya.
Algoritma A3 dan A8 digunakan dalam proses autentikasi, yaitu proses pengenalan identitas
pelanggan, yang terjadi pada MS (Mobile Station) dan AUC (Authentication Centre).
Sedangkan algoritma A5 digunakan dalam proses pengiriman informasi pada link radio antara
MS dengan BTS (Base Transceiver Station). Namun pada sistem pengamanan dengan
menggunakan algoritma ini ditemukan kelemahan-kelemahan yang memungkinkan terjadinya
penyadapan data ataupun penipuan identitas pelanggan.digunakan pula jaringan feistel atau
dan chiper berulang.
F. RC4
RC4 merupakan salah satu jenis stream cipher, yaitu memproses unit atau input data,
pesan atau informasi pada satu saat. Unit atau data pada umumnya sebuah byte atau bahkan
kadang kadang bit (byte dalam hal RC4). Dengan cara ini enkripsi atau dekripsi dapat
dilaksanakan pada panjang yang variabel. Algoritma ini tidak harus menunggu sejumlah input
data, pesan atau informasi tertentu sebelum diproses, atau menambahkan byte tambahan untuk
mengenkrip.
Salah satu kelemahan dari RC4 adalah terlalu tingginya kemungkinan terjadi tabel S-
box yang sama, hal ini terjadi karena kunci user diulang-ulang untuk mengisi 256-bit, sehingga
'aaaa' dan 'aaaaa' akan menghasilkan permutasi yang sama. Untuk mengatasi ini maka pada
implementasinya nanti kita menggunakan hasil hash 160 bit SHA dari password kita untuk
mencegah hal ini terjadi. Kekurangan lainnya ialah karena enkripsi RC4 adalah XOR antara
data bytes dan pseudo-random byte stream yang dihasilkan dari kunci, maka penyerang akan
mungkin untuk menentukan beberapa bit pesan orisinal dengan meng-XOR dua set cipherbyte,
bila beberapa dari pesan input diketahui (atau mudah untuk ditebak). Untuk mengatasinya pada
aplikasinya kita menggunakan initialization vector (IV) yang berbeda-beda untuk setiap data,
sehingga bahkan untuk file yang sama akan dihasilkan ciphertext yang berbeda. IV ini tidak
perlu dirahasikan karena digunakan hanya agar setiap proses enkripsi akan menghasilkan
ciphertext yang berbeda.
Untuk lebih meningkatkan keamanan dari metoda ini dapat juga mengembangkan
inisialisasi kunci yang baru yang kita sebut saja inisialisasi SK (strengtened key), pada proses
ini kunci user di-expand hingga 260-bit (tetapi kemudian hanya 256-bit saja yang digunakan)
13
dengan menggunakan SHA-1, caranya pertama kunci user dijadikan kunci, kemudian 1-20 byte
pertama pada buffer diproses dengan SHA kemudian digestnya diletakan pada 20 byte pertama,
kemudian diambil bit 1-40 diproses dengan SHA dan hasilnya diletakan mulai pada byte 20,
berikutnya byte 1-60 hasilnya diletakkan pada mulai byte 40, dan seterusnya. Kemudian buffer
ini dienkrip dengan RC4, lalu buffer dijadikan kunci kembali, proses terakhir ini diulang
sebanyak 16 kali untuk mencoba mencampur dengan baik sehingga dihasilkan kunci yang se-
random mungkin.
G. PGP (Pretty Good Privacy)
Pretty Good Privacy merupakan kepanjangan dari PGP yang dikembangkan oleh Phill
Zimmermann pada tahun 1980. PGP adalah suatu metode program enkripsi informasi yang
memiliki tingkat keamanan tinggi bersifat rahasia dengan menggunakan “Private-Public Key”
sebagai dasar autentifikasinya sehingga tidak dengan mudah diketahui oleh orang lain yang
tidak berhak. Terdapat dua versi PGP yaitu “USA version” dan International version”. PGP
versi USA hanya digunakan di wilayah USA dan warga negara USA yang menggunakan
algoritma RSA dalam enkripsinya. Sedangkan versi International menggunakan algoritma
MPILIB yang dapat digunakan oleh siapa saja. PGP dibuat berdasarkan pada konsep Public
Key Cryptography.
Private Key Cryptography ini digunakan untuk mengenkripsi dalam suatu hubungan
komunikasi antara dua mesin. Dalam menjaga kerahasiaan data, kriptografi
mentransformasikan plaintext ke dalam bentuk data sandi atau disebut dengan ciphertext yang
tidak dapat dikenali. Ciphertext inilah yang kemudian dikirimkan oleh pengirim kepada
penerima (. Setelah sampai di penerima, ciphertext tersebut ditranformasikan kembali ke dalam
bentuk plaintext agar dapat dikenali. Sehingga dalam penulisannya lebih dikenal dalam bentuk
enkripsi dan deskripsi. Secara garis besar PGP memiliki tiga fitur utama yaitu fitur untuk
enkripsi dan menandatangani dokumen, fitur untuk dekripsi dan verifikasi tanda tangan, dan
fitur untuk mengelola kunci PGP yang dimiliki oleh pengguna.
Pretty Good Privacy bekerja dengan menggabungkan beberapa bagian yang terbaik dari
key konvensional dan public key cryptography, jadi PGP ini adalah sebuah hybrid
cryptosystem. Ketika seorang pengguna mengenkrip sebuah plaintext dengan menggunakan
PGP, maka awal PGP akan mengkompres plaintext ini. Data yang dikompress menghemat
waktu serta media transmisi dan yang lebih penting adalah keamanan kriptografi yang kuat.
Kebanyakan teknik analisis sandi mengeksplotasi pola yang ditemukan dalam plaintext untuk
14
men-crack chipernya. Kompressi mengurangi pola-pola ini dalam plaintext, dengan cara
demikian perbaikan yang lebih baik untuk menghambat analisa kode-kode.
PGP membuat sebuah session key, dimana sebuah kunci rahasia pada saat itu. Kunci
adalah sebuah bilangan acak yang dihasilkan dari gerakan acak dari mouse dan tombol yang
anda tekan. Session Key berkerja dengan sangat aman, algoritma enkripsi konvesional yang
cepat untuk meng-enkrip plaintext. Hasilnya adalah berupah chiper text. Sekali data dienkripsi,
lalu session key ini dienkripsi lagi menggunakan kunci publik penerima. session key yang
terenkripsi kunci publik key penerima dikirim dengn chipertext ke penerima. Proses deskripsi
penerima pesan akan menerima pesan lalu membuka pesan tersebut dengan kunci privatnya,
namun pesan tersebut masih terenkripsi dengan session key. Dengan Menggunakan PGP,
penerima mendekrip chipertext yang terenkripsi secara konvensional.
Prinsip – prinsip kerja dari PGP itu sendiri adalah :
1. PGP menggunakan teknik yang disebut Public-key encryption dengan dua kode yang
saling berhubungan secara intrinsik, namun tidak mungkin untuk memecahkan satu dan
yang lainnya.
2. Jika membuat suatu kunci, secara otomatis akan dihasilkan sepasang kunci yaitu public
key dan secret key. Kita dapat memberikan public key ke manapun tujuan yang kita
inginkan, melalui telephone, internet, keyserver, dsb. Secret key yang disimpan pada
mesin kita dan menggunakan messager decipher akan dikirimkan ke kita. Jadi orang
yang akan menggunakan public key kita (yang hanya dapat didekripsi oleh oleh secret
key kita), mengirimkan messages kepada kita , dan kita akan menggunak an secret key
untuk membacanya.
3. PGP menggunakan dua kunci yaitu kunci public (proses enkripsi) dan privet (proses
deskripsi).
4. Menggunakan dua kuci tersebut dikarenakan adanya conventional crypto, disaat terjadi
transfer informasi kunci, suatu secure channel diperlukan. Dan jika kita memiliki suatu
secure channel, tapi mengapa kita menggunakan crypto? Namun dengan public-key
syistem, tidak akan menjadi masalah siapa yang melihat kunci milik kita, karena kunci
yang dilihat oleh orang lain adalah yang digunakan hanya untuk enkripsi dan hanya
pemiliknya saja yang mengetahui kunci rahasia tersebut.
15
Keuntungan dari menggunkan Pretty Good Privacy adalah dapat menggunakan PGP
untuk berkomunikasi secara aman, baik itu rencana bisnis, keuangan, atau hal-hal pribadi lain
yang ingin dijaga kerahasiaannya, karena PGP sudah plug-in untuk semua program browser
dan banyak digunakan oleh semua program e- mail, maka PGP sangat mudah untuk digunakan.
PGP selain melindungi e-mail juga file kita dan berjalan pada semua sistem operasi, serta PGP
dapat diperoleh secara gratis untuk penggunaan pribadi. Kita dapatmendownload softwarenya
pada saat kita terhubung dengan internet. Semua kunci pribadi dapat kita peroleh dan tidak ada
biaya tambahan yang dibebankan untuk pembuatan sertifikat maupun tanda tangan digital yang
disertakan.
H. Digital Signature
Salah satu konsep pada kriptografi modern adalah digital signature. Digital signature
merupakan sistem keamanan kriptografi simetris yang menggunakan kunci yang sama dalam
melakukan enkripsi dan dekripsi terhadap suatu pesan, disini pengirim dan penerima
menggunakan kunci yang sama sehingga mereka harus menjaga kerahasian terhadap kuci
tersebut. Cara kerja dan kegunaan digital signature mirip dengan tanda tangan dalam versi
nyata, yaitu untuk memberikan kepastian keaslian dan persetujuan dokumen oleh penanda
tangan. Dalam digital signature, tanda tangan adalah dalam bentuk digital yang digunakan
untuk mensahkan sebuah dokumen digital.
Prinsip yang digunakan dalam tanda tangan digital ini adalah dokumen yang dikirimkan
harus ditandatangani oleh pengirim dan tanda tangan bisa diperiksa oleh penerima untuk
memastikan keaslian dokumen yang dikirimkan. Fungsinya adalah untuk melakukan validasi
terhadap data yang dikirim. Tanda tangan digital menggunakan algoritma yang disebut dengan
istilah hashing algorithm. Fungsi tersebut akan menghasilkan sebuah kombinasi karakter yang
yang unik yang disebut message digest. Dengan cara ini pengirim bertanggungjawab terhadap
isi dokumen dan dapat di cek keaslian dokumen oleh penerima. Keunikannya adalah jika di
tengah perjalanan data mengalami modifikasi, penghapusan maupun di sadap diam-diam oleh
hacker walaupun hanya 1 karakter saja, maka message digest yang berada pada si penerima
akan berbeda dengan yang dikirimkan pada awalnya. Keunikan lainnya adalah message digest
tersebut tidak bisa dikembalikan lagi ke dalam bentuk awal seperti sebelum disentuh dengan
fungsi algoritma, sehingga disebut sebagai one-way hash. Fungsi utama dari tanda tangan
digital pada pada aspek keamanan kriptografi adalah non-repudiation atau anti penyangkalan
16
dimana apabila dokumen valid maka pengirim tidak bisa menyangkal bahwa keberadaan
dokumen benar dikirim oleh pengirim yang bersangkutan.
Cara kerja digital signature adalah pengirim melakukan proses hashing algorithm untuk
menghasilkan message digest dari sebuah pesan yang terdapat dalam sebuah dokumen yang
akan dikirim. Setelah dilakukan hashing, pengirim melakukan sign terhadap message digest
dengan menggunakan kunci publik yang digunakan untuk membentuk digital signature.
Kemudian pengirim mengirimkan digital signature bersama dokumen tersebut kepada
penerima. Penerima menerima pesan yang dikirimkan oleh Sender. Setelah itu Receiver
mengverifikasi pesan yang dikirimkan oleh Sender. Pada proses verifikasi tersebut pesan di
hashing terlebih dahulu sehingga menghasilkan message digest dan digital signature akan di
unsign menggunakan kunci private. Jika message digest-nya sama, maka pesan ini adalah asli
dan pesan berasal dari pengirim yang sebenarnya. Bila pesan telah diubah oleh pihak luar, maka
message digest juga ikut berubah.
Terdapat dua algoritma yang digunakan dalam digital signature yaitu Algoritma MD5
dan Algoritma RSA. Algoritma MD5 dikembangkan oleh Ronald L. Rivest pada tahun 1991
yang merupakan perbaikan dari algoritma MD4 yang diketahui tidak lagi aman. Algoritma
MD5 merupakan salah satu algoritma fungsi hash yang dapat menerima input dengan panjang
sembarang dan akan menghasilkan output berupa message digest dengan panjang 128 bit.
Proses pembuatan message digest pada MD5 meliputi beberapa tahapan yaitu penambahan
bibit-bibit pengganjal, penambahan nilai panjang semula, dan inisialisasi penyanggal MD.
Algoritma RSA diciptakan oleh Ron Rivest, Adi Shamir, dan Leonard Adleman, sesuai
dengan nama penemunya, pada tahun 1970-an. Rancangan ini bergantung pada kerumitan
dalam memfaktorisasi bilangan bulat yang berbeda dari penyelesaian algoritma diskrit. RSA
hanya menggunakan operasi pemangkatan. RSA termasuk algoritma asimetri, yang berarti
memiliki dua kunci, yaitu kunci publik dan kunci privat. Algoritma RSA terdiri dari tiga proses
yaitu pembangkit kunci, enkripsi, dan dekripsi.
I. Digital Certificate
Digital Certificate adalah file elektronik yang hanya bekerja sebagai paspor online.
Digital Certificate dikeluarkan oleh pihak ketiga yang dikenal sebagai Certification Authority
seperti VeriSign atau Thawte. Sertifikat digital memiliki dua fungsi dasar yaitu untuk
menyatakan bahwa orang-orang, website, dan sumber daya jaringan seperti server dan router
merupakan sumber terpercaya, dengan kata lain sesuai dengan siapa atau apa yang menjadi
17
tuntutan mereka. Selain itu, digital certificate berfungsi untuk memberikan perlindungan bagi
pertukaran data dari pengunjung dan website dari gangguan atau bahkan pencurian, seperti
informasi kartu kredit. Adapun bentuk-bentuk sertifikat digital seperti server certificate dan
personal certificate. Server certificate biasa digunakan pada industri e-commerce di mana
pelanggan memiliki jaminan sebagai legitimasi atau profesionalisme dari orang-orang partner
bisnis. Sedangkan, personal certificate memungkinkan user untuk memvalidasi identitas
pengunjung situs dan bahkan membatasi akses mereka kepada bagian-bagian tertentu dari
website
Sertifikat digital adalah dokumen digital yang berisi informasi sebagai berikut:
• Nama subjek (perusahaan/individu yang disertifikasi)
• Public key dari subjek
• waktu kadaluarsa sertifikat (expired time)
• Informasi relevan lain seperti nomor seri sertifikat, dll.
Sebagian besar protokol standar yang banyak digunakan untuk komunikasi elektronik
mengandalkan digital certificate:
• SSL (Secure Socket Layer), yang dirancang oleh Netscape Communication
Corporation, diterima secara luas sebagai browser forweb dasar standar dan otentikasi
server, dan aman untuk pertukaran data di Internet. Hampir semua server utama dan
web browser termasuk Netscape Communicator dioptimalkan untuk mengaktifkan
enkripsi SSL, dan merupakan jenis keamanan yang paling umum dilihat di Internet.
• S/MIME (Secure Multipurpose Internet Mail Extensions Protocol) dianggap sebagai
standar dasar untuk email yang aman dan EDI (Electronic Data Interchange).
• SET (Secure Transaksi Elektronik protokol) melindungi pembayaran elektronik dari
pengunjung web untuk operator situs.
• Internet Protocol Secure Standard (IPSec) memverifikasi perangkat jaringan seperti
server dan router.
Cara Kerja Digital Certificate
a. Proses Registrasi
Langkah pembentukan sertifikat digital:
• Sertifikat digital/digital sign diperlukan sebagai identifikasi sebelum seorang
pelanggan dapat melakukan akses/transaksi pada suatu aktifitas kegiatan
18
berbasis WEB (B2B, B2C, G2C) yang menggunakan pengamanan dan enkripsi
dengan metoda Public Key Infrastructure (PKI).
• Setiap orang/pelanggan yang akan berkomunikasi/bertransaksi harus terlebih
dahulu mendaftar (registrasi) untuk memperoleh Identifikasi dalam bentuk
Elektronik Identification Number.
• Setelah Electronic 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.
• 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 Electronic Identification
Number (E-ID) yang telah diperoleh sebelumnya, dalam rangka memperoleh
Digital Certificate.
• Selanjutnya Certificate Authority Server akan melakukan verifikasi terhadap
kebenaran dan keabsahan Electronic Identification Number (E-ID) yang telah
dikirimkan oleh pelanggan.
• Jika Electronic Identification Number (E-ID) tersebut benar dan absah, maka
selanjutnya Certificate Authority Server akan menerbitkan Digital Certificate,
dengan disertai Public Key dan Private Key.
Digital Certificate tersebut akan dikirimkan ke pelanggan dengan menggunakan
komunikasi yang khusus/secure untuk selanjutnya Digital Certificate tersebut diinstall di
komputer pelanggan.
b. Proses pengiriman
• 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).
• Setiap orang/pelanggan yang akan berkomunikasi/bertransaksi harus terlebih
dahulu mendaftar (registrasi) untuk memperoleh Identifikasi dalam bentuk
Elektronik Identification Number.
19
• Setelah Electronic Identification Number (E-ID) diterbitkan dan diterima oleh
pelanggan, selanjutnya Electronic Identification Number (E-ID) tersebut oleh
provider yang bersangkutan akan dikirimkan ke Certificate Authority Server
untuk di registrasikan.
• Selanjutnya pelanggan melalui komputer yang dimiliki (personal) akan
melakukan koneksi secara online menggunakan komunikasi yang
khusus/secure (menuju website address yang telah ditentukan) untuk
melalukan verifikasi dengan cara mengirimkan E-ID yang telah diperoleh
sebelumnya, dalam rangka memperoleh Digital Certificate.
• Selanjutnya Certificate Authority Server akan melakukan verifikasi terhadap
kebenaran dan keabsahan Elektronik Identification Number (E-ID) yang telah
dikirimkan oleh pelanggan.
• Jika E-ID tersebut benar dan absah, maka selanjutnya Certificate Authority
Server akan menerbitkan Digital Certificate, dengan disertai Public Key dan
Private Key. Digital Certificate tersebut akan dikirimkan ke pelanggan dengan
menggunakan komunikasi yang khusus/secure untuk selanjutnya Digital
Certificate tersebut terpasang di komputer pelanggan.
J. MD5
MD5 adalah salah satu dari serangkaian algoritma (merupakan salah satu fungsi hash)
message digest yang didesain oleh Ronald Rivest sebagai evolusi dari MD4 yang dianggap
tidak aman Walau demikian, Dikarenakan MD5 hanya menggunakan satu langkah pada data,
jika dua buah awalan dengan hash yang sama dapat dibangun, sebuah akhiran yang umum
dapat ditambahkan pada keduanya untuk membuat kerusakan lebih masuk akal. Dan
dikarenakan teknik penemuan kerusakan mengijinkan pendahuluan kondisi hash menjadi
arbitari tertentu, sebuah kerusakan dapat ditemukan dengan awalan apapun. Proses tersebut
memerlukan pembangkitan dua buah file perusak sebagai file template, dengan menggunakan
blok 128-bit dari tatanan data pada 64-bit batasan, file-file tersebut dapat mengubah dengan
bebas dengan menggunakan algoritma penemuan kerusakan.
Saat ini dapat diketahui, dengan beberapa jam kerja, bagaimana proses pembangkitan
kerusakan MD5. Yaitu dengan membangkitkan dua bit string dengan hash yang sama.
Dikarenakan terdapat bilangan yang terbatas pada keluaran MD5 (2128), tetapi terdapat
bilangan yang tak terbatas sebagai masukannya, hal ini harus dipahami sebelum kerusakan
dapat ditimbulkan, tapi hal ini telah diyakini benar bahwa menemukannya adalah hal yang
20
sulit. Sebagai hasilnya bahwa hash MD5 dari informasi tertentu tidak dapat lagi mengenalinya
secara berbeda. Jika ditunjukkan informasi dari sebuah public key, hash MD5 tidak
mengenalinya secara berbeda jika terdapat public key selanjutnya yang mempunyai hash MD5
yang sama.
Bagaimanapun juga, penyerangan tersebut memerlukan kemampuan untuk memilih
kedua pesan kerusakan. Kedua pesan tersebut tidak dengan mudah untuk memberikan serangan
preimage, menemukan pesan dengan hash MD5 yang sudah ditentukan, ataupun serangan
preimage kedua, menemukan pesan dengan hash MD5 yang sama sebagai pesan yang
diinginkan.
Hash MD5 lama, yang dibuat sebelum serangan-serangan tersebut diungkap, masih
dinilai aman untuk saat ini. Khususnya pada digital signature lama masih dianggap layak pakai.
Seorang user boleh saja tidak ingin membangkitkan atau mempercayai signature baru
menggunakan MD5 jika masih ada kemungkinan kecil pada teks (kerusakan dilakukan dengan
melibatkan pelompatan beberapa bit pada bagian 128-bit pada masukan hash) akan
memberikan perubahan yang berarti. Penjaminan ini berdasar pada posisi saat ini dari
kriptoanalisis. Situasi bisa saja berubah secara tiba-tiba, tetapi menemukan kerusakan dengan
beberapa data yang belum-ada adalah permasalahan yang lebih susah lagi, dan akan selalu
butuh waktu untuk terjadinya sebuah transisi.
Cara Kerja MD5
MD5 mengolah blok 512 bit, dibagi kedalam 16 subblok berukuran 32 bit. Keluaran
algoritma diset menjadi 4 blok yang masing-masing berukuran 32 bit yang setelah digabungkan
akan membentuk nilai hash 128 bit.
MD5 terdiri atas 64 operasi, dikelompokkan dalam empat putaran dari 16 operasi.
21
• F : Adalah fungsi nonlinear, satu fungsi digunakan pada tiap-tiap putaran.
• Mi : Menujukkan blok 32-bit dari masukan pesan, dan
• Ki : Menunjukkan konstanta 32-bit, berbeda untuk tiap-tiap operasi.
• <<<s : Menunjukkan perputaran bit kiri oleh s; s bervariasi untuk tiap-tiap operasi.
• : Menunjukan tambahan modulo 232.
MD5 memproses variasi panjang pesan kedalam keluaran 128-bit dengan panjang yang
tetap. Pesan masukan dipecah menjadi dua gumpalan blok 512-bit; Pesan ditata sehingga
panjang pesan dapat dibagi 512. Penataan bekerja sebagai berikut: bit tunggal pertama, 1,
diletakkan pada akhir pedan. Proses ini diikuti dengan serangkaian nol (0) yang diperlukan
agar panjang pesan lebih dari 64-bit dan kurang dari kelipatan 512. Bit-bit sisa diisi dengan 64-
bit integer untuk menunjukkan panjang pesan yang asli. Sebuah pesan selalu ditata setidaknya
dengan 1-bit tunggal, seperti jika panjang pesan adalah kelipatan 512 dikurangi 64-bit untuk
informasi panjang (panjang mod(512) = 448), sebuah blok baru dari 512-bit ditambahkan
dengan 1-bit diikuti dengan 447 bit-bit nol (0) diikuti dengan panjang 64-bit.
Algoritma MD5 yang utama beroperasi pada kondisi 128-bit, dibagi menjadi empat
word 32-bit, menunjukkan A, B, C dan D. Operasi tersebut di inisialisasi dijaga untuk tetap
konstan. Algoritma utama kemudian beroperasi pada masing-masing blok pesan 512-bit,
masing-masing blok melakukan pengubahan terhadap kondisi.Pemrosesan blok pesan terdiri
atas empat tahap, batasan putaran; tiap putasan membuat 16 operasi serupa berdasar pada
fungsi non-linear F, tambahan modular, dan rotasi ke kiri. Gambar satu mengilustrasikan satu
operasi dalam putaran. Ada empat macam kemungkinan fungsi F, berbeda dari yang digunakan
pada tiap-tiap putaran:
Dengan operasi XOR, AND, OR, dan NOT adalah sebagai berikut :
22
KESIMPULAN
Keamanan komputer pada dasarnya tidak hanya berlandaskan algoritma yang sudah
dijabarkan sebelumnya. Akan tetapi, keamanan komputer membentuk suatu sistemyang mana
di dalamnya algoritma seperti MD5 berperan sebagai center dari proses atau usaha
pengamanan komputer manakala komputer tersebut mengalami serangan dari pihak yang tidak
diinginkan sehingga data yang berada di dalamnya bisa dijaga dan terhidar dari kebocoran.
23
DAFTAR PUSTAKA
Albanna, Hasan. (2012, 14 Juni). PGP (Pretty Good Privacy). http://cgeduntuksemua blogspot:
http://cgeduntuksemua.blogspot.com/2012/06/pgp-pretty-good-privacy.html, diakses
pada tanggal 5 September 2019.
Anonim,.RSA(https://id.wikipedia.org/wiki/RSA) diakses pada tanggal 5 September 2019.
Dewi, Nuryatin. (2014). Advanced Encryption Standard (AES).
https://www.academia.edu/7426961/Algoritma_Advanced_Encryption_Standard_A
ES_., diakses pada tanggal 5 September 2019.
Firmansyah, Eka Risky. (2012). Algoritma Kriptografi dan Contohnya. Sistem Keamanan
Jaringan, Universitas Islam Negeri Syarif Hidayatullah, Jakarta. Jethefer, Steven.
(2007).
Hutasuhut, Budi K. Efendi, Syahril. Situmorang, Zakarias. 2019. Digital Signature untuk
Menjaga Keaslian Data dengan Algoritma MD5 dan Algoritma RSA. Jurnal Nasional
Informatika dan Teknologi Jaringan Vol. 3 No.2 2019.
Hidayat ,Akik.Rudi Rosyadi .Erick Paulus .2016, Journal Aplikasi merkle hellman
https://docplayer.info/72414086-Aplikasi-merkle-hellman-knapsack-untuk-
kriptografi-file-teks.html, diakses pada tanggal 5 September 2019.
http://sunandarbee254.blogspot.com/2012/12/digital-certificate-enkripsi-modern.html,
diakses pada tanggal 5 September 2019.
Iriadi, Nandang. 2011. Analisis Keamanan E-mail Menggunakan Pretty Good Privacy.
PARADIGMA VOL. XIII. NO, 1 Maret 2011.
Levi, Nurezkapah.,2012, Kriptografi dan Keamanan Informasi: Public key RSA,
https://ilmukriptografi.wordpress.com//, diakses pada tanggal 5 September 2019.
Mufitasari. (2016, 26 November). Digital Signature. http://mufitasari wordpress:
https://mufitasari.wordpress.com/2012/11/26/digital-signature/, diakses pada tanggal
5 September 2019.
Prabowo, Egi Cahyo. Afrianto, Irawan. 2017. Penerapan Digital Signature dan Kriptografi
Pada Otentikasi Sertifikat Tanah Digital. Jurnal ilmiah Komputer dan Informatika
(KOMPUTA) Vol. 6, No. 2, Oktober 2017.
24
Rapinus, Jhon. (2014, 10 Januari). Pretty Good Privacy. http://jhonrapinus blogspot:
http://jhonrapinus.blogspot.com/2014/01/pretty-good-privacy.html, diakses pada
tanggal 5 September 2019.
STUDI DAN PERBANDINGAN ALGORITMA IDEA.
http://informatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi/2006-
2007/Makalah1/Makalah1-005.pdf, diakses pada tanggal 5 September 2019.