APP下载

一种量子加密视频通信教学实验设计

2021-12-14张秀再刘光杰张经纬

实验室研究与探索 2021年10期
关键词:密文密钥灰度

张秀再,刘光杰,张经纬

(南京信息工程大学a.电子与信息工程学院;b.江苏省大气环境与装备技术协同创新中心,南京 210044)

0 引言

量子加密起源于1969 年美国科学家Wiesner[1]提出的Conjugate Coding,但由于当时技术的局限性,这一突破性想法没有得到人们的关注。直到1984 年Bennett等[2]提出的第一个量子密钥分发协议(QKD),即著名的BB84 协议,才标志着量子加密的研究真正开始。目前,关于量子加密在理论与实验方面都取得了大量研究成果。1991 年Ekert[3]提出的E91 协议和1992 年Bennett[4]提出的B92 协议,都已被证明量子加密的绝对安全性。FPGA 综合设计实验是电子信息、自动化等工科专业的重要综合实践课程,具有综合性、实践性和创新性。而现有的实验教学平台一般只要求完成单项内容的验证实验,无法综合应用所学知识解决实际工程问题,其他综合设计实验项目的综合性、实践性不强,难以满足创新性设计,导致学生自主开展实验的积极性不足,综合设计的获得感较低,难以提升学生的工程能力和创新能力。因此,引入实用的自主设计类教学实验,提升FPGA 综合设计实验课程的高阶性、创新性和挑战度,培养学生创新思维是教学改革的一个重要方向。

本文在FPGA综合设计实验课程教学项目中,针对量子加密技术在视频通信中的应用,基于XILINX公司的ZYNQ架构、以BB84 协议为核心加密算法,设计了一种对视频数据流的视频采集、信息加密、信道传输、信息解密、视频播放功能的量子加密视频通信教学实验设计,增强了FPGA 综合设计实验教学的实用性和挑战度,激发了学生的学习兴趣和自主能动性,提升综合实践教学的成效。

1 量子加密视频教学实验系统总体设计

量子加密视频通信系统的整体结构如图1 所示,主要包括量子密钥分配单元(QKD)与视频图像处理单元两部分。

图1 量子加密视频通信教学实验系统结构框图

量子密钥分配单元[5]包括随机数产生器、Alice算法模块与Bob 算法模块3 部分。其中Alice 与Bob 之间存在量子信道与传统公开信道,两信道之间相互隔离互不干扰。Alice与Bob引入了后处理算法,包括数据筛选、改进型二分法数据协调、Hash矩阵密性增强3个步骤。通过一个基于梅森旋转算法的随机数产生器为Alice与Bob提供所需要的随机数。Bob 最后将密性增强压缩后的密钥传给图像加密模块。

视频图像处理单元[6]包括图像采集(OV7670)、图像加密与图像缓存(256M SDRAM)3 个模块。视频信息由图像采集模块获取,即通过摄像头OV7670 进行图像采集,且在1 s内最高可向FPGA 输入30 帧图像。将图像数据与QKD 系统产生的密钥进行异或运算处理,然后把加密完成的视频流信息存放到FPGA内部、容量大小为256 MB 的SDRAM 图像缓存器中。图像缓存模块提取出部分数据后,通过传统公开信道输送至发送方Alice。视频信息经图像显示模块解密后,由内部的VGA驱动电路驱动,并通过VGA传输线在用户屏幕上显示。

2 教学实验系统功能模块

2.1 随机数产生模块

对量子加密实验系统来说,随机数的好坏是影响整体性能的关键[7]。本实验设计了一种新的基于梅森旋转算法的随机数产生模块,该模块最长随机周期取自一个梅森素数219937-1,且较传统反馈移位寄存器而言,可以保证随机数是均匀分布的。

随机数产生模块的状态转移过程如图2 所示。

图2 随机数产生模块的状态转移图

idle(空闲)当完成初始化时,转到状态1。

