Tugas Eksplorasi 7 — Topik “Cryptography”

Jason Nathan W
8 min readOct 27, 2023

--

Laporan merupakan hasil kegiatan eksplorasi mandiri dari perkuliahan Pengantar Informatika dan Komputasi untuk Pertemuan Ketujuh tentang Keamanan Informasi di Universitas Pelita Harapan. Tulisan ini disusun oleh Jason Nathan Winarko dan Raphael Yoshua Echad. Pada tugas eksplorasi ini, kami mempelajari beberapa metode “Cryptography” melalui situs https://www.cryptool.org/en/cto/.

Definisi “Cryptography

Cryptography berasal dari bahasa Yunani kuno kripto dan graphia yang dimana kripto berarti menyembunyikan dan graphia berarti tulisan. Cryptography merupakan suatu cara atau metode untuk melindungi,mengamankan data atau informasi dengan cara merubah ke bentuk yang sulit dipahami dengan menggunakan berbagai algoritma atau pola yang dibuat oleh pembuatnya, tujuan Cryptography adalah untuk merahasiakan data yang penting misalnya data-data militer atau data yang bersifat sensitif, kerahasiaan berlaku untuk siapa saja kecuali terhadap orang yang memiliki kuncinya.

Terdapat 3 kategori metode terkait ilmu “Cryptography” yang kami eksplorasi yaitu: Cypher, Codings, Cryptanalysis.

Secara general, yang termasuk kategori Cypher adalah metode atau algoritma yang dipakai dalam Cryptography untuk mengenkripsi (plaintext ke ciphertext) dan mendekripsi pesan (ciphertext ke plaintext), Cypher adalah prosedur yang ditentukan untuk mengubah data atau informasi sehingga hanya pihak yang memiliki kunci yang dapat mengembalikan ke bentuk semula.

Sedangkan yang termasuk metode Codings adalah metode yang merubah atau mengkonversi data ke bentuk lain namun berbeda dengan Cypher, coding dibuat tidak untuk keamanan. Coding merupakan mengubah data dengan tujuan dapat digunakan pada suatu sistem atau protokol atau mungkin dengan tujuan secara cepat dan aman, misalnya ASCII atau unicode.

Sementara Cryptanalysis adalah suatu bidang atau ilmu yang berkaitan dengan analisis, pemecahan atau memahami cara kerja dari algoritma di suatu pesan yang terenkripsi tanpa mengetahui kunci rahasianya, Cryptanalysis bertujuan untuk mencari kelemahan dari sebuah algoritma kriptografi, dan tentunya hal tersebut dapat membantu mengembangkan dan mengganti algoritma yang cacat. Cryptanalysis lebih sering digunakan pada instansi-instansi atau perusahaan besar untuk mengembangkan dan menguji keamanan dari sebuah enkripsi terutama pada suatu data atau informasi yang bersifat sensitif.

Metode — Metode yang akan dibahas:

Untuk kategori “Cypher” terdapat banyak metode. Pada kegiatan eksplorasi kali ini, kami memilih 3 metode yang akan kami bahas lebih lanjut yaitu: [Vigenere, Multiplicative, dan Atbash]. Sedangkan untuk kategori Codings, 1 metode yang akan kami bahas adalah [ASCII]. Untuk kategori Cryptanalysis, 1 metode yang akan kami bahas adalah [Number Converter].

CYPHER

  1. Vigenere

Metode Vigenere adalah metode yang menggunakan suatu kunci yang panjangnya sesuai dengan teks aslinya atau plaintext. Metode ini menggunakan teknik sandi caesar dan menggunakan karakter pada kunci yang tersedia.

  • Algoritma:
  1. Menuliskan kunci di bawah Plain Text dan ulangi alfabet hingga panjangnya sama dengan Plain Text.
  2. Menggunakan sandi caesar
  • Contoh: kunci = “KEY” dan Plain Text = “INFORMATIKA”
  • Karena kunci “KEY” lebih pendek daripada Plain Text, maka kunci akan diulang hingga panjangnya sama dengan plain text: “KEYKEYKEYKE”

