タグ

暗号化に関するtomstayのブックマーク (2)

  • Javaの標準AES暗号化アルゴリズム互換のRuby(Python)実装 - nori3tsu's blog

    随分前に悩んだことでまた悩んでしまったのでメモ。 Java/Python/Rubyのそれぞれの実装をまとめました。 Javaで"AES"と指定して暗号化/復号したデータをRubyで復元する際、 AESの知識が乏しいせいでRubyでどうやって復元すれば良いのかわからず困ってしまったため、 次回から悩まないためにJavaの標準AESアルゴリズムと互換性のあるRubyの実装書いてみました。 ついでに最近少し触っているPythonでも書いてみました。 AESはブロック暗号です。 ブロック暗号についてはコチラが詳しいです。 Javajavax.crypto.Cipherクラスで単純に"AES"として暗号化すると"AES/ECB/PKCS5Padding"という形式になります。 鍵長: 128bit 暗号モード: ECB パディング方式: PKCS5Padding 暗号モードのECBはある文字列を暗

    Javaの標準AES暗号化アルゴリズム互換のRuby(Python)実装 - nori3tsu's blog
  • 異なる言語間での暗号化と復号 - ぱせらんメモ

    仕事でデータを暗号化して保存する必要が出てきたので色々調べてみた。 メインのシステムはPHPで作っているんだけど、Javaなども絡んでくるので、お互いが処理できる暗号方式でなければいけない。 仕様さえ明確にしてあればオレオレアルゴリズムでもいいんだけど、今回はかなり重要なデータを扱うので世間でそれなりに使われている暗号方式を使うことにした。 暗号の種類 自分も暗号にそんな詳しいわけではないけど、「データをパスワードで暗号化するんでしょ?」ぐらいにしか思ってない人はきっと大変な思いをする。 今の話で登場するのは 暗号化したいデータ 暗号の種類(アルゴリズム) パスワード(暗号処理に使うキー) の3つだけど、これからやろうとしてるブロック暗号では 暗号化したいデータ 暗号の種類(アルゴリズム) 暗号処理に使うキー(パスワードというかバイト列) 暗号利用モード(ブロック処理の種類) 初期化ベクト

    異なる言語間での暗号化と復号 - ぱせらんメモ
  • 1