問題タブ [cbc-mode]
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# - DES による CBC モードでの初期ベクトル (IV) の実装
初期ベクトルを DES に使用する方法がわかりません。CBCモードブロック暗号モードの操作での初期ベクトルの式を読みました。私の平文を数式に実装する方法。例えられますか
平文 = コンピュータ、バイナリ = 01000011 01001111 01001101 01010000 01010101 01010100 01000101 01010010、16 進数 = 43 4F 4D 50 55 54 45 52| キー = ENCRYPTT、バイナリ = 01000101 01001110 01000011 01010010 01011001 01010000 01010100 01010100、16 進数 = 45 4E 43 52 59 50 54 54
ありがとう
アップデート :
2 つの DES Encrypt プロジェクトがあります。最初のプロジェクトはライブラリを使用し、2 番目のプロジェクトはライブラリを使用しません。ライブラリを使用し、CBC 暗号化モードを使用する最初のプロジェクトと、ライブラリを使用せず、暗号化モードを使用しない 2 番目のプロジェクト。暗号化の暗号文は、1 つ目と 2 つ目の異なるプログラムになります。問題は、同じ結果を暗号化する 2 番目のプログラムに何を追加すればよいかということです。ライブラリを使用しない 2 番目のプログラムに CBC モードを追加する方法。
ライブラリを使用した最初のプロジェクト コード:
ライブラリのない 2 番目のプロジェクト コード:
16 進数の暗号文の結果:
最初のプロジェクト: 2B B7 4F 52 A8 0E 9F 0F、2番目のプロジェクト: A6 53 62 DD FD 25 A0 C5
php - CBC モードと秘密鍵および IV 仕様鍵を使用して 3DES アルゴリズムを使用して暗号化する PHP コード
PHP でシークレットキーと IV 仕様キーを使用して 3des(CBC) を使用して次のデータを暗号化しようとしていますが、このオンライン ツール ( http://symmetric-ciphers.online-domain- tools.com/ )
私が試したPHPコードに従って
encryption - プレーンテキストの ASCII または 16 進数をエンコードする方法は?
特定の暗号文 (AES を使用したランダム IV を使用した CBC モードから) が 16 進数であり、その平文が ASCII エンコードされている場合、暗号化の前にその ASCII 平文を 16 進数にエンコードする必要がありますか?
平文は"Pay Bob $100"
ASCII080 097 121 032 066 111 098 032 036 049 048 048
そして私は暗号文を与えられます20814804c1767293b99f1d9cab3bc3e7 ac1e37bfb15599e5f40eef805488281d
。
objective-c - Objective-cにCipher Javaがありますか?
IOS で AES/CBC/PKCS5Padding を使用してデータを復号化および暗号化したいのですが、Android では Cipher クラスを使用してそれを実行できますが、IOS ではそれらのクラスを使用する必要がありません。
現在、これを使用してそれを実行していますが、正しくないようです。
Javaと同じようにするにはどうすればよいですか?
私はそれを行うために多くの差分方法を試しましたが、それでもまだ機能しています。皆さんが私を助けてくれることを願っています、ありがとう。
追加情報: 戻りデータ:
{"data":"3557793957617431633179755554443638483834686662707a652b7977454c655a654d344e316463513348324e2f2f6e6e4f54783961564e5a4f56426c6e69675a3850644c66734136446f736950516279366b375a5066302f7a424e654b47454c4153547132354c6746724e38432b4d7a3750514c4b3836796f7a54307764614666574e776373716d49766f517552347877766432337778584a796a49457878374e6c354a4f32434755583034722b4770324c79514658704d686e51586553574c6b6939303045754c6a7954494c454977493242796365496a75394b4a2b456347526136527244682b316168533067303651597a6b47713469717a75764d7856"}
暗号化と復号化のステップ
暗号: AES (Rijndael ブロック サイズ = 128)
キー: fTG90HGFyeal3kGw
モード: CBC
IV: CBC ランダム (暗号化されたデータに追加する必要があります)
※データ転送を可能にするためにbase64を使用しています。
リクエスト手順:
1- 必要なデータをキーと値の形式で収集
する 2- コレクションを JSON でエンコードする
3- JSON 文字列を暗号化する
4- ランダムな IV を生成し、暗号化されたデータの先頭に追加する
5- 暗号化されたデータを base64 でエンコードする
6- 5 番目のアイテムの結果を、 「データ」</p>応答手順:
1- JSON 文字列応答
をデコードする 2- base64 で「data」という名前のキーの値をデコードする
3- デコードされたデータからサブストリング IV
4-データを復号化する
5- JSON が 4 番目の項目の結果をデコードする
6- キー値で応答するフォーマットは
復号化手順に従って復号化しますが、まだデータを復号化できません。
ios - AES 128 と CBC
私は Objective C の単純な AES 128 に夢中になり、単純なテストで期待される暗号化されたテキストを取得する方法がありません。誰が私が間違っているのか教えてもらえますか?
テスト:
カテゴリ NSData (AES):
私はこれらの一連の AES テスト ベクトルを使用しています: http://www.inconteam.com/software-development/41-encryption/55-aes-test-vectors#aes-cbc-128
ありがとう
encryption - 複数の暗号化呼び出しに同じキーと IV 値を使用する
複数の暗号化呼び出しで同じキーと初期化ベクトルを使用するのは安全ではありませんか? 具体的には、AES-CBC に関して、複数の 8kB チャンクがあり、各チャンクを個別に暗号化しようとした場合 (本質的に毎回暗号文 XOR ブロックをリセットします)、これは安全でない暗号化につながりますか?
平文の各ブロックサイズが同じ暗号文に出力されるため、ECB モードにはこの問題があることがわかっています。しかし、8kB のチャンクを使用すると、同じ問題が発生する可能性がありますか? 私が考慮していない他のセキュリティ ホールはありますか?
ありがとう
java - AES。javax.crypto.Cipher が復号化モードで空の配列を返す
私は自分でCBCモードを実装しています。そして、各 CBC ブロックの E 関数として AES を使用します。
これが私の暗号化コードです:
update
AESパッドを追加したくないので使用します。CBCアルゴリズムの最初の最後のブロックは自分でやってます。
暗号文ブロックを復号化する場合は、Cipher.DECRYPTION_MODE で同じ関数を使用します。
問題はCipher.update
、復号化モードでは、encrypt
メソッドによって暗号化された入力に対して空のバイト配列が返されることです。
よくわかりません。どうしたの?