問題タブ [aescryptoserviceprovider]
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.
asp.net - 復号化中に最初の数文字が失われる
VB.Net で AES CBC 暗号化を使用しており、復号化は AS3Crypto を使用して行われます。復号化中に最初の数文字 (約 16 文字) が欠落し、以下のようなランダムな文字に置き換えられます。
これが私の.netコードです。AS3Crypto のデモ ページでは、Secret Key > AES > CBC を使用しています。パディングとキー形式の設定を変えてみましたが、まだうまくいきません。
ありがとう。
asp.net - 指定された初期化ベクトル (IV) が、このアルゴリズムのブロック サイズと一致しません
いくつかのテキストを解読しようとしていますが、このエラーが発生します。私はたくさんグーグルをして記事を読みました。同じエラーの人がたくさんいますが、私は解決できません。
以下はコード サンプルで、私が使用している IV を確認できます。
IV は AS3crypto によって生成されます。このページでデモを見ることができます。 [秘密鍵] タブで確認できます。私の設定はAES、CBCです。
つまり、IV を変更することはできず、IV は有効なものだと思います。
問題は、正しくない .Net で IV を設定する方法だと思います。
何か考えはありますか?
前もって感謝します。
c# - 私の AES 初期化ベクトルは、C# の AESCryptoServiceProvider で何もしないようです
私は、C# で AESCryptoServiceProvider を使用することについていくつかの調査を行ってきました。これまでのところ、機能しているように見える実装があります。ただし、初期化ベクトルについての私の理解では、ペイロードとキーが同じ場合に暗号テキストが同じになることを防ぐ必要がありますが、何か間違っているようです。初期化ベクトルを変更しても、これらの関数の結果にはまったく影響がないようです。
ここに私の機能があります:
私の暗号化関数の新しいバージョンは、@owlstead からのアドバイスに従って、CBC モードを元に戻しました。これは現在、CBC を使用して正しく機能しているようです。
vb.net - カウンターを作成するための AES 128 CTR モードのビットシフト
VB.NET に変換しようとしている VC++ ソース コードにアクセスできます。以前、ビット シフトに関する質問をしたことがあります。回答は理にかなっていて、VB.NET に変換するのはかなり簡単に思えましたが、問題を解決するのに苦労しています。VB.NET に変換する必要がある VC++ コードを次に示します。
現在、返された値は、CTR モードでの AES 復号化のカウンターとして使用されます。次の VC++ コードは、カウンターの計算に使用されます。
これは、私が現在 VB.NET コードを使用している場所です。
カウンターを作成するために使用されるコードは次のとおりです。
カウンターは 16 バイトですが、最初の 8 バイトのみが AES 128 ビット EBC を使用して暗号化され、現在の暗号化されたデータ ブロック (これも 16 バイト) と XOR されます (AES CTR モード)。エラーなしでコードを実行できますが、復号化されたデータの出力が正しくないため、暗号化に使用されているカウンターを正しく計算していないと思います。
繰り返しになりますが、どんな助けでも大歓迎です。事前に感謝します!
編集: 現在の SwapBits 関数...まだ正しくありません
これにより、実際には「算術演算でオーバーフローが発生しました」が発生します。uvalue が値 128 に達するとエラーが発生します。値 1 が SwapBits に渡されると、戻り値 = 72057594037927936 になります。VC++ コードの私の解釈では、カウンターは単純に毎回 1 ずつインクリメントする 16 バイト配列である必要があります。たとえば、
次に、私のカウンターが必要です
もしも
次に、私のカウンターが必要です
などなど... または、どこかで何かを誤解していますか?
ios - iOS で AES128 を復号化できません
および暗号化のカテゴリ
.m ファイル
暗号化は正常に機能していますが、解読できません。提案してください。
c# - パス フレーズまたは AesCryptoServiceProvider を使用してキーを生成しますか?
AES 暗号化を使用してデータを暗号化します。いくつかのアプリ (コンソールなど) を使用して年に 1 回キーを生成するので、キーを生成するためにどの方法を選択する必要がありますか?
1. パス フレーズ方式を使用してキーを生成する必要がありますか?
2. それとも、AESCryptoServiceProvider によって提供されるデフォルトの生成キーを選択する必要がありますか?
以下の方法では、パス フレーズを使用して暗号化を生成します。
方法 1:
以下のメソッドはAesCryptoServiceProvider
キーの生成に使用し、パスフレーズは使用しませんでした
方法 2:
編集:
この乱数生成方法を使用できますか?
c# - AES C# 暗号化 復号化 FIPS
特定の暗号を返す必要がある結果を返すために、次のテストを実行しようとしています。以下に示すように、キー、IV、およびプレーンテキスト文字列を提供します。
しかし、「指定された初期化ベクトル (IV) がこのアルゴリズムのブロック サイズと一致しません」というメッセージが表示されます。
私はしばらくこれに固執しており、良い単純な例を見つけることができず、物事を組み合わせてみました。
以下は私のC#コードです。とてもシンプルにしようとしました。
回答ごとに更新:
ありがとう、素晴らしい観察。上記の例で Encoding.UTF8.GetBytes を HexToByteArray を使用するように変更したところ、動作するようになりました。