CN111259416A - 一种基于fpga的多算法安全加密认证系统及认证方法 - Google Patents

一种基于fpga的多算法安全加密认证系统及认证方法 Download PDF

Info

Publication number
CN111259416A
CN111259416A CN202010032200.0A CN202010032200A CN111259416A CN 111259416 A CN111259416 A CN 111259416A CN 202010032200 A CN202010032200 A CN 202010032200A CN 111259416 A CN111259416 A CN 111259416A
Authority
CN
China
Prior art keywords
chip
algorithm
encryption
authentication
fpga
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010032200.0A
Other languages
English (en)
Inventor
段威
宋敏
万美琳
顾豪爽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hubei University
Original Assignee
Hubei University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hubei University filed Critical Hubei University
Priority to CN202010032200.0A priority Critical patent/CN111259416A/zh
Publication of CN111259416A publication Critical patent/CN111259416A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明属于数据加密认证技术领域,公开了一种基于FPGA的多算法安全加密认证系统及认证方法,基于FPGA的多算法安全加密认证系统包括:FPGA端即加密认证芯片用于进行加密认证;传输模块用于通过串口协议传输指令及数据;主机端用于加密认证芯片的配置以及验证。本发明的安全加密认证系统在做身份认证时可以选择多种不同的加密算法,相比单一算法认证系统,增加了破解难度,提高安全系数。本发明利用集成电路制造时产生的随机差异构造RO PUF产生芯片密钥,使其无法被复刻,比非易失存储器存储密钥更安全。本发明对PUF每一位的值进行多次产生与比对确认其最终值,提高了PUF值的稳定性。

Description

