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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? randompp.cpp

?? flint庫 RSA算法
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
//*****************************************************************************///                                                                            */// Software supplement to the book "Cryptography in C and C++"                */// by Michael Welschenbach, published by Apress Berkeley CA, 2001,2005        *///                                                                            */// Module randompp.cpp     Revision: 19.05.2003                               *///                                                                            *///  Copyright (C) 1998-2005 by Michael Welschenbach                           *///  Copyright (C) 1998-2005 by Springer-Verlag Berlin, Heidelberg             *///  Copyright (C) 2001-2005 by Apress L.P., Berkeley, CA                      *///  Copyright (C) 2002-2005 by Wydawnictwa MIKOM, Poland                      *///  Copyright (C) 2002-2005 by PHEI, P.R.China                                *///  Copyright (C) 2002-2005 by InfoBook, Korea                                *///  Copyright (C) 2002-2005 by Triumph Publishing, Russia                     *///                                                                            *///  All Rights Reserved                                                       *///                                                                            *///  The software may be used for noncommercial purposes and may be altered,   *///  as long as the following conditions are accepted without any              *///  qualification:                                                            *///                                                                            *///  (1) All changes to the sources must be identified in such a way that the  *///      changed software cannot be misinterpreted as the original software.   *///                                                                            *///  (2) The statements of copyright may not be removed or altered.            *///                                                                            *///  (3) The following DISCLAIMER is accepted:                                 *///                                                                            *///  DISCLAIMER:                                                               *///                                                                            *///  There is no warranty for the software contained in this distribution, to  *///  the extent permitted by applicable law. The copyright holders provide the *///  software `as is' without warranty of any kind, either expressed or        *///  implied, including, but not limited to, the implied warranty of fitness   *///  for a particular purpose. The entire risk as to the quality and           *///  performance of the program is with you.                                   *///                                                                            *///  In no event unless required by applicable law or agreed to in writing     *///  will the copyright holders, or any of the individual authors named in     *///  the source files, be liable to you for damages, including any general,    *///  special, incidental or consequential damages arising out of any use of    *///  the software or out of inability to use the software (including but not   *///  limited to any financial losses, loss of data or data being rendered      *///  inaccurate or losses sustained by you or by third parties as a result of  *///  a failure of the software to operate with any other programs), even if    *///  such holder or other party has been advised of the possibility of such    *///  damages.                                                                  *///                                                                            *///*****************************************************************************/#include "flintpp.h"#include "random.h"#if defined FLINTPP_ANSI#define NOTHROW (nothrow)#else#define NOTHROW#endif#define NO_ASSERTS#ifdef FLINT_DEBUG#undef NO_ASSERTS#define ASSERT_LOG_AND_QUIT#include "_assert.h"#endif#ifdef NO_ASSERTS#define Assert(a) (void)0#endif// Initialize PRNGint InitRand (STATEPRNG& xrstate, const char* UsrStr, int LenUsrStr, int Entropy, int Generator){  return InitRand_l (&xrstate, (char*)UsrStr, LenUsrStr, Entropy, Generator);}void PurgeRand (STATEPRNG& xrstate){  PurgeRand_l (&xrstate);}// Generation of a random number r with 2^(l-1) <= r < 2^lLINT RandLINT (int l, STATEPRNG& xrstate){  LINT random;  int error = Rand_l (random.n_l, &xrstate, l);  if (E_CLINT_OK != error)    {      LINT::panic (E_LINT_RIN, "RandLINT", 0, __LINE__, __FILE__);    }  else    {      random.status = E_LINT_OK;    }  return random;}// Generation of a random number r rmin <= r <= rmaxLINT RandLINT (const LINT& rmin, const LINT& rmax, STATEPRNG& xrstate){  if (rmin.status == E_LINT_INV)     LINT::panic (E_LINT_INV, "RandLINT", 1, __LINE__, __FILE__);  if (rmax.status == E_LINT_INV)     LINT::panic (E_LINT_INV, "RandLINT", 2, __LINE__, __FILE__);  if (rmax < rmin)     LINT::panic (E_LINT_INV, "RandLINT", 1, __LINE__, __FILE__);  LINT random;  int error = RandMinMax_l (random.n_l, &xrstate, rmin.n_l, rmax.n_l);  if (E_CLINT_OK != error)    {      LINT::panic (E_LINT_RIN, "RandLINT", 0, __LINE__, __FILE__);    }  else    {      random.status = E_LINT_OK;    }  return random;}// Generation of a random prime p with 2^(l-1) <= p < 2^lLINT FindPrime (USHORT l, STATEPRNG& xrstate){  int error;  LINT rndprime;  error = FindPrime_l (rndprime.n_l, &xrstate, l);  if (E_CLINT_OK != error)    {      LINT::panic (E_LINT_RIN, "FindPrime", 0, __LINE__, __FILE__);    }  else    {      rndprime.status = E_LINT_OK;    }  return rndprime;}// Generation of a random prime p with 2^(l-1) <= p < 2^l// and gcd (p - 1, f) = 1LINT FindPrime (USHORT l, const LINT& f, STATEPRNG& xrstate){  if (0 == l || l > CLINTMAXBIT)     LINT::panic (E_LINT_OFL, "FindPrime", 1, __LINE__, __FILE__);  if (f.status == E_LINT_INV)     LINT::panic (E_LINT_INV, "FindPrime", 3, __LINE__, __FILE__);  // 0 < f has to be odd  if (f.iseven ())     LINT::panic (E_LINT_INV, "FindPrime", 3, __LINE__, __FILE__);  LINT rndprime;  LINT pmin (0);  pmin.setbit (l - 1);  LINT pmax = ((LINT(0).setbit (l - 1) - 1) << 1) + 1; // max number with l bit  int error =     FindPrimeMinMaxGcd_l (rndprime.n_l, &xrstate, pmin.n_l, pmax.n_l, f.n_l);  if (E_CLINT_OK != error)    {      LINT::panic (E_LINT_RIN, "FindPrime", 0, __LINE__, __FILE__);    }  else    {      rndprime.status = E_LINT_OK;    }  return rndprime;}// Generation of a random prime number p pmin <= p <= pmax// and gcd (p - 1, f) = 1LINT FindPrime (const LINT& pmin, const LINT& pmax, const LINT& f, STATEPRNG& xrstate){  if (pmin.status == E_LINT_INV)     LINT::panic (E_LINT_INV, "FindPrime", 1, __LINE__, __FILE__);  if (pmax.status == E_LINT_INV)     LINT::panic (E_LINT_INV, "FindPrime", 2, __LINE__, __FILE__);  if (f.status == E_LINT_INV)     LINT::panic (E_LINT_INV, "FindPrime", 3, __LINE__, __FILE__);  if (pmin > pmax)     LINT::panic (E_LINT_INV, "FindPrime", 1, __LINE__, __FILE__);  // 0 < f has to be odd  if (f.iseven ())     LINT::panic (E_LINT_INV, "FindPrime", 3, __LINE__, __FILE__);  LINT rndprime;  int error =     FindPrimeMinMaxGcd_l (rndprime.n_l, &xrstate, pmin.n_l, pmax.n_l, f.n_l);  if (E_CLINT_OK != error)    {      LINT::panic (E_LINT_RIN, "FindPrime", 0, __LINE__, __FILE__);    }  else    {      rndprime.status = E_LINT_OK;    }  return rndprime;}// Find random prime number p of length 2^(l-1) <= p <= 2^l - 1// with p = a mod q and gcd (p - 1, f) = 1.// Input parameter: 2 < q prime, a mod q != 0, 0 < f oddLINT ExtendPrime (const LINT& pmin,                  const LINT& pmax,                  const LINT& a,                  const LINT& q,                  const LINT& f,                  STATEPRNG& xrstate){  if (pmin.status == E_LINT_INV)     LINT::panic (E_LINT_INV, "ExtendPrime", 1, __LINE__, __FILE__);  if (pmax.status == E_LINT_INV)     LINT::panic (E_LINT_INV, "ExtendPrime", 2, __LINE__, __FILE__);  if (a.status == E_LINT_INV)     LINT::panic (E_LINT_INV, "ExtendPrime", 3, __LINE__, __FILE__);  if (q.status == E_LINT_INV)     LINT::panic (E_LINT_INV, "ExtendPrime", 4, __LINE__, __FILE__);  if (f.status == E_LINT_INV)     LINT::panic (E_LINT_INV, "ExtendPrime", 5, __LINE__, __FILE__);  if (pmin > pmax)     LINT::panic (E_LINT_INV, "ExtendPrime", 1, __LINE__, __FILE__);  // q has to be odd  if (q.iseven ())     LINT::panic (E_LINT_INV, "ExtendPrime", 3, __LINE__, __FILE__);  // a must not be divided by q   if (a.mequ (0,q))     LINT::panic (E_LINT_INV, "ExtendPrime", 2, __LINE__, __FILE__);  // 0 < f has to be odd  if (f.iseven ())     LINT::panic (E_LINT_INV, "ExtendPrime", 4, __LINE__, __FILE__);  LINT p = RandLINT (pmin, pmax, xrstate);  LINT twotimesq = q << 1;  LINT t = pmax - pmin;  if (p < pmin)    {      p += pmin;    }  LINT w = p % twotimesq;  p += (twotimesq - w) + a;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美肥胖老妇做爰| 中文字幕欧美一区| 丝袜国产日韩另类美女| 欧美视频三区在线播放| 五月婷婷久久丁香| 7799精品视频| 久久99国产精品免费网站| 精品欧美黑人一区二区三区| 国产精品123| 中文字幕日韩精品一区| 色综合久久88色综合天天6 | 精品播放一区二区| 国产精品一区二区三区四区 | 亚洲美女屁股眼交3| 欧美猛男超大videosgay| 免费观看一级特黄欧美大片| 精品久久人人做人人爱| 国产91丝袜在线播放0| 亚洲精品日韩一| 欧美一卡二卡三卡四卡| 东方aⅴ免费观看久久av| 亚洲另类在线视频| 国产一区二区精品久久| 免费成人美女在线观看| 国产精品亚洲第一区在线暖暖韩国| 色香蕉久久蜜桃| 日本一区二区三区在线观看| 97se亚洲国产综合自在线观| 日本sm残虐另类| 欧美一级二级三级乱码| 中文字幕欧美三区| 欧美系列一区二区| 国内成+人亚洲+欧美+综合在线| 日本一区二区电影| 欧美日韩国产三级| 懂色一区二区三区免费观看| 亚洲成av人在线观看| 久久久久久**毛片大全| 欧美午夜精品理论片a级按摩| 日韩va亚洲va欧美va久久| 国产精品丝袜一区| 7777精品伊人久久久大香线蕉经典版下载 | 视频一区视频二区中文字幕| 日本一区二区三区四区| 在线91免费看| 91蝌蚪国产九色| 国产精品一区二区久久不卡| 亚洲高清免费视频| 国产精品久久久久精k8| 精品国产91乱码一区二区三区| 在线观看日韩电影| 波多野结衣精品在线| 国产精品亚洲视频| 狠狠v欧美v日韩v亚洲ⅴ| 婷婷丁香久久五月婷婷| 亚洲免费高清视频在线| 国产精品麻豆99久久久久久| 777亚洲妇女| 一本大道久久a久久综合婷婷| 激情综合五月天| 日韩专区一卡二卡| 一区二区三区在线视频免费| 国产欧美一区视频| 精品日本一线二线三线不卡| 欧美日韩国产欧美日美国产精品| 91免费视频大全| 丁香六月综合激情| 国产高清在线观看免费不卡| 久久精品久久综合| 无码av免费一区二区三区试看| 亚洲蜜桃精久久久久久久| 国产精品美女久久久久久久久久久| 精品国产伦理网| 精品日本一线二线三线不卡| 精品久久人人做人人爰| 精品女同一区二区| 亚洲精品一区二区三区精华液| 日韩亚洲欧美成人一区| 91精品国产乱码| 日韩午夜激情av| 欧美成人一区二区三区在线观看| 色综合天天综合网天天看片 | 亚洲丰满少妇videoshd| 国产精品欧美综合在线| 国产精品美女久久久久久2018| 中文欧美字幕免费| 国产精品国产自产拍高清av| 日韩一区欧美一区| 亚洲免费观看在线观看| 午夜精品视频在线观看| 日韩中文字幕1| 九九视频精品免费| 国产成人日日夜夜| av不卡一区二区三区| 色综合天天综合在线视频| 欧美三级资源在线| 日韩午夜在线播放| 欧美国产禁国产网站cc| 国产精品黄色在线观看| 洋洋av久久久久久久一区| 日韩不卡手机在线v区| 国产精品一区免费视频| 99视频一区二区| 欧美日韩精品一区二区三区四区 | 亚洲人精品午夜| 一区二区三区四区亚洲| 99久久精品国产一区二区三区| 99热这里都是精品| 91国产精品成人| 欧美www视频| 亚洲蜜臀av乱码久久精品| 蜜臀久久99精品久久久久久9 | 日韩国产高清影视| 国产成人精品一区二区三区网站观看 | 欧美高清在线精品一区| 亚洲午夜视频在线| 国产美女久久久久| 在线观看亚洲a| 2021中文字幕一区亚洲| 亚洲在线观看免费| 国产成人av资源| 日韩一卡二卡三卡国产欧美| 最新日韩av在线| 久久99精品国产麻豆婷婷| 色屁屁一区二区| 国产丝袜在线精品| 欧美精品电影在线播放| 欧美v亚洲v综合ⅴ国产v| 亚洲精品美国一| 狠狠色丁香九九婷婷综合五月| 在线日韩国产精品| 精品久久久久久久久久久院品网 | 一区二区高清视频在线观看| 久久99蜜桃精品| 91黄色免费网站| 国产三区在线成人av| 日韩和欧美的一区| 色香蕉成人二区免费| 国产欧美视频在线观看| 麻豆久久一区二区| 欧美性生活影院| 最新热久久免费视频| 国产精品1区2区| 日韩午夜精品视频| 日韩黄色小视频| 在线观看亚洲一区| 亚洲欧美色一区| 99视频在线精品| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产精品一区二区久久不卡 | 午夜激情一区二区| eeuss鲁片一区二区三区在线观看| 日韩视频免费直播| 樱花草国产18久久久久| 成人av在线一区二区| 久久综合色综合88| 精品一区精品二区高清| 91精品国产欧美一区二区18| 视频在线在亚洲| 欧美日韩精品一区二区天天拍小说 | 久久久精品国产99久久精品芒果| 日本亚洲视频在线| 欧美综合亚洲图片综合区| 色婷婷香蕉在线一区二区| 欧美国产一区视频在线观看| 国内精品伊人久久久久av影院| 5月丁香婷婷综合| 午夜久久久久久电影| 欧美色精品在线视频| 亚洲精品视频免费看| 日本高清不卡aⅴ免费网站| 国产精品国产三级国产专播品爱网 | 久久se精品一区精品二区| 欧美一区二区黄| 免费高清在线一区| 337p粉嫩大胆噜噜噜噜噜91av| 九九精品视频在线看| 精品国产污网站| 国产精品资源在线观看| 久久久99久久| 国产91高潮流白浆在线麻豆| 欧美国产激情二区三区| 91同城在线观看| 洋洋成人永久网站入口| 欧美日韩国产a| 日本不卡视频一二三区| 精品sm在线观看| 粉嫩av一区二区三区| av午夜一区麻豆| 国产日韩精品一区二区浪潮av | 成人一区二区三区视频在线观看| 中文字幕av资源一区| 成人午夜av在线| 亚洲精品国产精品乱码不99| 色综合久久久久综合体| 日韩一区精品视频| 国产欧美精品一区aⅴ影院| 91传媒视频在线播放| 美女视频黄 久久| 亚洲欧美自拍偷拍|