るりまサーチ (Ruby 3.2)

最速Rubyリファレンスマニュアル検索!
52件ヒット [1-52件を表示] (0.014秒)
トップページ > バージョン:3.2[x] > クラス:OpenSSL::BN[x]

ライブラリ

キーワード

検索結果

OpenSSL::BN#%(other) -> OpenSSL::BN (4.0)

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

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

@param other 除数
@raise OpenSSL::BNError 計算時エラー...

OpenSSL::BN#*(other) -> OpenSSL::BN (4.0)

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

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

@param other かける数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#mod_mul...

OpenSSL::BN#**(other) -> OpenSSL::BN (4.0)

自身の other 乗を返します。

...自身の other 乗を返します。

@param other 指数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#mod_exp...

OpenSSL::BN#+(other) -> OpenSSL::BN (4.0)

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

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

@param other 足す整数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#mod_add...

OpenSSL::BN#-(other) -> OpenSSL::BN (4.0)

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

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

@param other 引く整数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#mod_sub...

絞り込み条件を変える

OpenSSL::BN#/(other) -> [OpenSSL::BN, OpenSSL::BN] (4.0)

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

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

@param other 除数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#mod_inverse...

OpenSSL::BN#<<(other) -> OpenSSL::BN (4.0)

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

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

//emlist[][ruby]{
bn = 1.to_bn
pp bn << 1 # => #<OpenSSL::BN 2>
pp bn # => #<OpenSSL::BN 1>
//}

@param other シフトするビット数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#lshift!...

OpenSSL::BN#<=>(other) -> -1 | 0 | 1 (4.0)

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

...には 1 を返します。

//emlist[][ruby]{
require 'openssl'

OpenSSL::BN
.new(5) <=> 5 # => 0

OpenSSL::BN
.new(5) <=> OpenSSL::BN.new(9) # => -1
OpenSSL::BN
.new(5) <=> OpenSSL::BN.new(5) # => 0
OpenSSL::BN
.new(5) <=> OpenSSL::BN.new(-5) # => 1
//}

@param other 比較する整数
@raise T...

OpenSSL::BN#==(other) -> bool (4.0)

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

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

@param other 比較する数

OpenSSL::BN#===(other) -> bool (4.0)

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

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

@param other 比較する数

絞り込み条件を変える

OpenSSL::BN#>>(other) -> OpenSSL::BN (4.0)

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

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

//emlist[][ruby]{
require 'openssl'

bn = 2.to_bn
bn >> 1 # => #<OpenSSL::BN 1>
bn # => #<OpenSSL::BN 2>
//}

@param other シフトするビット数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#rshift!...

OpenSSL::BN#bit_set?(n) -> bool (4.0)

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

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

//emlist[][ruby]{
require 'openssl'

OpenSSL::BN
.new("129").bit_set?(0) # => true
OpenSSL::BN
.new("129").bit_set?(1) # => false
//}

@param n 調べるビットの位置
@see OpenSSL::set_bit!...

OpenSSL::BN#clear_bit!(n) -> self (4.0)

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

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

//emlist[][ruby]{
require 'openssl'

a = OpenSSL::BN.new("129")
a.clear_bit!(0)
a # => 128
//}

@param n 0にするビットの位置
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::set_bit!...

OpenSSL::BN#cmp(other) -> -1 | 0 | 1 (4.0)

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

...には 1 を返します。

//emlist[][ruby]{
require 'openssl'

OpenSSL::BN
.new(5) <=> 5 # => 0

OpenSSL::BN
.new(5) <=> OpenSSL::BN.new(9) # => -1
OpenSSL::BN
.new(5) <=> OpenSSL::BN.new(5) # => 0
OpenSSL::BN
.new(5) <=> OpenSSL::BN.new(-5) # => 1
//}

@param other 比較する整数
@raise T...

OpenSSL::BN#coerce(other) -> Array (4.0)

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

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

基本的に other が整数のときに、自身を Integer のオブジェクトに
変換して [other, 変換後オブジェクト] にして返します。
それ以外の場合は例外 TypeError を発生させます。

