Find us on Google+ Kill the code: encryption
Showing posts with label encryption. Show all posts
Showing posts with label encryption. Show all posts

Sunday, 24 February 2013

Rail Fence Cipher in JAVA

In the rail fence cipher, the plaintext is written downwards and diagonally on successive "rails" of an imaginary fence, then moving up when we reach the bottom rail. When we reach the top rail, the message is written downwards again until the whole plaintext is written out. The message is then read off in rows.
 
This is program for Rail Fence Cipher JAVA.

public class railfence {
    public static void main(String args[])
    {
        String input = "inputstring";
        String output = "";
        int len = input.length(),flag = 0;

        System.out.println("Input String : " + input);
        for(int i=0;i<len;i+=2) {
           
            output += input.charAt(i);
        }
        for(int i=1;i<len;i+=2) {
           
            output += input.charAt(i);
        }
       
        System.out.println("Ciphered Text : "+output);
    }
}







Monday, 8 October 2012

Rail Fence Cipher with Decryption

RAIL FENCE Cipher with Decryption



#include<conio.h>
#include<stdio.h>
void main()
{
    int i,j,k=0,l=0,m=0;
    char s[20],a[10],b[10],s1[10],s2[10];
    char decry[20];
    clrscr();
    printf("enter a string:");
    scanf("%s",s);
    for(i=0;i<strlen(s);i++)
    {
        if(i%2==0)
        {
            a[k]=s[i];
            k++;
        }
        else
        {
            b[l]=s[i];
            l++;
        }
    }
    for(i=0;i<k;i++)
    {
        printf("%c ",a[i]);
        s[m]=a[i];
        m++;
    }
    for(i=0;i<l;i++)
    {
        printf(" %c",b[i]);
        s[m]=b[i];
        m++;
    }
    printf("\n");
    k=0;

    printf("\n\ncipher text is %s",s);

    //DEVCRYPTION CODE...

    printf("\n\nTaking above string as input to this code...\n\n");
    l=0;
    //s1[];
    //s2[];
    for(i=0;i<strlen(s)/2;i++) //FOR s1
    {
        s1[k++]=s[i];
    }
    k=0;
    for(;i<strlen(s);i++) s2[k++]=s[i];
    k=0;
    l=0;
    for(i=0;i<strlen(s1)+strlen(s2);i++)
    {
        if(i%2==0)
        {
            s[i]=s1[k];
            k++;
        }
        else
        {
            s[i]=s2[l];
            l++;
        }
    }
    printf("\nFINAL OUTPUT : %s",s);
    getch();
}


Saturday, 18 February 2012

Vigener Cipher in C


// WAP to implement Vignere cipher in C.

#include<conio.h>
#include<stdio.h>
void main()
{
  int i,j,b=65,c=65,d=65,t[20];
  char s[20],a[26][26];
  clrscr();
  for(i=0;i<26;i++)
  {
    for(j=0;j<26;j++)
    {
      if(b<91)
      {
        a[i][j]=b;
        b++;
      }
      else
      {
        a[i][j]=d;
        d++;


      }
    }
    c++;
    b=c;
    d=65;
  }
  for(i=0;i<26;i++)
  {
    for(j=0;j<26;j++)
    {
      printf("%c",a[i][j]);
    }
    printf("\n");
  }
  printf("\nEnter the text : ");
  gets(s);
  for(i=0;i<strlen(s);i++)
  {
    t[i]=s[i]-65;
  }
  for(i=0;i<strlen(s);i++)
  {
    s[i]=(a[t[i]][i]);
  }
  for(i=0;i<strlen(s);i++)
  {
    printf("%c",s[i]);
  }
  getch();
}


/*OUTPUT


Enter the text : 


D E A R
 |   |  |  |
 |   |  |  |
 |   |  |  |           // Cipher text is : 
D F C V
 |  |   |  |
 |  |   |  |
 |  |   |  |
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B 
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D 
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E 
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F 
H I J K L M N O P Q R S T U V W X Y Z A B C D E F G 
 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I 
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J 
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K 
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L 
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M 
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N 
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O 
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P 
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q 
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R 
T U V W X Y Z A B C D E F G H I J K L M N O P Q R S 
U V W X Y Z A B C D E F G H I J K L M N O P Q R S T 
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 
W X Y Z A B C D E F G H I J K L M N O P Q R S T U V 
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W 
Y Z A B C D E F G H I J K L M N O P Q R S T U V W X 
Z A B C D E F G H I J K L M N O P Q R S T U V W X Y 


 */

Monday, 6 February 2012

Play-Fair Cipher in C


/* Play Fair Cipher in C... */



