問題タブ [encryption-asymmetric]
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.
c++ - 公開鍵による C/C++ 暗号化/復号化
これらに概念的に類似した2つの関数を探しています:
どこstring
で a char*
、 astd::string
またはこれらの 2 つに簡単に変換できるものである可能性があります。そして、 wherepublic_key
と基本的には、一部のコマンド (gpg/ssl など) で生成されたキーから、他の単純なprivate_key
関数で生成されたキーまで、何でもかまいません。
私はいくつかの暗号化ライブラリ (libgcrypt、libgpgme、openssl ...) を調べましたが、これらのライブラリでそのような機能を実装するのは簡単ではないようです。コードの。
とにかく、このタスクは珍しいことではないようです。上記の2つの機能を実装するにはどうすればよいですか?
encryption - RSA-ブラインドメッセージスキームはまだ脆弱ですか?
これは多かれ少なかれアルゴリズムや設計の問題であり、プログラミングはそれほど多くないことは知っていますが、大丈夫だと思います。
ブラインドメッセージを使用していて、Cによって署名されています。署名後、ブラインドを削除し、他のユーザーAとBがメッセージを共有できるようにします。これは安全ですか、それとも署名者が公開鍵と秘密鍵を持っている場合でもこれらのメッセージを読むことができますか?機密性を確保するために、ブラインドを解除した後、さらに手順を実行する必要がありますか?
私はこれがどのように機能するかを説明するさまざまな数式を読みましたが、私は数学者というよりはプログラマーです。機密性を確保したいのですが、機能しているかどうかわかりません。
ruby - Rubyを使用した非対称確定的暗号化(RSA)
非対称暗号化アルゴリズムを使用してRubyで値を決定論的に暗号化する方法を誰かが知っているかどうか疑問に思いました。
ほとんどのユースケースでは、「A」を暗号化すると、復号化すると「A」が返されることだけが気になります。つまり、暗号化された値自体は気になりません。あなたは完全な往復だけを気にします。
ただし、私が開発しているアプリケーションの場合、出力を決定論的にする必要があります。つまり、変数のパディングなしでRSAを使用して何かを暗号化する必要があります。
OpenSSL::PKey::RSA::NO_PADDING
エラーのある値を暗号化しようとすると、次のように返されます。
RSAを使用して決定論的な暗号化された値を取得する方法について誰かが考えていますか?
よろしくお願いします、
DBA
security - elgamal のジェネレータを見つける
エルガマル署名スキームのジェネレーターはどのように見つけられますか? 優れたジェネレーターであるほとんどのプログラムで使用される値はありますか? または、素数のジェネレーターを見つける方法はありますか? もしそうなら、どのように?素数には少なくとも 1 つの生成元があると言うのは本当でしょうか?
php - 秘密鍵と PKCS1 を使用した PHP RSA 暗号化
RSA、PKCS1、秘密鍵、および PHP を使用して文字列を暗号化する必要があります。exec() で使用できる端末コマンドすら見つかりませんでした。誰もそれを行う方法を知っていますか?
ありがとう!
mysql - Postfix + MySQL ENCRYPT()、ランダム化ソルトでパスワードをどのように検証しますか?
ここで説明するように、メールサーバーを実装しました。
それは完全にうまく機能します。私の興味は、ユーザーをデータベースに入力して認証することです。
ランニング:
複数回、ランダムなソルトを利用するため、暗号化されたパスワードに異なるハッシュが与えられます。つまり、同じパスワードでsales@example.comを3回入力すると、各ハッシュは異なります...
これに対する私の質問は、ユーザーがメールクライアントを介してログインしたときにPostfixサーバーが実際にパスワードを認証できるのはどうしてですか?
暗号化されたパスワードを適切に認証するために舞台裏で何が起こっているのかを完全に理解できるように、好奇心を満たすためだけにうまく機能するので、言うまでもなく問題はありません。
c# - このオールインワンXML暗号化/復号化MSDNサンプルの何が間違っていますか?
MSDNのXML暗号化と復号化を以下の同じプロジェクトにマージしましたが、エラーが発生します
「復号化キーを取得できません」。
奇妙なことに、例外の前後に秘密鍵を書き込むことができるので、問題が何であるかわかりません。マージされたコードは以下のとおりです。
完全な例外(e)
System.Security.Cryptography.CryptographicException:復号化キーを取得できません。System.Security.Cryptography.Xml.EncryptedXml.DecryptDocument()at RemoteKey.Decrypt(XmlDocument Doc、RSA Alg、String KeyName)in C:\ Users \ me \ ClientAgent \ Program.cs:line 185 at RemoteKey.Main(String [] args)in C:\ Users \ Me \ ClientAgent \ Program.cs:line 286
java - Java での RSA 暗号化: クロス プラットフォームの問題?
状況
Java で RSA 暗号化を使用しています。Cyanogenmod の Android 2.2 を搭載した HTC Saphire (32B) 開発者向け携帯電話でデータを暗号化し、Mandriva Linux 2010 を実行している 64 ビット サーバーでそのデータを復号化しようとしています。両方のマシンで同じ公開鍵と秘密鍵のペアを使用しています。 、Androidフォンでデータを正しく暗号化/復号化でき、Linuxサーバーでデータを正しく暗号化/復号化できますが、電話でデータを暗号化してからサーバーで復号化できません. パディングの例外が発生します。データが電話から正しく送信され、サーバーによって正しく解析されていることを確認しました。そのため、復号化が失敗する理由がわかりません。誰でもこれで私を助けることができますか?おそらく、Java の RSA アルゴリズムには、単語のサイズに関するいくつかの基本的な仮定がありますか?
さらに詳しい情報:
- 私の暗号化/復号化ライブラリは、こちらのガイドに基づいています。
- 私の暗号化キーの長さは 2048 ビットですが、異なるキー サイズでも同様の動作が見られます。
- RSA 暗号化/復号化コードを jar ファイルにパッケージ化しました。これは、サーバーのマシンで Eclipse を介してコンパイルされました。
- Android フォンの暗号化ライブラリを使用するプログラムは、上記のライブラリを使用します。これも Eclipse を使用してビルドされました。
- サーバー プログラムは、Netbeans を使用して作成されました (当時は Netbeans の方が簡単だったからです)。
その他の質問
- Java で利用できる他の無料の公開鍵暗号化アルゴリズム/ライブラリはありますか? それらはクロスプラットフォームで動作しますか? それらにどのようなパフォーマンスが期待できますか? などなど。私はこれを調べましたが、あまり見つかりませんでした。おそらく私は間違ったキーワードで探しています。
ふぅ!それだけだと思います。事前にご協力いただきありがとうございます。
python - Actionscript 3 つの非対称暗号化
Pythonベースのサーバーアプリケーションとクライアントの間でオープンデータチャネルを介してデータを保護するための信頼できる非対称暗号化ソリューションが見つからないようです。
クライアントがオープン データ チャネルを介した中間者攻撃を防ぐ方法が必要です。現在の交換では、クライアントがサーバー アプリケーションと通信していることを確認するために使用するトークンを、私のサイトのphpスクリプト。これは理想とはほど遠いものであり、トークンが送信されるのを待って別のユーザーに渡してしまうと、簡単に危険にさらされる可能性があります。
as3crypto の rsa 暗号化を試してみましたが、多くのライブラリでサポートされておらず、既知の脆弱性がある古い実装です。
このようなことが起こらないように、公開鍵/秘密鍵をクライアントとサーバーの両方にハードコーディングできるソリューションが本当に欲しいです。
encryption - 公開鍵暗号化はどのように機能しますか?
秘密鍵と公開/公開鍵を使用して復号化/暗号化する場合、公開鍵暗号化はどのように機能しますか?キーが256ビットであるとはどういう意味ですか?どのように復号化されますか?暗号化プログラムを作成するための言語はありますか、それともどの言語でも問題ありませんか?