一种基于SRAM型存储器的物理不可克隆函数响应纠错电路的制作方法

文档序号:12375567阅读:来源:国知局

技术特征:

1.一种基于SRAM型存储器的物理不可克隆函数响应纠错电路,其特征在于:包括控制模块、编码模块及解码模块;

其中,所述编码模块用于将物理不可克隆函数的响应结合由随机数组成的密钥序列通过编码规则映射成唯一对应的位置码序列;

所述解码模块用于将物理不可克隆函数的响应结合原有的位置码序列通过相应的解码规则反映射还原出对应的密钥序列;

所述控制模块用于实现编码和解码这两种状态之间的转换、时序和地址的生成、各模块电路之间的线路控制和计算编码前密钥和解码后密钥之间的相似度的功能。

2.根据权利要求1所述的一种基于SRAM型存储器的物理不可克隆函数响应纠错电路,其特征在于:所述控制模块包括控制电路(201)、编码-解码转换器(202)、时钟产生电路(203)、地址生成电路(204)及数据串组合电路(205);

所述编码模块包括汉明纠错算法电路(101)、纠错码存储器(102)、求最大偏差值电路(103)、位置码存储器(105)、密钥生成电路(106)及SRAM PUF-1响应提取电路(107);

所述解码模块包括汉明纠错算法电路(101)、纠错码存储器(102)、数值极性判断电路(104)、位置码存储器(105)及SRAM PUF-2响应提取电路(108);

(一)具体的编码过程如下:

(1)编码初始复位:当收到外部的编码指令时,控制电路(201)向编码-解码转换器(202)发出编码请求,编码-解码转换器(202)随后发出一个复位信号,使编码电路复位;同时,编码-解码转换器(202)向SRAM PUF-1响应提取电路(107)发出响应提取信号;

(2)SRAM PUF-1响应提取:SRAM PUF-1响应提取电路(107)收到信号后开始提取第一个SRAM型存储器物理不可克隆函数的响应SRAM PUF-1,并通过数据串组合电路(205)把该响应SRAM PUF-1以8位二进制补码的形式导出若干个响应数值,导出的响应数值存储在数据库中并发送给求最大偏差值电路(103),存储完毕后发送编码准备完毕信号给编码-解码转换器(202);

(3)开始编码:编码-解码转换器(202)收到反馈信号后,向密钥生成电路(106)发出生成密钥信号,并通过时钟产生电路(203)触发汉明纠错算法电路(101)的编码模式,使汉明纠错算法电路(101)工作在编码状态;

(4)生成密钥序列:密钥生成电路(106)收到信号后生成由随机数组成的密钥序列,同时将该密钥序列存储在数据库中并发送给汉明纠错算法电路(101);

(5)产生纠错码:编码状态的汉明纠错算法电路(101)收到作为密钥序列的数据串后生成该数据串对应的纠错码并存储在纠错码存储器(102)中,同时通过数据串组合电路(205)将该密钥序列转换成二进制码的形式发送给求最大偏差值电路(103);

(6)生成位置码:包括如下步骤:

(61)求最大偏差值电路(103)接收到SRAM PUF-1响应提取电路(107)发出的若干个SRAMPUF-1响应数值后,将这些SRAMPUF-1响应数值按照每组N个的形式进行分组,每组中的SRAMPUF-1响应数值对应的位置序号依次为0,1,2…N-1;

(62)计算出每一组的平均响应数值,保存在数据库中并定义大于该组平均响应数值为正,小于该组平均响应数值为负;

(63)密钥序列中每一比特位对应一个响应数值组,若该响应数值组对应的比特位为1,则找出该组中数值与平均响应数值正向偏差最大的响应,同时将该响应在该组中的位置序号保存;若该响应数值组对应的比特位为0,则找出该组中数值与平均响应数值负向偏差最大的响应,同时将该响应在组中的位置序号保存;这些位置序号通过数据串组合电路(205)排列组成位置码存储到位置码存储器(105)中;

