クラス
- IO (1)
-
OpenSSL
:: Cipher (2) -
OpenSSL
:: PKey :: DSA (2) -
OpenSSL
:: PKey :: EC (1) -
OpenSSL
:: PKey :: RSA (2)
モジュール
-
OpenSSL
:: Random (9) - Timeout (2)
キーワード
- Cipher (1)
-
NEWS for Ruby 2
. 5 . 0 (1) - RSA (1)
- RandomError (1)
- advise (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)
- timeout (2)
-
write
_ random _ file (1)
検索結果
先頭5件
-
OpenSSL
:: Random (63145.0) -
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
* 4086
=== 暗号と乱数
OpenSSL では、鍵を生成するためなどに乱数を用いています。例えば RSA では
巨大(512bitや1024bitなど)な素数の組を乱数で生成し、そこから公開鍵、秘密鍵の
ペアを計算します。鍵は他人に知られてはならないため、
その乱数は外部からの推論が不可能な良い性質を持っている必要があります。
このようなメソッドには以下のものがあります。
* OpenSSL::PKey::RSA.generate
* OpenSSL::PKey::DSA.generate
* Open... -
OpenSSL
:: Random . # load _ random _ file(filename) -> true (36358.0) -
ファイルを読み込み、その内容をエントロピー源として 乱数生成器に渡します。
ファイルを読み込み、その内容をエントロピー源として
乱数生成器に渡します。
エントロピーの推定量はファイルのバイト数と同じであると見なします。
OpenSSL::Random.seed(File.read(filename)) と同じです。
@param filename 読み込むファイル名
@raise OpenSSL::Random::RandomError ファイルの読み込みに失敗した場合に発生します
@raise OpenSSL::Random::RandomError -
OpenSSL
:: Random . # write _ random _ file(filename) -> true (36322.0) -
乱数生成器で生成された 1024 バイトのランダムなバイト列を ファイルに書き込みます。
乱数生成器で生成された 1024 バイトのランダムなバイト列を
ファイルに書き込みます。
これで出力したランダムなバイト列はあとで乱数生成器を初期化するの
に使えます。リブート直後などシステムからのエントロピーが少ない場合に
利用できます。
このファイルは利用者以外には読めないように保存しなければなりません。
部外者がこのファイルを読めることはセキュリティ上の問題を引き起します。
@param filename 書き込むファイルの名前
@raise OpenSSL::Random::RandomError ファイルの書き出しに失敗した場合に発生します -
OpenSSL
:: Random . # random _ add(str , entropy) -> self (36304.0) -
乱数生成器にエントロピーを追加します。
乱数生成器にエントロピーを追加します。
entropy には str が持っているエントロピーの予測値(の下限)を
バイト単位で渡します。
@param str 予測不可能な内容の文字列
@param entropy str が持っているエントロピーの予測値(バイト単位)の浮動小数点数 -
OpenSSL
:: Random . # random _ bytes(len) -> String (36304.0) -
暗号論的な予測不可能性を持つ乱数生成器によって、 len バイトの ランダムなバイト列を返します。
暗号論的な予測不可能性を持つ乱数生成器によって、 len バイトの
ランダムなバイト列を返します。
@param len 必要なランダムバイト列の長さ -
OpenSSL
:: Random :: RandomError (36001.0) -
OpenSSL の乱数関連のエラーが起きた場合に発生する例外
OpenSSL の乱数関連のエラーが起きた場合に発生する例外 -
OpenSSL
:: Cipher # random _ iv -> String (27304.0) -
IV を乱数で生成し、暗号オブジェクトに設定します。
IV を乱数で生成し、暗号オブジェクトに設定します。
生成した IV を文字列で返します。 -
OpenSSL
:: Cipher # random _ key -> String (27304.0) -
鍵を乱数で生成し、暗号オブジェクトに設定します。
鍵を乱数で生成し、暗号オブジェクトに設定します。
生成した鍵を文字列で返します。 -
OpenSSL
:: Random . # seed(str) -> str (18073.0) -
乱数生成器にエントロピーを 「エントロピー予測値 = str のバイト数」として 追加します。
乱数生成器にエントロピーを
「エントロピー予測値 = str のバイト数」として
追加します。
OpenSSL::Random.random_add(str, str.size) と同じです。
@param str 予測不可能な内容の文字列
@see OpenSSL::Random.#random_add -
OpenSSL
:: Random . # egd(filename) -> true (18037.0) -
EGD(Entropy Gathering Daemon) からエントロピーを得、 乱数生成器に追加します。
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 (18037.0) -
EGD(Entropy Gathering Daemon) から length バイト分のエントロピーを得ます。
EGD(Entropy Gathering Daemon) から length バイト分のエントロピーを得ます。
filename で指定した Unix domain socket から EGD に問い合わせ、
指定した大きさのエントロピーを乱数生成器に追加します。
@param filename EGD のソケットのファイル名
@param length 読み込むバイト数
@raise OpenSSL::Random::RandomError
@raise OpenSSL::Random::RandomError -
OpenSSL
:: Random . # pseudo _ bytes(len) -> String (18001.0) -
暗号論的な予測不可能性を持たない(が高速な) 乱数生成器によって、 len バイトの ランダムなバイト列を返します。
暗号論的な予測不可能性を持たない(が高速な)
乱数生成器によって、 len バイトの
ランダムなバイト列を返します。
@param len 必要なランダムバイト列の長さ -
OpenSSL
:: Random . # status? -> bool (18001.0) -
乱数生成器内のエントロピーが十分である場合に true を返します。
乱数生成器内のエントロピーが十分である場合に true を返します。 -
OpenSSL
:: PKey :: DSA . generate(size) -> OpenSSL :: PKey :: DSA (9319.0) -
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size は DSA パラメータの素数のビット数を指定します。最大 1024 まで
指定できます。通常 512 か 1024 を使います。
このメソッドにブロックが渡された場合には、鍵パラメータ生成の途中経過の
情報を引数としてブロックが呼び出されます。
* n個目の素数候補を生成した場合、u=0 でブロックが呼びだされる
* 生成した素数候補が小さな素数で割り... -
OpenSSL
:: PKey :: DSA . generate(size) {|u , n| . . . } -> OpenSSL :: PKey :: DSA (9319.0) -
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size は DSA パラメータの素数のビット数を指定します。最大 1024 まで
指定できます。通常 512 か 1024 を使います。
このメソッドにブロックが渡された場合には、鍵パラメータ生成の途中経過の
情報を引数としてブロックが呼び出されます。
* n個目の素数候補を生成した場合、u=0 でブロックが呼びだされる
* 生成した素数候補が小さな素数で割り... -
OpenSSL
:: PKey :: RSA . generate(size , exponent = 65537) -> OpenSSL :: PKey :: RSA (9319.0) -
乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size で鍵の modulus のビット数つまりは鍵のサイズを指定します。
最低でも1024を指定してください。
exponent で public exponent を指定します。exponent には奇数を指定し、
大抵の場合、3、17 あるいは 65537 を指定します。
このメソッドにブロックが渡された場合には、鍵生成の途中経過の
情報を引数としてブロックが呼び出さ... -
OpenSSL
:: PKey :: RSA . generate(size , exponent = 65537) {|u , n| . . . } -> OpenSSL :: PKey :: RSA (9319.0) -
乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size で鍵の modulus のビット数つまりは鍵のサイズを指定します。
最低でも1024を指定してください。
exponent で public exponent を指定します。exponent には奇数を指定し、
大抵の場合、3、17 あるいは 65537 を指定します。
このメソッドにブロックが渡された場合には、鍵生成の途中経過の
情報を引数としてブロックが呼び出さ... -
OpenSSL
:: PKey :: RSA (9091.0) -
RSA 暗号鍵のクラスです。
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
のいずれかでしょう。これ以外のメソッドを利用するときは
RSA についてよく理解し、必要な場... -
OpenSSL
:: Cipher (9073.0) -
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
基本的にこのクラスを直接使ってデータを暗号化することは
避けてください。通常はより高水準なインターフェースが利用可能な
はずです。必要なのは暗号アルゴリズムを指定するため
OpenSSL::Cipher.new で暗号オブジェクトを生成することだけでしょう。
もし、このクラスを直接利用して暗号化する場合は、暗号の鍵や
IV(Initialization Vector)の取り扱いについて正しく理解してからに
してください。
以下の手順で利用します。
* OpenSSL::Cipher.new や OpenSSL::... -
OpenSSL
:: PKey :: EC # public _ key? -> bool (9019.0) -
EC オブジェクトが公開鍵を保持していれば真を返します。
EC オブジェクトが公開鍵を保持していれば真を返します。
OpenSSL::PKey::RSA や OpenSSL::PKey::DSA と
異なり、EC オブジェクトが公開鍵を含まない場合が存在します。
例えば、OpenSSL::PKey::EC.new でパラメータとなる群のみを
指定して EC オブジェクトを作った場合は、公開鍵も秘密鍵も
保持していません。この場合 OpenSSL::PKey::EC#generate_key で
鍵を生成するまで、その状態のままです。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必... -
NEWS for Ruby 2
. 5 . 0 (217.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.5.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.4.0 以降の変更
=== 言語仕様の変更
* トップレベルの定数参照を削除しました 11547
* do/end ブロック内部で rescue/else/ensure を書けるようになりました 12906
* 文字列の式展... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (73.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラー... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (73.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラー... -
IO
# advise(advice , offset=0 , len=0) -> nil (37.0) -
posix_fadvise(2) を呼びだし、 ファイルへのアクセスパターンをOSに知らせます。
posix_fadvise(2) を呼びだし、
ファイルへのアクセスパターンをOSに知らせます。
advice には以下のいずれかのシンボルを指定します。
* :normal - デフォルト
* :sequential - データは前から順にアクセスされる
* :random - データはランダムアクセスされる
* :willneed - データはこの直後にアクセスされる
* :dontneed - データは直後にはアクセスしない
* :noreuse - データは一度しかアクセスされない
これらの advice が具体的に何をするのかはプラットフォーム依存です。
...