一种基于FPGA的多算法安全加密认证系统及认证方法
技术领域
本发明属于加密认证技术领域,尤其涉及一种基于FPGA的多算法安全加 密认证系统及认证方法。
背景技术
目前,最接近的现有技术:近年来,随着互联网、区块链技术的飞速发展, 移动终端设备的广泛使用,人们越来越关注网络安全和信息安全问题。作为防 护网络资源的第一道关口,身份认证对信息系统的安全保护具有重要意义。然 而,身份认证系统尤其是密码芯片往往成为攻击目标,且攻击手段和方式更是 层出不穷。传统的加密认证芯片利用非易失存储器件存储密钥,通过入侵或半 入侵等物理攻击手段能够读出其存储的内容,芯片安全性受到极大威胁。
对于加密系统,使用的算法尤为重要,AES、RC5、Keccak、SHA256算法 都为成熟的标准算法。其中,AES(Advanced Encryption Standard)算法:
AES是一个分组加解密标准,分组长度为128bit,允许使用三种不同长度 的密钥:128bit、192bit和256bit。本发明采用128bit密钥,需要10轮加密操 作。先将128bit数据按字节分组排列为4*4矩阵,加密的每一轮都利用替代与 混淆对数据分组进行变换,包括4个阶段,分别是:字节替代、行移位、列混 淆和轮密钥加。
1.AES的实现步骤:
①字节替换:通过一个非线性的替换函数,根据S盒表(固定映射)用查 找表的方式把每个字节替换成对应的字节。
②行位移:第n行里的每个字节都向左循环移动(n-1)格。
③列混淆:列混淆变换是通过矩阵相乘来实现的,经行移位后的状态矩阵 左乘固定的矩阵,得到混淆后的状态矩阵。
④轮密钥加:用轮密钥矩阵的第i列和列混淆后的矩阵第i列异或。
2.密钥拓展:
AES首先将初始密钥输入到一个4*4的状态矩阵中,作为扩展密钥数组W 的四个初始数据,接着,对W数组扩充40个新列,构成总共44列的扩展密钥 数组,新列以如下的递归方式产生:
Ⅰ.如果i不是4的倍数:
Figure BDA0002364737140000021
Ⅱ.如果i是4的倍数:
Figure BDA0002364737140000022
拓展函数T由3部分组成:
a.字循环:将1个字中的4个字节循环左移1个字节;
b.字节代换:对字循环的结果使用S盒进行字节代换;
c.轮常量异或:将前两步的结果同轮常量Rcon[j]进行异或,常量轮值表 Rcon[j]由AES算法标准提供,其中j表示轮数。
RC5算法:
RC5对称加密算法是面向字的参数可变的分组密码算法,三个可变的参数 是:分组大小、加密轮数和密钥大小。可表示为RC5-w/r/b,其中w为字长,r 为加密轮数,b为密钥字节长度。算法中使用了三种运算:异或、加和循环移位。 本发明中字的大小为32bit,加密算法的迭代轮数均为12轮,密钥长度为16字 节。RC5算法包括密钥扩展以及加解密,其加密步骤如下:
1.创建密钥组S{S[0],S[1]...S[t-1]},其中t=(2r-1)。
第一步:初始化子密钥S{S[0],S[1]...S[t-1]},用到两个魔术常量Pw和Qw, 对于32位字长,Pw=0xB7E15163,Qw=0x9E3779B9,初始化过程伪代码为:
S[0]=Pw;
For i=1to t-1do
S[i]=S[i-1]+Qw;
第二步:将密钥由字节数组K{K[0]...K[b-1]}转换成字数组 L{L[0],L[1]...L[8b/w-1]},
当使用RC5-32/12/16时,转换关系为:
L[0]={K[3],K[2],K[1],K[0]};
L[1]={K[7],K[6],K[5],K[4]};
L[2]={K[11],K[10],K[9],K[8]};
L[3]={K[15],K[14],K[13],K[12]};
第三步:将初始密钥组S和字数组L混合,获取新密钥数组 S{S[0],S[1]...S[t-1]},其伪代码为:
A=B=i=j=0;
Do 3*max(t,c)times
A=S[i]=(S[i]+A+B)<<<3;
i=(i+1)mod(t);
B=L[i]=(L[i]+A+B)<<<(A+B);
j=(j+1)mod(c);
2.加密
一次加密运算可处理两个字长的明文,将明文分组划分为A和B,其伪代 码如下:
A=A+S[0];
B=B+S[1];
For i=1to r do
A=((A xor B)<<<B)+S[2i];
B=((B xor A)<<<A)+S[2i+1];
Keccak算法:
Keccak算法是基于海绵结构的杂凑函数,海绵函数中迭代函数f,即为 Keccak算法的置换函数,表示为Keccak–f[b]。其中b称为置换宽度,Keccak 算法中取值为1600。算法迭代轮数为24,每轮运算中含有5个运算步骤。
24轮迭代运算是Keccak算法的核心部分,在已知算法输出位宽的前提 下,将输入消息值M经过Padding规则处理,生成数据块输入Keccak–f[b] 函数做24轮迭代处理。每一轮迭代要经过5步置换函数处理,即
Figure BDA0002364737140000031
Figure BDA0002364737140000041
产生的运算结果称为中间链值,中间链值与消息块作为下一轮压缩函数的 输入值,实现所有消息分组的运算处理,当海绵结构吸收所有的消息块之后, 所吸收的消息值经过24轮Keccak-f压缩函数处理后,可根据需要,产生相应 长度的Hash值。
在轮函数的压缩处理过程中,每一轮置换函数f都是作用在一个5*5*64的 三维状态矩阵之上,第一轮置换中此三维矩阵是由输入值经过填充变为1600比 特数据后按顺序填入的,之后由上一轮置换输出值作为下一轮置换输入值。 Keccak–f[b]的5个运算步骤中前4步是在三维状态矩阵中进行不同方向的行、 列、道以及面的变换,从而达到混淆与扩散三维数组的目的。最后一步与前面 几步不同,它是在三维数组的第1道上异或一组轮常数,以打破原有的对称性。 在24轮中每一轮操作除了最后一步之外全都相同,最后一步异或的轮常数每轮 各不相同。5步运算都是基于比特位的逻辑运算,对数据做移位、异或操作,便于硬件实现。
SHA256算法:
SHA-256为SHA-2下的一种算法。SHA-2,即安全散列算法2(Secure HashAlgorithm 2),是一种密码散列函数算法标准,由美国国家安全局研发,属于 SHA算法之一。SHA-256算法输入报文的最大长度不超过2^64bit,输入按512 bit分组进行处理,产生的输出是一个256bit的报文摘要。该算法处理过程包括 以下几步:
第一步:附加填充比特。对报文进行填充使报文长度对512取模运算后的 余数为448,填充的比特数范围是1到512,填充比特串的最高位为1,其余位 为0。
第二步:附加长度值。将用64bit表示的初始报文的位长度附加在第一步的 结果之后,使得填充后的总消息长度为512的整数倍。
第三步:初始化缓存。使用一个256bit的缓存来存放该散列函数的中间及 最终结果。字长为32bit,该缓存的初始值为:
A=0x6A09E667;B=0xBB67AE85;
C=0x3C6EF372;D=0xA54FF53A;
E=0x510E527F;F=0x9B05688C;
G=0x1F83D9AB;H=0x5BE0CD19;
上述8个32bit的哈希初值是对自然数中前8个质数(2,3,5,7,11,13,17,19) 的平方根取其小数部分前32bit而来的。
第四步:处理512bit报文分组序列。该算法使用了六种基本逻辑函数:Ch、 Ma、Σ0、Σ1、S0、S1,由64步迭代运算组成。每步都以256bit缓存值ABCDEFGH 为输入,通过逻辑函数运算更新A的值,其它7个数由上一轮的值移位得到。 每步使用一个32bit哈希常数值Kt和一个32bit Wt,64个常量Kt为自然数中 前64个质数的立方根取小数部分前32bit而来。前16个Wt的值直接由报文分 解产生,其余的由逻辑函数S0、S1与之前的Wt值迭代运算产生。
第五步:所有的512bit分组处理完毕后,最后一个分组的最后一轮迭代产 生的8个哈希缓存值便是此段报文的信息摘要。
综上所述,现有技术存在的问题是:传统加密芯片利用非易失存储器存储 密钥,易被攻击读取重要数据;传统加密芯片加密算法单一,可选择性不高; 传统加密芯片结构比较复杂,需要配置的参数较多。
解决上述技术问题的难度:对于密钥,要做到只在芯片工作时产生,断电 后不保留;密钥产生电路需具备独一无二参数,使其拥有不可克隆的特点;整 个加密系统要在保证安全性达标的前提下拥有快速加密的特性,指令集以及参 数要尽可能简练。
解决上述技术问题的意义:安全芯片首要任务是保证密钥安全以及算法安 全,其次使用多种算法增强灵活性,应用面更广。
针对密钥存储安全问题,可以使用物理不可克隆函数(PUF)技术,集成电 路芯片在制造中会因工艺偏差而产生物理随机性,提取出与该物体唯一相关的 特征量作为密钥。系统上电输入激励产生唯一的响应,断电之后响应消失,密 钥数据不会泄露;倘若攻击者获得PUF电路,但由于芯片工艺偏差不同,相同 的激励也无法获得相同的响应。
环形振荡器物理不可克隆函数(RO PUF)是物理不可克隆函数的一种,使 用相同类型元器件构成两条振荡环路,由于器件性能些许差异,两条环路振荡 频率不相同,利用计数器和比较器便可得到一位响应输出。
一次性可编程(OTP)技术可用于存储固定数据。利用熔丝等结构,若编 程前输出为逻辑0,则编程后输出为逻辑1,且无法再更改为0。
发明内容
针对现有技术存在的问题,本发明提供了一种基于现场可编辑逻辑门阵列(FPGA)的多算法安全加密认证系统及认证方法。
本发明是这样实现的,一种基于FPGA的多算法安全加密认证系统,所述 基于FPGA的多算法安全加密认证系统包括:
FPGA端即加密认证芯片,作为从机,与传输模块连接,使用串口通信。FPGA 内部电路包括串口接收单元(RX)、串口发送单元(TX)、串口输入控制单元 (RX_ctrl)、串口输出控制单元(TX_ctrl)、算法控制单元(IP_ctrl)、加密算法 IP单元和环形振荡器物理不可克隆函数(RO PUF)单元;用于进行加密认证;
传输模块,与FPGA端、主机端连接,用于通过串口传输指令及数据;
主机端,与传输模块连接,内部包含AES、RC5、Keccak、SHA256等加密 算法,CRC16数据校验算法,随机数产生函数等认证程序,用于加密认证芯片 的配置以及验证。
进一步,所述RO PUF单元包括:
所述RO PUF用于进行初始化,读取Xilinx FPGA芯片中的DNA码,并将 读取的DNA码后32位作为加密认证芯片的ID;同时环形振荡器起振,通过计 数器和比较器获得芯片的PUF值。
进一步的,所述基于FPGA的多算法安全加密认证系统的传输模块在应用 中,可直接使用线材连接,也可使用串口蓝牙、RFID等无线传输设备。
进一步的,所述基于FPGA的多算法安全加密认证系统的主机部分可使用 51单片机、STM32等嵌入式微处理器实现,也可使用PC等通用计算机实现, 其作用是从机端配置以及认证,加载相应的程序。
本发明的另一目的在于提供一种应用于所述基于FPGA的多算法安全加密 认证系统的基于FPGA的多算法安全加密认证方法,所述基于FPGA的多算法 安全加密认证方法包括:
步骤一,主机端读取从机芯片ID号,通过映射表得到对应的PUF值;
步骤二,主机端确定认证算法,并随机产生256位宽的随机数或由使用者 自定义的数据作为明文,将指令、算法选择、明文以及CRC校验码通过串口传 输模块发送至从机即加密认证芯片;加密认证芯片即从机接收到数据后,先进 行CRC校验,数据无误则进行指令解析,得到加密方式以及明文数据,否则传 回错误报告给主机;
步骤三,从机按相应的算法,利用明文以及自身PUF值调用相应算法IP加 密计算产生密文C’,并将其加上数据类型描述以及CRC校验码通过串口传输 模块传回主机;
步骤四,主机端按照明文、算法选择以及该芯片ID对应的PUF值重新做一 遍加密运算得到密文C;
步骤五,主机端对比密文C与C’,若相同则认证通过,否则认证失败。
进一步,步骤一中,所述主机读取芯片ID号,主机通过映射表得到对应的 PUF值包括:
加密认证芯片包含出厂以及认证两种工作模式;
当加密认证芯片处于出厂模式下时,芯片PUF值可读;利用主机发送 CHIP-ID读取指令,获取芯片ID,再发送读取PUF寄存器指令,获取该芯片PUF 值,将ID与PUF作为一个映射表存储在本机或云服务器中;主机发送芯片模式 切换指令烧写一次性可编程(OTP)标志位的值,芯片PUF值永久性变为不可 读状态,芯片进入认证模式;
当加密认证芯片处于认证模式下时,芯片PUF值不可读;发送读PUF寄存 器指令返回0值;主机通过发送读CHIP-ID指令获取芯片ID,由存储的映射表 得到芯片PUF的值。
进一步,步骤二中,所述主机确定认证算法包括:所述主机端可确定多种 不同的加密算法进行认证;
所述加密算法包括但不限于AES加密算法、RC5对称加密算法、Keccak算 法以及SHA-256算法。
本发明的另一目的在于提供一种存储在计算机可读介质上的计算机程序产 品,包括计算机可读程序,供于电子装置上执行时,提供用户输入接口以实施 基于FPGA的多算法安全加密认证方法。
本发明的另一目的在于提供一种计算机可读存储介质,储存有指令,当所 述指令在计算机上运行时,使得计算机执行基于FPGA的多算法安全加密认证 方法。
本发明的另一目的在于提供一种执行基于FPGA的多算法安全加密认证方 法的加密认证芯片。
本发明的另一目的在于提供一种执行基于FPGA的多算法安全加密认证方 法的知识产权保护或物联网系统安全领域的硬件设备。
综上所述,本发明的优点及积极效果为:本发明能够提高设备的防伪和抗 攻击能力,通过提取出与该物体唯一相关的特征量,具有不可复制性、唯一性、 稳定性、免疫侵入式攻击的特性;同时还能够以较少的开销获得更强的抵御安 全风险能力。
本发明公开了一种基于FPGA的多算法安全加密认证系统,不仅能够防探 测还能够防篡改,在知识产权保护、物联网系统安全和硬件设备认证等方面具 有广泛的应用前景。主要应用于:电子钱包、防伪认证、M2M认证、安全启动、 物联网终端/节点认证、固件保护、配件认证、软件升级认证、传输校验等功能。
本发明中的安全加密认证芯片密钥数据在初始化时产生,具有不可克隆的 性质,提高了系统的安全等级。加密速度快,AES算法需要22个时钟周期;RC5 算法需要126个时钟周期;Keccak算法需要24个时钟周期;SHA256算法需要 64个时钟周期。实际上,速度瓶颈在串口上,其耗时远比加密时间长。在对FPGA 板的测试中,将波特率调为串口助手软件支持的最高值2Mbps,系统也能正常 工作,相信其上限应该更高,系统认证的速度也能更快。
本发明系统从上电初始化到正常工作需要约4秒的时间,RO PUF每比较一 次振荡时间为0.1秒,8次可产生一组PUF值,再经过5次比较(可设置为大于 1的奇数次),得出最终PUF的值。由于上电初始化后便可一直工作,所以初 始化时间长短对系统影响不大,若想减少初始化时间,可多设几组计数器,减 少复用率,但会增加逻辑单元数量。
除正常传输数据包外,本发明系统模块内部还有检测错误数据包的能力, 包括传送超时检测、指令检测、长度检测、数据内容检测、CRC校验码比对、 系统繁忙检测,可以及时跳出错误状态。除此之外,系统还设有TEST引脚,用 来输出芯片内部工作信号,方便做板级调试,可通过Test_SEL寄存器改变输出 信号,芯片内设置了32组可供测试的信号。
本发明的安全加密认证系统在做身份认证时可以选择四种不同的加密算 法,相比单一算法认证系统,增加了破解难度,提高安全系数。
本发明利用集成电路制造时产生的随机差异构造RO PUF产生芯片密钥, 使其无法被复刻,比非易失存储器存储密钥更安全。
本发明对PUF每一位的值进行多次产生与比对确认其最终值,提高了PUF 值的稳定性。
本发明可使用STM32微控制器、51单片机或PC机进行内部认证逻辑。外 设设备为OLED显示屏以及能标志认证情况的外设设备。信息传输中可采用蓝 牙。通过提供的系统的架构,进行PUF密钥及加密运算。
附图说明
图1是本发明实施例提供的基于FPGA的多算法安全加密认证系统结构示 意图。
图中:1、FPGA端;2、传输模块;3、STM32端。
图2是本发明实施例提供的基于FPGA的多算法安全加密认证系统原理图。
图3是本发明实施例提供的基于FPGA的多算法安全加密认证方法流程图。
图4是本发明实施例提供的认证流程示意图。
图5是本发明实施例提供的EES-303核心板示意图。
图6是本发明实施例提供的RO PUF单元结构示意图。
图7是本发明实施例提供的FPGA逻辑资源分布示意图。
图8是本发明实施例提供的安全加密认证系统图。
图9是本发明实施例提供的Keccak自动加密测试波形图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例, 对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以 解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种基于FPGA的多算法安全加 密认证系统,下面结合附图对本发明作详细的描述。
如图1-图2所示,本发明实施例提供的基于FPGA的多算法安全加密认证 系统包括:
FPGA端1、STM32端3以及传输模块2。
FPGA端1即加密认证芯片,与传输模块2连接,包括串口收发单元、串口 输入控制单元、串口输出控制单元、算法控制单元、四个算法IP单元和RO PUF 单元;用于进行加密认证。
传输模块2,与FPGA端1、STM32端3连接,用于通过串口蓝牙传输指令 及数据。
STM32端3,与传输模块2连接,用于进行烧写加密认证芯片的配置以及 验证。
本发明实施例提供的RO PUF单元包括:
所述RO PUF用于进行初始化,读取Xilinx FPGA芯片中的DNA码,并将 读取的DNA码后32位作为加密认证芯片的ID;同时环形振荡器起振,通过计 数器和比较器获得芯片的PUF。
本发明实施例提供的基于FPGA的多算法安全加密认证系统还包括以下硬 件装置:
EES-303 FPGA核心板、STM32F103C8T6核心板、128*64分辨率OLED显 示屏和两个HC-05串口蓝牙模块。
如图3-图4所示,本发明实施例提供的基于FPGA的多算法安全加密认证 方法包括:
S101,主机端读取芯片ID号,通过映射表得到对应的PUF值。
S102,主机端确定认证算法,并随机产生256位宽的随机数作为明文,将 指令、算法选择、明文以及CRC校验码通过串口蓝牙模块发送至从机即加密认 证芯片;加密认证芯片即从机接收到数据后,先进行CRC校验,数据无误则进 行指令解析,否则传回错误报告给主机端。
S103,从机按相应的算法,利用明文以及自身PUF值加密计算产生密文C’, 并将其加上数据类型描述以及CRC校验码通过串口蓝牙传回主机端。
S104,主机端按照随机数明文、算法选择以及该芯片ID对应的PUF值重 新做一遍加密运算得到密文C。
S105,主机端对比密文C与C’,若相同则认证通过,否则认证失败。
步骤S102中,本发明实施例提供的主机确定认证算法包括:所述主机端可 确定四种不同的加密算法进行认证;
所述四种不同的加密算法包括但不限于AES加密算法、RC5对称加密算法、 Keccak算法以及SHA-256算法。
步骤S101中,本发明实施例提供的主机读取芯片ID号,主机通过映射表 得到对应的PUF值包括:
加密认证芯片包含出厂以及认证两种工作模式。
当加密认证芯片处于出厂模式下时,芯片PUF值可读;利用STM32端即主 机发送CHIP-ID读取指令,获取芯片ID,再发送读取PUF寄存器指令,获取该 芯片PUF值,将ID与PUF作为一个映射表存储;主机发送OTP烧写指令改变 其状态,切换至认证模式。
当加密认证芯片处于认证模式下时,芯片PUF值不可读;发送读PUF寄存 器指令返回0值;主机通过发送读CHIP-ID指令获取芯片ID,由存储的映射表 得到芯片PUF的值。
下面结合具体实施例对本发明的技术方案作进一步说明。
实施例1:
1、整个加密认证系统分为两个部分,FPGA端为加密认证芯片的实现部分, STM32端为加密认证芯片的配置以及验证部分,两部分之间通过串口蓝牙传输 指令以及数据。如图2所示,系统硬件模块包括:EES-303 FPGA核心板、 STM32F103C8T6核心板、128*64分辨率OLED显示屏和两个HC-05串口蓝牙 模块。
FPGA设计中包含串口收发模块、串口输入控制模块、串口输出控制模块、 算法控制模块、四个算法IP模块和RO PUF模块;STM32中烧写芯片配置和认 证程序。在系统上电之后,RO PUF模块进行初始化,读取Xilinx FPGA芯片中 的DNA码,取其后32位作为加密认证芯片的ID。同时环形振荡器起振,通过 计数器和比较器获得芯片的PUF。初始化完毕之后LED状态指示灯亮,芯片可 进行数据交换,由串口配置芯片,传输指令和数据。认证芯片有两个工作模式: 出厂模式和认证模式。
1.1.1出厂模式:在此模式下,芯片PUF值可读。主机先发送CHIP-ID读取 指令,获取芯片ID,再发送读取PUF寄存器指令,获取该芯片PUF值,将ID 与PUF作为一个映射表存储。芯片内有一次性可编程(OTP)位,在编程之后 便不可再更改。利用OTP特性,主机发送OTP烧写指令改变其状态,便可切换 至认证模式。
1.1.2认证模式:在此模式下,芯片PUF值不可读。发送读PUF寄存器指 令会返回0值。主机通过发送读CHIP-ID指令获取芯片ID,由存储的映射表得 到芯片PUF的值。认证流程如图4所示,FPGA(认证芯片)端为从机,在进入 认证模式之前已经由主机进行了出厂操作。
第一步:主机读取芯片ID号,主机通过映射表得到对应的PUF值。
第二步:主机确定认证算法,并随机产生256位宽的随机数作为明文,将 指令、算法选择、明文以及CRC校验码通过串口蓝牙模块发送至从机。从机接 收到数据后,先进行CRC校验,数据无误则进行指令解析,否则传回错误报告 给主机。
第三步:从机按相应的算法,用明文以及自身PUF值加密计算产生密文C’, 并将其加上数据类型描述以及CRC校验码通过串口蓝牙传回主机。
第四步:主机按照随机数明文、算法选择以及该芯片ID对应的PUF值重新 做一遍加密运算得到密文C。
第五步:主机对比密文C与C’,若相同则认证通过,否则认证失败。
1.2硬件介绍
1.2.1EES-303核心板
FPGA平台使用的是依元素科技EES-303核心板,如图5所示,其采用的芯 片为Xilinx XC7A35T-1CSG324C,具有大容量高性能等特点。包含5200个逻辑 Slices,每一个Slices含有4个6输入LUT和8个触发器,内部时钟速度高达 450MHz,拥有片上模数转换器(XADC)、1800Kbits Block RAM、90个DSP48E 单元以及5个时钟管理单元。
核心板外设有USB-UART/JTAG接口,4个数码管和8个LED,4个PMOD 接口,SRAM存储器和SPI FLASH存储器。
1.2.2STM32核心板
主机认证部分本发明使用的是STM32F103C8T6核心板,MCU内核为ARM 32位的Cortex-M3,芯片内部集成64KB FLASH存储器,集成SRAM容量为 20KB。拥有4个定时器、2个SPI接口、2个IIC接口、3个UART接口和一个 USB接口。
1.2.3OLED模块
为使认证过程更加清晰,STM32核心板外接一块0.96英寸OLED显示屏, 分辨率为128*64,采用SPI协议与主机通信。认证时,用来显示当前调试状态 以及进度。
1.2.4串口蓝牙模块
采用HC-05蓝牙串口通信模块,基于蓝牙2.0协议,无线工作频段为2.4GHz, 板载PCB天线,可以实现10米距离通信。本发明使用两块HC-05,分别设置为 主模式和从模式,蓝牙模块与系统通过串口连接,采用3.3V TTL电平,波特率 默认为115200。
2、FPGA。
2.1FPGA功能模块。
2.1.1Sys_rst_n。
此模块为异步复位同步释放模块,为了防止纯异步复位电路会产生亚稳态 的状况,此模块输入接芯片外复位按键,将FPGA内部其它模块异步复位端都 接此模块的输出。
2.1.2RX_ctrl。
此模块是指令以及数据的接收和处理模块,包含串口接收驱动UART_RX 模块。串口下发数据格式为1位起始位(低),8位数据位(先发低位),1位 停止位(高)。发送的数据包格式如表1所示。
表1数据包格式
Figure BDA0002364737140000151
串口驱动收到上位机发送的数据后,按字节发送至接收处理模块,此模块 用有限状态机(FSM)检测接收到的数据包指令字段,通过判断数据包长度字 段确定中止接收时间,完成整串数据的接收。在接收数据的同时,CRC校验(循 环冗余校验)模块计算已经输入的数据流校验值。由CRC校验原理可知,若数 据流末尾已包含校验码,则计算出总数据的校验码为0x0000。若数据包接收完 毕但校验错误,接收处理模块将产生校验错误信息由发送处理模块回传至上位 机。若接收的指令不在芯片指令集中,则返还指令错误信息。数据包长度错误 同理。
当接收处理模块接收到正确的数据包后,若为写寄存器指令,则更新相应 寄存器的值,并返回写入成功标志;若为自动加密指令,则会产生加密开始标 志,通知IP_ctrl模块进行加密运算。若为读寄存器指令,则产生相应的标志位, 通知发送处理模块回传信息。
2.1.3TX_ctrl。
此模块为处理和上传返回数据模块,包含串口发送驱动UART_TX模块。 其发送的数据包格式与接收模块的基本相同,不同点在指令字段,高四位为0xC, 代表回传数据。
发送处理模块也有一个有限状态机,负责拼接数据包,在发送数据流的同 时,CRC校验模块在计算已发送数据流的校验码,在数据字段最后一字节发送 完毕后,状态机将校验码附在数据流后发出。发送的数据分两种,一种为寄存 器值,发送请求的寄存器数据或加密完成后的密文寄存器数据;另一种为数据 处理反馈信息,包括几种接收数据包错误和写寄存器成功标志。
2.1.4IP_ctrl。
此模块为加密芯片的核心模块之一,包含加密认证用到的AES、RC5、Keccak 和SHA256共四个加密算法以及相应的控制逻辑。
由于本发明不需要进行大量数据的加密运算,编写的算法IP都为循环结构 而非流水结构,可以节省不少的逻辑资源,进而减小面积以及功耗。四个算法 顶层控制模块都包含启动加密信号和加密完成标志,不需要认证时都处于关闭 状态,也可以降低芯片功耗。
IP控制模块接收到加密开始指令之后,先查询算法选择寄存器的值,再获 取明文寄存器的值以及RO PUF模块中PUF的值。若为对称加密算法AES和 RC5,取PUF的后128bit作为密钥,将明文分段进行加密,最终得到256bit 的密文,同时产生加密完成信号通知数据发送控制模块回传数据;若算法为 Keccak和SHA256,将256bit明文和PUF混合成一个数据串,再计算其信息摘 要,并将哈希值存入密文寄存器中,同时产生加密完成标志,向上位机回传密 文数据。
除正常加密流程之外,芯片还设有工厂快速功能验证加密模式,不需要等 待ROPUF模块初始化产生PUF值,也不需要上位机发送很长的明文数据包, 仅通过一个四字节的快速认证指令便可直接启动Keccak加密算法,计算IP控制 模块中固化的数据串的信息摘要并将其回传。选择Keccak算法是因为其需要的 计算时间较短,仅24个时钟周期,若此芯片量产,则可通过这种芯片验证方法 节省测试时间。
2.1.5RO PUF。
此模块为加密芯片另一核心模块。传统的加密认证芯片利用非易失存储器 件存储密钥,通过入侵或半入侵等物理攻击手段能够读出其存储的内容,芯片 安全性受到极大威胁。利用集成电路制造过程中的物理差异产生的响应信号产 生芯片的密钥,即使剖片得到电路结构,也无法获得相同的密钥值,达到不可 克隆的目的,安全性大大提高。
本发明中使用的PUF模块采用的是RO PUF,其结构如图6所示。FPGA中 每个Slice单元中有4个6输入LUT。在LUT中存入反相器逻辑便可成为一个 非门,一个振荡环路由16个非门以及一个与非门组成。与非门既作为一个反向 单元,又作为振荡环路的使能控制器,每一条振荡环路的与非门都接同一个en 使能信号,使能信号为高时振荡环起振,待振荡频率稳定之后计数器便可开始 计数。由于每个反相器的延时长度有些许差异,每条振荡环的频率便不相同。 当en关闭振荡环后,两计数器的值f1和f2变不相同,经过比较器之后可得出一 位PUF值。
由于FPGA中逻辑资源有限,本发明设计的是64位PUF值,再经过扩充变 换成加密系统所需的256位。为了减少计数器和比较器数量,图5RO PUF单元 结构f2链为固定比对端,8条振荡环经8路选择器再到f1链,经过8次比较之后 一个结构单元可得出8位PUF值。模块中有8个RO PUF单元,8次比产生64 位PUF值。
在实际的实现中,综合器会对逻辑进行优化,因此需在反相器链的Verilog 描述语句中加入(*DONT_TOUCH="TRUE"*)属性,防止反相器被优化掉,同时 在xdc约束文件中加入允许电路回环语句。为了保证频率差异由反相器延时而 非连接线延时决定,反相器间距不能太大,因此需在xdc约束文件中固定每个 反相器的位置,如图7所示,橙色区域即为振荡器环路。另外,RO PUF有扰动 时会导致PUF相应的位发生改变,此模块在设计时每位PUF都检测了5次,若 有3次及以上的值为1则此PUF值为1;若有3次及以上的值为0则此PUF值 为0。此操作可以用加法器和比较器实现,但十分损耗硬件资源,RO PUF模块 中采用了逻辑计算法,用卡诺图化简得到与或逻辑式,减少了逻辑单元数量。 采用这种生成PUF的方法之后,其值的稳定性大大提高。
RO PUF模块还有读取芯片ID的功能,Xilinx的FPGA芯片中有专属的DNA 值,该值是由OTP电路烧写固定的,每块芯片都不相同,模块读取DNA值的 后32位作为芯片ID。模块上电之后,读取ID并启动振荡环得到PUF值,再关 闭振荡环路,降低芯片功耗。
2.2寄存器列表。
表2中列出了加密认证芯片中的寄存器信息。由2.1中对数据包的介绍可知, 读寄存器指令地址高四位为0xA,写寄存器指令地址高四位为0x8,回传指令地 址高四位为0xC。
表2寄存器列表
Figure BDA0002364737140000181
2.3STM32端设计。
STM32作为主机部分,设计思路相对简单。首先需要准备4个加密算法程 序和CRC校验程序,按照其算法原理编写C文件和对应的H头文件,认证时可 直接调用。主机使用OLED显示屏显示认证信息,因此需要编写OLED驱动程 序。信息传输使用UART接口,可直接调用ARM官方库函数。
主函数按照1.1.2所讲的认证流程编写,由于该核心板外设资源较少,系统 上电直接进入认证流程。STM32中利用定时器4产生1μs定时器中断,将中断 次数作为随机函数的种子,生成256位的随机明文,用作加密认证。
3、完成情况及性能参数
本系统由FPGA核心板、STM32核心板、OLED显示屏模块和两个串口蓝 牙模块组成,由于本发明是关于安全加密认证系统的,重点在FPGA端的架构 设计和算法设计上,因此用到的硬件模块并不多。图8为整个系统的照片,图 中STM32端已完成整个芯片的认证过程,分别用了四个加密算法,显示屏中打 印出了读取到的芯片ID号和身份认证情况信息。可以看到,四次测试全部认证 通过,FPGA核心板LED显示芯片当前工作状态。
本发明中的安全加密认证芯片密钥数据在初始化时产生,具有不可克隆的 性质,提高了系统的安全等级。加密速度快,AES算法需要22个时钟周期;RC5 算法需要126个时钟周期;Keccak算法需要24个时钟周期;SHA256算法需要 64个时钟周期。实际上,速度瓶颈在串口上,其耗时远比加密时间长。在对FPGA 板的测试中,将波特率调为串口助手软件支持的最高值2Mbps,系统也能正常 工作,相信其上限应该更高,系统认证的速度也能更快。
系统从上电初始化到正常工作需要约4秒的时间,RO PUF每比较一次振荡 时间为0.1秒,8次可产生一组PUF值,再经过5次比较,得出最终PUF的值。 由于上电初始化后便可一直工作,所以初始化时间长短对系统影响不大,若想 减少初始化时间,可多设几组计数器,减少复用率,但会增加逻辑单元数量。
除正常传输数据包外,系统模块内部还有检测错误数据包的能力,包括传 送超时检测、指令检测、长度检测、数据内容检测、CRC校验码比对、系统繁 忙检测,可以及时跳出错误状态。除此之外,系统还设有TEST引脚,用来输出 芯片内部工作信号,方便做板级调试,可通过Test_SEL寄存器改变输出信号, 芯片内设置了32组可供测试的信号。
本发明FPGA端一共有22个模块,其中14个模块是关于算法实现的,另 外的为功能模块或控制模块;STM32端有8个C语言文件,其中5个为算法, 一个为OLED驱动,另外两个是主函数和中断模块。
下面结合基于FPGA的多算法安全加密认证系统FPGA端加密测试实验对 本发明作进一步描述。
自动加密指令将算法选择指令以及写明文寄存器指令合二为一,用于快速收 发数据。发送的数据包中包含算法选择和明文数据,数据包格式参考表1,测试 时选用加密时间较短的Keccak256算法。
测试步骤如下:
1.系统上电。
2.写数据。
a)指令:0x8B
b)长度:0x25
c)数据1:0x02
d)数据2:0x71617A77737865646372667674676279\ 686E756A6D696B6F6C70303132333435
e)CRC校验:0xDEFD。
3.接收密文。
4.比对数据,若错误则计数值加1。
5.以上步骤2-4重复1000次,明文换为随机。
测试完成后,OLED屏中显示错误计数值为0,说明自动加密正常。其第一 次加密过程示波器波形如图9所示。示波器上半部分为FPGA数据接收引脚信 号(RX),下半部分为FPGA数据发送引脚信号(TX),在接收到加密指令后几 乎同时就开始发送加密密文,即FPGA加密速度非常快,速度瓶颈在数据传输 上。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组 合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程 序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指 令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可 以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算 机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向 另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、 计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL) 或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器 或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的 任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据 存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质 (例如,DVD)、或者半导体介质(例如固态硬盘SSD)等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。

