問題タブ [aes-gcm]

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

ssl - opensslでのAES GCM非EVP実装?

openssl には、AES GCM 暗号化と復号化を行うための「生の」(非 EVP) インターフェースがありますか? AES_cbc_encrypt() または DES_ede3_cbc_encrypt() に匹敵するものを探していますが、AES GCM 用です。AES GCM の openssl EVP インターフェイスを見つけましたが、非 EVP インターフェイスに関する情報が見つかりません。

EVP インターフェースには一般的な用途で多くの利点があることは理解していますが、EVP 以外のインターフェースの方が使いやすいいくつかのテストを行っています。

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

java - 暗号スイート TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 を Java 7 に追加

Java 7 で使用TLSv1.2したいと思います。TLS_DHE_RSA_WITH_AES_256_GCM_SHA384

VM 引数に追加-Ddeployment.security.TLSv1.2=trueしました。上記の暗号スイートを追加する方法を知りたいです。

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

node.js - node.js暗号はGCMモードで固定タグサイズを使用しますか?

node.js の GCM モードで暗号を使用するスキームを実装しています。

整合性を確認するために、暗号文に GCM タグを追加/先頭に追加する必要があります。ただし、タグがどれくらい大きくなるかはわかりません!

crypto ++ wikiで、サイズが異なる可能性があり、実際には GCM モードのパラメーターであることを読みました。wiki からの引用、強調鉱山:

両当事者が提供して使用する必要があるパラメータは次のとおりです。

  • キーとキーサイズ
  • IVおよびIVサイズ
  • タグサイズ

ただし、ノードのドキュメントでは、タグのサイズについては何もありません。タグが存在するだけです。ドキュメントからの引用:

cipher.getAuthTag()

認証された暗号化モード (現在サポートされている: GCM) の場合、このメソッドは、指定されたデータから計算された認証タグを表す Buffer を返します。final メソッドを使用して暗号化が完了した後に呼び出す必要があります。

タグのサイズはさまざまで、タグのサイズを暗号文と一緒に保存するだけでよいでしょうか? または、タグのサイズが常に 128 ビットよりも小さいと仮定して、左側にゼロを埋め込むことはできますか?

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

java - トークンの生成に AES 対称鍵を使用する

私は認証トークンの暗号化と復号化に取り組んでいます。私はセキュリティに非常に慣れていません。

いくつか質問がありますが、誰か助けてもらえますか

キーストアでは、エイリアス、ストアタイプ、キーパスワード、ストアパスなどの他の属性を持つ文字列 (パスワード + ソルト) が必要なようです。しかし、(パスワード + ソルト) を作成するだけで、同じレベルのセキュリティが得られます

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

java - BouncyCastle 軽量 API を使用して GCM 暗号で AAD を利用する方法

暗号化中に、MACing 用の AAD を追加すると、単純にAEADParameters. しかし、後でこの AAD をどこで入手できるかは不明です。

processAADBytes私が探しているものはおそらくそれだと思います。processAADBytes言う

実装でサポートされている場合、これはオンライン操作になり、関連するデータは保持されません。

私はこれについて混乱しています。この方法には 2 つの潜在的な解釈があります。

  1. これは、( に加えてAEADParameters) 暗号化中に AAD を渡す別の方法であり、AAD は暗号テキストと共に保存されません。
  2. これは、復号化中に AAD を検証する方法です。MAC 検証のために、(別の場所からの) AAD をここに入力する必要があります。

のようなメソッドを見つけることを期待していましたgetAAD()。では、この暗号は AAD を暗号テキストと共に保存するのではなく、AAD であると主張するデータに対して MAC 検証を提供するだけではないでしょうか?

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

android - Android での AES 実装で考えられる障害

Android で AES 暗号化を実装しようとしています。パスフレーズを使用してSecretKey. byte[] 初期化ベクトルと同じものを暗号に渡し、SecretKeyPBKDF2 で生成するときにソルトとして渡します。

パスフレーズは、暗号化/復号化が必要になるたびにユーザーによって提供されます。

現時点では、データベース内の値を 1 つだけ暗号化する必要があります (それによって違いが生じる場合)。

質問:

  1. byte[]IVやsaltと同じものを使うと暗号化が弱くなるのかな?
  2. GCM が提供するデータ整合性機能以外に、CBC から GCM に切り替える理由はありますか?
  3. CBC が BEAST 攻撃を受けやすいという記事を読みましたが、メッセージごとに新しいランダム IV を使用しているため、以下に示すように BEAST 攻撃が軽減されますか?

現在のソースコード: