密码技术是信息安全的核心技术公钥密码在信息安全中担负起密钥协商、数字签名、消息认证等重要角色,已成为最核心的密码。本文介绍了数字签名技术的基本功能、原理和实现条件,并实现了基于RSA的数字签名算法
0.引言
随着计算机网络的发展,网络的资源共享渗透到人们的日常生活中,在众多领域上实现了网上信息传输、无纸化办公。因此,信息在网络中传输的安全性、可靠性日趋受到网络设计者和网络用户的重视数字签名技术是实现交易安全的核心技术之一,在保障电子数据交换((EDI)的安全性上是一个突破性的进展,可以解决否认、伪造、篡改及冒充等问题
1.数字签名
1.1数字签名技术的功能
数字签名必须满足三个性质
(1)接受者能够核实并确认发送者对信息的签名,但不能伪造签名
(2)发送者事后不能否认和抵赖对信息的签名。
(3)当双方关于签名的真伪发生争执时,能找到一个公证方做出仲裁,但公证方不能伪造这一过程
常用的数字签名技术有RSA签名体制、Robin签名体制、E1Gamal签名体制及在其基础之上产生的数字签名规范DSS签名体制。
1.2数字签名技术的原理
为了提高安全性,可以对签名后的文件再进行加密。假如发送方A要给接收方B发送消息M,那么我们可以把发送和接收M的过程简单描述如下:
(1)发送方A先要将传送的消息M使用自己的私有密钥加密算法E(al)进行签名,得V=E(al(M))其中,A的私有加密密钥为al;
(2)发送方A用自己的私有密钥对消息加密以后,再用接收方B的公开密钥算法Ebl对签名后的消息V进行加密,得C=E(b l (V))。其中,B的公开加密密钥为6l.
(3)最后,发送方A将加密后的签名消息C传送给接收方B
(4)接收方B收到加密的消息C后,先用自己的私有密钥算法D(62)对C进行解密,得V=D(h2挥))其中,B的私有解密密钥为62(5)然后接收方再用发送方A的公开密钥算法D(a2)对解密后的消息V再进行解密,得M=D(a2(V))。其中,,A的公开解密密钥为a2=这就是数字签名技术的基本原理。如果第三方想冒充A向B发送消息,因为他不知道.a的密钥,就无法做出A对消息的签名如果A想否认曾经发送消息给B.因为只有A的公钥才能解开A对消息的签名,.a也无法否认其对消息的签名数字签名的过程图l如下:
2. RSA算法
2.1 RSA算法的原理
RSA算法是第一个成熟的、迄今为止理论上最成功的公开密钥密码体制,该算法由美国的Rivest,Shamir,Adle~三人于1978年提出。它的安全性基于数论中的Enle:定理和计算复杂性理论中的下述论断:求两个大素数的乘积是容易计算的,但要分解两个大素数的乘积,求出它们的素因子则是非常困难的.它属于NP一完全类
2.2 RSA算法
密钥的产生
①计算n用户秘密地选择两个大素数F和9,计算出n=p*q, n称为RSA算法的模数明文必须能够用小于n的数来表示实际上n是几百比特长的数
②计算 (n)用户再计算出n的欧拉函数(n)二(P-1)*(q-1),(n)定义为不超过n并与n互素的数的个数③选择。。用户从[(0, (n)一1〕中选择一个与}(n)互素的数B做为公开的加密指数
4计算d。用户计算出满足下式的d : ed = 1 mal (n)(a与h模n同余.记为a二h mnd n)做为解密指数。
⑤得出所需要的公开密钥和秘密密钥:公开密钥(加密密钥):PK={e,n} ;
秘密密钥(解密密钥);SK=(d,n}
加密和解密过程如下:
设消息为数M(M 设C=(Md)mod n,就得到了加密后的消息C; 设M=(Ce)mod n,就得到了解密后的消息M。其中,上面的d和e可以互换 由于RSA算法具有以下特点:加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥))SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。它们满足条件:①加密密钥PK对明文M加密后,再用解密密钥SK解密,即可恢复出明文,或写为:Dsk(Esk(M))= M②加密密钥不能用来解密,即((D娜e,c}M)) } M③在计算机上可以容易地产生成对的PK和SK}④从已知的PK实际上不可能推导出SK⑤加密和解密的运算可以对调,即:E}(M)(Es}(M)(M))=M所以能够防止身份的伪造、冒充,以及对信息的篡改。 3. RSA用于数字签名系统的实现 RSA竿名讨程如下图2所示: 4.结论 数字签名技术是网络系统虚拟环境中确认身份的重要技术,在技术和法律上有保证。在数字签名应用中,公开密钥可以保存在系统目录内、未加密的电子邮件信息中、电话黄页上或公告牌里等,网上的任何用户都可获得公开密钥。而私有密钥是用户专用的,由用户本身持有.它可以对由公开密钥加密信息进行解密。本文对数字签名进行了初步研究探讨,下一步主要研究该方案与其他算法结合的运行速度。
摘要混合位宽的块浮点(BlockFloatingPoint,BFP)技术为低比特卷积计算提供了一种兼具灵活性与高效性的解决方案,能够在降低存储与计算开销的同时,保持接近浮点精度的模型性能。然而,现有基于现场可编程门阵列(Field-ProgrammableGateArray,FPGA)的混合位宽BFP卷积加速器普遍未能充分利用片内数字信号处理器(DigitalSignalProcessor,DSP...
云计算将使数字图书馆在软件环境、硬件存储、应用平台与服务方式等方面发生深刻变革,同时也会使信息资源面临很多安全问题。在云计算应用过程中应逐步建立和完善相关行业标准,保证信息资源的安全存储,实现信息资源的保密性与完整性、严格划分操作权限、加强用户访问控制,以保障数字图书馆信息资源的安全。 云计算是Google提出的全新的互联网应用模式,是分布式处理、并行处理和网格计算等计算机科学概念在互联网上的实...
摘要:信息产品市场的垄断建立在数据与算法等无形资产之上,具有非排他性与强网络外部性,传统工业时代的结构性反垄断思路难以直接适用。本文借鉴复杂系统理论中的动态成长网络分析框架,将企业的创新决策与竞争策略置于产品网络的成长过程中考察。研究发现:市场初期,单模态产品的垄断为多模态产品创新提供了资源基础;随着模态维度扩张,市场呈现"旧产品垄断与新产品创新并存"的格局。企业从旧产品向新产品转移用户的潜力(引...
介绍了软件项目风险管理的重要性,探讨了软件项目风险管理的主要过程和步骤以及常用的工具和方法,详细分析了软件项目中常见的风险类型和风险成因,最后给出了经典的风险管理模型和常用的风险应对措施. 论文关键词:项目管理;风险分析;风险管理;风险应对;模型 0引言 随着信息技术的飞速发展,软件产品的规模也越来越大,各软件企业在开发活动中都为了使软件项目能够按照预定的成本、进度和质量顺利完成而进行有效的...
随着互联网的广泛应用,网络信息安全问题越来越受到人们的关注。本文分析了目前网络信息安全领域存在的多种安全问题,提出了实现网络信息安全的防范措施。1引言随着Internet的迅猛发展,网络上各种新业务也不断兴起,比如电子商务、网上银行、数字货币、网上证券等,使得工作、生活变得非常方便,但病毒侵虐、网络犯罪、黑客攻击等现象时有发生,严重危及我们正常工作、生活。据国际权威机构统计,全球每年因网络安全问题...
在软件项目开发的过程中,软件项目管理的成功与否是决定一个项目是否能够顺利高效率完成的重要保证。但是我国大部分的软件企业在进行项目管理对都存在着各种问题,从而使项目不能顺利有效地完成。文章探讨了在嚼目管理过程里出现的常见问题,并给出了相应的解决策略。 我国软件产业的现状是数量已上规模,但质量亟待提高。在软件项目开发中,发现了一些普遍存在的问题,如项目严重误期、代码质量达不到标准、程序员疯狂工作仍然...
摘要核糖核酸(RNA)作为生命活动的核心调控分子,其结构多样性与功能复杂性远超传统认知。从基因表达调控到表观遗传修饰,从非编码RNA的远程调控到mRNA疫苗的快速响应,RNA研究已成为生命科学和生物医药领域的核心前沿。然而,RNA序列的庞杂性、修饰的动态性、结构的高维性以及相互作用网络的错综复杂,使得传统实验手段和经典计算方法在通量、精度和系统性方面均面临严峻挑战。近年来,人工智能(AI)技术凭借...
为提高软件企业的管理水平,对软件项目管理存在的一些问题进行了深入的分析,指出了软件项目管理中常见的不足之处:项目计划问题、管理意识问题、项目干系人相关问题、项目团队内分Z-协作问题、沟通意识问题、项目风险管理意识问题、项目收尾问题通过分析找出了原因.提出了改进措施 软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量风险等进行分析和管理的活动。软件项日管...
结合单位的实际,分析了现有计算机专业课程特点和不足,讨论了高师计算机专业学生开设信息安全法律法规课程的必要性、可行性,分析了信息安全技术课程、与信息安全有关法律法规课程的特点.给出了高师信息安全法律课程的教学目标定位、设置方法. 论文关键词:高师计算机专业;信息安全;法律法规课程 人类进入21世纪,现代信息技术迅猛发展,特别是网络技术的快速发展,互联网正以其强大的生命力和巨大的信息提供能力和检...
从软件项目管理的重要性谈起,研究分析了四个主流的软件项目管理技术,指出了它们的缺陷,最后结合实践提出了一种新颖的软件项目管理概念。1引言软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。最早源自于70年代中期。当时美国国防部曾立题专门研究软件项目做不好的原因,发现70%的项目是因为管理善引起的,而并不是因为技术实力不够,进而...