Claims (10)

1.一种基于FPGA的多算法安全加密认证系统,其特征在于,所述基于FPGA的多算法安全加密认证系统包括:
FPGA端,与传输模块连接,进行串口通信,并通过串口接收单元、串口发送单元、串口输入控制单元、串口输出控制单元、算法控制单元、加密算法IP单元和RO PUF单元进行加密认证;
传输模块,与FPGA端、主机端连接,通过串口传输指令及数据;
主机端,与传输模块连接,通过内部包含AES、RC5、Keccak、SHA256加密算法、CRC16数据校验算法,随机数产生函数以及认证程序,进行加密认证芯片的配置以及验证。
2.如权利要求1基于FPGA的多算法安全加密认证系统,其特征在于,所述RO PUF单元还用于进行初始化,读取Xilinx FPGA芯片中的DNA码,并将读取的DNA码后32位作为加密认证芯片的ID;同时环形振荡器起振,通过计数器和比较器获得芯片的PUF值。
3.如权利要求1基于FPGA的多算法安全加密认证系统,其特征在于,所述传输模块直接使用线材连接,或使用串口蓝牙、RFID无线传输设备进行输指令及数据。
4.如权利要求1基于FPGA的多算法安全加密认证系统,其特征在于,主机端为嵌入式微处理器,或使用PC通用计算机,用于从机端配置以及认证,加载相应的程序。
5.一种应用于权利要求1~4任意一项所述基于FPGA的多算法安全加密认证系统的基于FPGA的多算法安全加密认证方法,其特征在于,所述基于FPGA的多算法安全加密认证方法包括:
步骤一,主机端读取从机芯片ID号,并通过映射表得到对应的PUF值;
步骤二,主机端确定认证算法,并随机产生256位宽的随机数或由使用者自定义的数据作为明文,将指令、算法选择、明文以及CRC校验码通过串口传输模块发送至从机即加密认证芯片;加密认证芯片即从机接收到数据后,先进行CRC校验,数据无误则进行指令解析,得到加密方式以及明文数据,否则传回错误报告给主机端;
步骤三,FPGA端按相应的算法,利用明文以及自身PUF值调用相应算法IP加密计算产生密文C’,并将其加上数据类型描述以及CRC校验码通过串口传输模块传回主机端;
步骤四,主机端按照明文、算法选择以及该芯片ID对应的PUF值重新做一遍加密运算得到密文C;
步骤五,主机端对比密文C与C’,若相同则认证通过,否则认证失败。
6.如权利要求1所述的基于FPGA的多算法安全加密认证方法,其特征在于,步骤一中,所述主机端读取芯片ID号,通过映射表得到对应的PUF值包括:
加密认证芯片包含出厂以及认证两种工作模式;
加密认证芯片处于出厂模式下时,芯片PUF值可读;利用主机发送CHIP-ID读取指令,获取芯片ID,再发送读取PUF寄存器指令,获取该芯片PUF值,将ID与PUF作为一个映射表存储在本机或云服务器中;主机发送芯片模式切换指令烧写OTP标志位的值,芯片PUF值永久性变为不可读状态,芯片进入认证模式;
加密认证芯片处于认证模式下时,芯片PUF值不可读;发送读PUF寄存器指令返回0值;主机通过发送读CHIP-ID指令获取芯片ID,由存储的映射表得到芯片PUF的值;
步骤二中,主机端确定多种不同的加密算法进行认证;所述加密算法包括AES加密算法、RC5对称加密算法、Keccak算法以及SHA-256算法。
7.一种存储在计算机可读介质上的计算机程序产品,包括计算机可读程序,供于电子装置上执行时,提供用户输入接口以实施如权利要求4-6任意一项基于FPGA的多算法安全加密认证方法。
8.一种计算机可读存储介质,储存有指令,当所述指令在计算机上运行时,使得计算机执行权利要求5-6任意一项基于FPGA的多算法安全加密认证方法。
9.一种执行权利要求5-6任意一项基于FPGA的多算法安全加密认证方法的加密认证芯片。
10.一种执行权利要求5-6任意一项基于FPGA的多算法安全加密认证方法的知识产权保护或物联网系统安全领域的硬件设备。
CN202010032200.0A 2020-01-13 2020-01-13 一种基于fpga的多算法安全加密认证系统及认证方法 Pending CN111259416A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010032200.0A CN111259416A (zh) 2020-01-13 2020-01-13 一种基于fpga的多算法安全加密认证系统及认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010032200.0A CN111259416A (zh) 2020-01-13 2020-01-13 一种基于fpga的多算法安全加密认证系统及认证方法