状态1根据SEED 或上一轮运算结果对寄存器数组[0:623]依次进行初始赋值,判断此时运算轮数%(模运算),624若为0则转向状态2,否则转向状态5。

状态2操作单口RAM的RW线为读,空闲一个周期读入此时为i的寄存器数组的值,转向状态3。

状态3空闲一个周期等待RAM 数据输出稳定后,读入一个名为(i+1)%624 寄存器数组的值,转向状态4。

状态4空闲一个周期等待RAM 数据输出稳定后,读入一个名为(i+397)%624 寄存器数组的值,依次将i、(i+1)%624、(i+397)%624 按位计算且进行右移操作,设置操作单口RAM的RW线为写,将计算值写入RAM中,转向状态5。

状态5如图3 波形所示,操作单口RAM 的RW线为读,读出名为index 寄存器数组的值,完成梅森旋转运算后,将result写入RAM并拉高ready,转向空闲状态,等待下一轮计算。

图3 随机数产生模块的波形

2.2 量子密钥分配单元

本实验采用了一种改进型二分法作为数据协调算法,该算法能在保证数据安全性的前提下,保留更多的有效数据,并且比一般算法运算速度更快,节约通信资源;密性增强具体方案如下:先由Matlab 生成一族长度固定由0/1 元素构成的HASH 矩阵族,然后将协调后的数据经由HASH 矩阵压缩。这样可尽量减少窃听方所得到的密钥信息。

量子密钥分配单元的状态转移过程如图4 所示。

图4 量子密钥分配单元的状态转移图

状态1初试化各个寄存器,并由Alice(发送方)接收qbit(量子比特),Bob(接收方)接收mbase(测量基)。

状态2Bob接收来自Alice 的量子比特流,并存储至寄存器。

状态3Alice接收Bob的小部分(25%)mbase。

状态4Alice与Bob公开计算部分mbase与qbit的和运算,并在公共信道对比误码率,超出阈值则说明存在Eve(窃听方),转到状态1 结束此次通信。

状态5此次通信不存在Eve,则Alice 接收Bob剩余mbase。

状态6Alice与Bob计算出所有qbit与mbase并配对基底,不一致则转到状态1。

状态7、8、9、10多轮改进法纠错,每轮结束检查有效数值,若低于阈值则转到状态1。

状态11将数据协调后的若干组数据依次打入HASH矩阵中,等待压缩后的数值。

状态12如图5 所示将密钥key 输出,并拉高数据有效位valid,转到状态1 等待下一轮计算。

图5 量子密钥分配单元的波形

3 实验设计与结果分析

3.1 教学系统实现与验证

量子加密视频通信系统采用自顶向下的设计思路,在Vivado 2017.2 平台上利用Verilog 语言设计各个模块,并将各个模块组合封装。顶层文件在Vivado工具综合实现生成FPGA 的硬件资源消耗情况,如表1所示。从表1 可知,FPGA资源利用率最高的是LUT与BUFG,资源利用率为13%,可见量子加密算法易移植于其他系列的FPGA 与嵌入式系统,方便部署于复杂系统上,以此保护人们的信息不受侵犯。

表1 FPGA硬件资源消耗表

图6 所示为在3 种不同状态下正常显示、加密之后与发现窃听行为后的系统实验测试结果。可见,实验设计的视频通信系统对数据的加密具有实时性和一次一密性。加密每一帧图像所用的密钥流都处于无规律地动态变化中,根据量子力学的特性[5],这种加密方式可及时发现窃听行为[10],理论上具有绝对安全性。

图6 加密实验测试结果对比

3.2 安全性分析

根据实验系统测试结果,从密钥灵敏度、像素分布关系等方面对原始图像与加密图像进行对比,以验证量子加密算法的安全性。

3.2.1 密钥灵敏度

密钥灵敏度即密钥和密文图像的关联度,密钥灵敏度越高,两者关联程度就越强,被破解的可能性也越小[8]。在密码学中,可用原明文图像与密文图像的均方差MSE表示密钥灵敏度

