Struct openssl::bn::BigNumRef []

pub struct BigNumRef(_);

Methods

impl BigNumRef
[src]

[src]

Erases the memory used by this BigNum, resetting its value to 0.

This can be used to destroy sensitive data such as keys when they are no longer needed.

[src]

Adds a u32 to self.

[src]

Subtracts a u32 from self.

[src]

Multiplies a u32 by self.

[src]

Divides self by a u32, returning the remainder.

[src]

Returns the result of self modulo w.

[src]

Places a cryptographically-secure pseudo-random number nonnegative number less than self in rnd.

[src]

The cryptographically weak counterpart to rand_in_range.

[src]

Sets bit n. Equivalent to self |= (1 << n).

When setting a bit outside of self, it is expanded.

[src]

Clears bit n, setting it to 0. Equivalent to self &= ~(1 << n).

When clearing a bit outside of self, an error is returned.

[src]

Returns true if the nth bit of self is set to 1, false otherwise.

[src]

Truncates self to the lowest n bits.

An error occurs if self is already shorter than n bits.

[src]

Places a << 1 in self.

[src]

Places a >> 1 in self.

[src]

Places a + b in self.

[src]

Places a - b in self.

[src]

Places a << n in self.

[src]

Places a >> n in self.

[src]

[src]

Sets the sign of self.

[src]

Compare the absolute values of self and oth.

let s = -BigNum::from_u32(8).unwrap();
let o = BigNum::from_u32(8).unwrap();

assert_eq!(s.ucmp(&o), Ordering::Equal);

[src]

[src]

Returns the number of significant bits in self.

[src]

Returns the size of self in bytes.

[src]

Generates a cryptographically strong pseudo-random BigNum, placing it in self.

Parameters

  • bits: Length of the number in bits.
  • msb: The desired properties of the number.
  • odd: If true, the generated number will be odd.

[src]

The cryptographically weak counterpart to rand.

[src]

Generates a prime number, placing it in self.

Parameters

  • bits: The length of the prime in bits (lower bound).
  • safe: If true, returns a "safe" prime p so that (p-1)/2 is also prime.
  • add/rem: If add is set to Some(add), p % add == rem will hold, where p is the generated prime and rem is 1 if not specified (None).

[src]

Places the result of a * b in self.

[src]

Places the result of a / b in self.

[src]

Places the result of a % b in self.

[src]

Places the result of a / b in self and a % b in rem.

[src]

Places the result of in self.

[src]

Places the result of a mod m in self.

[src]

Places the result of (a + b) mod m in self.

[src]

Places the result of (a - b) mod m in self.

[src]

Places the result of (a * b) mod m in self.

[src]

Places the result of a² mod m in self.

[src]

Places the result of a^p in self.

[src]

Places the result of a^p mod m in self.

[src]

Places the inverse of a modulo n in self.

[src]

Places the greatest common denominator of a and b in self.

[src]

Checks whether self is prime.

Performs a Miller-Rabin probabilistic primality test with checks iterations.

Returns true if self is prime with an error probability of less than 0.25 ^ checks.

[src]

Checks whether self is prime with optional trial division.

If do_trial_division is true, first performs trial division by a number of small primes. Then, like is_prime, performs a Miller-Rabin probabilistic primality test with checks iterations.

Return Value

Returns true if self is prime with an error probability of less than 0.25 ^ checks.

[src]

Returns a big-endian byte vector representation of the absolute value of self.

self can be recreated by using from_slice.

let s = -BigNum::from_u32(4543).unwrap();
let r = BigNum::from_u32(4543).unwrap();

let s_vec = s.to_vec();
assert_eq!(BigNum::from_slice(&s_vec).unwrap(), r);

[src]

Returns a decimal string representation of self.

let s = -BigNum::from_u32(12345).unwrap();

assert_eq!(&**s.to_dec_str().unwrap(), "-12345");

[src]