#include<stdio.h>
#include<conio.h>
void main()
{
int i,j,isI=0,l,k=0,start=0,same=0,k1=0;
int i1,j1,i2,j2,i11,jj;
char alph[5][5],chr[25],chr2[25],character,chr1='a',chr_ex[25];
char txt[25],txt2[25];
clrscr();
printf("\nEnter the text : ");
scanf("%s",chr);
for(i=0;i<strlen(chr2);i++) /*TO PREVENT STRING FROM BEING PRINTED WITH GARBAGE CHARACTER...*/
{
chr_ex[i]='-';
}
for(i=0;i<strlen(chr);i++)
{
printf("\nchr[%d] = %c",i+1,chr[i]);
chr_ex[i]=chr[i];
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
alph[i][j]='-';
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
character=chr[++k];
for(l=k-1;l>=0;l--) //FOR REPEATING CHARACTERS...
{
if(character==chr[l])
{
chr[k]='-';
break;
}
}
}
}
k=0;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(start++<strlen(chr))
if(chr[k]!='-') //FOR i AND j
{
if(chr[k]=='i' || chr[k]=='j')
{
if(isI==0)
{
alph[i][j]=chr[k];
isI=1;
}
else
{
if(chr[k]=='i') chr[k]='i';
if(chr[k]=='j') chr[k]='j';
j--;
}
}
else alph[i][j]=chr[k];
}
else
{
chr[k]='-';
j--;
}
k++;
}
}
chr1--;
k1=0;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(alph[i][j]=='-')
{
same=0;
chr1++;
for(k1=0;k1<strlen(chr);k1++)
{
if(chr1==chr[k1])
{
same=1; //else same=0;
j--;
break;
}
}
if(same!=1)
{
if(chr1=='i' || chr1=='j')
{
if(isI==0)
{
alph[i][j]=chr1;
isI=1;
}
else j--;
}
else alph[i][j]=chr1;
}
}
}
}
printf("\n\n\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%c ",alph[i][j]);
}
printf("\n");
}
j=0;
for(i=0;i<strlen(chr);i++)
{
if(chr[i]=='-')
{
for(j=i;j<strlen(chr);j++)
{
chr[j]=chr[j+1];
}
}
}
printf("\n\nEnter the plain text : ");
scanf("%s",txt);
j=0;
for(i=0;i<strlen(txt);i++)
{
txt2[j++]=txt[i];
if(txt[i]==txt[i+1])
{
txt2[j++]='x';
}
}
jj=j;
for(i11=0;i11<strlen(txt2);i11+=2)
{
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(txt2[i11]==alph[i][j])
{
i1=i;
j1=j;
}
if(txt2[i11+1]==alph[i][j])
{
i2=i;
j2=j;
}
}
}
if(i1==i2)
{
if((j1+1)>=5) j1=-1;
if((j2+1)>=5) j2=-1;
//if(j2>j1)
//{
txt2[i11]=alph[i1][j1+1];
txt2[i11+1]=alph[i2][j2+1];
//}
//else
//{
// txt2[i11]=alph[i1][j2+1];
// txt2[i11+1]=alph[i2][j1+1];
//}
}
else if(j1==j2)
{
if((i1+1)>=5) i1=-1;
if((i2+1)>=5) i2=-1;

//if(i1>i2)
//{
// txt2[i11]=alph[i1+1][j1];
// txt2[i11+1]=alph[i2+1][j2];
//}
//else
//{
txt2[i11]=alph[i1+1][j1];
txt2[i11+1]=alph[i2+1][j2];
//}
}
else
{
if(i2>i1)
{
txt2[i11+1]=alph[i2][j1];
txt2[i11]=alph[i1][j2];
}
else
{
txt2[i11]=alph[i2][j1];
txt2[i11+1]=alph[i1][j2];
}
}
}
printf("\nFinal string       : ");
for(i=0;i<jj;i++)
{
printf("%c",txt2[i]);
}
//printf("\nFinal string         : %s",txt2);
getch();
}



/* OUTPUT :

Enter the text : playfair

p l a y f
i r b c d
e g h k m
n o q s t
u v w x z

Enter the plain text : nisargmehtay

Final String : ueyqgoegmqfp 

OUTPUT Sequence :

ni = ue


p l a y f
i r b c d
e g h k m
n o q s t
u v w x z


sa = yq



p l a y f
i r b c d
e g h k m
n o q s t
u v w x z

rg = go


p l a y f
i r b c d
e g h k m
n o q s t
u v w x z

me = eg


p l a y f
i r b c d
e g h k m
n o q s t
u v w x z


ht = mq


p l a y f
i r b c d
e g h k m
n o q s t
u v w x z

ay = fp


p l a y f
i r b c d
e g h k m
n o q s t
u v w x z

Hill Cipher in C

Just paste this program in your Turbo C/C++ compiler...



#include<stdio.h>
#include<conio.h>
void main()
{
int i,j,ans[25][1],sum=0,mtrx[25][25],end;
char txt[25];
clrscr();
printf("\nEnter the string : ");
scanf("%s",txt);
//clrscr();
for(i=0;i<25;i++)
{
if(txt[i]>=97 && txt[i]<122) {}
else
{
end=i;
break;
}
}
for(i=0;i<end;i++)
{
//printf("initial : %d ",txt[i]);
txt[i]=txt[i]-'a';
//printf("final : %d ",txt[i]);
//printf("\n\n");
}
clrscr();
printf("\nEnter matrix...\n");
for(i=0;i<end;i++)
{
for(j=0;j<end;j++)
{
scanf("%d",&mtrx[i][j]);
}
}
for(i=0;i<end;i++)
{
sum=0;
for(j=0;j<end;j++)
{
sum+=mtrx[i][j]*(int)txt[j];
}
ans[i][0]=sum;
}
for(i=0;i<end;i++)
{
printf(" %c",((ans[i][0])%26)+97);
}
getch();
}