对称算法模式之GCM
·
Note
- GCM模式结合CTR加密和GMAC认证,保证数据私密性和完整性
- 可并行处理数据,提供较高性能
- 同时提供未加密的附加信息完整性校验
- GCM仅适用分组大小是16字节的对称算法,如SM4,AES系列等
- 可参考GBT 36624-2018 信息技术 安全技术 可鉴别的加密机制文档,其中10章节可鉴别的加密机制5就是介绍的GCM模式
参数说明
- 明文数据plain
- 对称密钥key
- 开始变量S
- aad 额外的认证数据
- 标签T,长度t 比特,t是8的整数倍,且t大于等于96且小于等于128
- 初始哈希值H
加密过程
- 计算初始哈希值H,使用对称算法对16字节的0加密得到H
- 生成初始计数器
若S长度是12字节,那么初始计数器Counter0 = IV || 0x00000001 若S长度不是12字节,则通过GHASH计算Counter0 - CTR模式加密明文数据,此时要特别注意CTR的初始计数器值是Counter1=Counter0 + 1,CTR加密过程可参考对称算法模式之CTR-CSDN博客
- 计算GHASH,依赖gmssl的ghash函数直接计算,感兴趣的同学可再深入了解,将H,aad,ctr计算的密文,传入该函数计算哈希值Digest
- 对称算法加密Counter0,将密文和Digest异或并截取t长度作为标签T
- 输出经CTR加密的密文和T的拼接
解密过程
- 根据加密过程中计算标签的过程,先校验数据完整性
- 校验通过再进行CTR解密获取明文
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)