Publications (1)

Publication Number Publication Date
CN111259416A true CN111259416A (zh) 2020-06-09

Family

ID=70954088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010032200.0A Pending CN111259416A (zh) 2020-01-13 2020-01-13 一种基于fpga的多算法安全加密认证系统及认证方法

Country Status (1)

Country Link
CN (1) CN111259416A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783170A (zh) * 2020-07-09 2020-10-16 中国人民解放军国防科技大学 基于物理不可克隆函数的错位混淆测量方法及装置
CN112398878A (zh) * 2021-01-21 2021-02-23 北京电信易通信息技术股份有限公司 一种基于编码的流数据传输防泄密方法及系统
CN112487401A (zh) * 2020-11-30 2021-03-12 杭州巨骐信息科技股份有限公司 一种电源认证匹配方法、计算机设备及可读存储介质
CN112532391A (zh) * 2020-11-05 2021-03-19 成都芯通软件有限公司 一种基于fpga-id的数字产品软硬协同加密方法
CN112738023A (zh) * 2020-12-08 2021-04-30 广州地铁集团有限公司 轨道交通变电所跨所域goose报文的安全传输方法
CN113222048A (zh) * 2021-05-26 2021-08-06 郑州轻工业大学 一种基于人工免疫的疫苗接种与疫苗数据融合方法
CN114580034A (zh) * 2022-03-10 2022-06-03 合肥工业大学 一种基于fpga的ro puf双重身份认证系统及其控制方法
CN115714666A (zh) * 2022-10-19 2023-02-24 上海蜂高科技有限公司 基于机器人通讯与区块链共识控制加密方法
CN115993525A (zh) * 2023-03-22 2023-04-21 山东华翼微电子技术股份有限公司 基于Ymodem协议的芯片批量样本测试、验证方法
CN116166402A (zh) * 2023-02-20 2023-05-26 广州万协通信息技术有限公司 一种数据安全处理方法、系统、安全芯片以及电子设备
CN116561822A (zh) * 2023-07-07 2023-08-08 中科鉴芯(北京)科技有限责任公司 产品的防伪方法、组件及系统
CN117349904A (zh) * 2023-12-04 2024-01-05 上海几何伙伴智能驾驶有限公司 基于fpga实现软件加密处理的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104732120A (zh) * 2015-04-08 2015-06-24 迈普通信技术股份有限公司 Fpga产权保护方法及系统
CN105760786A (zh) * 2016-02-06 2016-07-13 中国科学院计算技术研究所 一种cpu+fpga集成芯片的强puf认证方法及系统
CN110430056A (zh) * 2019-09-10 2019-11-08 广州麦仑信息科技有限公司 一种基于fpga的物理不可克隆函数加密技术实现方法
CN110545183A (zh) * 2019-08-23 2019-12-06 苏州浪潮智能科技有限公司 一种可编程逻辑器件比特流加密方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104732120A (zh) * 2015-04-08 2015-06-24 迈普通信技术股份有限公司 Fpga产权保护方法及系统
CN105760786A (zh) * 2016-02-06 2016-07-13 中国科学院计算技术研究所 一种cpu+fpga集成芯片的强puf认证方法及系统
CN110545183A (zh) * 2019-08-23 2019-12-06 苏州浪潮智能科技有限公司 一种可编程逻辑器件比特流加密方法
CN110430056A (zh) * 2019-09-10 2019-11-08 广州麦仑信息科技有限公司 一种基于fpga的物理不可克隆函数加密技术实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李森森: "《基于物理不可克隆函数的蓝牙密钥生成器》", 《电子测量与仪器学报》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783170B (zh) * 2020-07-09 2024-06-04 中国人民解放军国防科技大学 基于物理不可克隆函数的错位混淆测量方法及装置
CN111783170A (zh) * 2020-07-09 2020-10-16 中国人民解放军国防科技大学 基于物理不可克隆函数的错位混淆测量方法及装置
CN112532391A (zh) * 2020-11-05 2021-03-19 成都芯通软件有限公司 一种基于fpga-id的数字产品软硬协同加密方法
CN112487401A (zh) * 2020-11-30 2021-03-12 杭州巨骐信息科技股份有限公司 一种电源认证匹配方法、计算机设备及可读存储介质
CN112738023A (zh) * 2020-12-08 2021-04-30 广州地铁集团有限公司 轨道交通变电所跨所域goose报文的安全传输方法
CN112398878A (zh) * 2021-01-21 2021-02-23 北京电信易通信息技术股份有限公司 一种基于编码的流数据传输防泄密方法及系统
CN113222048A (zh) * 2021-05-26 2021-08-06 郑州轻工业大学 一种基于人工免疫的疫苗接种与疫苗数据融合方法
CN113222048B (zh) * 2021-05-26 2023-02-17 郑州轻工业大学 一种基于人工免疫的疫苗接种与疫苗数据融合方法
CN114580034A (zh) * 2022-03-10 2022-06-03 合肥工业大学 一种基于fpga的ro puf双重身份认证系统及其控制方法
CN115714666A (zh) * 2022-10-19 2023-02-24 上海蜂高科技有限公司 基于机器人通讯与区块链共识控制加密方法
CN115714666B (zh) * 2022-10-19 2023-08-04 上海蜂高科技有限公司 基于机器人通讯与区块链共识控制加密方法
CN116166402A (zh) * 2023-02-20 2023-05-26 广州万协通信息技术有限公司 一种数据安全处理方法、系统、安全芯片以及电子设备
CN116166402B (zh) * 2023-02-20 2023-11-24 广州万协通信息技术有限公司 一种数据安全处理方法、系统、安全芯片以及电子设备
CN115993525B (zh) * 2023-03-22 2023-08-22 山东华翼微电子技术股份有限公司 基于Ymodem协议的芯片批量样本测试、验证方法
CN115993525A (zh) * 2023-03-22 2023-04-21 山东华翼微电子技术股份有限公司 基于Ymodem协议的芯片批量样本测试、验证方法
CN116561822A (zh) * 2023-07-07 2023-08-08 中科鉴芯(北京)科技有限责任公司 产品的防伪方法、组件及系统
CN117349904A (zh) * 2023-12-04 2024-01-05 上海几何伙伴智能驾驶有限公司 基于fpga实现软件加密处理的方法
CN117349904B (zh) * 2023-12-04 2024-02-09 上海几何伙伴智能驾驶有限公司 基于fpga实现软件加密处理的方法

