問題タブ [elgamal]

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 投票する
3 に答える
3008 参照

c++ - 文字列を ZZ 番号に変換するにはどうすればよいですか?

NTL ライブラリを使用して、ElGamal 暗号化/復号化アルゴリズムを実装しています。私はそれが機能しているという点に到達しましたが、アルゴリズムはメッセージを整数に変換して暗号化できるようにすることを望んでいます。
したがって、1234 のような数値を入力するとすべて問題なく動作しますが、C++ 文字列 (std::string) を ZZ 数値に変換し、その ZZ 数値から文字列に戻すにはどうすればよいでしょうか?

:

ZZ 多数を表すクラスです。
例: 18287348238476283658234881728316274273671623781254124517353


したがって、基本的には、たとえば「Hello World」を1文字ずつ実行し、文字のASCIIコードを取得して、「72 101 108 108 111 32 87 111 114 108 100」という数字を取得しようとしています。次に、この数値を文字列 "Hello World" に戻す必要があります

または、もっと良い方法があるかもしれません。

0 投票する
4 に答える
1946 参照

java - ElGamal の実装が長いテキスト文字列に対して機能しないのはなぜですか?

私は El Gamal 暗号システムで遊んでいます。私の目標は、長い一連のテキストを暗号化および解読できるようにすることです。

El Gamal では、平文が整数である必要があります。String の .getBytes() メソッドを使用して文字列を byte[] に変換し、byte[] から BigInteger を作成しました。暗号化/復号化の後、BigInteger の .toByteArray() メソッドを使用して BigInteger を byte[] に変換し、byte[] から新しい String オブジェクトを作成します。

1035 ビットのキーを使用していますが、これは最大 129 文字の文字列を暗号化/復号化するときに完全に機能します。130 文字以上の場合、解読メソッドから生成される出力が文字化けします。

誰かがこの問題を解決する方法を提案できますか?

0 投票する
2 に答える
10992 参照

java - ElGamalを使用してテキストファイルを暗号化/復号化する方法

調査のためにElGamalを使用してテキストファイルを暗号化および復号化しようとしていますが、正しく機能させることができなかったようです。1kbから1mbの範囲のテキストファイルのグループがあり、キーサイズに512ビットを使用しています。RSAと同様に、ELGamalはモジュラスを超える値を暗号化できないことをすでに知っているので、最初の解決策として、暗号化できるように各ファイルをチャンク(モジュラスよりも小さい)に分割することにしました。幸いなことに、これらのソリューションは暗号化に使用できます。私の問題はこれです、私がそれを解読しようとしたとき、生成された出力は私が期待している実際の出力ではありません。問題の原因がわからないので、数日以内に解決策を見つける必要があります。

わかりやすくするために、コードスニペットの一部を紹介します。

私は次のようにキーペアを生成しました

電話で暗号化する

と私は呼び出すことによって復号化します

これがencryptDecryptFile(..)メソッドの定義です

copyBytesの場合:

encypt(...)の場合

と復号化(..)

AviranMondoによる元のコード

必要なのはそれだけだと思います。完全なソースコードを見たいかどうか教えてください。ありがとう、

0 投票する
2 に答える
2317 参照

security - El Gamal は、同じモジュラス長の RSA よりも高速ですか?

El Gamal が同じモジュラス長の RSA よりも速いのはなぜですか?

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

open-source - Elgamal の無料実装

Elgamal 暗号化アルゴリズムの無料の実装を探しています。私の知る限り、広く知られているアルゴリズムですが、無料の実装は 2 つしかないようです。

  • libgcryptは Elgamal 暗号化をサポートしています
  • pycryptには Elgamal があります

OpenSSL、beecrypt、Nettle は Elgamal を実装していません。

リストに含まれていない、十分にテストされた無料の Elgamal 実装は他にありますか?

0 投票する
2 に答える
245 参照

smartcard - スマートカードの ElGamal

スマートカード/Javacard が ElGamal 暗号化を実行できるかどうか疑問に思っていましたか? どこかに実装されていますか、つまり、そのような目的で使用できる API はありますか?

乾杯!

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

c# - Bouncy Castle エラー: タイプ RsaPrivateCrtKeyParameters のオブジェクトをタイプ ElGamalKeyParameters にキャストできません

Bouncy Castle を使用して GPG ファイルを復号化できません。暗号化されたファイルがあり、秘密鍵と秘密鍵のパスワードがあります。デスクトップ ソフトウェア GPG4win Kleopatra を使用してファイルを正常に復号化できるため、正しい秘密鍵があり、gpg ファイルは有効です。

しかし、アプリケーションが Bouncy Castle でデータを復号化しようとするコード行に到達すると、次のエラーが表示されます。

クレオパトラと同じ秘密鍵を使用して同じファイルを復号化しているので、おそらく秘密鍵ファイルを予想される形式に変更するか、Bouncy Castle でいくつかのオプションを設定することで解決できるはずです。

秘密鍵ファイルは、次の行で始まるプレーン テキスト ファイルです。

これは、復号化コードの平坦化されたバージョンです。私が何かを逃した場合はお詫び申し上げます:

例外は次の行で発生します。

何か試してみたいことを提案していただければ幸いです。見逃した可能性のある詳細を提供できます。

ありがとう!

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

cryptography - Bouncy Castle の Elgamal または RSA 暗号化が大量の入力を受け付けない

重複の可能性:
RSA 暗号化の問題 [ペイロード データのサイズ]

弾む城でECDSAなどを使用して、一部のデータにデジタル署名を生成するシステムが必要です。& 次に、同じ署名付きテキストを使用 & さらに、弾む城で Elgamal または RSA を使用して同じテキストを暗号化します。主な問題は、ECDSA を使用して小さなデータ ("Hello world" など) に署名した後、54 バイトの数字という非常に大きな出力が得られることです。

署名されたデータの後、データの暗号化に Elgamal または RSA を使用します...ここでは、RSA または Elgamal は 54 バイトの入力文字列全体を取得していません..32 バイトしか必要とせず、さらにテキストが切り捨てられます...

私が参照したリンク:

ECDSA 署名の場合:

http://mytenpennies.wordpress.com/2009/04/18/using-bouncycastle-net-library-for-elliptical-curve-cryptography/#comment-30

RSA または Elgamal の場合: http://ox.no/posts/rsa-using-bouncycastle

サンプルコード:

これについて何か提案してもらえますか..

また、RSAまたはELgamalを使用するのではなく..暗号化のためにECDSAを使用できますか?...しかし、私の知る限り、ECDSAはデジタル署名用であり、暗号化用ではありません。また、上記で行ったように、暗号化に ECDSA を使用する場合、データをどのように復号化しますか???

どうもありがとう..

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

c - libgcrypt と Elgamal を使用して暗号化および復号化する際のデータ損失

Elgamal で Libgcrypt を使用してバイトのブロックを暗号化していますが、2 つの問題があります。

  1. パディングを使用せず、バイト ブロックが 0 バイトで始まると、復号化中に最初のバイトが失われます。

  2. パディングを使用すると暗号化はうまく機能しますが、復号化してもパディングは削除されません。そして、どうやら最初のゼロバイトがまだそこにあるようです。

RSAで私は同じ問題を抱えています:(

私のテスト コードはそこにあります: www.tiago.eti.br/storage/post.c そして、パディングを使用しません。

パディングを使用するには、次のように変更する必要があります。

そして、暗号化アルゴリズムの変更を変更するには:

コンパイルするには、次を使用する必要があります。

解決するにはどうすればよいですか?