资源简介
支持最大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自动升级
相关资源
- libemgucv-windows-universal-gpu-2.4.9.1847
- RSADSAAESDES加解密
- 本科毕设—基于DES算法的数据加密系
- Universal Maps Downloader 9.x Keygen
- RSA加解密的设计与实现实验报告及源
- Unicursal.rar
- RADARSAT_CSA.rar
- UniversalTermsrvPatch
- 文本加密实验项目
- IBM RSA软件破解
- delphi RSA加密
- 微信小程序rsa分段加密
- Delphi中的经典RSA算法源码
- RSA加解密实现,修改自RSAEuro
- RSA前后台加密解密案例SSM
- UniversalTermsrvPatch-x64
- Rsa 私钥加密 公钥解密
- RSA数字签名源程序
- RSA加密及解密
- BIOS刷新工具Universal Flash Utility V8.95.
- RSA公私钥生成、加解密,支持1024位计
- sn 强名称工具 (Sn.exe) 创建密钥对
- 华为 h3c 3com ras转16进制工具 sshkey.ex
- RSA加解密在Delphi代码中的实现Demo
- IBM Rational Software Architect Designer 9.5 c
- DXperience Universal 12.1.6 简繁体汉化,本
- RSA-via-OpenSSL-libeay32-master
- 单片机上运行的RSA代码
- Delphi加密算法大全2DES_3DES_3DES3_AES_ba
- openssl中函数RSA_public_encrypt的使用案例
评论
共有 条评论