Kode Program Vigenere Cypher pada Bahasa Pemrograman Java

 on Friday, July 24, 2015  

Berikut ini saya coba sajikan satu rutin aplikasi ciphering dalam bahasa / program Java untuk melakukan enkripsi dan dekripsi  Vigenere cipher.
Vigenère cipher adalah metode enkripsi teks abjad dengan menggunakan serangkaian cipher Caesar berbeda berdasarkan suatu kata kunci. Boleh dikatakan bahwa  Vigenère  merupakan bentuk sederhana substitusi polyalphabetic.


The Vigenère cipher, ditemukan oleh seorang Prancis, Blaise de Vigenère di abad ke-16. Ini adalah cipher polyalphabetic karena menggunakan dua atau lebih huruf cipher untuk mengenkripsi data. Dengan kata lain, huruf- huruf dalam cipher Vigenère diubah berdasarkan lompatan  yang berbeda, biasanya dilakukan dengan menggunakan kata atau frase sebagai kunci enkripsi.
Berbeda dengan cipher monoalphabetic, cipher polyalphabetic tidak rentan terhadap analisis frekuensi, karena lebih dari satu huruf dalam plaintext dapat diwakili oleh satu huruf di enkripsi.

                package com.darto.vigenecipher;
                public class VigenereCipher
                {
                    public static String encrypt(String text, final String key)
                    {
                        String res = "";
                        text = text.toUpperCase();
                        for (int i = 0, j = 0; i < text.length(); i++)
                        {
                            char c = text.charAt(i);
                            if (c < 'A' || c > 'Z')
                                continue;
                            res += (char) ((c + key.charAt(j) - 2 * 'A') % 26 + 'A');
                            j = ++j % key.length();
                        }
                        return res;
                    }
                 
                    public static String decrypt(String text, final String key)
                    {
                        String res = "";
                        text = text.toUpperCase();
                        for (int i = 0, j = 0; i < text.length(); i++)
                        {
                            char c = text.charAt(i);
                            if (c < 'A' || c > 'Z')
                                continue;
                            res += (char) ((c - key.charAt(j) + 26) % 26 + 'A');
                            j = ++j % key.length();
                        }
                        return res;
    }

                    public static void main(String[] args)
                    {
                        String key = "MYJAVALAMP";
                        String message = "Blog saya ada di blogspot !";
                        String encryptedMsg = encrypt(message, key);
                        System.out.println("String: " + message);
                        System.out.println("Encrypted message: " + encryptedMsg);
                        System.out.println("Decrypted message: " + decrypt(encryptedMsg, key));
                    }

                }
Kode Program Vigenere Cypher pada Bahasa Pemrograman Java 4.5 5 Agustinus Darto Iwan Setiawan Friday, July 24, 2015 Artikel Indo, Java, Kriptografi, Open Source, Pemrograman, Substitusi, Cryptograpy Berikut ini saya coba sajikan satu rutin aplikasi ciphering dalam bahasa / program Java untuk melakukan enkripsi dan dekripsi  Vigenere cip...


No comments:

Post a Comment

Silakan berkomentar ....