2008-10-10 41 views
1

許多搜索和閱讀沒有告訴我capicom.encrypteddata類模塊(它是VB6,但這在回答這個問題時應該不重要)是使用2鍵3DES還是3鍵3DES。 (.Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM_3DES)任何人都知道它正在使用哪一個?這些信息的來源也會有所幫助。我懷疑,因爲我認爲密鑰長度不夠高,所以它是2DES。但我還沒有找到可以接受的確認。Capicom 3des:2鍵或3鍵?

回答

2

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標識符(具有兩個密鑰的3DES稱爲CALG_3DES_112)。 192是密鑰長度,也匹配三鍵3DES: