999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺析RSA數(shù)字簽名算法的軟件加密應(yīng)用

2016-11-15 03:59:36余勇
關(guān)鍵詞:計(jì)算機(jī)

余勇

(河南經(jīng)貿(mào)職業(yè)學(xué)院,河南 鄭州 450053)

淺析RSA數(shù)字簽名算法的軟件加密應(yīng)用

余勇

(河南經(jīng)貿(mào)職業(yè)學(xué)院,河南 鄭州 450053)

軟件是一種非常特殊的商品,其凝結(jié)了開(kāi)發(fā)人員的智慧、精力和時(shí)間。但軟件本身極易被復(fù)制,同時(shí)軟件版權(quán)也非常容易被盜。為維護(hù)開(kāi)發(fā)人員利益,其在開(kāi)發(fā)軟件的過(guò)程當(dāng)中不斷研發(fā)新的加密技術(shù),以維護(hù)開(kāi)發(fā)者的版權(quán),同時(shí)也提高了軟件的安全性。文章簡(jiǎn)單闡述了RSA數(shù)字簽名算法的基本概念和原理,并對(duì)RSA數(shù)字簽名算法在軟件加密當(dāng)中的具體應(yīng)用進(jìn)行了詳細(xì)探討。

RSA數(shù)字簽名算法軟件加密;秘鑰;安全性

隨著社會(huì)及計(jì)算機(jī)技術(shù)的不斷發(fā)展,軟件行業(yè)也得以迅速發(fā)展,社會(huì)軟件需求量不斷增加。軟件的開(kāi)發(fā)成本較高、周期較長(zhǎng)且具高風(fēng)險(xiǎn)性,但同時(shí)軟件又極易被復(fù)制和被盜,為維護(hù)開(kāi)發(fā)者的知識(shí)產(chǎn)權(quán)及開(kāi)發(fā)商的合法權(quán)益,就有必要采取相應(yīng)措施以對(duì)軟件進(jìn)行加密保護(hù)。RSA是一種非對(duì)稱加密算法,將其應(yīng)用于軟件加密當(dāng)中不僅可保護(hù)軟件的私密性,而且還可提高軟件的安全性,有利于軟件行業(yè)的健康、有序發(fā)展。

一、RSA數(shù)字簽名算法

1.RSA數(shù)字簽名算法的基本概念

RSA數(shù)字簽名算法是一種非對(duì)稱加密算法,產(chǎn)生于1978年,創(chuàng)始人為Ron Rivest、AdiShamirh和Len Adleman。此算法是以三人名字而命名的,其數(shù)論思想非常簡(jiǎn)單,即“兩個(gè)素?cái)?shù)相乘容易,但分解難”。

傳統(tǒng)的加密方法其加密密鑰及解密密鑰通常一致,密文的安全性不高,另密鑰的生成、注入、管理及分發(fā)等過(guò)程相對(duì)復(fù)雜。隨著計(jì)算機(jī)的不斷推廣和應(yīng)用,計(jì)算機(jī)使用者數(shù)量迅速加大,傳統(tǒng)加密方法的缺陷越來(lái)越明顯。但是公開(kāi)密鑰密碼體制當(dāng)中,加密密鑰完全不同于解密密鑰,加密密鑰是公開(kāi)的,但是解密密鑰為秘密密鑰,是實(shí)施了相應(yīng)的加密保護(hù)措施的,這種加密密鑰不同于解密密鑰密碼體制被稱為非對(duì)稱加密方法,其有效彌補(bǔ)了傳統(tǒng)加密方法的不足之處。另外,雖解密密鑰由加密密鑰決定,但卻無(wú)法根據(jù)加密密鑰進(jìn)行推導(dǎo)所得,因此此加密方式具很高的安全性能。

2.RSA數(shù)字簽名算法的基本原理

RSA現(xiàn)已成為使用范圍最為廣泛的一種非對(duì)稱算法加密技術(shù),其不僅可用于數(shù)據(jù)加密,同時(shí)也可用于數(shù)字簽名。RSA最大的特征在于其加密密鑰與解密密鑰不同,且解密密鑰無(wú)法通過(guò)加密密鑰進(jìn)行計(jì)算所得??傮w而言,RSA數(shù)字簽名算法的基本原理主要包括以下三步:

第一,產(chǎn)生加密密鑰和解密密鑰。選擇兩個(gè)大素?cái)?shù),分別記為p、q,計(jì)算其乘積,并記為n,n=pq;然后再隨機(jī)選擇一個(gè)正整數(shù)作為加密密鑰,記為e,e與(p-1)(q-1)的關(guān)系為互素;利用歐幾里得擴(kuò)展算法進(jìn)行計(jì)算,以得到解密密鑰,記為d。d所要滿足的條件如下:

d=e-1mod[(p-1)(q-1)]

式中的d與n的關(guān)系也為互素,e與n為公開(kāi)密鑰,d為私人密鑰,剛開(kāi)始所選擇的p與q在計(jì)算完成之后就不需要了,可舍棄,但要注意的p與q的取值決不可泄露。

第二,加密過(guò)程。加密過(guò)程,即軟件注冊(cè)碼的產(chǎn)生過(guò)程。以計(jì)算機(jī)ID為明文信息,即公開(kāi)信息,記作m,同時(shí)利用私人密鑰d加密信息m,從而得到密文s。s的計(jì)算公式如下:

s=mdmodn。式中的s即為擁有上述計(jì)算機(jī)ID的軟件注冊(cè)碼。

第三,解密過(guò)程。解密過(guò)程,即校驗(yàn)軟件注冊(cè)碼的過(guò)程。用戶可直接將注冊(cè)碼輸入相應(yīng)界面或是從軟件包的注冊(cè)文件當(dāng)中提取注冊(cè)碼s,然后再利用公開(kāi)密鑰e來(lái)解密密文,從而獲取明文信息。其計(jì)算公式如下:m'=semodn。

將計(jì)算所得的m'與原始明文m進(jìn)行比較,若相等,則表明s為軟件開(kāi)發(fā)人員所承認(rèn)的合法注冊(cè)碼,軟件可正常運(yùn)行;若不等,則表明s不為軟件開(kāi)發(fā)員的承認(rèn),軟件會(huì)拒絕運(yùn)行。

通過(guò)分析加密過(guò)程可知,軟件注冊(cè)碼的長(zhǎng)度主要由n來(lái)決定,n的位數(shù)越多,軟件就越安全。理論上來(lái)說(shuō),破解人員若能通過(guò)n來(lái)推導(dǎo)出p和q,通過(guò)加密密鑰e,其就可獲取解密密鑰d,進(jìn)而破解密文。然而實(shí)際上,300多年以來(lái),很多數(shù)學(xué)家在不斷研究因式分解的基礎(chǔ)上也未能取得有效的進(jìn)展,因此要想通過(guò)n來(lái)得知所選取的素?cái)?shù)p和q是非常困難的。而且通常來(lái)說(shuō),在實(shí)際的軟件加密應(yīng)用當(dāng)中,RSA數(shù)字簽名算法的密鑰保持在1024位以上,具有足夠的安全性能,可有效保障軟件注冊(cè)碼的安全性。

二、RSA數(shù)字簽名算法的軟件加密應(yīng)用

本文采取“一機(jī)一碼”制軟件保護(hù)方案,分析了RSA數(shù)字簽名算法在軟件加密當(dāng)中的具體應(yīng)用。

1.序列號(hào)的產(chǎn)生

本文所采取的是“一機(jī)一碼”制軟件保護(hù)方案,也就是說(shuō),每臺(tái)計(jì)算機(jī)的序列號(hào)是唯一的。計(jì)算機(jī)的硬盤(pán)序列號(hào)、網(wǎng)卡MAC地址混合形成計(jì)算機(jī)的標(biāo)志碼,再利用本機(jī)的消息摘要及哈希算法則可將所形成的標(biāo)志碼轉(zhuǎn)變?yōu)楸緳C(jī)的序列號(hào),此序列號(hào)是唯一且固定的。在序列號(hào)的生成過(guò)程當(dāng)中可自行加入任何數(shù)據(jù),同時(shí)利用RSA數(shù)字簽名算法將所加入數(shù)據(jù)進(jìn)行加密,從而形成軟件的注冊(cè)序列號(hào)。

2.注冊(cè)碼的生成

序列號(hào)生成之后,用戶下一步就需獲取注冊(cè)碼。首先,用戶可采取網(wǎng)絡(luò)或是電話等方式將所生成的序列號(hào)以及版本信息和電子郵箱等基本信息向開(kāi)發(fā)商提供,然后開(kāi)發(fā)商利用RSA數(shù)字簽名算法當(dāng)中的私鑰來(lái)加密用戶信息,從而獲得軟件注冊(cè)碼;接著開(kāi)發(fā)商將注冊(cè)碼利用各種方法將所得的密文進(jìn)行轉(zhuǎn)化,如Base64、Uuencode編碼等,將所得密文轉(zhuǎn)變?yōu)榭梢宰址M(jìn)行輸入的數(shù)據(jù),然后提供給用戶。

3.引入RSA數(shù)字簽名算法

