资源简介
支持最大2048位RSA计算,主要是生成公私钥对、公钥加密、私钥解密功能。每次重新生成公私钥对,随机产生一定长度的随机数作为输入数据,公钥加密后再私钥解密。每一项结果都清晰打印。

代码片段和文件信息
/*
*/
#include “stdafx.h“
#include “global_rsa.h“
#include “rsaref.h“
#include “nn.h“
#include “digit.h“
/* Computes a = b * c where b and c are digits.
Lengths: a[2].
*/
void NN_DigitMult (NN_DIGIT a[2]NN_DIGIT bNN_DIGIT c)
{
NN_DIGIT t u;
NN_HALF_DIGIT bHigh bLow cHigh cLow;
bHigh = (NN_HALF_DIGIT)HIGH_HALF (b);
bLow = (NN_HALF_DIGIT)LOW_HALF (b);
cHigh = (NN_HALF_DIGIT)HIGH_HALF (c);
cLow = (NN_HALF_DIGIT)LOW_HALF (c);
a[0] = (NN_DIGIT)bLow * (NN_DIGIT)cLow;
t = (NN_DIGIT)bLow * (NN_DIGIT)cHigh;
u = (NN_DIGIT)bHigh * (NN_DIGIT)cLow;
a[1] = (NN_DIGIT)bHigh * (NN_DIGIT)cHigh;
if ((t += u) < u)
a[1] += TO_HIGH_HALF (1);
u = TO_HIGH_HALF (t);
if ((a[0] += u) < u)
a[1]++;
a[1] += HIGH_HALF (t);
}
/* Sets a = b / c where a and c are digits.
Lengths: b[2].
Assumes b[1] < c and HIGH_HALF (c) > 0. For efficiency c should be
normalized.
*/
void NN_DigitDiv (NN_DIGIT *aNN_DIGIT b[2]NN_DIGIT c)
{
NN_DIGIT t[2] u v;
NN_HALF_DIGIT aHigh aLow cHigh cLow;
cHigh = (NN_HALF_DIGIT)HIGH_HALF (c);
cLow = (NN_HALF_DIGIT)LOW_HALF (c);
t[0] = b[0];
t[1] = b[1];
/* Underestimate high half of quotient and subtract.
*/
if (cHigh == MAX_NN_HALF_DIGIT)
aHigh = (NN_HALF_DIGIT)HIGH_HALF (t[1]);
else
aHigh = (NN_HALF_DIGIT)(t[1] / (cHigh + 1));
u = (NN_DIGIT)aHigh * (NN_DIGIT)cLow;
v = (NN_DIGIT)aHigh * (NN_DIGIT)cHigh;
if ((t[0] -= TO_HIGH_HALF (u)) > (MAX_NN_DIGIT - TO_HIGH_HALF (u)))
t[1]--;
t[1] -= HIGH_HALF (u);
t[1] -= v;
/* Correct estimate.
*/
while ((t[1] > cHigh) ||
((t[1] == cHigh) && (t[0] >= TO_HIGH_HALF (cLow)))) {
if ((t[0] -= TO_HIGH_HALF (cLow)) > MAX_NN_DIGIT - TO_HIGH_HALF (cLow))
t[1]--;
t[1] -= cHigh;
aHigh++;
}
/* Underestimate low half of quotient and subtract.
*/
if (cHigh == MAX_NN_HALF_DIGIT)
aLow = (NN_HALF_DIGIT)LOW_HALF (t[1]);
else
aLow =
(NN_HALF_DIGIT)((TO_HIGH_HALF (t[1]) + HIGH_HALF (t[0])) / (cHigh + 1));
u = (NN_DIGIT)aLow * (NN_DIGIT)cLow;
v = (NN_DIGIT)aLow * (NN_DIGIT)cHigh;
if ((t[0] -= u) > (MAX_NN_DIGIT - u))
t[1]--;
if ((t[0] -= TO_HIGH_HALF (v)) > (MAX_NN_DIGIT - TO_HIGH_HALF (v)))
t[1]--;
t[1] -= HIGH_HALF (v);
/* Correct estimate.
*/
while ((t[1] > 0) || ((t[1] == 0) && t[0] >= c)) {
if ((t[0] -= c) > (MAX_NN_DIGIT - c))
t[1]--;
aLow++;
}
*a = TO_HIGH_HALF (aHigh) + aLow;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3923 2014-05-29 10:18 myrsa\Debug\digit.obj
文件 0 2014-05-29 10:18 myrsa\Debug\digit.sbr
文件 8399 2014-05-29 10:43 myrsa\Debug\main.obj
文件 0 2014-05-29 10:43 myrsa\Debug\main.sbr
文件 11425 2014-05-29 10:18 myrsa\Debug\md5c.obj
文件 0 2014-05-29 10:18 myrsa\Debug\md5c.sbr
文件 140288 2014-05-29 10:43 myrsa\Debug\myrsa.bsc
文件 196674 2014-05-29 10:43 myrsa\Debug\myrsa.exe
文件 225460 2014-05-29 10:43 myrsa\Debug\myrsa.ilk
I.A.... 217124 2014-05-29 10:41 myrsa\Debug\myrsa.pch
文件 517120 2014-05-29 10:43 myrsa\Debug\myrsa.pdb
文件 21076 2014-05-29 10:18 myrsa\Debug\nn.obj
文件 0 2014-05-29 10:18 myrsa\Debug\nn.sbr
文件 5768 2014-05-29 10:18 myrsa\Debug\prime.obj
文件 0 2014-05-29 10:18 myrsa\Debug\prime.sbr
文件 19210 2014-05-29 10:18 myrsa\Debug\rsa.obj
文件 0 2014-05-29 10:18 myrsa\Debug\rsa.sbr
文件 7288 2014-05-29 10:18 myrsa\Debug\r_keygen.obj
文件 0 2014-05-29 10:18 myrsa\Debug\r_keygen.sbr
文件 5409 2014-05-29 10:18 myrsa\Debug\r_random.obj
文件 0 2014-05-29 10:18 myrsa\Debug\r_random.sbr
文件 3301 2014-05-29 10:18 myrsa\Debug\r_stdlib.obj
文件 0 2014-05-29 10:18 myrsa\Debug\r_stdlib.sbr
文件 41984 2014-05-29 10:43 myrsa\Debug\vc60.idb
文件 53248 2014-05-29 10:43 myrsa\Debug\vc60.pdb
文件 2543 2014-05-29 09:07 myrsa\digit.c
文件 365 2014-05-29 09:07 myrsa\digit.h
文件 1154 2014-05-29 09:07 myrsa\global_rsa.h
文件 3318 2014-05-29 10:43 myrsa\main.c
文件 3465 2014-05-29 09:07 myrsa\main.cpp
............此处省略25个文件信息
- 上一篇:西门子V90伺服选型计算软件
- 下一篇:屏蔽迅雷7自动升级
相关资源
- The direction of synaptic plasticity mediated
- C 大整数RSA加密
- DXperienceUniversal 10.1.6(2010年8月13日版
- RSA算法源码
- RSA AES DES ECC加密算法源码
- 易语言RSA加解密源码
- Anti-biofilm Activity of Resveratrol and Ursol
- IBM Rational Software Architect 9.0破解文件
- Universal Extractor(万能文件解包工具)
- DXperienceUniversal-11.1.7.part06
- DXperienceUniversal-11.1.7.part08
- DXperienceUniversal-11.1.7.part14
- DXperienceUniversal-11.1.7.part15
- DXperienceUniversal-11.1.7.part10
- DXperienceUniversal-11.1.7.part13
- DXperienceUniversal-11.1.7.part03
- DXperienceUniversal-11.1.7.part02
- DXperienceUniversal-11.1.7.part09
- DXperienceUniversal-11.1.7.part19
- DXperienceUniversal-11.1.7.part12
- DXperienceUniversal-11.1.7.part18
- DXperienceUniversal-11.1.7.part16
- DXperienceUniversal-11.1.7.part20
- DXperienceUniversal-11.1.7.part07
- DXperienceUniversal-11.1.7.part17
- DXperienceUniversal-11.1.7.part04
- IBM 2U Universal Tape Autoloader产品手册
- IBM 4U Universal Tape Library产品手册
- 密码学实验RSA加解密
- yafu暴力分解
评论
共有 条评论