問題タブ [aes]

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 に答える
5637 参照

python - 正しいパスワードを使用してaes-256bitで保護されたpdfを復号化する

aes-256ビットキーで保護されたpdfを解読する方法はありますか?

私は正しいパスワードを持っており、ファイルを復号化し、それに対して何らかの操作を行うためのコマンドラインツール(またはライブラリ-おそらく python :P )が必要です。

最良の方法は、ファイルを復号化して保存できれば、それを詳しく説明してから削除できることです...

誰かそれについて何か知っていますか?

0 投票する
2 に答える
7129 参照

math - MixColumnsステップの誤解

ここで説明するMixColumnsステップの理解に問題があります。

私は拡散について知っていますが、各列が多項式として扱われ、GF(2 ^ 8)を法として乗算されるという点ですべてが理にかなっています。

しかし..GF(2 ^ 8)で乗算します。ドメインはまだ同じですが、modのために元に戻すことはできません。それが全体のポイントであるため、元に戻す必要があります。

最初のビットに関しては、私のアプローチは、A、B、C、およびDを列の4バイトとして、A1、A2、...、A8をビットとして、E、F、G、およびHを出力として使用することです。バイト。設定するつもりでした

したがって、それは可逆的で、1対1で、線形で分配的です。

後で、行列の乗算と見なすことができると述べていますが、行列の要素はバイトであり、バイトとして出力される必要があるため、行列の各要素はモジュロ256である必要があり、したがって可逆で非線形ではありません。

私はこれを間違って理解しましたか?私は数学に苦労していて、それを論理に変換できるようにするために何をする必要があるかを理解しようとしています。

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

c# - RijndaelManaged 暗号化された文字列を CryptDecrypt で復号化する

わかりました、C++ で Win32 Crypto API を使用して、C# (.NET 2) で暗号化された文字列を RijndaelManaged クラスで復号化しようとしています。しかし、私はまったく運が悪く、ジバーまたは悪いデータのWin32エラーコードが表示されます。すべてのキー、IV とソルトが一致し、時計で両方のテスト アプリを調べました。私はそれを見てすべてのことを言いましたが、公式に立ち往生しています。

とにかくここにC#があります

それを解読する C++ は次のとおりです。

