完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
项目名称:基于STM32MP157A-DK1开发板的AES加解密/完整性保护视频流传输和传感器数据采集试用计划:申请背景:
在去年听说了STM32MP157的大名,是ST公司出的首批支持Cortex A7内核的微处理器,可搭载Linux系统或别的实时操作系统,还搭载了一个Cortex M4内核,可用于实时性要求较高的微控制任务,比如传感器数据采集和信息传输。既然MP157有一定的微处理器性能,那我想可以试试在上面跑一下非常流行的视频流采集和AES加密算法,使用算法加密视频流数据,并实现视频流完整性保护。 1.要实现基于算法加密/完整性保护视频流传输,首先就是要进行视频流采集和传输,视频流采集使用v4l2和libjpeg开源库,开发板从USB UVC摄像头采集bmp数据,将连续的bmp数据合在一起就是动态视频,将动态视频数据输出到开发板的HDMI接口上和通过网口进行UDP视频流传输; 2.加载AES加密算法,需要安装OpenSSL库,在OpenSSL官网下载源码并使用STM32MP157对应的交叉编译链进行编译。对数据量非常大的视频流,我采用AES的CBC模式进行加密,不使用IV向量(因为如果使用IV向量的话运算量太大),即使不使用IV向量,运算量也非常大,可充分发挥STM32MP157中A7核运算优势; 3.AES完整性保护(AES IntegrityProtection),我的方案是使用AES的CBC+CMAC模式结合使用,即业界熟知的128-NIA2算法(参考3GPP文档38.401),使用IV向量,IV向量由传输序号COUNT和传输方向DIR组成,生成16字节的MACI,用于主控进行完整性校验(IntegrityVerification); 4.使用STM32MP157中的M4核进行传感器数据采集,如读写普通GPIO,I2C,SPI,UART接口的传感器,充分发挥Cortex M4核的实时IO读写/通信优势,采集到的数据发动到A7核,以TCP协议或HTTP协议通过网口发送到电脑端服务器上,电脑端可通过网页浏览器读取得到这些数据,并在论坛交流在Linux下开发GPIO接口驱动的心得; 5.若有条件,我还想跑一下128-NIA3即祖冲之完保算法,因为目前通信行业用得最多的是128-NIA3,可供参考的资料也非常多,稳定性也高; |
|
相关推荐
|
|
1129 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1075 浏览 2 评论
2175 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1269 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1693 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 01:02 , Processed in 0.617715 second(s), Total 63, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号