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. For example, if we have 3 "rails" and a message of 'WE ARE DISCOVERED. FLEE AT ONCE', the cipherer writes out:
W . . . E . . . C . . . R . . . L . . . T . . . E . E . R . D . S . O . E . E . F . E . A . O . C . . . A . . . I . . . V . . . D . . . E . . . N . .
Then reads off to get the ciphertext:
WECRL TEERD SOEEF EAOCA IVDEN
#include<stdio.h> #include<string.h> #include<stdlib.h> char *plainTextToCipherText(char plainText[],int n) { int i,j,counter,limit,index=0,len; char *cipherText; len=strlen(plainText); cipherText=(char*)malloc(sizeof(char)*(len+1)); for(i=0;i<n;i++) { counter=0; for(j=i;j<len;j+=limit) { cipherText[index++]=plainText[j]; if(i==0 || i==n-1) limit=2*n-2; else if(counter%2==0) limit=2*(n-i-1); else limit=2*i; if(limit<=0) break; counter++; } } cipherText[index]='\0'; return cipherText; } int main() { int n; char plainText[100]; printf("Enter the plain text : "); scanf("%s",plainText); printf("Enter the value of n : "); scanf("%d",&n); printf("%s\n",plainTextToCipherText(plainText,n)); return 0; }
this a miracle in the coding industry
ReplyDeletewow just astonished to see this kind of code\
I think this is an informative post and it is very useful and knowledgeable. therefore, I would like to thank you for the efforts you have made in writing this article. Fence Company Detroit
ReplyDeleteThanks for the information on this. I really enjoy the writeup.
ReplyDeletePost & Rail Fencing
No Comments
ReplyDeleteDev Barem koru
ReplyDeleteWoooooowwww bery bery Bautiphul
ReplyDeleteNoice bery gooooooood job
ReplyDeleteThanks and I have a neat provide: How Much House Renovation Cost home exterior makeover
ReplyDelete