通过编程实现Column permutation加密,更加深入的了解其原理,掌握Column permutation算法。
步骤:
(1) 输入密钥
(2) 排出密钥中字母的顺序
(3) 输入明文
(4) 按密钥中字母的顺序打乱明文顺序
(5) 输出密文
(6) 解密
(7) 输出明文
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,l,k,m,num[30];
char key[30],plantext[100],plantext2[100],cipher[100];
printf("please input the key\n");
scanf("%s",key);
l=strlen(key);
for(i=0;i<l;i++)
{
num[i]=0;
for(j=0;j<l;j++)
{
if(key[j]<=key[i])
{
num[i]=num[i]+1;
}
if(key[j]==key[i]&&j>i)
num[i]=num[i]-1;
}
}
printf("please input the plantext\n");
scanf("%s",plantext);
k=strlen(plantext);
i=0; //末尾补