//emlist[][ruby]{
require 'openssl'
p 1.to_bn.coerce(2) # => [2, 1]
//}

@param other 変換の基準となるオブジェクト
@raise TypeError 変換に失敗した場合に発...

絞り込み条件を変える

OpenSSL::BN#copy(other) -> self (4.0)

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

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

@param other コピーする OpenSSL::BN のオブジェクト
@raise OpenSSL::BNError コピーに失敗...

OpenSSL::BN#eql?(other) -> bool (4.0)

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

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

@param other 比較する数

OpenSSL::BN#gcd(other) -> OpenSSL::BN (4.0)

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

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

@param other 自身との GCD を計算する数
@raise OpenSSL::BNError 計算時エラー...

OpenSSL::BN#lshift!(n) -> self (4.0)

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

...す。
OpenSSL::BN
#<<と異なり、破壊的メソッドです。

//emlist[][ruby]{
require 'openssl'

bn = 1.to_bn
bn.lshift!(2) # => #<OpenSSL::BN 4>
bn # => #<OpenSSL::BN 4>
//}

@param n シフトするビット数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#<<...

OpenSSL::BN#mask_bits!(n) -> self (4.0)

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

...い場合は例外 OpenSSL::BNError
が発生します。

//emlist[][ruby]{
require 'openssl'

bn = 0b1111_1111.to_bn

bn.mask_bits!(8)
p "%b" % bn # => "11111111"

bn.mask_bits!(3)
p "%b" % bn # => "111"
//}

@param n マスクするビット数
@raise OpenSSL::BNError 計算時エ...

絞り込み条件を変える

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

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

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

//emlist[][ruby]{
require 'openssl'

OpenSSL::BN
.new("7").mod_add(OpenSSL::BN.new("3"), OpenSSL::BN.new("6")) # => 4
//}

@param other 和を取る数
@param m 剰余を取る数
@raise OpenSSL::BNError 計算時エラー...

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

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

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

//emlist[][ruby]{
require 'openssl'

OpenSSL::BN
.new("7").mod_exp(OpenSSL::BN.new("3"), OpenSSL::BN.new("6")) # => 1
//}

@param other 指数
@param m 剰余を取る数
@raise OpenSSL::BNError 計算時エラー...

OpenSSL::BN#mod_inverse(m) -> OpenSSL::BN (4.0)

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

...(self * r) % m == 1 となる r を返します。
存在しない場合は例外 OpenSSL::BNError が発生します。

//emlist[][ruby]{
require 'openssl'

p 3.to_bn.mod_inverse(5) # => 2
p (3 * 2) % 5 # => 1
//}

@param m mod を取る数
@raise OpenSSL::BNError 計算時エラー...

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

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

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

//emlist[][ruby]{
require 'openssl'

OpenSSL::BN
.new("7").mod_mul(OpenSSL::BN.new("3"), OpenSSL::BN.new("6")) # => 3
//}

@param other 積を取る数
@param m 剰余を取る数
@raise OpenSSL::BNError 計算時エラー...

OpenSSL::BN#mod_sqr(m) -> OpenSSL::BN (4.0)

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

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

@param m mod を取る数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#sqr...

絞り込み条件を変える

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

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

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

//emlist[][ruby]{
require 'openssl'

OpenSSL::BN
.new("27").mod_sub(OpenSSL::BN.new("3"), OpenSSL::BN.new("5")) # => 4
//}

@param other 引く数
@param m 剰余を取る数
@raise OpenSSL::BNError 計算時エラー...

OpenSSL::BN#negative? -> bool (4.0)

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

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

//emlist[][ruby]{
require 'openssl'
p 15.to_bn.negative? # => false
p 0.to_bn.negative? # => false
p (-5).to_bn.negative? # => true
//}

OpenSSL::BN#num_bits -> Integer (4.0)

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

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

符号は無視されます。

//emlist[][ruby]{
require 'openssl'

OpenSSL::BN
.new("127").num_bits # => 7
OpenSSL::BN
.new("-127").num_bits # => 7
OpenSSL::BN
.new("128").num_bits # => 8
//}...

