STM32/STM8技术william hill官网
直播中

donatello1996

8年用户 687经验值
擅长:处理器/DSP 控制/MCU RF/无线
私信 关注

【STM32MP157A-DK1开发板试用连载】基于STM32MP157A-DK1开发板的AES加解密/完整性保护视频流传输和传感器数据采集

项目名称:基于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协议通过网口发送到电脑端服务器上,电脑端可通过网页浏览器读取得到这些数据,并在william hill官网 交流在Linux下开发GPIO接口驱动的心得;

5.若有条件,我还想跑一下128-NIA3即祖冲之完保算法,因为目前通信行业用得最多的是128-NIA3,可供参考的资料也非常多,稳定性也高;

更多回帖

发帖
×
20
完善资料,
赚取积分