资源简介

基于C语言,实现仿射密码算法,随机生成密钥a、b,加密和解密程序对任意满足条件的a、b都能够进行处理。

资源截图

代码片段和文件信息

#include
#include
#include
#include
#define MAX 10000

//求最大公因数 
int gcd(int aint b) 
{
int i;
for(i=a;i>0;i--)
{
if(a%i==0&&b%i==0)
{
break;
    }

return i;
}

//求x的逆 
int NI(int a)
{
    int x = 0;
    while(a*(++x)%26!=1);  //a*x=1 mod 26
    return x;        
}


//加密操作
void enc(char m[MAX]int aint b) 
{
char c[MAX];
int lengthj=0;
FILE *fp3;
    length = strlen(m);
    printf(“Encrypted :\n“);
    for(j=0;j    {
     if(m[j]>64&&m[j]<91)            //区分明文的大小写         
c[j]=(a*(m[j]-65)+b)%26 +65;        //对大写字母进行加密 算法c[i]=a*m[i]+b mod 26   
else  
c[j]=(a*(m[j]-97)+b)%26 +97;       //对小写字母进行加密   

printf(“%c“c[j]);               //输出密文 
}

    fp3=fopen(

评论

共有 条评论