Hatena::Grouprubyist

Going My Ruby Way このページをアンテナに追加 RSSフィード

Ruby ロゴ (C) Ruby Association LLC

2011年08月23日(火)

OpenSSL::Cipher の名前

| 23:07 | OpenSSL::Cipher の名前 - Going My Ruby Way を含むブックマーク はてなブックマーク - OpenSSL::Cipher の名前 - Going My Ruby Way OpenSSL::Cipher の名前 - Going My Ruby Way のブックマークコメント

OpenSSL::Cipher.new の引数に受け付ける文字列と、Cipherの名前とブロックサイズ、IV 長、鍵長を一覧にして表示するスクリプトです。

require 'openssl'

FORMAT = "  %-14s: %-14s: %6s %6s %6s  "

puts head = FORMAT % [:name, :cipher, :block, :iv, :key]
puts "-" * head.length

class OpenSSL::Cipher
  ciphers.sort.each do |cipher_name|
    new(cipher_name).instance_eval do
      puts FORMAT % [cipher_name, name, block_size, iv_len, key_len]
    end
  end
end

私の環境(Ubuntu Linux 11.04)での出力です。

  name          : cipher        :  block     iv    key  
--------------------------------------------------------
  AES-128-CBC   : AES-128-CBC   :     16     16     16  
  AES-128-CFB   : AES-128-CFB   :      1     16     16  
  AES-128-CFB1  : AES-128-CFB1  :      1     16     16  
  AES-128-CFB8  : AES-128-CFB8  :      1     16     16  
  AES-128-ECB   : AES-128-ECB   :     16      0     16  
  AES-128-OFB   : AES-128-OFB   :      1     16     16  
  AES-192-CBC   : AES-192-CBC   :     16     16     24  
  AES-192-CFB   : AES-192-CFB   :      1     16     24  
  AES-192-CFB1  : AES-192-CFB1  :      1     16     24  
  AES-192-CFB8  : AES-192-CFB8  :      1     16     24  
  AES-192-ECB   : AES-192-ECB   :     16      0     24  
  AES-192-OFB   : AES-192-OFB   :      1     16     24  
  AES-256-CBC   : AES-256-CBC   :     16     16     32  
  AES-256-CFB   : AES-256-CFB   :      1     16     32  
  AES-256-CFB1  : AES-256-CFB1  :      1     16     32  
  AES-256-CFB8  : AES-256-CFB8  :      1     16     32  
  AES-256-ECB   : AES-256-ECB   :     16      0     32  
  AES-256-OFB   : AES-256-OFB   :      1     16     32  
  AES128        : AES-128-CBC   :     16     16     16  
  AES192        : AES-192-CBC   :     16     16     24  
  AES256        : AES-256-CBC   :     16     16     32  
  BF            : BF-CBC        :      8      8     16  
  BF-CBC        : BF-CBC        :      8      8     16  
  BF-CFB        : BF-CFB        :      1      8     16  
  BF-ECB        : BF-ECB        :      8      0     16  
  BF-OFB        : BF-OFB        :      1      8     16  
  CAST          : CAST5-CBC     :      8      8     16  
  CAST-cbc      : CAST5-CBC     :      8      8     16  
  CAST5-CBC     : CAST5-CBC     :      8      8     16  
  CAST5-CFB     : CAST5-CFB     :      1      8     16  
  CAST5-ECB     : CAST5-ECB     :      8      0     16  
  CAST5-OFB     : CAST5-OFB     :      1      8     16  
  DES           : DES-CBC       :      8      8      8  
  DES-CBC       : DES-CBC       :      8      8      8  
  DES-CFB       : DES-CFB       :      1      8      8  
  DES-CFB1      : DES-CFB1      :      1      8      8  
  DES-CFB8      : DES-CFB8      :      1      8      8  
  DES-ECB       : DES-ECB       :      8      0      8  
  DES-EDE       : DES-EDE       :      8      0     16  
  DES-EDE-CBC   : DES-EDE-CBC   :      8      8     16  
  DES-EDE-CFB   : DES-EDE-CFB   :      1      8     16  
  DES-EDE-OFB   : DES-EDE-OFB   :      1      8     16  
  DES-EDE3      : DES-EDE3      :      8      0     24  
  DES-EDE3-CBC  : DES-EDE3-CBC  :      8      8     24  
  DES-EDE3-CFB  : DES-EDE3-CFB  :      1      8     24  
  DES-EDE3-CFB1 : DES-EDE3-CFB1 :      1      8     24  
  DES-EDE3-CFB8 : DES-EDE3-CFB8 :      1      8     24  
  DES-EDE3-OFB  : DES-EDE3-OFB  :      1      8     24  
  DES-OFB       : DES-OFB       :      1      8      8  
  DES3          : DES-EDE3-CBC  :      8      8     24  
  DESX          : DESX-CBC      :      8      8     24  
  DESX-CBC      : DESX-CBC      :      8      8     24  
  RC2           : RC2-CBC       :      8      8     16  
  RC2-40-CBC    : RC2-40-CBC    :      8      8      5  
  RC2-64-CBC    : RC2-64-CBC    :      8      8      8  
  RC2-CBC       : RC2-CBC       :      8      8     16  
  RC2-CFB       : RC2-CFB       :      1      8     16  
  RC2-ECB       : RC2-ECB       :      8      0     16  
  RC2-OFB       : RC2-OFB       :      1      8     16  
  RC4           : RC4           :      1      0     16  
  RC4-40        : RC4-40        :      1      0      5  
  aes-128-cbc   : AES-128-CBC   :     16     16     16  
  aes-128-cfb   : AES-128-CFB   :      1     16     16  
  aes-128-cfb1  : AES-128-CFB1  :      1     16     16  
  aes-128-cfb8  : AES-128-CFB8  :      1     16     16  
  aes-128-ecb   : AES-128-ECB   :     16      0     16  
  aes-128-ofb   : AES-128-OFB   :      1     16     16  
  aes-192-cbc   : AES-192-CBC   :     16     16     24  
  aes-192-cfb   : AES-192-CFB   :      1     16     24  
  aes-192-cfb1  : AES-192-CFB1  :      1     16     24  
  aes-192-cfb8  : AES-192-CFB8  :      1     16     24  
  aes-192-ecb   : AES-192-ECB   :     16      0     24  
  aes-192-ofb   : AES-192-OFB   :      1     16     24  
  aes-256-cbc   : AES-256-CBC   :     16     16     32  
  aes-256-cfb   : AES-256-CFB   :      1     16     32  
  aes-256-cfb1  : AES-256-CFB1  :      1     16     32  
  aes-256-cfb8  : AES-256-CFB8  :      1     16     32  
  aes-256-ecb   : AES-256-ECB   :     16      0     32  
  aes-256-ofb   : AES-256-OFB   :      1     16     32  
  aes128        : AES-128-CBC   :     16     16     16  
  aes192        : AES-192-CBC   :     16     16     24  
  aes256        : AES-256-CBC   :     16     16     32  
  bf            : BF-CBC        :      8      8     16  
  bf-cbc        : BF-CBC        :      8      8     16  
  bf-cfb        : BF-CFB        :      1      8     16  
  bf-ecb        : BF-ECB        :      8      0     16  
  bf-ofb        : BF-OFB        :      1      8     16  
  blowfish      : BF-CBC        :      8      8     16  
  cast          : CAST5-CBC     :      8      8     16  
  cast-cbc      : CAST5-CBC     :      8      8     16  
  cast5-cbc     : CAST5-CBC     :      8      8     16  
  cast5-cfb     : CAST5-CFB     :      1      8     16  
  cast5-ecb     : CAST5-ECB     :      8      0     16  
  cast5-ofb     : CAST5-OFB     :      1      8     16  
  des           : DES-CBC       :      8      8      8  
  des-cbc       : DES-CBC       :      8      8      8  
  des-cfb       : DES-CFB       :      1      8      8  
  des-cfb1      : DES-CFB1      :      1      8      8  
  des-cfb8      : DES-CFB8      :      1      8      8  
  des-ecb       : DES-ECB       :      8      0      8  
  des-ede       : DES-EDE       :      8      0     16  
  des-ede-cbc   : DES-EDE-CBC   :      8      8     16  
  des-ede-cfb   : DES-EDE-CFB   :      1      8     16  
  des-ede-ofb   : DES-EDE-OFB   :      1      8     16  
  des-ede3      : DES-EDE3      :      8      0     24  
  des-ede3-cbc  : DES-EDE3-CBC  :      8      8     24  
  des-ede3-cfb  : DES-EDE3-CFB  :      1      8     24  
  des-ede3-cfb1 : DES-EDE3-CFB1 :      1      8     24  
  des-ede3-cfb8 : DES-EDE3-CFB8 :      1      8     24  
  des-ede3-ofb  : DES-EDE3-OFB  :      1      8     24  
  des-ofb       : DES-OFB       :      1      8      8  
  des3          : DES-EDE3-CBC  :      8      8     24  
  desx          : DESX-CBC      :      8      8     24  
  desx-cbc      : DESX-CBC      :      8      8     24  
  rc2           : RC2-CBC       :      8      8     16  
  rc2-40-cbc    : RC2-40-CBC    :      8      8      5  
  rc2-64-cbc    : RC2-64-CBC    :      8      8      8  
  rc2-cbc       : RC2-CBC       :      8      8     16  
  rc2-cfb       : RC2-CFB       :      1      8     16  
  rc2-ecb       : RC2-ECB       :      8      0     16  
  rc2-ofb       : RC2-OFB       :      1      8     16  
  rc4           : RC4           :      1      0     16  
  rc4-40        : RC4-40        :      1      0      5