【正文】
s,滿足: r * e1 + s * e2 = 1 假設(shè) r 為負數(shù),需再用 Euclidean 算法計算 C1^(1),則 ( C1^(1) )^(r) * C2^s = P mod n 另外,還有其它幾種利用公共模數(shù)攻擊的方法。目前, RSA 的一些 變種算法已被證明等價于大數(shù)分解。 這種算法 1978 年就出現(xiàn)了,它是第一個既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法。 同時日常數(shù)據(jù)交換中很多數(shù)據(jù)交換并不需要加密,不對稱算法開銷大,能過完成對數(shù)據(jù)加密 /解密來達到簽名的作用也大可不必。 8 CA的出現(xiàn)有效的解決了中間人的攻擊。 一把公開的鑰匙 , 可公開發(fā)行配送 ,只要有要求即取得 。 1997 年 RSA 數(shù)據(jù)安全公司發(fā)起了一項 “DES 挑戰(zhàn)賽 ” 的活動,志愿者四次分別用四個月、 41 天、 56 個小時和 22個小時破解了其用 56bit DES 算法加密的密文。 以英文為例,我們可以把英文字母往 后 移動三個位置,即: a b c d e f g h i j k l m n o p q r s t u v w x y z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 范 例 : Hello World How are you “ khoor zruog krz duh brx” 這句話就變的難以辨認了,而且如果發(fā)信人收信人有協(xié)定好的話,那還可以把文字之間的空白刪除,反正翻譯回來的時候,可以靠文句的意思,來推測斷句斷字的時機。 密碼 學(xué)是在編碼與破譯的斗爭實踐中逐步發(fā)展起來的,并隨著先進科學(xué)技術(shù)的應(yīng)用,已成為一門綜合性的尖端技術(shù)科學(xué)。但我們必需清楚地認識到,這一切一切的安全問題我們不可 一下全部找到解決方案,況且有的是根本無法找到徹底的解決方案,如病毒程序,因為任何反病毒程序都只能在新病毒發(fā)現(xiàn)之后才能開發(fā)出來,目前還沒有哪能一家反病毒軟件開發(fā)商敢承諾他們的軟件能查殺所有已知的和未知的病毒,所以我們不能有等網(wǎng)絡(luò)安全了再上網(wǎng)的念頭,因為或許網(wǎng)絡(luò)不能有這么一日,就象“矛”與“盾”,網(wǎng)絡(luò)與病毒、黑客永遠是一對共存體。一個簡單的例子就是密碼的傳輸,計算機密碼極為重要,許多安全防護體系是基于密碼的,密碼的泄露在某種意義上來講意味著其安全體系的全面崩潰。 數(shù)據(jù)加密的基本過程就是對原來為明文的文件或數(shù)據(jù)按某種算法進行處理,使其成為不可讀的一段代碼,通常稱為“密文”,使其只能在輸入相應(yīng)的密鑰之后才能顯示出本來內(nèi)容,通過這樣的途徑來達到保護數(shù)據(jù)不被非法人竊取、閱讀的目的。第一類為對稱金鑰 (Symmetric Key)密碼系統(tǒng),第二類為非對稱金鑰 (Public Key)密碼系統(tǒng)。 不 可否認性 (nonrepudiation) 如果我們收到通信對方的報文后,還要證實報文確實來自所宣稱的發(fā)送方,發(fā)送方也不能在發(fā)送報文以后否認自己發(fā)送過報文。各種基本的手段均很難保障安全、高效地完成此項工作。 [10] RSA 是一種公開密鑰加密體系,它的應(yīng)用原理是:先由密鑰管理中心產(chǎn)生一對公鑰 ( publickey)和私鑰 (Privatekey),稱為密鑰對。 單向散列算法,又叫 HASH 算法,用 HASH 函數(shù)對一段數(shù)據(jù)進行一次運算,得到一段固定長度的報文摘要 (message digest),任意兩個不同的數(shù)據(jù)得到兩個不同的摘要,或者一個數(shù)據(jù)內(nèi)容發(fā)生一個 bit 的變化,生成的摘要都截然同。 3 RSA 算法 RSA 算法的介紹 RSA算法是第一個能同時用于加密和 數(shù)字簽名 的算法,也易于理解和操作。數(shù) e和 n是公鑰, d 是私鑰。然后,經(jīng)過計算就可得到它所想 要的信息。 4) 字符串加密 把上面的過程集成一下我們就能實現(xiàn)一個對字符串加密解密的示例了。 $c=sprintf %03X,$C。 $mess=$ARGV[0] if ARGV = 1。在通信網(wǎng)絡(luò)的兩端,雙方約定一致的 Key,在通信的源點用 Key對核心數(shù)據(jù)進行 DES 加密,然后以密碼形式在公共通信網(wǎng)(如電話網(wǎng))中傳輸?shù)酵ㄐ啪W(wǎng)絡(luò)的終點,數(shù)據(jù)到達目的地后,用同樣的 Key 對密碼數(shù)據(jù)進行解密,便再現(xiàn)了明碼形式的核心數(shù)據(jù)。 DES算法理論圖解 DES 的算法是對稱的,既可用于加密又可用于解密。 int i,j。iN。 } ()。s is encrypted, the password encrypting the queen is also no read even if being gained by the hacker, the private interests key is not having an addressee has no way to undo the bidding document encrypting the queen also right away, the bidding document bees a big heap of the messy code there being no any actual significance. In short ,kind, significance es up saying an encrypt also being work society in the nowadays carrying out a document or the times that mail safety transfers symbolizes that disregarding being that the unit is still individual in some! Key words: Secret key。Public key。 return TRUE。 } (file,ios::binary)。 if(!out_file) { return FALSE。其具體運算過程有如下七步。 通過定期 在通信網(wǎng)絡(luò)的源端和目的端同時改用新的 Key,便能更進一步提高數(shù)據(jù)的保密性,這正是現(xiàn)在金融交易網(wǎng)絡(luò)的流行做法。 my $r_cmess = RSA_ENCRYPT(\$mess)。 } return \$cmess。 use Math::BigInt。但從算法上無法解決這一問題,主要措施有兩條:一條是采用好的公鑰協(xié)議,保證工作過程中實體不對其他實體任意產(chǎn)生的信息解密,不對自己一無所知的信息簽名;另一條是決不對陌生人送來的隨機文檔簽名,簽名時首先使用OneWay Hash Function 對文檔作 HASH 處理, 或同時使用不同的簽名算法。 加密信息 m(二進制表示)時,首先把 m 分成等長數(shù)據(jù)塊 m1 ,m2,..., mi ,塊長 s,其中 2^s = n, s 盡可能的大。 RSA 的安全性依賴于大數(shù)的因子分解,但并沒有從理論上證明破譯 RSA 的難度與大數(shù)分解難度等價。 MD5 MD5 是由 Ron Rivest 設(shè)計的可產(chǎn)生一個 128 位的散列值的散列算法??傻?p與 q的乘積為 n=pq 。如,設(shè)有 n 方參與通信,若 n 方都采用同一個對稱密鑰,一旦密鑰被破解,整個體系就會崩潰。在對稱加密系統(tǒng)中,加密和解密采用相同的密鑰。 移位法就是將 信 息里面 的文字,根據(jù)一定的規(guī)則改變順序,這種方法在文字數(shù)量很大的時候便可以顯示出他的優(yōu)勢 。 4 2 密碼學(xué) 定義 密碼學(xué) ( Cryptology)一詞 源自希臘文 “ krypto‘ s” 及 “ logos” 兩字,直譯即為 “ 隱藏 ” 及 “ 信息 ” 之意??傊疅o論是單位還是個人在某種意義上來說加密也成為當今網(wǎng)絡(luò)社會進行文件或郵件安全傳輸?shù)臅r代象征! [6] 這個 論文研究了文件加密算法,整個論文講述加密的來源,及現(xiàn)在已存在的加密算法,同時我詳細分析有種現(xiàn)今比較常用的兩種算法,從現(xiàn)有的加密算法中研究一種新算法,這種算法也有其優(yōu)點,它只改變文件的內(nèi)容,文件的屬性是不改變的,安全性是可以達到的。 3 1 前言 隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)安全也就成為當今網(wǎng)絡(luò)社會的焦點中的焦點,幾乎沒有人不在談?wù)摼W(wǎng)絡(luò)上的安全問題,病毒、黑客程序、郵件炸彈、遠程偵聽等這一切都無不讓人膽戰(zhàn)心驚。 密碼是通信雙方按約定的法則進行信息特殊變換的一種重要保密手段。 可以分成兩種,一種是單字替代,一種是字母替代 。該算法輸入的是 64 比特的明文,在 64 比特密鑰的控制下產(chǎn)生 64比特的密文;反之輸入 64比特的密文,輸出 64 比特的明文。 7 非對稱性密碼學(xué) 非對稱性或公開的鑰匙密碼學(xué) , 不同 于 對稱性的密碼學(xué) , 在於其加密鑰匙 適用 于 單一使用者 。 鑒別與簽名 對稱密碼學(xué)解決了數(shù)據(jù)機密性的功能要求,不對稱密碼學(xué)則相應(yīng)的解決了簽別和不可否認性等功能需求。它可產(chǎn)生一個 160 位的散列值。 B)分組長度太大,為保證安全性, n 至少也要 600 bits 以上,使運算代價很高,尤其是速度較慢,較對稱密碼算法慢幾個數(shù)量級;且隨著大數(shù)分解技術(shù)的發(fā)展,這個長度還在增加,不利于數(shù)據(jù)格式的標準化。 11 RSA 的安全性 RSA 的安全性依賴于大數(shù)分解,但是否等同于大數(shù)分解一直未能得到理論上的證明,因為沒有證明破解 RSA 就一定需要作大數(shù)分解。最普遍的情況是同一信息用不同的公鑰加密,這些公鑰共模而且互質(zhì),那末該信息無需私鑰就可得到恢復(fù)。 my $E=new Math::BigInt($RSA_CORE{e})。 for($i=0。 print 解密串: ,$$r_dmess,\n。 經(jīng)過 16 次迭代運算后。 由上述 DES 算法介紹我們可以看到: DES算法中只用到 64位密鑰中的其中 56位,而第 1 2 ......64 位 8個位并未參與 DES 運算,這一點,向我們提出了一個應(yīng)用上的要求,即 DES 的安全性是基于除了 8, 16, 24, ......64 位外的其余 56位的組合變化 256 才得以保證的 。jN。 while(p) { for(j=0。這兩種算法都有其優(yōu)點和缺點,在正文中都有講述。SHA1。 對于未來的展望,我是充滿信心的。) continue。 } 解密算法 BOOL Encrypt_Decrypt::Decrypt(CString file) { Str *p。按此規(guī)則密鑰中的 A所對應(yīng)的序號為 1,而 U所對應(yīng)的序號為 8,于是所給明文便轉(zhuǎn)換成相應(yīng)密文。即:經(jīng)過縮小選擇換位表 1的變換后, Key 的位數(shù)由 64位變成了 56 位,此 56 位分為 C0、 D0兩部分,各 28位,然 后分別進行第 1次循環(huán)左移,得到 C D1,將C1( 28位)、 D1( 28 位)合并得到 56位,再經(jīng)過縮小選擇換位 2,從而便得到了密鑰K0( 48位)。 DES 算法的入口參數(shù)有三個: Key、 Data、 Mode。 $dmess.=$c。 $M=Math::BigIntnew($c)。 最終我們獲得關(guān)鍵的 值: n=2773 ; d=847 ; e=63 ; 取消息 M=244。一般來說只用于少量數(shù)據(jù)加密。 密鑰對的產(chǎn)生 選擇兩個大素數(shù), p 和 q 。除了擁有該私鑰的人之外, 任何人即使拿到該加密過的 信 息都無法解密,就好像那些資料是用一個牢固的信封裝好,除了收信人之外,沒有人能拆開該信封。而權(quán)威機構(gòu)的公鑰則更加透明,比如可以刊登在報紙上讓大家都知道。 例如 : 假設(shè)一個送信者需要傳送一個信息給一個收信者 , 而信息的秘密性是必要的 , 送信者以收信者的公開的鑰匙來加密 ,而僅有收信者的私有的鑰匙能夠?qū)Υ诵畔⒔饷?。 NIST 估計如果用能在 1秒鐘內(nèi)破解 56bitDES 算法的計算機來破解 128 位的 AES 密密鑰,要用大約 149 億萬年時間。 鑒別 (authentication) 發(fā)送方和接收方都應(yīng)該能證實通信過程所涉及的另一方,通信的另一方確實具有他們所聲稱的身份。密碼體制的基本類型可以分為四種:錯亂 —— 按照規(guī)定的圖形和線路,改變明文字母或數(shù)碼等的位置成為密文;代替 —— 用一個或多個代替表將明文字母或數(shù)碼等代替為密文;密本 —— 用預(yù)先編定的字母或數(shù)字密碼組,代替一定的詞組單詞等變明文為密文;加亂 —— 用有限元素組成的一串序列作為亂數(shù),按規(guī)定的算法,同明文序列相結(jié)合變成密文。此后,由 AlanTuring 和 Ultra 計劃以及 其他人的努力,終于對德國人的密碼進行了破解。而且這種不安全性是互聯(lián)網(wǎng)存在基礎(chǔ) —— TCP/IP 協(xié)議所固有的,包括一些基于 TCP/IP 的服務(wù);另一方面,互聯(lián)網(wǎng)給眾多的商家?guī)砹藷o限的商機,互聯(lián)網(wǎng)把全世界連在了 一起,走向互聯(lián)網(wǎng)就意味著走向了世界,這對于無數(shù)商家無疑是夢寐以求的好事,特別是對于中小企業(yè)。 加密作為保障數(shù)據(jù)安全的一種方式,它不是現(xiàn)在才有的,它產(chǎn)生的歷史相當久遠,它是起源于要追溯于公元前 2020 年(幾個世紀了)