KRIPTOGRAFI
Logo Kampus
Perkuliahan 6 (21 Oktober 2020),
Matakuliah : Keamanan
Sistem Komputer C31040319
Nama
Dosen :
Desi Rose Hertina, S.T., M.Kom.
Assalamu’alaikum
Warahmatullahi Wabarakatuh, Teman-teman. Kenalkan nih nama saya Lilies Cahyanti
NIM 201931272 dari Boyolali, Jawa Tengah. O iya Lilies sekarang di semester 3 ya Temen-temen pada
tahun ajaran 2020/2021 ini. Nah Lilies juga ambil Teknik Informatika loh.. hehe
Lilies
berasal dari Boyolali Jawa Tengah. Pada tau daerah Boyolali kan ya? Yupss hehe
jadi Boyolali itu dekat Surakarta. Di Boyolali terkenal akan susu sapi, buah
papaya, nasi tumpang, dan masih banyak lagi loh. Lilies sekarang baru di Pondok
Pesantren Nurush Shobah Boyolali sembari menunggu kuliah offline. Penasaran kan?
Yuk main ke Boyolali.. hehe
Yuk langsung aja kita ke pembahasan inti
yang unik ini. Kita bakal membahas tentang Web Browser dan Sistem Web. Wah apa
ya kira-kira? Yukk langsung cuss di bawah ini..
Kriptografi
Apa sih
Kriptografi itu?
Apakah sebenarnya
kriptografi itu? Kriptografi adalah ilmu mengenai teknik enkripsi dimana data
diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh
seseorang yang tidak memiliki kunci dekripsi. Dekripsi menggunakan kunci
dekripsi mendapatkan kembali data asli. Proses enkripsi dilakukan menggunakan
suatu algoritma dengan beberapa parameter.
Biasanya
algoritma tidak dirahasiakan, bahkan enkripsi yang mengandalkan kerahasiaan
algoritma dianggap sesuatu yang tidak baik. Rahasia terletak di beberapa
parameter yang digunakan, jadi kunci ditentukan oleh parameter. Parameter yang
menentukan kunci dekripsi itulah yang harus dirahasiakan (parameter menjadi
ekuivalen dengan kunci).
Dalam kriptografi
klasik, teknik enkripsi yang digunakan adalah enkripsi simetris dimana kunci
dekripsi sama dengan kunci enkripsi. Untuk public key cryptography, diperlukan
teknik enkripsi asimetris dimana kunci dekripsi tidak sama dengan kunci
enkripsi. Enkripsi, dekripsi dan pembuatan kunci untuk teknik enkripsi
asimetris memerlukan komputasi yang lebih intensif dibandingkan enkripsi
simetris, karena enkripsi asimetris menggunakan bilanganbilangan yang sangat
besar. Namun, walaupun enkripsi asimetris lebih “mahal” dibandingkan enkripsi
simetris, public key cryptography sangat berguna untuk key management dan
digital signature
Jadi, Cryptography
adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan oleh
cryptographer. Cryptanalysis adalah suatu ilmu dan seni membuka (breaking)
ciphertext dan orang yang melakukannya disebut cryptanalyst.
Bagaimana
Sejarah dari Kriptografi?
Kriptografi menurut catatan sejarah telah eksis sejak masa kejayaan
Yunani atau kurang lebih sekitar tahun 400 Sebelum Masehi. Alat yang digunakan
untuk membuat pesan tersembunyi di Yunani pada waktu itu disebut Scytale.
Scytale berbentuk batangan silinder dengan kombinasi 18 huruf.
Pada masa Romawi, di bawah kekuasaan Julius Caesar, penggunaan
kriptografi semakin intens karena pertimbangan stabilitas negara. Meski teknik
yang digunakan tak serumit Yunani, namun untuk memahami pesan kriptografi dari
masa Romawi terbilang cukup sulit untuk dikerjakan.
Berdasarkan
aspek historis kriptografi di atas, baik kriptografi klasik maupun modern
keduanya memiliki kesamaan prinsip yang besar dan tidak dapat disangsikan lagi,
yakni tujuan kriptografi adalah keamanan. Itulah layanan yang disediakan
kriptografi tanpa peduli dari masa mana kriptografi dibuat.
Melalui
layanan keamanan yang disediakan oleh jenis kriptografi tersebut, berbagai teks
penting dapat terjaga kerahasiaannya dan keotentikannya, sehingga antar pihak
yang berkorespondensi bisa saling menaruh kepercayaan. Kecuali apabila teknik
pembuatan kriptografi bocor ke pihak yang tidak dikehendaki.
Nah,
Apasih Tujuan dari Kriptografi?
Kriptografi
bertujuan untuk memberikan layanan keamanan informasi (Aspek-aspek Keamanan Informasi),
yaitu:
1.
Kerahasiaan (Confidentiality)
Merupakan layanan yang ditujukan untuk menjaga agar
pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak.
2.
Integritas Data (Integrity)
Merupakan layanan yang menjamin bahwa pesan masih
utuh/asli atau belum pernah dimanipulasi selama pengiriman.
3.
Otentikasi (Authentication)
Merupakan layanan yang berhubungan dengan identifikasi,
hak mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication
atau entity authentication) maupun mengidentifikasi kebenaran sumber
pesan (data origin authentication)
4.
Nir Penyangkalan (non repudiation)
Merupakan layanan untuk mencegah entitas yang
berkomunikasi melakukan penyangkalan yaitu pengirim pesan menyangkal melakukan pengiriman
atau penerima pesan menyangkal telah menerima pesan.
Bagaimana Proses
dari Kriptografi?
Untuk public key cryptography, diperlukan
teknik enkripsi asimetris dimana kunci dekripsi tidak sama dengan kunci
enkripsi. Enkripsi, dekripsi dan pembuatan kunci untuk teknik enkripsi
asimetris memerlukan komputasi yang lebih intensif dibandingkan enkripsi
simetris, karena enkripsi asimetris menggunakan bilanganbilangan yang sangat
besar. Namun, walaupun enkripsi asimetris lebih “mahal” dibandingkan enkripsi
simetris, public key cryptography sangat berguna untuk key management dan
digital signature.
Secara garis besar, proses enkripsi adalah
proses pengacakan “naskah asli” (plaintext) menjadi “naskah acak” (ciphertext)
yang “sulit untuk dibaca” oleh seseorang yang tidak mempunyai kunci dekripsi. Yang
dimaksud dengan “sulit untuk dibaca” disini adalah probabilitas mendapat
kembali naskah asli oleh seseorang yang tidak mempunyai kunci dekripsi dalam
waktu yang tidak terlalu lama adalah sangat kecil.
Jadi suatu proses enkripsi yang
baik menghasilkan naskah acak yang memerlukan waktu yang lama (contohnya satu
juta tahun)1 untuk didekripsi oleh seseorang yang tidak mempunyai kunci
dekripsi. Satu cara untuk mendapatkan kembali naskah asli tentunya dengan
menerka kunci dekripsi, jadi proses menerka kunci dekripsi harus menjadi
sesuatu yang sulit. Tentunya naskah acak harus dapat didekripsi oleh seseorang
yang mempunyai kunci dekripsi untuk mendapatkan kembali naskah asli. Walaupun
awalnya kriptografi digunakan untuk merahasiakan naskah teks, kini kriptografi
digunakan untuk data apa saja yang berbentuk digital.
Bagaimana Kunci
pada Algoritma Kriptografi?
Kriptografi Stream Cipher
Deretan kunci untuk enkripsi one-time pad
dapat dipandang sebagai suatu keystream yang tidak mempunyai periode.
Kriptografi stream cipher mencoba menggunakan konsep ini tetapi dengan
keystream yang mempunyai periode dan menggunakan generator yang relatif pendek
berupa kunci. Baik enkripsi onetime pad maupun stream cipher mendapatkan naskah
acak dari exclusive or (XOR) naskah asli dengan keystream, jadi keduanya
merupakan apa yang dinamakan Vernam cipher (lihat tabel 6.1) yang ditemukan
oleh Gilbert Vernam tahun 1917. Bedanya hanya pada pembuatan keystream:
• Untuk one-time pad, keystream
didapat langsung dari key generation (random number generation).
• Untuk stream cipher, keystream
didapat dari pseudo-random number generation menggunakan kunci enkripsi.
10010111001011101001. . . naskah asli
01001110001101001101. . . keystream
--------------------------------------------------
11011001000110100100. . . naskah acak
Tabel 6.1: Vernam Cipher
Berbeda dengan keystream untuk one-time
pad yang tidak mempunyai periode, keystream untuk stream cipher mempunyai periode
(kecuali jika naskah acak dijadikan feedback), meskipun periode sangat panjang.
Ini karena pseudorandom number generator adalah suatu deterministic finite
state automaton, jadi karena jumlah state finite dan kunci juga finite, maka
setelah seluruh kunci diproses, banyaknya state yang dapat dikunjungi terbatas
dan automaton akan kembali ke state yang pernah dikunjungi, dan karena
automaton bersifat deterministic, maka siklus akan diulang. Beberapa cara
pseudo-random number generation untuk mendapatkan keystream antara lain:
• menggunakan linear feedback
shift register (LFSR),
• menggunakan block cipher dalam
feedback mode (lihat bagian 7.2), dan
• menggunakan state automaton dalam software (contohnya RC4). Gambar 6.1 memperlihatkan suatu linear feedback shift register (LFSR).
Setiap stage i, 0 ≤ i ≤ L − 1 dipisahkan
menggunakan delay flip-flop, atau disebut juga latch. Setiap cL − i dimana 0 ≤
i ≤ L − 1 menentukan apakah stage i ditambahkan ke feedback s (modulo 2), jika
cL − i mempunyai nilai 1 maka stage i ditambahkan, sedangkan jika cL − i
mempunyai nilai 0 maka stage i tidak ditambahkan. Setiap clock cycle, output 1
bit didapat dari stage 0. Untuk membuat pseudo-random number generator,
beberapa LFSR biasanya dikombinasikan menggunakan fungsi non-linear. Gambar 6.2
memperlihatkan kombinasi LFSR menggunakan fungsi non-linear f. Beberapa
kelemahan stream cipher antara lain:
• Jika naskah asli dan naskah acak diketahui,
maka menggunakan xor kita bisa dapatkan keystream.
• Stream cipher rentan terhadap tampering.
Seseorang yang mengetahui posisi data tertentu dalam naskah acak dan mengetahui
nilai data tersebut bisa mengubahnya menggunakan xor.
Contohnya, angka 50 bisa diubah
menjadi angka 99 dengan melakukan x ⊕ (50 ⊕ 99), dimana x merepresentasikan 50 dalam naskah
acak. Efek serupa dengan penggunaan kunci secara berulang pada enkripsi
one-time pad juga mudah terjadi. Penggunaan stream cipher memang harus dengan
sangat hati-hati, oleh sebab itu buku ini tidak merekomendasikan penggunaan
stream cipher.
Bagaimana dengan Algoritma Kriptografi Hibrid?
Sistem ini mengggabungkan chiper simetrik dan asimetrik. Proses ini dimulai dengan negosiasi menggunakan chiper asimetrik dimana kedua belah pihak setuju dengan private key/session key yang akan dipakai. Kemudian session key digunakan dengan teknik chiper simetrik untuk mengenkripsi conversation ataupun tukar-menukar data selanjutnya. Suatu session key hanya dipakai sekali sesi. Untuk sesi selanjutnya session key harus dibuat kembali.
Pendistribusian Key
Dalam pendistribusian suatu key dapat dilakukan dengan bermacam cara misalnya download, diberikan secara langsung dsb. Untuk mencegah pemalsuan key oleh pihak ketiga maka diperlukan adanya certificate.
Protokol pernyetujuan key
Atau disebut juga protokol pertukaran key adalah suatu sistem dimana dua pihak bernegosiasi untuk menentukan secret value. Contohnya adalah SSL (secure socket layer).
Integritas data
Untuk meyakinkan kita akan suatu data yang diterima dari pihak ketiga apakah data tersebut bukan data asli atau data yang berbahaya kerna telah dirubah oleh pihak ketiga yang bermaksud tidak baik maka diperlukan adanya proses autentikasi. Autentikasi suatu data/dokuman dapat dilakukan dengan cara mengecek message digest-nya (MD). MD ini dibuat dengan cara memproses data/dokumen tersebut dengansuatu alghoritma tertentu. MD ini disertakan bersama data/dokumen tersebut.
Suatu MD dapat menjadi kuat jika dipergunakan bersama teknik kriptografi lainnya.
MAC (Message Authentication Method) /metode autentikasi data adalah contoh dari MD yang dipergunakan dengan suatu key. Teknik ini menghasilkan suatu nilai/data singkat berdasarkan data input dan key yang dipakai. Secara teori, hanya orang yang mempunyai key yang sama yang dapat membuat MAC yang sama dari suatu data input.
Cara autentikasi yang lain adalah misalnya dengan menggunakan kombinasi MD dan chiper asimetrik dimana MD dienkripsi lagi dengan private key. Hasil enkripsi MD dengan private key ini disebut dengan signature.
Autentikasi
Adalah proses untuk memeriksa kebenaran seseorang. Contohnya adalah penggunaan pasangan userid dan password.
Certificate
Certificate ini dikeluarkan oleh suatu badan yg terpercaya yang disebut dengan CA (certificate authority) seperti VeriSign, RSA dsb untuk seseorang bahwa orang tersebut dapat dipercaya atau diketahui data-datanya oleh CA sehingga dapat diminta pertanggungjawaban jika terjadi satu hal yang tidak diinginkan.
Certificate ini berisi informasi tentang CA, informasi tentang orang tsb dan public key orang tsb dan signature data-data diatas untuk verifikasi.
Proses verifikasi keaslian certificate dilakukan dengan urutan sbb:
- Menghitung MD isi certificate (kecuali bagian signature-nya)
- Mendekripsi signature menggunakan CA public key dan menghasilkan MD
- Membandingkan MD hasil dekripsi dengan MD yang dihitung. Jika cocok maka certificate tersebut valid dan didapatkan public key subject certificate tsb.
Teknik Dasar Kriptografi
ROT13
○ Pada sistem ini sebuah huruf
digantikan dengan huruf yang letaknya 13 posisi darinya.
○ Sebagai contoh, huruf “A”
digantikan dengan huruf “N”, huruf “B” digantikan dengan huruf “O”, dan
seterusnya.
○ Secara matematis, hal ini dapat
dituliskan sebagai:
■ C ROT13 = (M)
○ Untuk mengembalikan kembali ke
bentuk semulanya dilakukan proses enkripsi ROT13 dua kali. ■ M = ROT13(ROT13(M))
Teknik Blocking
Sistem enkripsi terkadang membagi
plaintext menjadi blok-blok yang terdiri dari beberapa karakter yang kemudian
dienkripsikan secara independen. Plaintext yang dienkripsikan dengan
menggunakan teknik blocking adalah :
Plain text-nya : 5 TEKNIK DASAR
KRIPTOGRAFI
Enkripsi-nya : 5KG KR TDRA EAIF
KSPI NAT IRO
● Dengan menggunakan enkripsi
blocking dipilih jumlah lajur dan kolom untuk penulisan pesan. Jumlah lajur
atau kolom menjadi kunci bagi kriptografi dengan teknik ini.
● Plaintext dituliskan secara
vertikal ke bawah berurutan pada lajur, dan dilanjutkan pada kolom berikutnya
sampai seluruhnya tertulis.
● Ciphertext-nya adalah hasil
pembacaan plaintext secara horizontal berurutan sesuai dengan blok-nya. Jadi
ciphertext yang dihasilkan dengan teknik ini adalah "5K G
KRTDRAEAIFKSPINAT IRO".
● Plaintext dapat pula ditulis
secara horizontal dan ciphertextnya adalah hasil pembacaan secara vertikal.
Teknik Permutasi
Salah satu teknik enkripsi yang
terpenting adalah permutasi atau sering juga disebut transposisi.
● Teknik ini memindahkan atau
merotasikan karakter dengan aturan tertentu.
● Prinsipnya adalah berlawanan
dengan teknik substitusi.
○ Dalam teknik substitusi,
karakter berada pada posisi yang tetap tapi identitasnya yang diacak.
○ Pada teknik permutasi, identitas
karakternya tetap, namun posisinya yang diacak.
● Sebelum dilakukan permutasi,
umumnya plaintext terlebih dahulu dibagi menjadi blok-blok dengan panjang yang
sama. Teknik Permutasi Untuk contoh sebelumnya, plaintext akan dibagi menjadi
blok-blok yang terdiri dari 6 karakter, dengan aturan permutasi sebagai berikut
:
Teknik Ekspansi
● Suatu metode sederhana untuk
mengacak pesan adalah dengan memelarkan pesan itu dengan aturan tertentu.
● Salah satu contoh penggunaan
teknik ini adalah dengan meletakkan huruf konsonan atau bilangan ganjil yang
menjadi awal dari suatu kata di akhir kata itu dan menambahkan akhiran
"an".
● Bila suatu kata dimulai dengan
huruf vokal atau bilangan genap, ditambahkan akhiran "i".
Teknik Pemampatan (Compaction)
● Mengurangi panjang pesan atau
jumlah bloknya adalah cara lain untuk menyembunyikan isi pesan.
● Contoh sederhana ini menggunakan
cara menghilangkan setiap karakter ke-tiga secara berurutan.
● Karakter-karakter yang
dihilangkan disatukan kembali dan disusulkan sebagai "lampiran" dari
pesan utama, dengan diawali oleh suatu karakter khusus, dalam contoh ini
digunakan "&".
Proses yang terjadi untuk plain text kita adalah :
● Aturan penghilangan karakter dan
karakter khusus yang berfungsi sebagai pemisah menjadi dasar untuk proses
dekripsi ciphertext menjadi plaintext kembali.
● Dengan menggunakan kelima teknik
dasar kriptografi diatas, dapat diciptakan kombinasi teknik kriptografi yang
amat banyak, dengan faktor yang membatasi semata-mata hanyalah kreativitas dan
imajinasi kita.
● Walaupun sekilas terlihat
sederhana, kombinasi teknik dasar kriptografi dapat menghasilkan teknik
kriptografi turunan yang cukup kompleks, dan beberapa teknik dasar kriptografi
masih digunakan dalam teknik kriptografi modern.
Alhamdulillah untuk pertemuan
kita di tulisan sederhana ini sampai segini dulu ya, Teman-teman. Saya minta
maaf bila banyak salah dan semoga bermanfaat untuk kita semua. Sampai jumpa di
tulisan selanjutnya…
Wassalamu’alaikum
Warahmatullahi Wabarakatuh
Sumber:
C:/Users/STT%20PLN/Downloads/Kriptografi.pdf
file:///C:/Users/STT%20PLN/Downloads/Modul_Kriptografi.pdf
Komentar
Posting Komentar