From 4ca669942187c2c5fd758358f7a29772451f9c8b Mon Sep 17 00:00:00 2001 From: schwarze <> Date: Sat, 5 Nov 2016 20:36:11 +0000 Subject: document BN_set_negative() and BN_is_negative(); feedback and OK bcook@, OK jsing@ --- src/lib/libcrypto/man/BN_add.3 | 3 +- src/lib/libcrypto/man/BN_set_bit.3 | 6 +- src/lib/libcrypto/man/BN_set_negative.3 | 56 ++++ src/lib/libcrypto/man/BN_zero.3 | 6 +- src/lib/libcrypto/man/Makefile | 3 +- src/lib/libcrypto/man/bn.3 | 511 +------------------------------- 6 files changed, 69 insertions(+), 516 deletions(-) create mode 100644 src/lib/libcrypto/man/BN_set_negative.3 diff --git a/src/lib/libcrypto/man/BN_add.3 b/src/lib/libcrypto/man/BN_add.3 index d41599d8b0..de5caaf403 100644 --- a/src/lib/libcrypto/man/BN_add.3 +++ b/src/lib/libcrypto/man/BN_add.3 @@ -1,4 +1,4 @@ -.Dd $Mdocdate: February 23 2015 $ +.Dd $Mdocdate: November 5 2016 $ .Dt BN_ADD 3 .Os .Sh NAME @@ -325,6 +325,7 @@ The error codes can be obtained by .Xr BN_add_word 3 , .Xr BN_CTX_new 3 , .Xr BN_set_bit 3 , +.Xr BN_set_negative 3 , .Xr ERR_get_error 3 .Sh HISTORY .Fn BN_add , diff --git a/src/lib/libcrypto/man/BN_set_bit.3 b/src/lib/libcrypto/man/BN_set_bit.3 index 4a199cd0d0..75c2379239 100644 --- a/src/lib/libcrypto/man/BN_set_bit.3 +++ b/src/lib/libcrypto/man/BN_set_bit.3 @@ -1,4 +1,4 @@ -.Dd $Mdocdate: February 23 2015 $ +.Dd $Mdocdate: November 5 2016 $ .Dt BN_SET_BIT 3 .Os .Sh NAME @@ -143,7 +143,9 @@ The error codes can be obtained by .Sh SEE ALSO .Xr bn 3 , .Xr BN_add 3 , -.Xr BN_num_bytes 3 +.Xr BN_num_bytes 3 , +.Xr BN_set_negative 3 , +.Xr BN_zero 3 .Sh HISTORY .Fn BN_set_bit , .Fn BN_clear_bit , diff --git a/src/lib/libcrypto/man/BN_set_negative.3 b/src/lib/libcrypto/man/BN_set_negative.3 new file mode 100644 index 0000000000..871de9272e --- /dev/null +++ b/src/lib/libcrypto/man/BN_set_negative.3 @@ -0,0 +1,56 @@ +.\" $OpenBSD: BN_set_negative.3,v 1.1 2016/11/05 20:36:11 schwarze Exp $ +.\" +.\" Copyright (c) 2016 Ingo Schwarze +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd $Mdocdate: November 5 2016 $ +.Dt BN_SET_NEGATIVE 3 +.Os +.Sh NAME +.Nm BN_set_negative , +.Nm BN_is_negative +.Nd change and inspect the sign of a BIGNUM +.Sh SYNOPSIS +.Ft void +.Fo BN_set_negative +.Fa "BIGNUM *b" +.Fa "int n" +.Fc +.Ft int +.Fo BN_is_negative +.Fa "const BIGNUM *b" +.Fc +.Sh DESCRIPTION +.Fn BN_set_negative +sets +.Fa b +to negative if both +.Fa b +and +.Fa n +are nonzero, otherwise it sets it to positive. +.Pp +.Fn BN_is_negative +tests the sign of +.Fa b . +It is currently implemented as a macro. +.Sh RETURN VALUES +.Fn BN_is_negative +returns 1 if +.Fa b +is negative or 0 otherwise. +.Sh SEE ALSO +.Xr BN_add 3 , +.Xr BN_set_bit 3 , +.Xr BN_zero 3 diff --git a/src/lib/libcrypto/man/BN_zero.3 b/src/lib/libcrypto/man/BN_zero.3 index adfd6a0c65..8e3dd7f6a3 100644 --- a/src/lib/libcrypto/man/BN_zero.3 +++ b/src/lib/libcrypto/man/BN_zero.3 @@ -1,4 +1,4 @@ -.Dd $Mdocdate: February 23 2015 $ +.Dd $Mdocdate: November 5 2016 $ .Dt BN_ZERO 3 .Os .Sh NAME @@ -75,7 +75,9 @@ return 1 on success, 0 otherwise. returns the constant. .Sh SEE ALSO .Xr bn 3 , -.Xr BN_bn2bin 3 +.Xr BN_bn2bin 3 , +.Xr BN_set_bit 3 , +.Xr BN_set_negative 3 .Sh HISTORY .Fn BN_zero , .Fn BN_one , diff --git a/src/lib/libcrypto/man/Makefile b/src/lib/libcrypto/man/Makefile index fd422f02dc..718bf91e61 100644 --- a/src/lib/libcrypto/man/Makefile +++ b/src/lib/libcrypto/man/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.49 2016/11/05 15:01:54 schwarze Exp $ +# $OpenBSD: Makefile,v 1.50 2016/11/05 20:36:11 schwarze Exp $ .include @@ -47,6 +47,7 @@ MAN= \ BN_num_bytes.3 \ BN_rand.3 \ BN_set_bit.3 \ + BN_set_negative.3 \ BN_swap.3 \ BN_zero.3 \ BUF_MEM_new.3 \ diff --git a/src/lib/libcrypto/man/bn.3 b/src/lib/libcrypto/man/bn.3 index 6406be1663..090fe5536a 100644 --- a/src/lib/libcrypto/man/bn.3 +++ b/src/lib/libcrypto/man/bn.3 @@ -6,516 +6,6 @@ .Nd multiprecision integer arithmetics .Sh SYNOPSIS .In openssl/bn.h -.Ft BIGNUM * -.Fn BN_new void -.Ft void -.Fo BN_free -.Fa "BIGNUM *a" -.Fc -.Ft void -.Fo BN_init -.Fa "BIGNUM *" -.Fc -.Ft void -.Fo BN_clear -.Fa "BIGNUM *a" -.Fc -.Ft void -.Fo BN_clear_free -.Fa "BIGNUM *a" -.Fc -.Ft BN_CTX * -.Fn BN_CTX_new void -.Ft void -.Fo BN_CTX_init -.Fa "BN_CTX *c" -.Fc -.Ft void -.Fo BN_CTX_free -.Fa "BN_CTX *c" -.Fc -.Ft BIGNUM * -.Fo BN_copy -.Fa "BIGNUM *a" -.Fa "const BIGNUM *b" -.Fc -.Ft BIGNUM * -.Fo BN_dup -.Fa "const BIGNUM *a" -.Fc -.Ft BIGNUM * -.Fo BN_swap -.Fa "BIGNUM *a" -.Fa "BIGNUM *b" -.Fc -.Ft int -.Fo BN_num_bytes -.Fa "const BIGNUM *a" -.Fc -.Ft int -.Fo BN_num_bits -.Fa "const BIGNUM *a" -.Fc -.Ft int -.Fo BN_num_bits_word -.Fa "BN_ULONG w" -.Fc -.Ft void -.Fo BN_set_negative -.Fa "BIGNUM *a" -.Fa "int n" -.Fc -.Ft int -.Fo BN_is_negative -.Fa "const BIGNUM *a" -.Fc -.Ft int -.Fo BN_add -.Fa "BIGNUM *r" -.Fa "const BIGNUM *a" -.Fa "const BIGNUM *b" -.Fc -.Ft int -.Fo BN_sub -.Fa "BIGNUM *r" -.Fa "const BIGNUM *a" -.Fa "const BIGNUM *b" -.Fc -.Ft int -.Fo BN_mul -.Fa "BIGNUM *r" -.Fa "BIGNUM *a" -.Fa "BIGNUM *b" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_sqr -.Fa "BIGNUM *r" -.Fa "BIGNUM *a" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_div -.Fa "BIGNUM *dv" -.Fa "BIGNUM *rem" -.Fa "const BIGNUM *a" -.Fa "const BIGNUM *d" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_mod -.Fa "BIGNUM *rem" -.Fa "const BIGNUM *a" -.Fa "const BIGNUM *m" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_nnmod -.Fa "BIGNUM *rem" -.Fa "const BIGNUM *a" -.Fa "const BIGNUM *m" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_mod_add -.Fa "BIGNUM *ret" -.Fa "BIGNUM *a" -.Fa "BIGNUM *b" -.Fa "const BIGNUM *m" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_mod_sub -.Fa "BIGNUM *ret" -.Fa "BIGNUM *a" -.Fa "BIGNUM *b" -.Fa "const BIGNUM *m" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_mod_mul -.Fa "BIGNUM *ret" -.Fa "BIGNUM *a" -.Fa "BIGNUM *b" -.Fa "const BIGNUM *m" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_mod_sqr -.Fa "BIGNUM *ret" -.Fa "BIGNUM *a" -.Fa "const BIGNUM *m" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_exp -.Fa "BIGNUM *r" -.Fa "BIGNUM *a" -.Fa "BIGNUM *p" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_mod_exp -.Fa "BIGNUM *r" -.Fa "BIGNUM *a" -.Fa "const BIGNUM *p" -.Fa "const BIGNUM *m" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_gcd -.Fa "BIGNUM *r" -.Fa "BIGNUM *a" -.Fa "BIGNUM *b" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_add_word -.Fa "BIGNUM *a" -.Fa "BN_ULONG w" -.Fc -.Ft int -.Fo BN_sub_word -.Fa "BIGNUM *a" -.Fa "BN_ULONG w" -.Fc -.Ft int -.Fo BN_mul_word -.Fa "BIGNUM *a" -.Fa "BN_ULONG w" -.Fc -.Ft BN_ULONG -.Fo BN_div_word -.Fa "BIGNUM *a" -.Fa "BN_ULONG w" -.Fc -.Ft BN_ULONG -.Fo BN_mod_word -.Fa "const BIGNUM *a" -.Fa "BN_ULONG w" -.Fc -.Ft int -.Fo BN_cmp -.Fa "BIGNUM *a" -.Fa "BIGNUM *b" -.Fc -.Ft int -.Fo BN_ucmp -.Fa "BIGNUM *a" -.Fa "BIGNUM *b" -.Fc -.Ft int -.Fo BN_is_zero -.Fa "BIGNUM *a" -.Fc -.Ft int -.Fo BN_is_one -.Fa "BIGNUM *a" -.Fc -.Ft int -.Fo BN_is_word -.Fa "BIGNUM *a" -.Fa "BN_ULONG w" -.Fc -.Ft int -.Fo BN_is_odd -.Fa "BIGNUM *a" -.Fc -.Ft int -.Fo BN_zero -.Fa "BIGNUM *a" -.Fc -.Ft int -.Fo BN_one -.Fa "BIGNUM *a" -.Fc -.Ft const BIGNUM * -.Fn BN_value_one void -.Ft int -.Fo BN_set_word -.Fa "BIGNUM *a" -.Fa "unsigned long w" -.Fc -.Ft unsigned long -.Fo BN_get_word -.Fa "BIGNUM *a" -.Fc -.Ft int -.Fo BN_rand -.Fa "BIGNUM *rnd" -.Fa "int bits" -.Fa "int top" -.Fa "int bottom" -.Fc -.Ft int -.Fo BN_pseudo_rand -.Fa "BIGNUM *rnd" -.Fa "int bits" -.Fa "int top" -.Fa "int bottom" -.Fc -.Ft int -.Fo BN_rand_range -.Fa "BIGNUM *rnd" -.Fa "BIGNUM *range" -.Fc -.Ft int -.Fo BN_pseudo_rand_range -.Fa "BIGNUM *rnd" -.Fa "BIGNUM *range" -.Fc -.Ft BIGNUM * -.Fo BN_generate_prime -.Fa "BIGNUM *ret" -.Fa "int bits" -.Fa "int safe" -.Fa "BIGNUM *add" -.Fa "BIGNUM *rem" -.Fa "void (*callback)(int, int, void *)" -.Fa "void *cb_arg" -.Fc -.Ft int -.Fo BN_is_prime -.Fa "const BIGNUM *p" -.Fa "int nchecks" -.Fa "void (*callback)(int, int, void *)" -.Fa "BN_CTX *ctx" -.Fa "void *cb_arg" -.Fc -.Ft int -.Fo BN_set_bit -.Fa "BIGNUM *a" -.Fa "int n" -.Fc -.Ft int -.Fo BN_clear_bit -.Fa "BIGNUM *a" -.Fa "int n" -.Fc -.Ft int -.Fo BN_is_bit_set -.Fa "const BIGNUM *a" -.Fa "int n" -.Fc -.Ft int -.Fo BN_mask_bits -.Fa "BIGNUM *a" -.Fa "int n" -.Fc -.Ft int -.Fo BN_lshift -.Fa "BIGNUM *r" -.Fa "const BIGNUM *a" -.Fa "int n" -.Fc -.Ft int -.Fo BN_lshift1 -.Fa "BIGNUM *r" -.Fa "BIGNUM *a" -.Fc -.Ft int -.Fo BN_rshift -.Fa "BIGNUM *r" -.Fa "BIGNUM *a" -.Fa "int n" -.Fc -.Ft int -.Fo BN_rshift1 -.Fa "BIGNUM *r" -.Fa "BIGNUM *a" -.Fc -.Ft int -.Fo BN_bn2bin -.Fa "const BIGNUM *a" -.Fa "unsigned char *to" -.Fc -.Ft BIGNUM * -.Fo BN_bin2bn -.Fa "const unsigned char *s" -.Fa "int len" -.Fa "BIGNUM *ret" -.Fc -.Ft char * -.Fo BN_bn2hex -.Fa "const BIGNUM *a" -.Fc -.Ft char * -.Fo BN_bn2dec -.Fa "const BIGNUM *a" -.Fc -.Ft int -.Fo BN_hex2bn -.Fa "BIGNUM **a" -.Fa "const char *str" -.Fc -.Ft int -.Fo BN_dec2bn -.Fa "BIGNUM **a" -.Fa "const char *str" -.Fc -.Ft int -.Fo BN_print -.Fa "BIO *fp" -.Fa "const BIGNUM *a" -.Fc -.Ft int -.Fo BN_print_fp -.Fa "FILE *fp" -.Fa "const BIGNUM *a" -.Fc -.Ft int -.Fo BN_bn2mpi -.Fa "const BIGNUM *a" -.Fa "unsigned char *to" -.Fc -.Ft BIGNUM * -.Fo BN_mpi2bn -.Fa "unsigned char *s" -.Fa "int len" -.Fa "BIGNUM *ret" -.Fc -.Ft BIGNUM * -.Fo BN_mod_inverse -.Fa "BIGNUM *r" -.Fa "BIGNUM *a" -.Fa "const BIGNUM *n" -.Fa "BN_CTX *ctx" -.Fc -.Ft BN_RECP_CTX * -.Fn BN_RECP_CTX_new void -.Ft void -.Fo BN_RECP_CTX_init -.Fa "BN_RECP_CTX *recp" -.Fc -.Ft void -.Fo BN_RECP_CTX_free -.Fa "BN_RECP_CTX *recp" -.Fc -.Ft int -.Fo BN_RECP_CTX_set -.Fa "BN_RECP_CTX *recp" -.Fa "const BIGNUM *m" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_mod_mul_reciprocal -.Fa "BIGNUM *r" -.Fa "BIGNUM *a" -.Fa "BIGNUM *b" -.Fa "BN_RECP_CTX *recp" -.Fa "BN_CTX *ctx" -.Fc -.Ft BN_MONT_CTX * -.Fn BN_MONT_CTX_new void -.Ft void -.Fo BN_MONT_CTX_init -.Fa "BN_MONT_CTX *ctx" -.Fc -.Ft void -.Fo BN_MONT_CTX_free -.Fa "BN_MONT_CTX *mont" -.Fc -.Ft int -.Fo BN_MONT_CTX_set -.Fa "BN_MONT_CTX *mont" -.Fa "const BIGNUM *m" -.Fa "BN_CTX *ctx" -.Fc -.Ft BN_MONT_CTX * -.Fo BN_MONT_CTX_copy -.Fa "BN_MONT_CTX *to" -.Fa "BN_MONT_CTX *from" -.Fc -.Ft int -.Fo BN_mod_mul_montgomery -.Fa "BIGNUM *r" -.Fa "BIGNUM *a" -.Fa "BIGNUM *b" -.Fa "BN_MONT_CTX *mont" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_from_montgomery -.Fa "BIGNUM *r" -.Fa "BIGNUM *a" -.Fa "BN_MONT_CTX *mont" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_to_montgomery -.Fa "BIGNUM *r" -.Fa "BIGNUM *a" -.Fa "BN_MONT_CTX *mont" -.Fa "BN_CTX *ctx" -.Fc -.Ft BN_BLINDING * -.Fo BN_BLINDING_new -.Fa "const BIGNUM *A" -.Fa "const BIGNUM *Ai" -.Fa "BIGNUM *mod" -.Fc -.Ft void -.Fo BN_BLINDING_free -.Fa "BN_BLINDING *b" -.Fc -.Ft int -.Fo BN_BLINDING_update -.Fa "BN_BLINDING *b" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_BLINDING_convert -.Fa "BIGNUM *n" -.Fa "BN_BLINDING *b" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_BLINDING_invert -.Fa "BIGNUM *n" -.Fa "BN_BLINDING *b" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_BLINDING_convert_ex -.Fa "BIGNUM *n" -.Fa "BIGNUM *r" -.Fa "BN_BLINDING *b" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_BLINDING_invert_ex -.Fa "BIGNUM *n" -.Fa "const BIGNUM *r" -.Fa "BN_BLINDING *b" -.Fa "BN_CTX *ctx" -.Fc -.Ft unsigned long -.Fo BN_BLINDING_get_thread_id -.Fa "const BN_BLINDING *" -.Fc -.Ft void -.Fo BN_BLINDING_set_thread_id -.Fa "BN_BLINDING *" -.Fa "unsigned long" -.Fc -.Ft unsigned long -.Fo BN_BLINDING_get_flags -.Fa "const BN_BLINDING *" -.Fc -.Ft void -.Fo BN_BLINDING_set_flags -.Fa "BN_BLINDING *" -.Fa "unsigned long" -.Fc -.Ft BN_BLINDING * -.Fo BN_BLINDING_create_param -.Fa "BN_BLINDING *b" -.Fa "const BIGNUM *e" -.Fa "BIGNUM *m" -.Fa "BN_CTX *ctx" -.Fa "int (*bn_mod_exp)(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx)" -.Fa "BN_MONT_CTX *m_ctx" -.Fc .Sh DESCRIPTION This library performs arithmetic operations on integers of arbitrary size. It was written for use in public key cryptography, such as RSA and @@ -569,6 +59,7 @@ to external formats is described in .Xr BN_num_bytes 3 , .Xr BN_rand 3 , .Xr BN_set_bit 3 , +.Xr BN_set_negative 3 , .Xr BN_swap 3 , .Xr BN_zero 3 , .Xr dh 3 , -- cgit v1.2.3-55-g6feb