問題タブ [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.
php - Ruby から PHP AES
CBC モードで AES 265 を使用してデータを暗号化する ruby コードを php に変換しようとしていますが、機能しません。変換された php コードは null 文字列を返します。ここに私が持っているものがあります:
ルビー:
そしてphpコード:
c# - AES CBC のパディング
C# で (128 ビット AES) を使用してランダム IV で CBC をテストしようとしています。
解決する私の質問では、12 バイトの入力メッセージがあります。条件は、PlainText がブロック サイズ (16 バイト) 未満である場合、使用されるパディングが 0x01 で始まり、次に 6 個の 0x00 までであるということです。
例:
RijndaelManagedでこのPaddingModeを見つけることができないようです。
次のことを行う方法を教えてもらえますか?
- 可変長パディング
編集:
マイパディング機能
私のCBCをテストする方法
java - Java:対称暗号化には適さないアルゴリズムRSAの鍵。
AES / CBCでファイルを暗号化しようとしています。キーはランダムであり、RSAで暗号化されている必要があります。「対称暗号化に適していないアルゴリズムRSAのキー」を取得しています...何が問題になっているようですか?
これは私のコードの一部です:
java - パスフレーズを使用した CBC による Java AES
JavaでCBC暗号化の256キーAESを実装したい。受信者は 256 ビットのパスフレーズを文字列 'absnfjtyrufjdngjvhfgksdfrtifghkv' として送信し、次の openssl コマンドを使用して完全に機能します。
base64 形式での出力は次のとおりです。 U2FsdGVkX1/yA4J8T+i1M3IZS+TO/V29rBJNl2P88oI=
私がそれを解読すると、元の入力文字列が返されます:
私の問題は、Javaで暗号化を機能させ、上記のコマンドで復号化できないことです。パスフレーズを使用してキーを生成する必要があることはわかっています。以下は、IV がランダムに生成され、キーがパスフレーズとランダムなソルトを使用して生成される私のコードの例です。
私の Java base64 出力は XimWIM+8UewzobFOMfevaw== であり、実行しようとすると次のようになります。
「マジック ナンバーが正しくありません」というエラーが表示されます。Java暗号化のどのステップが間違っていますか?
c++ - 2 つの異なる C++ プログラムでの Crypto++ の暗号化と復号化
私はcrypto++ライブラリで暗号化および復号化するコードを書いています.以下に示す暗号化および復号化するコードを見つけました.コードは1つのプログラムとして正常に動作します. ) 復号化プログラムでエラーが発生する
terminate called after throwing an instance of 'CryptoPP::InvalidCiphertext' what(): StreamTransformationFilter: ciphertext length is not a multiple of block size
暗号化後に取得する暗号文は
これを復号化コードに転送します。私は何を間違っていますか?
私の最初の暗号化プログラムは
URLを使用して暗号文を送信しています。https://xxx.xxx.xx.xx/_SERVER_TEST.fcgi ?��z=(f�����P%���2��W3�p�H�����^��@ C��#������bp���nx��
反対側では、暗号文を解読しようとしています。しかし、URLは暗号を理解していません。
私の2番目のプログラム復号化は
php - 復号化された文字列をトリミングしても安全ですか?
以下を使用して文字列を暗号化および復号化しています。
http://codepad.viper-7.com/1JgCRs
暗号化アルゴリズムによって追加されたパディングを削除するだけで安全ですか、それとも暗号化する前にデータの長さを保存する必要がありますか?
algorithm - CBC モードを実装するにはどうすればよいですか?
私の問題は、AES 暗号化アルゴリズムとアルゴリズムへの IV の実装に関するものです。AES の ECB バージョンが動作しており、徹底的にテストしました。IVを追加することで、より安全にしようとしています。IVがアルゴリズムにどのように実装されているかを知ることで、それをよりよく理解しようとしています。
IV は暗号化の前にプレーン テキストと XOR され、IV は復号化のために暗号化されたデータと共に保存されることを理解しています。しかし、復号化を行う場合、復号化プロセスの後に同じ XOR 計算を行うのでしょうか?
上記のプロセスを試してみましたが、暗号化と復号化のテストは同じ値で機能しますが、2 つのプロセスを並べて配置すると、互いに非常に近い値が得られますが、正しく機能していないようです。コードの修正を要求するのではなく、プロセスがレイアウトされているだけなので、これを正しく行っていることがわかります。ありがとう。
php - PHP MYCRYPT - Mcrypt CBC を使用した RIJNDAEL_128 は、毎回異なる暗号化文字列を提供します
PHP+RIJNDAEl_128+CBC を使ってまた戻ってきました。
生の文字列への暗号化と復号化に成功しています。
しかし、私が直面している唯一の問題は、毎回 DIFFERENT ENCRYPTION 文字列を取得することです。
理想的には毎回同じであるべきだと私は信じています。
以下はコードです:
php - PHP AES 128 ビット CBC 暗号化でサイズ警告が表示される
私は、CBC 暗号モード暗号化で 128 ビットの AES ALgo を使用しています。以下はコードです。
しかし、これにより、次のような出力で警告が表示されます。
警告: mcrypt_generic_init(): キーのサイズが大きすぎます。指定された長さ: 64、最大: 10 行目の /var/www/cipher.php の 32 警告: mcrypt_generic_init(): キーのサイズが大きすぎます。指定された長さ: 64、最大: 14 行目の /var/www/cipher.php の 32 暗号化: vM/XVYSjs/QApdCUEQ8bdQ== 復号化: 私の秘密のテキスト
サイズの問題に直面している理由と、キーを変更せずにサイズの問題を根絶する方法について、誰かが私を導くことができます...