るりまサーチ (Ruby 3.3)

最速Rubyリファレンスマニュアル検索!
9件ヒット [1-9件を表示] (0.007秒)

別のキーワード

  1. openssl to_bn
  2. bn new
  3. bn prime?
  4. new openssl::bn

ライブラリ

クラス

キーワード

検索結果

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

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

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

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

OpenSSL::BN#mod_add(other, m) -> OpenSSL::BN (9406.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 (9406.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_mul(other, m) -> OpenSSL::BN (9406.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_sub(other, m) -> OpenSSL::BN (9406.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#mod_sqr(m) -> OpenSSL::BN (9370.0)

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

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

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

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

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

自身の 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.generate_prime(bits, safe=true, add=nil, rem=nil) -> OpenSSL::BN (9322.0)

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

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

暗号的に意味のある素数は十分大きくないといけないので、
bits が小さすぎる場合は期待する結果を返しません。

safe が真であれば、「安全な」素数((p-1)/2が素数である素数p)を
返します。

add に整数を渡すと、 p % add == rem であるような
素数pのみを返します。rem が nil の場合は rem=1と見なします。

@param bits 生成するランダム素数のビット数
@param safe true で安全な素数のみを生成する
@param add 生成する素数の剰余の条件
@param ...

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

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

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

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 計算時エラー