CryptAcquireContext を正常に呼び出しており、C++ は正常に実行されています。誰でも私のやり方でエラーを見つけることができますか? それは私を知って憂鬱になり始めています:(

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

.net - .Net と iPhone 間の AES 相互運用性?

iPhone で文字列を暗号化し、復号化のために .Net Web サービスに送信する必要があります。iPhone と .Net で暗号化/復号化できますが、iPhone からの暗号化された文字列は .Net で復号化できません。「パディングが無効であり、削除できません」というエラーが表示されます。

.Net コードは http://blog.realcoderscoding.com/index.php/2008/07/dot-net-encryption-simple-aes-wrapper/からのものです。

iPhone コードは、http: //nootech.wordpress.com/2009/01/17/symmetric-encryption-with-the-iphone-sdk/のサンプル コードを使用しています。

私の知る限り、私のキー設定は同じです:

暗号文を生成するさまざまな方法を試しました。こんにちは/こんにちは:

e0PnmbTg/3cT3W+92CDw1Q== in .Net

iPhoneではyrKe5Z7p7MNqx9+CbBvNqQ==

および「openssl enc -aes-128-cbc -nosalt -a -in hello.txt -pass pass:hello」は次を生成します: QA+Ul+r6Zmr7yHipMcHSbQ==

更新:この作業用のコードをここに投稿しました

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

c# - Perl の Crypt::Rijndael からの出力を C# で復号化できないのはなぜですか?

ファイルは Perl によって暗号化されています。最初の復号化の試みは失敗しました。現在、フージューが発生しているかどうかを確認しようとしています (他の設定が必要です)。

ダフ Perl コード:

C# 復号化の実装

Perl コードの読み方

0 投票する
5 に答える
8460 参照

encryption - ソルトなしの16バイトのAES暗号化

16バイトのデータをAESで単一のブロックとして暗号化することはどの程度安全ですか?ソルト/IVなし、動作モードなし、数百万の異なる16バイトブロックが暗号化されています。私は暗号について十分に知りませんが、これは私にはにおいがします。

編集:もう少し詳しく説明すると、これはメッセージの暗号化ではなく、プレーンテキストの長さがたまたま16バイトであるデータベーステーブルの列に関するものです。データは完全にランダムではなく(最初の8バイトは同じであることが多い)、正常な復号化を識別するためのチェックサムがあります。

私は来週、提案している人たちとのミーティングに参加します。問題がある場合は、設計が安全でないことを示すことができる参考資料へのいくつかのポインタをいただければ幸いです。私はこのシステムに完全には精通していませんが、これを回避するには大幅な再設計が必要になる可能性があるため、多くの抵抗がある可能性があります。関係する人々(および権力)のほとんどは、動機が機能するシステムを取得することであるビジネス側にいます...

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

asp.net - VB.NET を使用した ASP.NET での AES

VB.NET 2005 を使用して ASP.NET の別の Web サイトにユーザー名を渡すために AES で URL リンクを暗号化することに関する適切なリンクまたは記事は何ですか? 参考までに: 受信側の Web サイトは、暗号化を解除するために秘密鍵にアクセスできます。

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

ruby - Ruby で AES_ENCRYPT および AES_DECRYPT 関数を模倣する

組み込み関数 AES_ENCRYPT() および AES_DECRYPT() を使用して文字列を暗号化および復号化するときに MySQL が行うことを模倣する必要があります。

いくつかのブログ投稿を読みましたが、どうやら MySQL はこれらの機能に AES 128 ビット暗号化を使用しているようです。さらに、この暗号化には 16 ビット キーが必要なため、MySQL は、サイズが 16 ビットになるまで文字列に x0 文字 (\0s) を埋め込みます。

MySQL のソース コードから C で記述されたアルゴリズムは、ここで確認できます。

今度は MySQL が Rails アプリケーションで行うことを再現する必要がありますが、私が試したすべてのことはうまくいきません。

私が得ている動作を再現する方法は次のとおりです。

1) 新しい Rails アプリを作成する

2) 新しい足場を作成する

3) config/database.yml を編集し、テスト MySQL データベースを追加します。

4) 移行を実行する

5) コンソールに入り、ユーザーを作成し、MySQL クエリからパスワードを更新します

それが私が立ち往生したところです。MySQL を使用して復号化しようとすると、次のように機能します。

ただし、OpenSSL ライブラリを使用しようとしても、それを機能させる方法はありません。

キーをパディングしてみました:

しかし、それは本当にうまくいきません。

RubyでMySQL AES_ENCRYPT()およびAES_DECRYPT()関数の動作をどのように模倣できるかについての手がかりはありますか?

ありがとう!

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

java - VB.NET で AesCryptoServiceProvider を使用する

私が実際にやろうとしているのは、JACOB を介して Java アプリケーション内から VB.NET で AES を使用することであるため、私の問題は実際には VB.NET で AES を使用する方法よりも少し複雑です。しかし今のところ、私が注目する必要があるのは、AES の実装そのものです。

これが私の暗号化コードです

Java コードに戻ったら、バイト配列を 16 進数の String に変換します。

さて、プロセスを逆にするために、これが私の復号化コードです

復号化コードを実行すると、次のエラー メッセージが表示されます

パディングが無効であり、削除できません。

0 投票する
5 に答える
5600 参照

c# - Rijndael / C# から VB6 への AES

VB6 でバイト配列を暗号化し、C# (NET 2.0) で復号化する必要があります。そしてその逆(C#からVB6へ)。

C# では RijndaelManaged クラスを使用しました。VB6 では、インターネットからの無料の部分を使用しました。最高のようですhttp://www.frez.co.uk/freecode.htm#rijndael しかし、2つの実装は同じ入力から始まる異なる出力を生成します:(

RijndaelManaged の IV ベクトルに問題があるのか​​もしれません...わかりません...

VB6 と NET の間で Rijndael/AES を使用したソリューション/経験はありますか? それともトリプルデス....

ありがとうございました

更新: 重要: vb6 アプリが実行されるマシンには、NET フレームワークがありません。そのため、Interop や COM として公開されている NET ラッパー クラスを使用することはできません。:(