Contoh Kriptografi Rail Fence Dalam Aktivitas Bahasa Java



Kriptografi transposisi ialah salah satu metode kriptografi yang mana cara enkripsinya ialah dengan  mengubah letak dari teks pesan yang akan di enkripsi berdasar kunci tertentu. Dan cara dekripsinya ialah dengan cara mengembalikan letak dari pesan tersebut menurut kunci.

Salah satu algoritma dalam kriptografi transposisi ialah transposisi rail fence, disamping algoritma lain ibarat : transposisi route, transposisi kolom,  transposisi ganda, transposisi Myszkowski.

Berikut ialah pola transposisi rail fence dalam bahasa Java, silakan dinikmati …..

Baca Juga


// File Name: RailFence.java
import java.util.*;
class RailFenceBasic{
 int depth;
 String Encryption(String plainText,int depth)throws Exception
 {
  int r=depth,len=plainText.length();
  int c=len/depth;
  char mat[][]=new char[r][c];
  int k=0;
   
  String cipherText="";
   
  for(int i=0;i< c;i++)
  {
   for(int j=0;j< r;j++)
   {
    if(k!=len)
     mat[j][i]=plainText.charAt(k++);
    else
     mat[j][i]='X';
   }
  }
  for(int i=0;i< r;i++)
  {
   for(int j=0;j< c;j++)
   {
    cipherText+=mat[i][j];
   }
  }
  return cipherText;
 }
  
  
 String Decryption(String cipherText,int depth)throws Exception
 {
  int r=depth,len=cipherText.length();
  int c=len/depth;
  char mat[][]=new char[r][c];
  int k=0;
   
  String plainText="";
   
   
  for(int i=0;i< r;i++)
  {
   for(int j=0;j< c;j++)
   {
    mat[i][j]=cipherText.charAt(k++);
   }
  }
  for(int i=0;i< c;i++)
  {
   for(int j=0;j< r;j++)
   {
    plainText+=mat[j][i];
   }
  }
   
  return plainText;
 }
}

class RailFence{
 public static void main(String args[])throws Exception
 {
  RailFenceBasic rf=new RailFenceBasic();
                Scanner scn=new Scanner(System.in);
                int depth;
   
                String plainText,cipherText,decryptedText;
                 
                System.out.println("Enter plain text:");
                plainText=scn.nextLine();
                 
                System.out.println("Enter depth for Encryption:");
                depth=scn.nextInt();
                
  cipherText=rf.Encryption(plainText,depth);
  System.out.println("Encrypted text is:\n"+cipherText);
                 
                decryptedText=rf.Decryption(cipherText, depth);
                 
  System.out.println("Decrypted text is:\n"+decryptedText);
   
 }
}

Tampilan dikala sanksi :

Enter plain text:
railfencecipher
Enter depth for Encryption:
3
Encrypted text is:
rlnchafcieieepr
Decrypted text is:

railfencecipher

Artikel Terkait

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel