タグ

暗号化に関するchezouのブックマーク (4)

  • 暗号化・複合化を行う ブロック暗号 - [Ruby + Ruby] ぺんたん info

    Rubyでブロック暗号を行うにはOpenSSL::Cipherを使用します。 DESやAESやBlowfishが使用可能です。 [参考記事] ブロック暗号とは [参考記事] PHPで暗号化・複合化を行う ブロック暗号 [参考記事] Javaで暗号化・複合化を行う ブロック暗号 [参考記事] Perlで暗号化・複合化を行う ブロック暗号 サンプルコード 使用できる暗号アルゴリズムの一覧 この暗号化方式はアルゴリズム規定のブロック長に分割して秘密鍵を用いて暗号化を行います。 規定のブロック長に分割する方式を暗号利用モード、ブロック長に満たないときの補完方法をパディング方式といいます。 暗号利用モードで分割するときに前の平文ブロックの結果を次の平文に使用しますが、この最初のブロックで使用される値がIV(初期化ベクトル)です。 まとめ 暗号化の流れ (1) ブロック長に満たない部分をパディング方式

  • JavaとRubyで暗号化/復号化 - Develop with pleasure!

    Rubyで暗号化したデータをJavaで復号化、またその逆を行ってみた。 今回はAES128ビットの暗号化モードCBC、パディングはPKCS#5で実施。 まずRuby側のコード。 require 'openssl' require 'base64' class CryptUtil def self.encrypt(pass, value) enc = OpenSSL::Cipher.new('aes-128-cbc') # 暗号化or復号化どちらを行うかセット(今回は暗号化)、復号化の場合はdecrypt enc.encrypt # ivを生成 iv = OpenSSL::Random.random_bytes(16) # 暗号化する際のキー文字列をセット enc.key = pass # ivをセット enc.iv = iv crypted = "" crypted << enc.upda

    JavaとRubyで暗号化/復号化 - Develop with pleasure!
  • 異なる言語間での暗号化と復号 - ぱせらんメモ

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

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

    最終目的は SSL/TLS ここから暗号化に関する話が始まります。 最終目標は「SSL/TLS プログラミングができるようになること」なのですが、 プログラミングのやり方だけを説明するのは嫌なので、 暗号の基礎についても解説してみました。 を買って勉強してみたところ、これが非常におもしろい。 ついついいろんなことを書いてしまいました。 共通鍵 データを安全にやりとりするにはどうすればいいでしょうか。 そう、暗号化すればいいのです。 古来から伝わる暗号化の方式としてシーザー暗号というのものがあります。 仕組みはとても簡単で、下の表のように文字列をアルファベット順に 数個ずらすだけです。この例では A〜Z を F〜Z・A〜E と、5つずらしています。

  • 1