OpenSSL::BN#num_bytes -> Integer (4.0)

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

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

//emlist[][ruby]{
require 'openssl'

p 0.to_bn.num_bytes # => 0
p 255.to_bn.num_bytes # => 1
p 256.to_bn.num_bytes # => 2

p 0b111_11111.to_bn.num_bytes # => 1
p 0b1000_00000.to_bn.num_bytes # => 2
//}

OpenSSL::BN#odd? -> bool (4.0)

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

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

絞り込み条件を変える

OpenSSL::BN#one? -> bool (4.0)

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

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

OpenSSL::BN#pretty_print(pp) (4.0)

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

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

//emlist[][ruby]{
require 'openssl'

pp 5.to_bn #=> #<OpenSSL::BN 5>
pp (-5).to_bn #=> #<OpenSSL::BN -5>
//}

@param pp PP クラスのインスタンスオブジェクト...

OpenSSL::BN#prime? -> bool (4.0)

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

...に判定します。
checkで指定した回数だけ繰り返します。
引数を省略した場合は OpenSSL が適切な
回数を判断します。

@param check Miller-Robin 法の繰り返しの回数
@raise OpenSSL::BNError 判定時にエラーが発生
@see OpenSSL::BN#prime_fasttest?...

OpenSSL::BN#prime?(checks) -> bool (4.0)

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

...に判定します。
checkで指定した回数だけ繰り返します。
引数を省略した場合は OpenSSL が適切な
回数を判断します。

@param check Miller-Robin 法の繰り返しの回数
@raise OpenSSL::BNError 判定時にエラーが発生
@see OpenSSL::BN#prime_fasttest?...

OpenSSL::BN#prime_fasttest?(checks=nil, vtrivdiv=true) -> bool (4.0)

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

...ある
OpenSSL::BN
.new("181").prime_fasttest?(nil, true) # => false
OpenSSL::BN
.new("181").prime_fasttest?(nil, false) # => true
//}

@param checks Miller-Robin法の繰り返しの回数
@param vtrivdiv 真なら小さな素数で割ることでの素数判定を試みます
@raise OpenSSL::BNError...
...判定時にエラーが発生
@see OpenSSL::BN#prime?...

絞り込み条件を変える

OpenSSL::BN#rshift!(n) -> self (4.0)

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

