• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于公鑰密碼體制RSA算法的注冊(cè)碼生成器

      2015-08-01 10:06:22鄧從政
      關(guān)鍵詞:數(shù)字簽名開(kāi)發(fā)人員公鑰

      鄧從政

      (凱里學(xué)院 數(shù)學(xué)科學(xué)學(xué)院,貴州 凱里 556000)

      0 引 言

      目前,國(guó)內(nèi)外軟件開(kāi)發(fā)商開(kāi)發(fā)出的應(yīng)用軟件,其授權(quán)或發(fā)放注冊(cè)碼的形式大多采用傳統(tǒng)的加密解密算法,算法較為簡(jiǎn)單,安全性極低,很容易被第三方計(jì)算出注冊(cè)碼或破解,甚至生產(chǎn)出自己的解密器如注冊(cè)機(jī)等工具對(duì)軟件進(jìn)行盜版.RSA 公鑰密碼體制[1-5]的安全性基于分解大整數(shù)的困難性,算法較為成熟,是公鑰密碼體中一種實(shí)用的加解密技術(shù),其已被ISO/RC97 數(shù)據(jù)加密技術(shù)委員會(huì)推薦為公鑰加密標(biāo)準(zhǔn),在實(shí)際應(yīng)用中具有很強(qiáng)的安全性,可以利用它對(duì)軟件進(jìn)行高速安全地加解密.此外,RSA 算法既可以進(jìn)行加密也可以應(yīng)用于數(shù)字簽名,但用RSA開(kāi)發(fā)出的應(yīng)用產(chǎn)品目前市場(chǎng)上還不多見(jiàn),因此在商業(yè)領(lǐng)域具有巨大的實(shí)際意義和廣闊的應(yīng)用前景.本研究采用RSA 算法,開(kāi)發(fā)出具有高安全性的注冊(cè)碼生成器,其不僅可保護(hù)軟件開(kāi)發(fā)者的知識(shí)產(chǎn)權(quán),而且還可以實(shí)現(xiàn)軟件便捷的網(wǎng)絡(luò)銷(xiāo)售.

      1 RSA 數(shù)字簽名算法與注冊(cè)碼生成器的實(shí)現(xiàn)

      1.1 基于數(shù)字簽名算法注冊(cè)碼生成器的原理

      基于數(shù)字簽名算法注冊(cè)碼生成器的原理是:通過(guò)數(shù)字簽名算法對(duì)主機(jī)ID 生成一個(gè)數(shù)字簽名作為軟件的注冊(cè)碼,軟件運(yùn)行時(shí)再對(duì)數(shù)字簽名進(jìn)行驗(yàn)證來(lái)判斷軟件的合法性,只有軟件開(kāi)發(fā)人員才能對(duì)主機(jī)ID 進(jìn)行數(shù)字簽名,以此來(lái)有效地保護(hù)軟件版權(quán),而且不依賴(lài)于任何特殊的硬件設(shè)備.利用注冊(cè)碼實(shí)現(xiàn)軟件加密,在軟件運(yùn)行前對(duì)計(jì)算機(jī)硬件進(jìn)行檢測(cè)以獲得該計(jì)算機(jī)的標(biāo)識(shí)信息即代表這個(gè)計(jì)算機(jī)的主機(jī)ID.用戶(hù)通過(guò)電話(huà)、短信、E-mail 等方式將主機(jī)ID提供給軟件開(kāi)發(fā)人員,軟件開(kāi)發(fā)人員對(duì)用戶(hù)進(jìn)行驗(yàn)證后再根據(jù)主機(jī)ID 計(jì)算出一個(gè)注冊(cè)碼,用戶(hù)輸入注冊(cè)碼后軟件中的程序就可以檢測(cè)計(jì)算機(jī)的主機(jī)ID和該序列號(hào)是否對(duì)應(yīng).如果用戶(hù)將軟件安裝或拷貝到其他計(jì)算機(jī)上,由于主機(jī)ID 不同,程序就能判斷出該軟件屬于非法使用,這種方式稱(chēng)為許可證加密方式或序列號(hào)加密方式.注冊(cè)碼的計(jì)算和校驗(yàn)可以根據(jù)計(jì)算機(jī)的CPU 型號(hào)、網(wǎng)卡序列號(hào)、硬盤(pán)卷標(biāo)、BIOS 的日期及版本等信息產(chǎn)生.用戶(hù)將主機(jī)ID 提供給軟件開(kāi)發(fā)商后得到一個(gè)(ID,注冊(cè)碼)二元組,該二元組就作為對(duì)該計(jì)算機(jī)的授權(quán),(ID,注冊(cè)碼)二元組的計(jì)算在軟件開(kāi)發(fā)人員的計(jì)算機(jī)上完成,驗(yàn)證在用戶(hù)的計(jì)算機(jī)上完成.計(jì)算模塊和校驗(yàn)?zāi)K分別用于產(chǎn)生和驗(yàn)證(ID,注冊(cè)碼)二元組,因此,這2個(gè)模塊之間必須共享一些信息.雖然計(jì)算模塊是秘密的,但校驗(yàn)?zāi)K包括校驗(yàn)過(guò)程使用的算法及參數(shù),對(duì)破解者是沒(méi)有任何秘密可言的.通過(guò)分析校驗(yàn)算法可以獲得注冊(cè)碼的計(jì)算過(guò)程但不能允許從校驗(yàn)過(guò)程直接推導(dǎo)出計(jì)算過(guò)程的參數(shù).一些使用注冊(cè)碼方式加密的軟件中,其校驗(yàn)?zāi)K就暴露了太多的信息,以至于破解者可以開(kāi)發(fā)出注冊(cè)機(jī),為任何主機(jī)生成注冊(cè)碼.數(shù)字簽名在注冊(cè)碼加密的應(yīng)用中,軟件開(kāi)發(fā)人員可選定一個(gè)加密算法和一個(gè)私鑰、公鑰對(duì)來(lái)實(shí)現(xiàn)注冊(cè)碼加密.私鑰用來(lái)為ID 產(chǎn)生數(shù)字簽名,此簽名作為軟件的注冊(cè)碼,公鑰存在于軟件程序中校驗(yàn)?zāi)K得到計(jì)算機(jī)的ID 后利用公鑰驗(yàn)證數(shù)字簽名即注冊(cè)碼的真?zhèn)?數(shù)字簽名算法注冊(cè)碼的生成和加密流程如圖1 所示.

      圖1 數(shù)字簽名算法注冊(cè)碼生成器流程

      1.2 RSA 公鑰密碼體制數(shù)字簽名算法

      數(shù)字簽名算法,既是一種公鑰加密體制,也是一種非對(duì)稱(chēng)加密體制,即加密密鑰和解密密鑰不同.要實(shí)現(xiàn)加密算法,首先必須產(chǎn)生密鑰.

      RSA 簽名算法的思路為,

      設(shè)n = pq,其中p 和q 是2 個(gè)不同的大素?cái)?shù)(p,q 大于1 024 bits),定義參數(shù)系統(tǒng)為,其中,(n,b)組成公鑰,(p,q,a)組成私鑰.對(duì)于參數(shù)系統(tǒng),K = (n,p,q,a,b),消息x ∈Zn.定義:簽名函數(shù)為,S = Sig(x)= xbmodn;驗(yàn)證函數(shù)為,dk(y)= yamodn.

      算法實(shí)現(xiàn)的具體過(guò)程如下:

      1)隨機(jī)生成2 個(gè)大的素?cái)?shù)p,q;

      2)計(jì)算出n = pq,?(n)= (p-1)(q-1);

      3)產(chǎn)生一個(gè)隨機(jī)整數(shù)b,使得(b,?(n))= 1;

      4)根據(jù)ab ≡1mod?(n),求整數(shù)a;

      5)數(shù)字簽名,利用簽名函數(shù)S = Sig(x)=xbmodn 消息x ∈Zn簽名;

      6)驗(yàn)證簽名,用驗(yàn)證函數(shù)y = dk(s)= samodn,若y = s,則s 是真實(shí)的簽名;若y ≠s,則s 是偽造的簽名.

      1.3 RSA 注冊(cè)碼生成器的實(shí)現(xiàn)

      從RSA 數(shù)字簽名算法可以給出該數(shù)字簽名系統(tǒng)的實(shí)現(xiàn)過(guò)程:設(shè)有軟件開(kāi)發(fā)人員A 和軟件用戶(hù)B,A 的公鑰為(n,b),私鑰為(p,q,a),軟件開(kāi)發(fā)人員A的簽名函數(shù)為,S = Sig(x)= xbmodn,驗(yàn)證函數(shù)為,dk(y)= yamodn,軟件用戶(hù)B 的計(jì)算機(jī)某個(gè)ID 為明文消息x ∈Zn,軟件開(kāi)發(fā)人員A 對(duì)消息簽名生成注冊(cè)碼S = Sig(x),然后通過(guò)郵件或者短信將注冊(cè)碼(S,x)發(fā)給軟件用戶(hù)B,軟件用戶(hù)B 輸入注冊(cè)碼通過(guò)驗(yàn)證則取得軟件使用權(quán).這樣軟件用戶(hù)B 就成功接收到了軟件開(kāi)發(fā)人員A 發(fā)送過(guò)來(lái)的注冊(cè)碼消息,因?yàn)檐浖_(kāi)發(fā)人員A 對(duì)軟件用戶(hù)主機(jī)ID 簽名用的密鑰是私有的,別人無(wú)法偽造A 的簽名.只有開(kāi)發(fā)者A 的公鑰(p,q,a)才能解開(kāi)軟件開(kāi)發(fā)人員A 對(duì)主機(jī)ID 消息的簽名,即只有軟件開(kāi)發(fā)人員A 能通過(guò)對(duì)注冊(cè)碼的簽名,這樣就可以有效地防止其開(kāi)發(fā)的軟件被盜版售賣(mài).注冊(cè)碼生成器的實(shí)現(xiàn)流程如圖2 所示.

      1.4 仿真實(shí)現(xiàn)

      下面結(jié)合一個(gè)實(shí)例給出RSA 注冊(cè)碼生成器的C++ 語(yǔ)言仿真實(shí)現(xiàn).

      圖2 注冊(cè)碼生成器的實(shí)現(xiàn)流程示意圖

      根據(jù)RSA 數(shù)字簽名算法選擇2 個(gè)大素?cái)?shù),本研究選取p = 8779,q = 9973,計(jì)算出n = pq =87552967,隨機(jī)選取b = 89.設(shè)計(jì)算機(jī)的ID 數(shù)字化為x = 5685,此即為需要進(jìn)行數(shù)字簽名的明文信息.簽名為S = Sig(5685)= 568589,(mod87552967)=3218,經(jīng)過(guò)處理可作為注冊(cè)碼發(fā)送給軟件用戶(hù),t =?(n)= (p-1)= 8778 ×9972 = 87534216.用戶(hù)輸入3218,軟件自動(dòng)驗(yàn)證,如果匹配ID 的數(shù)字化數(shù)值5685,驗(yàn)證通過(guò),用戶(hù)取得軟件的使用權(quán).該過(guò)程的C ++ 程序如下:

      下面驗(yàn)證注冊(cè)碼生成器的實(shí)現(xiàn):

      1)首先輸入“1”即簽名,然后輸入要簽名的計(jì)算機(jī)ID 數(shù)值x =5685,程序運(yùn)行結(jié)果為3218,此即注冊(cè)碼,然后將(5685,3218)發(fā)送給軟件用戶(hù),

      2)軟件用戶(hù)接到注冊(cè)碼(5685,3218)后,通過(guò)軟件驗(yàn)證,先輸入“2",再輸入注冊(cè)碼3218,運(yùn)行結(jié)果若是5685,則驗(yàn)證通過(guò),

      2 結(jié) 語(yǔ)

      本研究利用RSA 算法對(duì)計(jì)算機(jī)主機(jī)ID 生成一個(gè)數(shù)字簽名作為軟件注冊(cè)碼,軟件運(yùn)行時(shí)再對(duì)數(shù)字簽名進(jìn)行驗(yàn)證來(lái)判斷軟件的合法性.RSA 注冊(cè)碼生成器可應(yīng)用于各類(lèi)應(yīng)用軟件如殺毒軟件、操作系統(tǒng)軟件、辦公軟件等,防止軟件網(wǎng)上發(fā)售或在應(yīng)用過(guò)程中時(shí)被第三方破解而被盜版,這種加密方式能有效地保護(hù)軟件開(kāi)發(fā)人員的版權(quán),實(shí)用價(jià)值較高,具有廣闊的應(yīng)用前景.

      [1]盧開(kāi)澄.計(jì)算機(jī)密碼學(xué)[M].北京:清華大學(xué)出版社,1998.

      [2]張淑芬,陳學(xué)斌,劉春風(fēng).RSA 公鑰密碼體制的安全性分析及其算法實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2005,22(7):108-110.

      [3]鄧從政.一種基于RSA 的數(shù)字圖象加密技術(shù)及其快速實(shí)現(xiàn)[J].通信技術(shù),2009,12(1):62-63.

      [4]吳世忠,祝世雄,張文政.應(yīng)用密碼學(xué)協(xié)議算法與源程序[M].北京:機(jī)械工業(yè)出版社,2000.

      [5]譚毓安,盧超,崔志剛.基于DSA 算法的軟件注冊(cè)碼保護(hù)[J].微型機(jī)與應(yīng)用,2005,12(6):66-68.

      猜你喜歡
      數(shù)字簽名開(kāi)發(fā)人員公鑰
      淺析計(jì)算機(jī)安全防護(hù)中數(shù)字簽名技術(shù)的應(yīng)用
      Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
      一種基于混沌的公鑰加密方案
      基于數(shù)字簽名的QR碼水印認(rèn)證系統(tǒng)
      HES:一種更小公鑰的同態(tài)加密算法
      SM2橢圓曲線(xiàn)公鑰密碼算法綜述
      讓W(xué)indows 10進(jìn)入開(kāi)發(fā)者模式
      電腦迷(2015年12期)2015-04-29 23:22:51
      后悔了?教你隱藏開(kāi)發(fā)人員選項(xiàng)
      基于格的公鑰加密與證書(shū)基加密
      基于數(shù)字簽名和HSM的數(shù)據(jù)庫(kù)篡改檢測(cè)機(jī)制
      呼玛县| 静宁县| 浙江省| 英德市| 西和县| 大城县| 雷波县| 鄄城县| 米泉市| 克东县| 湘乡市| 东乡族自治县| 扎兰屯市| 临武县| 高清| 建阳市| 山阴县| 上犹县| 兴义市| 绥中县| 阜新| 塔河县| 北流市| 仙桃市| 楚雄市| 庆城县| 宜阳县| 庄河市| 邯郸县| 英山县| 印江| 南投县| 磴口县| 炉霍县| 镇平县| 乌兰县| 灵川县| 道孚县| 蓬莱市| 乐山市| 曲松县|