基于预充电型puf电路的blake算法

文档序号:9398963阅读:609来源:国知局
基于预充电型puf电路的blake算法
【技术领域】
[0001] 本发明涉及一种BLAKE算法,尤其是涉及一种基于预充电型PUF电路的BLAKE算 法。
【背景技术】
[0002] Hash函数(哈希函数)又称杂凑函数,广泛应用于数字签名、消息认证、密码协议 等方面,在密码学领域中扮演着极其重要的角色。Hash函数将任意长度的消息映射为固定 长度的二进制数据,输出二进制数据称为哈希值。常见的杂凑算法有MD-5、SHA-I算法和 SHA224/256/384/512。如果Hash函数的输入为一整段明文,哪怕只是更改其中很少的几个 字符,产生的哈希值将完全不同。研究表明,要找到hash函数输出为同一个值的两个不同 的消息数据,在理论计算上是不可能完成的,所以哈希函数可以用来检验消息数据的完整 性。同时,越来越多的研究表明Hash函数具有各种缺陷,存在被攻击的威胁。尤其是2004 年我国密码学家王小云教授宣布攻破目前最常用的Hash算法一MD5。该攻击主要是采用 差分分析,此外他还利用这种方法先后攻击了 MD4、RIPEMD、HAVAL和SHA-0,并于2005年对 SHA-I算法进行了理论上的破解。因此,美国国家标准与技术研究院((National Institute of Standards and Technology,NIST)与2008年开始在全球范围内征集哈希算法的新标准 (被称为SHA-3算法)。截止2008年10月,NIST共收到64份提交的哈希算法方案,确定其 中51个候选算法。2010年12月10日公告最后一轮候选方案,包括5个候选算法:BLAKE, (jrostle,JH,Keccak和Skein。BLAKE算法是最后的5个候选算法之一。目前,关于BLAKE算 法已经发表了大量的论文,主要关注BLAKE算法的安全性评估和性能提高。ECRYPT的ghost 实验室测量的哈希函数的性能,验证BLAKE算法在软件上具有良好的性能。Henzen等研究 BLAKE的VLSI实现,并提出了紧凑型内核,在0. 65V电压下可达9. 59W/MHz。Ekawat侧重于 采用Xilinx和Altera公司的FPGA开发板,实现并比较最后一轮SHA-3候选算法的多种硬 件架构以及硬件性能。
[0003] 物理不可克隆函数(Physical Unclonable Functions, PUF)电路属于芯片特征识 别电路,具有唯一性、随机性和不可克隆性,通过提取芯片制造过程中无法避免引入的工艺 偏差,产生无限多个特有的数据信息。国际上许多研究机构,包括美国、奥地利、日本和法国 等国家,都对PUF电路展开了深入研究,并取得一定的研究成果。在PUF电路概念模型方 面,Pappu等依据光学操作原理提出物理单向函数(Physical One-Way Functions, POWFs) 的概念,并将其用于武器控制条约的战略武器识别中;Bulens等提出利用纸质材料不规则 的纤维结构,通过激光反射提取纤维的物理特征作为防伪标识的Paper-PUF !Gassend等研 究人员提出硅PUF电路的实现方法,采用CMOS工艺参数偏差实现随机函数的功能,正式将 PUF概念引入到硅物理中。在PUF电路的实现技术方面,Lim等采用互联线和晶体管的延迟 偏差实现Arbiter-PUF电路;Suzuki等提出利用门电路的延迟偏差和信号传输特性产生毛 刺,实现Glitch-PUF电路。在PUF电路的性能研究方面,Lin等提出低功耗PUF电路设计 方案;Ganta等提出基于漏电流的高鲁棒性PUF电路;Yu等提出可配置逻辑结构的RO-PUF 电路等等。在PUF电路的应用研究方面,Guajardo等在FPGA中通过内嵌PUF电路的方式 实现IP保护;Majzoobi等采用Time-Bounded PUF实现FPGA的认证应用;Yu等将PUF电路 应用到安全协处理器中等等。
[0004] 鉴此,设计一种基于预充电型PUF电路的BLAKE算法应用于密码芯片,使其具备硬 件识别的功能,在提高密码芯片安全性方面具有重要意义。

【发明内容】

[0005] 本发明所要解决的技术问题是提供一种基于预充电型PUF电路的BLAKE算法;该 BLAKE算法将预充电型PUF电路融入到现有的BLAKE-32算法中应用于密码芯片,可使密码 芯片具备硬件识别的功能,提高密码芯片的安全性。
[0006] 本发明解决上述技术问题所采用的技术方案为:一种基于预充电型PUF电路的 BLAKE算法,包括以下步骤:
[0007] ①将BLAKE-32算法中输入G函数组的16位二进制数据形式的输入数据记为τ i 5 τ 14 τ 13 τ 12 τ η τ 1Q τ 9 τ s τ 7 τ 6 τ 5 τ 4 τ 3 τ 2 τ 丨 τ。,将 BLAKE-32 算法中 G 函数组输出的 16 位二进制数据形式的输出数据记为 τ 3 I 2 τ 1 τ 0;
[0008] ②将BLAKE-32算法中8位二进制数据形式的变量数记为C7C6C 5C4C3C2C1Cq, 将BLAKE-32算法中的8位二进制数据形式的输入链接值记为.?%終资4 :务終f麻;令 C7C6C5C4C3C 2C1Cq的初始值为00000000,令夕熟典肩免2肩灼的初始值为00000000 ;
[0009] ③提取预充电型PUF电路输出端输出的8位二进制数据,将该8位二进制数据记 为P7P 6P5P4P3P2P1P q,所述的预充电型PUF电路包括第一 PMOS管、第二PMOS管、第三PMOS管、 第四PMOS管、第一 NMOS管、第二NMOS管、第三NMOS管、第四NMOS管和第五NMOS管,所述 的第一 PMOS管的源极、所述的第二PMOS管的源极、所述的第三PMOS管的源极和所述的第 四PMOS管的源极均接入电源,所述的第一 PMOS管的漏极、所述的第二PMOS管的漏极、所述 的第三PMOS管的栅极、所述的第一 NMOS管的漏极、所述的第二NMOS管的漏极和所述的第 三NMOS管的栅极连接,所述的第三PMOS管的漏极、所述的第四PMOS管的漏极、所述的第二 PMOS管的栅极、所述的第二NMOS管的栅极、所述的第三NMOS管的漏极和所述的第四NMOS 管的漏极连接,所述的第二NMOS管的源极、所述的第三NMOS管的源极和所述的第五NMOS 管的漏极连接,所述的第五NMOS管的源极接地,所述的第一 PMOS管的栅极、所述的第二 PMOS管的栅极和所述的第五NMOS管的栅极连接且其连接端为所述的预充电型PUF电路的 复位端,所述的第一 NMOS管的源极为所述的预充电型PUF电路的输出端,所述的第四NMOS 管的源极为所述的预充电型PUF电路的互补输出端;所述的第一NMOS管的栅极和所述的第 四NMOS管的栅极连接且其连接端为预充电型PUF电路的使能端;
[0010] ④将C7C6C5C4C 3C2C1Cq和P AP5P4P3P2P1P q作异或运算,得到8位二进制数据记为M 7M M5M4M3M2M1M 0;将M M6M5M4M3M2M 1M0作为高8位,免7? %%供#2约%作为低8位进行拼接,得到 16 位二进制数据 M7M6M5M4M3M 2M1Mq 釣*% 灼%;
[0011] ⑤将 16 位二进制数据 M7M6M5M4M3M 2M1Mq 灼% 识#* 的值赋予 τ 15 τ 14 τ 13 τ 12 τ??τ?〇τ9Τ8τ7 τ6τ5τ4τ3τ2τ? τ T 15τ?4τ?3τ?2τ??τ?〇 τ9Τ8τ7τ6τ5τ4 τ3τ2τ i τ。和待处理消息块输入到BLAKE-32算法中的G函数组中进行第1轮G函数压缩运算,得 到第1轮G函数压缩运算的输出数据τ ' 15 τ ' 14 τ ' 13 τ ' 12 τ ' H τ ' 1Q τ ' 9 τ ' s τ ' 7 τ ' 6 τ ' 5 τ 4 Τ 3 Τ 2 Τ 1 Τ 〇?
[0012] ⑥更新 τ15τ14 τ13τ12τ ητ1() T9T8T7T6T5T 4T3T2T1T。并采用更新后的 τ 。进行下一轮的G函数压缩运算,得到下 一轮的G函数压缩运算的输出数据,直至完成14轮G函数压缩运算,得到第14轮的G函 数压缩运算的输出数据 τ'Μτ'Μτ'υτ'^τ'^τ'^τ'τ^τ'γτ^τ^τ^τ^τ^τ ' i τ '。;其中,更新 τ15τ14 τ13τ12τ ητ1() T9T8T7T6T5T 4T3T2T1T。的具体过程为:采 用前一轮G函数压缩运算输出数据的低八位数据τ ' 7 τ ' 6 τ ' 5 τ ' 4 τ ' 3 τ ' 2 τ ' i τ '。更新 灼%供#4 %灼?m,采用前一轮G函数压缩运算的C7C6C5C4C 3C2C1Cq的值加1后得到的和值 更新C 7C6C5C4C3C2C 1Cq;将更新后的C AC5C4C3C2C1C q和P AP5P4P3P2P1P q作异或运算,得到更新 后的M7M6M5M 4M3M2M1Mq;采用更新后的M 7M6M5M4M具M1M q和更新后的朽%朽约供#2约%更新
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1