- 9
- 0
- 约6.34千字
- 约 12页
- 2016-10-08 发布于贵州
- 举报
微机随机大素数的率生成与应用
公开钥密码体制提出至今已有十多年的历史,由于人们对信息安全的迫切要求和密码学者不懈努力,这一体制已得到广泛的应用,在国内外众多的公开密钥密码方案中研究得比较充分而比较有名的首推美国的RSA。它的安全性是基于大数因子分解在数学上是一个 NP困难的问题,至今没有有效的算法。无疑提高素数的位数将大大提高 RSA的安全性,同时大素数有实际的应用领域。这促使我们对微机随机大素数的概率生成应用软件的研制并提供实用。我们将这一软件取名为386BIP-1。在486微机上运行这个软件,通常可在2--3小时内得到一个概率为 1-(1/4) 的100位的随机概率素数,这对于在微机上实现可用于实际的RSA公钥密码系统,提供了可能。此外,该软件支持WINDOWS和网络。
\Center (一)设计要求与方案
根据实际应用的需要,对386BIP-1的设计要求如下:
(1) 用C(C++)语言编写源程序.
(2) 有好的用户界面,方便的菜单选择.
(3) 从键盘输入所要产生的随机大素数的位数(100位以内,100以上的只需稍加改动源程序中的数组大小即可)后,可自动产生所要求位数的大概率随机大素数,且可进一步进行大概率验证,并输出大概率素数于屏幕,打印机或文件中.
(4) 提供大素数在RSA中的具体应用。
(5) 用于286,386,486微机;易于移植到大型机。
根据对软件的设计要求,本软件的主体由三个部份组成:
(1) 随机大素数的概率生成:在本部份中,从键盘输入所要产生的随机大素数的位数,即可自动随机产生大概率的大素数,并可输出到屏幕,打印机或磁碟文件中。
(2) 大素数概率检验:在本部份中,从键盘或文件输入一个100位以内的大整数,即可自动进行概率检验,一次全部通过是素数的概率为1-(1/4) 。
(3) 大素数在RSA中的应用:本部份中,可从键盘或文件输入所产生的概率大素数,产生RSA加(解)密钥;并提供加(解)密,输出密(明)文于屏幕,打印机或磁盘文件中。
\Center (二)设计分析
(1) 大整数及其四则运算的处理:
386BIA-1软件包可在微机上直接输入输出1000位以内的十进制大整数进行计算; 由于在C语言中,十进制整数的范围仅为 -2 ~ 2 -1(不超出10位),因而首先要解决大整数的表示方法.
我们采取通常的用数组表示大整数的方法 ,因为在具体的程序设计语言(C语言)中考虑到基本运算的运算速度不一致(例如 ,除法比加、减、乘运算慢);同时,要尽可能地避免在程序运行中进行变量类型转换; 我们编程检验过,当使用C语言编程时,如果有字符型同数值型的类型转换,则运算速度要下降十倍以上. 微机大整数运算,文献中已使用了许多方法, 经过反复研究,我们采用以众不同的10000进制方法,即任一整数a都表示为:
a = Σ a[i]*10000 (0≤a[i]≤9999,i∈非负整数);
这样一方面可在微机上直接输入输出1000位以上的十进制大整数,另一方面,加法乘法皆不溢出;既易于表达,亦易于运算.在进行四则运算时,直接运用C语言中的基本运算,完全按一般的逐位对齐的办法进行运算,这来得十分方便简捷,同时,在程序运行中完全避免了变量类型转换,大幅度提高了运算速度.
例如: a,b的十进制位数在800位以内时;为在1000进位制下表达a,b,可将它们写成数组:
Long int a[200],b[200];
int la,lb;
这里的a[i],b[j]是不超过4位的十进制整数, 即0≤a[i],b[j]≤9999; la,lb 分别是a,b在
10000进位制表示下的长,即la= [Log a]+1 ,lb= [Log b]+1 , 0≤i≤la-1, 0≤j≤lb-1; 这样,十进制整数a,b可分别表示为10000进制数:
a= Σ a[i]*(10000), b= Σ b[i]*(10000).
由此可对800位以内的大整数如下作加,减与乘法运算:
a+b= Σ (a[i]+b[i])*(10000) ; a-b= Σ (a[i]-b[i])*(10000) ;
a*b= Σ(Σ(a[i]*b[j])*(10000)
其中的a[i]+b[j]是两个4位的十进制整数相加,结果不超出一个5位的十进制整数,a[i]*b[j]是两个4位的十进制整数相乘,结果不超出一个8位的十进制整数; 因此可以直接使用微机C语言中的四则运算. 计算过程中尚须记录进位,借位; 以加法为例,可使用长整型变量 ssum,sum[i],w及整型变量ls, 其中ssum存放每四位相加的
您可能关注的文档
- 当代大学生职业的会声望调研.doc
- 当代山水画家的文使命定稿.doc
- 当代日本妇女生活式和思想意识的变化.doc
- 当代电子和计算机术对汽车发展的影响.doc
- 当代校长的历史使(刘永胜全国骨干校长讲座实录).doc
- 当代社会大学生就难问题调查报告.doc
- 当代社会更需要通还是专才辩论材料.doc
- 当代研究生英语Txt B and Cloze翻译(主要是Text123579).doc
- 当代美国教育改革次浪潮及其启示.doc
- 当代美国马克思主经济学对资本主义失业不足的研究毕业论文范文.doc
- 人教版九年级英语Unit 4曾害怕课件3a-4c.pdf
- 雅思口语考题回顾:朗阁海外考试研究中心2019年10月10日Part 1考题总结.pdf
- 2026届高三地理一轮复习课件小专题河流袭夺.pptx
- 【名师原创】复习专题5 三角函数 作者:合肥市第八中学 蒲荣飞名师工作室.docx
- 高中数学一轮复习 微专题2 抽象函数.docx
- 高中数学——复习专题4 空间向量与立体几何.docx
- 高中数学一轮复习 微专题3 空间几何体中的截面、轨迹问题.docx
- 高中数学一轮复习 微专题4 空间几何体的最值、范围问题.docx
- 导流洞施工质量通病防治手册.docx
- 江苏省徐州市第一中学、徐市第三中学等五校2026届高三上学期12月月考历史试题含答案.docx
最近下载
- 2023年四川巴中中考数学真题及答案.pdf VIP
- 国家工业和信息化部所属事业单位招聘笔试真题2024.docx VIP
- 2021年四川巴中中考英语真题.pdf VIP
- 边生产边施工的危险分析及对策.pdf VIP
- 电气安全培训(完整版).ppt VIP
- 2025至2030原子力显微镜(AFM)行业项目调研及市场前景预测评估报告.docx
- 2025年度 民主生活会班子对照检查发言材料(五个带头)_八篇.docx VIP
- 公司考勤表模版.docx VIP
- 基于springboot+vue的外卖点餐系统毕业设计开题报告.docx VIP
- 2025年四川巴中中考历史试卷真题及答案详解(精校打印版).pdf VIP
原创力文档

文档评论(0)