.Net TDES 执行 enc-dec-enc 还是 end-enc-enc?

Does .Net TDES do enc-dec-enc or end-enc-enc?

我正在尝试在 .Net 4.5 中验证支付卡。 EMV Book 2 Annex B1.1 说: DES3(K)[X] = DES(K L )[DES -1 (K R )[DES(K L )[X]]] 或者,X 的 3DES 表示:

Blockquote

  1. 用 16 字节密钥的左半部分加密 X
  2. 用 16 字节密钥的右半部分解密该密文
  3. 用密钥的左半部分加密假设的明文。

你可以称之为 enc-dec-enc。 谁能向我保证 .Net 的 TripleDESCryptoServiceProvider 是这样做的,而不是 enc-enc-enc? ms docs page没说。

无论何种语言,TDES 的所有实现都遵循加密-解密-加密。 对于双长度密钥,使用第一个块[前 8 个字节] 加密数据,使用第二个块[第二个 8 个字节] 解密并使用第一个块再次加密。 对于三倍长度的密钥,在使用第一个块加密的最后一步中,使用第三个密钥块。 如果您想确保相同,只需将一些测试密钥和数据传递给库,然后比较您从任何在线免费工具(如 https://paymentcardtools.com/des-calculator

获得的值

我可以看到文档中提到了它。单击开头的 TripleDES,然后阅读备注部分。