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

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

?? rsa_make_key.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@iahu.ca, http://libtomcrypt.org *//* RSA Code by Tom St Denis */#include "mycrypt.h"#ifdef MRSAint rsa_make_key(prng_state *prng, int wprng, int size, long e, rsa_key *key){   mp_int p, q, tmp1, tmp2, tmp3;   int    err;   _ARGCHK(key != NULL);   if ((size < (MIN_RSA_SIZE/8)) || (size > (MAX_RSA_SIZE/8))) {      return CRYPT_INVALID_KEYSIZE;   }   if ((e < 3) || ((e & 1) == 0)) {      return CRYPT_INVALID_ARG;   }   if ((err = prng_is_valid(wprng)) != CRYPT_OK) {      return err;   }   if ((err = mp_init_multi(&p, &q, &tmp1, &tmp2, &tmp3, NULL)) != MP_OKAY) {      return mpi_to_ltc_error(err);   }   /* make primes p and q (optimization provided by Wayne Scott) */   if ((err = mp_set_int(&tmp3, e)) != MP_OKAY) { goto error; }            /* tmp3 = e */   /* make prime "p" */   do {       if ((err = rand_prime(&p, size*4, prng, wprng)) != CRYPT_OK) { goto done; }       if ((err = mp_sub_d(&p, 1, &tmp1)) != MP_OKAY)               { goto error; }  /* tmp1 = p-1 */       if ((err = mp_gcd(&tmp1, &tmp3, &tmp2)) != MP_OKAY)          { goto error; }  /* tmp2 = gcd(p-1, e) */   } while (mp_cmp_d(&tmp2, 1) != 0);                                                /* while e divides p-1 */   /* make prime "q" */   do {       if ((err = rand_prime(&q, size*4, prng, wprng)) != CRYPT_OK) { goto done; }       if ((err = mp_sub_d(&q, 1, &tmp1)) != MP_OKAY)               { goto error; } /* tmp1 = q-1 */       if ((err = mp_gcd(&tmp1, &tmp3, &tmp2)) != MP_OKAY)          { goto error; } /* tmp2 = gcd(q-1, e) */   } while (mp_cmp_d(&tmp2, 1) != 0);                                               /* while e divides q-1 */   /* tmp1 = lcm(p-1, q-1) */   if ((err = mp_sub_d(&p, 1, &tmp2)) != MP_OKAY)                  { goto error; } /* tmp2 = p-1 */                                                                   /* tmp1 = q-1 (previous do/while loop) */   if ((err = mp_lcm(&tmp1, &tmp2, &tmp1)) != MP_OKAY)             { goto error; } /* tmp1 = lcm(p-1, q-1) */   /* make key */   if ((err = mp_init_multi(&key->e, &key->d, &key->N, &key->dQ, &key->dP,                     &key->qP, &key->pQ, &key->p, &key->q, NULL)) != MP_OKAY) {      goto error;   }   if ((err = mp_set_int(&key->e, e)) != MP_OKAY)                  { goto error2; } /* key->e =  e */   if ((err = mp_invmod(&key->e, &tmp1, &key->d)) != MP_OKAY)      { goto error2; } /* key->d = 1/e mod lcm(p-1,q-1) */   if ((err = mp_mul(&p, &q, &key->N)) != MP_OKAY)                 { goto error2; } /* key->N = pq *//* optimize for CRT now */   /* find d mod q-1 and d mod p-1 */   if ((err = mp_sub_d(&p, 1, &tmp1)) != MP_OKAY)                  { goto error2; } /* tmp1 = q-1 */   if ((err = mp_sub_d(&q, 1, &tmp2)) != MP_OKAY)                  { goto error2; } /* tmp2 = p-1 */   if ((err = mp_mod(&key->d, &tmp1, &key->dP)) != MP_OKAY)        { goto error2; } /* dP = d mod p-1 */   if ((err = mp_mod(&key->d, &tmp2, &key->dQ)) != MP_OKAY)        { goto error2; } /* dQ = d mod q-1 */   if ((err = mp_invmod(&q, &p, &key->qP)) != MP_OKAY)             { goto error2; } /* qP = 1/q mod p */   if ((err = mp_mulmod(&key->qP, &q, &key->N, &key->qP)) != MP_OKAY)         { goto error2; } /* qP = q * (1/q mod p) mod N */   if ((err = mp_invmod(&p, &q, &key->pQ)) != MP_OKAY)             { goto error2; } /* pQ = 1/p mod q */   if ((err = mp_mulmod(&key->pQ, &p, &key->N, &key->pQ)) != MP_OKAY)         { goto error2; } /* pQ = p * (1/p mod q) mod N */   if ((err = mp_copy(&p, &key->p)) != MP_OKAY)                    { goto error2; }   if ((err = mp_copy(&q, &key->q)) != MP_OKAY)                    { goto error2; }   /* shrink ram required  */   if ((err = mp_shrink(&key->e)) != MP_OKAY)                      { goto error2; }   if ((err = mp_shrink(&key->d)) != MP_OKAY)                      { goto error2; }   if ((err = mp_shrink(&key->N)) != MP_OKAY)                      { goto error2; }   if ((err = mp_shrink(&key->dQ)) != MP_OKAY)                     { goto error2; }   if ((err = mp_shrink(&key->dP)) != MP_OKAY)                     { goto error2; }   if ((err = mp_shrink(&key->qP)) != MP_OKAY)                     { goto error2; }   if ((err = mp_shrink(&key->pQ)) != MP_OKAY)                     { goto error2; }   if ((err = mp_shrink(&key->p)) != MP_OKAY)                      { goto error2; }   if ((err = mp_shrink(&key->q)) != MP_OKAY)                      { goto error2; }   err = CRYPT_OK;   key->type = PK_PRIVATE_OPTIMIZED;   goto done;error2:   mp_clear_multi(&key->d, &key->e, &key->N, &key->dQ, &key->dP,                  &key->qP, &key->pQ, &key->p, &key->q, NULL);error:   err = mpi_to_ltc_error(err);done:   mp_clear_multi(&tmp3, &tmp2, &tmp1, &p, &q, NULL);   return err;}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品一区视频| 波多野结衣在线aⅴ中文字幕不卡| 亚洲人123区| 中文字幕一区二区三| 中文字幕高清不卡| 国产精品午夜春色av| 国产精品―色哟哟| 中文字幕亚洲一区二区av在线| 国产午夜久久久久| 国产视频一区不卡| 国产精品狼人久久影院观看方式| 中文字幕成人在线观看| 中文字幕亚洲成人| 亚洲一区日韩精品中文字幕| 亚洲毛片av在线| 日韩精品亚洲专区| 国产成人在线色| 色综合色狠狠天天综合色| 91久久精品日日躁夜夜躁欧美| 欧美日韩精品一区二区三区四区| 欧美一区二区三区免费观看视频| 精品美女一区二区三区| 国产精品免费av| 亚洲风情在线资源站| 麻豆精品一区二区综合av| 粉嫩一区二区三区在线看| 日本久久一区二区三区| 91麻豆精品国产综合久久久久久| 26uuu久久天堂性欧美| 国产精品私人影院| 午夜一区二区三区视频| 国产一区二三区| 欧美在线观看视频在线| 中文字幕亚洲精品在线观看| 亚洲精品久久7777| 精东粉嫩av免费一区二区三区| 成人网在线播放| 日韩视频中午一区| 亚洲视频一区在线观看| 久久99久久精品欧美| 成人在线视频一区二区| 欧美一区二区视频在线观看2020 | 亚洲人成网站影音先锋播放| 五月婷婷久久综合| 99国产精品一区| 欧美www视频| 亚洲二区在线观看| caoporn国产一区二区| 精品日本一线二线三线不卡| 亚洲色图.com| 国产白丝精品91爽爽久久| 欧美高清精品3d| 亚洲精品高清在线| a亚洲天堂av| 日本一区二区成人在线| 久久精品国产免费| 在线观看91av| 视频一区二区三区中文字幕| 色综合天天综合网天天看片| 久久蜜桃av一区二区天堂 | 国产精品美女久久久久久久网站| 日韩中文字幕1| 欧美性猛交一区二区三区精品| 国产日产欧美一区二区视频| 久久99蜜桃精品| 日韩欧美123| 六月婷婷色综合| 日韩一区二区免费在线电影| 亚洲成人免费av| 欧美日韩国产色站一区二区三区| 亚洲三级视频在线观看| 99视频精品在线| 亚洲欧美日韩国产另类专区 | 91久久精品一区二区| 亚洲欧美韩国综合色| 成人国产亚洲欧美成人综合网 | 日韩午夜电影在线观看| 日日嗨av一区二区三区四区| 在线观看91视频| 亚洲图片自拍偷拍| 欧美精品久久久久久久久老牛影院| 亚洲高清不卡在线| 337p亚洲精品色噜噜| 美女视频网站久久| 久久久久亚洲蜜桃| 丰满放荡岳乱妇91ww| 1024成人网色www| 欧美在线综合视频| 日韩国产精品91| 日韩美女在线视频| 国产成人精品免费一区二区| 综合网在线视频| 欧美日韩精品二区第二页| 国产成人综合在线| 一区二区三区鲁丝不卡| 欧美日韩大陆在线| 国产一区二区三区日韩 | 91久久一区二区| 天天综合色天天综合色h| 欧美电影免费观看完整版| 成人综合婷婷国产精品久久蜜臀| 亚洲精品久久嫩草网站秘色| 欧美精品丝袜中出| 国产电影一区在线| 亚洲国产美女搞黄色| 精品欧美一区二区久久| 99久久精品免费精品国产| 亚洲国产精品久久不卡毛片| 欧美成人r级一区二区三区| 成人av高清在线| 青青草97国产精品免费观看无弹窗版 | 国产日产欧美精品一区二区三区| a级精品国产片在线观看| 日韩成人午夜电影| 中文字幕中文字幕在线一区 | 亚洲综合自拍偷拍| 亚洲精品一区二区三区影院 | 成人免费在线观看入口| 7777精品伊人久久久大香线蕉经典版下载 | 国产女主播一区| 精品视频1区2区| 成人性生交大合| 日韩电影在线免费| 一区二区三区欧美激情| 国产色91在线| 日韩一区二区三区四区| 日本高清不卡一区| 99久久久久免费精品国产| 久久精品久久久精品美女| 亚洲精品伦理在线| 国产精品女同互慰在线看| 91精品国产综合久久香蕉的特点 | 亚洲最色的网站| 日韩一区日韩二区| 久久久精品国产99久久精品芒果| 欧美一级欧美一级在线播放| 91麻豆高清视频| 91亚洲精品久久久蜜桃网站| 精品一区二区在线观看| 欧美bbbbb| 美女网站视频久久| 久久99精品久久久久久国产越南 | 777xxx欧美| 欧美亚洲尤物久久| 91福利在线观看| av电影在线观看一区| 成人小视频免费观看| 国产福利一区二区三区视频在线| 国产一区二区在线免费观看| 蜜桃久久久久久| 国产在线播精品第三| 国产在线播放一区三区四| 国内精品在线播放| 国产成人精品综合在线观看| 国产在线视频精品一区| 韩国理伦片一区二区三区在线播放| 蜜臀精品一区二区三区在线观看| 免费久久精品视频| 国产在线麻豆精品观看| 国产乱色国产精品免费视频| 国产在线看一区| 成人激情图片网| 在线观看三级视频欧美| 欧美亚洲动漫精品| 91精品国产91久久综合桃花| 欧美日韩激情一区二区三区| 欧美日韩视频一区二区| 制服丝袜国产精品| 久久久久久久综合日本| 国产精品女同一区二区三区| 亚洲欧洲综合另类| 奇米精品一区二区三区在线观看| 精品一区二区三区免费视频| 国产很黄免费观看久久| 99久久精品99国产精品| 欧美中文字幕一区二区三区亚洲| 日韩视频免费直播| 国产精品久久午夜夜伦鲁鲁| 亚洲一区二区三区三| 激情久久久久久久久久久久久久久久 | 九九九久久久精品| a亚洲天堂av| 欧美军同video69gay| 久久久久亚洲蜜桃| 亚洲综合免费观看高清完整版在线 | 麻豆91在线观看| 99久久国产综合精品色伊| 3d成人h动漫网站入口| 欧美激情一区二区三区| 亚洲不卡在线观看| 国产成人高清在线| 7777精品久久久大香线蕉| 国产三级精品三级| 日韩av一区二区在线影视| 成人福利视频网站| 日韩免费在线观看| 一区二区三区日韩| 国产成人小视频| 日韩免费观看高清完整版| 亚洲日本成人在线观看|