AES-CMAC加密算法使用

AES-CMAC加密算法对于大文件的分开加密算法的介绍

由于公司项目的需求,需要使用AES-CMAC算法对文件进行加密,将加密后的密文附带到文件的后边,都发送出去,接收方收到文件后,也按照AES-CMAC算法进行加密,将加密得到的密文与发送过来的进行比较,如果一致,说明接收的文件没有被破坏,这样就实现了对文件完整性的检查。

CMAC算法示意图

  1. CMAC的算法实现
    CMAC算法是基于AES算法的,具体可以参考AES算法,在这里我就不做过多的介绍了,先看结果,然后再详细介绍。

实现方式

由于发送的文件较大,可能程序不能一次加载完成,所以对于CMAC的加密,也需要分开来进行,我这里主要分成了3个部分,start(开始部分),mid(中间部分,处理的代码较多,执行循环操作,多次调用mid函数),end(处理最后的部分,用于将K1 K2添加进去),

  1. 首先是接收方执行CMAC后的结果图
  2. 分开进行加密,并将每次加密后的结果输出,与上图进行对比,发现数据一致,说明分开加密没问题

    算法部分,我将整理成一个TXT文档,后续将作为资源的形式,发出来

AES-CMAC加密算法使用相关推荐

  1. java aes php_php和java的aes默认加密算法有点区别及解决方法。

    1.php和java的aes默认加密算法有点区别,php能解密java加密的密文,但java不能解密php加密的密文.原因在于: 1.Java中AES加密与解密默认使用AES/ECB/PKCS5Pad ...

  2. 利用Python爬取基于AES对称加密算法的网易云音乐用户评论数据

    本文利用Python2.7根据网易云音乐歌曲ID爬取了该歌曲的所有用户评论数据.以id是28875120的歌曲<小岁月太着急>为示例,通过Chrome的DevTools工具获取已加密评论数 ...

  3. Java 加密 AES 对称加密算法

    版权声明:本文为博主原创文章,未经博主允许不得转载. [AES] 一种对称加密算法,DES的取代者. 加密相关文章见:Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES R ...

  4. java 可逆的加密算法_java实现AES可逆加密算法

    package com.hdu.encode; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import ...

  5. AES 对称加密算法

    什么是AES? 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),是一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用. 那么 ...

  6. (4)AES分组加密算法(原理详解)

    说明:本内容参考B站UP主"可厉害的土豆"的视频讲解,强烈推荐一下该宝藏UP主 [AES加密算法]| AES加密过程详解| 对称加密| Rijndael-128| 密码学| 信息安 ...

  7. 什么是AES对称加密算法

    个人博客请访问 http://www.x0100.top 小明:老师,请问了解AES算法吗? 老师:了解一些,AES算法是典型的[对称加密算法] 小明:我不太明白,这个对称加密是什么鬼?它跟MD5,S ...

  8. java aes对称加密算法_JavaAES128对称加密算法实现

    在我们程序员日常工作中避免不了会接触一下有关于加密算法的需求,所以今天小编带来的是java中AES128对称算法的实现. 话不多少接下来代码搞起来-----> 0.准备 首先呢,我们先把jar包 ...

  9. AES DES 加密算法

    什么是AES? AES一般指高级加密标准,又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.它由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 19 ...

  10. AES对称加密算法原理

    原著:James McCaffrey 翻译:小刀人 原文出处:MSDN Magazine November 2003 (Encrypt It) 本文的代码下载:msdnmag200311AES.exe ...

最新文章

  1. 太赞了!NumPy 手写所有主流 ML 模型,由普林斯顿博士后 David Bourgin打造的史上最强机器学习基石项目!...
  2. oracle树形语句
  3. go项目中使用数据库的配置文件
  4. 规模估算失准 软件开发成空中楼阁
  5. 深入探讨用位掩码代替分支(3):VC6速度测试
  6. Ubuntu安装ssh server及分配用户
  7. introduce to Installsheild X
  8. GridView常见问题及解决办法
  9. 交换机配置软件crt安装_模拟器安装使用
  10. 鲁百年创新设计思维学习总结
  11. 腾讯AI Lab招聘实习生(内推)
  12. Python字符串地常规操作:取值,切片,查找,替换,分割,拼接,转义
  13. CPU,处理器插槽,逻辑处理器,处理器内核
  14. 女孩与头发2005.9.8
  15. 为什么越能干越忙碌越吃亏?这四点干货,说破职场微生态
  16. 在【Window】系统下更改 【pip install】 默认安装依赖路径
  17. 想知道哪个音频翻译成文字的软件好用?这篇文章能够给你答案
  18. JavaScript日期相关计算
  19. HTTP协议中的“报头”(header)和 “正文“ (body)详解
  20. 智慧社区建设指南参考规范汇总

热门文章

  1. 无法拖动_玩转PPT拖动的小妙招
  2. InnovMetric PolyWorks Metrology Suite 2021 IR2
  3. LiveGBS流媒体平台GB/T28181功能-摄像头报警告警预案触发图片截取视频录制海康大华华为宇视等摄像头报警触发截图录像
  4. 为什么说欧洲是博士的天堂?
  5. Rust入坑指南:居安思危
  6. 北斗授时设备(NTP服务器)对高速联网收费的重要性
  7. 天猫APP改版之首页架构开发模式全面升级
  8. 通过GPO的方式解决win10系统无法安装语言包
  9. 用计算机名字来访问提示没有权限,访问局域网电脑提示没有权限怎么解决
  10. 键盘输入一个英制的身高(几英尺几英寸),计算对应的公制身高(米)