(64)密钥序列中每一比特位对应N*8比特位的SRAM PUF-1响应,这种时序对应关系由时钟产生电路(203)控制;

(7)编码完成:当所有的SRAM PUF-1响应都编码完成后,求最大偏差值电路(103)向控制电路(201)发出编码完成信号,编码结束;

(二)具体的解码过程如下:

(A)解码初始复位:当收到外部的解码命令时,控制电路(201)向编码-解码转换器(202)发出解码请求,编码-解码转换器(202)随后发出复位信号,使解码电路复位;同时,编码-解码转换器(202)向SRAM PUF-2响应提取电路(108)发出响应提取信号;

(B)SRAM PUF-2响应提取:SRAM PUF-2响应提取电路(108)收到信号后开始提取第二个SRAM型存储器物理不可克隆函数的响应SRAM PUF-2,并通过数据串组合电路(205)把该响应SRAM PUF-2以8位二进制补码的形式导出若干个响应数值,导出的响应数值存储在数据库中并发送给数值极性判断电路(104),存储完毕后发送响应提取完成信号给编码-解码转换器(202);

(C)开始解码:编码-解码转换器(202)收到SRAM PUF-2响应提取电路(108)的反馈信息后,向数值极性判断电路(104)发送解码开始信号,并通过时钟产生电路(203)触发汉明纠错算法电路(101)的解码模式,使汉明纠错算法电路(101)工作在解码状态;

(D)生成密钥序列:包括如下步骤:

(D1)数值极性判断电路(104)收到解码开始信号后,将从SRAM PUF-2响应提取电路(108)得到的若干个SRAMPUF-2响应数值同样按照每组N个的形式进行分组,每组中的SRAMPUF-2响应数值对应的位置序号依次为0,1,2…N-1;

(D2)计算出每一组的平均响应数值,保存在数据库中并定义大于该组平均响应数值为正,小于该组平均响应数值为负;

(D3)从位置码存储器中读取位置码,位置码中每一个位置序号对应一个响应数值组,找出该组中其位置序号所对应的SRAM PUF-2响应数值,若该响应数值为正,则对应的密钥值为1,否则,对应的密钥值为0;位置码中每一个位置序号对应N*8比特位的SRAM PUF-2响应,这种时序对应关系由时钟产生电路(203)控制;

(D4)将这些密钥值通过数据串组合电路(205)转换成数据串形式的密钥序列存储到数据库中并发送到汉明纠错算法电路(101);

(E)密钥序列纠错:收到该密钥序列后,汉明纠错算法电路(101)同时从纠错码存储器(102)中读取相应的纠错码,得到纠错后的密钥序列,存储后发送到控制电路(201);

(F)相似度计算:控制电路(201)对纠错后的密钥序列及编码中生成的密钥序列进行相似度计算,若两者的相似度高于设定值,说明产生SRAMPUF-1响应的硬件和产生SRAM PUF-2响应的硬件是同一块硬件;否则,说明两者是两块不同的硬件;

(G)解码完成:当完成SRAMPUF-1响应与SRAM PUF-2响应的对比后,控制电路(201)向外部输出判断的结果,解码结束。

3.根据权利要求2所述的一种基于SRAM型存储器的物理不可克隆函数响应纠错电路,其特征在于:编码过程中,密钥生成电路(106)生成的密钥序列按照每组S个的形式进行分组后再通过汉明纠错算法电路(101)来产生纠错码;对应地,解码过程中,数值极性判断电路(104)生成的密钥序列按照每组S个的形式进行分组后再通过汉明纠错算法电路(101)来纠错。

4.根据权利要求2所述的一种基于SRAM型存储器的物理不可克隆函数响应纠错电路,其特征在于:编码过程中,求最大偏差值电路(103)生成的位置码为K比特位,对应地,解码过程中,数值极性判断电路(104)读取的位置码为K比特位,且满足N<2K。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1