RSA

2024-06-15

RSA(精选十篇)

RSA 篇1

高端网络安全威胁增多

在席亚瑟·科维洛看来, 网络攻击者正在利用新的信息技术, 更快、更敏捷、更狡诈地轻松绕过外围的安全防御。例如, 零日恶意软件正在通过网络钓鱼传播, 其形式基本是一份貌似非常合理的电子邮件附件或链接。

那么, 企业安全系统应该具备怎样的能力, 才能应对当前严峻的网络安全挑战?对此, 席亚瑟·科维洛表示该实现安全系统三个方面的能力。

安全系统首先要基于风险。企业安全风险是由全面的安全威胁现状决定的。企业潜在的攻击者和最宝贵的资产信息可以告诉企业安全工作的重心。

安全系统还需具有敏捷性。安全威胁现状将持续演变, 要想取得成功, 企业必须能随时敏捷地处理、纳入和分析新的内部及外部情报。就目前企业面对的网络及网络安全威胁的速度和规模而言, 安全措施要能奏效, 自动化必不可少。

安全系统还应具有情境识别能力。只有提供信息安全事件的完整背景, 事件响应、研究和补救才能最有效。优先级划分及决策的成功取决于能否得到最准确的信息。企业必须提供“大数据”般的信息安全全景, 这样其安全团队才能实时得到信息安全问题检测所需的完整信息。大数据与高速分析能力相结合, 可提供抵御高级安全威胁所需的全景式信息。

需更加重视云安全系统

云计算快速发展中的出现安全事件, 让人们对云安全存在很大疑惑。

“对此, 如果云环境下的安全措施部署恰当的话, 我觉得我们还是有可能使云环境比现实基础架构更安全。如果我们不这样做, 由于在‘云’中信息更为集中, 更为密集, 那么安全威胁可能会更严重。”席亚瑟·科维洛指出, 云安全系统要比传统基于物理基础的安全系统更加可靠, 但是目前云计算发展处于初期, 许多公司在部署云系统的时候, 对安全系统重视不足, 所以其企业信息存在更大的隐患。

RSA信息安全技术思考论文 篇2

摘要:

在互联网技术迅速发展,以及计算机日渐普及的背景下,人们的生产生活方式发生了翻天覆地的变化,互联网用户数量与日俱增,数据信息的传播更加依赖于网络,给人们带来了众多便利。但是,在利用网络传输信息过程中,经常会出现信息泄露、被恶意篡改、病毒木马攻击等问题,对用户信息安全造成了极大威胁,同时也不利于构建稳定、有序的网络环境。为保护用户个人信息安全,就需要采用信息安全加密技术,文章详细分析了RSA信息安全加密系统技术,并对其具体应用进行了讨论,希望对构建网络安全体系有所帮助。

关键词:RSA;信息安全;加密系统;设计与实现

当今社会已经进入到信息化时代,互联网在生产生活中扮演着越来越重要的角色,而网络安全问题也变得更为严峻。RSA作为一种应用最为广泛的公钥加密算法,对当前已知的大多数密码攻击,都能够起到良好的抵御效果,并且还可以配合数字签名技术进行信息安全加密,是目前公认的比较优秀的一种公钥方案。随着信息安全加密要求的不断提高,以及对RSA算法研究的不断深入,该项技术也变得更加成熟和完善,在信息安全加密系统中有着更为广阔的应用空间。

1、信息安全加密技术简要介绍。

信息安全加密技术是在网络化和信息化时代背景下,提出的一种用于保护信息安全的技术。当前,互联网已经渗透到社会的各个领域和行业,人们对网络的依赖程度不断提高,在对信息进行存储、传输和处理时,更加倾向于选择网络,这样一来,用户的个人信息都可以通过网络查询出来,用户个人信息安全得不到有效保障。而信息安全加密技术的出现和应用,可以有效解决这一问题,对用户个人信息起到了良好的保护作用。如果以信息安全加密密钥为分类标准,则可以将其分为对称密钥加密技术和非对称密钥加密技术两大类,其中非对称密钥加密技术又叫做公开密钥加密技术,能够与数字签名技术结合使用,准确识别、核对信息发送者的身份,只有拥有解密密钥的人员,才可顺利通过审核对系统信息进行访问和使用,在保护信息安全方面起到了重要作用[1]。在非对称密钥加密技术中,以RSA公钥加密算法最为常见,应用也最为广泛。

2、RSA信息安全加密系统技术原理及运行过程在应用。

RSA信息安全加密系统技术之前,应先了解其工作原理及运行过程,为系统设计与实现提供理论依据。

(1)RSA信息安全加密系统技术原理。

一般情况下,RSA公钥加密算法都是与数字签名技术结合使用的。首先,签名者对原始数据进行处理后,用摘要的形式将其表示出来,作为明文进行加密。然后数据经过传输被接受者获取后,需通过解密形成摘要,与签名者定义的摘要进行比较,当两者之间不存在任何差异时,则接受者通过签名身份审核,可以访问系统信息,并对其加以使用或修改;如果两次摘要出现差异,则证明接受者签名无效,不能对信息系统进行访问。在RSA信息安全加密系统技术中,签名者对应唯一的密钥拥有者,两者为同一个人,处于绑定状态,只有签名者才能利用密钥正确解密。因为RSA算法和杂凑函数是非常敏感的,所以,在对比数据运算结果与原始签名过程中,对两者之间的精准度有着极高的要求,任意一处数据出现不同,都表示签名无效,用户则没有权限查看系统信息[2]。

(2)RSA信息安全加密系统运行过程。

RSA信息安全加密系统,整个运行过程分四步完成。

第一步,数据发送者采用杂凑函数形式,对自身所拥有的数据进行运算,选取其中具有代表性的数据,用摘要的形式将其表示出来。

第二步,签名者利用密钥对得到的摘要进行加密,生成数字签名,作为身份认证依据,待数字签名生成完毕后,签名者将从发送者出得到的信息进行再次传输。

第三步,信息传输至接受者处,同样需要先采用杂凑函数方法对其进行运算,得到这部分数据的摘要,并借助解密密钥,将密文信息转化成明文,完成摘要解密过程。

第四步,将解密摘要与原始摘要进行比较,根据两者是否一致,来判断签名是否有效,实现对访问者身份的准确识别,如果两次摘要一模一样,则访问者通过身份验证,反之,则表示访问者为第三方,不拥有解密密钥[3]。通过这四个运行环节,RSA信息安全加密系统可以保证信息传输的安全性和完整性,对数据信息起到了良好的保护作用。

3、RSA信息安全加密系统设计与实现。

基于RSA信息安全加密系统技术原理及运行过程,可以以此作为理论依据,利用RSA算法和组合加密算法,设计构建信息安全加密系统,实现RSA公钥加密算法的科学运用。

(1)RSA算法和组合加密算法。

RSA算法属于一种典型的非对称密钥算法,融合了数论及大整数因数分解知识,在该算法中主要涉及到n、e1和e2三个参数,三个参数形成由公钥和私钥组成的密钥对,分别表示为(n,e1)和(n,e2),其中n表示两个大质数p、q的.乘积,在利用二进制对其运算时,所得计算结果的位数表示密钥长度。e1与e2两者之间存在关联性,对于e1的选择,没有特殊要求,但是,需保证e1与(p—1)*(q—1)互质,而在选择e2时,需要根据式子:(e2*e1)mod((p—1)*(q—1))=1进行,再结合e1的取值,来确定e2的具体大小[4]。

