1. 首页
  2. 安全技术
  3. 其他
  4. CCM加密学习

CCM加密学习

上传者: 2025-05-24 00:18:24上传 DOCX文件 141.53KB 热度 1次
CCM 加密学习 CCM 加密模式是 CTR 加密模式和 CMAC 认证算法的混合使用,常用于需要同时加密和认证的领域。CCM 模式的原理是先使用 CBC-MAC 模式来认证传输帧,然后使用 CTR 模式来加密帧。在 CCM 模式下,初始化向量 IV 由 sequence counter、Flags 和其他域组成。Flags 域结构包括 Bit7、Adata、M 和 L 等域,其中 Bit7 设置为0,Adata 为1的话,表示此帧有额外的认证数据,为0则表示没有额外的认证数据。 CCM 模式的认证和加密过程可以分为以下几个步骤: 1. 载入加密密钥 2. 载入全 0 的初始化向量 3. 构建一个 16 个字节的数组 B, 其中第一个元素 B[0] 需要有如下的构造 4. 按照 16 字节加密块来划分,第一个块填充初始化向量,第二个块填充 Adata 相关内容,第三个块(或者更多块)填充明文内容 5. 先按照 CBC_MAC 模式加密前 N-1 个块,最后一个数据块使用 CBC 模式来加密 6. 等待加密完成后,从结果中,读出 Mval 个字节到 Cstate 在硬件 AES 加密引擎上实现 CCM 模式的认证和加密需要软硬件一起配合。CCM 模式下的加密需要使用前面生产的 Cstate 值,具体使用步骤如下: 1. 加密也需要初始化向量,其构成如下: 2. 创建 A 块,并按照规则来填充 A[0] 3. 创建 T 块,将 Cstate 的前 Mval 填充到 T 中 4. 分配缓存,用于填充输入明文,不足 16 字节的补 0 5. 以 OFB 模式,将明文 T 加密输出到 Cstate(也叫做 U) CCM 模式的加密库使用 OpenSSL 库,可以使用 OpenSSL 库中的函数来实现 CCM 模式的加密和认证。CCM 模式的实现需要考虑到安全级别和认证域长度等因素,需要根据实际情况选择合适的参数和实现方式。 CCM 加密学习需要了解 CCM 模式的原理和实现过程,同时需要考虑到安全级别和认证域长度等因素,以确保数据的安全和可靠性。
下载地址
用户评论