問題タブ [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.

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

aes - ブロック暗号モードの検出方法

メッセージがCBCまたはECBモードによって暗号化されたかどうかを検出する方法は?

AES 128 CBCまたはECBでランダムに暗号化する関数を作成しました。平文暗号文の間でハミングを行いますが、シームは暗号モードに関連付けられていません。

ブロック暗号モードを検出するにはどうすればよいですか?

前もって感謝します

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

ruby-on-rails - Rails OpenSSL::Cipher は AES-CBC-256 にどのようなパディングを使用しますか?

暗号化のためにブロックをパディングするときに OpenSSL::Cipher が使用するパディング スキームは何ですか? ドキュメントがあいまいです。

http://www.ruby-doc.org/stdlib-1.9.3/libdoc/openssl/rdoc/OpenSSL/Cipher.html#method-i-padding-3D

暗号化されたデータを別の言語で使用する必要があります。パディングには多くの種類があることを知っています。

https://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#パディング

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

java - AES を使用した CBC : Perl での暗号化と Java での復号化

ファイルを perl で暗号化しており、Java で復号化したいと考えています。ここに私の暗号化コードがあります:

== Perl での暗号化 ==

これは私が使用している復号化コードですが、機能していません。

== Java での復号化 ==

誰かがこれで私を助けることができますか?

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

java - CryptoJS と Java Code の両方で異なる出力暗号化

クライアント側 (JavaScript) から文字列を確実に暗号化し、サーバー側 (Java) から復号化する必要があるため、CryptoJS を見つけ、mi Java コードと同じパラメーター/構成でコードを記述しますが、出力は常に異なります。あなたは何か考えがありますか、それとも何が起こりますか?

NoPaddingでCBCを使用しています

CryptoJS

http://jsfiddle.net/Soldier/gCHAG/

Java コード

元の文字列:

CryptoJS からの出力:

Java コードからの出力:

暗号化された base64 文字列の長さは同じですが、16 進数ではありません。CryptoJS の出力結果を Java Code に入れると、復号化が正しく行われません。

よろしく、

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

objective-c - IVによるObjective-c AES CBC復号化

私はこの問題に数日間苦労してきましたが、理解できないようです

CCCrypt を使用して暗号化された文字列を復号化しようとしました。暗号化された文字列を Base64 エンコードでエンコードしました。キーと iv があります。暗号化は、PKCS7Padding を使用した AES256 CBC です。

これは私が今使っているコードです:

しかし、cryptStatus0 を返し続け、その理由を理解する方法が見つかりませんでした。私は何を間違っていますか?

前もって感謝します!

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

java - 不正なキー サイズ - AES CBC 復号化

簡単な暗号化/復号化コーディングを行っていますが、自分では理解できない問題があります。

16 進数でエンコードされた暗号文があります。暗号文はブロック長128bit、鍵長256bitのAESです。暗号ブロック モードは CBC です。IV は暗号文の最初のブロックです。

例外メッセージは不正なキー サイズです。

ここに私の復号化()関数があります:

そして、文字列/バイト配列の変換を行う関数があります

多分あなたは私を助けることができます。どうもありがとうございました!

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

python - pycrypto for python での AES-CBC 暗号化アルゴリズムの普及拡大

AES-CBC アルゴリズムを使用して暗号化が行われる場合、暗号化は、暗号文を前の暗号文と IV で連鎖させると考えることができます。ただし、CBC モードの場合、暗号文に前方拡散特性を与えます (つまり、暗号文を変更すると、その後のすべてのブロックで平文が変更されます)。可鍛性攻撃をより困難にするために、暗号化中に双方向で暗号文を連鎖させることができます (または、bitLocker の論文と同様のものを実装します)。

双方向を使用して暗号文の連鎖を提供する pyCrypto の実装があるかどうかは誰にもわかりませんか?

これを解決するために私が考えた 1 つの方法は、元の暗号テキストを取得し、それを python を使用して逆にしてから pyCrypto にフィードすることでした。ただし、pyCrypto の全体的なポイントは C レベルの実装を利用することであるため、これは少し力ずくのように思えました (文字列を逆にすると、明らかに不幸なパフォーマンス ヒットが発生します)。