問題タブ [cryptography]

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

delphi - Delphi で文字列をハッシュするにはどうすればよいですか?

Delphi で文字列の MD5 ハッシュを作成するにはどうすればよいですか?

0 投票する
7 に答える
23699 参照

encryption - 暗号化と共に初期化ベクトル (IV) を使用する必要がありますか?

初期化ベクトルを使用してデータを暗号化/復号化することは推奨されますか? それは物事をより安全にしますか?ケースバイケースで評価する必要があるものの1つですか?

これを実際の文脈に当てはめると、Win32 暗号化関数CryptSetKeyParamを使用すると、暗号化/復号化の前にキーに初期化ベクトルを設定できます。他の API でもこれが可能です。

一般的に推奨されるものとその理由は何ですか?

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

cryptography - P & G を持っています。Wincrypt API を使用して Diffie-Hellman キーペアを生成するにはどうすればよいですか?

ここにMSDN の記事がありますが、あまり進んでいません。

ここでは で失敗しますNTE_BAD_DATA。を使用してMS_DEF_DSS_DH_PROVいます。何を与える?

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

cryptography - Diffie-Hellman に Wincrypt を使用しています。共有シークレットをプレーン テキストでエクスポートできますか?

OK-- Mikeのおかげで、Wincrypt に Diffie-Hellman 鍵ペアを生成させることができました。公開鍵をエクスポートする方法と、相手の公開鍵をインポートする方法を見つけました。ドキュメントによると、相手の公開鍵をインポートすると、共有秘密が計算されます。偉大な。

私は今、その共有された秘密を手に入れる必要がありますが、それは不可能だと思います. アルゴリズム IDを何かに変更するために呼び出さない限り、単純CryptExportKeyにタイプで呼び出してもPLAINTEXTKEYBLOB失敗します。しかし、私は他の何かが欲しいのではなく、共有された秘密が欲しい. ただし、API はこれを思いとどまらせるように設計されているようです。CryptSetKeyParamCALG_AGREEDKEY_ANY

そこに何かアイデアはありますか?ここでの問題は、WiFi Protected Setup の実装の片面しか書いていないことです。したがって、プロトコルは私のために定義されており、相手は私に HCRYPTKEY を与えていません。

0 投票する
7 に答える
5059 参照

random - 安全でない乱数ジェネレーターと安全な乱数ジェネレーターの違いは何ですか?

タイトルが言うように: 非セキュアな乱数ジェネレーターとセキュアな乱数ジェネレーターの違いは何ですか?

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

c# - C# での証明書フィールドの列挙

ストアで証明書ヘルプのフィールドを列挙するにはどうすればよいですか。具体的には、ログオンしたユーザーに発行された個人証明書のフィールドを列挙しようとしています。

0 投票する
15 に答える
8814 参照

hash - クレジットカードの重複利用を防ぐ最善の方法

同じクレジット カード番号が 2 つの異なるアカウントに登録されないようにしたいシステムがあります。クレジット カード番号は内部に保存されないため (下 4 桁と有効期限のみ)、単純にクレジット カード番号と有効期限を比較することはできません。

現在のアイデアは、カードの登録時にクレジット カード情報のシステムにハッシュ (SHA-1) を保存し、ハッシュを比較してカードが以前に使用されたかどうかを判断することです。

通常、salt は辞書攻撃を回避するために使用されます。この場合、私たちは脆弱であると想定しているため、ハッシュとともにソルトを保存する必要があります。

この方法に欠陥はありますか?これは、この問題を解決する標準的な方法ですか?

0 投票する
6 に答える
1096 参照

c - ガロア体演算で y = x*x を最適化する

GF(8) で乗算を行うこの C コードがあります。

それは多かれ少なかれ教科書の実装です。

a が常に b であると断言できる場合、上記のアルゴリズムに巧妙な最適化があるのではないかと思います。たとえば、乗算の代わりに 2 乗を行います。私はところで暗号化を使用した後ではありません。GF(8) の x*x が x のビットをゼロ ビットで 1 つずつインターリーブするという事実を利用したいだけです。

ビットインターリーブを行うための非常に巧妙な方法がすでにありますが、GF(8) の x*x がビットインターリーブを行うことを (偶然に) 知ったので、ビットインターリーブにそれを使用しようとするのを止めることはできません。最適化。

何か案は?

0 投票する
19 に答える
4874 参照

security - 独自の暗号化メソッドを作成するときに使用する手法は何ですか?

何年も、おそらく 10 年間、私は暗号化に魅了されてきました。XOR ビットベースの暗号化に関する本を読んで以来、夢中になっています。

さまざまな暗号化方式を破ることができる人に魅了されたと言ったほうが正しいと思いますが、それは脱線します。

要点を言えば、暗号を書くときにどのような方法を使用しますか? 難読化は暗号化に適していますか?

2 つのキーベースの XOR 暗号化、キーに対するさまざまなハッシュ技術 (SHA1)、およびあちこちで文字列を逆にするなどの単純なことを使用します。

それほど独創的ではない暗号化方法を作成するときに、他の人が何を考え、試しているかを知りたいと思っています。また、プロがさまざまな暗号化技術を「破る」方法についての情報も興味深いでしょう.

明確にするために、私はこれを製品コード、またはその点での私のコードで使用したくありません。車輪を再発明するのではなく、いじくり回すことでそれがどのように機能するかを学ぶことに興味があります。:)

イアン

0 投票する
3 に答える
4317 参照

c# - 同じキーでも常に異なる暗号化出力

後で取得したいファイルにパスワードを保存しようとしています。後でリモートサーバーに接続するためのパスワードが必要なため、ハッシュはオプションではありません。

次のコードはうまく機能しますが、キーが同じであっても毎回異なる出力が作成されます。アプリケーションがシャットダウンして再起動すると、パスワードを取得できなくなるため、これは悪いことです。パスワードをファイルに保存し、後で取得するにはどうすればよいですか?