freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

房產(chǎn)證信息數(shù)字簽名的實現(xiàn)—計算機(jī)畢業(yè)設(shè)計論文(編輯修改稿)

2024-09-02 08:06 本頁面
 

【文章內(nèi)容簡介】 法,結(jié)合房產(chǎn)證持有人擁有的私鑰來加密經(jīng)過哈希后的消息摘要,得到加密后的字符串。加密算法中使用的加密塊為二進(jìn)制類型。2 驗證簽名算法驗證簽名算法包括兩步:RSA解密得到簽名者的消息摘要,驗證者通過對原消息進(jìn)行相同的哈希計算的到一個新的消息摘要,比較兩個消息摘要。驗證簽名的過程輸入原房產(chǎn)的數(shù)字文件,房管中心的簽名公鑰,證書持有者的簽名;輸出為驗證的結(jié)果,即可判斷否是正確的簽名。(1)RSA解密 簽名實際是將加密后的字符串。用RSA解密算法,采用簽名者的公鑰對這個加密的字符串進(jìn)行解密。解密的結(jié)果應(yīng)為128位的消息摘要。在解密過程中,若出現(xiàn)得到的加密塊的類型不是01,則解密失敗。簽名不正確。(2)消息摘要計算和比較 驗證者對消息使用SHA1算法重新計算,得到驗證者自己的消息摘要。驗證者比較解密得到的消息摘要和自己得到的消息摘要,如果兩者相同,則驗證成功,可以確認(rèn)消息的完整性及簽名確實為簽名者的;否則,驗證失敗。RSA的數(shù)字認(rèn)證的實現(xiàn)流程其詳細(xì)過程如下:(1) 證書持有人A將公文數(shù)字證書原文信息用安全哈希算法SHA1進(jìn)行哈希運算,得一哈希值即數(shù)字摘要D’;(如圖1所示) (2) 證書持有人A用自己的私鑰,采用非對稱RSA算法,對數(shù)字摘要MD進(jìn)行加密,即得數(shù)字簽名DS;(如圖1所示) (3) 鑒別中心B接受到數(shù)字簽名DS后的文件,首先用接證書管理中心的鑒別公鑰進(jìn)行解密,取出得到消息摘要D’;(如圖2所示) (4)將原文信息同樣的安全哈希算法進(jìn)行哈希,得到一個消息摘要D”;(如圖3所示)(5)將兩個消息摘要D’和D”進(jìn)行比較,驗證原文是否被修改。如果二者相等,說明數(shù)據(jù)沒有被篡改。這樣就做到了敏感信息在數(shù)字簽名的傳輸中不被篡改,說明這個簽名的證書確實是證書持有人的,起了在對證件防偽系統(tǒng)中對持有證書人真實身份的鑒別。圖1 RSA私鑰加密 :哈希和簽名 圖2 RSA公鑰解密 圖3 哈希過程3 房產(chǎn)證公文數(shù)字簽名系統(tǒng)總體設(shè)計房產(chǎn)證公文數(shù)字簽名系統(tǒng)總共分為兩大功能模塊:房產(chǎn)證公文處理模塊和信息安全處理模塊,而信息安全處理模塊主要由密鑰管理模塊,數(shù)字簽名生成模塊和簽名驗證模塊構(gòu)成,(如圖4所示)圖 4 系統(tǒng)功能圖下面分別介紹各個模塊的功能 房產(chǎn)證公文處理模塊在不同的房產(chǎn)證中相應(yīng)的證件的輸入信息不相同,公文處理模塊采用證件輸入界面,將信息存儲為一種統(tǒng)一的數(shù)據(jù)格式公文文件就可以進(jìn)行相同的安全處理,在驗證時在將統(tǒng)一格式的數(shù)據(jù)公文進(jìn)行信息還原就可以實現(xiàn)。因此系統(tǒng)可以方便的進(jìn)行信息輸入,其證件信息輸入界面如圖5所示。圖5 房產(chǎn)證信息輸入界面在公文處理模塊中,監(jiān)管中心需要把用戶房屋產(chǎn)權(quán)者的相關(guān)內(nèi)容輸入這個數(shù)字文件中;例如 : 證書持有人姓名; 張XXX房屋產(chǎn)證編號; 0000354房屋的類型; 商品房房屋使用年限; 50年房屋所在地址; XXX路XX街XXXX號開發(fā)商名稱; XXX房地產(chǎn)開發(fā)公司物管單位; XXX物業(yè)管理公司戶主聯(lián)系電話 02883961853私密問題; XXXXXX問題答案; XXXXXXX當(dāng)用戶把這些都輸入到相應(yīng)的對話框中通過保存按鈕就可以把這個證件保存在一個相應(yīng)的文件中。這個只是房產(chǎn)證件原件對應(yīng)的數(shù)字公文文件。為了真正能對戶主的利益安全考慮,在本設(shè)計中還加入了一個戶主的秘密問題,以及秘密問題的答案這兩項。通過這兩項再結(jié)合數(shù)字簽名就更能更好的辨別這個證件的真?zhèn)瘟?,假如戶主提問?我高中最喜歡的一個老師是某某某?戶主自己回答的答案是ABC,如果遇到有人想假冒戶主并私自使用戶主的房產(chǎn)證的時候,在鑒別房產(chǎn)證的真?zhèn)蔚臅r候。他如果在秘密問題這個選項提問和原來的不一樣或者回答的答案不一樣在經(jīng)過相同的方法處理后就和戶主本身持都的房產(chǎn)證公文文件有很大的差別,由此斷定這個數(shù)字證書是假冒的。對輸入信息的保存實現(xiàn)代碼void GenfczDlg::OnSave() { UpdateData()。 CFileDialog save_uk_dlg(FALSE,uk,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,Public fcz files (*.txt)|*.txt)。 if(()==IDOK){ CString file_path=()。 CFile fuk(file_path,CFile::modeCreate|CFile::modeWrite)。 char endline[1]={39。39。}。 ((LPCTSTR)m_name,())。 (endline,1)。 ((LPCTSTR)m_num,())。 (endline,1)。 ((LPCTSTR)m_addr,())。 (endline,1)。 ((LPCTSTR)m_type,())。 (endline,1)。 ((LPCTSTR)m_year,())。 (endline,1)。 ((LPCTSTR)m_phone,())。 (endline,1)。 ((LPCTSTR)m_phone,())。 (endline,1)。((LPCTSTR)m_phone,())。 (endline,1)。 ()。 }UpdateData(FALSE)。} 信息安全處理模塊 RSA 密鑰管理模塊在這個密鑰生成模塊中,該模塊通過程序中的相關(guān)加密算法來隨機(jī)生成發(fā)放給用戶的私鑰和房產(chǎn)管理中心留存和私鑰成對的公鑰文件,管理中心可以通過這個模塊的生成密鑰按鈕,讓計算機(jī)自動生存公鑰和私鑰,生成相應(yīng)的密鑰以后 公鑰由管理中心統(tǒng)一管理,私鑰文件會發(fā)放給相應(yīng)的戶主。以便戶主在下一個模塊中通過自己的私鑰來對自己的數(shù)字房產(chǎn)證進(jìn)行相應(yīng)的簽名,達(dá)到不可抵賴的作用通過對房密鑰生成模塊的測試,通過該子系統(tǒng)中RSA加密算法能夠得出簽名需要用到的簽名私鑰和管理中心用來驗證簽名后的證件的真?zhèn)蔚墓€。 圖6 密鑰管理模塊圖RSA密碼系統(tǒng)的安全性依賴于大數(shù)分解的難度,一般建議用戶選擇的素數(shù)p和q至少為100位,則n=pq是至少為200位的十進(jìn)制數(shù)。因此實現(xiàn)RSA算法有必要定義大數(shù)的數(shù)據(jù)結(jié)構(gòu)如圖6所示。密鑰生成,加密和解密涉及到一些大數(shù)的基本運算。定義大數(shù)的基本運算庫,包括加、減、乘、除、取模運算等,其中最重要的模乘運算和模冪運算。模冪算法是加密解密的核心算法。計算模冪的一種有效算法是“平方乘”方法,通過對指數(shù)的二進(jìn)制化來實現(xiàn)。大數(shù)數(shù)據(jù)的加,減,乘,除,模,模冪等由CBigInt這個類來完成,其定義如下:1.CBigInt類的定義class CBigInt{public: //大數(shù)在0x100000000進(jìn)制下的長度 unsigned m_nLength。 //用數(shù)組記錄大數(shù)在0x100000000進(jìn)制下每一位的值 unsigned long m_ulValue[BI_MAXLEN]。 CBigInt()。 ~CBigInt()。/*****************************************************************基本操作與運算Mov,賦值運算,可賦值為大數(shù)或普通整數(shù),可重載為運算符“=”Cmp,比較運算,可重載為運算符“==”、“!=”、“=”、“=”等Add,加,求大數(shù)與大數(shù)或大數(shù)與普通整數(shù)的和,可重載為運算符“+”Sub,減,求大數(shù)與大數(shù)或大數(shù)與普通整數(shù)的差,可重載為運算符“”Mul,乘,求大數(shù)與大數(shù)或大數(shù)與普通整數(shù)的積,可重載為運算符“*”Div,除,求大數(shù)與大數(shù)或大數(shù)與普通整數(shù)的商,可重載為運算符“/”Mod,模,求大數(shù)與大數(shù)或大數(shù)與普通整數(shù)的模,可重載為運算符“%”*****************************************************************/ void Mov(unsigned __int64 A)。 void Mov(CBigIntamp。 A)。 CBigInt Add(CBigIntamp。 A)。 CBigInt Sub(CBigIntamp。 A)。 CBigInt Mul(CBigIntamp。 A)。 CBigInt Div(CBigIntamp。 A)。 CBigInt Mod(CBigIntamp。 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(CBigIntamp。 A)。 /*****************************************************************輸入輸出Get,從字符串按10進(jìn)制或16進(jìn)制格式輸入到大數(shù)Put,將大數(shù)按10進(jìn)制或16進(jìn)制格式輸出到字符串*****************************************************************/ void Get(CStringamp。 str, unsigned int system=HEX)。 void Put(CStringamp。 str, unsigned int system=HEX)。 int Rab()。//米勒羅賓算法
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1