2012-01-26 41 views
2

根據文檔,我正在實現RSACryptoToken,即RSA加密令牌的接口。 有兩種方法,稱爲decryptRSA和signRSA - 它們應該被實現。 在文檔中有一個信息,他們應該執行原始RSA解密和原始RSA簽名操作。原始RSA解密/簽署

  1. 什麼是原始RSA操作?
  2. 是不是沒有填充?
  3. BlackBerry或Bouncy Castle是否提供此類API?

回答

0

我解決了這個問題,操作signRSA和decryptRSA應該在家執行相同的純模運算

感謝您的幫助

1

基本上PKCS#1 V1.5由三個部分組成:

  1. 的RSA操作本身,
  2. 的PKCS#1填充和
  3. 散列的ASN.1 encodign。

散列是ASN.1編碼以包括一個ASN.1對象標識符唯一地指定用於散列,並且該值,如下所示:

DigestInfo ::= SEQUENCE { 
    digestAlgorithm AlgorithmIdentifier, 
    digest OCTET STRING 
} 

這是直接從複製的PKCS#1規範(非常易讀且可公開獲得)。請注意,編碼在標準中也直接指定爲字節。

黑莓操作只提供1)和2),這意味着你必須自己提供一個包含散列的ASN.1 DER編碼結構。沒有爲加密/解密定義這樣的結構,只有填充被刪除。

加密使用隨機填充(內部)與非隨機填充簽名。這允許您兩次加密「是」,而竊聽者無法檢測它是否爲「是」或「否」。填充也需要保護簽名免受攻擊。

+0

您好,任何人? –