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
    +关注

    关注

    1664

    文章

    22504

    浏览量

    639306
  • 芯片
    +关注

    关注

    463

    文章

    54441

    浏览量

    469429
  • ARM
    ARM
    +关注

    关注

    135

    文章

    9588

    浏览量

    393689
  • 仿真
    +关注

    关注

    55

    文章

    4536

    浏览量

    138672

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机解密是什么?

    单片机解密是什么? 单片机解密又叫单片机**,芯片解密,IC解密,但是这严格说来这几种称呼都不科学,但已经成 了习惯叫法,我们把CPLD解密
    发表于 12-30 08:19

    极简XXTEA加密解密:5分钟代码速学!

    XXTEA加密解密的极简实现方法来了!只需5分钟,跟着本文的代码示例学习,你就能快速掌握加密解密的核心技巧,轻松应用到项目中。 XXTEA (eXtended eXtended Ti
    的头像 发表于 11-12 14:49 479次阅读
    极简XXTEA<b class='flag-5'>加密</b><b class='flag-5'>解密</b>:5分钟代码速学!

    Camellia算法的实现二(基于开源蜂鸟E203协处理器)

    模块发送给上位机。经过改进后的Camellia系统测试方便,实现FPGA与PC机的友好交互。 核心算法模块的结构如上图所示,可分为子模块:密钥模块(key),加密模块(encode),
    发表于 10-30 06:35

    加密算法指令设计

    custom_sbuf:将密文/明文结果数据camellia_res[4]从协处理器内部的data_out缓存store到内存,大小为四个字 首次存了密钥后,就只需要六条加解密指令不断输入就可以一直加密解密,不需要再使用c
    发表于 10-28 07:36

    加密算法的应用

    保证信息传输过程中的安全性。只有经过特定的解密算法才能还原出原始的明文。因此,加密算法是一种保护信息安全的手段。 3. 加密算法的分类 根据加密算法中密钥的使用情况,可以将
    发表于 10-24 08:03

    AES加密流程

    密钥,这些轮密钥将在后续的加密解密过程中使用。 初始轮(Initial Round):在初始轮中,将待加密数据与第一个轮密钥进行异或运算。这一步骤有助于消除数据的模式和统计特性,增强加密
    发表于 10-23 06:13

    AES加密模式简介与对比分析

    能导致解密后的明文中包含错误的数据。 图3 CFB模式 4. 输出反馈模式 (OFB): OFB模式类似于CFB模式,但它将前一个输出块作为当前加密函数的输入。其流程如图4所示
    发表于 10-22 08:21

    基于FPGA利用sm4进行实时图像加密

    求一份在fpga上利用sm4进行实时图像加密的文件
    发表于 09-15 19:05

    FPGA 加持,友思特图像采集卡高速预处理助力视觉系统运行提速增效

    图像预处理是图像处理关键环节,可优化数据传输、减轻主机负担,其算法可在FPGA等硬件上执行。友思特FPGA图像采集卡凭借
    的头像 发表于 08-13 17:41 1344次阅读
    <b class='flag-5'>FPGA</b> 加持,友思特<b class='flag-5'>图像</b>采集卡高速预处理助力视觉<b class='flag-5'>系统</b>运行提速增效

    轻量级加密解密:Crypto核心库守护数据安全的终极答案

    在数据安全领域,“重量级”不等于“强效”。Crypto核心库摒弃臃肿设计,聚焦轻量化创新,通过精简算法与高效逻辑,实现加密解密的双重突破——既让数据安全无懈可击,又让系统运行轻如鸿毛。 加解密
    的头像 发表于 08-04 14:41 998次阅读
    轻量级<b class='flag-5'>加密</b><b class='flag-5'>解密</b>:Crypto核心库守护数据安全的终极答案

    AMD FPGA助力打造动态数据加密解决方案

    Sitehop 是一家致力于提高网络安全与性能的网络安全技术公司。其 SAFE 系列产品线包括旨在保护关键网络动态数据安全的硬件强制加密解密系统。这些系统以其超低时延、高带宽和极低功
    的头像 发表于 07-18 09:53 3530次阅读

    STM32_Cryptographic st加密库V3.0.0移植以后啥也没改,AES256ECB模式加解密都不对,为什么?

    ;OutputMessageLength); status = STM32_AES_ECB_Decrypt( (uint8_t *) Expected_Ciphertext, 64, Key, OutputMessage,&OutputMessageLength); 输出数据加密
    发表于 07-11 06:11

    在友晶DE1-SOC开发板实现Chirikov标准映射求解器

    该项目是在友晶DE1-SOC开发板实现Chirikov标准映射的求解器,并将其应用于图像加密解密的概念验证。
    的头像 发表于 07-07 15:22 2011次阅读
    在友晶DE1-SOC开发板实现Chirikov标准映射求解器

    基于SM4的文件加密解密功能实现(ECB模式)

    内容,输入密钥后,点击加密,显示加密后内容,并可以保存到文件里 进入“文件解密”页面,选择文件后,显示加密后的文件内容,输入密钥,点击解密
    发表于 06-29 13:21

    GLAD:利用全息图实现加密解密

    概述 全息图能够通过两束相干光相干叠加获得。用其中一束光照射生成的全息图就可以得到另一束相干光,这样全息图就可以用作加密/解密的装置了。 系统描述 在本例中一个复杂的随机图样作为参考光源,用来恢复
    发表于 06-13 08:42