OpenSSLでAES-256で暗号化したものをSystem.Security.Cryptography.RijndaelManagedクラスで復号するためのメモ。 同じ“256”にだまされてはいけない LinuxとWindowsで暗号化通信を実装することになったので、LinuxはCからOpenSSLの関数を使い、WindowsではC#でRijndaelManagedクラスを使うことにした。 当初、AES-256というからには鍵長256 bits、ブロック長256 bitsだよね!とか思ってC#側の復号部分を書いていたのだが、これが全くうまくいかない。AES-128(いわゆるAES)ならC#側にAesCryptoServiceProviderを使うことでうまくいくのだが。 で、いろいろ調べたところ、まず第一にAES-256とRijndael-256に互換性はない!らしい。 Just to