Capicom 3des: 2 key or 3 key?



大量的搜索和阅读并没有告诉我capicom.encrypteddata类模块(它是VB6,但这在回答这个问题时并不重要)是使用2键3DES还是3键3DES。(.Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM_3DES)有人知道它在用哪一个吗?这些信息的来源也会有所帮助。我怀疑,因为我认为不支持足够高的密钥长度,所以它是2DES。但我还没有找到可接受的确认。

CAPICOM是CryptoAPI之上的一个薄包装器。如果对EncryptedData的输出进行解码。Encrypt()您将看到类似的内容(它是以专有格式编码的ASN.1):
SEQUENCE {
  OBJECT IDENTIFIER '1 3 6 1 4 1 311 88 3'
  [0] {
    SEQUENCE {
      OBJECT IDENTIFIER '1 3 6 1 4 1 311 88 3 1'
      [0] {
        SEQUENCE {
          INTEGER 131073
          INTEGER 26115
          INTEGER 192
          OCTET STRING
            AA A6 05 4E FA AF 4C 0B
          OCTET STRING
            3A 22 58 C3 51 D8 91 C8 7B 3C C9 51 9B E7 BA B7
          OCTET STRING
            84 FA 56 AF 01 FE C9 74
          }
        }
      }
    }
  }

注意26115。这是CALG_3DES的值,它是具有三个密钥的3DES的CryptoAPI标识符(具有两个密钥的3D ES称为CALG_3DES_112)。192是密钥长度,也匹配三个密钥3DES:

相关内容

最新更新