a) Tulis alfabet A-Z pada baris pertama

b) i. Tulis alfabet yang dimulai dari huruf pertama kunci pada baris kedua

ABCDEFGHIJKLMNOPQRSTUV WXYZ

KLMNOPQRSTUVWXYZABCDEF GHIJ

ii. Tulis alfabet yang dimulai dari huruf kedua kunci pada baris kedua

ABCDEFGHIJKLMNOPQRSTUV WXYZ

EFGHIJKLMNOPQRSTUVWXYZ ABCD

iii. Tulis alfabet yang dimulai dari huruf ketiga kunci pada baris kedua

ABCDEFGHIJKLMNOPQRSTUV WXYZ

YZABCDEFGHIJKLMNOPQRST UVWX

Ulangi hingga seluruh huruf pada plaintext tercakup

  • Cocokkan huruf plaintext dengan kunci, sehingga teks terenkripsi dari “INFORMATIKA” = Srdyvkkxgue
  • Sejarah:

Metode Vigenere berkembang pada tanggal 15 April 1523 (abad ke-16) di Saint Porcain di Perancis dan dikembangkan oleh tokoh kriptologi yang hebat, bernama Blaise de Vigenere. Kata sandi ini sempat dianggap tidak dapat dipecahkan, namun seseorang bernama Friedrich Wilhelm Kasiski berhasil memecahkan kode atau sandi ini.

  • Keunggulan

Metode Vigenere menghindari kemunculan frekuensi huruf yang sama dalam teks terenkripsi dengan pola yang sama. Kepanjangan huruf dalam kata kunci juga memberikan pengaruh untuk tingkat keamanan. Semakin panjang kata kunci yang digunakan, maka keamanan akan semakin meningkat. Pada contoh diatas, jumlah huruf pada kata kunci adalah 3, sehingga menggunakan perulangan sandi caesar sebanyak tiga kali.

  • Kelemahan

Metode ini hanya memerlukan beberapa langkah untuk mengetahui teks. Kata sandi dapat ditebak dengan cara menentukan panjang kunci terlebih dahulu yang didapatkan dari gabungan frasa. Ketika panjang kunci sudah diketahui, maka penyerang hanya perlu menganalisis frekuensi terhadap berbagai variasi sandi caesar.

2. Multiplicative

Metode multiplicative merupakan sebuah sandi yang merubah plaintext menjadi teks yang sesuai dengan perkalian yang tetap. Terdapat beberapa kriteria untuk pemilihan key. Kunci tersebut harus prima terhadap panjangnya alfabet, artinya tidak boleh memiliki faktor yang sama. Semakin tinggi jumlah key, maka akan semakin sulit untuk ditebak dan dibobol. Key juga perlu untuk diubah secara berkala untuk menghindari pembobolan.

  • Algoritma

a) Konversi huruf ke angka

b) Kalikan angka dengan key. Jika hasil angka lebih besar dari 26, maka di modulo 26.

c) Hasil angka dikonversikan menjadi huruf dan teks terenkripsi sudah didapat.

Contoh:

Plain Text: “CODING” dan Key = 3

a) Konversi “CODING” menjadi 2 14 3 8 13 6

b) Dikali 3, jika hasil lebih dari 26 maka di modulo 26. Sehingga hasil menjadi 6 16 9 24 13 18

c) Konversi menjadi huruf, sehingga teks terenkripsi: GQJYNS

  • Keunggulan

Metode multiplicative ini merupakan suatu teknik yang efisien karena mudah dipahami dan mudah untuk diimplementasikan. Sandi ini tidak memerlukan daya komputasi yang besar karena kesederhanaannya. Selain itu, karena hanya menggunakan matematika sederhana, maka proses enkripsi dan dekripsi dapat dilakukan dengan cepat

  • Kelemahan

