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

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

?? random.c

?? flint庫 RSA算法
?? C
?? 第 1 頁 / 共 4 頁
字號(hào):
/******************************************************************************//*                                                                            *//* Functions for arithmetic and number theory with large integers in C        *//* Software supplement to the book "Cryptography in C and C++"                *//* by Michael Welschenbach                                                    *//*                                                                            *//* Module random.c         Revision: 17.04.2005                               *//*                                                                            *//*  Copyright (C) 1998-2005 by Michael Welschenbach                           *//*  Copyright (C) 2001-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 <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#include "flint.h"#include "random.h"#define NO_ASSERTS 1#ifdef FLINT_DEBUG#undef NO_ASSERTS#define ASSERT_LOG_AND_QUIT#include "_assert.h"#include "_alloc.h"#ifdef COVERAGE#include "utclog.h"#endif#endif#ifdef NO_ASSERTS#define Assert(a) (void)0#endifstatic void *local_memset (void *ptr, int val, size_t len);static int Rand64Init = 0;/******************************************************************************//*                                                                            *//*  Function:  Initialization of the linear congruential PRNG Rand64          *//*             Do not use Rand64 for any cryptographic purposes!              *//*  Syntax:    int InitRand64_l (char *UsrStr, int LenUsrStr,                 *//*                                                    int AddEntropy);        *//*  Input:     UsrStr (User supplied byte vector for initialization of        *//*                     Rand64)                                                *//*             LenUsrStr (Length of UsrString in byte)                        *//*             AddEntropy (Number of additionally required entropy bytes)     *//*  Output:    -                                                              *//*  Returns:   Number of requested entropy bytes missing                      *//*             0: OK                                                          *//*                                                                            *//******************************************************************************/int __FLINT_APIInitRand64_l (char *UsrStr, int LenUsrStr, int AddEntropy){  int MissingEntropy;  CLINT Seed_l;  /* Get Required Entropy and Seed */  MissingEntropy = GetEntropy_l (Seed_l, NULL, AddEntropy, UsrStr, LenUsrStr);  /* Initialize internal state */  seed64_l (Seed_l);#ifdef FLINT_SECURE  /* Security: Purge random variable Seed_l */  local_memset (Seed_l, 0, sizeof (CLINT));#endif  /* Set Flag: PRNG is initialized */  Rand64Init = 1;  return MissingEntropy;}/************************* RipeMD-160 / SHA-1 based PRNG **********************//******************************************************************************//*                                                                            *//*  Function:  Initialisation of the SHA-1/Ripemd-160 based Pseudorandom-     *//*             numbergenerator (RandRMDSHA1)                                  *//*  Syntax:    int InitRandRMDSHA1_l (STATERMDSHA1 *rstate, char *UsrStr,     *//*                                     int LenUsrStr, int AddEntropy);        *//*  Input:     UsrStr (User supplied byte vector for initialization of        *//*                     RandRMDSHA1)                                           *//*             LenUsrStr (Length of UsrString in byte)                        *//*             AddEntropy (Number of additionally required entropy bytes)     *//*  Output:    rstate (Initialized internal state of PRNG)                    *//*  Returns:   Number of requested entropy bytes missing                      *//*             0: OK                                                          *//*                                                                            *//******************************************************************************/int __FLINT_APIInitRandRMDSHA1_l (STATERMDSHA1 *rstate, char *UsrStr, int LenUsrStr, int AddEntropy){  int MissingEntropy;  /* Get Required Entropy and Seed */  MissingEntropy = GetEntropy_l (NULL, rstate->XRMDSHA1, AddEntropy, UsrStr, LenUsrStr);  /* Switch internal state */  ripemd160_l (rstate->XRMDSHA1, rstate->XRMDSHA1, 20);  /* Initialize RoundRMDSHA1 for picking single bytes out of random stream */  rstate->RoundRMDSHA1 = 1;  /* Set Flag: PRNG is initialized */  rstate->RandRMDSHA1Init = 1;  return MissingEntropy;}/******************************************************************************//*                                                                            *//*  Function:  Switching of RandRMDSHA1 to next state, generating one         *//*             random byte                                                    *//*  Syntax:    UCHAR SwitchRandRMDSHA1_l (STATERMDSHA1 *rstate)               *//*  Input:     rstate (Initialized State)                                     *//*  Output:    rstate (Internal State)                                        *//*  Returns:   One byte random value                                          *//*                                                                            *//******************************************************************************/UCHAR __FLINT_APISwitchRandRMDSHA1_l (STATERMDSHA1 *rstate){  UCHAR rbyte;    /* Generate random value */  sha1_l (rstate->SRMDSHA1, rstate->XRMDSHA1, 20);  rbyte = rstate->SRMDSHA1[(rstate->RoundRMDSHA1)++ & 15]; /* RoundRMDSHA1 mod 16 */  /* Switch internal state */  ripemd160_l (rstate->XRMDSHA1, rstate->XRMDSHA1, 20);#ifdef FLINT_SECURE  /* Security: Purge random variable SRMDSHA1 */  local_memset (rstate->SRMDSHA1, 0, sizeof (rstate->SRMDSHA1));#endif  return rbyte;}/******************************************************************************//*                                                                            *//*  Function:  Generation of pseudorandom number of CLINT-Type                *//*             (Preceding Initialization by InitRandRMDSHA1() required)       *//*  Syntax:    int RandRMDSHA1_l (STATERMDSHA1 *rstate, CLINT r_l, int l);    *//*  Input:     rstate (Initialized state)                                     *//*             l (Number of binary digits of random number to generated)      *//*  Output:    r_l (Pseudorandom number)                                      *//*             rstate (New internal state of PRNG)                            *//*  Returns:   E_CLINT_OK if everything is OK                                 *//*             E_CLINT_RIN if generator is not initialized                    *//*                                                                            *//******************************************************************************/int __FLINT_APIRandRMDSHA1_l (CLINT r_l, STATERMDSHA1 *rstate, int l){  USHORT i, j;  USHORT ls, lr;  if (!rstate->RandRMDSHA1Init)    {      return E_CLINT_RIN;    }  l = MIN ((unsigned int)l, CLINTMAXBIT);  ls = (USHORT) l >> LDBITPERDGT;  lr = (USHORT) l & ((USHORT)BITPERDGT - 1);  for (i = 1; i <= ls; i++)    {      r_l[i] = sRandRMDSHA1_l (rstate);    }  if (lr > 0)    {      r_l[++ls] = sRandRMDSHA1_l (rstate);      j = 1U << (lr - 1);                         /* j <- 2^(lr - 1) */      r_l[ls] = (r_l[ls] | j) & ((j << 1) - 1);   /* Bit lr set to 1, higher bits to 0 */    }  else    {      r_l[ls] |= BASEDIV2;    }  SETDIGITS_L (r_l, ls);  return 0;}/******************************************************************************//*                                                                            *//*  Function:   Purging of internat status of RandRMDSHA1                     *//*  Syntax:     void PurgeRandRMDSHA1_l (STATERMDSHA1 *rstate);               *//*  Input:      rstate (Initialized state)                                    *//*  Output:     rstate (Purged internal state)                                *//*  Returns:    -                                                             *//*                                                                            *//******************************************************************************/void __FLINT_APIPurgeRandRMDSHA1_l (STATERMDSHA1 *rstate){  /* Purge status of RipeMD-160/Sha-1 based PRNG */  memset (rstate->XRMDSHA1, 0, sizeof (rstate->XRMDSHA1));  memset (rstate->SRMDSHA1, 0, sizeof (rstate->SRMDSHA1));  rstate->RoundRMDSHA1 = 0;  /* Reset initialization flag */  rstate->RandRMDSHA1Init = 0;}/************************* AES based PRNG with key update *********************/static const unsigned char RandAESKey[] ={0x0f, 0x1e, 0x2d, 0x3c, 0x4b, 0x5a, 0x69, 0x78, 0x87, 0x96, 0xa5, 0xb4, 0xc3, 0xd2, 0xe1, 0xf0,  0x12, 0x23, 0x34, 0x45, 0x56, 0x78, 0x89, 0x9a, 0xab, 0xbc, 0xcd, 0xde, 0xef, 0xf0, 0x01, 0x12};/******************************************************************************//*                                                                            *//*  Function:  Initialisation of the AES based Pseudorandom-                  *//*             numbergenerator (RandAES)                                      *//*  Syntax:    int InitRandRMDSHA1_l (STATEAES *rstate, char *UsrStr,         *//*                                    int LenUsrStr, int AddEntropy);         *//*  Input:     UsrStr (User supplied byte vector for initialization of        *//*                     RandAES)                                               *//*             LenUsrStr (Length of UsrString in byte)                        *//*             AddEntropy (Number of additionally required entropy bytes)     *//*             update (Frequency AES-key-update by XORing with output value:  *//*                     update = 0: Never update key, fastest                  *//*                     update = 1: Always update key, slowest, most secure    *//*                     update = 1 < n: Update key every n'th call to RandAES  *//*  Output:    rstate (Initialized internal state of PRNG)                    *//*  Returns:   Number of requested entropy bytes missing                      *//*             0: OK                                                          *//*                                                                            *//******************************************************************************/int __FLINT_APIInitRandAES_l (STATEAES *rstate, char *UsrStr, int LenUsrStr, int AddEntropy, int update){  int MissingEntropy, i;  /* Get Required Entropy and Seed */  MissingEntropy = GetEntropy_l (NULL, rstate->XAES, AddEntropy, UsrStr, LenUsrStr);  /* Initialize AES */  for (i = 0; i < 32; i++)    {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产精品成人| 国产91精品久久久久久久网曝门| 国产欧美日韩在线| 久久精品在线免费观看| 欧美一区二区大片| 国产精品久久久99| 久久综合色之久久综合| 国产亚洲va综合人人澡精品| 国产成人午夜精品5599| 欧美国产一区二区| av成人动漫在线观看| 亚洲精品va在线观看| 欧美日韩一区二区在线观看| 免费精品99久久国产综合精品| 精品国精品国产| 成人av在线资源| 亚洲6080在线| 久久久久综合网| 91啪九色porn原创视频在线观看| 亚洲一区二区三区四区的| 日韩一级片在线观看| 国产成人精品综合在线观看 | 国产精品免费观看视频| 97久久久精品综合88久久| 亚洲成a人片在线观看中文| 欧美tickling挠脚心丨vk| 成人精品电影在线观看| 日韩精品一区第一页| 欧美激情在线一区二区三区| 欧美色男人天堂| 国产精品影视网| 亚洲一区二区三区国产| 国产日韩欧美制服另类| 欧美中文字幕一二三区视频| 国产麻豆精品theporn| 一区二区视频免费在线观看| 久久―日本道色综合久久| 日本二三区不卡| 国产精品一线二线三线精华| 天天操天天干天天综合网| 欧美韩日一区二区三区| 欧美一级在线免费| 91美女片黄在线观看| 国产精品一区二区久久精品爱涩| 亚洲成人tv网| 中文字幕五月欧美| 久久久久久99久久久精品网站| 欧美午夜片在线看| 成人免费视频网站在线观看| 免费在线看成人av| 日韩理论片中文av| 久久久精品综合| 91精品国产综合久久精品图片| 97久久超碰精品国产| 国产在线观看免费一区| 免费人成精品欧美精品| 亚洲电影一区二区| 一区二区三区中文免费| 国产精品成人免费在线| 久久精品人人做| 精品久久人人做人人爽| 欧美日韩精品一区二区天天拍小说 | 国产盗摄女厕一区二区三区| 蜜桃一区二区三区四区| 婷婷国产在线综合| 午夜欧美大尺度福利影院在线看| 亚洲欧洲精品成人久久奇米网| 国产午夜亚洲精品不卡| 精品国产自在久精品国产| 日韩免费高清电影| 精品国产网站在线观看| 欧美大片国产精品| 日韩一区二区精品在线观看| 欧美日韩成人一区| 欧美精品成人一区二区三区四区| 欧美视频一区二| 日本韩国一区二区| 91黄色免费看| 欧美日韩久久久一区| 欧美色偷偷大香| 欧美日韩成人综合在线一区二区| 欧美区在线观看| 日韩欧美一区二区免费| 欧美电影免费观看高清完整版在线| 日韩一区二区高清| 久久久精品国产99久久精品芒果| 久久久噜噜噜久久人人看| 中文一区一区三区高中清不卡| 久久久精品黄色| ...xxx性欧美| 亚洲国产精品一区二区www| 青青草原综合久久大伊人精品 | 青青国产91久久久久久| 美腿丝袜一区二区三区| 亚洲免费高清视频在线| 国产精品国产三级国产aⅴ原创| 亚洲人123区| 亚洲另类中文字| 夜夜亚洲天天久久| 午夜精品国产更新| 亚洲日韩欧美一区二区在线| 亚洲国产日韩av| 天堂久久久久va久久久久| 三级在线观看一区二区| 免费成人在线网站| 国产一区二区三区在线观看精品| 国产精品羞羞答答xxdd| 国产成人综合自拍| eeuss鲁一区二区三区| 91在线云播放| 欧美日韩一区在线观看| 91精品国产91综合久久蜜臀| 精品美女一区二区| 欧美激情一区不卡| 玉米视频成人免费看| 日韩综合小视频| 狠狠色狠狠色合久久伊人| 风间由美中文字幕在线看视频国产欧美| 国产成人精品亚洲日本在线桃色 | 国产精品一二三区| 成人毛片视频在线观看| 波多野结衣亚洲一区| 成人不卡免费av| 欧美人与禽zozo性伦| 日韩美女视频在线| 国产亚洲视频系列| 一区二区三区日韩欧美| 日本大胆欧美人术艺术动态| 国产xxx精品视频大全| 欧美午夜精品久久久久久超碰| 日韩欧美中文字幕一区| 国产精品美女久久久久aⅴ | 欧美日韩精品一区视频| 日本一区二区三区在线不卡| 一区二区三区四区蜜桃| 极品少妇一区二区三区精品视频| 成人aa视频在线观看| 欧美日韩二区三区| 国产免费观看久久| 久久精品国产在热久久| 91麻豆自制传媒国产之光| 日韩女优视频免费观看| 亚洲人成在线播放网站岛国| 国产资源在线一区| 高清国产一区二区| 欧美日韩成人综合天天影院| 中文字幕免费观看一区| 美女视频网站黄色亚洲| 91成人看片片| 日韩一区二区不卡| 亚洲国产精品一区二区www | 午夜精品久久久久久久久久| 成人a级免费电影| 精品裸体舞一区二区三区| 亚洲国产乱码最新视频| 色av综合在线| 国产精品久久综合| 精品一区二区三区免费播放| 欧美三级一区二区| 国产精品国产三级国产aⅴ中文| 图片区小说区区亚洲影院| 国产裸体歌舞团一区二区| 欧美美女一区二区| 亚洲蜜桃精久久久久久久| 国产 欧美在线| 久久亚洲春色中文字幕久久久| 一区二区三区中文字幕| 99re在线视频这里只有精品| 国产女人18毛片水真多成人如厕 | 亚洲一区视频在线| av亚洲精华国产精华精华| 日韩三级伦理片妻子的秘密按摩| 久久精品国产澳门| 制服丝袜亚洲精品中文字幕| 性做久久久久久久免费看| 色88888久久久久久影院野外| 欧美va亚洲va香蕉在线| 视频一区二区三区中文字幕| 欧美日韩一区二区三区视频 | 国产亚洲成av人在线观看导航| 久久99精品视频| 日韩精品一区二区三区中文精品| 亚洲成人777| 欧美日产国产精品| 亚洲成人av电影在线| 欧美日韩www| 奇米影视7777精品一区二区| 久久综合久久综合亚洲| 国产一区二区剧情av在线| 精品国产人成亚洲区| 国产一区二区在线观看免费| 久久噜噜亚洲综合| 丁香网亚洲国际| 国产精品国产三级国产aⅴ原创 | 成人黄色网址在线观看| 一本大道av伊人久久综合| 亚洲精品网站在线观看| 丁香一区二区三区| 亚洲一二三专区| 日韩欧美一级二级三级|