亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tommath.h

?? 非對稱密碼系統,包含RSA,ECC,大數乘法。
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* 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 */#ifndef BN_H_#define BN_H_#include <stdio.h>#include <string.h>#include <stdlib.h>#include <ctype.h>#include <limits.h>#include "tommath_class.h"#undef MIN#define MIN(x,y) ((x)<(y)?(x):(y))#undef MAX#define MAX(x,y) ((x)>(y)?(x):(y))#ifdef __cplusplusextern "C" {/* C++ compilers don't like assigning void * to mp_digit * */#define  OPT_CAST(x)  (x *)#else/* C on the other hand doesn't care */#define  OPT_CAST(x)#endif/* detect 64-bit mode if possible */#if defined(__x86_64__)    #if !(defined(MP_64BIT) && defined(MP_16BIT) && defined(MP_8BIT))      #define MP_64BIT   #endif#endif/* some default configurations. * * A "mp_digit" must be able to hold DIGIT_BIT + 1 bits * A "mp_word" must be able to hold 2*DIGIT_BIT + 1 bits * * At the very least a mp_digit must be able to hold 7 bits * [any size beyond that is ok provided it doesn't overflow the data type] */#ifdef MP_8BIT   typedef unsigned char      mp_digit;   typedef unsigned short     mp_word;#elif defined(MP_16BIT)   typedef unsigned short     mp_digit;   typedef unsigned long      mp_word;#elif defined(MP_64BIT)   /* for GCC only on supported platforms */#ifndef CRYPT   typedef unsigned long long ulong64;   typedef signed long long   long64;#endif   typedef unsigned long      mp_digit;   typedef unsigned long      mp_word __attribute__ ((mode(TI)));   #define DIGIT_BIT          60#else   /* this is the default case, 28-bit digits */      /* this is to make porting into LibTomCrypt easier :-) */#ifndef CRYPT   #if defined(_MSC_VER) || defined(__BORLANDC__)       typedef unsigned __int64   ulong64;      typedef signed __int64     long64;   #else      typedef unsigned long long ulong64;      typedef signed long long   long64;   #endif#endif   typedef unsigned long      mp_digit;   typedef ulong64            mp_word;#ifdef MP_31BIT      /* this is an extension that uses 31-bit digits */   #define DIGIT_BIT          31#else   /* default case is 28-bit digits, defines MP_28BIT as a handy macro to test */   #define DIGIT_BIT          28   #define MP_28BIT#endif   #endif/* define heap macros */#ifndef CRYPT   /* default to libc stuff */   #ifndef XMALLOC        #define XMALLOC  malloc       #define XFREE    free       #define XREALLOC realloc       #define XCALLOC  calloc   #else      /* prototypes for our heap functions */      extern void *XMALLOC(size_t n);      extern void *REALLOC(void *p, size_t n);      extern void *XCALLOC(size_t n, size_t s);      extern void XFREE(void *p);   #endif#endif/* otherwise the bits per digit is calculated automatically from the size of a mp_digit */#ifndef DIGIT_BIT   #define DIGIT_BIT     ((int)((CHAR_BIT * sizeof(mp_digit) - 1)))  /* bits per digit */#endif#define MP_DIGIT_BIT     DIGIT_BIT#define MP_MASK          ((((mp_digit)1)<<((mp_digit)DIGIT_BIT))-((mp_digit)1))#define MP_DIGIT_MAX     MP_MASK/* equalities */#define MP_LT        -1   /* less than */#define MP_EQ         0   /* equal to */#define MP_GT         1   /* greater than */#define MP_ZPOS       0   /* positive integer */#define MP_NEG        1   /* negative */#define MP_OKAY       0   /* ok result */#define MP_MEM        -2  /* out of mem */#define MP_VAL        -3  /* invalid input */#define MP_RANGE      MP_VAL#define MP_YES        1   /* yes response */#define MP_NO         0   /* no response *//* Primality generation flags */#define LTM_PRIME_BBS      0x0001 /* BBS style prime */#define LTM_PRIME_SAFE     0x0002 /* Safe prime (p-1)/2 == prime */#define LTM_PRIME_2MSB_OFF 0x0004 /* force 2nd MSB to 0 */#define LTM_PRIME_2MSB_ON  0x0008 /* force 2nd MSB to 1 */typedef int           mp_err;/* you'll have to tune these... */extern int KARATSUBA_MUL_CUTOFF,           KARATSUBA_SQR_CUTOFF,           TOOM_MUL_CUTOFF,           TOOM_SQR_CUTOFF;/* define this to use lower memory usage routines (exptmods mostly) *//* #define MP_LOW_MEM *//* default precision */#ifndef MP_PREC   #ifndef MP_LOW_MEM      #define MP_PREC                 64     /* default digits of precision */   #else      #define MP_PREC                 8      /* default digits of precision */   #endif   #endif/* size of comba arrays, should be at least 2 * 2**(BITS_PER_WORD - BITS_PER_DIGIT*2) */#define MP_WARRAY               (1 << (sizeof(mp_word) * CHAR_BIT - 2 * DIGIT_BIT + 1))/* the infamous mp_int structure */typedef struct  {    int used, alloc, sign;    mp_digit *dp;} mp_int;/* callback for mp_prime_random, should fill dst with random bytes and return how many read [upto len] */typedef int ltm_prime_callback(unsigned char *dst, int len, void *dat);#define USED(m)    ((m)->used)#define DIGIT(m,k) ((m)->dp[(k)])#define SIGN(m)    ((m)->sign)/* error code to char* string */char *mp_error_to_string(int code);/* ---> init and deinit bignum functions <--- *//* init a bignum */int mp_init(mp_int *a);/* free a bignum */void mp_clear(mp_int *a);/* init a null terminated series of arguments */int mp_init_multi(mp_int *mp, ...);/* clear a null terminated series of arguments */void mp_clear_multi(mp_int *mp, ...);/* exchange two ints */void mp_exch(mp_int *a, mp_int *b);/* shrink ram required for a bignum */int mp_shrink(mp_int *a);/* grow an int to a given size */int mp_grow(mp_int *a, int size);/* init to a given number of digits */int mp_init_size(mp_int *a, int size);/* ---> Basic Manipulations <--- */#define mp_iszero(a) (((a)->used == 0) ? MP_YES : MP_NO)#define mp_iseven(a) (((a)->used > 0 && (((a)->dp[0] & 1) == 0)) ? MP_YES : MP_NO)#define mp_isodd(a)  (((a)->used > 0 && (((a)->dp[0] & 1) == 1)) ? MP_YES : MP_NO)/* set to zero */void mp_zero(mp_int *a);/* set to a digit */void mp_set(mp_int *a, mp_digit b);/* set a 32-bit const */int mp_set_int(mp_int *a, unsigned long b);/* get a 32-bit value */unsigned long mp_get_int(mp_int * a);/* initialize and set a digit */int mp_init_set (mp_int * a, mp_digit b);/* initialize and set 32-bit value */int mp_init_set_int (mp_int * a, unsigned long b);/* copy, b = a */int mp_copy(mp_int *a, mp_int *b);/* inits and copies, a = b */int mp_init_copy(mp_int *a, mp_int *b);/* trim unused digits */void mp_clamp(mp_int *a);/* ---> digit manipulation <--- *//* right shift by "b" digits */void mp_rshd(mp_int *a, int b);/* left shift by "b" digits */int mp_lshd(mp_int *a, int b);/* c = a / 2**b */int mp_div_2d(mp_int *a, int b, mp_int *c, mp_int *d);/* b = a/2 */int mp_div_2(mp_int *a, mp_int *b);/* c = a * 2**b */int mp_mul_2d(mp_int *a, int b, mp_int *c);/* b = a*2 */int mp_mul_2(mp_int *a, mp_int *b);/* c = a mod 2**d */int mp_mod_2d(mp_int *a, int b, mp_int *c);/* computes a = 2**b */int mp_2expt(mp_int *a, int b);/* Counts the number of lsbs which are zero before the first zero bit */int mp_cnt_lsb(mp_int *a);/* I Love Earth! *//* makes a pseudo-random int of a given size */int mp_rand(mp_int *a, int digits);/* ---> binary operations <--- */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产a久久麻豆| 国产婷婷精品av在线| 日韩精品一区二区三区swag| 国产欧美一二三区| 亚洲va欧美va人人爽| 国产91精品精华液一区二区三区| 欧美老年两性高潮| 成人免费在线观看入口| 麻豆91在线播放| 欧美性感一类影片在线播放| 国产亚洲精久久久久久| 性欧美大战久久久久久久久| 95精品视频在线| 久久久久久99久久久精品网站| 午夜亚洲福利老司机| 92国产精品观看| 国产精品麻豆网站| 国产精品一区在线观看你懂的| 91精品欧美久久久久久动漫| 亚洲国产中文字幕| 91亚洲国产成人精品一区二三 | 亚洲精品在线一区二区| 亚洲成人中文在线| 日本电影亚洲天堂一区| 中文字幕欧美三区| 国产福利一区在线观看| 久久影院午夜论| 久久国产精品无码网站| 日韩区在线观看| 蜜臀久久99精品久久久画质超高清| 欧美日韩成人高清| 亚洲国产一区二区三区青草影视| 色噜噜狠狠一区二区三区果冻| 中文字幕欧美一| 91啪九色porn原创视频在线观看| 国产精品第13页| 91无套直看片红桃| 亚洲乱码一区二区三区在线观看| 色综合中文字幕国产 | 国产精品久久久久久久岛一牛影视 | 日韩影视精彩在线| 欧美色精品在线视频| 亚洲在线视频网站| 欧美日韩一区二区三区在线| 亚洲成人激情综合网| 在线电影欧美成精品| 麻豆精品久久精品色综合| 欧美一级免费大片| 国产在线精品不卡| 国产精品―色哟哟| 欧美亚洲禁片免费| 免费观看在线色综合| 欧美精品一区二区三区蜜桃视频| 国产精品99久久久久| 亚洲桃色在线一区| 欧美精品自拍偷拍动漫精品| 伦理电影国产精品| 久久免费美女视频| 91麻豆免费视频| 同产精品九九九| 久久伊人蜜桃av一区二区| 懂色av中文一区二区三区| 亚洲美女视频在线| 日韩欧美美女一区二区三区| 国产高清不卡一区二区| 一区二区三区小说| 欧美一区二区三区精品| 国产精品996| 亚洲国产综合91精品麻豆| 精品国产免费一区二区三区四区 | 99久久久久久99| 亚洲成人tv网| 国产精品日产欧美久久久久| 欧美性受xxxx黑人xyx| 美洲天堂一区二卡三卡四卡视频| 国产精品免费看片| 欧美老年两性高潮| 99精品黄色片免费大全| 美美哒免费高清在线观看视频一区二区| 亚洲国产精品高清| 欧美日本精品一区二区三区| 成人毛片在线观看| 捆绑紧缚一区二区三区视频| 亚洲欧洲在线观看av| 精品少妇一区二区三区免费观看| 91首页免费视频| 国产黄人亚洲片| 日本成人中文字幕| 一区二区免费看| 久久精品视频一区二区三区| 91精品国产综合久久久蜜臀图片| 97久久人人超碰| 国产成人8x视频一区二区| 青娱乐精品视频在线| 亚洲成人在线免费| 亚洲人成网站影音先锋播放| 久久久久久**毛片大全| 日韩视频免费直播| 在线成人av影院| 欧美日韩国产首页| 在线亚洲+欧美+日本专区| 99久久精品费精品国产一区二区| 国产米奇在线777精品观看| 青青草原综合久久大伊人精品| 亚洲国产精品尤物yw在线观看| 亚洲欧美在线视频观看| 国产精品毛片大码女人| 欧美国产1区2区| 久久久噜噜噜久久中文字幕色伊伊| 欧美精品一级二级三级| 欧美日韩一区二区三区在线看 | 大胆亚洲人体视频| 国产在线国偷精品产拍免费yy| 蜜桃视频一区二区三区在线观看 | 老司机精品视频在线| 日韩影院在线观看| 日韩av一二三| 日本免费在线视频不卡一不卡二| 丝袜诱惑制服诱惑色一区在线观看| 一区二区免费在线| 婷婷国产在线综合| 日本aⅴ免费视频一区二区三区| 日韩av电影天堂| 毛片基地黄久久久久久天堂| 卡一卡二国产精品 | 26uuu亚洲综合色欧美| 欧美变态凌虐bdsm| 久久精品视频在线看| 国产精品网友自拍| 亚洲精品视频在线观看免费| 亚洲综合色区另类av| 无吗不卡中文字幕| 久久9热精品视频| 国产精品一品二品| 91一区二区在线| 欧美人牲a欧美精品| 精品国精品国产| 国产精品免费视频观看| 亚洲综合av网| 久久国产欧美日韩精品| 国产91精品露脸国语对白| 欧美在线制服丝袜| 日韩一区二区在线播放| 国产精品全国免费观看高清 | 成人国产精品视频| 91看片淫黄大片一级| 欧美日韩国产片| 国产视频一区二区在线| 亚洲女同女同女同女同女同69| 午夜精品免费在线观看| 国产精品性做久久久久久| 91免费国产在线| 日韩欧美国产小视频| 国产精品福利一区| 蜜桃av一区二区| 99久久夜色精品国产网站| 67194成人在线观看| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲精品免费看| 国产一区二区三区蝌蚪| 欧美在线观看一二区| 国产欧美日韩激情| 天堂蜜桃91精品| 成人av网站在线| 精品久久国产字幕高潮| 一区二区三区日韩欧美| 国产福利一区在线| 91麻豆精品国产91久久久资源速度 | 麻豆91免费看| 欧美中文一区二区三区| 国产婷婷色一区二区三区| 日韩成人一级片| 色吊一区二区三区| 久久久精品天堂| 免费欧美日韩国产三级电影| 91在线你懂得| 日本一区二区久久| 国产老肥熟一区二区三区| 欧美久久高跟鞋激| 一区二区三区四区国产精品| 成人爽a毛片一区二区免费| 欧美tk—视频vk| 三级影片在线观看欧美日韩一区二区| 99久久综合99久久综合网站| 精品久久人人做人人爽| 日韩在线播放一区二区| 欧美日韩国产小视频在线观看| 亚洲人成网站色在线观看| av资源网一区| 精品1区2区在线观看| 蜜臀av在线播放一区二区三区| 欧美午夜精品久久久久久孕妇 | 亚洲激情在线播放| 成人性生交大片免费看视频在线 | 亚洲天堂成人网| 成人av网站在线观看免费| 欧美国产激情二区三区| 粉嫩一区二区三区性色av| 国产亚洲一区二区三区四区 | 天天色综合天天|