论文部分内容阅读
随着现代信息技术的飞速发展,信息安全扮演着越来越重要的角色。作为信息安全的核心和基石,密码算法特别是密码算法的安全性一直是国内外研究和讨论的热点问题。长期以来,人们一直专注于使用数学方法寻找密码算法的漏洞,这不仅需要极高的数学造诣而且会耗费巨大的资源;同时,由于密码算法的科学设计,从数学角度破译密码算法基本不具有现实意义。能量分析攻击突破传统密码算法的攻击模式,从密码算法在密码设备中运行时消耗的能量轨迹去分析和判断密码算法的各种有效信息,成为最具威胁的旁路攻击方法之一。而在密码算法领域,RSA公钥密码体制具有里程碑的意义,是应用范围最为广泛和安全性最高的密码算法。本文即以RSA公钥密码体制及其快速算法RSA-CRT的能量分析攻击方法和防御措施为主要研究内容。在能量分析攻击方法研究中,首先介绍了SPA、DPA的攻击原理和实施办法,之后分别针对RSA及RSA-CRT算法进行讨论:给出了RSA的SPA攻击算法,改进了DPA攻击RSA的现有方法,并依据不同前提归纳为三种具体算法;给出了SPA攻击RSA-CRT的算法,介绍了现有DPA攻击RSA-CRT的余数猜想法,在此基础之上提出一种新的攻击算法——二次方程法。该方法综合利用SPA、DPA攻击手段和RSA-CRT算法原理,将RSA算法的大数分解难题转化为以私钥p或q为解的二次方程,最终获取算法私钥值。在能量分析的防御研究中,针对攻击手段分别给出防御措施和改进算法。分析和讨论了RSA、RSA-CRT算法的SPA、DPA攻击弱点,给出改进算法和效果分析;提出了一种可防御针对RSA的DPA攻击算法——三重掩盖法,算法将加密操作中的明文、指数和关键运算指令全部掩盖,使能量分析得不到有用信息;在讨论了模幂算法的自随机化方法后,提出将BBS随机数发生器应用于改进的RSA算法中,得到新的严格自随机化防御算法。最后,给出能量分析仿真软件的设计原理、工作流程、仿真算法,利用项目小组自行设计的能量分析仿真软件SSPA对SPA、DPA的攻击过程进行仿真,并对提出的防御措施进行分析和验证。