Algoritma Kriptografi transposisi ini merupakan algoritma yang cukup sederhana dalam dunia enkripsi data dan merupakan salah satu algoritma yang belum modern (klasik). Algoritma transposisi ini kalau gak salah ceritanya dulu ada seorang yang mau menuliskan pesan rahasia ke raja. Nah tentu dong pesan rahasia itu akan dikirim lewat telik sandi ( jaman dahulu belum ada komputer, apalagi Internet :hammer: ). Akhirnya sang pengirim itu mempunyai akal yaitu dia menuliskan pesan rahasia tersebut dengan cara menggulung terlebih dahulu dengan menggunakan bambu sebagai porosnya. Kertasnya lalu ditulisi pesan rahasia secara vertikal. Setelah selesai menulis pesan tersebut, maka kertas tadi dicopot lagi gulungannya, dan terjadilah tulisan yang acak-acakkan. Tulisan inilah yang nantinya akan dikirim oleh telik sandi.
Untuk membaca ulang tulisan ini tentu harus dililitkan lagi pesan tersebut ke bambu yang diameternya sama. Sekian kisahnya, nah seiring berjalannya waktu karena komputer dan Internet sudah ditemukan sekarang gak usah pakai bambu lagi soalnya bambu udah susah dicari :p , dan sebagai gantinya adalah key yang digunakan buat mau berapa kali lilitan.
Oh ya contoh sederhananya ntar gini ( oh ya kalau salah ingetin ya, soalnya cuman modal ingatan doang -_- )
Misal kita nulis
Jangannakalkamu, terus kita pengen jadi 4 kolom ya berarti ntar jadinya
JAKA
ANAM
NNLU
GAKZ
Kan tadi pengennya jadi 4 kolom, nah kolom yang terakhir misal kata udah abis diberi huruf terserah (ditentuin aja Z misalnya )
Nah sekarang bagaimana algoritmanya ? seperti ini nduk 😀
input(plaintext) // user disuruh menginput kata yang belum terenkripsi input(key) // user disuruh menginput key, mau berapa kolom sih hasilnya //kalau udah sekarang kita cari nih baris dan kolom yang nantinya akan terbentuk Baris <- roundup( panjang(plaintext) / key) Kolom <- key //ketika udah mari kita bikin sebuah matriks berordo baris x kolom Matriks[baris][kolom] //Nah kalau udah sekarang mulai masuk ke loopingan, oh ya sebelumnya biar mudah diberi inisialisasi dulu biar tahu hurufnya yang akan kita looping itu sampai mana Int posisi <- 0; //Nah sekrang mulai proses looping, oh ya memasukkannya berarti kan kebawah loopingnya berarti per kolom For I <- 0 to kolom do For j <- 0 to baris do If posisi < panjang(plaintext); Matriks[j][i] = plaintext.charAt(posisi); Posisi++ Else Matriks[j][i] = "Z"; //Dah habis itu cetak dengan cara per baris For I <- 0 to baris do For j <- 0 to kolom do Output(matriks[i][j]) |
Nah kurang lebih algoritmanya kek gitu hehe :D, silakan pakai bahasa yang enak buat implementasinya ya.
kalo untuk sandi permutasi bisa minta source code nya gak? bisa dlm bhsa c++ atopun java.
klo bisa krim ke email saya ya rismanovitadewi160595@gmail.com