0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探究FPGA的图像及视频加密解密系统

FPGA技术江湖 来源:Xilinx开源社区 作者:林泽南、崔忠仁、 2021-11-01 11:35 次阅读

第一部分 设计概述

1.1 设计目的

在多媒体技术高度发展的今天,视频信息安全愈发受到人们的关注。传统的视频加密方法主要应用在软件层面上,其算法设计复杂、加密速度慢,不适用于视频的实时加密。FPGA 器件凭借高带宽全并行的特性可以实现高速运算和视频采集,能够满足视频的实时性要求,但开发难度较大。

ARM 器件具备易于开发 的优势,但其运算速度低。图像的保密技术主要有图像加密技术和图像隐藏技术两种。解密通过与加密算法配套的解密操作与密钥,获得原始图像的信息,从而可以有效的保护原始图像的隐秘性和信息的安全传输。

因此,本次比赛我们使用自制的 FPGA 板卡完成图像及视频加密解密系统, 发挥 FPGA 的高并行性及 FPGA 的 IP 核重用优势,对比传统软件上实现的图像加密解密速度慢,具有实时高速的优点。

本设计使用 Zynq7020 芯片采用自制的 双 hdmi 拓展板,结合 FPGA 与 ARM 的优势。在硬件层面分为加密端和解密端, 加密端实现基于摄像头传感器的视频实时采集、加密和密匙流动态配置功能;解密端实现基于 hdmi in 数据的实时读取、解密、并通过 hdmi out 接口输出。在软件算法层面主要结合了基于 Logistic 混沌序列的像素加密手段和基于 Arnold 猫映射的图像置乱加密手段,具体内容见下面章节介绍。

1.2 应用领域

此技术可应用于传输含有个人隐私、企业信息、国家机密等重要信息的视频及图像数据,如安防监控、视频会议等。

1.3 主要技术特点

在算法层面上,首先通过确定好图像像素的地址,通过运用 Arnold 猫映射对确定好的像素地址进行置乱。由于该操作不会改变像素本身的值,存在被暴力破解的风险。因此在经过上述操作后,还需要通过使用 Logistic 混沌映射对像素点本身的值进行置乱,改变像素点的值,保证图像的安全性。在硬件层面上,线性反馈位移寄存器所产生的伪随机序列具有良好的相关 性,运用该特性实现混沌图像加密算法硬件化。

1.4 关键性能指标

(1)密钥空间

(2)密文图像的相邻像素间的相关性

(3)密图的信息熵

(4)输出视频的帧率

1.5 主要创新点

(1)结合图像与视频的相关性,在静态图像加密技术的基础上完成彩色视频加密技术的开发;

(2)加密算法方面,结合了 Logistic 混沌映射图像扩散算法和 Arnold 猫映射图像置乱算法,具有较好的抵抗统计学、信息熵和差分攻击能力,保证了图像的安全性;

(3)运用 Zynq 系列芯片,在 FPGA 上完成视频的采集、加密、解密和显示, 在 ARM 上完成数据的传输以及各模块的调用,充分结合了 ARM 易开发和 FPGA 高性能、低功耗的优势。

第二部分 系统组成及功能说明

2.1 整体介绍

本设计使用 Zynq7020 芯片采用自制的双 hdmi 拓展板,结合 FPGA 与 ARM 的优势。在硬件层面分为加密端和解密端,加密端实现基于摄像头传感器的视频实时采集、加密和密匙流动态配置功能;解密端实现基于 hdmi in 数据的实时读取、解密、并通过 hdmi out 接口输出。下面分别是加密端整体框图和解密端整体框图。

加密端框图:

2c4a0abe-39f3-11ec-82a9-dac502259ad0.png

解密端框图:

2ccd9dc0-39f3-11ec-82a9-dac502259ad0.png

2.2 各模块介绍

(1)OV7670 图像采集模块:

此模块主要的任务是配置外部摄像头和拼接视频流数据。采用 SCCB 接口对外界 OV7670 摄像头内部寄存器进行配置,同时提供 XCLK 时钟源联合控制摄像头的帧率,显示分辨率等一系列参数

(2)HDMI_OUT 图像并转串输出模块:

