未知(以前做的好多程序找不到了)--这是个加密的无用代码HILL加密

 

// AA.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<stdio.h>
#include<string.h>
void HILL(int P[],int len,int (* k)[10],int c[])
{
 int i,i1,j,j1;
 for(i=0;i<10;i++)for(i1=0;i1<10;i1++) k[i][i1]=0;
 int m;  //组长度
 printf("\n输入组长(组长小于等于密文长度):");scanf("%d",&m);
 printf("输入密钥矩阵(矩阵为方正)");
 for(i=1;i<=m;i++) {printf("第%d行",i); for(i1=1;i1<=m;i1++) scanf("%d",&k[i][i1]);}
 for(i=1;i<=len/m;i++)
 { 
  for(j=1;j<=m;j++)
   for(j1=1;j1<=m;j1++)
   { c[j+(i-1)*m]=(c[j+(i-1)*m]+k[j][j1]*P[j1+(i-1)*m])%26;}
 }
}
void RSA(int p,int q,int P[])
{
 int n,fn;
 n=p*q;fn=(p-1)*(q-1);
 int e;
 
}
int main(int argc, char *argv[])
{
 //HILL加密
 int khill[10][10];
 int phill[100],c[100],i;int len=0;char c1;
 for(i=0;i<100;i++) {phill[i]=0;c[i]=0;}
 printf("输入明文!#结束:");
 c1=getchar();
 while(c1!='#'){len++;phill[len]=(int)c1;c1=getchar();}
 for(i=1;i<=len;i++)
 {if(phill[i]>=65&&phill[i]<90) phill[i]=phill[i]-64;
 else if(phill[i]>=97&&phill[i]<122) phill[i]=phill[i]-96;
 }
 HILL(phill,len,khill,c);
 printf("密文为:");
 for(i=1;i<=len;i++) {c[i]=c[i]+96;printf("%c",c[i]);}   
    scanf("%d",&i); 
 return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值