Java and .NET – AES Crypto Interop

Java and .NET – AES Crypto Interop

AES暗号化した結果を Java と .NET で共有するような場合のコード例。

コードを見ると Paddingの方式として Java側は PKCS5Padding, .NET 側は PKCS7Padding を使っている。

Q. You used PKCS5 padding for Java and PKCS7 for .NET. What gives? 
A. They are the same for block sizes up to... I think... 256. Since we did block sizes of 128, they are completely the same. Fully interoperable.

と書いてあるもののいまいち確証の得られる書き方でなくて不安だった。
(ググると 2ch のパディング違うからだめだろ発言が一番上だったりするし)

<URL:http://puneetspeed.spaces.live.com/Blog/cns!AFAFB88D250BEE36!245.entry>

they are compatible with each other to block sizes between 1 and 255 bytes inclusive.

と書いてあった。BlockSize への指定はビット単位なので、255bytes = 2040bits までOK。
ていうかそんな大きいブロックサイズを扱うブロック暗号は当面ないんじゃないか。

ということで事実上大丈夫という結論に。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。