bn_mp_dr_is_modulus.c

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

C
40
字号
#include <tommath.h>#ifdef BN_MP_DR_IS_MODULUS_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 *//* determines if a number is a valid DR modulus */int mp_dr_is_modulus(mp_int *a){   int ix;   /* must be at least two digits */   if (a->used < 2) {      return 0;   }   /* must be of the form b**k - a [a <= b] so all    * but the first digit must be equal to -1 (mod b).    */   for (ix = 1; ix < a->used; ix++) {       if (a->dp[ix] != MP_MASK) {          return 0;       }   }   return 1;}#endif

⌨️ 快捷键说明

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