...[[m:OpenSSL::BN#>>]と異なり、破壊的メソッドです。

//emlist[][ruby]{
require 'openssl'

bn = 8.to_bn
bn.rshift!(1) # => #<OpenSSL::BN 4>
bn # => #<OpenSSL::BN 4>
//}

@param n シフトするビット数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#>>...

OpenSSL::BN#set_bit!(n) -> self (4.0)

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

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

//emlist[][ruby]{
require 'openssl'

a = OpenSSL::BN.new("128")
a.set_bit!(0)
a # => 129
//}

@param n 1にするビットの位置
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::clear_bit!, OpenSSL::bit_set?...

OpenSSL::BN#sqr -> OpenSSL::BN (4.0)

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

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

@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#mod_sqr...

OpenSSL::BN#to_bn -> self (4.0)

自分自身を返します。

自分自身を返します。

OpenSSL::BN#to_i -> Integer (4.0)

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

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

@raise OpenSSL::BNError 変換に失敗した場合に発生します...

絞り込み条件を変える

OpenSSL::BN#to_int -> Integer (4.0)

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

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

@raise OpenSSL::BNError 変換に失敗した場合に発生します...

OpenSSL::BN#to_s(base=10) -> String (4.0)

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

...-endianの符号無し整数のバイナリ列
0 MPI形式の文字列(バイト列)

@param base 文字列への変換方法(基数)
@raise OpenSSL::BNError 変換に失敗した場合に発生します

//emlist[][ruby]{
require 'openssl'

p 10.to_bn.to_s # => "10"
p (-5).to_bn.to_s # => "...
...o_s(2) # => "\a"

p 0.to_bn.to_s(0) # => "\x00\x00\x00\x00"
p 6.to_bn.to_s(0) # => "\x00\x00\x00\x01\x06"
p 7.to_bn.to_s(0) # => "\x00\x00\x00\x01\a"
//}

反対に、文字列から OpenSSL::BN クラスのインスタンスを作るには
OpenSSL::BN
.new を用います。

@see OpenSSL::BN.new...

OpenSSL::BN#ucmp(other) -> -1 | 0 | 1 (4.0)

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

...1 を返します。

//emlist[][ruby]{
require 'openssl'

OpenSSL::BN
.new(-5).ucmp(5) # => 0

OpenSSL::BN
.new(5).ucmp(OpenSSL::BN.new(-9)) # => -1
OpenSSL::BN
.new(-5).ucmp(OpenSSL::BN.new(5)) # => 0
OpenSSL::BN
.new(-5).ucmp(OpenSSL::BN.new(2)) # => 1
//}

@param other 比較する整数
@ra...
...ise TypeError 比較できないときに発生します。
@see OpenSSL::BN#cmp...

OpenSSL::BN#zero? -> bool (4.0)

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

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

OpenSSL::BN.generate_prime(bits, safe=true, add=nil, rem=nil) -> OpenSSL::BN (4.0)

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

...す。

@param bits 生成するランダム素数のビット数
@param safe true で安全な素数のみを生成する
@param add 生成する素数の剰余の条件
@param rem 生成する素数の剰余の条件
@raise OpenSSL::BNError 素数の生成に失敗した場合に発生します...

絞り込み条件を変える

OpenSSL::BN.new(bn) -> OpenSSL::BN (4.0)

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

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

@param bn 複製する OpenSSL::BN オブジェクト...

OpenSSL::BN.new(integer) -> OpenSSL::BN (4.0)

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

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

@param integer 整数オブジェクト
@see Integer#to_bn...

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

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

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

base で、変換方法(基数)を指定します。
デフォルトは 10 で、他に 16, 2, 0 を指定できます。

10 引数の文字列を 10進数とみなして、変換します。
16 引数の文字...
...ire 'openssl'

OpenSSL::BN
.new("-241") # => -241
OpenSSL::BN
.new("ff00",16) # => 65280
OpenSSL::BN
.new("\x81",2) # => 129
OpenSSL::BN
.new("\xff\x81",2) # => 65409
OpenSSL::BN
.new("\x00\x00\x00\x02\x00\x81", 0) # => 129
OpenSSL::BN
.new("\x00\x00\x00\x02\x80\x81", 0) # => -129
OpenSSL::BN
.new(1209) #...
...を表す文字列
@param base 文字列から整数に変換するときの基数
@raise OpenSSL::BNError 変換に失敗した場合に発生します

反対に、OpenSSL::BN クラスのオブジェクトを文字列にするには、
OpenSSL::BN
#to_s を用います。

@see OpenSSL::BN#to_s...

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

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

...@param bits 発生させる数のビット数
@param fill 上位ビットの性質を決める整数
@param odd 真なら発生させる数は奇数のみとなる
@raise OpenSSL::BNError 乱数の生成に失敗した場合に発生します
@see OpenSSL::BN.rand, OpenSSL::BN.pseudo_rand_range...

OpenSSL::BN.pseudo_rand_range(range) -> OpenSSL::BN (4.0)

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

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

乱数系列に暗号論的な強さはありません。

@param range 生成する乱数の範囲
@raise OpenSSL::BNError 乱数の生成に失敗した場合に発生します
@see OpenSSL::BN.pseudo_rand, OpenSSL::BN.rand_range...

絞り込み条件を変える

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

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

...@param bits 発生させる数のビット数
@param fill 上位ビットの性質を決める整数
@param odd 真なら発生させる数は奇数のみとなる
@raise OpenSSL::BNError 乱数の生成に失敗した場合に発生します
@see OpenSSL::BN.pseudo_rand, OpenSSL::BN.rand_range...

OpenSSL::BN.rand_range(range) -> OpenSSL::BN (4.0)

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

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

@param range 生成する乱数の範囲
@raise OpenSSL::BNError 乱数の生成に失敗した場合に発生します
@see OpenSSL::BN.rand, OpenSSL::BN.pseudo_rand_range...