公开密钥算法RSA的分析及其IP核的实现与验证

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:SB502
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着电子商务的发展,出现了智能卡、电子钥匙USB KEY等,广泛应用于交通、身份认证等领域,极大的方便了人们的工作和生活。RSA是目前应用最广泛的公开密钥算法,在智能卡等小型移动设备中实现RSA密钥算法,具有十分重大的意义。本设计的设计目标定义为面向低端,兼顾小面积和高性能,设计内容是包括RSA IP核设计和RSA密钥生成在内的一整套RSA算法解决方案。为保证安全性,可支持密钥长度要达到2048比特。本文首先对RSA加解密算法进行了深入分析,确定使用RL方式的二进制扫描算法实现模幂,使用Montgomery CIOS算法实现模乘,详细分析算法参数的选择,并对模平方等算法进行优化。通过软件建模,明确了算法实现的层次,为硬件实现奠定了良好的基础。在IP核设计中,根据设计目标选择32位高基模乘器作为核心硬件结构。之后合理划分层次模块,根据算法优化控制逻辑。在模乘器数据通路中,使用两级流水线,4-2压缩器等技术缩短关键路径,并使用两倍于模乘器字长的T SRAM存储运算中间结果,进一步提高了硬件利用率。存储系统使用5个SRAM存储操作数、中间结果和最终结果,有效缩小IP面积;用反相时钟技术和高效的存储策略,将其他模块与存储系统交互的开销降到最低。最终使IP核实现小面积、高性能,在100Mhz时钟下,2048位模幂(操作数长度均为2048位)的速度约为3.7次/秒,1024位模幂速度约为33次/秒,性能优良。IP核支持大于32位,小于2048位的模幂和模乘运算,采用通用接口设计,利于SOC集成,且具备密钥保护功能,操作简便。为了达到商用标准,本设计对RSA IP核进行了严格的测试验证,包括功能测试、性能测试和压力测试。遵循经典ASIC设计流程,搭建符合C*Bus总线时序的仿真环境,做综合,静态时序分析,形式验证,以及版图设计。本设计在smic 0.18um工艺下最终版图面积小于1mm2,在100Mhz时钟下满足前端定义的时序约束。由于RSA密钥更换频率较低,为了节省硬件资源,采用嵌入式软件的方式实现RSA密钥生成算法。本设计使用的算法用于生成1024位和2048位RSA密钥,基于国产32位CPU核(C*CORE C340),使用硬件真随机数发生器HRNG和RSA协处理器进行硬件加速。通过对算法原理和步骤进行深入分析,提出生成素数的三个步骤:随机产生奇数候选数,预筛选,素性测试。通过研究和优化预筛选算法,大大提高了产生素数的效率。分别使用Euclid算法和扩展Euclid算法求解最大公约数和模逆。最后根据嵌入式系统的特点对整个算法进行了优化,测试结果与同类产品相比有一定优势。
其他文献
随着我国市场经济体制的愈发完善,建筑行业市场竞争愈发激烈.当前部分建筑工程建设所获取的经济效益未达到目标要求,个别工程甚至出现严重亏损.究其原因,与建筑工程造价控制
建筑工程项目都具有一次性、金额大、周期长等特点,积极落实全过程造价管理,方可保证项目资金全面可控,实现工程建设项目顺利实施.本文首先对工程造价全过程管理方法进行了简
工程造价管理就是对工程项目建设费用进行合理分析、管理和控制过程,在具体实践整个过程中做好造价管理工作,是现在建筑质量提升的主要形式,具备一定实践价值.在工程实践中需
在我国进入21世纪的新时期,城市化进程在不断加快,工程建设公司经营规模也在迅速提升.随着建设行业内部竞争的加剧,更多的建设单位将经营管理的重心放在公司项目建设的工程造
伴随着城市化进程的加快推动建筑工程建设规模不断扩大,建筑行业迎来更高发展机遇的同时也带来更多挑战.建筑行业在进行工程建设时,为了保证整体的经济利益,就必须提前做好整
工程造价是建筑业中一个非常重要的环节.目前,在工程造价管理过程中,存在许多问题,需要及时解决.因此,建设工程相关人员必须拿出更好的对策.工程造价管理人员只有通过对实际
本文主要研究当前建筑工程造价预结算审核工作相关问题,随着城市化建设的不断推进,建筑工程项目数量和规模有所提升,建筑行业市场竞争日趋激烈.基于此,建筑企业在推进建筑工