Kriptografi Substitusi Caesar Chiper dalam Bahasa Pemrograman Java

 on Thursday, July 2, 2015  



Dalam kriptografi, cipher Caesar, juga dikenal sebagai cipher pergeseran, kode Caesar (Caesar Code) atau pergeseran Caesar (Caesar Shift) , adalah salah satu teknik enkripsi yang paling sederhana dan paling banyak dikenal. 

Ini adalah jenis cipher substitusi dimana setiap huruf dalam plaintext diganti dengan huruf lain yang berada di beberapa huruf setelahnya. Misalnya, dengan pergeseran kiri 3, D akan digantikan oleh A, E akan menjadi B, dan sebagainya. Metode ini dinamai Julius Caesar, yang pertama kali menggunakan kriptografi ini.

Langkah enkripsi didalam cipher Caesar sering dimasukkan sebagai bagian dari skema kriptografi yang lebih kompleks, seperti cipher Vigenère, dan dalam aplikasi modern sistem ROT13. Cipher Caesar mudah dipecahkan apabila kunci pergeseran sudah ditemukan.

Transformasi dapat direpresentasikan dengan menyelaraskan dua huruf; alfabet cipher adalah alfabet biasa diputar ke kiri atau kanan dengan beberapa posisi. Misalnya, di sini adalah cipher Caesar menggunakan rotasi kiri tiga tempat, setara dengan pergeseran kanan 23 (parameter pergeseran digunakan sebagai kunci):

Plain:    ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher:  DEFGHIJKLMNOPQRSTUVWXYZABC

Ketika melakukan enkripsi, seseorang mengubah setiap huruf dari pesan asli  (plaintext)  dan menuliskan huruf yang sesuai dalam "cipher" line. Sedangkan saat mendeskripsi, dilakukan secara terbalik / membalik proses enkripsi yaitu dengan pergeseran kanan 3.

Jadi kalimat plainteks THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG akan diubah menjadi kalimat chiperteks GLGXNXQJ TXLFN EURZQ IRA MXPSV RYHU GLGXNXQJ ODCB GRJ

Berikut ini disajikan contoh code sandi / kriptgrafi tersebut diatas dengan bahasa Pemrograman Java

public class Cipher {
    public static void main(String[] args) {
         String str = "The quick brown fox Jumped over the lazy Dog";
         System.out.println( Cipher.encode( str, 12 ));
        System.out.println( Cipher.decode( Cipher.encode( str, 12), 12 ));
    }
     public static String decode(String enc, int offset) {
        return encode(enc, 26-offset);
    }
     public static String encode(String enc, int offset) {
        offset = offset % 26 + 26;
        StringBuilder encoded = new StringBuilder();
        for (char i : enc.toCharArray()) {
            if (Character.isLetter(i)) {
                if (Character.isUpperCase(i)) {
                    encoded.append((char) ('A' + (i - 'A' + offset) % 26 ));
                } else {
                    encoded.append((char) ('a' + (i - 'a' + offset) % 26 ));
                }
            } else {
                encoded.append(i);
            }
        }
        return encoded.toString();
    }

}
Kriptografi Substitusi Caesar Chiper dalam Bahasa Pemrograman Java 4.5 5 Darto Iwan Thursday, July 2, 2015 Artikel Indo, Java, Open Source, Kriptografi, Substitusi, Bahasa, Pemrograman Dalam kriptografi, cipher Caesar, juga dikenal sebagai cipher pergeseran, kode Caesar (Caesar Code) atau pergeseran Caesar (Caesar Sh...


4 comments:

  1. saya belum tahu hal ini ... ntar cari tahu deh...
    kunjungi dan komentar gan
    http://www.illustrationdesigners.com/

    ReplyDelete
    Replies
    1. OKe, makasih kunjungannya. Segera komen balik :D

      Delete
  2. Wah dulu pernah nyari kode ini pas ada tugas.. Malah baru ketemunya sekarang:(_

    ReplyDelete

Silakan berkomentar ....