此模块主要功能是完成对物体识别模块的视频流转化为 TMDS 差分信号,并完成时钟的配置驱动外部 HDMI 显示器或者接入另一块板卡的 hdmi 输入接口。

(3)HDMI_IN 图像串转并输入模块:

此模块主要功能是完成对物体识别模块的视频流转化为 TMDS 差分信号,并完成时钟的配置驱动外部 HDMI 显示器。显示器将实时显示双摄像头的画面,在有入侵情况下完成对物体的框选,使监控更直观方便。

(4)基于 Arnold 猫变换&logistic 混沌序列图像加密模块:

该模块主要完成了对于一帧图像数据的 Arnold 置乱加密与基于 logistic 混沌序列的像素点加密。其中置乱次数及密匙流为加密双方提前约定,固化与此 ip 中。采用 axi4-s 的视频流数据格式,基于 xilinx 的视频流标准,具有较好的可移植性。

(5)基于 Arnold 猫变换&logistic 混沌序列图像解密模块:

该模块主要完成了对于一帧图像数据的 Arnold 逆置乱解密与基于 logistic 混沌序列的像素点解密。注意两者顺序与加密模块正好相反,其中置乱次数及密匙流为加密双方提前约定,固化与此 ip 中。采用 axi4-s 的视频流数据格式,基于 xilinx 的视频流标准,具有较好的可移植性。

第三部分 完成情况及性能参数

3.1 灰度直方图统计

图像的灰度直方图可以反映图像中像素灰度的分布情况,通过图像灰度的分布特点来进行图像的恢复,攻击者可以利用这一特性对加密图像进行攻击。如果 加密后的图像的灰度值分布没有规律可循,攻击者也就无法通过像素灰度的分布特征来恢复图像。我们通过 matlab 仿真运算得到基于 Arnold 猫变换&logistic 混沌序列图像加密算法的加密后拥有较好的加密效果。

3.2 像素点相关性分析

图像的各相邻像素之间通常有一定的相关性,攻击者如果能够利用好这个现 象就有机会对加密图像实施攻击。所以对加密者而言,能否降低图像像素间的相关性是评价加密算法是否可行的一个重要依据。

所以引入相关系数来衡量图像相 邻像素间的相关性。可以看到原图的水平、垂直和对角线方向的相邻像素相关性 很强,而加密后的图像水平、垂直和对角线方向上的相邻像素间相关系数值很小, 尤其是水平方向上的相关系数,为 5.186×10-4,远小于 0.01,即相关性很弱。

第四部分 总结

可扩展之处

(1)视频图像采集格式为 RGB888,即一个像素会占用 24bit 的空间,由这种格式组成一幅 640x480 的图像需要 1MB 左右,这种原始视频数据对于存储器的容量有很高的要求,对于后续的视频处理和传输工作都有很大的局限性。因此,后续可以设计一些算法对视频数据进行压缩,为存储器腾出空间,提高存储空间资源。

(2)本系统中采用 HDMI 实现加密视频数据板间传输,这种传输方式距离近,暂时无法远距离传播。因此,后续可以加入以太网网络传输方式对视频进行传输,以推广该技术的应用。

作品来源:Xilinx开源社区,已授权,作者:林泽南、崔忠仁、陈沛杰。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593202
  • 芯片
    +关注

    关注

    447

    文章

    47788

    浏览量

    409144
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8651

    浏览量

    361816
  • 仿真
    +关注

    关注

    50

    文章

    3872

    浏览量

    132161

