ドキュメントによると、RSA暗号化トークンのインターフェイスであるRSACryptoTokenを実装しています。decodeRSAおよびsignRSAと呼ばれるtwpメソッドがあります-それらは実装されるべきです。ドキュメントには、生のRSA復号化と生のRSA署名操作を実行する必要があるという情報があります。
- 生のRSA操作とはどういう意味ですか?
- パディングなしという意味ですか?
- BlackBerryまたはBouncyCastleはそのようなAPIを提供していますか?
ドキュメントによると、RSA暗号化トークンのインターフェイスであるRSACryptoTokenを実装しています。decodeRSAおよびsignRSAと呼ばれるtwpメソッドがあります-それらは実装されるべきです。ドキュメントには、生のRSA復号化と生のRSA署名操作を実行する必要があるという情報があります。
基本的に、PKCS#1v1.5は次の3つの部分で構成されています。
ハッシュはASN.1でエンコードされ、使用されるハッシュと値を一意に指定するASN.1オブジェクト識別子が次のように含まれます。
DigestInfo ::= SEQUENCE {
digestAlgorithm AlgorithmIdentifier,
digest OCTET STRING
}
これは、PKCS#1仕様(かなり読みやすく、公開されています)から直接コピーされています。エンコーディングは、標準でもバイトとして直接指定されていることに注意してください。
Blackberry操作は、1)と2)のみを提供します。つまり、ハッシュを含むASN.1、DERエンコード構造を自分で指定する必要があります。暗号化/復号化にはそのような構造は定義されておらず、パディングのみが削除されます。
暗号化では、署名にランダムパディング(内部)と非ランダムパディングを使用します。これにより、「YES」を2回暗号化できますが、盗聴者はそれがYESかNOかを検出できません。署名を攻撃から保護するためにも、パディングが必要です。
私は問題を解決しました、操作signRSAとdecryptRSAは同じ純粋なモジュラス操作を実行する必要があります
手伝ってくれてありがとう