Similar Documents

Publication Publication Date Title
CN111259416A (zh) 一种基于fpga的多算法安全加密认证系统及认证方法
US11991275B2 (en) System and method for quantum-safe authentication, encryption and decryption of information
US11615716B2 (en) Lightweight cryptographic engine
US20220138349A1 (en) Cryptographic architecture for cryptographic permutation
US7043017B2 (en) Key stream cipher device
JP6900176B2 (ja) ハードウェア支援型の擬似乱数の高速生成
CN109639428B (zh) 从位混合器构造安全散列函数的方法
US20120328097A1 (en) Apparatus and method for skein hashing
US10536264B2 (en) Efficient cryptographically secure control flow integrity protection
CN111082925B (zh) 基于aes算法和puf技术的嵌入式系统加密保护装置和方法
CN116488794B (zh) 基于fpga的高速sm4密码模组实现方法及装置
CN107835071B (zh) 一种提高键入-散列法运算速度的方法和装置
CN104219045A (zh) Rc4 流密码生成器
CN106921490B (zh) 一种真随机数发生器及标签芯片
CN116073987A (zh) 一种分组密码模式的可靠性设计方法、密码卡、服务器
Orhanou et al. Analytical evaluation of the stream cipher ZUC
Wang et al. Design and implementation of a SoC-based security coprocessor and program protection mechanism for WSN
CN113271202B (zh) 一种数据加密方法及装置
Wang et al. Hardware Design of Lightweight Stream Cipher PUFFIN Algorithm for Anti-cooperation
Panato et al. A low device occupation IP to implement Rijndael algorithm [cryptography]
Castagno Key Management Unit for RISC-V Secure Processor
Homsirikamol Fair and comprehensive comparison of hardware performance of SHA-3 Round 2 Candidates using FPGAs
Gao Reconfigurable design and implementation of the MD6 Hash function

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200609