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

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

?? ltc_ecc_projective_dbl_point.c

?? 這是一個提供了各種加密算法的庫的源代碼
?? C
字號:
/* LibTomCrypt, modular cryptographic library -- Tom St Denis * * LibTomCrypt is a library that provides various cryptographic * algorithms in a highly modular and flexible manner. * * The library is free for all purposes without any express * guarantee it works. * * Tom St Denis, tomstdenis@gmail.com, http://libtomcrypt.com *//* Implements ECC over Z/pZ for curve y^2 = x^3 - 3x + b * * All curves taken from NIST recommendation paper of July 1999 * Available at http://csrc.nist.gov/cryptval/dss.htm */#include "tomcrypt.h"/**  @file ltc_ecc_projective_dbl_point.c  ECC Crypto, Tom St Denis*/  #if defined(MECC) && (!defined(MECC_ACCEL) || defined(LTM_DESC))/**   Double an ECC point   @param P   The point to double   @param R   [out] The destination of the double   @param modulus  The modulus of the field the ECC curve is in   @param mp       The "b" value from montgomery_setup()   @return CRYPT_OK on success*/int ltc_ecc_projective_dbl_point(ecc_point *P, ecc_point *R, void *modulus, void *mp){   void *t1, *t2;   int   err;   LTC_ARGCHK(P       != NULL);   LTC_ARGCHK(R       != NULL);   LTC_ARGCHK(modulus != NULL);   LTC_ARGCHK(mp      != NULL);   if ((err = mp_init_multi(&t1, &t2, NULL)) != CRYPT_OK) {      return err;   }   if (P != R) {      if ((err = mp_copy(P->x, R->x)) != CRYPT_OK)                                { goto done; }      if ((err = mp_copy(P->y, R->y)) != CRYPT_OK)                                { goto done; }      if ((err = mp_copy(P->z, R->z)) != CRYPT_OK)                                { goto done; }   }   /* t1 = Z * Z */   if ((err = mp_sqr(R->z, t1)) != CRYPT_OK)                                      { goto done; }   if ((err = mp_montgomery_reduce(t1, modulus, mp)) != CRYPT_OK)                 { goto done; }   /* Z = Y * Z */   if ((err = mp_mul(R->z, R->y, R->z)) != CRYPT_OK)                              { goto done; }   if ((err = mp_montgomery_reduce(R->z, modulus, mp)) != CRYPT_OK)               { goto done; }   /* Z = 2Z */   if ((err = mp_add(R->z, R->z, R->z)) != CRYPT_OK)                              { goto done; }   if (mp_cmp(R->z, modulus) != LTC_MP_LT) {      if ((err = mp_sub(R->z, modulus, R->z)) != CRYPT_OK)                        { goto done; }   }      /* T2 = X - T1 */   if ((err = mp_sub(R->x, t1, t2)) != CRYPT_OK)                                  { goto done; }   if (mp_cmp_d(t2, 0) == LTC_MP_LT) {      if ((err = mp_add(t2, modulus, t2)) != CRYPT_OK)                            { goto done; }   }   /* T1 = X + T1 */   if ((err = mp_add(t1, R->x, t1)) != CRYPT_OK)                                  { goto done; }   if (mp_cmp(t1, modulus) != LTC_MP_LT) {      if ((err = mp_sub(t1, modulus, t1)) != CRYPT_OK)                            { goto done; }   }   /* T2 = T1 * T2 */   if ((err = mp_mul(t1, t2, t2)) != CRYPT_OK)                                    { goto done; }   if ((err = mp_montgomery_reduce(t2, modulus, mp)) != CRYPT_OK)                 { goto done; }   /* T1 = 2T2 */   if ((err = mp_add(t2, t2, t1)) != CRYPT_OK)                                    { goto done; }   if (mp_cmp(t1, modulus) != LTC_MP_LT) {      if ((err = mp_sub(t1, modulus, t1)) != CRYPT_OK)                            { goto done; }   }   /* T1 = T1 + T2 */   if ((err = mp_add(t1, t2, t1)) != CRYPT_OK)                                    { goto done; }   if (mp_cmp(t1, modulus) != LTC_MP_LT) {      if ((err = mp_sub(t1, modulus, t1)) != CRYPT_OK)                            { goto done; }   }   /* Y = 2Y */   if ((err = mp_add(R->y, R->y, R->y)) != CRYPT_OK)                              { goto done; }   if (mp_cmp(R->y, modulus) != LTC_MP_LT) {      if ((err = mp_sub(R->y, modulus, R->y)) != CRYPT_OK)                        { goto done; }   }   /* Y = Y * Y */   if ((err = mp_sqr(R->y, R->y)) != CRYPT_OK)                                    { goto done; }   if ((err = mp_montgomery_reduce(R->y, modulus, mp)) != CRYPT_OK)               { goto done; }   /* T2 = Y * Y */   if ((err = mp_sqr(R->y, t2)) != CRYPT_OK)                                      { goto done; }   if ((err = mp_montgomery_reduce(t2, modulus, mp)) != CRYPT_OK)                 { goto done; }   /* T2 = T2/2 */   if (mp_isodd(t2)) {      if ((err = mp_add(t2, modulus, t2)) != CRYPT_OK)                            { goto done; }   }   if ((err = mp_div_2(t2, t2)) != CRYPT_OK)                                      { goto done; }   /* Y = Y * X */   if ((err = mp_mul(R->y, R->x, R->y)) != CRYPT_OK)                              { goto done; }   if ((err = mp_montgomery_reduce(R->y, modulus, mp)) != CRYPT_OK)               { goto done; }   /* X  = T1 * T1 */   if ((err = mp_sqr(t1, R->x)) != CRYPT_OK)                                      { goto done; }   if ((err = mp_montgomery_reduce(R->x, modulus, mp)) != CRYPT_OK)               { goto done; }   /* X = X - Y */   if ((err = mp_sub(R->x, R->y, R->x)) != CRYPT_OK)                              { goto done; }   if (mp_cmp_d(R->x, 0) == LTC_MP_LT) {      if ((err = mp_add(R->x, modulus, R->x)) != CRYPT_OK)                        { goto done; }   }   /* X = X - Y */   if ((err = mp_sub(R->x, R->y, R->x)) != CRYPT_OK)                              { goto done; }   if (mp_cmp_d(R->x, 0) == LTC_MP_LT) {      if ((err = mp_add(R->x, modulus, R->x)) != CRYPT_OK)                        { goto done; }   }   /* Y = Y - X */        if ((err = mp_sub(R->y, R->x, R->y)) != CRYPT_OK)                              { goto done; }   if (mp_cmp_d(R->y, 0) == LTC_MP_LT) {      if ((err = mp_add(R->y, modulus, R->y)) != CRYPT_OK)                        { goto done; }   }   /* Y = Y * T1 */   if ((err = mp_mul(R->y, t1, R->y)) != CRYPT_OK)                                { goto done; }   if ((err = mp_montgomery_reduce(R->y, modulus, mp)) != CRYPT_OK)               { goto done; }   /* Y = Y - T2 */   if ((err = mp_sub(R->y, t2, R->y)) != CRYPT_OK)                                { goto done; }   if (mp_cmp_d(R->y, 0) == LTC_MP_LT) {      if ((err = mp_add(R->y, modulus, R->y)) != CRYPT_OK)                        { goto done; }   }    err = CRYPT_OK;done:   mp_clear_multi(t1, t2, NULL);   return err;}#endif/* $Source: /cvs/libtom/libtomcrypt/src/pk/ecc/ltc_ecc_projective_dbl_point.c,v $ *//* $Revision: 1.8 $ *//* $Date: 2006/12/04 05:07:59 $ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线影院国内精品| 国产精品视频看| 国产精品网曝门| 偷拍亚洲欧洲综合| aaa欧美大片| 国产欧美日韩精品一区| 天天综合日日夜夜精品| 97aⅴ精品视频一二三区| 精品va天堂亚洲国产| 蜜桃av噜噜一区| 在线播放日韩导航| 一级精品视频在线观看宜春院| 国产91精品露脸国语对白| 欧美一级日韩一级| 亚洲成人动漫在线免费观看| 91在线精品一区二区| 国产亚洲一区二区三区在线观看| 日韩在线a电影| 欧美精品高清视频| 亚洲国产综合在线| 欧美在线|欧美| 亚洲一区av在线| 色综合视频在线观看| 国产精品久久久久久一区二区三区| 国产在线精品一区二区不卡了| 欧美精品久久天天躁| 亚洲午夜一区二区| 欧美日韩夫妻久久| 亚洲国产成人av网| 欧美日韩成人一区| 日韩av一区二区在线影视| 91精品欧美综合在线观看最新| 亚洲成人你懂的| 91精品福利在线一区二区三区 | 欧美网站大全在线观看| 亚洲美女屁股眼交| 欧美亚洲综合久久| 性做久久久久久久免费看| 欧美精品1区2区3区| 天天综合天天综合色| 日韩欧美123| 成人一道本在线| 亚洲欧美偷拍卡通变态| 欧美探花视频资源| 奇米亚洲午夜久久精品| 久久久久久久一区| av不卡一区二区三区| 亚洲福利电影网| 精品剧情v国产在线观看在线| 精品一区二区综合| 国产精品久久久久久久久图文区 | 欧美三级三级三级| 男女视频一区二区| 亚洲国产精品二十页| 91在线丨porny丨国产| 亚欧色一区w666天堂| 日韩一区二区视频在线观看| 国产一区 二区 三区一级| 中文字幕一区二区三区乱码在线| 在线精品视频一区二区| 日本少妇一区二区| 国产精品美女久久福利网站| 91女厕偷拍女厕偷拍高清| 亚洲成人777| 久久久高清一区二区三区| 91在线视频播放| 美腿丝袜亚洲综合| 亚洲欧美怡红院| 欧美色电影在线| 丰满少妇久久久久久久| 亚州成人在线电影| 国产精品久久久久婷婷二区次| 欧美日韩国产电影| 9人人澡人人爽人人精品| 日本一道高清亚洲日美韩| 国产婷婷一区二区| 欧美人狂配大交3d怪物一区| 成人午夜电影久久影院| 日本亚洲欧美天堂免费| 亚洲男帅同性gay1069| 欧美不卡一区二区| 欧美老肥妇做.爰bbww| 9l国产精品久久久久麻豆| 老司机精品视频导航| 亚洲免费伊人电影| 久久综合九色欧美综合狠狠| 欧美三区免费完整视频在线观看| 粉嫩高潮美女一区二区三区| 免费高清在线视频一区·| 亚洲精品国产第一综合99久久| 欧美精品一区二区三区在线| 欧美日韩一区二区三区视频| 99久精品国产| 成人免费看片app下载| 久久超碰97中文字幕| 亚洲国产欧美在线| 亚洲三级电影网站| 中文字幕免费不卡| 久久久久国产精品免费免费搜索| 日韩一区二区三区三四区视频在线观看| 在线视频国内一区二区| heyzo一本久久综合| 国产精品亚洲专一区二区三区| 男人的天堂久久精品| 天天做天天摸天天爽国产一区| 亚洲精品免费看| 中文字幕亚洲一区二区av在线 | 亚洲精品一卡二卡| 国产精品人妖ts系列视频| 久久久久国产精品麻豆ai换脸| 欧美xfplay| 精品久久久久久久久久久院品网| 日韩精品专区在线影院重磅| 69堂精品视频| 日韩欧美自拍偷拍| 欧美不卡在线视频| 国产亚洲女人久久久久毛片| 国产日韩欧美精品综合| 欧美高清在线一区| 国产精品久久久久永久免费观看| 国产精品精品国产色婷婷| 国产精品福利一区二区三区| 国产欧美日韩在线看| 国产精品白丝在线| 亚洲嫩草精品久久| 亚洲 欧美综合在线网络| 麻豆国产精品官网| 国产高清在线观看免费不卡| 不卡电影免费在线播放一区| 99国产麻豆精品| 欧美写真视频网站| 在线综合视频播放| 久久综合久久综合久久综合| 欧美激情一区二区| 一区二区三区国产精品| 图片区小说区国产精品视频| 精品一二三四在线| www..com久久爱| 欧美视频日韩视频| 日韩精品中文字幕在线一区| 久久久91精品国产一区二区精品 | 95精品视频在线| 正在播放一区二区| 欧美韩国日本综合| 亚洲国产婷婷综合在线精品| 精一区二区三区| a级高清视频欧美日韩| 欧美手机在线视频| 国产视频一区二区三区在线观看| 中文字幕一区二区三区不卡在线 | 亚洲国产一区在线观看| 免费在线观看一区| 99综合影院在线| 日韩欧美一二三四区| 国产精品久久久久三级| 免费久久精品视频| 色哟哟国产精品| 国产日韩精品视频一区| 亚洲国产精品久久一线不卡| 丁香亚洲综合激情啪啪综合| 欧美日韩国产小视频在线观看| 国产性色一区二区| 亚洲电影中文字幕在线观看| 国产91丝袜在线播放| 欧美精品vⅰdeose4hd| 中文字幕精品一区二区三区精品| 午夜成人免费电影| 99热99精品| 久久久精品日韩欧美| 婷婷六月综合亚洲| 91麻豆福利精品推荐| 久久毛片高清国产| 开心九九激情九九欧美日韩精美视频电影| 不卡的看片网站| 国产人妖乱国产精品人妖| 日韩专区在线视频| 欧美性大战久久久| 亚洲欧洲www| 成人午夜激情影院| 久久久久国产精品免费免费搜索| 秋霞影院一区二区| 欧美日韩一区二区三区高清 | 欧美国产日韩a欧美在线观看| 午夜精品一区在线观看| 91在线观看一区二区| 日本一区二区三级电影在线观看 | 亚洲chinese男男1069| 91女神在线视频| 国产精品成人网| 成人免费看视频| 国产精品久久久久国产精品日日| 国产成人啪免费观看软件| 精品久久久网站| 久久 天天综合| 久久久一区二区三区| 精品一区二区在线视频| wwwwww.欧美系列| 国产乱色国产精品免费视频| 国产三级一区二区| 国产精品资源在线观看|