传统的RSA算法运算效率较低,经过长期研究和不断改进,结合滑动窗口算法形成了组合加密算法,有效的提高了加解密运算效率。在利用组合加密算法时,先用二进制表示加密指数,并将其分为零和非零两部分,缩短指数长度;然后利用线性表T、X、L将乘幂后求模运算转化为成模和平方模进行计算,简化运算过程;最后,比较计算结果与模数两者大小,当计算结果偏高时,则将两者之间的数值差替换成模数,降低操作数的基。

(2)系统设计与实现。

在对RSA信息安全加密系统进行设计时,应从加密功能要求,以及加密安全性和可靠性两方面进行考虑,一般情况下,系统应具备外壳绑定、批量加密、扩展加密、基本加密、数据流加密等主要功能;同时,还应根根据文件类型,选用与之最为匹配的加密方式。要想保证系统运行性能的良好性,在信息加密和传输过程中,能够保证不会出现信息泄露现象,另外,系统应具备较强的适用性,可在不同平台下进行运行,加密出现异常问题时可以发出提示,并且不会影响到信息内容。RSA信息安全加密系统由客户端和服务端两部分组成,在设计客户端时,先选择需要加密的信息,可借助文件对话框来实现,然后根据文件类型,选择最佳的加密算法,当加密信息选择错误时,可将其删除重新进行选择,然后将加密请求传输至服务端。服务端在接受到加密请求后,需先对加密信息作出判断,然后进行加密和解密处理,并通过鼠标进行点击,将不同的功能模块出来,并设置进度条,将系统实际运行状态及文件处理速度显示出来,进而完成RSA信息安全加密系统构建。

4、结束语。

加强信息安全防护体系的构建,维护网路环境秩序的稳定性,不仅是保护网络用户个人隐私的必要措施,而且也是推动计算机网络技术健康发展的重要前提,必须明确该项工作的重要性,加大技术研究力度,不断进行技术创新。通过对RSA信息安全加密系统技术原理及运行过程进行分析,依据RSA算法和组合加密算法,对传统RSA算法进行优化和改进,可以实现该项技术在信息安全防护体系中的良好应用,保证了数据传输的安全性和完整性,数信息加密效果比较理想,对推动计算机技术的长远发展具有重要意义。

参考文献:

[1]任学强。基于RSA算法的网络文件加密系统研究[J]。电子技术与软件工程,(20):30—31。

[2]郑泛舟。RSA信息安全加密系统技术的研究[J]。电脑迷,,(1):48—48。

[3]卢秀慧。基于RSA快速加密算法的网络文件加密系统设计[D]。中北大学,2013。

RSA 篇3

冯崇彪介绍,各行各业对审计都有需求,一方面是为了企业的内控;另一方面是外部审计的需求,如合规审计、法规遵从等。因此,审计不仅仅包括对信息安全的审计,而是一个综合的概念。归纳起来,IT审计有两个重点方向:一个为IT日志审计,这就是常规的对各种网络及安全设备产生的日志进行审计;另一个是对用户行为审计,比如网络中的用户在做哪些事情?回溯整个过程后能否作为举证使用?

这两方面实现起来都不容易,因为网络中产生的日志包括主机、网络、应用、存储、安全、数据库等六大类,如何将这些日志关联起来、发现并确定安全的越界行为,是一个非常复杂的过程,需要许多独特的技术,这是考验审计产品的重要指标。从用户的业务层面上可以看出,用户业务对审计产品有三个层次的需求:第一个层次是对日志进行管理;第二个层次是保证安全地运维;第三个层次是满足内控和外审的需求。

EMC信息安全事业部RSA的RSA enVision正是可满足上述三类审计需求的安全审计解决方案。它实际上提供了一种技术手段来帮助用户快速地将网络中的设备日志集中到一起并实现关联,保证安全运维、简化合规审计。其最大的特色是可以提供各种各样的关联规则和合规报表,且报表可定制;其次是能把实时的事件威胁转换成可执行的数据,创建一个闭环的事件处理流程。

RSA2014信息安全热点议题 篇4

1 热点领域

(1) 智能化与大数据

智能驱动安全这一方向可能已是多届RSA大会的主题,但将有用信息有效地应用于信息技术安全才刚刚开始。将安全手段变得更加智能、利用大数据发现更深层的安全威胁,这一方向已为业界认可,已有安全厂商成功将这一先进的理念应用于产品之中。

(2) 云安全

随着云计算的普及和广泛应用,云安全问题日益突出,因此这依然是RSA 2014 大会的热门话题。尽管对于是否要使用云计算的问题已经没有争论,但安全问题仍然是很多企业没有部署云计算的主要原因。独立安全专家Bruce Schneier( 美) 建议企业在选择云服务供应商时,首先考虑供应商能提供的安全水平。Google Apps安全主管Eran Feigenbaum( 美)建议,企业通过进行适当的数据分类,将公共及敏感数据迁移到云端,可以在企业内部更好地保护真正关键的信息。

(3) 移动设备安全

移动计算安全仍然是RSA 2014 大会的热门话题。但与往年不同的是,业界对移动安全的关注点也发生了改变。与会专家表示,人们已从最初的保障安全使用个人移动设备访问企业邮件,发展到保障运行全部业务的应用软件。这意味着保护移动设备中的数据将更加迫切和重要。但防御只是移动安全的一方面。在本次RSA会议上,移动恶意软件兴起的话题频繁地被提及。一些网络安全报告也显示,网络攻击开始越来越多地关注移动平台。这显示过去以设备保护为中心的思路需要调整。

2 主要议题

2.1 安全分析和取证

“安全分析和取证”议题涵盖相关调查分析技术的应用,应用这些收集、保存数据的技术是为了发现安全攻击或其他问题事件的来源,并发现和沟通未来防护的方式。

围绕“安全分析和取证”议题的演讲共有15 场:云中电脑取证和事件响应、政府网络安全智能的关联、 利用大数据保护大数据、威胁智能合作、有目标攻击事件中的信息交换等。

2.2 应用安全

鉴于Web和云计算应用的增长,“应用安全”议题聚焦于以下话题:安全设计、发展、部署,以及套装和定制化应用程序的运营。该议题涵盖目前的最新威胁及其应对措施。

围绕“应用安全”议题的演讲共有15 场:熵、随机数字和密钥、 NIST随机性警示、企业软件安全密钥性能指示、威胁模式的新基础、高效安全产品的七个特点等。

2.3 云安全与虚拟化

“云安全和虚拟化”议题包含:云中安全架构、管理、风险、迁移事宜、身份管理和案例研究。该议题的内容涉及虚拟化部署模式、VM完整性、虚拟架构的安全。

围绕“云安全和虚拟化”议题,共有14 场演讲:虚拟化数据中心中的安全角色转换、对云中安全事件的调查、将加密作为服务用到移动应用中等。

2.4 数据安全和隐私

“数据安全和隐私”议题涵盖分类、追踪和保护数据的策略和技术,以及数据库安全、数据分类、加密、DLP和敏感数据面临的新威胁等。

在“数据安全和隐私”议题下,共有16 场演讲:部署混合云中的隐私问题、虚拟化企业的数据加密、从数据到智慧、防止密码数据库泄露的新工具、第三方网络安全和DLP、从合规到管理、如何发现公司文件是否被攻击者盯上等。