利用RSA數(shù)字簽名算法加密軟件時(shí),密鑰的長(zhǎng)度越長(zhǎng),加密的計(jì)算量就會(huì)越大,軟件的保密程度也會(huì)越深。本方案當(dāng)中,利用RSA數(shù)字簽名算法進(jìn)行軟件加密的密鑰長(zhǎng)度設(shè)定為1024bit。RSA公鑰的算法如下:第一,將計(jì)算機(jī)的序列號(hào)及網(wǎng)卡的MAC地址提取出來(lái)以形成公開(kāi)信息m;第二,利用RSA數(shù)字簽名算法當(dāng)中的私人密鑰d來(lái)加密公開(kāi)信息m,從而得到密文s;第三,利用RSA數(shù)字簽名算法當(dāng)中的公開(kāi)密鑰e來(lái)解密密文s,從而得到明文m'。此過(guò)程當(dāng)中的部分代碼如下:

//讀取硬盤(pán)序列號(hào)

上述代碼為讀取計(jì)算機(jī)硬盤(pán)序列號(hào)及利用RSA數(shù)字簽名算法進(jìn)行解密的過(guò)程。解密之后,將通過(guò)以計(jì)算機(jī)的序列號(hào)及網(wǎng)卡的MAC地址提取出來(lái)以形成公開(kāi)信息m與解密所得明文m'進(jìn)行比較,若兩者一致,則說(shuō)明注冊(cè)信息為合法信息,軟件可正常運(yùn)行;若不一致,則說(shuō)明注冊(cè)信息不合法,軟件無(wú)法運(yùn)行。

4.密鑰數(shù)據(jù)庫(kù)管理

就理論而言,不管是哪種加密方法都是有可能被破解的,只是不同加密方法的破解難度有所不同。為加強(qiáng)軟件的破解難度,可利用數(shù)據(jù)庫(kù)存來(lái)存儲(chǔ)公開(kāi)密鑰及私密密鑰,并定期更換,同時(shí)利用Access數(shù)據(jù)庫(kù)以對(duì)用戶信息進(jìn)行保存,并存儲(chǔ)各版本軟件加密密鑰,從而達(dá)到更新密鑰的目的,進(jìn)而提高軟件的破解難度。

在這種情況下,用戶若想獲取加密密鑰,則可通過(guò)編寫(xiě)相應(yīng)的SQL語(yǔ)言以讓系統(tǒng)在數(shù)據(jù)庫(kù)存當(dāng)中進(jìn)行查詢即可,系統(tǒng)會(huì)依照相關(guān)用戶信息自動(dòng)查找并提取出相應(yīng)的加密密鑰。

5.驗(yàn)證用戶合法性

程序在進(jìn)行運(yùn)行時(shí)會(huì)自動(dòng)彈出注冊(cè)碼輸入框,用戶輸入正確注冊(cè)碼,即可注冊(cè)成功;若所輸入注冊(cè)碼錯(cuò)誤,則提示注冊(cè)失敗。

要注意的是,每臺(tái)計(jì)算機(jī)的識(shí)別碼都是唯一的,軟件也是通過(guò)識(shí)別碼來(lái)辨別各計(jì)算機(jī)的。但是當(dāng)計(jì)算機(jī)升級(jí)或是某些部件被更換之后,其識(shí)別碼也會(huì)產(chǎn)生變化。在這種情況下,用戶若要再次使用軟件,則可能需重新申請(qǐng)注冊(cè)碼,這在很大程度上加大了用戶和開(kāi)發(fā)者或開(kāi)發(fā)商的負(fù)擔(dān)。為此,在設(shè)計(jì)識(shí)別碼時(shí)應(yīng)注意有一定的變化空間。如WindowsXP,其識(shí)別碼為64位,其中有10項(xiàng)硬件信息,如CPU序列號(hào)、RAM容量、網(wǎng)卡MAC地址等,若識(shí)別碼有變化并保持在3位以內(nèi),則軟件會(huì)默認(rèn)為系統(tǒng)硬件更換或是軟件升級(jí)等狀況。在此情況下,軟件程序在校驗(yàn)注冊(cè)碼時(shí)會(huì)與本機(jī)的識(shí)別碼進(jìn)行比較,若完全匹配或是硬件變化較小,則軟件仍可正常運(yùn)行。

利用RSA數(shù)字簽名算法對(duì)軟件進(jìn)行加密,同時(shí)采取數(shù)據(jù)庫(kù)管理方式定期更新密鑰,可有效提高軟件的破解難度,避免軟件被非法復(fù)制或傳播,保障了開(kāi)發(fā)者及開(kāi)發(fā)商的合法權(quán)益。但就理論而言,RSA數(shù)字簽名算法也不能保證軟件的絕對(duì)安全,因此對(duì)于RSA數(shù)字簽名算法在軟件加密當(dāng)中的應(yīng)用還需進(jìn)行深入研究,以不斷完善現(xiàn)有加密方法,同時(shí)開(kāi)發(fā)新的軟件保護(hù)技術(shù),以將防止盜版工作做得更好,促進(jìn)軟件行業(yè)的健康發(fā)展。

