Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > opensslライブラリ > OpenSSL::BNクラス

class OpenSSL::BN

クラス・モジュールの継承リスト: OpenSSL::BN < Comparable < Object < Kernel < BasicObject

要約

OpenSSL内で利用される多倍長整数クラスです。

通常多倍長整数を利用するには Integer を用いてください。

特異メソッド

定義 説明
generate_prime(bits, safe=true, add=nil, rem=nil) -> OpenSSL::BN

ランダム(擬似乱数的)な bits ビットの素数を返します。

new(str, base=10) -> OpenSSL::BN

文字列を多倍長整数オブジェクト(OpenSSL::BN)を生成します。

new(bn) -> OpenSSL::BN

OpenSSL::BN を複製して返します。

new(integer) -> OpenSSL::BN

整数オブジェクト(Integer)から多倍長整数オブジェクト (OpenSSL::BN)を生成します。

pseudo_rand(bits, fill=0, odd=false) -> OpenSSL::BN

乱数を生成し、返します。

pseudo_rand_range(range) -> OpenSSL::BN

乱数を 0 から range-1 までの間で生成し、返します。

rand(bits, fill=0, odd=false) -> OpenSSL::BN

暗号論的に強い擬似乱数を生成し、返します。

rand_range(range) -> OpenSSL::BN

暗号論的に強い擬似乱数を 0 から range-1 までの間で生成し、返します。

インスタンスメソッド

定義 説明
self % other -> OpenSSL::BN

自身を other で割り算した余りを返します。

self * other -> OpenSSL::BN

自身と other の積を返します。

self ** other -> OpenSSL::BN

自身の other 乗を返します。

self + other -> OpenSSL::BN

自身と other の和を返します。

self - other -> OpenSSL::BN

自身から other を引いた値を返します。

self / other -> [OpenSSL::BN, OpenSSL::BN]

自身を other で割った商と余りを配列で返します。

self << other -> OpenSSL::BN

自身を other ビット左シフトした値を返します。

self <=> other -> -1 | 0 | 1
cmp(other) -> -1 | 0 | 1

自身と other を比較し、自身が小さいときには -1、等しいときには 0、大きいときには 1 を返します。

self == other -> bool
self === other -> bool
eql?(other) -> bool

自身と other が等しい場合に true を返します。

self >> other -> OpenSSL::BN

自身を other ビット右シフトした値を返します。

bit_set?(n) -> bool

自身の n ビット目が立っているなら true を返します。

clear_bit!(n) -> self

自身の n ビット目を0にします。

coerce(other) -> Array

自身と other が同じクラスになるよう、自身か other を変換し [other, self] という配列にして返します。

copy(other) -> self

other の内容を自身にコピーします。

gcd(other) -> OpenSSL::BN

GCD(最大公約数)を返します。

lshift!(n) -> self

自身を n ビット左シフトします。 OpenSSL::BN#<<と異なり、破壊的メソッドです。

mask_bits!(n) -> self

自身を下位 n ビットでマスクし、破壊的に変更します。

mod_add(other, m) -> OpenSSL::BN

(self + other) % m を返します。

mod_exp(other, m) -> OpenSSL::BN

(self ** other) % m を返します。

mod_inverse(m) -> OpenSSL::BN

自身の mod m における逆元を返します。

mod_mul(other, m) -> OpenSSL::BN

(self * other) % m を返します。

mod_sqr(m) -> OpenSSL::BN

(self ** 2) % m を返します。

mod_sub(other, m) -> OpenSSL::BN

(self - other) % m を返します。

negative? -> bool

自身が負である場合に true を返します。Ruby 2.5, OpenSSL 2.1.0 から利用できます。

num_bits -> Integer

自身を表現するのに使っているビット数を返します。

num_bytes -> Integer

自身を表現するのに使っているバイト数を返します。

odd? -> bool

自身が奇数である場合に true を返します。

one? -> bool

自身が1である場合に true を返します。

pretty_print(pp)

Kernel.#pp でオブジェクトの内容を出力するときに、内部で呼ばれるメソッドです。

prime? -> bool
prime?(checks) -> bool

自身が素数であるなら true を返します。

prime_fasttest?(checks=nil, vtrivdiv=true) -> bool

自身が素数であるなら true を返します。

rshift!(n) -> self

自身を n ビット右シフトします。 [[m:OpenSSL::BN#>>]と異なり、破壊的メソッドです。

set_bit!(n) -> self

自身の n ビット目を1にします。

sqr -> OpenSSL::BN

自身の2乗を計算します。

to_bn -> self

自分自身を返します。

to_i -> Integer
to_int -> Integer

自身を Integer のインスタンスに変換します。

to_s(base=10) -> String

自身を表す文字列を返します。

ucmp(other) -> -1 | 0 | 1

自身と other の絶対値を比較し、自身の絶対値が小さいときには -1、等しいときには 0、 大きいときには 1 を返します。

zero? -> bool

自身が 0 である場合に true を返します。

継承したメソッド

! != __id__ __send__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined < <= > >= between? clamp !~ =~ _dump class clone define_singleton_method display enum_for equal? extend freeze frozen? hash initialize initialize_copy inspect instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself marshal_dump marshal_load method methods nil? object_id pretty_inspect pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? send singleton_class singleton_method singleton_methods taint tainted? tap then to_a to_ary to_hash to_io to_proc to_regexp to_str trust untaint untrust untrusted? .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_ENGINE_VERSION ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE