SCP03 C解密过程:智能网联汽车生成算法和模式



我正在尝试找出使用 SCP03 为 APDU 数据字段加密生成 ICV 的算法和模式。

根据"安全通道协议'03' – 公开发布v1.1.1" ,
6.2.6 APDU命令C-MAC和C-DECRYPTION生成和验证部分:

本节适用于同时需要命令机密性 (C-解密( 和完整性 (C-MAC( 的情况。根据安全通道启动时定义的安全级别,安全通道中的所有后续 APDU 命令可能需要安全消息传递,例如使用 C-MAC (完整性(和加密(机密性(。
对于在安全通道会话中发送的每个 APDU 命令,卡外实体应递增加密计数器:

  1. 加密计数器的起始值应设置为第一个 1 命令,然后执行成功的外部身份验证命令。
  2. 加密计数器的二进制值应保留填充 零以形成一个完整的块。
  3. 该块应使用 S-ENC 加密以生成用于 命令加密。

注意:此方案满足 [NIST 800-38A] 中描述的 CBC 模式时不可预测的 ICV 的要求。

我的问题是(上面粗体的第 3 点(如果我有 16 字节的密钥和 16 字节的输入(加密计数器左边填充零,例如:enc 计数器 1 变成 00000000000000000000000000000001(

问候

这只是一个简单的块加密。如果块加密不能直接使用,则使用不带填充的 ECB 模式应该可以正常工作。或者使用填充,然后只使用第一个块。具有零IV的CBC模式将以类似的方式工作,或将起始计数器值设置为零的CTR(等(。

最新更新