AES-CMAC加密算法使用
AES-CMAC加密算法对于大文件的分开加密算法的介绍
由于公司项目的需求,需要使用AES-CMAC算法对文件进行加密,将加密后的密文附带到文件的后边,都发送出去,接收方收到文件后,也按照AES-CMAC算法进行加密,将加密得到的密文与发送过来的进行比较,如果一致,说明接收的文件没有被破坏,这样就实现了对文件完整性的检查。
CMAC算法示意图
-
CMAC的算法实现
CMAC算法是基于AES算法的,具体可以参考AES算法,在这里我就不做过多的介绍了,先看结果,然后再详细介绍。
实现方式
由于发送的文件较大,可能程序不能一次加载完成,所以对于CMAC的加密,也需要分开来进行,我这里主要分成了3个部分,start(开始部分),mid(中间部分,处理的代码较多,执行循环操作,多次调用mid函数),end(处理最后的部分,用于将K1 K2添加进去),
- 首先是接收方执行CMAC后的结果图
- 分开进行加密,并将每次加密后的结果输出,与上图进行对比,发现数据一致,说明分开加密没问题
算法部分,我将整理成一个TXT文档,后续将作为资源的形式,发出来