2.5 移动安全

“移动安全”议题聚焦于移动设备安全管理、智能设备安全和IT消费化趋势下的策略、流程和技术。包括:移动恶意软件、应用威胁、设备管理和移动平台新威胁。

围绕“移动安全”议题共有14 场演讲:发展中的移动网络威胁、移动数据隐私和安全的未来、由数字评估移动应用、智能电话隐私等。

2.6 安全策略

“安全策略”议题包含:企业安全架构中的策略、计划和新领域,实施成功的安全项目中的管理问题,涉及构建安全项目所需的架构和工具等。

围绕“安全策略”议题的演讲共有16 场:部署可量化的网络安全风险管理、大型复杂技术系统的安全、关键要素分析和供应链、通过提升可见性和响应能力实现保护等。

2.7 黑客和威胁

“黑客和威胁”议题主要讨论黑客产业、高级威胁、新型漏洞、漏洞挖掘技巧、逆向工程,以及如何面对这些问题。该议题还包含了对最新威胁的讨论。

围绕“黑客和威胁”议题共有20 多场演讲:基于实效的关键基础设施攻击、中东安全威胁深度研究、基于已知内容的网络安全传统攻击等。

在“高级威胁”议题下的演讲还包括:防窃技术:启发性地检测x64 Bootkits、硬件木马和恶意逻辑、从披露已知漏洞到发现新漏洞、攻击ERP、 CRM、SCM和HR系统、将医疗设备攻击转变为防御工具、通过存储分析来找到Mac恶意软等。

2.8 政策和政府

网络空间安全属于国家和经济安全事务。各国政府都在发展策略,这些策略影响着公共/ 私人安全专业人员的工作。“政策和政府”议题下包括:立法、军事/ 法律、APT、主动防御、关键基础设施和政府角色等。

围绕“政策和政府”议题共有15 场演讲:政府网络安全政策能实现安全、贸易和创新的平衡、为线上数据更新政府权限规范、保护国家数据中心免受高级敌人破坏、超级联通世界里的风险和责任、最新安全政策效果等。

3 启示

通过参加RSA 2014 信息安全大会,我们得到如下四点启示:

(1) 建立安全分析和安全策略机制。在本届RSA大会提出的21 个议题中,我们注意到安全分析和安全策略是2014 年的新话题。利用安全分析能够及时了解安全0.0. 状态并采取最佳安全防护;而安全策略设置的好坏则直接关系到安全防御的效果。我们可以预见:如今大数据挖掘或者大数据分析的价值越来越高,这就需要我们建立相应的安全分析和安全策略机制,从而可以快速地对大数据挖掘的有价值的数据进行分析,即可对未知安全威胁做到提前响应,从而降低风险,做到真正的“最佳安全防护”。

(2) 加快实现我国信息安全产业的自主可控。我国应该加快改善信息安全技术自主创新环境,大力推进自主可控信息安全产业的发展,通过资金和其他优惠政策,鼓励有实力的企业介入开发周期长、资金回收慢的信息安全基础产品;依托研究机构、高校、企业等自主创新平台,加大核心信息安全技术的投入,严格管理研究资金,推动研究成果转化;加强信息安全市场的政策引导,合理利用国际规则,约束国外企业在国内市场的发展,为自主信息安全产品提供更好的生存空间。

(3) 发展结构完整层次分明的信息安全产业。通过本次大会国内外参展企业的对比,国内安全公司缺乏协调合作,容易造成在国内相互压制,在国际上缺乏竞争力的局面。可以重点培育具有较强信息安全实力的企业,专门为国家网络安全战略的实施等提供整体架构设计和集成解决方案,形成解决国家级信息安全问题的供应商;重点发展一批提供行业解决方案和完整产品线的专业信息安全企业,具备提供完整的产品、设备,以及某个具体层面解决方案的能力。

RSA 篇5

