毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
房产证信息数字签名的实现+RSA公钥+SHA哈希算法(3)
3房产证信息数字签名的实现分析
3.1 实现功能图
房产证信息数字签名的实现总共可分为两大功能模块:房产证信息处理模块、信息安全处理模块,而信息安全处理模块又分为密钥管理模块,数字签名生成模块和签名验证模块。房产证信息处理模块主要用来对房产证的信息进行处理,RSA模块主要用来生成密钥对,签名生成模块和签名验证模块则主要用来对房产证信息文件进行数字签名和验证证件真伪,模块功能图如图1所示:
图1 功能图
3.2 房产证处理模块
在房产证处理模块中用证件信息输入界面,把房产证信息存储为一种统一的数据格式文件,就可以进行相同的安全处理,验证时将格式统一的数据文件进行信息还原就可以实现。在输入时,需要将如下内容输入:证件编号、证件持有人姓名、房屋类型、房屋地址、管理单位、持证人电话等。当用户把这些内容输入到相应的对话框中并保存,就可以把房产证原件对应的数字公文文件保存在一个相应的文件中。
3.3 信息安全处理模块
3.3.1 RSA密钥管理模块
在密钥生成模块中,该模块通过RSA加密算法来随机生成公钥和私钥,私钥发放给相应的户主保管,而公钥由房产管理中心保管。户主的私钥用来在下一个模块中对自己的数字房产证进行数字签名,使它具有唯一性[9]。生成密钥的方法为:(1)生成两个任意质数 和 。求 , ,其中 , 和 保密, 作为公钥公开。(2)任选一个数 使得 与 互质, 作为加密密钥。求数 满足 。把 作为用户私钥保密, 作为公钥公开。RSA加密算法的安全性依赖于大数分解的难度,建议用户选择的素数p和q至少应为100位,则n=pq是至少为200位的十进制数。密钥生成,加密解密涉及到大数的一些基本运算,包括加、减、乘、除、取模、模幂运算等。大数数据的加、减、乘、除、模、模幂等由CbigInt这个类来完成,其定义如下:
class CBigInt
{ //大数在0x100000000进制下的长度
public: unsignde 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);
CBigIntMul(CBigInt& A);
CBigInt Div(CBigInt& A);
CBigInt Mod(CBigInt& A);
CBigIntAdd(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);//欧几里得算法求解同余方程
CBigInt RsaTrans(CBigInt& A,CBigInt&B);//反复平方算法进行模幂运算
Void GetPrime(int bits);//产生指定长度的随机大素数
CBigInt Gcd(CBigInt& A);
}
密钥生成实现流程如图2
图2 密钥生成图
3.3.2 签名生成模块
在该模块中,用户需要在上一个模块中得到的私钥和通过数字证书生成模块得到的房产证文件,把私钥和文件分别导入到该模块中,通过私钥对要签名的文件进行加密便可得到数字签名后的文件,用户把签名文件自己保存起来。在对文件进行签名前需要对要签名的文件进行数字摘要处理,才可用私钥进行加密。在此使用SHA1哈希算法来实现数字摘要处理的,在用SHA1哈希算法得到消息摘要文件后,用用户所持有的私钥就可以对原文件进行签名运算生成签名了。在生成签名的时候将用到生成签名的算法,将消息摘要文件设为 ,计算 ,其中 是公钥, 是用户私钥。具体实现如下:
共5页:
上一页
1
2
3
4
5
下一页
上一篇:
基于C#的校友信息管理系统开发+ER图+流程图
下一篇:
VC++贪食蛇游戏的实现
银行行办公信息服务系统【1544字】
论信息技术茬外语教學中的應用【3270字】
计算机信息管理茬第三方...
电子商务中信息不對称问题研究【2365字】
用友NC信息系统的实施應用实践研究【3307字】
网络信息安全技术管理的...
商业银行管理信息系统开...
神经外科重症监护病房患...
10万元能开儿童乐园吗,我...
C#学校科研管理系统的设计
中国学术生态细节考察《...
公寓空调设计任务书
国内外图像分割技术研究现状
志愿者活动的调查问卷表
承德市事业单位档案管理...
AT89C52单片机的超声波测距...
医院财务风险因素分析及管理措施【2367字】