理论部分
- 仿射密码是移位密码的一个推广,其加密过程不仅包含移位操作,而且使用了乘法运算。与移位密码相同,仿射密码的明文空间M和密文空间C均为Z26,因此,在使用仿射密码体制对英文消息进行加密之前,需要在26个英文字母与Z26中的元素之间建立一一对应关系,然后才能应用仿射密码体制进行相应的加密计算和解密计算。
代码部分
C语言实现
#include <stdio.h>
#include <math.h>
#include<string.h>
#define N 200
using namespace std;
void Affine(char *Input, char *Output, int length,int k1, int k2,int p){
int km=k1,ka=k2;
for(int i=0; i<length; i++){
if(Input[i]>='a'&&Input[i]<='z')
Output[i]=(km*(Input[i]-'a')+ka)%p+'a';
else
if(Input[i]

最低0.47元/天 解锁文章
5万+

被折叠的 条评论
为什么被折叠?



