当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于Latch PUF的抗边信道攻击DES防护方法及电路技术

技术编号:17413372 阅读:240 留言:0更新日期:2018-03-07 09:13
本发明专利技术公开了一种基于Latch PUF的抗边信道攻击DES防护方法及电路,方法具体包括生成初始参数、二维辅助置换向量、一维辅助置换表、DES掩码准备、掩码S盒置换、掩码解除和掩码后操作。电路包括DES基本模块、基于Latch PUF的真随机数生成器(TRNG)、基于ROM(只读存储器)存储的二维辅助置换表P、基于ROM存储的

An anti edge channel attack DES protection method and circuit based on Latch PUF

【技术实现步骤摘要】
一种基于LatchPUF的抗边信道攻击DES防护方法及电路
本专利技术涉及一种基于LatchPUF的抗边信道攻击DES防护方法及电路,属于信息安全

技术介绍
在信息社会,密码技术应用于人们的方方面面,常用于提供机密性的信息,即保护传输和存储的信息。密码技术还可用于消息签名、身份认证、系统控制、信息来源等,是关系人类社会发展进步的重要技术。密码编码学得到发展的同时,与之对应的密码分析学也有了很大的进步。现实中,密码算法的设计安全不仅局限于算法本身的安全性,还包括其实现的物理实体——密码芯片的安全性。密码芯片在工作时,会发生很多额外信息泄露(边信道信息泄露),这些信息泄露都是由于芯片的物理特性产生的,与之对应的密码分析方法称之为边信道攻击(Side-Channelattack,SCA)。边信道攻击绕开了分析复杂的密码算法本身,将密码芯片运行密码算法时泄露的各种信息(运行时间、功耗、电磁辐射、Cache、声音等)进行分析。目前,边信道攻击已成为密码算法实现安全性的最大威胁,边信道攻击技术已经成功应用于攻击大部分的密码算法和协议,包括公钥算法(如RSA、ECC等)、分组密码(如DES、CLEFIA、AES、Camellia等)、序列密码(RC4、Trivium等)和密码协议(SSL协议、TLS协议、PKCS协议等),并针对于不同处理器硬件平台、操作系统上的软件实现以及不同的智能卡、以及FPGA、ASIC上的硬件实现均有对应的有效的攻击分析方法,已经成为密码安全领域最大威胁,具有抗边信道攻击能力的加密电路成为密码安全领域亟待解决的第一难题。关于抗边信道攻击,尤其是抗功耗分析的方法研究,主要分为两大类:功耗隐藏与掩码技术,功耗隐藏研究的目的是移除功耗与计算数据相关性之间的统计学关系,通常将密码芯片执行密码算法时的功耗进行均衡化或随机化,使得攻击者无法轻松从功耗中提取出计算数据的相关性,这要求从根本上修改电路,在实际操作上复杂度较高;而掩码技术是将密码芯片执行密码算法时的中间值进行随机化,即使用掩码策略掩蔽掉中间值所含加密密钥信息,进而功耗等边信道泄露中所含加密密钥信息大大减小,攻击者从这些边信道泄露中提取出的信息不足以恢复密钥。近些年来,随着智能卡、RFID(RadioFrequencyIdentification,射频识别)标签和传感器网络节点等物理实体的广泛应用,如何对这些物理实体实施有效认证是确保系统安全的关键因素。然而,由于这类实体普遍存在计算能力差、资源有限等问题,传统基于密码学的认证方法在应用时存在很大障碍。借鉴当前普遍使用的基于人体唯一特征指纹或虹膜对个人实施认证的思想,人们提出了基于物理实体的内在物理构造来唯一地标识单个物理实体,实现对物理实体有效认证的方法。这就是人们提出的物理不可克隆函数(PhysicalUnclonableFunction,PUF)的概念,借由PUF设计的真随机数发生器(TrueRandomNumberGenerator,TRNG)生成的随机数有非常好的可靠性和唯一性,由于基于这种架构生成的随机数没有规律,攻击者无法预测下一个时刻的随机数具体值,这样的随机数可以很好的满足掩码策略所需的掩码随机数要求。
技术实现思路
本专利技术所要解决的技术问题是:提供一种基于LatchPUF的抗边信道攻击DES防护方法及电路,大幅减小DES(DataEncryptionStandard,数据加密标准)加密过程中各种边信道泄露信息,对传统DES加密算法进行边信道攻击的防护。本专利技术为解决上述技术问题采用以下技术方案:一种基于LatchPUF的抗边信道攻击DES防护方法,包括如下步骤:步骤1,利用真随机数生成器生成初始参数,包括随机数r1、r2、s、rp,其中,随机数r1、r2均为6bit,随机数s为2bit,随机数rp从1~105共105种可能;步骤2,将步骤1生成的随机数rp作为地址,从存储二维辅助置换表P的只读存储器中读取上述地址对应的一列数据作为二维辅助置换向量p,二维辅助置换表P为105列8行的矩阵;步骤3,根据二维辅助置换向量p,确定S1~S8盒之间的两两链接关系;利用循环计数器顺序生成从000000到111111的所有二进制数xk,将二进制数xk作为一维辅助置换表的地址,并将二进制数xk与随机数r1进行异或后作为S1~S8盒的地址,将二进制数xk与随机数r2进行异或后作为与S1~S8盒链接的盒的地址,将Si盒输出的四位比特中高两位与盒输出的四位比特中低两位及随机数s进行三异或,将三异或的结果作为一维辅助置换表Ti的数据存储在随机存取存储器的对应位置,i=1,…,8;明文M进行初始置换后分为L1和R1左右两部分;步骤4,对于第n轮加密,将Rn扩展置换后得到Mn,Mn与随机数r2进行异或得到M′n,将密钥K进行密钥置换、移位和压缩置换后得到Kn,Kn与随机数r1进行异或得到K′n,M′n与K′n再进行异或得到掩码后中间值x′n,采用真随机数生成器生成随机数t,t为2bit,i=1,…,8;n=1,…,16;步骤5,将x′n分为8个8bit二进制数x′1~x′8,分别对x′1~x′8进行掩码S盒置换,对于每一个掩码S盒置换,将x′i作为盒的地址,同时将x′i与随机数r1异或后作为表Ti的地址,并将x′i与随机数r2异或后作为表的地址,取表Ti输出与盒输出的四位比特中低两位及随机数t进行三异或作为掩码S盒置换结果高两位,同时取表输出与盒输出的四位比特中高两位进行异或作为掩码S盒置换结果低两位;步骤6,根据随机数s和随机数t计算出实际掩码所用随机数m,并将m与掩码S盒置换结果进行异或,将异或得到的结果进行拼接得到Yn;步骤7,对Yn进行P盒置换,将P盒置换结果与Ln进行异或作为新的右部分Rn+1,同时将P盒置换结果作为新的左部分Ln+1,n=n+1,返回步骤4,重复十六次后进行末置换,得到加密结果。作为本专利技术方法的一种优选方案,步骤2所述二维辅助置换向量p的形式如下:p1~8=P(rp,1:8)其中,p1~8表示二维辅助置换向量p的第1至第8个元素,P(rp,1:8)表示二维辅助置换表P第rp列的第1至第8个元素。作为本专利技术方法的一种优选方案,步骤3所述三异或的形式如下:其中,Ti表示一维辅助置换表,i=1,…,8,xk表示二进制数,表示xk与随机数r1进行异或,表示盒输出的四位比特中低两位,表示xk与随机数r2进行异或,SiH表示Si盒输出的四位比特中高两位,s为随机数。一种基于LatchPUF的抗边信道攻击DES防护电路,包括未防护DES电路模块,还包括基于LatchPUF的真随机数生成器、基于ROM存储的二维辅助置换表P、基于ROM存储的S1~S8盒、基于RAM存储的一维辅助置换表T1~T8、初始化模块、掩码S盒置换模块、循环计数器以及掩码解除模块;所述基于LatchPUF的真随机数生成器用于生成随机数r1、r2、s、rp、t;基于ROM存储的二维辅助置换表P用于在得到地址输入rp后,输出对应存储的数据作为二维辅助置换向量;初始化模块根据二维辅助置换向量确定当前8个S盒的链接关系,循环计数器进行循环计数并输出六位二进制数xk作为一维辅助置换表T的地址,同时将二进制数xk与r1本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/201711127690.html" title="一种基于Latch PUF的抗边信道攻击DES防护方法及电路原文来自X技术">基于Latch PUF的抗边信道攻击DES防护方法及电路</a>

