免费获取
|
论文天下网
|
原创毕业论文
|
论文范文
|
论文下载
|
计算机论文
|
论文降重
|
毕业论文
|
外文翻译
|
免费论文
|
开题报告
|
心得体会
|
全站搜索
当前位置:
论文天下网
->
免费论文
->
计算机论文
免费房产证信息数字签名的实现(五)
; fuk.Write(endline,1);
fuk.Write((LPCTSTR)m_type,m_type.GetLength());
fuk.Write(endline,1);
fuk.Write((LPCTSTR)m_year,m_year.GetLength());
fuk.Write(endline,1);
fuk.Write((LPCTSTR)m_phone,m_phone.GetLength());
fuk.Write(endline,1);
fuk.Write((LPCTSTR)m_phone,m_simi.GetLength());
fuk.Write(endline,1);
fuk.Write((LPCTSTR)m_phone,m_daan.GetLength());
fuk.Write(endline,1);
fuk.Close();
}
UpdateData(FALSE);
}
3.3 信息安全处理模块
3.3.1 RSA 密钥管理模块
在这个密钥生成模块中,该模块通过程序中的相关加密算法来随机生成发放给用户的私钥和房产管理中心留存和私钥成对的公钥文件,管理中心可以通过这个模块的生成密钥按钮,让计算机自动生存公钥和私钥,生成相应的密钥以后 公钥由管理中心统一管理,私钥文件会发放给相应的户主。以便户主在下一个模块中通过自己的私钥来对自己的数字房产证进行相应的签名,达到不可抵赖的作用通过对房密钥生成模块的测试,通过该子系统中RSA加密算法能够得出签名需要用到的签名私钥和管理中心用来验证签名后的证件的真伪的公钥。
图6 密钥管理模块图
RSA密码系统的安全性依赖于大数分解的难度,一般建议用户选择的素数p和q至少为100位,则n=pq是至少为200位的十进制数。因此实现RSA算法有必要定义大数的数据结构如图6所示。
密钥生成,加密和解密涉及到一些大数的基本运算。定义大数的基本运算库,包括加、减、乘、除、取模运算等,其中最重要的模乘运算和模幂运算。
模幂算法是加密解密的核心算法。计算模幂的一种有效算法是“平方-乘”方法,通过对指数的二进制化来实现。大数数据的加,减,乘,除,模,模幂等由CBigInt这个类来完成,其定义如下:
1.CBigInt类的定义
class CBigInt
{
public: //大数在0x100000000进制下的长度
unsigned m_nLength; //用数组记录大数在0x100000000进制下每一位的值
unsigned long m_ulValue[BI_MAXLEN];
CBigInt();
~CBigInt();
/*****************************************************************
基本操作与运算
Mov,赋值运算,可赋值为大数或普通整数,可重载为运算符“=”
Cmp,比较运算,可重载为运算符“==”、“!=”、“>=”、“<=”等
Add,加,求大数与大数或大数与普通整数的和,可重载为运算符“+”
Sub,减,求大数与大数或大数与普通整数的差,可重载为运算符“-”
Mul,乘,求大数与大数或大数与普通整数的积,可重载为运算符“*”
Div,除,求大数与大数或大数与普通整数的商,可重载为运算符“/”
Mod,模,求大数与大数或大数与普通整数的模,可重载为运算符“%”
*****************************************************************/
void Mov(unsigned __int64 A);
void Mov(CBigInt& A);
CBigInt Add(CBigInt& A);
CBigInt Sub(CBigInt& A);
CBigInt Mul(CBigInt& A);
CBigInt Div(CBigInt& A);
CBigInt Mod(CBigInt& A);
CBigInt Add(unsigned long A);
CBigInt Sub(unsigned long A);
CBigInt Mul(unsigned long A);
CBigInt Div(unsigned long A);
unsigned long Mod(unsigned long A);
int Cmp(CBigInt& A);
/*****************************************************************
输入输出
Get,从字符串按10进制或16进制格式输入到大数
Put,将大数按10进制或16进制格式输出到字符串
*****************************************************************/
void Get(CString& str, unsigned int system=HEX);
void Put(CString& str, unsigned int system=HEX);
int Rab();//米勒-罗宾算法
CBigInt Euc(CBigInt& A); //欧几里
首页
上一页
2
3
4
5
6
7
8
下一页
尾页
5
/9/9
相关论文
上一篇
:
免费H考试题库管理系统的设计与实..
下一篇
:
免费个人入侵检测系统的实现
推荐论文
本专业最新论文
Tags:
房产证
信息
数字签名
实现
【
返回顶部
】
相关栏目
自动化相关
计算机论文
工程管理论文
法律论文
医学论文
人力资源
电子专业
电气工程
英语论文
行政管理
电子商务
社科文学
教育论文
物流专业
金融专业
财务管理
会计专业
化学化工材料科学
电子通信
环境科学
经济类
机械模具类
报告,总结,申请书
其他专业论文