日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

軟件加密技術(shù)和注冊機制( 三 )


(3) 給定 M,要找到另一個消息 M‘ 并滿足 H(M) = H(M’) 很難 。
在許多應(yīng)用中,僅有單向性是不夠的,還需要稱之為“抗碰撞的條件:
要找出兩個隨機的消息 M 和 M‘,使 H(M) = H(M’) 滿足很難 。
由于散列函數(shù)的這些特性,由于公開密碼算法的計算速度往往很慢,所以,在一些密碼協(xié)議中,它可以作為一個消息 M 的摘要,代替原始消息 M,讓發(fā)送者為 H(M) 簽名而不是對 M 簽名 .
如 SHA 散列算法用于數(shù)字簽名協(xié)議 DSA中 。
2.5數(shù)字簽名
提到數(shù)字簽名就離不開公開密碼系統(tǒng)和散列技術(shù) 。
有幾種公鑰算法能用作數(shù)字簽名 。在一些算法中,例如RSA,公鑰或者私鑰都可用作加密 。用你的私鑰加密文件,你就擁有安全的數(shù)字簽名 。在其它情況下,如DSA,算法便區(qū)分開來了??數(shù)字簽名算法不能用于加密 。這種思想首先由Diffie和Hellman提出 .
基本協(xié)議是簡單的 :
(1) A 用她的私鑰對文件加密,從而對文件簽名 。
(2) A 將簽名的文件傳給B.
(3) B用A的公鑰解密文件,從而驗證簽名 。
這個協(xié)議中,只需要證明A的公鑰的確是她的 。如果B不能完成第(3)步,那么他知道簽名是無效的 。
這個協(xié)議也滿足以下特征:
(1) 簽名是可信的 。當B用A的公鑰驗證信息時,他知道是由A簽名的 。
(2) 簽名是不可偽造的 。只有A知道她的私鑰 。
(3) 簽名是不可重用的 。簽名是文件的函數(shù),并且不可能轉(zhuǎn)換成另外的文件 。
(4) 被簽名的文件是不可改變的 。如果文件有任何改變,文件就不可能用A的公鑰驗證 。
(5) 簽名是不可抵賴的 。B不用A的幫助就能驗證A的簽名 。
在實際應(yīng)用中,因為公共密碼算法的速度太慢,簽名者往往是對消息的散列簽名而不是對消息本身簽名 。這樣做并不會降低簽名的可信性 。
3;當前流行的一些軟件保護技術(shù)
3.1序列號保護
數(shù)學算法一項都是密碼加密的核心,但在一般的軟件加密中,它似乎并不太為人們關(guān)心,因為大多數(shù)時候軟件加密本身實現(xiàn)的都是一種編程的技巧 。但近幾年來隨著序列號加密程序的普及,數(shù)學算法在軟件加密中的比重似乎是越來越大了 。
看看在網(wǎng)絡(luò)上大行其道的序列號加密的工作原理 。當用戶從網(wǎng)絡(luò)上下載某個shareware——共享軟件后,一般都有使用時間上的限制,當過了共享軟件的試用期后,你必須到這個軟件的公司去注冊后方能繼續(xù)使用 。注冊過程一般是用戶把自己的私人信息(一般主要指名字)連同信用卡號碼告訴給軟件公司,軟件公司會根據(jù)用戶的信息計算出一個序列碼,在用戶得到這個序列碼后,按照注冊需要的步驟在軟件中輸入注冊信息和注冊碼,其注冊信息的合法性由軟件驗證通過后,軟件就會取消掉本身的各種限制,這種加密實現(xiàn)起來比較簡單,不需要額外的成本,用戶購買也非常方便,在互聯(lián)網(wǎng)上的軟件80%都是以這種方式來保護的 。
軟件驗證序列號的合法性過程,其實就是驗證用戶名和序列號之間的換算關(guān)系是否正確的過程 。其驗證最基本的有兩種,一種是按用戶輸入的姓名來生成注冊碼,再同用戶輸入的注冊碼比較,公式表示如下:
序列號 = F(用戶名)
但這種方法等于在用戶軟件中再現(xiàn)了軟件公司生成注冊碼的過程,實際上是非常不安全的,不論其換算過程多么復(fù)雜,解密者只需把你的換算過程從程序中提取出來就可以編制一個通用的注冊程序 。
另外一種是通過注冊碼來驗證用戶名的正確性,公式表示如下:
用戶名稱 = F逆(序列號) (如ACDSEE)

推薦閱讀