目前在布宜诺斯艾利斯参与安全会议的专家们将以此作为讨论要点,希望找出上述漏洞是如何导致RSA密码标准(PDCS#1 1.5版本)的Abstract Syntax Notation One(简称ASN.1)编码序列遭到解析、从而允许攻击者在签名验证时通过伪造签名实施恶意活动的。

该漏洞使得某些所谓安全连接有可能执行中间人攻击,这也迫使Mozilla公司于今年九月就此发布了修复补丁。

Mozilla公司首席技术官Michael Fey解释称,此次发现的漏洞之所以被定名为BERserk,是因为它会在签名验证过程中的ASN.1编码消息解析阶段造成安全隐患。

前面提到的编码消息包括采用BER(即基础编码格式)或者DER(即卓越编码格式)的编码片段。

针对采用PKCS#1 1.5版本的设备的攻击活动此前就已经浮出水面,其中包括2012年一次面向RSA SecurID 800的攻击行为,

威胁与逆向工程研究专家Yuriy Bulygin与Alexander Matrosov将在明天于布宜诺斯艾利斯召开的Ekoparty大会上公布他们的研究成果。

这两位安全专家将展示如何在支持跨平台安全客户端及服务器应用程序开发机制的Mozilla网络安全服务(简称NSS)库当中伪造SSL/TLS证书。

“由于签名填充检查机制存在问题,这类安全漏洞允许攻击者在不具备相关私有密钥信息的情况下成功伪造出RSA签名,”两人在主题演讲的内容描述部分写道。

他们同时指出,这种状况与2006年由谷歌公司研究人员Daniel Bleichenbacher最早发现的、针对PKCS#1签名的伪造攻击活动非常相似,而且同样的情况在2012年又再次出现。

这种“简单”的攻击手法已经被证明足以令OpenSSL与火狐的NSS引擎完全暴露在SSL伪造证书的侵袭之下。

一种公开密钥RSA算法的实现 篇6

(安徽理工大学计算机科学与工程学院,安徽淮南232001)

摘要: 主要针对公开密钥RSA算法在面向对象编程方法Visual C++ 6.0下的实现,系统地给 出了类的定义、核心函数的实现流程和使用的主要计算机算法。使算法实现较传统的实现 方法代码更容易重用、数据有更好的封装性和安全性、实现流程更清晰。通过算法的选取 和优化,获得了较传统实现方法更好的系统性能。

关键词:公钥;私钥;RSA;面向对象编程方法

中图分类号:TP301.6文献标识码:A[WT]文章编号:16721098(2008)02007003

The Realization of RSA Algorithm for Public Encryption Key

SHI Yingying,LI Tao

(School of Computer Science and Engineering,Anhui University of Science and Tec hnology,Huainan Anhui 232001,China) Abstract: In the paper the realization of RSA algorithm for public encryption ke y based onVisual C++ 6.0 was presented. Class definition, flow charts of kerne l functions and the computer algorithm were given. Realization of RSA in OOP mak es the code easier to be reused, dataencapsulation better and safer, and flowcharts clearer than the previous realization methods. By optimized algorithm bet ter system performance than the previous realization methods was obtained.

Key words:public encryption key; private key; RSA; object oriented programming

随着计算机的普及和网络的飞速发展,数据的安全性问题显得日益重要,数据的破坏和泄密 会造成重大损失。数据加密算法可以很好地保护数据。加密算法可以分为两大类,对称加密 算法和公开密钥算法。公开密钥算法主要被用来解决网上密钥的交换问题和身份认证、数字 签名。

公开密钥算法的概念是密码学发展史上具有里程碑意义的一件大事[1],与传统对 称密码体制(即加、解密密码相同)相同,公钥系统使用两个密钥:加密密码可以 公开,称为公钥;解密密钥保密为私钥。产生公钥体制的内在动力有两个:第一传统对称体 制下密码的分配问题;第二信息的数字签证问题,即如何为数字化的消息或文件提供一种类 似于为书面文件手写签证的方法。

RSA算法已经经受了多年深入的密码分析,虽然密码分析者目前既不能证明其安 全性 但也不能否定其安全性,这恰恰说明该算法有很高的实用可信度。本文主要讨论RSA算 法在面向对象编程方法下的具体计算机算法实现。

1RSA算法的基本原理简介

在公钥系统观点之后,文献[2]提出了第一个比较完善的公钥密码算法,这就是著名的RSA 算法。RSA算法描述

(1)选取两个大素数,玴q;

(2)计算,玭=pq,φ(n)=(p-1)(q-1);

(3)随机选择玠∶1<d<φ(n),((d,φ(n))=1;

(4)计算玡∶ed≡1(mod φ(n));

(5)加密运算对任意明文玬∈zn={0,1,…,n-1},加密后的密文为c,这里c= m琫玬od n;

(6)解密对密文玞∈zn,明文m=c琩玬od n。

在上面六个步骤中,玭,e公开,n称为模数,e称为加密指数即公钥;p,q,φ(n),d保密 ,φ(n)为Euler函数,玠称为解密指数,即私钥。解密的正确性证明[3]93略 。

2RSA算法的安全性分析

公钥体制的安全性是指计算上的安全性。RSA算法的安全性建立在大数的因数分解是困难的 这一现实之上,窃听者要解密密文玞,除了穷举攻击外,只能是像合法用户一样拥有d,而 求d应先求φ(n),而求φ(n)应先求p和q,而求p和q就要分解n,因此破解RSA算法相当于 做大数的因数分解。

3RSA算法的实现细节

结合上面1中的六个步骤,下面讨论RSA的实现过程中应考虑的细节问题。

3.1大素数和的选择

(1) 玴和q多大合适从安全性角度考虑,选择多大的素数,取决于因数分解的能力。目 前已经能够分解130位的十进制数,所以用户应当选择玴,q数为100位的十进制数,这样 玭将达到200位,从而使现有的分解攻击失效。

(2) 大素数的生成目前生成大素数的方法都是概率型的合数检测算法,其原理是 :对生成的随机数进行合数测试,若该数通过测试,说明其为合数,否则该数可能为素数, 当进行多次测试后,该数均未通过测试,那么这个数为素数的概率将非常大。

既然是概率算法,就有可能有把一个合数当作一个素数用于RSA系统,此时所关心的问题 是:解密可否进行及系统的安全性会否降低[4]。因此,应该首选不受影响系统的 素数生成算法,如可选用SolovayStrassen算法、MillerRabin算法。

(3) |p-q|要适当大因为[SX(](p+q)2[]4[SX)]-n=[SX(](p-q)2[]4[SX)] ,如果|p-q|较小,则[SX(](p-q)2[]4[SX)]也较小,因此[SX(](p+q)2[]4[SX)] 稍大于n,也即[SX(]p+q[]2[SX)]稍大于[KF(]n[KF)],可得如下分解nУ牟街瑁孩 顺 序检查大于[KF(]n[KF)]的每一个整数x,使得x2-n为某一整数y的完全平方,即 x2-n=y2В虎 由x2-n=y2可得n的分解形式n=(x+y)(x-y),б话愣言,玴和q的二进制表示应当相差几个比特。

(4) 玴-1和q-1都应当有大的素因子这一选择要求是针对RSA的模数玭的Pollard玴 -1因子分解攻击和循环加密攻击。一般的解决方法是:先生成大素数玴1,q1,然后 令p=2p1+1,q=2q1+1,这样生成的p,q均为素数且p-1和q-1都有大的素因子。

(5) (p-1,q-1)应较小假若(p-1,q-1)较大,从而p-1和q-1的最小公倍数,记做u,将会较小;另外满足:ed≡ 1(mod φ(n))的d一定满足ed≡1(mod u),所以在u较小的情况下可以穷举方法找到d 。

3.2玠,e的选择

玠不能太小,以免穷举攻击。研究结果表明:一般e<n,d<[KF(S]4[]n[KF)]时,d是较 容易确定的,这也是实现RSA系统时应先选择玠的原因,选择完d后,可以用扩展的欧几里 德算法计算出e,其依据是[5]:若(d,φ(n))=1,则存在整数s,t使得sd+tφ(n)=1 成立。d,e的选择要在安全性和系统性的有效性之间做出折中。

3.3模指数运算

在加、解密过程中要考虑形如:玿瑀(mod 玭)的模指数运算,为提高运算速度和 节约存储空间,一般采用如下快速算法[3]124

(1) 玜←x,b←r,c←1;

(2) 如果玝=0则输出c,结束;

(3) 若玝(mod2)≠0,则转(5);

(4) 玝←[SX(]b[]2[SX)],a←(a•a)(mod 玭)转(3);

⑤ 玝←[SX(]b[]1[SX)],c←(c•a)(mod 玭)转(2)。

3.4不同用户应当使用不同的模数

这样要求的原因是存在着对RSA的如下攻击方法:设两个用户共用一个模数玭,公钥分别为 e1,e2,且(e1,e2)=1,用RSA为他们加密同一消息玬,则密文分别为c1=m琫1(mod n),c2=m琫2(玬od n);窃听者截获密文c1,c2后,可 以 如下恢复出m:① 用扩展的欧几里德算法求出,满足玶e1+se2=1的两个整数r,s(不妨设r<0 以及c在(mod n)下的逆元c-11;② 计算(c-11)-rc 瑂2(mod n)就可得到明文m。

当用户的私钥玠泄露后,不仅要更换d,而且要更换模数n。这是因为:如果某人获得了 一个求玠的算法A,则可构造一个以A为子程序的算法[6] 来分解n,因此在泄露私钥d后仅仅简单的更换d而保留原来的n是不安全的。

4主要成员函数实现流程及其算法

求最大公约数可以使用欧几里德算法,它是幸存到现在的最古老的非凡算法,至今还是可用 的。下面给出算法的Visual C++语言描述:

int god(int 玿,int 珁){

int 玤;

判断取相反数;

if(玿+y==0)

ERROR;

玤=y;

while(玿>0){

取模;}return 玤;}

这个算法可以推广成返回由玬个数组成的god数组。

求模逆元问题等价于寻找一个玿使得: (A•x)玬od n=1,x就是A模n 的逆元。可用来求模逆 元的算法很多,使用扩展的欧几里德算法求模逆元。下面给出算法的Visual C++语言描述:

main(int arg 玞,char **arg 玽){

int 玜,b,god;

if(arg 玞<3){ヅ卸鲜涑;

}int 玼=atoi(atg 玽[1]);int 玽=atoi(arg 玽[2]);

判断输出;}ExtBinEuclid(&玼,&玽,&玜,&玝,&玤od);

cout<<玜<<"*"<<玼<<"+(-"<<玝<<")*<<玽<<"="<<玤od<

if(玤od==1)

输出结果;

return 0;

}ゴ怂惴ㄍü迭代运算来实现的,对于大的整数,其运行可能较慢。Knuth指出这个算法完成 的除法的平均数目是[7]0.843×log2 n+1.47。

5总结

面向对象的概念早在上个世纪60年代就已经被提出了,发展至今已经相当成熟。面向对象编 程方法提出了类的封装概念、代码重用的继承性和对象一致操作的多态性。这些特性使在实 现RSA算法时,可以更好地对敏感数据进行封装、代码得到重用、获得更清晰的程序流程。 从而使算法实现更加安全、更短的开发周期、更好的系统可展性。多态性可以对算法对象进 行一致性操作,使代码更规范、一致。

一个密码系统的设计不仅要有好的算法,实现过程中的细节同样不可忽视。此外,在具体的 应用时还应当考虑到协议的设计细节,因为敌手除了攻击算法外,还可能攻击协议。密码学 是一个不断发展的学科,多年来加密算法设计者和密码分析家在不停地努力,促进密码科学 的进步。一个好的密码学算法可以经得起多年的密码分析,但如果没有一个好的实现方法, 其安全性也是无从谈起的。好的实现方法可以使用户得到近似密码算法理论上的安全性和更 高效的性能。

参考文献:

[1]周玉洁,冯登国.公开密钥算法及其快速实现[M].北京:国防工业出版社 ,2002:78.

[2]R L RIVEST,A SHAMIR,L ADLEMAN.A Mehod for Obtaining DigitalSignatures and Publickey Cryptosystem[J].CommACM,1978,21(2):120126.

[3]陈鲁生, 沈世镒. 现代密码学[M].北京:科学出版社,2002:5772.

[4]ARTO SALOMAA.公钥密码学[M]. 吴世忠,译.北京: 国防工业出版社,1998:7096.

[5]闵嗣鹤, 严士健. 初等数论[M].第2版.北京:高等教育出版社,1988 :3642.

[6]冯登国, 林东岱, 吴文玲. 密码学导引[M].北京:科学出版社,1999:23 55.

[7]BRUCE SCHNEIER(美),应用密码学[M].吴世忠,译.北京:机械工业出 版社,2006:102118.

(责任编辑:李丽)

公钥密码体制与RSA算法 篇7

关键词:公钥密码体制RSA算法,加密体制

0.引言

随着计算机联网的不断发展,全球经济发展正在进入信息经济时代,计算机信息的保密问题显得越来越重要,无论是个人信息通信还是电子商务发展,都迫切需要保证Internet网上信息传输的安全,需要保证信息安全。信息安全技术涉及信息论、计算机科学和密码学等多方面知识,它的主要任务是研究计算机系统和通信网络内信息的保护方法以实现系统内信息的安全、保密、真实和完整。其中,信息安全的核心是密码技术。密码技术是集数学、计算机科学、电子与通信等诸多学科于一身的交叉学科。它不仅能够保证机密性信息的加密,而且能够实现数字签名、身份验证、系统安全等功能。是现代化发展的重要科学之一。本文将对公钥密码系统及该系统中目前最广泛流行的RSA算法做一些简单介绍。

1. 公钥密码系统

20世纪70年代Diffie和Hellman以及Erkle分别提出了公开密钥密码体制的思想, 它同于常规的对称密钥密码体制, 算法的核心是向陷门函数的应用, 加密和解密使用不同的密每个用户保存着一对密钥--公开密钥PK和秘密密钥SK, 二者不能相互推导。用户公开密钥可以发布出去, 只要保障秘密密钥的安全即可。

1.1 公钥密码

公钥密钥加密方法是1976年由Hellman和Diffie首先提出,当时堪称密码学方向的里程碑。其主要思想是:采用两个密钥,一个公开密钥,一个私有密钥。发送方发送信息时用对方的公开密钥加密,收信方用自己的私用密钥进行解密。目前,公认比较安全的公开密钥算法主要有RSA算法及其变种Rabin算法、离散对数算法等。

1.2 公钥密码体制的原理

公钥密码体制的思想并不复杂,而实现它的关键问题是如何确定公钥和私钥及加密、解密的算法。我们假设在这种体制中, PK是公开信息,用作加密密钥,而SK需要由用户自己保密,用作解密密钥。加密算法E和解密算法D也都是公开的。虽然SK与PK是成对出现,但却不能根据PK计算出SK。它们须满足条件:

(1) 加密密钥PK对明文X加密后,再用解密密钥SK解密,即可恢复出明文,或写为:DSK (EPK (X))=X

(2) 加密密钥不能用来解密,即DPK (EPK (X))≠X

(3) 在计算机上可以容易地产生成对的PK和SKㄢ

(4) 从已知的PK实际上不可能推导出SKㄢ

(5) 加密和解密的运算可以对调,即:EPK (DSK (X))=X

从上述条件可看出,公开密钥密码体制下,加密密钥不等于解密密钥。加密密钥可对外公开,而该用户唯一保存的私人密钥是保密的,也只有它能将密文复原、解密。虽然解密密钥理论上可由加密密钥推算出来,但这种算法设计在实际上是不可能的,或者虽然能够推算出,但要花费很长的时间而成为不可行的。所以将加密密钥公开也不会危害密钥的安全。

2、RSA算法

RSA算法是第一个既能用于数据加密也能用于数字签名的算法,因此它为公用网络上信息的加密和鉴别提供了一种基本的方法。它通常是先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册,人们用公钥加密文件发送给个人,个人就可以用私钥解密接受。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。

该算法基于下面的两个事实, 这些事实保证了RSA算法的安全有效性:

(1) 已有确定一个数是不是质数的快速算法;

(2) 尚未找到确定一个合数的质因子的快速算法。

2.1 RSA算法的工作原理

(1) 任意选取两个不同的大质数p和q,计算乘积r=p*q;

(2) 任意选区一个大整数e, e与 (p-1) * (q-1) 互质,整数e用做加密密钥。注意:e的选取是很容易的,例如,所有大于p和q的质数都可用;

(3) 确定解密密钥d:d*e=1 mod (p-1)*(q-1)根据e、p和q可以容易地计算出d;

(4) 公开整数r和e,但是不公开d;

(5) 将明文P (假设P是一个小于r的整数) 加密为密文C,计算方法为:C=Pemod r;

(6) 将密文C解密为明文P,计算方法为:P=Cd mod r;

然而只根据r和e(不是p和q)要计算出d是不可能的。因此,任何人都可对明文进行加密,但只有授权用户(知道d)才可对密文解密。

2.2 RSA算法的优缺点

2.2.1 优点

RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。该算法的加密密钥和加密算法分开,使得密钥分配更为方便。它特别符合计算机网络环境。对于网上的大量用户,可以将加密密钥用电话簿的方式印出。如果某用户想与另一用户进行保密通信,只需从公钥簿上查出对方的加密密钥,用它对所传送的信息加密发出即可。对方收到信息后,用仅为自己所知的解密密钥将信息脱密,了解报文的内容。由此可看出,RSA算法解决了大量网络用户密钥管理的难题,这是公钥密码系统相对于对称密码系统最突出的优点。

2.2.2 缺点

(1) 产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。

(2) 安全性, RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价,而且密码学界多数人士倾向于因子分解不是NPC问题。实际上,攻击利用的都是同一个弱点,即存在这样一个事实:乘幂保留了输入的乘法结构: (XM) d=Xd*Md mod nㄢ

这个固有的问题来自于公钥密码系统的最有用的特征--每个人都能使用公钥。但从算法上无法解决这一问题,主要措施有两条:一条是采用好的公钥协议,保证工作过程中实体不对其他实体任意产生的信息解密,不对自己一无所知的信息签名;另一条是决不对陌生人送来的随机文档签名,签名时首先使用One-Way Hash Function对文档作HASH处理,或同时使用不同的签名算法。除了利用公共模数,人们还尝试一些利用解密指数或φ(n)等等攻击。

(3) 速度太慢, 由于RSA的分组长度太大,为保证安全性,n至少也要600 bitx以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。

3、结论

RSA不仅可以加密,还能够完成签名验证功能。密码系统中,RSA公开密钥密码算法在信息交换过程中使用比较广泛、安全性比较高。

2016年RSA大会信息安全热点 篇8

2016 年RSA大会的关键词是“Connect to Protect”,直译为“链接保护”。从各大公司高管的主题报告到专题研讨再到各厂商的展示来看,理解成“联动、共享、防御”更准确贴切,面对日益恶化的网络空间威胁,不管是用户、厂商、政府或者任何技术、产品、服务等都无法单独应对,共享、合作、联动将是应对网络空间威胁的正确之途。

纵观这次历时一周的大会,传统的安全技术及产品如密码学、访问控制、防火墙、入侵检测等依然占有一席之地,近年兴起的云安全、大数据、Dev Ops、物联网安全、威胁情报分析、工控系统安全、机器学习、安全自动化等持续火热,政府在保护网络空间安全方面的角色定位问题热度不减。

尽管RSA大会依然是美国网络安全界的主战场,但是欧洲、中国等地区和国家的参与度也在增加。

1 2016 年RSA大会热点

(1) 用户数据保护与协助执法

本次RSA大会召开之时,正值苹果公司就解密i Phone手机的问题与美国政府进行激烈交锋之际,自然成为这次大会的一大热点和看点。由于其他ICT公司在之前已经表态支持苹果拒绝美国政府要求苹果公司提供具有“后门”能力的解密技术,破解恐怖犯的i Phone手机,在RSA大会的主题演讲中,各大公司都表达了加密技术在保护用户数据及隐私安全方面的重要作用,而安全是保障ICT产业发展的基础,政府要求企业提供削弱其安全性的解密方案,将对ICT产业造成不可估量的损害。有意思的是,就在同一时间,美国国会要求苹果公司就这一事件举行听证会,形成东西海岸的“遥相呼应”。大家呼吁政府应该与产业界合作、探讨寻求更好的解决方案。

由此可见,密码技术如何在保护用户数据和隐私安全的同时,又能够在保护国家安全、打击犯罪及恐怖组织中提供支持之间达到平衡,将是摆在密码学者面前的课题。本次RSA大会上,ACM也将2015 年图灵奖颁发给开创了现代密码学的Whitfield Diffie和Martin E. Hellman。可以说没有非对称密码技术的发明,就不可能有现今的信息通信技术的普遍使用。

(2) 云计算安全

云计算安全和安全云依然是热点,除了云安全联盟CSA组织盛大的安全峰会之外,大会安排了众多与云计算安全有关的专题报告,从各个层面解读云安全的解决方案及服务。在代表安全创新的10 个创新沙箱项目中,有2 个云安全的项目。云访问安全代理是云安全领域的热门话题之一,其提供商也众多。

(3) 威胁情报分析

威胁情报分析在2015 年RSA大会被炒热,今年依然热度不减,除了火热的Fire Eye之外,有多家从事威胁情报分析的厂商亮相今年的RSA大会,特别是我国创立不到一年的微步在线以及老兵360 公司也展示了其在威胁情报分析方面的实力和服务。同时,今年在威胁情报的分享和利用方面的探讨比较多,这也将是威胁情报分析真正发挥作用的重要方向。Gartner预测到2020 年,网络安全领域检测方面的投入将从现在的10% 提高到60%。

(4) 物联网安全

业内人士对于物联网时代的安全策略充满了期待。本次大会有众多厂商提供与物联网安全有关的安全技术及解决方案。华为公司在展会上展示了基于TPM技术的物联网安全解决方案,利用TPM的远程认证功能,华为的物联网管理平台被用来监控和管理物联网系统的关键组件——物联网网关、路由器和云服务器,并通过核实完整性信息和设备身份验证每个组件的软件完整性。

2 本届RSA大会上的中国力量

2016 年,参展的中国安全厂商数量大大超过往年,独立参展的厂商也增加不少,据统计,有17 家中国厂商参展,位列参展厂商国别的第三位,既有华为、360、绿盟、安天、安恒、微步在线、山石网科等独立参展商,也有由中关村组团参展的,由此可以看出中国安全厂商迈向国际市场的雄心、底气和自信。无论是首次参展的新兵,还是多年连续参展的老兵,都展示了各自的核心产品和技术。

值得一提的是,展会上国际公认的信息安全产品第三方独立评测机构NSS实验室向山石网科和华为的下一代防火墙产品颁发“推荐级”标牌。两家公司的产品在首次参加的NSS实验室2016 度公开测评中,综合威胁检查率位居前列,显示了出色的威胁防护能力、稳定性和可靠性。同时,在总体拥有成本方面,山石网科和华为的产品分别排名头两位,性价比远远高于参评的其他大多数产品,这包括国际知名供应商帕洛阿尔托网络公司、思科公司、飞塔公司等的旗舰产品。

RSA 篇9

简单来说,非对称密钥加密系统需要用两个密钥来完成整个加密的通讯过程,其中一个密钥为私钥,另一个则为公钥。公钥是公布于众的一个加密密钥,而私钥则是为个人所持有,其他任何人都不能知晓。当需要进行加密通讯时,发送方首先用公钥对信息进行加密,然后再发给接收方,最后接收方用私钥进行解密从而完成通讯。

例如,A生成一对非对称信息加密密钥E和P,A将P公布于众,则P就是公钥,而E则由A自已保管,不让他人知道。一旦有人要给A发信息,则发送信息的人使用公之于众的公钥P对信息进行加密。因为唯一能解密的私钥E只有A自已知道,所以对通过公钥P进行加密的信息也只有A能真正获得其内容,从而完成一次加密的通讯。

非对称加密算法在目前来说虽然加密过程所用时间较长,但是瑕不掩瑜,其优点还是极其值得称赞,其保密性无话可说,不用用户交换密钥,也就从很大程度上防止了密钥信息的泄露,并且使用简单,只需公布公钥即可。目前来说,非对称加密算法主要用来加密重要的关键信息,并通常与对称加密算法配合使用,从而增强信息保密的安全性。

RSA算法是最著名也是最经典的非对称加密算法,其保密性高,易于实现,理论基础堪称优美简洁。下面,就让我们来对RSA算法一探究竟。

1 RSA算法分析

RSA算法是于1977年由三位学者Ron Rivest、Adi Shamirh和LenAdleman所开发,RSA这个名字取自三位学者的名称首字母。

RSA的基本思想非常简单,以数论中的模运算为基础来进行加密和解密,同时,其高度的安全性基于以下事实:假设数A是由两个大素数进行相乘而得的一个数,在现有的计算条件下,对数A进行分析得出其两个大素数因子非常困难。

下面,让我们来详细分析一下RSA算法的加密通讯过程。

假设一个客户A想与客户B进行通讯,发送一个信息M。A通过生成两个大素数P和Q,然后使用P和Q相乘得到N,用(P-1)和(Q-1)相乘来得到Φ(n),即Φ(n)为N的欧拉函数,得到N和Φ(n)后,再选择一个与Φ(n)互质的奇数E(即E和Φ(n)的最大公约数为1),并对模方程ED≡1(modΦ(n))进行求解得到D,此时(E,N)和(D,N)便作为公钥和私钥,假设我们选择(E,N)作为公钥,(D,N)作为私钥。由以上的符号定义和数论中的费马定理知,对任意一个数a,假设a的Φ(n)次方等于数Y,a的(Φ(n)+1)次方等于数X,则有Y≡1(mod N),X≡a(mod N),于是,由数论的这一理论基础,我们得到假设a的E次方等于数C,C的D次方等于数G,则在模运算的背景下,有a的E·D次方同模于a以N为模,即G≡a(mod N),其中E·D为E和D相乘。

由此,A将公钥(E,N)公布于众,一旦有人要给A发送加密信息,则使用E在模N的背景下对信息T进行加密,得到密文F,A收到密文F后,在使用D在模N的背景下对密文F进行解密,得到明文T。由于对N进行分析而得到其因子P和Q在现有条件下很困难,因此很难得到Φ(n)和D,使得除A之外的人无法获知明文,所以可以使用此方法来进行加密通讯。

以数学上的角度为主来说,RSA可以分为以下几个步骤:

首先,我们得到大素数P和Q。

2)选择奇数E,使得E与Φ(n)互质,即E和Φ(n)的最大公约数为1;

3)求解模方程E·D≡1(modΦ(n)),得到D;