Returns a hexadecimal string representation of self.

let s = -BigNum::from_u32(0x99ff).unwrap();

assert_eq!(&**s.to_hex_str().unwrap(), "-99FF");

[src]

Returns an Asn1Integer containing the value of self.

Trait Implementations

impl ForeignTypeRef for BigNumRef

The raw C type.

[src]

Constructs a shared instance of this type from its raw type.

[src]

Constructs a mutable reference of this type from its raw type.

[src]

Returns a raw pointer to the wrapped value.

impl Debug for BigNumRef
[src]

[src]

Formats the value using the given formatter.

impl Display for BigNumRef
[src]

[src]

Formats the value using the given formatter. Read more

impl PartialEq<BigNumRef> for BigNumRef
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

1.0.0
[src]

This method tests for !=.

impl PartialEq<BigNum> for BigNumRef
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

1.0.0
[src]

This method tests for !=.

impl Eq for BigNumRef
[src]

impl PartialOrd<BigNumRef> for BigNumRef
[src]

[src]

This method returns an ordering between self and other values if one exists. Read more

1.0.0
[src]

This method tests less than (for self and other) and is used by the < operator. Read more

1.0.0
[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

1.0.0
[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

1.0.0
[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl PartialOrd<BigNum> for BigNumRef
[src]

[src]

This method returns an ordering between self and other values if one exists. Read more

1.0.0
[src]

This method tests less than (for self and other) and is used by the < operator. Read more

1.0.0
[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

1.0.0
[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

1.0.0
[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Ord for BigNumRef
[src]

[src]

This method returns an Ordering between self and other. Read more

[src]

🔬 This is a nightly-only experimental API. (ord_max_min)

Compares and returns the maximum of two values. Read more

[src]

🔬 This is a nightly-only experimental API. (ord_max_min)

Compares and returns the minimum of two values. Read more

impl<'a, 'b> Add<&'b BigNumRef> for &'a BigNumRef
[src]

The resulting type after applying the + operator.

[src]

Performs the + operation.

impl<'a, 'b> Add<&'b BigNum> for &'a BigNumRef
[src]

The resulting type after applying the + operator.

[src]

Performs the + operation.

impl<'a, 'b> Sub<&'b BigNumRef> for &'a BigNumRef
[src]

The resulting type after applying the - operator.

[src]

Performs the - operation.

impl<'a, 'b> Sub<&'b BigNum> for &'a BigNumRef
[src]

The resulting type after applying the - operator.

[src]

Performs the - operation.

impl<'a, 'b> Mul<&'b BigNumRef> for &'a BigNumRef
[src]

The resulting type after applying the * operator.

[src]

Performs the * operation.

impl<'a, 'b> Mul<&'b BigNum> for &'a BigNumRef
[src]

The resulting type after applying the * operator.

[src]

Performs the * operation.

impl<'a, 'b> Div<&'b BigNumRef> for &'a BigNumRef
[src]

The resulting type after applying the / operator.

[src]

Performs the / operation.

impl<'a, 'b> Div<&'b BigNum> for &'a BigNumRef
[src]

The resulting type after applying the / operator.

[src]

Performs the / operation.

impl<'a, 'b> Rem<&'b BigNumRef> for &'a BigNumRef
[src]

The resulting type after applying the % operator.

[src]

Performs the % operation.

impl<'a, 'b> Rem<&'b BigNum> for &'a BigNumRef
[src]

The resulting type after applying the % operator.

[src]

Performs the % operation.

impl<'a> Shl<i32> for &'a BigNumRef
[src]

The resulting type after applying the << operator.

[src]

Performs the << operation.

impl<'a> Shr<i32> for &'a BigNumRef
[src]

The resulting type after applying the >> operator.

[src]

Performs the >> operation.

impl<'a> Neg for &'a BigNumRef
[src]

The resulting type after applying the - operator.

[src]

Performs the unary - operation.