The Galois/Counter Mode of Operation (GCM)
Galois/Counter模式(GCM)是一种块密码模式,它使用二元Galois域上的通用散列函数来提供经过认证的加密。GCM能够以低成本和低延迟硬件实现来达到高速度,而软件实现则可以通过使用基于表驱动的域操作来实现优秀性能。GCM的实现依赖于具有良好理论基础的机制,其安全性基于关于块密码安全性的单一合理假设。 由于现代通信技术对高速数据加密的需求不断提高,GCM模式的开发变得至关重要,它能够在硬件中以每秒10吉比特以上的速度提供认证加密,同时在软件中性能良好,并且不受知识产权的限制。硬件实现时,GCM模式需要具备能够进行流水线和并行化处理的能力,并且在高数据速率下具有最小的计算延迟。 传统上,计数器模式(Counter Mode)被广泛用作高速加密的最佳方法,因为它满足了上述要求。然而,目前缺乏一个合适的标准消息认证算法。GCM填补了这个空白,而其他提出的模式如CBC-MAC以及使用CBC-MAC来提供认证的模式,例如CCM、EAX和OMAC,都不能流水线化或并行化,因此不适合高数据速率。OCB虽然能够提供类似GCM的功能,但是它受到了多项知识产权声明的影响。CWC虽然不受知识产权声明的限制,但并没有与GCM相同的特性。 GCM的输入和输出包括明文(或密文)数据块、附加的认证数据(AAD)、初始化向量(IV)、密钥和认证标签。它为加密和解密操作定义了符号和术语,包括加法、乘法、XOR运算等。GCM还定义了加密和解密过程中的各种操作,如块加密函数的调用、认证标签的生成和验证、以及用于解密的重放保护机制。 GCM的加密过程涉及使用块加密函数对输入的数据块进行加密,并结合了基于二元Galois域的乘法运算来计算认证标签。解密过程则使用相同的块加密函数对密文进行解密,同时验证其认证标签的有效性。在软件实现中,GCM推荐使用表驱动的域操作以达到最佳性能,而硬件实现则通过流水线和并行处理来提高速度。 GCM的安全性基于块密码的安全性假设,也就是说,只要块密码是安全的,GCM就能够提供理论上健全的认证加密机制。它的安全性还包括了对数据篡改的保护,由于GCM本身整合了认证机制,因此能有效防止比特翻转攻击。 GCM还支持64位块密码,这使其在某些应用中更加灵活。GCM已经通过了一系列的测试向量(Test Vectors)的验证,用以确保实现的正确性和符合性。在标准化方面,GCM已经被接受为国际标准,例如ISO/IEC 19772:2009和IEEE P1619标准。 总结来说,GCM作为一种块密码模式,提供了高速、安全的认证加密方案,适用于硬件和软件实现,并且已经在多个标准中得到了应用。其独特的特性、出色的性能以及广泛的适用性使其成为了现代信息安全领域中非常重要的一个工具。在设计加密系统时,考虑使用GCM将能够提供一个既快速又安全的解决方案,特别是在需要高数据吞吐量的场合。
剩余43页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Annotations_Train_abstract_v002.zip
- ap5030dn-openwrt-ath79-generic-huawei-ap5030dn-initramfs-kernel
- 华为AP无线接入控制器学习资料
- 金铲铲S13双城之战自动拿牌助手2.0
- Sigrity Power SI 仿真分析教程与实例分析.rar
- 基于Vue和JavaScript的掌上生活超市小程序配送解决方案设计源码
- 基于Java和安卓基础知识的简易记事本设计源码
- 基于SaToken轻量级Java权限认证的XrSaTokenVue Vue设计源码
- 基于Java语言的RxTool设计源码集合
- PHP性能检测扩展XHProf与FirePHP线上调试工具详解