【技术保护点】
一种基于Latch PUF的抗边信道攻击DES防护方法,其特征在于,包括如下步骤:步骤1,利用真随机数生成器生成初始参数,包括随机数r1、r2、s、rp,其中,随机数r1、r2均为6bit,随机数s为2bit,随机数rp从1~105共105种可能;步骤2,将步骤1生成的随机数rp作为地址,从存储二维辅助置换表P的只读存储器中读取上述地址对应的一列数据作为二维辅助置换向量p,二维辅助置换表P为105列8行的矩阵;步骤3,根据二维辅助置换向量p,确定S1~S8盒之间的两两链接关系;利用循环计数器顺序生成从000000到111111的所有二进制数xk,将二进制数xk作为一维辅助置换表的地址,并将二进制数xk与随机数r1进行异或后作为S1~S8盒的地址,将二进制数xk与随机数r2进行异或后作为与S1~S8盒链接的

【技术特征摘要】
1.一种基于LatchPUF的抗边信道攻击DES防护方法,其特征在于,包括如下步骤:步骤1,利用真随机数生成器生成初始参数,包括随机数r1、r2、s、rp,其中,随机数r1、r2均为6bit,随机数s为2bit,随机数rp从1~105共105种可能;步骤2,将步骤1生成的随机数rp作为地址,从存储二维辅助置换表P的只读存储器中读取上述地址对应的一列数据作为二维辅助置换向量p,二维辅助置换表P为105列8行的矩阵;步骤3,根据二维辅助置换向量p,确定S1~S8盒之间的两两链接关系;利用循环计数器顺序生成从000000到111111的所有二进制数xk,将二进制数xk作为一维辅助置换表的地址,并将二进制数xk与随机数r1进行异或后作为S1~S8盒的地址,将二进制数xk与随机数r2进行异或后作为与S1~S8盒链接的盒的地址,将Si盒输出的四位比特中高两位与盒输出的四位比特中低两位及随机数s进行三异或,将三异或的结果作为一维辅助置换表Ti的数据存储在随机存取存储器的对应位置,i=1,…,8;明文M进行初始置换后分为L1和R1左右两部分;步骤4,对于第n轮加密,将Rn扩展置换后得到Mn,Mn与随机数r2进行异或得到Mn′,将密钥K进行密钥置换、移位和压缩置换后得到Kn,Kn与随机数r1进行异或得到Kn′,Mn′与Kn′再进行异或得到掩码后中间值xn′,采用真随机数生成器生成随机数t,t为2bit,i=1,…,8;n=1,…,16;步骤5,将xn′分为8个8bit二进制数x1′~x8′,分别对x1′~x8′进行掩码S盒置换,对于每一个掩码S盒置换,将xi′作为盒的地址,同时将xi′与随机数r1异或后作为表Ti的地址,并将xi′与随机数r2异或后作为表的地址,取表Ti输出与盒输出的四位比特中低两位及随机数t进行三异或作为掩码S盒置换结果高两位,同时取表输出与盒输出的四位比特中高两位进行异或作为掩码S盒置换结果低两位;步骤6,根据随机数s和随机数t计算出实际掩码所用随机数m,并将m与掩码S盒置换结果进行异或,将异或得到的结果进行拼接得到Yn;步骤7,对Yn进行P盒置换,将P盒置换结果与Ln进行异或作为新的右部分Rn+1,同时将P盒置换结果作为新的左部分Ln+1,n=n+1,返回步骤4,重复十六次后进行末置换,得到加密结果。2.根据权利要求1所述基于LatchPUF的抗边信道攻击DES防护方法,其特征在于,步骤2所述二...

【专利技术属性】
技术研发人员:李冰王凯陈帅沈克强董乾张林王刚赵霞刘勇
申请(专利权)人:东南大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1