背景: AES暗号化/復号化用の.NET関数のペアを作成しました。
ここで説明するのと同様に、暗号文を含むIVを単一のbase64エンコード文字列に格納します。
彼がハッシュバイトの最後にソルトバイトを追加し、base64が新しい配列をエンコードするこの例をハッシュするのを見てきました。次に、ハッシュを検証するときに、base64文字列をデコードし、ソルトバイトとハッシュバイトを分割します。
私の質問は、base64でエンコードされたデータを他のプログラムで解析および復号化できるように、連結を実行する方法を説明する定義済みの標準がありますか?それとも、私が適切だと思うようにデータを解析するために暗号化/復号化関数を書くのはプログラマーとしての私次第ですか?
標準は次のような質問に答えます:暗号文バイトにIVバイトを追加または追加しますか?
私の理想的な関数シグネチャは次のようになります。
// returns base64encodedCiphertextAndIV
string encrypt(string plaintext, string base64encodedKey)
// returns plaintext
string decrypt(string base64encodedCiphertextAndIV, string base64encodedKey)