問題タブ [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.
encryption - AES CBC - メッセージの入出力と IV があり、キーを見つける必要がある
初期化ベクトルと入力テキストを指定しました。また、エンコードされたテキストがあります。
私の仕事は出力テキストを変更することなので、今私の問題は、どうすればキーを見つけることができるかということです。(これは宿題であり、私の教授は、家に帰る途中の電車の中で 30 分でできると言っていました... しかし、私にはまったくわかりませんし、AES と CBC がどのように機能するかを知っているだけですが、どのように始めなければならないかは絶対にわかりませんこの仕事。
タスク: 最初の 16 バイトは初期化ベクトルで、次の 16 バイトは私の暗号文です。そして、「カールに5ドルを送ってください」というテキストがあります。ここで、最初にキーが必要だと思います。なぜなら、私のタスクは、「カールに 5 ドルを送る」というメッセージを「ボブに 50 ドルを送る」に変更することだからです。
java - Java と Node 間の暗号化の不一致
Node.js で Java ベースの暗号化スキームを複製しようとしていますが、残念ながら一貫性のない結果が得られます。
Java メソッドは次のとおりです。
そして私のNodeバージョン:
両方の関数に文字列「SomeJSON」と同じキーを渡すと、異なる暗号化結果が得られます。
JavaENnQzWowzrl7LQchRmL7sA==
から: ノードから:TGreJNmQH92gHb1bSy4xAA==
Node 実装の違いがわかりません。
git - Git 暗号化での悪い暗号化の実践?
https://gist.github.com/shadowhand/873637状態に関するコメント
「ECB モード暗号化は、高レベルの難読化 (または低レベルの暗号化) を提供する比較的単純な暗号化方法です。この方法はあまり安全ではなく、機密性の高い個人データには使用しないでください。パブリック チャネルでプライベート パーティ間でソース コードを送信します。セキュリティを強化するために、モードを CBC に切り替えることができますが、変更のたびにすべてのファイルが完全に変更されます。すべての暗号化と同様に、強力なキーが常に推奨されます。」
と
「これは、機能的に正しい暗号化の (一部の) 定義のようなものです。ECB (説明についてはここをクリック) は、現在使用するために正確に誰も推奨していない欠陥のあるレガシー実装であり、OpenSSL でのみサポートされています。きしむようなレガシー暗号の実装! 今日は学習ツールとしてのみ有用であり、現在のシステムでは決して使用しないでください。
OFB モードの CBC がデフォルトである必要があります。Gist を CBC を使用するように変更することを検討し、ECB の潜在的な利点と、git でのわずかな利便性のためにセキュリティの損失を受け入れたい人向けの欠点を説明してください。デフォルトで安全でないものは何もないはずです!」
http://git.661346.n2.nabble.com/Transparently-encrypt-repository-contents-with-GPG-td2470145.htmlただし、CBC に固定値のソルトを使用することは悪い暗号化手法であると述べています。モードを CBC に切り替えた場合 ( https://gist.github.com/shadowhand/873637またはhttps://github.com/shadowhand/git-encryptの場合)、固定値のソルトを使用することになるため、悪い暗号の練習ですか?
(この質問はhttps://gist.github.com/shadowhand/873637のコメントとしても投稿しました)
c - Linux での DES 暗号化
私は glibc cbc_crypt 関数を使用して c の文字列を暗号化しようとしています。プログラムは関数と同じくらい移植可能である必要があるため、このライブラリを使用しています
ここに私のコードがあります:
このプログラムを実行しようとすると、次のようになります。
私の目標は、ファイルを暗号化し、ファイルを復号化することです。他の暗号化機能を使用することはできますが、このプログラムを移植可能にする必要があります (そのライブラリなしでマシンを実行しているため、openssl を使用したくありません)。
perl - Perl Crypt:CBC は最初のリストのみを暗号化/復号化します
これが私のコードです:
このスクリプトは、指定されたファイルの最初の行のみを暗号化します。暗号化を復号化に変更すると、指定されたファイルの 1 行のみが復号化されます。これを変更して、ファイル全体を暗号化する方法。
c++11 - AES-CBC で暗号文を復号化できません
メッセージを暗号化し、ソケットで他のコンピューターに送信しますが、暗号文を復号化できません。2台のコンピューターで同じキーとivを使用しました。暗号文を他のコンピュータに送信してから、暗号文を送り返します。同じコンピューターで暗号文を復号化できます。しかし、私は他のコンピューターでそれを解読したいです。これは私のコードです。
encryption - RPGLE での AES 暗号ブロック連鎖
16バイトを超えるデータを暗号化したいので、RPGLEで暗号ブロックチェーンを実現する方法についての手がかりを探しています。私の理解では、これは AES が 16 バイト ブロックのみに分割されるようにするために必要です。
Qc3EncryptData() API を使用しています
c - イラクサ ツーフィッシュ CBC
標準の ecb モードで nettle の twofish を使用しても問題はありませんでしたが、この cbc モードの何が問題なのかわかりません。復号化されたメッセージは元のメッセージと一致しません。(テスト目的のためだけに iv のようなハードコードされた値を使用します)。
security - 操作暗号モードで送信したときに、長いメッセージの暗号化されたブロックがスワップされないようにするにはどうすればよいですか?
操作暗号モードで送信したときに、長いメッセージの暗号化されたブロックがスワップされないようにするにはどうすればよいですか? 受信後のメッセージの意味は変わりませんか?