24 September 2017

Pengenalan tentang Kriptografi

Kriptografi bukan hanya ilmu untuk membuat sebuah kode atau memecahkan sebuah kode. Kriptografi adalah analisis matematis dari sebuah tool yang digunakan untuk menjaga kerahasiaan, baik dari sudut pandang seseorang yang menyimpan rahasia dan orang yang berusaha mengetahuinya. Terkadang disebut juga Kriptologi yaitu gabungan dari ilmu kriptografi dan analisis sandi (Cryptanalysis).  Ada dua jenis pengkodean yang kita kenal yaitu :
  1. Pengkodean yang digunakan untuk menyamarkan informasi dan dimaksudkan untuk tetap dirahasiakan. (khusus untuk mereka yang membutuhkan komunikasi yang bersifat pribadi/rahasia.) 
  2. Pengkodean  yang digunakan untuk merangkum/meringkas informasi dalam format yang mudah digunakan, tidak memerlukan kerahasiaan. (terutama untuk memungkinkan pemeriksaan kesalahan.).

Encoding and decoding

Ada banyak cara untuk mengkodekan sebuah pesan. Yang paling mudah bagi kita adalah dengan hanya mewakili setiap huruf alfabet dalam Bahasa Inggris dengan bilangan bulat dari 1 sampai 26. Kita akan menggunakan Interactive Shell di bawah ini untuk mengubah pesan menjadi angka dan sebaliknya. Kita menyandikan pesan plaintext (tidak menggunakan spasi dan tanda petik), yang sebelumnya dirubah dulu menjadi huruf kapital kemudian kita bisa men-decode bilangan bulat positif (positive integer) tersebut kembali menjadi plaintext-nya.

Sekarang kita coba meng-encode dan men-decode huruf r, (Sebelum menjalankan interactive shell yang menggunakan fungsi encode dan decode, jangan lupa untuk menjalankan interactive shell yang berisi definisi encode dan decode seperti di atas, karena fungsi tersebut tidak termasuk ke dalam library Sage).

Berikutnya kita coba meng-encode kalimat dalam bahasa Ingris seperti di bawah ini (tentunya tanpa spasi dan tanda baca apapun).

Dari hasil encode di atas, dapat kita lihat bahwa terjadi banyak pengulangan angka seperti angka 5 untuk huruf E dan angka 1 untuk huruf A. Bandingkan dengan encoding dengan menggunakan 2 (dua) blok huruf dan 3 (tiga) blok huruf seperti di bawah ini.

Encode menggunakan 2 (dua) blok huruf, kita hanya melihat sekali pengulangan angka 228 yaitu pengulangan untuk huruf 'th' (kombinasi dua huruf yang paling sering muncul dalam bahasa Inggris). Dengan encode 2 (dua) blok huruf ini akan ada \(26^{2}=676\) kemungkinan kita bisa mengkombinasikan huruf-huruf tersebut. Bagaimana dengan encode menggunakan 3 (tiga) blok huruf? Akan ada \(26^{3}=17.576\) kombinasi. Akan tetapi perlu diingat bahwa saat ini kita hanya mengkodekan, belum membuat sesuatu yang sifatnya rahasia.

Encode menggunakan 3 (tiga) blok huruf sebagai berikut:
Sudah tidak terlihat lagi adanya pengulangan angka hasil encoding.

No comments:

Post a Comment

SAAT RESTORAN DIBUKA KEMBALI, INILAH YANG HARUS ANDA KETAHUI TENTANG AC, ALIRAN UDARA, DAN COVID-19

Pengunjung yang makan di restoran mungkin bisa memberi tahu banyak tentang bagaimana para penggiat bisnis restoran berusaha mengurangi risik...