Karena kesederhanaannya dengan menggunakan matematika sederhana, metode ini hanya cocok untuk aplikasi skala kecil. Orang lain dapat dengan mudah membobol sandi ini karena kuncinya yang tidak acak. Pembobol bisa dengan mudah menebak dan mencoba berulang kali, karena huruf plaintext yang sama akan terus dipetakan dengan teks sandi yang sama. Saat ini, metode multiplicative tidak cocok untuk digunakan pada sistem komunikasi.

3. Atbash

Cipher Atbash adalah cipher yang digunakan dalam kriptografi. Cipher Atbash adalah salah satu cipher yang menerapkan sifat substitusi yang dimana setiap huruf dengan huruf yang berlawanan dalam alfabet. Atbash biasanya sering digunakan dalam abjad Hebrew, namun tetap dapat diterapkan pada alfabet lainnya.

  • Algoritma

Jika diterapkan pada abjad latin, berikut adalah tabel nya :

Berikut adalah contoh penerapan Cipher Atbash

  • Konversi dari Alfabet ke Atbash

a) “CIPHER ATBASH”= Xrksvi Zgyzhs

b) “CRYPTOGRAPHY”

  • Konversi dari Atbash ke Alfabet

a) Xrksvi Zgyzhs

Xrksvi Zgyzhs = Cipher Atbash

b) XIBKGLTIZKSB

XIBKGLTIZKSB = CRYPTOGRAPHY

  • Keunggulan

Meskipun Cipher Atbash merupakan salah satu cipher yang sederhana dan mudah dipecahkan, Cipher Atbash memiliki dampak yang besar terhadap perkembangan Cryptography. Atbash merupakan salah satu Cipher tertua yang pernah ditemukan. Selain itu dikarenakan kemudahan algoritma dari Cipher Atbash, Cipher Atbash merupakan salah satu Cipher yang cocok untuk pembelajaran dan pemahaman dasar kriptografi.

  • Kekurangan

Cipher Atbash merupakan cipher yang sangat mudah untuk di dipecahkan. Pola algoritma yang sangat sederhana membuat Cipher Atbash dapat mudah ditebak dan dipecahkan. Selain itu kunci dari Cipher Atbash merupakan suatu kunci tetap yang tidak akan berubah, sehingga jika kita lihat pada perkembangan kriptografi sekarang, Cipher Atbash sudah tidak cocok digunakan keamanan modern.

CODING

  1. ASCII

ASCII atau singkatan dari American Standard Code for Information Interchange merupakan format pengkodean karakter yang paling sering digunakan pada komputer. ASCII (American Standard Code for Information Interchange) adalah kode karakter 7-bit dengan nilai dari 0 hingga 127 (128). Kode ASCII adalah subset dari kode UTF-8. Kode ASCII mencakup karakter kontrol dan karakter yang dapat dicetak: angka, huruf besar, dan huruf kecil.

  • Latar Belakang

ASCII adalah standar pengkodean karakter utama pertama dalam komputasi. Kebanyakan sistem komputer modern menggunakan Unicode, juga dikenal sebagai Unicode Global Character Standard. Ini adalah standar pengkodean karakter yang mencakup pengkodean ASCII.

ASCII pertama kali dikembangkan oleh sebuah komite yang diketuai oleh Robert W.Bemer. Ia adalah seorang insinyur IBM pada pertengahan tahun 1960. Versi pertama ASCII (Dikenal sebagai ASCII-63) diperkenalkan pada tahun 1963, versi ini mencakup 128 karakter. Lalu pada tahun 1967, diperkenalkan versi kedua (ASCII-67).

Satuan Tugas Rekayasa Internet (IETF) mengadopsi ASCII sebagai standar data Internet ketika menerbitkan “Format ASCII untuk Pertukaran Jaringan”; sebagai RFC 20 pada tahun 1969. Dokumen Permintaan Komentar (RFC) menstandarkan penggunaan ASCII untuk data Internet dan diadopsi sebagai standar penuh pada tahun 2015. Pengkodean ASCII secara teknis sudah usang dan digantikan oleh Unicode.

  • Algoritma