4)对明文T使用E进行加密,得到密文C:TE≡C(mod N);

5)发送密文C,接收方接收C;

6)接到C后,对C进行解密:CD≡T(mod N),获得明文T整个通讯过程完毕。

以上,便是RSA加密过程的基本思想和步骤。

下面,作者使用一种小种语言Common Lisp对RSA算法进行实现。

2 RSA算法的Common Lisp实现

Common Lisp是函数式编程语言Lisp的最流行的方言,其非常适用于数学编程。用Common Lisp实现的程序代码段极短,完全可以以简洁的方式来表示任何程序。

在这里,作者利用Common Lisp语言来实现RSA算法的整个过程,原因主要有二:1)Common Lisp本身为函数是编程,其输入的数字无大小限制,从广义上来说,其输入的内容无限制,其变量的处理表达更灵活;2)Common Lisp实现的程序非常短小精干,可以以简洁优美的方式来表达RSA算法的数论算法过程。

下面,就跟着作者来逐步分析(本文中使用的Common Lisp编译器为标准的Lisp in box)。

2.1 大素数生成

对于RSA算法,首要任务是实现两个大素数的生成,即得到P和Q。在这里,我们使用一种几乎可行的素数测试方法来获得素数。

这种方法的可行依据为费马定理,即若P是一个素数,则有ap-1≡1(mod P)。这蕴含着如果P是一个素数,则对a取1至(p-1)上式皆成立。因此,对于数N,若能找出一个数a使得an-1≠1(mod n),则可以判断n不为素数。然而,不得不说的是,这种方法有缺陷,因为还是存在合数使得上式成立,即存在合数n,使得an-1≡1(mod n),此时称n为是一个基为a得伪素数。但幸运的是根据资料,这个方法出错的概率非常小,因此在这里可以近似胜任素数监测工作。