原文标题:基于 FPGA 的图像及视频加密解密系统

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于 FPGA 的光纤混沌加密系统

    算法。FPGA 设计加密算法具有安全性高,加密速度快,开发周期短,开发成本较低,可重配,可靠性高以及移植性好等优点。 3.2 混沌序列密钥设计 混沌序列的产生主要有两类:一类是利用微分方程表示的混沌
    发表于 04-26 17:18

    基于FPGA的光纤通信加密系统

    FPGA 设计加密算法具有安全性高,加密速度快,开发周期短,开发成本较低, 可重配,可靠性高以及移植性好等优点。 系统链路部分采用 Aurora 协议,该协议是一款轻量级的光纤链路协议
    发表于 04-26 11:33 53次阅读
    基于<b class='flag-5'>FPGA</b>的光纤通信<b class='flag-5'>加密</b><b class='flag-5'>系统</b>

    FPGA图像处理—VESA标准与视频流介绍

    VESA 视频标准同步信号产生器,是从事FPGA图像领域工程师经常使用到的模块。
    的头像 发表于 02-29 09:56 1165次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>图像</b>处理—VESA标准与<b class='flag-5'>视频</b>流介绍

    php加密方式有哪些

    PHP加密方式有许多种,以下是一些常用的加密方式: 对称加密 对称加密算法使用相同的密钥进行加密解密
    的头像 发表于 12-04 15:32 281次阅读

    嵌入式视频处理系统领域的FPGA验证

    FPGA视频处理方面可能很有用处,但在验证基于FPGA视频系统时,则需要仔细关注您所用的方法。
    的头像 发表于 10-27 17:34 180次阅读

    基于FPGA的PCI硬件加解密卡的设计方案

    电子发烧友网站提供《基于FPGA的PCI硬件加解密卡的设计方案.pdf》资料免费下载
    发表于 10-18 11:18 0次下载
    基于<b class='flag-5'>FPGA</b>的PCI硬件加<b class='flag-5'>解密</b>卡的设计方案

    stm32如何使用aes对文件系统文件加密

    请问有没我在好的库可以调用对文件系统内文件加密解密
    发表于 09-20 07:56

    硬件加解密主要优点及引擎种类

    运算引擎,将一串明码资料经过加密或编码(Cryptography)后变成一堆不具意义的乱码,大幅降低数据传输的风险,但资料加密或编码化是复杂的运算过程,极耗CPU资源,大量加解密资料需求会造成CPU效能
    发表于 08-28 07:29

    如何实施软件AES以及AES加密/解密

    这一样本代码展示了如何实施软件AES(高级加密标准)以及AES加密/解密如何运作。 您可以在下列时间下载样本代码http://www.nuvoton.com/resources-downlo.1218180400。 nuvo
    发表于 08-22 06:41

    什么是同态加密?同态加密为什么能被称为密码学的圣杯?

    全同态加密是一种加密技术,允许在不解密的前提下,对密文进行一些有意义的运算,使得解密后的结果与在明文上做 “相同计算” 得到的结果相同。
    的头像 发表于 08-09 10:20 2866次阅读
    什么是同态<b class='flag-5'>加密</b>?同态<b class='flag-5'>加密</b>为什么能被称为密码学的圣杯?

    Akira解密工具的加密模式

    6月底,Avast发布Akira解密工具。Akira出现于2023年3月,作者称能入侵教育、金融、房产等各行业组织。 Akira是用 C++ 编写的64 位 Windows 二进制文件,并用
    的头像 发表于 07-21 09:20 522次阅读
    Akira<b class='flag-5'>解密</b>工具的<b class='flag-5'>加密</b>模式

    基于FPGA的实时图像边缘检测系统设计(附代码)

    今天给大侠带来基于FPGA的实时图像边缘检测系统设计,由于篇幅较长,分三篇。今天带来第一篇,上篇,话不多说,上货。 这里也超链接了中篇和下篇,方便各位大侠参考学习。基于FPGA的实时
    发表于 06-21 18:47

    GPG加密解密文件在Linux中使用

    GPG(GNU Privacy Guard)是一种免费的开源加密软件,用于保护计算机数据的机密性和完整性。 它使用非对称加密算法,也称为公钥加密算法,其中数据被加密
    的头像 发表于 05-12 14:47 1607次阅读
    GPG<b class='flag-5'>加密</b>和<b class='flag-5'>解密</b>文件在Linux中使用

    RT1020总线加密引擎是否加密解密

    总线加密引擎是否加密解密? 例如,如果我正在运行一个加密的 XIP 应用程序(来自串行或闪存),并且我希望它向闪存的不同区域写入一些内容,会发生什么?是写的时候
    发表于 05-10 06:10

    PLC加密技术和解密方法

    PLC加密技术,其实就是开发者的一种思路,只要明白了作者的加密思路,就能对它很快的解密。其实,在自然界中不管是PLC,还是电梯主板只要有加密的存在就会有破解它的秘籍,这二者永远都是矛和
    的头像 发表于 05-05 09:55 1475次阅读