bn_mp_read_unsigned_bin.c

来自「tommath库」· C语言 代码 · 共 53 行

C
53
字号
#include <tommath.h>#ifdef BN_MP_READ_UNSIGNED_BIN_C/* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is a library that provides multiple-precision * integer arithmetic as well as number theoretic functionality. * * The library was designed directly after the MPI library by * Michael Fromberger but has been written from scratch with * additional optimizations in place. * * The library is free for all purposes without any express * guarantee it works. * * Tom St Denis, tomstdenis@iahu.ca, http://math.libtomcrypt.org *//* reads a unsigned char array, assumes the msb is stored first [big endian] */intmp_read_unsigned_bin (mp_int * a, unsigned char *b, int c){  int     res;  /* make sure there are at least two digits */  if (a->alloc < 2) {     if ((res = mp_grow(a, 2)) != MP_OKAY) {        return res;     }  }  /* zero the int */  mp_zero (a);  /* read the bytes in */  while (c-- > 0) {    if ((res = mp_mul_2d (a, 8, a)) != MP_OKAY) {      return res;    }#ifndef MP_8BIT      a->dp[0] |= *b++;      a->used += 1;#else      a->dp[0] = (*b & MP_MASK);      a->dp[1] |= ((*b++ >> 7U) & 1);      a->used += 2;#endif  }  mp_clamp (a);  return MP_OKAY;}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?