| 
        BN_set_bit,   BN_clear_bit,  BN_is_bit_set,  BN_mask_bits,
       BN_lshift, BN_lshift1, BN_rshift, BN_rshift1 - Bit  operations
 on BIGNUMs
       #include <openssl/bn.h>
       int BN_set_bit(
               BIGNUM *a, int n ); int BN_clear_bit(
               BIGNUM *a, int n ); int BN_is_bit_set(
               const BIGNUM *a, int n ); int BN_mask_bits(
               BIGNUM *a, int n ); int BN_lshift(
               BIGNUM   *r,   const  BIGNUM  *a,  int  n  );  int
       BN_lshift1(
               BIGNUM *r, BIGNUM *a ); int BN_rshift(
               BIGNUM *r, BIGNUM *a, int n ); int BN_rshift1(
               BIGNUM *r, BIGNUM *a );
       The  BN_set_bit()  function  sets  bit  n  in   a   to   1
       (a|=(1<<n)). The number is expanded if necessary.
       The   BN_clear_bit()  function  sets  bit  n  in  a  to  0
       (a&=~(1<<n)). An error occurs if a is shorter than n bits.
       The BN_is_bit_set() function tests if bit n in a is set.
       The BN_mask_bits() function truncates a to an n bit number
       (a&=~((~0)>>n)).  An error occurs if a already is  shorter
       than n bits.
       The  BN_lshift()  function  shifts  a  left  by n bits and
       places the result in r (r=a*2^n). The  BN_lshift1()  function
  shifts  a  left  by  one  and places the result in r
       (r=2*a).
       The BN_rshift() function shifts a  right  by  n  bits  and
       places  the  result in r (r=a/2^n). The BN_rshift1() function
 shifts a right by one and  places  the  result  in  r
       (r=a/2).
       For the shift functions, r and a may be the same variable.
       The BN_is_bit_set() function returns 1 if the bit is  set,
       0 otherwise.
       All  other functions return 1 for success, 0 on error. The
       error codes can be obtained by using ERR_get_error().
       The   BN_set_bit(),    BN_clear_bit(),    BN_is_bit_set(),
       BN_mask_bits(),  BN_lshift(),  BN_lshift1(),  BN_rshift(),
       and BN_rshift1() functions are available in  all  versions
       of SSLeay and OpenSSL.
       Functions: bn(3), BN_num_bytes(3), BN_add(3)
                                                    BN_set_bit(3)
[ Back ] |