- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
rsa加密解密算法C语言代码
#includestdio.h
#includestring.h
#include stdlib.h
#include time.h
#include math.h
#include malloc.h
#define MAX 100
#define LEN sizeof(struct slink)
void sub(int a[MAX],int b[MAX] ,int c[MAX] );
struct slink
{
int bignum[MAX];
/*bignum[98]用来标记正负号,1正,0负bignum[99]来标记实际长度*/
struct slink *next;
};
/*/--------------------------------------自己建立的大数运算库-------------------------------------*/
void print( int a[MAX] )
{
int i;
for(i=0;ia[99];i++)
printf(%d,a[a[99]-i-1]);
printf(\n\n);
return;
}
int cmp(int a1[MAX],int a2[MAX])
{ int l1, l2;
int i;
l1=a1[99];
l2=a2[99];
if (l1l2)
return 1;
if (l1l2)
return -1;
for(i=(l1-1);i=0;i--)
{
if (a1[i]a2[i])
return 1 ;
if (a1[i]a2[i])
return -1;
}
return 0;
}
void mov(int a[MAX],int *b)
{
int j;
for(j=0;jMAX;j++)
b[j]=a[j];
return ;
}
void mul(int a1[MAX],int a2[MAX],int *c)
{
int i,j;
int y;
int x;
int z;
int w;
int l1, l2;
l1=a1[MAX-1];
l2=a2[MAX-1];
if (a1[MAX-2]==- a2[MAX-2]==-)
c[MAX-2]=0;
else if (a1[MAX-2]==-)
c[MAX-2]=-;
else if (a2[MAX-2]==-)
c[MAX-2]=-;
for(i=0;il1;i++)
{
for(j=0;jl2;j++)
{
x=a1[i]*a2[j];
y=x/10;
z=x%10;
w=i+j;
c[w]=c[w]+z;
c[w+1]=c[w+1]+y+c[w]/10;
c[w]=c[w]%10;
}
}
w=l1+l2;
if(c[w-1]==0)w=w-1;
c[MAX-1]=w;
return;
}
void add(int a1[MAX],int a2[MAX],int *c)
{
int i,l1,l2;
int len,temp[MAX];
int k=0;
l1=a1[MAX-1];
l2=a2[MAX-1];
if((a1[MAX-2]==-)(a2[MAX-2]==-))
{
c[MAX-2]=-;
}
else if (a1[MAX-2]==-)
{
mov(a1,temp);
temp[MAX-2]=0;
sub(a2,temp,c);
return;
}
else if (a2[MAX-2]==-)
{
mov(a2,temp);
temp[98]=0;
sub(a1,temp,c);
return;
}
if(l1l2)len=l1;
else len=l2;
for(i=0;ilen;i++)
{
c[i]=(a1[i]+a2[i]+k)%10;
k=(a1[i]+a2[i]+k)/10;
}
if(l1len)
{
for(i=len;il1;i++)
{
c[i]=(a1[i]+k)%10;
k=(a1[i]+k)/10;
}
if(k!=0)
{
c[l1]=k;
len=l1+1;
}
else len=l1;
}
else
{
for(i=len;il2;i++)
{
c[i]=(a2
您可能关注的文档
- A05 职业经理人十项管理技能训练202P 章 哲.doc
- ABYY集团总裁支持系统.ppt
- 99种讨人喜欢的说话方式.doc
- 8、病毒的复制.ppt
- access中等难度1.doc
- ActionScript 綜合應用 (一) ─自製滑鼠指標.ppt
- AD9835的DDS波形发生器毕业设计.doc
- access数据库入门基础.ppt
- Agilent 6890气相色谱仪现场培训教材.doc
- ADSL虚拟拨号的软硬件.doc
- 4.6.3 神经调节的基本方式 -2022-2023学年七年级生物下册课后培优分级练(人教版) 带解析.docx
- 5.1 延续文化血脉 同步练习-2023-2024学年部编版道德与法治九年级上册.docx
- 5.2地球仪和经纬网 同步练习—华东师大版科学七年级上册.docx
- 5.1 亚洲的自然环境(晚默版)2022-2023学年八年级地理下册必备知识梳理(中图版).docx
- 5.1 城市的环境问题及环境优化(课时练习)七年级地理下册同步课堂(沪教版·上海).docx
- 5.2北方地区和南方地区-2022-2023学年八年级地理下册课后培优分级练(湘教版) 带解析.docx
- 5.1 城市的环境问题及环境优化 练习 (含答案)七年级地理第二学期沪教版(上海).docx
- 5.23小学万能作文开头.docx
- 5.1地球的形状和大小同步练习——华东师大版科学七年级上册.docx
- 5 初三物理(上册)冲刺复习 计算专题 .docx
最近下载
- 项目的实施流程.pdf VIP
- 2024年6月8日浙江杭州市直遴选笔试真题及答案解析.doc VIP
- 新人教版初中数学九年级上册《第二十三章旋转:23.1图形的旋转》公开课教案_4.pdf
- invt英威腾chf100a变频器使用说明书.doc
- 《生物化学课程标准.doc VIP
- 2023年黑龙江大学法学专业《民法学》期末试卷A(有答案).docx VIP
- GB_T 20001.3-2015 标准编写规则 第3部分:分类标准(OCR).pdf VIP
- 开放式和针阀式热流道比较.ppt
- 义务教育版(2024)三年级全一册第6课《视频记录片段》课件.pptx VIP
- 重庆市XX住宅工程分户验收表格填写样例.docx
文档评论(0)