私は対称暗号化のためにCNGのAESの周りにAES-OFBラッパーを実装しようとしています。Microsoft CNG BCryptEncryptは暗号文を返す==プレーンテキスト
私は理解できない問題に遭遇しました...私はAESアルゴリズムハンドル(BCRYPT_AES_ALGORITHM)を作成し、AESキーをインポートしました。私は私の平文/暗号文をXORするための16バイトのキーストリームを生成しようとします。このメカニズムを最初に実行すると、keyStreamPtrがランダムなバイトストリームから別のランダムなバイトストリームに変更されますが、3回目(キーストリームの16バイトの3番目のセット)、同じ出力が得られ始め、永遠に起こります。
status = BCryptEncrypt((BCRYPT_KEY_HANDLE)keyHandle,
keyStreamPtr,
keyStreamLength,
NULL, //no padding
NULL, // no IV
0, // no IV
keyStreamPtr,
keyStreamLength,
&Length,
0); // no option flags
誰もこのようなことを見たことがありますか?なぜAESは入力であった平文と全く同じ暗号文を返すのだろうか?ここでもAES-OFBの実装です...おそらく私は何か間違っていますか?