Pada tulisan saya kali ini akan membahas program enskripsi menggunakan JAVA dengan metode blocking
Dengan menggunakan enkripsi blocking dipilih jumlah lajur dan kolom untuk penulisan pesan. Jumlah lajur atau kolom menjadi kunci bagi kriptografi dengan teknik ini. Plaintext dituliskan secara vertikal ke bawah berurutan pada lajur, dan dilanjutkan pada kolom berikutnya sampai seluruhnya tertulis. Ciphertext-nya adalah hasil pembacaan plaintext secara horizontal berurutan sesuai dengan blok-nya.
contoh:
"Math 310 Proves!"
kalimat tersebut akan dimasukkan secara vertikal kedalam tabel yang telah ditentukan jumlah baris dan kolomnya (4 angka 0 pada baris paling bawah merupakan kotak kosong)
lalu masing-masing hurufnya akan dikeluarkan secara horizontal dari dalam tabel
hasilnya adalah:
M3r!a1o t0v h e Ps
contoh programnya adalah
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author USER
*/
import java.util.Scanner;
public class block {
public static void main (String []args){
Scanner in = new Scanner(System.in);
String en = "";
System.out.print("masukkan kalimat= ");
String kal = in.nextLine();
System.out.print("masukkan kolom= ");
int baris = in.nextInt();
System.out.print("masukkan baris= ");
int kolom = in.nextInt();
char[][]ch = new char[baris][kolom];
int pos=0;
for(int j=0;j<kolom;j++){
for(int i=0;i<baris;i++){
if(kal.length()>pos)
ch[i][j] = kal.charAt(pos++);
}
}
System.out.println();
for(int i=0; i<baris;i++){
for(int j=0;j<kolom;j++){
char kt = ch[i][j];
en += (char)kt;
}
}
System.out.println("hasil= "+en);
}
}
HASILNYA ADALAH