根据如上的分析,作者先写出了用此方法进行素数测试的伪代码,在本文中,作者取a等于2:

Then return PRIME

Else return COMPOSITE

从伪代码中可以看出,作者直接使用公式ap-1≡1(mod P)对参数P进行判断,满足公式则说明为素数,不满足公式则为合数。

此处的伪代码中有一个步骤需要小费周折,即if的判断条件ap-1,当P很大时,使用普通的幂乘效率不高,因此,作者使用反复平方法求元素的幂。

2.2 反复平方法

在数论中,求一个数的幂对另一个数的模的运算是经常出现的一种运算,也被称为模取幂。

一般来说,使用反复平方法便足以应对所有大数的挑战。

反复平方法的整体步骤如下:

对于计算abmod n,首先求出b的二进制形式,然后从低位到高位进行判断,若是0则将a平方,若是1则将a的平方乘以一个临时变量,以最终累计到ab。

其伪代码如下:

//此序列为b的二进制形式表示,即每一位是0或1

根据如上的分析和伪代码,作者使用Common lisp实现了反复平方法,其源代码如下:

其中参数a、b和n分别代表abmod n中的a、b和n。

载入函数后,测试运行结果如下:

在测试用例中,作者使用了一个较小的数和一个较大的数,得出结果如上所示。

