1 | =pod
|
---|
2 |
|
---|
3 | =head1 NAME
|
---|
4 |
|
---|
5 | BN_cmp, BN_ucmp, BN_is_zero, BN_is_one, BN_is_word, BN_abs_is_word, BN_is_odd, BN_are_coprime
|
---|
6 | - BIGNUM comparison and test functions
|
---|
7 |
|
---|
8 | =head1 SYNOPSIS
|
---|
9 |
|
---|
10 | #include <openssl/bn.h>
|
---|
11 |
|
---|
12 | int BN_cmp(const BIGNUM *a, const BIGNUM *b);
|
---|
13 | int BN_ucmp(const BIGNUM *a, const BIGNUM *b);
|
---|
14 |
|
---|
15 | int BN_is_zero(const BIGNUM *a);
|
---|
16 | int BN_is_one(const BIGNUM *a);
|
---|
17 | int BN_is_word(const BIGNUM *a, const BN_ULONG w);
|
---|
18 | int BN_abs_is_word(const BIGNUM *a, const BN_ULONG w);
|
---|
19 | int BN_is_odd(const BIGNUM *a);
|
---|
20 |
|
---|
21 | int BN_are_coprime(BIGNUM *a, const BIGNUM *b, BN_CTX *ctx);
|
---|
22 |
|
---|
23 | =head1 DESCRIPTION
|
---|
24 |
|
---|
25 | BN_cmp() compares the numbers I<a> and I<b>. BN_ucmp() compares their
|
---|
26 | absolute values.
|
---|
27 |
|
---|
28 | BN_is_zero(), BN_is_one(), BN_is_word() and BN_abs_is_word() test if
|
---|
29 | I<a> equals 0, 1, I<w>, or E<verbar>I<w>E<verbar> respectively.
|
---|
30 | BN_is_odd() tests if I<a> is odd.
|
---|
31 |
|
---|
32 | BN_are_coprime() determines if B<a> and B<b> are coprime.
|
---|
33 | B<ctx> is used internally for storing temporary variables.
|
---|
34 | The values of B<a> and B<b> and B<ctx> must not be NULL.
|
---|
35 |
|
---|
36 | =head1 RETURN VALUES
|
---|
37 |
|
---|
38 | BN_cmp() returns -1 if I<a> E<lt> I<b>, 0 if I<a> == I<b> and 1 if
|
---|
39 | I<a> E<gt> I<b>. BN_ucmp() is the same using the absolute values
|
---|
40 | of I<a> and I<b>.
|
---|
41 |
|
---|
42 | BN_is_zero(), BN_is_one() BN_is_word(), BN_abs_is_word() and
|
---|
43 | BN_is_odd() return 1 if the condition is true, 0 otherwise.
|
---|
44 |
|
---|
45 | BN_are_coprime() returns 1 if the B<BIGNUM>'s are coprime, otherwise it
|
---|
46 | returns 0.
|
---|
47 |
|
---|
48 | =head1 HISTORY
|
---|
49 |
|
---|
50 | Prior to OpenSSL 1.1.0, BN_is_zero(), BN_is_one(), BN_is_word(),
|
---|
51 | BN_abs_is_word() and BN_is_odd() were macros.
|
---|
52 |
|
---|
53 | The function BN_are_coprime() was added in OpenSSL 3.1.
|
---|
54 |
|
---|
55 | =head1 COPYRIGHT
|
---|
56 |
|
---|
57 | Copyright 2000-2022 The OpenSSL Project Authors. All Rights Reserved.
|
---|
58 |
|
---|
59 | Licensed under the Apache License 2.0 (the "License"). You may not use
|
---|
60 | this file except in compliance with the License. You can obtain a copy
|
---|
61 | in the file LICENSE in the source distribution or at
|
---|
62 | L<https://www.openssl.org/source/license.html>.
|
---|
63 |
|
---|
64 | =cut
|
---|