欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
密碼學(xué)基礎
 本文簡(jiǎn)要地介紹了現代密碼學(xué)的一些基礎理論,供參考。

 1 加密技術(shù)概述

 一個(gè)密碼系統的安全性只在于密鑰的保密性,而不在算法的保密性。

 對純數據的加密的確是這樣。對于你不愿意讓他看到這些數據(數據的明文)的人,用可靠的加密算法,只要破解者不知道被加密數據的密碼,他就不可解讀這些數據。

 但是,軟件的加密不同于數據的加密,它只能是"隱藏"。不管你愿意不愿意讓他(合法用戶(hù),或
Cracker)看見(jiàn)這些數據(軟件的明文),軟件最終總要在機器上運行,對機器,它就必須是明文。既然機器可以"看見(jiàn)"這些明文,那么
Cracker,通過(guò)一些技術(shù),也可以看到這些明文。

 于是,從理論上,任何軟件加密技術(shù)都可以破解。只是破解的難度不同而已。有的要讓最高明的
Cracker
忙上幾個(gè)月,有的可能不費吹灰之力,就被破解了。

 所以,反盜版的任務(wù)(技術(shù)上的反盜版,而非行政上的反盜版)就是增加
Cracker
的破解難度。讓他們花費在破解軟件上的成本,比他破解這個(gè)軟件的獲利還要高。這樣
Cracker
的破解變得毫無(wú)意義--誰(shuí)會(huì )花比正版軟件更多的錢(qián)去買(mǎi)盜版軟件
?

 2 密碼學(xué)簡(jiǎn)介

 2.1 概念

 (1) 發(fā)送者和接收者

 假設發(fā)送者想發(fā)送消息給接收者,且想安全地發(fā)送信息:她想確信偷聽(tīng)者不能閱讀發(fā)送的消息。

 (2) 消息和加密

 消息被稱(chēng)為明文。用某種方法偽裝消息以隱藏它的內容的過(guò)程稱(chēng)為加密,加了密的消息稱(chēng)為密文,而把密文轉變?yōu)槊魑牡倪^(guò)程稱(chēng)為解密。

 明文用M(消息)或P(明文)表示,它可能是比特流(文本文件、位圖、數字化的語(yǔ)音流或數字化的視頻圖像)。至于涉及到計算機,P是簡(jiǎn)單的二進(jìn)制數據。明文可被傳送或存儲,無(wú)論在哪種情況,M指待加密的消息。

 密文用C表示,它也是二進(jìn)制數據,有時(shí)和M一樣大,有時(shí)稍大(通過(guò)壓縮和加密的結合,C有可能比P小些。然而,單單加密通常達不到這一點(diǎn))。加密函數E作用于M得到密文C,用數學(xué)表示為:

 E(M)=C.

 相反地,解密函數D作用于C產(chǎn)生M

 D(C)=M.

 先加密后再解密消息,原始的明文將恢復出來(lái),下面的等式必須成立

 D(E(M))=M

 (3) 鑒別、完整性和抗抵賴(lài)

 除了提供機密性外,密碼學(xué)通常有其它的作用:.

 (a) 鑒別

 消息的接收者應該能夠確認消息的來(lái)源;入侵者不可能偽裝成他人。

 (b) 完整性檢驗

 消息的接收者應該能夠驗證在傳送過(guò)程中消息沒(méi)有被修改;入侵者不可能用假消息代替合法消息。

 (c) 抗抵賴(lài)

 發(fā)送者事后不可能虛假地否認他發(fā)送的消息。

 (4) 算法和密鑰

 密碼算法也叫密碼,是用于加密和解密的數學(xué)函數。(通常情況下,有兩個(gè)相關(guān)的函數:一個(gè)用作加密,另一個(gè)用作解密)

 如果算法的保密性是基于保持算法的秘密,這種算法稱(chēng)為受限制的算法。受限制的算法具有歷史意義,但按現在的標準,它們的保密性已遠遠不夠。大的或經(jīng)常變換的用戶(hù)組織不能使用它們,因為每有一個(gè)用戶(hù)離開(kāi)這個(gè)組織,其它的用戶(hù)就必須改換另外不同的算法。如果有人無(wú)意暴露了這個(gè)秘密,所有人都必須改變他們的算法。

 更糟的是,受限制的密碼算法不可能進(jìn)行質(zhì)量控制或標準化。每個(gè)用戶(hù)組織必須有他們自己的唯一算法。這樣的組織不可能采用流行的硬件或軟件產(chǎn)品。但竊聽(tīng)者卻可以買(mǎi)到這些流行產(chǎn)品并學(xué)習算法,于是用戶(hù)不得不自己編寫(xiě)算法并予以實(shí)現,如果這個(gè)組織中沒(méi)有好的密碼學(xué)家,那么他們就無(wú)法知道他們是否擁有安全的算法。

 盡管有這些主要缺陷,受限制的算法對低密級的應用來(lái)說(shuō)還是很流行的,用戶(hù)或者沒(méi)有認識到或者不在乎他們系統中內在的問(wèn)題。

 現代密碼學(xué)用密鑰解決了這個(gè)問(wèn)題,密鑰用K表示。K可以是很多數值里的任意值。密鑰K的可能值的范圍叫做密鑰空間。加密和解密運算都使用這個(gè)密鑰(即運算都依賴(lài)于密鑰,并用K作為下標表示),這樣,加/解密函數現在變成:

 EK(M)=C

 DK(C)=M.

 這些函數具有下面的特性:

 DK(EK(M))=M.

 有些算法使用不同的加密密鑰和解密密鑰,也就是說(shuō)加密密鑰K1與相應的解密密鑰K2不同,在這種情況下:

 EK1(M)=C

 DK2(C)=M

 DK2 (EK1(M))=M

 所有這些算法的安全性都基于密鑰的安全性;而不是基于算法的細節的安全性。這就意味著(zhù)算法可以公開(kāi),也可以被分析,可以大量生產(chǎn)使用算法的產(chǎn)品,即使偷聽(tīng)者知道你的算法也沒(méi)有關(guān)系;如果他不知道你使用的具體密鑰,他就不可能閱讀你的消息。

 密碼系統由算法、以及所有可能的明文、密文和密鑰組成的。

 基于密鑰的算法通常有兩類(lèi):對稱(chēng)算法和公開(kāi)密鑰算法。下面將分別介紹:

 2.2 對稱(chēng)密碼算法

 對稱(chēng)算法有時(shí)又叫傳統密碼算法,就是加密密鑰能夠從解密密鑰中推算出來(lái),反過(guò)來(lái)也成立。在大多數對稱(chēng)算法中,加/解密密鑰是相同的。這些算法也叫秘密密鑰算法或單密鑰算法,它要求發(fā)送者和接收者在安全通信之前,商定一個(gè)密鑰。對稱(chēng)算法的安全性依賴(lài)于密鑰,泄漏密鑰就意味著(zhù)任何人都能對消息進(jìn)行加/解密。只要通信需要保密,密鑰就必須保密。

 對稱(chēng)算法的加密和解密表示為:

 EK(M)=C

 DK(C)=M

 對稱(chēng)算法可分為兩類(lèi)。一次只對明文中的單個(gè)比特(有時(shí)對字節)運算的算法稱(chēng)為序列算法或序列密碼。另一類(lèi)算法是對明文的一組比特亞行運算,這些比特組稱(chēng)為分組,相應的算法稱(chēng)為分組算法或分組密碼?,F代計算機密碼算法的典型分組長(cháng)度為64比特--這個(gè)長(cháng)度大到足以防止分析破譯,但又小到足以方便使用(在計算機出現前,算法普遍地每次只對明文的一個(gè)字符運算,可認為是序列密碼對字符序列的運算)。

 2.3 公開(kāi)密碼算法

 公開(kāi)密鑰算法(也叫非對稱(chēng)算法)是這樣設計的:用作加密的密鑰不同于用作解密的密鑰,而且解密密鑰不能根據加密密鑰計算出來(lái)(至少在合理假定的長(cháng)時(shí)間內)。之所以叫做公開(kāi)密鑰算法,是因為加密密鑰能夠公開(kāi),即陌生者能用加密密鑰加密信息,但只有用相應的解密密鑰才能解密信息。在這些系統中,加密密鑰叫做公開(kāi)密鑰(簡(jiǎn)稱(chēng)公鑰),解密密鑰叫做私人密鑰(簡(jiǎn)稱(chēng)私鑰)。私人密鑰有時(shí)也叫秘密密鑰。為了避免與對稱(chēng)算法混淆,此處不用秘密密鑰這個(gè)名字。

 用公開(kāi)密鑰K加密表示為

 EK(M)=C.

 雖然公開(kāi)密鑰和私人密鑰是不同的,但用相應的私人密鑰解密可表示為:

 DK(C)=M

 有時(shí)消息用私人密鑰加密而用公開(kāi)密鑰解密,這用于數字簽名(后面將詳細介紹),盡管可能產(chǎn)生混淆,但這些運算可分別表示為

 EK(M)=C

 DK(C)=M

 當前的公開(kāi)密碼算法的速度,比起對稱(chēng)密碼算法,要慢的多,這使得公開(kāi)密碼算法在大數據量的加密中應用有限。

 2.4 單向散列函數

 單向散列函數 H(M) 作用于一個(gè)任意長(cháng)度的消息
