NIST特殊出版物800-38C:CCM模式详解

需积分: 10 2 下载量 76 浏览量 更新于2024-07-17 收藏 281KB PDF 举报
"NIST Special Publication 800-38C详细阐述了CCM(Counter with Cipher Block Chaining Message Authentication Code)模式,这是一种用于块密码操作的标准,旨在提供认证和机密性。该文档由Morris Dworkin撰写,属于美国国家标准与技术研究所(NIST)计算机安全计算机安全分部的信息安全技术报告。出版日期为2004年5月,后续在2007年7月进行了错误修正,主要涉及参数B在p.19的校正值。" CCM模式是NIST推荐的一种块密码工作模式,它结合了计数器模式(CTR)的机密性和链式消息认证码(CBC-MAC)的认证性,特别适用于需要高效且安全的数据加密和完整性验证的场合,如无线网络通信、嵌入式系统以及安全协议中。此模式同时支持数据的加密和完整性保护,使得它在资源有限的环境中尤其有价值。 在CCM模式中,数据被分成两个部分:明文数据和附加数据。明文数据会被加密,而附加数据则用于认证但不加密。CCM使用了一个块密码(如AES)和一个非重叠的计数器来生成加密流。计数器首先用于加密附加数据,生成一个认证标签,然后用于加密明文数据。这种设计确保了即使数据在传输过程中被篡改,接收方也能通过比较解密后生成的标签和接收到的标签来检测到异常。 CCM有多个参数,包括块大小(通常为128位,对应于AES)、密钥长度(与所使用的块密码兼容,如128位、192位或256位)、以及非密文数据(AAD)和明文数据的长度。参数B是用于控制生成的认证标签长度的关键参数,其校正值对于确保安全性至关重要。 此外,CCM还具有灵活性,可以适应不同的安全需求和性能要求。例如,通过调整计数器的初始化方式和标签长度,可以在保持安全性的前提下优化速度和内存使用。由于其效率和安全性,CCM已被广泛应用于Wi-Fi网络安全标准WPA2、IPsec以及其他多种安全协议中。 总结来说,NIST Special Publication 800-38C提供的CCM模式是一种强大的加密和认证机制,它集成了CTR模式的高效性和CBC-MAC的完整性检查,适用于需要快速加密和验证的现代通信环境。其详细规格和实现指南对于理解和应用这一标准至关重要。