問題タブ [rsacryptoserviceprovider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
358 参照

.net - X509Certificate2.PublicKey によって返されるスレッド セーフと RSACryptoServiceProvider

RSACryptoServiceProvider潜在的にスレッドセーフではないことが文書化されています。残念ながら、内部呼び出しを使用してEncryptKeyいるため、コードを分析して検証することはできません。実際にスレッドセーフかどうかはわかっていますか?

System.Security.Cryptography少なくとも 1 回はスレッド セーフに問題があったため、質問しています( MD5)。

私の質問はMitigating RsaCryptoServiceProvider thread safety issues on a web serverに非常に似ていますが、その質問には実際には答えられませんでした (高負荷で何かが失敗するかどうかの実験は、スレッドの安全性を保証しません)。

0 投票する
1 に答える
858 参照

c# - 大きなファイルの RSA 暗号化

問題は、私が思いついたこのコードを使用して、rsa を使用してファイルを暗号化したことです。

問題は、復号化しようとするときに、base 64 に設定した暗号文を base 64 ブロックに変換する必要があることですが、RSAServiceProvider の復号化メソッドから不適切な長さの例外が発生しています。私はこのサイトに書かれた例に従っています: http://digitalsquid.co.uk/2009/01/rsa-in-cs/無駄に。復号化だけで暗号化エラーは発生しません。暗号化を正しく行ったかどうかさえ確信が持てません。以下は私の復号化ループです:

これは、ファイルを RSA IT に分割するのに最適ではないことを知っています。はい、通常、キーを RSA で AES のようなストリーム暗号に暗号化し、AES でファイルを暗号化します。これは私が行っているプロジェクトなので、この方法で行う必要があります。

事前に助けてくれてありがとう。

0 投票する
1 に答える
726 参照

c# - RSACryptoServiceProvider.SignHash に「ハッシュ アルゴリズム識別子」パラメータがあるのはなぜですか?

RSACryptoServiceProvider.SignHash既にハッシュされたメッセージに署名するため、どのハッシュ アルゴリズムが使用されたかを知る必要があるのはなぜですか?

0 投票する
1 に答える
658 参照

c# - Python RSA 復号化スクリプトを C# に変換すると、出力が 128B ではなく最後の 16B のみになる

暗号化されたレンガの壁に頭をぶつけた後、帽子をかぶって今日あなたのところに来ました。

前提は次のとおりです。ASN.1でエンコードされたDERキーを生成するPythonスクリプトがあります。次に、その DER 秘密鍵を取得し、それを使用して base64 でエンコードされた文字列を復号化する別の Python スクリプトがあります。現在、その 2 番目のスクリプトを C# の代替スクリプトに変換しようとしていますが、ある程度までは機能しています。

元の Python スクリプトを使用すると、復号化された出力の長さは 127 バイトですが、私が持っている C# コードの長さは 16 バイトです。この時点で、Python 出力と C# 出力の両方の最後の 16 バイトがまったく同じであることに気付くまで、私が持っていた C# コードは完全に間違っていると思いました。何?

これが私が繁栄のために持っているコードです(obvエラーチェックなどはありません)

入力 DER 秘密鍵 (Web 用にエンコードされた Base64)

入力暗号化文字列 (Base64 エンコード)

(PyCrypt) を使用して暗号化された文字列をデコードする Python RSA スクリプト

Python スクリプト出力

C# RSA 復号化スクリプト

C# スクリプト出力

ご覧のとおり、C# コードの出力の長さはわずか 16 バイトですが、Python スクリプトの最後の 16 バイトと直接一致します。何が起こっているのか正確にはわかりません.RSAの(基本的な)理解では、RSAは全か無かの機能でなければならないことがわかります-テキスト全体が復号化されるか、意味不明になります。