Pemrograman mengadopsi desain set karakter ASCII agar dapat menyederhanakan tugas tertentu. Misalnya dalam mengubah 1 bit menjadi huruf kecil atau besar. Nilai biner untuk “a” kecil adalah 0110 0001. Sedangkan nilai biner untuk “A” kapital adalah 0100 0001. Dengan sistem kode seperti itu, developer akan lebih mudah mengkonversikan kode ASCII ke nilai numerik. Berikut adalah tabel ASCII

CRYPTANALYSIS

  1. Number Converter

Merupakan pengonversi bilangan menjadi empat sistem numerik, yaitu sistem bilangan desimal, biner, oktal, dan heksadesimal. Sistem bilangan biner merupakan bilangan yang berbasis 2 yang terdiri dari 2 angka saja, yaitu 0 dan 1. Sistem bilangan oktal merupakan bilangan yang berbasis 8 dan menggunakan angka 0–7. Sedangkan heksadesimal adalah bilangan yang berbasis 16 dan menggunakan angka 0–9 dan huruf A-F, dimana A=10, B=11, dan seterusnya hingga F= 15.

  • Latar belakang

Sistem bilangan merujuk pada cara untuk menggambarkan bilangan. Cara representasi bilangan ini dapat bervariasi. Sebuah bilangan dibuat sesuai dengan aturan sintaksis yang mengatur urutan angka, dan ini juga dikenal sebagai angka yang ditampilkan

  • Algoritma

a) Konversi dari Biner ke Desimal

Bilangan pertama (terdepan) dikalikan dengan 2⁰, bilangan kedua dikalikan dengan 2¹, dan seterusnya hingga 2^n

Contoh:

1101 = … Desimal

b) Konversi Oktal ke Desimal

Bilangan pertama (terdepan) dikalikan dengan 8⁰, bilangan kedua dikalikan dengan 8¹, dan seterusnya hingga 8^n

Contoh:

1240 Oktal = … Desimal

c) Konversi dari Hexadesimal ke Desimal

Bilangan pertama (terdepan) dikalikan dengan 16⁰, bilangan kedua dikalikan dengan 16¹, dan seterusnya hingga 16^n

Contoh:

7E0 Heksadesimal = … Desimal

  • Sejarah

Bilangan pertama kali ditemukan oleh manusia pada zaman dahulu menggunakan batu kerikil. Seiring perkembangan zaman, manusia kini menemukan sistem bilangan yang lebih modern.

Bilangan biner ditemukan oleh Gottfried Wilhelm Leibniz pada zaman ke 17.

Bilangan oktal ditemukan oleh salah satu suku Indian atau Amerika Asli di California bernama Suku Yuki.

Bilangan heksadesimal muncul karena perkemabangan komputer dan bertujuan agar manusia dapat membaca data dengan lebih mudah.

  • Keunggulan

Manusia dapat dengan mudah mengkonversi data dan mengamankan data. Bilangan yang dikonversi menjadi bentuk bilangan lain dapat menghindari pencurian data.

  • Kelemahan

Kesederhanaan dari konversi angka memudahkan peretas untuk mendapatkan data. Dengan sistem bilangan yang tetap dan tidak berubah, maka peretas dapat melakukan penyerangan berulang kali hingga berhasil.

Sumber:

https://aau.e-journal.id/senastindo/article/download/115/115/

https://osf.io/dj7yb/download

https://www.geeksforgeeks.org/what-is-multiplicative-cipher-in-cryptography/

Pengertian ASCII: Sejarah, Fungsi, Karakter dan Cara Kerja (tisucoding.com)

https://en.wikipedia.org/wiki/Atbash

https://bobo.grid.id/read/083587144/memahami-4-bilangan-komputer-biner-oktal-desimal-dan-heksadesimal?page=all

--

--