2012-01-26 118 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

您好,任何人? –