由于明文图像为彩色,均方差MES可用R、G和B三通道均方差表示为:

密钥完全正确,则明文图像与密文图像均方差MSE为0,梅森旋转算法对初始值敏感。因此,当一帧图像的量子密钥全部正确,图像为图7(a)所示;若错误密钥误差小于2-20,解密依旧失败,解密图像如图7(b)所示。

图7 解密图像

由图7 所示可知,实验系统密钥灵敏度高,密钥细微的变化将导致解密结果发生很大变化,解密出的错误图像也不会显示出任何有效信息,安全性高[9]。

3.2.2 灰度直方图分析

灰度直方图由Matlab通过将灰度分级成[0:255]显示图像像素在每个灰度级的分布情况,密文图像的灰度直方图和原始图像的差别越大,则加密效果越好[10]。

图8 和图9 所示依次给出了原始明文图像灰度直方图与加密图像灰度直方图。可以明显看出同一个图像的R、G、B三通道与灰度图的灰度分布基本一致,但图像加密前与加密后的灰度发生了巨大变化,且密文图像的灰度直方图灰度变化较为平缓,明文图像灰度直方图灰度变化十分陡峭,因此密文图像有效地隐藏了明文图像的有效信息[11]。

图8 原始明文图像灰度直方图

图9 加密图像灰度直方图

3.2.3 相邻像素相关性

实验的一帧明文图像如图10(a)所示,密文图像如图10(b)所示。一幅明文图像每个像素点都与相邻像素点有巨大的关联性,关联系数>0.99,而只有使加密系统加密后的密文图像素点与相邻的相关性尽可能小,才能保证信息的安全[12]。相邻像素相关系数表示为[13]:

图10 相邻像素相关性实验

式中:D(x)、D(y)分别为对应像素的方差;cov(x,y)为协方差。

由式(3)得出R、G、B 三通道和灰度图相邻像素相关系数,如表2 所示。原明文图像与密文图像相邻像素的水平、垂直和对角相关分布图分别如图11~13所示。

表2 原始图像与密文图像的相关系数表

图11 水平相邻像素相关分布图

图12 垂直相邻像素相关分布图

图13 对角相邻像素相关分布图

由表2 数据和图11~13 可知,原明文图像的各个像素点与各自相邻像素点基本呈线性相关,水平、垂直和对角相关系数均>0.998,而加密后的密文图像的水平、垂直和对角相关系数均<0.5。因此,加密前后图像关联性发生了巨大改变[14]。

3.2.4 随机性测试

利用NIST的SP800-22 标准对密文图像做一个系统性伪随机测试[15]。于Ubuntu16.4 系统下,采用NIST官方提供的sts-2.2 软件包对序列长度3 ×106位的随机数列进行测量,最终测试结果如表3 所示[16]。根据标准,若测试结果的P-value 值大于0.1,则该项测试显示success,否则显示failure。表3 显示所有测试的P-value的值皆大于0.1,因此实验设计的加密视频通信系统的安全性满足NIST SP800-22 标准,具有很强的保密性。

表3 NIST SP800-22 测试结果

4 结语

在FPGA综合设计实验课程教学中,结合量子加密算法与视频采集显示技术,设计了一种基于FPGA的量子加密视频通信教学实验系统。实验测试结果表明,基于FPGA硬件平台上,优化量子加密算法可有效实现加密视频通信,且能够积极引导学生勇于开展高阶性、创新性和挑战度的综合设计实验,可以极大地丰富综合设计实验的教学内容,提升学生的自主实验兴趣和工程创造能力。

猜你喜欢

密文密钥灰度
采用改进导重法的拓扑结构灰度单元过滤技术
一种支持动态更新的可排名密文搜索方案
幻中邂逅之金色密钥
幻中邂逅之金色密钥
基于模糊数学的通信网络密文信息差错恢复
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
密码系统中密钥的状态与保护*
基于网络报文流量的协议密文分析方法
密钥共享下跨用户密文数据去重挖掘方法*
TPM 2.0密钥迁移协议研究