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

    关注

    1655

    文章

    22283

    浏览量

    630289
  • 芯片
    +关注

    关注

    462

    文章

    53534

    浏览量

    459117
  • ARM
    ARM
    +关注

    关注

    135

    文章

    9499

    浏览量

    388711
  • 仿真
    +关注

    关注

    53

    文章

    4406

    浏览量

    137671

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    加密算法指令设计

    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

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

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

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

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

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

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

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

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

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

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

    如何在MBDT中使用S32k344进行加密

    我想加密解密通过 CAN 总线发送的数据,为此我想使用 S32k344 中的 HSE 模块在 MBDT 1.5 中进行对称加密-解密,但工具箱中没有可用的块。那我该怎么做呢。请分享与
    发表于 03-25 07:21

    【国产FPGA入学必备】国产FPGA权威设计指南+配套FPGA图像视频教程

    缩短工程项目的开发周期,同时,本书可以帮助高校师生快速学习国产FPGA,为参加FPGA和集成电路竞赛提供有力的帮助。 二、紫光同创FPGA图像
    发表于 02-20 15:08

    【国产FPGA必备教程】——紫光同创FPGA图像视频教程,适用于小眼睛FPGA盘古全系列开发板

    本帖最后由 jf_25420317 于 2025-2-19 18:15 编辑 小眼睛科技针对赛事推出配套视频教程,涵盖紫光同创工具的使用方法、基于紫光同创FPGA图像处理技巧、高速通信
    发表于 02-19 15:44

    FPGA图像处理基础----实现缓存卷积窗口

    像素行与像素窗口 一幅图像是由一个个像素点构成的,对于一幅480*272大小的图片来说,其宽度是480,高度是272。在使用FPGA进行图像处理时,最关键的就是使用FPGA内部的存储资
    的头像 发表于 02-07 10:43 1417次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>图像</b>处理基础----实现缓存卷积窗口

    年前再补课!国产 ARM 平台上演加密解密秀教学!

    一、产品简介TL3568-PlusTEB人工智能实验箱国产高性能处理器64位4核低功耗2.0GHz超高主频1T超高算力NPU兼容鸿蒙等国产操作系统二、实验目的1、了解常见的加密方法;2、加密
    的头像 发表于 01-23 11:30 802次阅读
    年前再补课!国产 ARM 平台上演<b class='flag-5'>加密</b><b class='flag-5'>解密</b>秀教学!

    基于FPGA实现图像直方图设计

    简单,单采用FPGA来实现直方图的统计就稍显麻烦。若使用Xilinx和Altera的FPGA芯片,可以使用HLS来进行图像的加速处理。但这暂时不是我的重点。 用C语言实现直方图统计:unsigned
    的头像 发表于 12-24 10:24 1202次阅读
    基于<b class='flag-5'>FPGA</b>实现<b class='flag-5'>图像</b>直方图设计