- 9
- 0
- 约1.93万字
- 约 22页
- 2018-04-09 发布于湖北
- 举报
RSA加密算法设计
网络安全作业
题 目 RSA 加 密 算 法
学 号
专业及班级 网络工程0902班
姓 名
日 期 2012.04.14
RSA简介:
RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。
RSA算法描述:
RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。
RSA的算法涉及三个参数,n、e1、e2。
其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。
e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。
(n及e1),(n及e2)就是密钥对。
RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e1 mod n;B=A^e2 mod n;
e1和e2可以互换使用,即:
A=B^e2 mod n;B=A^e1 mod n;
实现代码:
1.实现RSA算法类的定义:
class CRsaA : public CCmdTarget
{
DECLARE_DYNCREATE(CRsaA)
CRsaA(); // protected constructor used by dynamic creation
// 成员函数
private:
void InitInt(void); //基本数据常量的初始化
int IntValid(byteint validtemp); //返回大validtemp的非零位的个数
int IntCmp(byteint A,byteint B); //比较大数A和B是否相等
//自定义类型的基本运算
void Plus(byteint A,byteint B,byteint C); //C=A+B
void Substract(byteint SA,byteint SB,byteint SC); //SC=SA-SB
void Multiply(byteint A,byteint B,byteint C); //C=A*B
void SetMode(byteint A,byteint B,byteint C,byteint D);//C=A%B
int PowerMode(byteint A,byteint C,byteint D,signed char flag[400]);//computing A^B mod C--D
void IntRandom(byteint RandomA,int num); //随机产生一个大数
void LoadInt(byteint A,mtype B); //将质数类型转换为大数类型
void TransBi(byteint B,signed char flag[400]) 将大数B转换为二进制形式
void Mdata(); 产生用于生成质数中进行比较的数
int Prime(byteint Prm); //产生一个长度为MLENGTH的质数
int ComputingPK(byteint Rvalue,byteint SK,byteint PK);//计算公钥PK
void ComputingR(byteint p,byteint q,byteint R); //计算模值R
void ComputingRvalue(byteint p,byteint q,byteint Rvalue); //计算$(r)
void IntCpy(byteint A1,byteint B1); //将大数B1的值拷贝到大数A1中
void SetZero(byteint A); //将大数A清零
CString PrtInt(byteint A); //将一个大数类型转换为一个CString类型
int Getinput(byteint result,CString input);//将字符串转换为对应的大数形式
int Getinput1(byteint result,unsigned long input); //将长整形数转换为对应的大数形式
void RsaDo(byteint source,byteint R,byteint key,byteint desti);//实现加解密
unsigned long Os2ip(unsigned char* pstr);
您可能关注的文档
- 2014高考语文总复习课时作业:散文(四).doc
- 2014高考语文总复习课时作业:扩展语句.doc
- 2014高考语文总复习课时作业:散文(二).doc
- 2014高考语文总复习课时作业:文言文精练必修1.doc
- 2014高考语文总复习课时作业:文言文精练必修3.doc
- 2014高考语文总复习课时作业:文言文精练必修2.doc
- 2014高考语文总复习课时作业:文言文阅读(三).doc
- 2014高考语文总复习课时作业:文言文精练必修4.doc
- 2014高考语文总复习课时作业:文言文阅读(四).doc
- 2014高考语文总复习课时作业:论述类文本阅读(二).doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)