M,它返回一個(gè)固定長(cháng)度的散列值 h,其中 h 的長(cháng)度為 m
。

 輸入為任意長(cháng)度且輸出為固定長(cháng)度的函數有很多種,但單向散列函數還有使其單向的其它特性:

 (1) 給定 M ,很容易計算 h ;

 (2) 給定 h ,根據 H(M) = h 計算 M 很難 ;

 (3) 給定 M ,要找到另一個(gè)消息 M‘ 并滿(mǎn)足 H(M) =
H(M‘) 很難。

 在許多應用中,僅有單向性是不夠的,還需要稱(chēng)之為"抗碰撞"的條件:

 要找出兩個(gè)隨機的消息 M 和 M‘,使 H(M) = H(M‘)
滿(mǎn)足很難。

 由于散列函數的這些特性,由于公開(kāi)密碼算法的計算速度往往很慢,所以,在一些密碼協(xié)議中,它可以作為一個(gè)消息
M 的摘要,代替原始消息 M,讓發(fā)送者為 H(M)
簽名而不是對 M 簽名 。

 如 SHA 散列算法用于數字簽名協(xié)議 DSA中。

 2.5 數字簽名

 提到數字簽名就離不開(kāi)公開(kāi)密碼系統和散列技術(shù)。

 有幾種公鑰算法能用作數字簽名。在一些算法中,例如RSA,公鑰或者私鑰都可用作加密。用你的私鑰加密文件,你就擁有安全的數字簽名。在其它情況下,如DSA,算法便區分開(kāi)來(lái)了??數字簽名算法不能用于加密。這種思想首先由Diffie和Hellman提出
