Tutorial Pemrograman Kriptografi C++ dan Java

Zae
Sandi Vigenère adalah metode menyandikan teks alfabet dengan menggunakan deretan sandi Caesar berdasarkan huruf-huruf pada kata kunci. Sandi Vigenère merupakan bentuk sederhana dari sandi substitusi polialfabetik. Kelebihan sandi ini dibanding sandi Caesar dan sandi monoalfabetik lainnya adalah sandi ini tidak begitu rentan terhadap metode pemecahan sandi yang disebut analisis frekuensi. Giovan Batista Belaso menjelaskan metode ini dalam buku La cifra del. Sig. Giovan Batista Belaso (1553); dan disempurnakan oleh diplomat Perancis Blaise de Vigenère, pada 1586. Pada abat ke-19, banyak orang yang mengira Vigenère adalah penemu sandi ini, sehingga, sandi ini dikenal luas sebagai "sandi Vigenère".
Sandi ini dikenal luas karena cara kerjanya mudah dimengerti dan dijalankan, dan bagi para pemula sulit dipecahkan. Pada saat kejayaannya, sandi ini dijuluki le chiffre indéchiffrable (bahasa Prancis: 'sandi yang tak terpecahkan'). Metode pemecahan sandi ini baru ditemukan pada abad ke-19. Pada tahun 1854, Charles Babbage menemukan cara untuk memecahkan sandi Vigenère. Metode ini dinamakan tes Kasiski karena Friedrich Kasiski-lah yang pertama mempublikasikannya.
Cara kerja


Tabel Vigenère, atau tabula recta, dapat digunakan untuk enkripsi maupun dekripsi sandi Vigenère.
Sandi Vigenère sebenarnya merupakan pengembangan dari sandi Caesar. Pada sandi Caesar, setiap huruf teks terang digantikan dengan huruf lain yang memiliki perbedaan tertentu pada urutan alfabet. Misalnya pada sandi Caesar dengan geseran 3, A menjadi D, B menjadi E and dan seterusnya. Sandi Vigenère terdiri dari beberapa sandi Caesar dengan nilai geseran yang berbeda.
Untuk menyandikan suatu pesan, digunakan sebuah tabel alfabet yang disebut tabel Vigenère (gambar). Tabel Vigenère berisi alfabet yang dituliskan dalam 26 baris, masing-masing baris
Zae


pada zaman Romawi juga telah ada alat pembuat pesan rahasia yang disebut dengan scytale yang digunakan oleh tentara Sparta. Scytale merupakan suatu alat yang memiliki pita panjang dari daun papyrus dan di tambah dengan sebatang silinder.
Cara kerja dari Scytale Mula-mula, pengirim pesan menuliskan pesannya di atas pita papirus yang digulung pada batang silinder. Setelah itu, pita dilepaskan dan dikirim. Misalkan batang silinder cukup lebar untuk menulis 6 huruf di atas pita dan bisa memuat 3 huruf secara melingkar

Jika pengirim ingin mengirimlan pesan

TOLONG SAYA DISERANG

Maka ia menulis di atas batang silinder

T O L O N G
S A Y A D I
S E R A N G

Jika pitanya dilepaskan dari batang silinder, maka tulisan yang muncul di atas pita adalah:

TSSOAELYROAANDNGIG

Untuk membaca pesan yang dikirim, penerima pesan melilitkan kembali pita tersebut pada batang silinder yang berdiamter sama. Yang menjadi kunci dalam penyandian scytale adalah diameter batang atau jumlah huruf yang dapat ditulis secara melingkar
Zae
Salah satu contoh dari “substitution cipher” adalah Rot13. Metode rot13 merupakan metode enkripsi yang mengubah suatu huruf menjadi huruf yang letaknya 13 posisi dari huruf semula. Misalnya ‘A’ akan berubah menjadi ‘N’ , ‘B’ berubah menjadi ‘O’, dst .Rumusnya seperti dibawah ini :

C = ROT13(input)
Jika kita ingin merubahnya ke huruf semula, yang harus dilakukan adalah melakukan proses ROT13 sebanyak 2x dari huruf awalnya.
M = ROT13(ROT13(input))
Misal : Plaintext : ZAENAL
Ciphertextnya : MNRANY
Zae
a. Definisi Kriptografi
Apa sih itu kriptografi ????, Menurut sumber [buku jelajah kriptologi] yang saya baca kriptografi itu:

*. Seni atau ilmu untuk menjaga kerahasiaan berita.
*. Ilmu menyandikan dan mengupas berita-berita kode rahasia atau sandi.
*. Pembelajaran dari teknik matematika yang terkait dengan aspek dalam keamanan informasi yaitu confidentiality, data integrity, entity authentication dan data origin authentication.
*. Ilmu yang berguna untuk mengacak (kata yang lebih tepat adalah masking) data sedemikian rupa sehingga tidak bisa dibaca oleh pihak ketiga. Tentu saja data yang diacak harus bisa dikembalikan ke bentuk semula oleh pihak yang berwenang.
*. Masih banyak lagi, cari aja sendiri.OK

b. Pesan, Plainteks, Cleartext dan Cipherteks

Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks. Agar pesan tidak bisa dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks

c. Pengirim dan Penerima

Pengirim adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima adalah entitas yang menerima pesan. Entitas di sini dapat berupa orang, mesin (komputer), kartu kredit dan sebagainya.

d. Enkripsi(Enchiper,Encrypt,Encode,Act of scrambling) dan dekripsi (Decipher,Decrypt, Decode, Descrambling with secret key)

Proses menyandikan plainteks menjadi cipherteks disebut enkripsi. Sedangkan proses mengembalikan cipherteks menjadi plainteks semula dinamakan dekripsi

e. Cipher dan kunci (Key,Cryptovariable)

Algoritma kriptografi disebut juga cipher yaitu aturan untuk enciphering dan deciphering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Konsep matematis yang mendasari algoritma kriptografi adalah relasi antara dua buah himpunan yaitu himpunan yang berisi elemen-elemen plainteks dan himpunan yang berisi cipherteks. Enkripsi dan dekripsi adalah fungsi yang memetakan elemen-elemen antara kedua himpunan tersebut.

f. Sistem kriptografi

Sistem kriptografi merupakan kumpulan yang terdiri dari algoritma kriptografi, semua plainteks dan cipherteks yang mungkin dan kunci.

g. Penyadap

Penyadap adalah orang yang berusaha mencoba menangkap pesan selama ditransmisikan dengan tujuan mendapatkan informasi sebanyak-banyaknya mengenai sistem kriptografi yang digunakan untuk berkomunikasi dengan maksud untuk memecahkan cipherteks.

h. Kriptanalisis dan kriptologi

Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalis. Kriptologi adalah studi mengenai kriptografi dan kriptanalisis.