問題タブ [rsa]
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.
apache-flex - AS3Crypto RSA 署名
actionscript as3crypto ライブラリで Base64 SHA1 ハッシュに署名した RSA から返された値と、C# で返された結果を一致させるのに問題があります。
バイト配列としてデコードされた Base64 ハッシュを as3crypto で提供される sign() 関数に渡し、結果を base64 エンコードします。ただし、この結果は、同じタスクを実行する ac# 関数から返された結果と決して一致しません。バイト配列レベルで機能するにもかかわらず、関数が16進数を取り込んで返すことは問題ですか?
以下の署名機能を参照して、何も見逃していないことを確認してください!
AS3Crypto ライブラリの経験が豊富な人はいますか?
どんな助けでも素晴らしいでしょう!!!
ありがとう、
ジョン
c# - RSA 暗号化、長さが正しくありません
次の関数を呼び出す場合:
私は今、エラーが発生しています: 長さが正しくありません。
より小さな文字列で機能します。私が渡している文字列に問題がある可能性があるという考えは、200文字未満です。
c# - C# RSA 復号化の問題
開発マシンで正常に機能する値を復号化するために使用しているこの関数があります。しかし、別のサーバーで本番環境で実行すると、次の正確なエラー メッセージが表示されます。
システムは、指定されたファイルを見つけることができません。
関数は次のとおりです。
アップデート
みんな、私はもともとこのルートに行きました。何時間も検索した後、スタックオーバーフローで答えを得たからです。暗号化/復号化のこの方法は文字列に対してのみ機能し、キーをインポート/エクスポートする必要はありません。
それで....今、キーファイルがありませんか?キーファイルを作成していませんでした。
c# - Using a previously generated RSA public/private key with the .net framework
I have a pre-existing public/private key pair for RSA encryption which I need to use in .net . All the examples I can find online demonstrate how to generate a new private/public pair and then encrypt/decrypt. ie. something like this:
#xA;As can be seen, there is no avenue for specifying a pre-existing public/private key.
Would anyone know how to accomplish what I am trying to do? Any help would be much appreciated.
Cheers Naren
encryption - Openssl pkeyutl はどのような形式の署名を期待していますか?
SHA-1 でハッシュし、ハッシュを RSA 秘密鍵で暗号化することによって署名されたファイルを検証しようとしています。
明らかに、RSA 公開鍵を使用して検証しています。キーは DER 形式です。
署名の検証は、Java の署名クラスを使用して正しく機能します。
私が試しているopensslコマンド(および結果)は次のとおりです。
適用される openssl 構成ファイルには何も表示されないため、警告は重要ではないと思います。
savedDigitalSignature.txt ファイルには、署名バイトが含まれています。
私の理論では、openssl は特定のファイル形式であるデジタル署名を探しているということですが、それがどうあるべきかを示すドキュメントには何も見つかりませんでした。
考え?
encryption - ハイブリッド暗号システムのクライアントに AES 初期化ベクトルを通信する方法
クライアントとサーバー間の通信にセキュリティを実装する必要があります。次のハイブリッド暗号システムを実装しました
Alice 宛てのメッセージをハイブリッド暗号システムで暗号化するために、Bob は次のことを行います。
- Alice の公開鍵を取得します。
- データ カプセル化スキームの新しい対称キーを生成します。
- 生成されたばかりの対称キーを使用して、データ カプセル化スキームでメッセージを暗号化します。
- アリスの公開鍵を使用して、鍵のカプセル化方式で対称鍵を暗号化します。
- これらの暗号化を両方とも Alice に送信します。
このハイブリッド暗号文を復号化するために、Alice は次のことを行います。
- 彼女の秘密鍵を使用して、鍵カプセル化セグメントに含まれる対称鍵を復号化します。
- この対称キーを使用して、データ カプセル化セグメントに含まれるメッセージを復号化します。
公開鍵暗号システムには RSA を使用し、対称鍵暗号システムには AES を使用しています。すべてが正常に動作しますが、AES 初期化ベクトルを処理する方法がわかりません。現在、AESキーと初期化ベクトルを連結して公開キーで暗号化し、それをサーバーに送信しています。
このアプローチについて意見を求めたかっただけです。この問題が他の通信プロトコル SSL などでどのように解決されているか。
ありがとう。
c# - パディングなしのC#RSA
このようなJavaコードを移植するのに忙しい
ただし、RSACryptoServiceProvider のように、OEAP または PKCS1 パディングのいずれかを使用する必要があります。安全でないパディングはないことはわかっていますが、この場合、クローズドソースのクライアントを使用しているため、それについては何もできません。このパディングの問題を回避する方法はありますか?
encryption - どの暗号化アプローチを使用する必要がありますか?
非常に機密性の高いデータ (企業秘密であるソース コード) を交換するシステムが必要です。私は Crypto++ を使用するので、実際にはすべての暗号化アルゴリズムを使用できますが、業界標準を使用することを本当に好みます。
現在、私はこれらの方法について考えています:
- サーバーに 2048/4096 ビットの RSA キーを生成させ、公開キーをクライアントに送信し、クライアントにデータを暗号化してからサーバーに送信させます。
- AES-256 キーを交換するには、Diffie-Hellman (正確には Diffie-Hellman-Merkle) などのキー交換方法を使用します。
- TLS 接続を開始し、サーバーに AES キーを直接伝えます。
どのアプローチを使用する必要があると思いますか? 合理的である限り、パフォーマンスは気にしません。セキュリティが重要です。それらのいずれでもない場合は、別の方法を提案してください。
PS: AES-Twofish-Serpent のような対称アルゴリズムでチェーンを使用する場合があります。
編集: 推奨されるソフトウェアは、独自の使用を制限しないライセンスに含まれている必要があります。LGPL は、取得しなければならないほど制限的です。それはGPLを除外します。
cryptography - キーサイズに基づく RSA のパフォーマンス
実装に依存しない理論的な質問ですが、1024 ビットと 4096 ビットの RSA のパフォーマンスの低下はどれくらいですか?
ありがとう
java - Java: 512 ビットの RSA KeyPairGenerator が 65 バイトのキーを返すのはなぜですか?
これはおそらく初心者の質問です。Javaでキーペアを生成しています:
今、私は常に、privateKey.getModulus() と privateKey.getPrivateExponent() が「秘密鍵」を形成し、キー ジェネレーターに渡されるキーサイズ (512 ビット) と同じ大きさであると考えていました。
ただし、privateKey.getPrivateExponent().toByteArray() は、64 バイト (予想どおり) を返すこともあれば、65 バイト配列を返すこともあります。
なぜ時々65バイトなのですか?ここで何か不足していますか?