。

 基本協(xié)議是簡(jiǎn)單的 :

 (1) A 用她的私鑰對文件加密,從而對文件簽名。

 (2) A 將簽名的文件傳給B。

 (3) B用A的公鑰解密文件,從而驗證簽名。

 這個(gè)協(xié)議中,只需要證明A的公鑰的確是她的。如果B不能完成第(3)步,那么他知道簽名是無(wú)效的。

 這個(gè)協(xié)議也滿(mǎn)足以下特征:

 (1)
簽名是可信的。當B用A的公鑰驗證信息時(shí),他知道是由A簽名的。

 (2) 簽名是不可偽造的。只有A知道她的私鑰。

 (3)
簽名是不可重用的。簽名是文件的函數,并且不可能轉換成另外的文件。

 (4)
被簽名的文件是不可改變的。如果文件有任何改變,文件就不可能用A的公鑰驗證。

 (5)
簽名是不可抵賴(lài)的。B不用A的幫助就能驗證A的簽名。

 在實(shí)際應用中,因為公共密碼算法的速度太慢,簽名者往往是對消息的散列簽名而不是對消息本身簽名。這樣做并不會(huì )降低簽名的可信性。

 注:本文由計算機專(zhuān)業(yè)相關(guān)教材整理
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
密碼學(xué)基本介紹
為了系統安全,嵌入式工程師得知道這幾種實(shí)用加密算法!
起底密碼學(xué)
密碼學(xué)基本概念
【國密算法那點(diǎn)事兒】解讀DES和SM4、RSA和SM2及SM3
密碼學(xué)的新方向
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久