artikel keamanan komputer kriptografiilmusisteminfo.com/upload/file_pdf/kriptografi...
TRANSCRIPT
Artikel Keamanan Komputer Kriptografi
M. Luthfan Oktaviano S / 081711633002
Ahmad Afan Affaidin / 081711633013
Ahmad Harish S / 081711633023
Avril Audi Hernawan / 081711633034
Dimas Satria B. P / 081711611048
Abstract.
Pada era revolusi industri 4.0 saat ini, informasi memiliki nilai yang sangat berharga
dan tentunya tak dapat terpisahkan dari perkembangan teknologi dan komunikasi.
Internet sudah menjadi sebuah kebutuhan yang harus dipenuhi oleh sebagian besar
masyarakat untuk menyelesaikan berbagai tugas dan kepentingan mereka. Setiap
transaksi dan aktivitas di dunia maya akan terekam oleh setiap platform aplikasi yang
digunakan oleh masyarakat. Maka dari itu, setiap platform berusaha untuk membangun
sebuah sistem keamanan yang kuat sehingga informasi para penggunanya tidak bocor
dan dimanfaatkan oleh orang yang tidak berhak. Salah satunya adalah dengan
menerapkan kriptografi untuk melindungi data-data penggunanya. Artikel ini dibuat
dengan tujuan untuk memberi pengetahuan seputar istilah-istilah yang berkaitan
dengan kriptografi.
Keyword: kriptografi, data, keamanan komputer, hash, informasi
1. Pendahuluan
Data yang dapat dibaca dan dipahami tanpa tindakan khusus apa pun disebut
plaintext atau cleartext. Metode penyamaran plaintext sedemikian rupa untuk
menyembunyikan substansinya disebut enkripsi. Enkripsi plaintext menghasilkan
tulisan yang tidak dapat dibaca yang disebut ciphertext. Enkripsi digunakan untuk
memastikan bahwa informasi disembunyikan dari siapa pun yang tidak diinginkan,
meskipun mereka dapat melihat data yang dienkripsi. Proses mengembalikan ciphertext
ke plaintext aslinya disebut dekripsi.
Kriptografi adalah ilmu menggunakan matematika untuk mengenkripsi dan
mendekripsi data. Sedangkan algoritma kriptografi atau cipher, adalah fungsi
matematika yang digunakan dalam proses enkripsi dan dekripsi. Algoritme kriptografi
bekerja dalam kombinasi dengan kunci - kata, angka, atau frasa - untuk mengenkripsi
teks teks. Plaintext yang sama mengenkripsi ciphertext yang berbeda dengan kunci
yang berbeda. Keamanan data terenkripsi sepenuhnya bergantung pada dua hal:
kekuatan algoritma kriptografi dan kerahasiaan kunci.
Algoritma kriptografi, semua kunci yang mungkin dan semua protokol yang
membuatnya berfungsi merupakan sebuah cryptosystem. Diantara cryptosystem yang
ada diantaranya adalah: AES, IDEA, RSA, Knapsack MH, A5, RC4, PGP, Digital
Signature, Digital Cerificate, dan MD5.
2. AES (Advanced Encryption Standard)
Algoritma AES (Advanced Encryption Standard) 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 menggunakan 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 per byte) ShiftRow
(Pergeseren byte perbaris) MixColumn (Operasi perkalian GF(2) per kolom);
4. Pencampuran subkey (dengan XOR);
5. Transformasi : ByteSub dan ShiftRow;
6. Pencampuran subkey.
3. International Data Encryption Algorithm (IDEA)
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 bitnya, cipher IDEA lebih sulit untuk dibobol daripada DES
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
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.
4. RSA Algorithm (Rivest-Shamir-Adleman)
RSA Algorithm adalah dasar dari cryptostem – serangkaian algoritma
kriptografi yang digunakan untuk layanan atau tujuan keamanan tertentu – yang
memungkinkan enkripsi public key dan secara luas digunakan untuk mengamankan
data sensitive, terutama ketika sedang dikirim melalui ketidakaman jaringan seperti
internet.
RSA pertama kali dijelaskan secara publik pada tahun 1977 oleh Ron Rivest,
Adi Shamir dan Leonard Adleman dari Massachusetts Institute of Technology,
meskipun penciptaan 1973 algoritma kunci publik oleh matematikawan Inggris
Clifford Cocks tetap diklasifikasikan oleh GCHQ Inggris hingga 1997.
Dalam kriptografi RSA, public key dan private key dapat mengenkripsi pesan;
kunci yang fungsinya sebaliknya dari yang digunakan untuk mengenkripsi pesan,
digunakan untu mendekripsi pesan tersebut. Atribut ini adalah salah satu alasan
mengapa RSA menjadi algoritma asimetris yang paling banyak digunakan. RSA
menyediakan metode untuk memastikan kerahasiaan, integritas, keaslian, dan non-
penolakan (non-repudation).
Banyakk protokol seperti Secure Shell, OpenPGP, S/MIME, dan SSL/TLS
mengandalkan RSA untuk fungsi enkripsi dan Digital Signature. Ini juga digunakan
dalam program peangkat lunak – Browser adalah contoh yang jelas karena mereka perlu
membuat koneksi yang aman melalui jaringan yang tidak aman, seperti interent, atau
memvalidasi Digital Signature. Verifikasi dari RSA adalah salah satu operasi yang
paling umum dilakukan dalam sistem yang terhubung ke jaringan.
RSA mendapatkan keamanannya dari kesulitan memfaktorkan bilangan bulat
besar yang merupakan produk dari dua bilangan prima besar.
Algoritma pembangkitan public key dan private key adalah bagian paling
kompleks dari kriptografi RSA. Dua bilangan prima besar, p dan q, dihasilkan dengan
menggunakan algoritma uji primality Rabin-Miller. Modulus, n, dihitung dengan
mengalikan p dan q. nomor ini digunakan oleh public key dan privae key dan
menyediakan tautan di antara mereka. Panjangnya, biasanya dinyatakan dalam bit,
disebut key length.
Public key terdiri dari modulus n dan eksponen publik, e, yang biasanya
ditetapkan pada 65537, karena merupakan bilangan prima yang tidak terlalu besar.
Angka e tidak harus berupa bilangan prima yang dipilih secara rahasia, karena public
key dibagikan dengan semua orang.
Privat key terdiri dari modulus n dan eksponen privat d, yang dihitung
menggunakan algoritma Extended Euclidean untuk menemukan invers multiplikatif
berkenaan dengan jumlah n.
Cara Kerja Algorima RSA
Audi menghasilkan kunci RSA-nya dengan memilih dua bilangan prima: p = 11
dan q = 13. Modulusnya adalah n = p × q = 143. Jumlahnya adalah n ϕ (n) = (p − 1) x
(q − 1) = 120. Dia memilih 7 untuk kunci publik RSA-nya dan menghitung kunci privat
RSA-nya menggunakan algoritma Extended Euclidean, yang memberinya 103.
Avril ingin mengirimkan pesan terenkripsi kepada Audi, M, jadi ia memperoleh
kunci publik RSA (n, e) yang, dalam contoh ini, adalah (143, 7). Pesan plaintext -nya
hanya nomor 9 dan dienkripsi ke dalam ciphertext
M e mod n = 9 7 mod 143 = 48 = C
Ketika Audi menerima pesan Avril, ia mendekripsi dengan menggunakan kunci privat
RSA-nya (d, n) sebagai berikut:
C d mod n = 48 103 mod 143 = 9 = M
Untuk menggunakan kunci RSA untuk menandatangani pesan secara digital,
Audi perlu membuat hash - intisari pesannya ke Avril - mengenkripsi nilai hash dengan
kunci privat RSA-nya, dan menambahkan kunci ke pesan. Avril kemudian dapat
memverifikasi bahwa pesan telah dikirim oleh Audi dan belum diubah dengan
mendekripsi nilai hash dengan kunci publiknya. Jika nilai ini cocok dengan hash dari
pesan asli, maka hanya Audi yang bisa mengirimnya - otentikasi
Audi tentu saja dapat mengenkripsi pesannya dengan kunci publik RSA Avril -
kerahasiaan - sebelum mengirimnya ke Avril. Sebuah sertifikat digital berisi informasi
yang mengidentifikasi pemilik sertifikat dan juga berisi kunci publik pemilik. Sertifikat
ditandatangani oleh otoritas sertifikat yang menerbitkannya, dan sertifikat itu dapat
menyederhanakan proses mendapatkan kunci publik dan memverifikasi pemiliknya.
Keamanan RSA
Keamanan RSA bergantung pada kesulitan komputasi untuk memfaktorkan
bilangan bulat besar. Ketika daya komputasi meningkat dan algoritma pemfaktoran
yang lebih efisien ditemukan, kemampuan untuk memperhitungkan jumlah yang lebih
besar dan lebih besar juga meningkat.
Kekuatan enkripsi secara langsung terkait dengan ukuran kunci, dan
menggandakan panjang kunci dapat memberikan peningkatan kekuatan secara
eksponensial, meskipun hal itu mengganggu kinerja. Kunci RSA biasanya 1024- atau
2048-bit, tetapi para ahli percaya bahwa kunci 1024-bit tidak lagi sepenuhnya aman
terhadap semua serangan. Inilah sebabnya mengapa pemerintah dan beberapa industri
bergerak ke panjang kunci minimum 2048-bit.
Kecuali sebuah terobosan tak terduga dalam komputasi kuantum , akan
diperlukan bertahun-tahun sebelum kunci yang lebih lama diperlukan, tetapi kriptografi
kurva eliptik (ECC) mendapatkan dukungan dari banyak pakar keamanan sebagai
alternatif RSA untuk menerapkan kriptografi kunci publik. Itu dapat membuat kunci
kriptografi lebih cepat, lebih kecil dan lebih efisien.
Perangkat keras dan lunak modern siap ECC, dan popularitasnya cenderung
meningkat, karena dapat memberikan keamanan yang setara dengan daya komputasi
yang lebih rendah dan penggunaan sumber daya baterai, menjadikannya lebih cocok
untuk aplikasi seluler daripada RSA. Akhirnya, tim peneliti, termasuk Adi Shamir,
salah satu penemu RSA, telah berhasil menciptakan kunci RSA 4096-bit menggunakan
kriptanalisis akustik; Namun, setiap algoritma enkripsi rentan terhadap serangan.
5. Algoritma Merkle-Hellman Knapsack
Merkle-Hellman Knapsack merupakan kriptosistem yang menggunakan
algoritma asymmetries. Kelebihan algoritma asymmetries 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 ini mempunyai tiga proses mekanisme :
1. Proses pertama pertama adalah proses pembangkitan kunci publik dan kunci
privat
2. Proses enskripsi
3. Proses deskripsi
Sebelum melakukan ketiga proses tersebut ada beberapa mekanisme algoritma, anatara
lain:
1. Pertama kita 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 bilanganbilangan baru yang lebih besar daripada jumlah
semua bilangan yang sebelumnya dipilih
2. Setelah memilih knapsack yang sederhana S = [s1, s2,…,sm], kita memilih
sebuah bilangan pengali b dan di modulus p.
• Bilangan mod seharusnya adalah angka yang lebih besar daripada
jumlah semua si dan merupakan bilangan prima
• Pengali tidak mempunyai factor persekutuan dengan modulus.
3. Mencari kunci publik, kita mengganti setiap bilangan si dalam knapsack
sederhana dengan ketentuan
4. Proses Enkripsi
• Pesan plaintext P bisa dituliskan dalam bentuk: P = [p1, p2,..., pk]
• Membagi pesan ke dalam blok bit-bit m , P0 = [pl , p2,..., pm], P1 =
[pm+1,..., p2m], dan selanjutnya. (m adalah bilangan pembatas dalam
knapsack)
• Memilih nilai dengan mengubah dari bentuk 1 bit kedalam Pi
selanjutnya Pi disajikan sebagai vector yang dipilih untuk element t.
• Nilai ciphertext merupakan: Pi * t, target menggunakan blok Pi untuk
memilih vector
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 * Ci untuk beberapa bilangan
ciphertext Ci
• Dimulai w-1 * Ci = S * P mod n, solusi untuk target w-1 * Ci adalah
blok plaintext Pi , dimana adalah pesan asli yang di enkripsi.
• Kelebihan algoritma asymmetries ini adalah proses pendistribusian
kunci pada media yang tidak aman seperti internet, tidak memerlukan
kerahasian. 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 tetap disimpan (tidak didistribusikan).
MerkleHellman 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. 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
6. Algoritma A5
Algoritma A5 merupakan jenis algoritma yang pertama kali dikembangkan
pada tahun 1987 ketika pengguna GSM hanya terbatas di wilayah Eropa. Pada saat itu
algoritma ini bernama A5/1. Kemudian pengembangan terus dilakukan untuk
meningkatkan keamanan algoritma hinggapada tahun 1989 A5/2 berhasil
dikembangkan. Kedua algoritma ini pada saat itu sangat dirahasiakan oleh
pihak-pihak yang mengembangkannya dan oleh penyedia layanan GSM sampai pada
akhirnya informasi mengenai algoritma ini dapat diketahui oleh masyarakat umum
pada tahun1994 dan berhasil di reverse engineered oleh Marc Briceno pada tahun
1999 melalui sebuah telepon genggam biasa.Walaupun demikian algoritma A5/1
akhirnya tetap digunakan untuk mengamankan komunikasi suara pada tahun 2000
ketika layanan telepon selular mulai berkembang pesat dan penggunaannya
semakin luas. Sampai saat ini pengembangannya sudah sampai pada generasi
ketiga yaitu algoritmaA5/3.Berbeda dengan algoritma A5/1 dan A5/2, algoritma
A5/3 merupakan algoritma block chipper yang diadaptasi dari algoritma
KASUMI. KASUMI dibuat oleh Secure AlgorithmsGroups of Experts (SAGE,
bagian dari ETSI,sebuah badan standar di Eropa. KASUMI sendiri adalah
pengembangan dari algoritma MISTY1. GSM (Global System for Mobile) adalah
jaringan selular yang paling banyak digunakan saat ini. GSM adalah telepon
selular digital pertama setelah era analog. Masalah dari sistem analog adalah
kemungkinan untuk melakukan pengkloningan telepon untuk melakukan
panggilan telepon terhadap orang lain dengan maksud penipuan, selain itu
system analog juga berpotensi dapat melakukan penyadapan (eavesdrop) panggilan
telepon. Jaringan GSM bertujuan untuk memperbaiki masalah tersebut dengan
mengimplementasikan autentifikasiyang kuat antara telepon selular dan MSC
(mobileservice switch center), mengimplementasikan enkripsi data yang kuat pada
transmisi udara antara MS dan BTS. GSM adalah standar eropa untuk komunikasi
selular digital. GSM dideklarasikan pada tahun 1982 pada European Conference of
Post and Telecommunication Administrations (CEPT). Lebih lanjut, sejarah GSM
sebagai standar komunikasi digital disepakati dalam GSM MoU pada tahun 1987,
dimana 18 negara sepakat untuk mengimplementasikan jaringan selular yang
berbasis GSM. Pada tahun 1991 Jaringan GSM pertama kali muncul.Jaringan GSM
saat ini digunakan algoritma A3, A8, dan A5 dalam system 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
TransceiverStation).
Namun pada sistem pengamanan dengan menggunakan algoritma
iniditemukan kelemahan-kelemahan yang memungkinkan terjadinya penyadapan data
ataupun penipuan identitas pelanggan. Digunakan pula jaringan feistel atau dan
chiper berulang. 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 algoritmaini adalah 64 bit Kc, ditambah
inputanberupa nomer frame TDMA dalam suatumultiframe. Output yang
dihasilkan berupasepasang 114 bit codeword (S1 dan S2)untuk arah downlink
dan uplink. Selanjutnyamasing-masing codeword di-XOR dengan114 bit plain text
untuk menghasilkan 114bit chipertext yang akan dikirimkan.
7. RC4
RC4 dirancang pada tahun 1987 oleh Ron Rivest dan merupakan salah satu
stream cipher perangkat lunak yang paling luas dan digunakan dalam protokol populer,
seperti SSL, WEP dan PDF. Dalam lingkup perangkat lunak, RC4 tergolong simple dan
ringan.
RC4 menghasilkan bit stream pseudo-acak (key-stream). Seperti halnya stream
cipher, ini dapat digunakan untuk enkripsi dengan menggabungkannya dengan
plaintext menggunakan bit-wise XOR. Dekripsi dilakukan dengan cara yang sama
(karena XOR merupakan operasi simetris).
Untuk menghasilkan aliran kunci, sandi menggunakan keadaan internal rahasia yang
terdiri dari dua bagian:
1. Permutasi dari semua 256 byte (dilambangkan "S" di bawah).
2. Dua pointer indeks 8-bit (dilambangkan "i" dan "j").
Permutasi diinisialisasi dengan variabel panjang kunci, biasanya antara 40 dan
256 bit, menggunakan algoritma penjadwalan kunci (KSA). Kemudian bit stream akan
dihasilkan oleh algoritma generasi pseudo-acak.
Pada tahap pencarian RC4, Byte output dipilih dengan mencari nilai-nilai S (i)
dan S (j), menambahkannya dan dimodulo 256, kemudian mencari jumlah dalam S; S
(S (i) + S (j)) digunakan sebagai byte dari key-stream, K.
8. PGP (Pretty Good Privacy)
PGP adalah singkatan dari "Pretty Good Privacy," dan merupakan enkripsi yang
paling sering digunakan untuk mengirim pesan terenkripsi antara dua orang. PGP
menggabungkan beberapa fitur terbaik dari kriptografi kunci konvensional dan publik.
PGP merupakan hybrid cryptosystem. Ketika pengguna mengenkripsi plaintext dengan
PGP, PGP pertama-tama mengompres plaintext. Kompresi data menghemat waktu
transmisi modem dan ruang disk dan, yang lebih penting, memperkuat keamanan
kriptografi. Sebagian besar teknik cryptanalysis mengeksploitasi pola yang ditemukan
dalam teks untuk memecahkan sandi. Kompresi mengurangi pola-pola ini dalam teks,
sehingga sangat meningkatkan resistensi terhadap analisis kriptografi. (File yang terlalu
pendek untuk dikompres atau tidak kompres dengan baik tidak dikompres.)
Cara kerja PGP adalah dengan mengenkripsi pesan menggunakan kunci publik
yang terkait dengan pengguna tertentu; ketika pengguna menerima pesan, mereka
menggunakan kunci pribadi yang hanya diketahui oleh mereka untuk proses dekripsi.
9. Digital Signature
Pendahuluan
Digital Signature adalah proses yang menjamin bahwa isi pesan belum diubah
dalam perjalanan. Saat Anda, server, menandatangani dokumen secara digital, Anda
menambahkan hash (enkripsi) satu arah dari konten pesan menggunakan pasangan
public keys dan private keys anda.
Klien Anda masih bisa membacanya, tetapi proses menciptakan "signature"
yang hanya dapat didekripsi oleh public key server. Klien, menggunakan server public
key, kemudian dapat memvalidasi pengirim serta integritas konten pesan.
Digital Signature seperti "fingerprint" elektronik. Dalam bentuk pesan berkode, tanda
tangan digital secara aman mengaitkan penanda tangan dengan dokumen dalam
transaksi yang direkam. Digital Signature menggunakan format standar yang diterima,
yang disebut Public Key Infrastructure (PKI) , untuk memberikan tingkat keamanan
tertinggi dan penerimaan universal. Mereka adalah implementasi teknologi tanda
tangan spesifik elektronik (eSignature).
Cara Kerja
Tanda tangan digital dapat dianggap sebagai nilai numerik yang
direpresentasikan sebagai urutan karakter. Penciptaan tanda tangan digital adalah
proses matematika yang kompleks yang hanya dapat dibuat oleh komputer.
Ketika penandatangan menandatangani dokumen secara elektronik, Signature
dibuat menggunakan private key milik penandatangan, yang selalu disimpan dengan
aman oleh penandatangan. Algoritma matematika bertindak seperti cipher, membuat
data yang cocok dengan dokumen yang ditandatangani, disebut hash, dan mengenkripsi
data itu. Data terenkripsi yang dihasilkan adalah Digital Signature. Tanda tangan juga
ditandai dengan waktu dokumen ditandatangani. Jika dokumen berubah setelah
penandatanganan, tanda tangan digital tidak valid.
Pertimbangkan skenario di mana Avril harus menandatangani file atau email
secara digital dan mengirimkannya ke Audi.
• Avril memilih file yang akan ditandatangani secara digital atau mengklik
'masuk' di aplikasi emailnya
• Nilai hash dari konten file atau pesan dihitung oleh komputer Avril
• Nilai hash ini dienkripsi dengan Kunci Penandatanganan Avril (yang
merupakan Private Keys) untuk membuat Digital Signature.
• Sekarang, file asli atau pesan email beserta Digital Signature dikirim ke Audi.
• Setelah Audi menerima pesan yang ditandatangani, aplikasi terkait (seperti
aplikasi email) mengidentifikasi bahwa pesan telah ditandatangani. Komputer
Audi kemudian melanjutkan ke:
• Dekripsi Digital Signature menggunakan Publik Keys milik Avril
• Hitung hash dari pesan asli
• Bandingkan hash (a) yang telah dihitung dari pesan yang diterima dengan (b)
hash yang didekripsi yang diterima dengan pesan Avril.
• Perbedaan dalam nilai hash akan mengungkapkan pengrusakan pesan.
Cara membuat Digital Signature
Anda memerlukan sertifikat digital untuk menandatangani dokumen secara
digital. Namun, jika Anda membuat dan menggunakan sertifikat yang ditandatangani
sendiri, penerima dokumen Anda tidak akan dapat memverifikasi keaslian tanda tangan
digital Anda. Mereka harus mempercayai sertifikat yang Anda tandatangani secara
manual.
Jika Anda ingin penerima dokumen Anda dapat memverifikasi keaslian tanda
tangan digital Anda, maka Anda harus mendapatkan sertifikat digital dari CA
terkemuka. Setelah mengunduh dan menginstal sertifikat - Anda akan dapat
menggunakan tombol 'Tanda' dan 'Enkripsi' pada klien email Anda untuk mengenkripsi
dan menandatangani email secara digital. Ini lebih masuk akal dalam skenario bisnis,
karena meyakinkan penerima bahwa itu benar-benar dikirim oleh Anda dan bukan oleh
peniru.
Bergantung pada Otoritas Sertifikat yang Anda gunakan, Anda mungkin
diminta untuk memberikan informasi spesifik. Mungkin juga ada batasan dan batasan
kepada siapa Anda mengirim dokumen untuk penandatanganan dan urutan
pengirimannya. Antarmuka DocuSign memandu Anda melalui proses dan memastikan
bahwa Anda memenuhi semua persyaratan ini. Ketika Anda menerima dokumen untuk
ditandatangani melalui email, Anda harus mengotentikasi sesuai persyaratan Otoritas
Sertifikat dan kemudian "menandatangani" dokumen dengan mengisi formulir online.
Jenis-jenis Digital Signature
Platform pemrosesan dokumen yang berbeda mendukung dan memungkinkan
pembuatan berbagai jenis tanda tangan digital.
• Adobe mendukung - tanda tangan digital bersertifikat dan persetujuan
• Microsoft Word mendukung - tanda tangan digital yang terlihat dan tidak
terlihat
•
Beberapa jenis Digital Signature yaitu :
• Certified Signatures
Menambahkan tanda tangan sertifikasi ke dokumen PDF menunjukkan
bahwa Anda adalah penulis dokumen dan ingin mengamankan dokumen dari
gangguan.
Dokumen PDF bersertifikat menampilkan pita biru unik di bagian atas
dokumen. Ini berisi nama penandatangan dokumen dan penerbit sertifikat untuk
menunjukkan kepengarangan dan keaslian dokumen
.
• Approval Signatures
Approval Signatures pada dokumen dapat digunakan dalam alur kerja
bisnis organisasi Anda. Mereka membantu mengoptimalkan prosedur
persetujuan organisasi Anda. Prosesnya melibatkan pengambilan persetujuan
yang dibuat oleh Anda dan orang lain dan menanamkannya dalam dokumen
PDF.
Adobe memungkinkan tanda tangan untuk memasukkan rincian seperti
gambar tanda tangan fisik Anda, tanggal, lokasi, dan meterai resmi.
• Visible Digital Signatures
Ini memungkinkan satu pengguna atau banyak pengguna untuk secara
digital menandatangani satu dokumen. Tanda tangan akan muncul pada
dokumen dengan cara yang sama seperti tanda tangan diterapkan pada dokumen
fisik.
• Invisible Digital Signatures
Dokumen dengan tanda tangan digital yang tidak terlihat membawa
indikasi visual pita biru di bilah tugas. Anda dapat menggunakan tanda tangan
digital yang tidak terlihat ketika Anda tidak harus atau tidak ingin menampilkan
tanda tangan Anda, tetapi Anda perlu memberikan indikasi keaslian dokumen,
integritasnya, dan asal-usulnya.
10. Digital Certificate
Digital Certificate (Sertifikat digital) adalah “kata sandi” elektronik yang
memungkinkan seseorang, organisasi untuk bertukar data secara aman melalui Internet
menggunakan public key infrastructure (PKI). Sertifikat Digital juga dikenal sebagai
sertifikat kunci publik atau sertifikat identitas. Sertifikat digital berbagi kunci publik
yang akan digunakan untuk enkripsi dan otentikasi.
Sertifikat digital 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.
Kriptografi kunci publik bergantung pada pasangan kunci: satu kunci pribadi
untuk dipegang oleh pemilik dan digunakan untuk menandatangani dan mendekripsi,
dan satu kunci publik yang dapat digunakan untuk enkripsi data yang dikirim ke pemilik
kunci publik atau otentikasi pemegang sertifikat. Sertifikat digital memungkinkan
entitas untuk membagikan kunci publik mereka dengan cara yang dapat diautentikasi.
Sertifikat digital juga digunakan oleh semua browser web dan server web untuk
memberikan jaminan bahwa konten yang diterbitkan belum dimodifikasi oleh pelaku
yang tidak sah, dan untuk berbagi kunci untuk mengenkripsi dan mendekripsi konten
website. Sertifikat digital juga digunakan dalam konteks lain, baik online maupun
offline, untuk memberikan jaminan kriptografis dan privasi data.
Meskipun dimungkinkan bagi suatu entitas untuk membuat PKI sendiri dan
mengeluarkan sertifikat digitalnya sendiri – dan dalam beberapa kasus pendekatan ini
mungkin terjadi, misalnya ketika organisasi mempertahankan PKI sendiri untuk
mengeluarkan sertifikat untuk penggunaan internalnya- sebagian besar sertifikat digital
dikeluarkan oleh certificate authority (CA). CA dianggap pihak ketiga yang tepercaya
dalam konteks PKI; menggunakan pihak ketiga yang tepercaya untuk menerbitkan
sertifikat digital memungkinkan individu untuk memperluas kepercayaan mereka pada
CA dan dapat dipercayanya sertifikat digital yang dikeluarkannya.
Ada tiga jenis sertifikat digital yang digunakan oleh server web dan browser
web untuk mengotentikasi melalui internet. Sertifikat digital ini digunakan untuk
menautkan server web untuk domain ke individu atau organisasi yang memiliki
domain.
Sertifikat ini biasanya disebut sebagai sertifikat SSL meskipun protokol SSL telah
digantikan oleh protokol Transport Layer Security (TLS).
• Domain Validated (DV SSL) menawarkan jumlah jaminan paling sedikit
tentang pemegang sertifikat. Pelamar untuk sertifikat SSL DV hanya perlu
menunjukkan bahwa mereka memiliki hak untuk menggunakan nama domain.
Meskipun sertifikat ini dapat memberikan jaminan bahwa data sedang dikirim
dan diterima oleh pemegang sertifikat, mereka tidak memberikan jaminan
tentang siapa entitas tersebut.
• Organization Validated (OV SSL) memberikan jaminan tambahan tentang
pemegang sertifikat; selain mengonfirmasi bahwa pemohon memiliki hak untuk
menggunakan domain, pemohon sertifikat OV SSL menjalani konfirmasi
tambahan selain kepemilikan mereka atas domain. Konfirmasi tambahan bisa
berupa panggilan telepon dari penerbit sertifikat atau menunjukkan dokumen
kepemilikan organisasi dll.
• Extended Validation (EV SSL) dikeluarkan hanya setelah pemohon mampu
membuktikan identitas mereka hingga CA merasa cukup. Proses pemeriksaan
meliputi verifikasi keberadaan entitas yang mengajukan sertifikat,
memverifikasi bahwa identitas cocok dengan catatan resmi, memverifikasi
bahwa entitas berwenang untuk menggunakan domain dan mengonfirmasi
bahwa pemilik domain telah mengesahkan penerbitan sertifikat.
Jenis sertifikat SSL ini tersedia dari CA untuk domain web, meskipun metode
dan kriteria yang tepat untuk sertifikat ini berkembang karena industri CA beradaptasi
dengan kondisi dan aplikasi baru.
Selain sertifikat SSL, ada jenis sertifikat digital lain yang digunakan untuk tujuan lain.
Sertifikat penandatanganan kode dapat dikeluarkan untuk organisasi atau individu yang
menerbitkan perangkat lunak. Sertifikat ini digunakan untuk membagikan kunci publik
yang menandatangani kode perangkat lunak, termasuk tambalan dan pembaruan
perangkat lunak. Sertifikat penandatanganan kode ini dapat menyatakan keaslian kode
yang ditandatangani.
Sertifikat klien, juga disebut ID digital, dikeluarkan untuk individu untuk
mengikat identitas mereka ke kunci publik dalam sertifikat. Individu dapat
menggunakan sertifikat ini untuk menandatangani pesan atau data lain secara digital;
individu juga dapat menggunakan kunci pribadi mereka untuk mengenkripsi data yang
penerima dapat mendekripsi menggunakan kunci publik di sertifikat klien.
11. MD5
Dalam kriptografi, MD5 ialah fungsi hash kriptografik yang digunakan secara
luas dengan hash value 128-bit. Pada standart Internet (RFC 1321), MD5 telah
dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum
digunakan untuk melakukan pengujian integritas sebuah berkas.
MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash
function sebelumnya, MD4. Pada tahun 1996, sebuah kecacatan ditemukan dalam
desainnya, walau bukan kelemahan fatal, pengguna kriptografi mulai menganjurkan
menggunakan algoritme lain, seperti SHA-1 (klaim terbaru menyatakan bahwa SHA-1
juga cacat). Pada tahun 2004, kecacatan-kecacatan yang lebih serius ditemukan
menyebabkan penggunaan algoritme tersebut dalam tujuan untuk keamanan jadi makin
dipertanyakan.
MD5 sendiri merupakan singkatan dari Message Digest 5 yang merupakan
fungsi hash kriptografi yang banyak digunakan, gagasan yang ada didalam algoritma
MD5 ini sendiri adalah mengambil data acak baik tulisan atau biner sebagai input dan
menghasilkan ukuran nilan hasi tetap sebagai outputnya.
Data Masukan / Data Input bisa saja berupa ukuran atau panjang tapi data
outputnya dipastikan berupa ukuran yang ditetapkan, berapapun ukuran yang
dimasukan akan menghasilkan ukuran tetap algoritma MD5 32 digit hex. Contoh:
tulisan testkata MD5 nya adalah ed6098dc46d504208cd5674f91822d8a dan huruf a
MD5 nya adalah 0cc175b9c0f1b6a831c399e269772661.
MD5 menenkripsi tulisan menjadi digit hex. Dengan menggunakan fitur ini bisa
meningkatkan keamanan file / akun / tulisan dari hacker karena apa yang mereka baca
adalah kumpulan digit hex bukan string asli tulisan tersebut.
Saat ini dapat diketahui, dengan beberapa jam kerja, bagaimana proses
pembangkitan kerusakan MD5. Yaitu dengan membangkitkan dua byte 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 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 pengguna 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-byte 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.
Daftar Pustaka
http://kriptografijaringan.blogspot.com/2016/03/enkripsi-algoritma-aes-advanced.html,
“Enkripsi Algoritma AES (Advanced Encryption Standard)”, 2016. [Online, diakses
tanggal 5 September 2019 Pukul 15.12 WIB].
http://klinikinformatikacyber.blogspot.com/2016/03/sistem-kerja-des-idea-dan-aes-ii.html,
“Penjelasan Dan Sistem Kerja International Data Encryption Algorithm (IDEA)”,
2016. [Online, diakses tanggal 5 September 2019 Pukul 15.20 WIB].
Rouse, Margaret. https://searchsecurity.techtarget.com/definition/RSA, “RSA Algorithm
(Rivest-Shamir-Adleman)”, 2014. [Online, diakses tanggal 5 September 2019 Pukul
15.10 WIB].
Yus Jayusman, Uro Abdulrohim,. https://studylibid.com/doc/16570/algoritma-kriptografi-a5-
dan-elgamal-nama-penulis-1, “ALGORITMA KRIPTOGRAFI A5 DANELGAMAL”,
2014. [Online, diakses tanggal 5 September 2019 Pukul 16.10 WIB].
Munir, Rinaldi, Perancangan Algoritma Stram Cipher denga Chaos, Institut Teknologi
Bandung, 2005
João Santos, Pedro Rosa. 2014. https://paginas.fe.up.pt/~ei10109/ca/rc4.html diakses pada
5 September 2019.
Benoit. 2009. http://www.networklife.net/2009/07/etude-de-wep-et-rivest-cipher-4/ diakses
pada 5 September 2019.
João Santos, Pedro Rosa. 2014. https://www.makeuseof.com/tag/pgp-me-pretty-good-
privacy-explained/ diakses pada 5 September 2019.
Adrian perrig. 2010. https://users.ece.cmu.edu/~adrian/630-f04/PGP-intro.html diakses
pada 5 September 2019.
Sectigo Limited. 2019. What is Digital Signature?. https://www.instantssl.com/digital-
signature diakses pada 5 September 2019.
DocuSign. 2019. How Digital Signature Work. https://www.docusign.com/how-it-
works/electronic-signature/digital-signature/digital-signature-faq diakses pada 5
September 2019.
https://www.beritabebas.com/definisi/digital-certificate/, “Digital Certificate”, 2019. [Online,
diakses tanggal 5 September 2019 Pukul 16.12 WIB].
https://www.posciety.com/apa-itu-md5-pengertian-penjelasan-lengkap/, “Apa itu MD5”,
2019. [Online, diakses tanggal 5 September 2019 Pukul 16.19 WIB].
https://id.wikipedia.org/wiki/MD5, “MD5”, 2019. [Online, diakses tanggal 5 September
2019 Pukul 16.12 WIB].