[1]董燦鈞.注冊(cè)碼軟件加密保護(hù)中的RSA算法的應(yīng)用[J].信息安全與技術(shù),2013(9):15-16.

[2]劉心聲.RSA算法在共享軟件加密技術(shù)中的應(yīng)用機(jī)制研究[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2012(24):170-171.

[3]卜曉燕,張根耀.組合算法在軟件加密系統(tǒng)中的實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2012(8):77-79.

[4]趙鑫.RSA文件加密軟件的設(shè)計(jì)與開(kāi)發(fā)[J].數(shù)字技術(shù)與應(yīng)用,2014(8):173-174.

TP

A

1673-0046(2016)8-0187-02

猜你喜歡
計(jì)算機(jī)
計(jì)算機(jī)操作系統(tǒng)
穿裙子的“計(jì)算機(jī)”
基于LabVIEW的計(jì)算機(jī)聯(lián)鎖仿真系統(tǒng)
基于計(jì)算機(jī)自然語(yǔ)言處理的機(jī)器翻譯技術(shù)應(yīng)用與簡(jiǎn)介
科技傳播(2019年22期)2020-01-14 03:06:34
計(jì)算機(jī)多媒體技術(shù)應(yīng)用初探
科技傳播(2019年22期)2020-01-14 03:06:30
信息系統(tǒng)審計(jì)中計(jì)算機(jī)審計(jì)的應(yīng)用
計(jì)算機(jī)應(yīng)用軟件開(kāi)發(fā)技術(shù)的幾點(diǎn)探討
電子制作(2017年14期)2017-12-18 07:08:10
計(jì)算機(jī)網(wǎng)絡(luò)安全
iLOCK型計(jì)算機(jī)聯(lián)鎖開(kāi)發(fā)中的需求開(kāi)發(fā)管理
計(jì)算機(jī)聯(lián)鎖系統(tǒng)配置軟件設(shè)計(jì)與實(shí)現(xiàn)
主站蜘蛛池模板: 91极品美女高潮叫床在线观看| 亚洲欧美精品一中文字幕| 欧美精品啪啪一区二区三区| 日韩精品一区二区三区视频免费看| 亚洲系列无码专区偷窥无码| 日本尹人综合香蕉在线观看 | 欧美国产综合视频| 91亚洲国产视频| 国国产a国产片免费麻豆| 无码啪啪精品天堂浪潮av| 欧美精品H在线播放| 大陆精大陆国产国语精品1024| 永久免费无码日韩视频| 亚洲欧美一区二区三区图片| 亚洲色欲色欲www网| 91在线一9|永久视频在线| 九色在线视频导航91| 国产精品jizz在线观看软件| 亚洲AⅤ波多系列中文字幕| 色吊丝av中文字幕| 国产精品一区二区国产主播| 免费女人18毛片a级毛片视频| 性色一区| 亚洲欧美日韩动漫| 99激情网| 日韩天堂在线观看| 欧美三级自拍| 国产精品私拍99pans大尺度| 色综合久久无码网| 婷婷午夜影院| 亚洲成a∧人片在线观看无码| 色播五月婷婷| 国产精品无码在线看| 婷婷丁香色| www.精品国产| 亚洲欧美日韩天堂| 午夜免费小视频| 国产精品视频a| 中文字幕在线欧美| 亚洲 欧美 日韩综合一区| 2021亚洲精品不卡a| 国产视频一区二区在线观看| 色天堂无毒不卡| 欧美伦理一区| 日本久久网站| 久久国产精品无码hdav| 亚洲精品卡2卡3卡4卡5卡区| 国产精品成人第一区| 日本成人在线不卡视频| 999国内精品久久免费视频| 日本欧美中文字幕精品亚洲| 污污网站在线观看| 国产aⅴ无码专区亚洲av综合网| 国产97色在线| 国产高潮视频在线观看| 久久精品亚洲热综合一区二区| 亚洲欧美另类日本| 成人亚洲视频| 永久免费av网站可以直接看的 | 91成人在线观看视频| 亚洲色图欧美在线| 国产精品自在在线午夜| 日韩亚洲高清一区二区| 尤物成AV人片在线观看| 97se综合| 亚洲小视频网站| 国产欧美日韩另类精彩视频| 婷婷综合缴情亚洲五月伊| 久久久久国产精品嫩草影院| 999精品视频在线| 呦视频在线一区二区三区| 欧美国产另类| www.精品国产| 99ri精品视频在线观看播放| 456亚洲人成高清在线| 国产精品一区二区久久精品无码| 欧美一级爱操视频| 国产麻豆永久视频| 亚洲水蜜桃久久综合网站| 人妻21p大胆| 国产理论一区| 久久一色本道亚洲|