掌桥专利:专业的专利平台
掌桥专利
首页

基于量子随机数的密码卡装置及加解密方法

文献发布时间:2023-06-19 12:24:27


基于量子随机数的密码卡装置及加解密方法

技术领域

本发明属于量子加密技术领域,更具体地,本发明涉及一种基于量子随机数的密码卡装置及加解密方法。

背景技术

信息化时代,人们越来越重视隐私与数据安全。对数据的安全防护通常采用专用的密码设备完成,然而当前的密码设备其随机数产生速率低,且容易受到外界环境干扰,无法满足高速应用场景。此外,随机数单独生成通过接口导入加密装置,存在的电磁泄露风险。

发明内容

本发明提供了一种基于量子随机数的密码卡装置,旨在改善上述问题。

本发明是这样实现的,一种基于量子随机数的密码卡装置,所述装置包括:

量子随机数生成器,由依次连接的激光光源、探测采样电路及FPGA组成;

集成于FPGA上的加解密器,FPGA通过PCIE接口与宿主机连接;

与FPGA连接的密钥存储器。

进一步的,所述装置还包括:

USB接口,通过CPU与FPGA连接,外部密钥通过USB接口导入密钥存储器。

进一步的,所述装置还包括:

设于FPGA上的FPGA配置存储器,FPGA配置存储器用于存储FPGA的配置程序,FPGA配置存储器为EPCS存储器或FLASH存储器。

进一步的,所述装置还包括:

设于FPGA上的RAM,用于存储PCIE接口发送和接收的数据。

本发明是这样实现的,一种基于所述密码卡装置的数据加解密方法,所述方法具体如下:

S1、RAM接收宿主机输入的待加密数据;

S2、从密钥存储器处读取主密钥和量子随机数,基于主密钥和量子随机数生成保护密钥,其中,主密钥是通过USB接口外部导入;

S3、加解密器基于保护密钥对待加密数据进行加密或对待解密数据进行解密。

进一步的,FPGA与宿主机、CPU间的会话数据通过会话密钥进行加密,其中,会话密钥是由量子随机数组成。

进一步的,通过USB接口外部导入对称加密密钥,对称加密密钥对会话密钥进行加密。

本发明可以实现高速随机数生成,量子随机数在芯片内部直接使用,增强了安全性,量子随机数处理与加解密等过程共用FPGA芯片,可有效降低成本,简化设计。

附图说明

图1为本发明实施例提供的基于量子随机数的密码卡装置的结构示意图;

图2为本发明实施例提供的密码卡装置的数据加解密方法流程图。

具体实施方式

下面对照附图,通过对实施例的描述,对本发明的具体实施方式作进一步详细的说明,以帮助本领域的技术人员对本发明的发明构思、技术方案有更完整、准确和深入的理解。

图1为本发明实施例提供的基于量子随机数的密码卡装置结构示意图,为了便于说明,仅示出与本发明实施例相关的部分。该装置包括:

量子随机数生成器,由依次连接的激光光源、探测采样电路及FPGA组成;集成于FPGA上的加解密器,FPGA通过PCIE接口与宿主机连接;与FPGA连接的密钥存储器。

其中,激光光源依据量子熵源激光放大自发辐射或激光随机相位原理产生不同强度光,探测采样电路对量子熵源的光强进行探测与采样,得到光强原始数值,光强原始数值通常为高斯分布曲线,将光强原始数值输入FPGA;FPGA采用Toeplitz矩阵算法对光强原始数值进行随机化处理,最后得到满足随机性分布的随机数,存储至密钥存储器,密钥存储器基于对外部导入的密钥和量子随机数生成内部保护密钥,加解密器基于保护密钥对宿主机发送的待加密数据进行加密,或者是对宿主机发送的待解密数据进行解密。

高速生成量子随机数,量子随机数生成后在FPGA芯片内部直接使用,不以明文形式在芯片间传输,增强了数据的安全性,量子随机数处理与加解密等过程共用FPGA,可有效降低成本,简化设计。

在本发明实施例中,FPGA通过CPU与USB接口连接,主密钥通过USB接口导入密钥存储器,基于量子随机数来生成会话密钥,对FPGA与CPU间的会话数据通过会话密钥进行加密,保证FPGA与CPU间数据传输的安全性,此外,为了对会话密钥进行保护,基于对称密钥对会话密钥进行加密,进一步保证了会话密钥的安全性,对称密钥是通过USB接口外部导入,USB接口可外接USB KEY,通过该接口实现外部密钥的导入。

在本发明实施例中,FPGA还包括:

FPGA配置存储器,FPGA上电后从FPGA配置存储器下载配置程序,FPGA配置存储器不限于EPCS和FLASH等存储器,系统启动的时候,FPGA从FPGA配置存储器处下载固件并启动,FPGA还包括:负责FPGA的整体调度的状态机,用于动态内存访问控制的DMA控制器,基于PCIE的通信协议实现数据交互的PCIE IP核。

在本发明实施例中,FPGA还包括:

RAM,用于存储PCIE接口发送和接收的数据,PCIE接口连接宿主机和FPGA芯片,基于量子随机数来生成会话密钥,对FPGA与宿主机间的会话数据通过会话密钥进行加密,保证FPGA与宿主机间数据传输的安全性,此外,为了对会话密钥进行保护,基于对称密钥对会话密钥进行加密,进一步保证了会话密钥的安全性,对称密钥是通过USB接口外部导入。

图2为本发明实施例提供的基于密码卡装置的数据加解密方法流程图,该方法具体如下:

S1、RAM接收宿主机输入的待加密数据或待解密数据;

S2、从密钥存储器处读取主密钥和量子随机数,基于主密钥和量子随机数生成保护密钥,其中,主密钥是通过CPU上的USB接口外部导入;

S3、加解密器基于保护密钥对待加密数据进行加密或对待解密数据进行解密。

在本发明实施例中,FPGA与宿主机、CPU间的会话数据通过会话密钥进行加密,其中,会话密钥是由量子随机数组成,通过USB接口外部导入对称加密密钥,对称加密密钥对会话密钥进行加密。

上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。

技术分类

06120113283846