Hill2加解密(C语言实现)
(作者:Baron_wu 禁止转载 )
Hill2加密过程:首先需要有加密秘钥——一个二阶可逆矩阵(A)。
int A[2][2] = { {0,0},{0,0} };
printf("please input four number of matrix A(one num one enter):\n");
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
scanf("%d", &A[i][j]);
}
}
其次将明文进行分组,两个字母一组。对应明文矩阵的一列。
M=最后形成一个这样的矩阵。
FILE * re;
re = fopen("cleartext.txt", "r");
int m[2][10] = { 0 };
for (int j = 0; j < 10; j++)
{
for (int i = 0; i < 2; i++)
{
if (!feof(re))
{
m[i][j] = fgetc(re)-97;
}
else
break;
}
if (feof(re))
break;
}
明文密文字母对照表:
0 |
1 |
2 |
3 |
4 |