2.3 使用反复平方法实现的素数测试

根据2.1和2.2的分析,作者将反复平方法使用到对素数的判定中,写出的源代码如下:

在这个实现中,若输入的参数n是素数则返回1,若是合数则返回0。

测试用例如下:

2.4 RSA算法实现

在实现了对素数的判断后,就可以使用得到的大素数来进行加密了。加密的过程如前文中分析的一样,在这里,其关键还是求数的模取幂问题。跟上面一样,作者还是使用反复平方法来求数的模取幂。

此外,还需实现一个求模方程的函数,以求得相对应的E或者D作为密钥。

求模方程的函数交易与实现,作者直接写出了其函数的Common Lisp源代码:

))

在这个函数中,输入的参数代表a*x≡b(mod n)中的a、b和n,并返回解x。

由此,RSA加密函数的Common Lisp源代码如下:

在这个RSA函数中,作者对输入的两个大素数p和q进行相应的运算而得到n、n的欧拉函数、公钥E、私钥D等一系列数据,并使用反复平方法直接求得了密文和明文。其中参数k即为输入的明文。

在函数的最后,作者进行编程而打印出了所有所需的数据,具体有:p和q的乘积n、代表n的欧拉函数g、公钥e、密文c、私钥d、以及最终解密得到的明文a(即等于参数k)。

载入函数后,测试如下:

测试用例中,作者使用了一个较小的测试数据和一个较大的测试数据进行测试,皆得到了正确的结果。

3 总结

在本文中,作者对著名的RSA加密算法进行了分析,并使用了一种非常方便的小众语言Common Lisp对RSA算法进行了实现。

RSA算法在目前来说是非常安全的,虽然有学者指出了其漏洞,并且也有学者指出其加密所耗时间太长,但是RSA仍在目前的信息安全领域中无可替代,RSA配合其他加密算法的使用,使之大展其优势。

然而,在不久的将来,当新一代的计算机诞生时,也许RSA算法最终也会难免被淘汰,但是相信到时,一定会有更高效更安全的算法出现。

参考文献

[1]Thomas H.Cormen&Charles E.Leiserson&Ronald L.Rivest&Clifford Stein.算法导论[M].北京:机械工业出版社,2013.

[2]Peter Seibel.Pratcical Common Lisp[M].北京:人民邮电出版社,2011.

[3]Paul Graham.On Lisp[M].2007.

[4]Paul Graham.Hackers and Painters[M].北京:人民邮电出版社,2011.

[5]Robert Sedgewick.算法分析导论[M].北京:机械工业出版社,2006.

浅论基于RSA的加密算法 篇10

1 RSA的研究意义

产生网络信息安全问题的根源可以从三个方面分析:自身缺陷, 开放性和人的因素。

