種類
- モジュール関数 (9)
- 特異メソッド (4)
- クラス (3)
- インスタンスメソッド (3)
- モジュール (1)
クラス
-
OpenSSL
:: Cipher (2) -
OpenSSL
:: PKey :: DSA (2) -
OpenSSL
:: PKey :: EC (1) -
OpenSSL
:: PKey :: RSA (2)
モジュール
-
OpenSSL
:: Random (9)
キーワード
- Cipher (1)
- RSA (1)
- RandomError (1)
- egd (1)
-
egd
_ bytes (1) - generate (4)
-
load
_ random _ file (1) -
pseudo
_ bytes (1) -
public
_ key? (1) -
random
_ add (1) -
random
_ bytes (1) -
random
_ iv (1) -
random
_ key (1) - seed (1)
- status? (1)
-
write
_ random _ file (1)
検索結果
先頭5件
-
OpenSSL
:: Random (54151.0) -
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
...OpenSSL が利用する擬似乱数生成器関連のモジュールです。
* 4086
=== 暗号と乱数
OpenSSL では、鍵を生成するためなどに乱数を用いています。例えば RSA では
巨大(512bitや1024bitなど)な素数の組を乱数で生成し、そこから公開鍵......ます。
* OpenSSL::PKey::RSA.generate
* OpenSSL::PKey::DSA.generate
* OpenSSL::PKey::DH.generate
* OpenSSL::Cipher#random_key
そのような乱数は適切な実装を持つ擬似乱数生成器に適切なシードを渡す
ことによって実現できます。
OpenSSL にはそのよ......。
そして、この擬似乱数生成器は OpenSSL の様々なモジュールから利用されています。
上に挙げた鍵生成メソッドの他に、
* OpenSSL::BN.rand
* OpenSSL::BN.rand_range
* OpenSSL::BN.generate_prime
* OpenSSL::Cipher#random_iv
などでも利用され... -
OpenSSL
:: Random . # load _ random _ file(filename) -> true (27364.0) -
ファイルを読み込み、その内容をエントロピー源として 乱数生成器に渡します。
...バイト数と同じであると見なします。
OpenSSL::Random.seed(File.read(filename)) と同じです。
@param filename 読み込むファイル名
@raise OpenSSL::Random::RandomError ファイルの読み込みに失敗した場合に発生します
@raise OpenSSL::Random::RandomError... -
OpenSSL
:: Random . # write _ random _ file(filename) -> true (27328.0) -
乱数生成器で生成された 1024 バイトのランダムなバイト列を ファイルに書き込みます。
...存しなければなりません。
部外者がこのファイルを読めることはセキュリティ上の問題を引き起します。
@param filename 書き込むファイルの名前
@raise OpenSSL::Random::RandomError ファイルの書き出しに失敗した場合に発生します... -
OpenSSL
:: Random . # random _ add(str , entropy) -> self (27310.0) -
乱数生成器にエントロピーを追加します。
乱数生成器にエントロピーを追加します。
entropy には str が持っているエントロピーの予測値(の下限)を
バイト単位で渡します。
@param str 予測不可能な内容の文字列
@param entropy str が持っているエントロピーの予測値(バイト単位)の浮動小数点数 -
OpenSSL
:: Random . # random _ bytes(len) -> String (27310.0) -
暗号論的な予測不可能性を持つ乱数生成器によって、 len バイトの ランダムなバイト列を返します。
暗号論的な予測不可能性を持つ乱数生成器によって、 len バイトの
ランダムなバイト列を返します。
@param len 必要なランダムバイト列の長さ -
OpenSSL
:: Random :: RandomError (27007.0) -
OpenSSL の乱数関連のエラーが起きた場合に発生する例外
...OpenSSL の乱数関連のエラーが起きた場合に発生する例外... -
OpenSSL
:: Cipher # random _ iv -> String (18310.0) -
IV を乱数で生成し、暗号オブジェクトに設定します。
IV を乱数で生成し、暗号オブジェクトに設定します。
生成した IV を文字列で返します。 -
OpenSSL
:: Cipher # random _ key -> String (18310.0) -
鍵を乱数で生成し、暗号オブジェクトに設定します。
鍵を乱数で生成し、暗号オブジェクトに設定します。
生成した鍵を文字列で返します。 -
OpenSSL
:: Random . # seed(str) -> str (9079.0) -
乱数生成器にエントロピーを 「エントロピー予測値 = str のバイト数」として 追加します。
...乱数生成器にエントロピーを
「エントロピー予測値 = str のバイト数」として
追加します。
OpenSSL::Random.random_add(str, str.size) と同じです。
@param str 予測不可能な内容の文字列
@see OpenSSL::Random.#random_add... -
OpenSSL
:: Random . # egd(filename) -> true (9043.0) -
EGD(Entropy Gathering Daemon) からエントロピーを得、 乱数生成器に追加します。
...ます。
filename で指定した Unix domain socket から EGD に問い合わせ、
255 バイト分のエントロピーを取得します。
OpenSSL::Random.egd_bytes(filename, 255) と同じです。
@param filename EGD のソケットのファイル名
@raise OpenSSL::Random::RandomError... -
OpenSSL
:: Random . # egd _ bytes(filename , length) -> true (9043.0) -
EGD(Entropy Gathering Daemon) から length バイト分のエントロピーを得ます。
...domain socket から EGD に問い合わせ、
指定した大きさのエントロピーを乱数生成器に追加します。
@param filename EGD のソケットのファイル名
@param length 読み込むバイト数
@raise OpenSSL::Random::RandomError
@raise OpenSSL::Random::RandomError... -
OpenSSL
:: Random . # pseudo _ bytes(len) -> String (9007.0) -
暗号論的な予測不可能性を持たない(が高速な) 乱数生成器によって、 len バイトの ランダムなバイト列を返します。
暗号論的な予測不可能性を持たない(が高速な)
乱数生成器によって、 len バイトの
ランダムなバイト列を返します。
@param len 必要なランダムバイト列の長さ -
OpenSSL
:: Random . # status? -> bool (9007.0) -
乱数生成器内のエントロピーが十分である場合に true を返します。
乱数生成器内のエントロピーが十分である場合に true を返します。 -
OpenSSL
:: Cipher (79.0) -
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
...通常はより高水準なインターフェースが利用可能な
はずです。必要なのは暗号アルゴリズムを指定するため
OpenSSL::Cipher.new で暗号オブジェクトを生成することだけでしょう。
もし、このクラスを直接利用して暗号化する......。
* OpenSSL::Cipher.new や OpenSSL::Cipher::AES256.new
などで暗号オブジェクトを生成する
* OpenSSL::Cipher#encrypt, OpenSSL::Cipher#decrypt で
暗号、復号のいずれをするかを設定する
* OpenSSL::Cipher#key=, OpenSSL::Cipher#iv=,
OpenSSL::Cipher#ra......ndom_key, OpenSSL::Cipher#random_iv などで
鍵と IV(initialization vector) を設定する
* OpenSSL::Cipher#update, OpenSSL::Cipher#final で
暗号化/復号化をする
ruby 1.8.3 から Cast5 と Idea が CAST5 と IDEA に改名されました。
=== ブロック暗号モード... -
OpenSSL
:: PKey :: RSA (61.0) -
RSA 暗号鍵のクラスです。
...通常このクラスで利用するのは、
OpenSSL::PKey::RSA.generate, OpenSSL::PKey::RSA.new,
OpenSSL::PKey::RSA#public?, OpenSSL::PKey::RSA#private?,
OpenSSL::PKey::RSA#public_key, OpenSSL::PKey::RSA#to_text,
OpenSSL::PKey::RSA#to_pem, OpenSSL::PKey::RSA#to_der
のいずれかでしょう。......ついてよく理解し、必要な場合のみにすべきです。
例:
require 'openssl'
# initialize random seed
OpenSSL::Random.seed(File.read("/dev/random", 16))
# 鍵対を生成
rsa = OpenSSL::PKey::RSA.generate(2048)
# 秘密鍵をAES256で暗号化して private_key.pem に......PEM 形式で保存
passphrase = "!secret passphrase!"
File.open("private_key.pem", "w") do |f|
f.write(rsa.export(OpenSSL::Cipher.new("aes256"), passphrase))
end
# 公開鍵をpublic_key.pemに保存
public_key = rsa.public_key
File.open("public_key.pem", "w") do |f|
f.write(pu... -
OpenSSL
:: PKey :: DSA . generate(size) -> OpenSSL :: PKey :: DSA (25.0) -
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。
...により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size は DSA パラメータの... -
OpenSSL
:: PKey :: DSA . generate(size) {|u , n| . . . } -> OpenSSL :: PKey :: DSA (25.0) -
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。
...により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size は DSA パラメータの... -
OpenSSL
:: PKey :: EC # public _ key? -> bool (25.0) -
EC オブジェクトが公開鍵を保持していれば真を返します。
...ブジェクトが公開鍵を保持していれば真を返します。
OpenSSL::PKey::RSA や OpenSSL::PKey::DSA と
異なり、EC オブジェクトが公開鍵を含まない場合が存在します。
例えば、OpenSSL::PKey::EC.new でパラメータとなる群のみを
指定して EC......った場合は、公開鍵も秘密鍵も
保持していません。この場合 OpenSSL::PKey::EC#generate_key で
鍵を生成するまで、その状態のままです。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化され... -
OpenSSL
:: PKey :: RSA . generate(size , exponent = 65537) -> OpenSSL :: PKey :: RSA (25.0) -
乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
...乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size で鍵の modulus のビッ... -
OpenSSL
:: PKey :: RSA . generate(size , exponent = 65537) {|u , n| . . . } -> OpenSSL :: PKey :: RSA (25.0) -
乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
...乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size で鍵の modulus のビッ...