没有合适的资源?快使用搜索试试~ 我知道了~
一个RSA算法的c++语言实现程序
4星 · 超过85%的资源 需积分: 14 54 下载量 26 浏览量
2009-06-04
16:59:44
上传
评论 1
收藏 16KB TXT 举报
温馨提示
试读
40页
这是一个RSA算法的c++语言实现的程序,实验结果表明非常好,有助于RSA的理解。
资源推荐
资源详情
资源评论
#include <stdlib.h>
#include <time.h>
//RSA算法所需参数
typedef struct RSA_PARAM_Tag{
unsigned __int64 p, q; //两个素数,不参与加密解密运算
unsigned __int64 f; //f=(p-1)*(q-1),不参与加密解密运算
unsigned __int64 n, e; //公匙,n=p*q,(e,f)=1
unsigned __int64 d; //私匙,e*d=1 (mod f),(n,d)=1
unsigned __int64 s; //块长,满足2^s<=n的最大的s,即log2(n)
} RSA_PARAM;
//小素数表
const static long g_PrimeTable[] = {
3, 5, 7, 11, 13, 17, 19, 23,
29, 31, 37, 41, 43, 47, 53, 59,
61, 67, 71, 73, 79, 83, 89, 97
};
const static long g_PrimeCount=sizeof(g_PrimeTable) / sizeof(long);
const unsigned __int64 multiplier=12747293821;
const unsigned __int64 adder=1343545677842234541;
/*随机数类*/
class RandNumber{
private:
unsigned __int64 randSeed;/* */
public:
RandNumber(unsigned __int64 s=0);
unsigned __int64 Random(unsigned __int64 n);
};
/*构造函数 */
RandNumber::RandNumber(unsigned __int64 s){
};
const static long g_PrimeCount=sizeof(g_PrimeTable) / sizeof(long);
const unsigned __int64 multiplier=12747293821;
const unsigned __int64 adder=1343545677842234541;
/*随机数类*/
class RandNumber{
private:
unsigned __int64 randSeed;/* */
public:
RandNumber(unsigned __int64 s=0);
unsigned __int64 Random(unsigned __int64 n);
};
/*构造函数 */
RandNumber::RandNumber(unsigned __int64 s){
剩余39页未读,继续阅读
资源评论
- 出来扎道2014-01-07想要个简单的,太复杂了
- ywt00002013-09-09用到实验里了,很不错~
- nibushishuo2013-07-19对于初学者来说 很好
- liuliyuan1232015-04-27挺好的,不过对我来说复杂了一点点
- fanlinmei范范2011-11-27算法有点难,但是还是能看懂的,谢谢分享
「已注销」
- 粉丝: 1
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功