RSA算法特点与应用注意事项

发布时间:2024-11-1 09:17    发布者:xiaoyuhzou1228
LKT系列加密产品部分具有硬件RSA算法协处理器,可以有效的为用户开发提供更多的选择和安全性。  
3DES、AES等对称算法虽有运算速度快、加密强度高等优点,但密钥存储与传递却是其最大的弱点,这也对它的应用场景造成了一定的限制。而RSA非对称算法利用非对称公私钥对,解决了密钥传递中的安全问题。在一些对实时性要求不是非常严格的系统中,RSA算法还是可以弥补对称算法的弱点。当然,若两者结合使用,既能提升运算效率,又能保证密钥安全,是个不错的选择。
我们并不需要多关心RSA的算法原理与安全强度,因为它是目前最主流的非对称算法,且短时间内地位是不可替代的。对于初次了解该算法并准备使用的工程师来说,只需要注意几点:
1、RSA算法的公钥是公开的,任何人都可获取保留,因此其存储与传递不需要特殊处理。私钥不公开,必须安全存储,嵌入式行业一般存放于加密芯片或其他硬件安全载体中。
2、公钥先对明文运算生成密文称为加密操作,私钥后对密文运算还原出明文称为解密操作;私钥先对明文运算生成密文称为签名,公钥后对密文运算生成明文成为验签。即公钥只进行加密和验签工作,私钥只进行解密和签名工作,适其介入运算的先后顺序而定。
3、根据公钥模长度的不同,RSA算法又分为RSA512、RSA1024、RSA1280等。公钥模长度即为单次运算数据的长度。以RSA1024为例,当使用公钥加密时,单次输入的明文长度不能超过1024bit = 1024bit / 8 = 128byte,私钥运算亦是如此。
4、RSA算法的公私钥参数提供方式分为两种。第一种模式NDE模式,NE是公钥,ND是私钥。第二种CRT模式:NE是公钥,P Q dP dQ Qinv这5个参数构成私钥。上述参数中P、Q为两个大素数,如果使用RSA1024算法,则二者长度均为1024/2=512bit =64byte,dP、dQ两个参数长度也和P、Q长度相等。N=P*Q长度为1024bit,即128byte,D为私钥参数;E为公钥指数(一般使用0x010001)。
目前LKT加密芯片能支持CRT模式的RSA算法。加密芯片可自动生成公私钥对。用户在开发过程中可以放开公私钥文件读写权,但是应用阶段必须将私钥文件读权限封住。若用户已有公私钥对,在向加密芯片中写入的过程中,需要先将P Q dP dQ Qinv这5个参数解析出来,然后按照手册中规定的格式写入到芯片中,才可以进行RSA运算。
经过本期的介绍后,相信大家对RSA算法的基本概念和应用都有了初步了解,如果通过阅读本文,能让各位顺利过渡进入到RSA的了解和应用中,那就达到了作者的本意。

本文地址:https://www.eechina.com/thread-875852-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • 安静高效的电机控制——这才是正确的方向!
  • 为何选择集成电平转换?
  • 无线充电基础知识及应用培训教程2
  • PIC18-Q71系列MCU概述
  • 贸泽电子(Mouser)专区
关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表