Menerapkan konsep enkripsi Rot 13 pada Go. Sesuai namanya Rot 13 ( rotate by 13) adalah sebuah algoritma enkripsi dengan menggeser abjad sebanyak 13.
Enkripsi Caeser Cipher
Teknik enkripsi rot 13 merupakan bagian dari Caesar cipher yaitu teknik enkripsi dengan menggeser abjad pada plaintext sebanyak n. Misalnya kita menggeser A sebanyak 3 ke kanan maka akan menghasilkan D.
Caesar Cipher
Encryp(x) = (x+n) mod 26
Decrypt(x) = (x-n) mod 26
Sehingga pada teknik rot 13 menjadi
Rot 13
Encrypt(x) = (x+13) mod 26
Decrypt(x) = (x-13) mod 26
Variabel x merupakan kode ASCII dari plaintext , maka:
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: NOPQRSTUVWXYZABCDEFGHIJKLM
Pada Teknik ini chippertext akan kembali seperti plaintext bila kita melakukan 2 kali putaran. Mari kita buktikan.
x = 1
Encrypt(1) = (1+13) mod 26 = 14
Encrypt(14) = (14+13) mod 26 = 1
Hasilnya sama seperti semula yaitu 1
Enkripsi Rot 13 Dengan Golang
[gist id=”9a78c8d1dfcbcd85f1e448908cb82182″]
Karena pada kasus ini kita tidak mulai dari 1 melainkan dari kode ASCII maka menyesuaikan.
A = 65
= 65 + ( (65-65+13) % 26)
= 65 + 13
= 78
Maka hasilnya 78 = N
Kesimpulan
Kita telah berhasil menerapkan konsep enkripsi rot 13 pada bahasa pemrograman Go, maka tugas kalian adalah membuat descrip dari algoritma ini. Ingat chippertext dari rot 13 akan kembali ke plaintext bila dilakukan 2 kali putaran.
Baca Juga: Menerapkan Konsep MVC di Golang