首先, 网络自身的安全缺陷主要体现在协议和业务的不安全上, 而协议的不安全主要原因是:一方面互联网起源的出忠是进行学术交流和信息的沟通, 并非商业目的而导致缺乏安全的总体构想和设计。另一方面是协议本身的泄漏。然而业务上的不安全表现在错误信息或业务本身的不完善。

其次, 网络的开放性体现在业务是基于公开的协议等原因。

最后, 人的因素才是最主要的因素, 表现为三方面:人为的无意失误, 黑客攻击, 管理不善。

随着这些问题不断的出现, 网络信息安全的意义也就体现出来了:从大的方面说, 网络信息安全关系到国家主权的安全、社会的稳定、民族文化的继承和发扬等。从小的发面说, 网络信息安全关系到公私财产和个人隐私的安全。因此, 密码学在网络信息安全中发挥的重要性也体现了出来。密码技术是实现网络信息安全的核心技术, 是保护数据最重要的工具之一。最常用的技术有:数据加密标准DES、高级加密标准AES、RSA算法、椭圆曲线密码算法ECC、IDEA算法、PGP系统等。

2 RSA的国内外发展趋势

2012年2月27日到3月2日在美国旧金山举办的RSA信息安全大会上, 网络安全, 云安全仍然是时下最为热点的话题。而其中云安全仍是2010、2011和2012年度最耀眼的新星, 围绕着云安全与网络安全提出了许多问题以及解决的方法, 比如:云安全需要急迫解决的安全隐患;云计算是转变安全交付方式的机会;云安全将成为2010安全领域趋势;安全专家看RSA大会焦点:云安全准备出发;RSA大会三大主题:网络计犯罪, 云计算, IT消费;安全风向标:品味RSA 2012信息安全大会;RSA2012主题揭秘:伟大的密码比剑更有力;新的安全威胁面前需要新的安全架构。

另外, 前人针对RSA所做的一些研究, 比如:RSA算法的改进;基于AES与RSA混合加密策略的硬盘分区加密技术;一种基于RSA的加密算法;RSA密码算法的研究与改进实现;RSA加密算法的研究及应用等等。

3 RSA公钥密码

3.1 RSA算法简介

公开密码算法与其他密码学完全不同, 它是基于数学函数而不是基于替换或置换。与使用一个密钥的对称算法不同, 公开密钥算法是非对称的, 并且它使用的是两个密钥, 包括用于加密的公钥和用于解密的私钥。公开密钥算法有RSA、Elgamal等。

RSA公钥密码算法是由美国麻省理工学院 (MIT) 的Rivest, Shamir和Adleman在1978年提出来的, 并以他们的名字的有字母命名的。RSA是是第一个安全、实用的公钥密码算法, 已经成为公钥密码的国际标准, 是目前应用广泛的公钥密码体制。

RSA的基础是数论的Euler定理, 其安全性基于大整数因子分解问题的困难性, 公私钥是一对大素数的函数。并且该算法已经经受住了多年深入的密码分析, 虽然密码分析者既不能证明也不能否地RSA的安全性, 但这不恰恰说明该算法有其一定的可信度。

3.2 加解密算法描述

3.2.1 RSA利用了单向陷门函数

如图1所示。

3.2.2 RSA密钥对生成与加解密

3.2.2. 1 RSA密钥对的生成

首先, 选取两个互异的大素数, 令其为q和p (保密) , 并且为获得最大程度的安全性, 要让q与p相同长度。然后计算乘积 (公开) :

其次, 随机选取加密密钥e, 使其与j) (n互素, 即ne j1) ) (, gcd (=, 然后用扩展的Euclid算法计算密钥d:

注意, e和n可以公开, 两素数p与q不再需要, 可销毁, 但不能泄露。

3.2.2. 2 RSA加解密算法

1) 加密过程

首先, 将明文比特分组, 使其每个分组对应的十进制数小于n, 即分组长度小于log2n, 后对每个明文分组mi做加密运算, 其具体步骤如下:

获得其接收方公钥 (e, n) ;

把消息M分组为长度L (L

3) 利用加密算法计算出密文C=c1c2....ct (公式如下) ; (公式如下) ;

将密文C发送给对方。

2) 解密过程

(1) 接收方收到密文C并把密文按照长度为L分组得C=c1c2....ct ;

(2) 利用私钥d和解密算法计算mi (公式如下) ;

(3) 得到明文消息M=m 1m2....mt。

3.2.3 加解密流程

如图2示。

3.3 RSA设计流程

如图3所示。

4 RSA的安全性

从理论上讲RSA的安全性完全依赖于分解大数的难度。但从技术上讲这是不正确的, 这只是一种推测。从数学上从未证明需要分解n才能从c和e中计算出m。用这种完全不同的方法来对RSA进行密码分析这还只是一种假想。而我并不认为这种新方法能让密码分析者推算出d。

当然, 也可通过猜测 (p-1) (q-1) 的值来攻击RSA, 但这种攻击没有分解n容易。

对那些仍持极端怀疑态度的人来说, 有些RSA的变型已经被证明和大数分解同样困难, 可参见, 它给出了从RSA加密的密文中恢复某一位与恢复出整个文本同样困难这一结论。

可以看出分解n是最显而易见的攻击方法。敌方手中有公开密钥e和模数n, 所以要找到解密密钥d, 就必须分解n。目前, 129为十进制数字的模数是能分解的临界数。所以, n应该大于这个数。

对于密码分析者而言, 他有可能尝试每一种可能的d, 直到获得正确的一个。这种穷举攻击并没有试图分解n更有效。

随着时间的推移, 人们声称已经找到了破译RSA的简单方法, 但是直到现在这些宣称还是站不住脚的。举例来说, 1993年Willian Payne的论文草案中提到了一种基于费尔马小定理的方法。很不幸, 它的速度仍然比分解模数要慢很多。

5 结束语

随着现代信息快速发展和网络的普及, 人们可以不用出门而了解世界大事和一些重要的信息。人们在这快速发展的今天再也没有属于自己的秘密, 因此我们要保护好自己的个人信息或者公司信息等等, 使隐私不被泄漏。所以信息的加密对我们来说非常的重要, 文件的加密可以用到各个领域, 它将要影响我们未来的生活。

摘要:信息是一种资源, 也是一种财富。在现代社会中, 信息处理和通信技术日益发展, 保护信息的安全, 特别是保护重要信息的安全, 已成为国际社会普遍关注的重大问题。该文对密码学、信息安全做了些简要的介绍, 并且简明扼要的介绍了信息安全的发展趋势, 重点阐述了RSA加解密算法。

关键词:计算机,密码,RSA算法

参考文献

[1]梁玲, 孔令德.RSA加密算法及一般攻击方法[J].太原大学学报, 2006 (2) .

[2]郑勇明, 杨亚新, 彭凤梅.RSA加密算法实现过程中数据溢出问题的一种解决方法[J].电脑知识与技术, 2006 (32) .

[3]王刚.RSA加密算法初探[J].科技信息:学术研究, 2007 (17) .

[4]柴井坤.RSA加密算法的实现及其细节问题的研究[J].黑龙江科技信息, 2007 (12) .

[5]步山岳.RSA加密算法分析与实现[J].信息安全与通信保密, 2007 (10) .

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【RSA】相关文章:

上一篇:电子商务行政管理下一篇:钢铁工序能耗

本站热搜

    相关推荐