<dfn id="siuuq"><code id="siuuq"></code></dfn>
<menu id="siuuq"><kbd id="siuuq"></kbd></menu>
  • <menu id="siuuq"><acronym id="siuuq"></acronym></menu>
  • <menu id="siuuq"></menu>
  • <tbody id="siuuq"><nav id="siuuq"></nav></tbody>
    <li id="siuuq"></li>
    <tr id="siuuq"></tr>
    <dd id="siuuq"></dd>
  • <menu id="siuuq"></menu>
    <dfn id="siuuq"><source id="siuuq"></source></dfn><dfn id="siuuq"><dl id="siuuq"></dl></dfn>
    回復(fù)

    密碼算法

    樓主: 283220 | 查看: 2168 | 回復(fù): 2

    發(fā)表于 2025-12-30 23:40:25 內(nèi)蒙古| 發(fā)自安卓客戶端
    密碼算法是用于加密和解密的數(shù)學(xué)函數(shù),密碼算法是密碼協(xié)議的基礎(chǔ)。現(xiàn)行的密碼算法主要包括序列密碼、分組密碼、公鑰密碼、散列函數(shù)等,用于保證信息的安全,提供鑒別、完整性、抗抵賴等服務(wù)。假設(shè)我們想通過網(wǎng)絡(luò)發(fā)送消息P(P通常是明文數(shù)據(jù)包),使用密碼算法隱藏P的內(nèi)容可將P轉(zhuǎn)化成密文,這個(gè)轉(zhuǎn)化過程就叫做加密。與明文P相對(duì)應(yīng)的密文C的得到依靠一個(gè)附加的參數(shù)K,稱為密鑰。密文C的接收方為恢復(fù)明文,需要另一個(gè)密鑰K-1完成反方向的運(yùn)算。這個(gè)反向的過程稱為解密。
    加密技術(shù)概述編輯一個(gè)密碼系統(tǒng)的安全性只在于密鑰的保密性,而不在算法的保密性。 對(duì)純數(shù)據(jù)的加密的確是這樣。對(duì)于你不愿意讓他看到這些數(shù)據(jù)(數(shù)據(jù)的明文)的人,用可靠的加密算法,只要破解者不知道被加密數(shù)據(jù)的密碼,他就不可解讀這些數(shù)據(jù)。 但是,軟件的加密不同于數(shù)據(jù)的加密,它只能是“隱藏”。不管你愿意不愿意讓他(合法用戶,或 Cracker)看見這些數(shù)據(jù)(軟件的明文),軟件最終總要在機(jī)器上運(yùn)行,對(duì)機(jī)器,它就必須是明文。既然機(jī)器可以“看見”這些明文,那么 Cracker,通過一些技術(shù),也可以看到這些明文。 于是,從理論上,任何軟件加密技術(shù)都可以破解。只是破解的難度不同而已。有的要讓最高明的 Cracker 忙上幾個(gè)月,有的可能不費(fèi)吹灰之力,就被破解了。
    2密碼學(xué)簡介編輯概念
    (1) 發(fā)送者和接收者
    假設(shè)發(fā)送者想發(fā)送消息給接收者,且想安全地發(fā)送信息:她想確信偷聽者不能閱讀發(fā)送的消息。
    (2) 消息和加密
    消息被稱為明文。用某種方法偽裝消息以隱藏它的內(nèi)容的過程稱為加密,加了密的消息稱為密文,而把密文轉(zhuǎn)變?yōu)槊魑牡倪^程稱為解密。
    明文用M(消息)或P(明文)表示,它可能是比特流(文本文件、位圖、數(shù)字化的語音流或數(shù)字化的視頻圖像)。至于涉及到計(jì)算機(jī),P是簡單的二進(jìn)制數(shù)據(jù)。明文可被傳送或存儲(chǔ),無論在哪種情況,M指待加密的消息。
    密文用C表示,它也是二進(jìn)制數(shù)據(jù),有時(shí)和M一樣大,有時(shí)稍大(通過壓縮和加密的結(jié)合,C有可能比P小些。然而,單單加密通常達(dá)不到這一點(diǎn))。加密函數(shù)E作用于M得到密文C,用數(shù)學(xué)表示為:
    E(M)=C.
    相反地,解密函數(shù)D作用于C產(chǎn)生M
    D(C)=M.
    先加密后再解密消息,原始的明文將恢復(fù)出來,下面的等式必須成立:
    D(E(M))=M
    (3) 鑒別、完整性和抗抵賴
    除了提供機(jī)密性外,密碼學(xué)通常有其它的作用:.
    (a) 鑒別
    消息的接收者應(yīng)該能夠確認(rèn)消息的來源;入侵者不可能偽裝成他人。
    (b) 完整性檢驗(yàn)
    消息的接收者應(yīng)該能夠驗(yàn)證在傳送過程中消息沒有被修改;入侵者不可能用假消息代替合法消息。
    (c) 抗抵賴
    發(fā)送者事后不可能虛假地否認(rèn)他發(fā)送的消息。
    (4) 算法和密鑰
    密碼算法也叫密碼,是用于加密和解密的數(shù)學(xué)函數(shù)。(通常情況下,有兩個(gè)相關(guān)的函數(shù):一個(gè)用作加密,另一個(gè)用作解密)
    如果算法的保密性是基于保持算法的秘密,這種算法稱為受限制的算法。受限制的算法具有歷史意義,但按現(xiàn)在的標(biāo)準(zhǔn),它們的保密性已遠(yuǎn)遠(yuǎn)不夠。大的或經(jīng)常變換的用戶組織不能使用它們,因?yàn)槊坑幸粋€(gè)用戶離開這個(gè)組織,其它的用戶就必須改換另外不同的算法。如果有人無意暴露了這個(gè)秘密,所有人都必須改變他們的算法。
    但是,受限制的密碼算法不可能進(jìn)行質(zhì)量控制或標(biāo)準(zhǔn)化。每個(gè)用戶組織必須有他們自己的唯一算法。這樣的組織不可能采用流行的硬件或軟件產(chǎn)品。但竊聽者卻可以買到這些流行產(chǎn)品并學(xué)習(xí)算法,于是用戶不得不自己編寫算法并予以實(shí)現(xiàn),如果這個(gè)組織中沒有好的密碼學(xué)家,那么他們就無法知道他們是否擁有安全的算法。
    盡管有這些主要缺陷,受限制的算法對(duì)低密級(jí)的應(yīng)用來說還是很流行的,用戶或者沒有認(rèn)識(shí)到或者不在乎他們系統(tǒng)中內(nèi)在的問題。
    現(xiàn)代密碼學(xué)用密鑰解決了這個(gè)問題,密鑰用K表示。K可以是很多數(shù)值里的任意值。密鑰K的可能值的范圍叫做密鑰空間。加密和解密運(yùn)算都使用這個(gè)密鑰(即運(yùn)算都依賴于密鑰,并用K作為下標(biāo)表示),這樣,加/解密函數(shù)現(xiàn)在變成:
    EK(M)=C
    DK(C)=M.
    這些函數(shù)具有下面的特性:
    DK(EK(M))=M.
    有些算法使用不同的加密密鑰和解密密鑰,也就是說加密密鑰K1與相應(yīng)的解密密鑰K2不同,在這種情況下:
    EK1(M)=C
    DK2(C)=M
    DK2 (EK1(M))=M
    所有這些算法的安全性都基于密鑰的安全性;而不是基于算法的細(xì)節(jié)的安全性。這就意味著算法可以公開,也可以被分析,可以大量生產(chǎn)使用算法的產(chǎn)品,即使偷聽者知道你的算法也沒有關(guān)系;如果他不知道你使用的具體密鑰,他就不可能閱讀你的消息。
    密碼系統(tǒng)由算法、以及所有可能的明文、密文和密鑰組成的。
    基于密鑰的算法通常有兩類:對(duì)稱算法和公開密鑰算法。下面將分別介紹:
    對(duì)稱密碼算法
    對(duì)稱算法有時(shí)又叫傳統(tǒng)密碼算法,就是加密密鑰能夠從解密密鑰中推算出來,反過來也成立。在大多數(shù)對(duì)稱算法中,加/解密密鑰是相同的。這些算法也叫秘密密鑰算法或單密鑰算法,它要求發(fā)送者和接收者在安全通信之前,商定一個(gè)密鑰。對(duì)稱算法的安全性依賴于密鑰,泄漏密鑰就意味著任何人都能對(duì)消息進(jìn)行加/解密。只要通信需要保密,密鑰就必須保密。
    對(duì)稱算法的加密和解密表示為:
    EK(M)=C
    DK(C)=M
    對(duì)稱算法可分為兩類。一次只對(duì)明文中的單個(gè)比特(有時(shí)對(duì)字節(jié))運(yùn)算的算法稱為序列算法或序列密碼。另一類算法是對(duì)明文的一組比特亞行運(yùn)算,這些比特組稱為分組,相應(yīng)的算法稱為分組算法或分組密碼。現(xiàn)代計(jì)算機(jī)密碼算法的典型分組長度為64比特——這個(gè)長度大到足以防止分析破譯,但又小到足以方便使用(在計(jì)算機(jī)出現(xiàn)前,算法普遍地每次只對(duì)明文的一個(gè)字符運(yùn)算,可認(rèn)為是序列密碼對(duì)字符序列的運(yùn)算)。
    公開密碼算法
    公開密鑰算法(也叫非對(duì)稱算法)是這樣設(shè)計(jì)的:用作加密的密鑰不同于用作解密的密鑰,而且解密密鑰不能根據(jù)加密密鑰計(jì)算出來(至少在合理假定的長時(shí)間內(nèi))。之所以叫做公開密鑰算法,是因?yàn)榧用苊荑€能夠公開,即陌生者能用加密密鑰加密信息,但只有用相應(yīng)的解密密鑰才能解密信息。在這些系統(tǒng)中,加密密鑰叫做公開密鑰(簡稱公鑰),解密密鑰叫做私人密鑰(簡稱私鑰)。私人密鑰有時(shí)也叫秘密密鑰。為了避免與對(duì)稱算法混淆,此處不用秘密密鑰這個(gè)名字。
    用公開密鑰K加密表示為
    EK(M)=C.
    雖然公開密鑰和私人密鑰是不同的,但用相應(yīng)的私人密鑰解密可表示為:
    DK(C)=M
    有時(shí)消息用私人密鑰加密而用公開密鑰解密,這用于數(shù)字簽名(后面將詳細(xì)介紹),盡管可能產(chǎn)生混淆,但這些運(yùn)算可分別表示為:
    EK(M)=C
    DK(C)=M
    當(dāng)前的公開密碼算法的速度,比起對(duì)稱密碼算法,要慢的多,這使得公開密碼算法在大數(shù)據(jù)量的加密中應(yīng)用有限。
    單向散列函數(shù)
    單向散列函數(shù) H(M) 作用于一個(gè)任意長度的消息 M,它返回一個(gè)固定長度的散列值 h,其中 h 的長度為 m 。
    輸入為任意長度且輸出為固定長度的函數(shù)有很多種,但單向散列函數(shù)還有使其單向的其它特性:
    (1) 給定 M ,很容易計(jì)算 h ;
    (2) 給定 h ,根據(jù) H(M) = h 計(jì)算 M 很難 ;
    (3) 給定 M ,要找到另一個(gè)消息 M‘ 并滿足 H(M) = H(M’) 很難。
    在許多應(yīng)用中,僅有單向性是不夠的,還需要稱之為“抗碰撞”的條件:
    要找出兩個(gè)隨機(jī)的消息 M 和 M‘,使 H(M) = H(M’) 滿足很難。
    由于散列函數(shù)的這些特性,由于公開密碼算法的計(jì)算速度往往很慢,所以,在一些密碼協(xié)議中,它可以作為一個(gè)消息 M 的摘要,代替原始消息 M,讓發(fā)送者為 H(M) 簽名而不是對(duì) M 簽名 。
    如 SHA 散列算法用于數(shù)字簽名協(xié)議 DSA中。
    數(shù)字簽名
    提到數(shù)字簽名就離不開公開密碼系統(tǒng)和散列技術(shù)。
    有幾種公鑰算法能用作數(shù)字簽名。在一些算法中,例如RSA,公鑰或者私鑰都可用作加密。用你的私鑰加密文件,你就擁有安全的數(shù)字簽名。在其它情況下,如DSA,算法便區(qū)分開來了??數(shù)字簽名算法不能用于加密。這種思想首先由Diffie和Hellman提出 。
    基本協(xié)議是簡單的 :
    (1) A 用她的私鑰對(duì)文件加密,從而對(duì)文件簽名。
    (2) A 將簽名的文件傳給B。
    (3) B用A的公鑰解密文件,從而驗(yàn)證簽名。
    這個(gè)協(xié)議中,只需要證明A的公鑰的確是她的。如果B不能完成第(3)步,那么他知道簽名是無效的。
    這個(gè)協(xié)議也滿足以下特征:
    (1) 簽名是可信的。當(dāng)B用A的公鑰驗(yàn)證信息時(shí),他知道是由A簽名的。
    (2) 簽名是不可偽造的。只有A知道她的私鑰。
    (3) 簽名是不可重用的。簽名是文件的函數(shù),并且不可能轉(zhuǎn)換成另外的文件。
    (4) 被簽名的文件是不可改變的。如果文件有任何改變,文件就不可能用A的公鑰驗(yàn)證。
    (5) 簽名是不可抵賴的。B不用A的幫助就能驗(yàn)證A的簽名。
    加密算法
    密技術(shù)是對(duì)信息進(jìn)行編碼和解碼的技術(shù),編碼是把原來可讀信息(又稱明文)譯成代碼形式(又稱密文),其逆過程就是解碼(解密)。加密技術(shù)的要點(diǎn)是加密算法,加密算法可以分為對(duì)稱加密、不對(duì)稱加密和不可逆加密三類算法。
    對(duì)稱加密算法 對(duì)稱加密算法是應(yīng)用較早的加密算法,技術(shù)成熟。在對(duì)稱加密算法中,數(shù)據(jù)發(fā)信方將明文(原始數(shù)據(jù))和加密密鑰一起經(jīng)過特殊加密算法處理后,使其變成復(fù)雜的加密密文發(fā)送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對(duì)密文進(jìn)行解密,才能使其恢復(fù)成可讀明文。在對(duì)稱加密算法中,使用的密鑰只有一個(gè),發(fā)收信雙方都使用這個(gè)密鑰對(duì)數(shù)據(jù)進(jìn)行加密和解密,這就要求解密方事先必須知道加密密鑰。對(duì)稱加密算法的特點(diǎn)是算法公開、計(jì)算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對(duì)用戶每次使用對(duì)稱加密算法時(shí),都需要使用其他人不知道的惟一鑰匙,這會(huì)使得發(fā)收信雙方所擁有的鑰匙數(shù)量成幾何級(jí)數(shù)增長,密鑰管理成為用戶的負(fù)擔(dān)。對(duì)稱加密算法在分布式網(wǎng)絡(luò)系統(tǒng)上使用較為困難,主要是因?yàn)槊荑€管理困難,使用成本較高。在計(jì)算機(jī)專網(wǎng)系統(tǒng)中廣泛使用的對(duì)稱加密算法有DES和IDEA等。美國國家標(biāo)準(zhǔn)局倡導(dǎo)的AES即將作為新標(biāo)準(zhǔn)取代DES。
    不對(duì)稱加密算法 不對(duì)稱加密算法使用兩把完全不同但又是完全匹配的一對(duì)鑰匙—公鑰和私鑰。在使用不對(duì)稱加密算法加密文件時(shí),只有使用匹配的一對(duì)公鑰和私鑰,才能完成對(duì)明文的加密和解密過程。加密明文時(shí)采用公鑰加密,解密密文時(shí)使用私鑰才能完成,而且發(fā)信方(加密者)知道收信方的公鑰,只有收信方(解密者)才是唯一知道自己私鑰的人。不對(duì)稱加密算法的基本原理是,如果發(fā)信方想發(fā)送只有收信方才能解讀的加密信息,發(fā)信方必須首先知道收信方的公鑰,然后利用收信方的公鑰來加密原文;收信方收到加密密文后,使用自己的私鑰才能解密密文。顯然,采用不對(duì)稱加密算法,收發(fā)信雙方在通信之前,收信方必須將自己早已隨機(jī)生成的公鑰送給發(fā)信方,而自己保留私鑰。由于不對(duì)稱算法擁有兩個(gè)密鑰,因而特別適用于分布式系統(tǒng)中的數(shù)據(jù)加密。廣泛應(yīng)用的不對(duì)稱加密算法有RSA算法和美國國家標(biāo)準(zhǔn)局提出的DSA。以不對(duì)稱加密算法為基礎(chǔ)的加密技術(shù)應(yīng)用非常廣泛。
    不可逆加密算法 的特征是加密過程中不需要使用密鑰,輸入明文后由系統(tǒng)直接經(jīng)過加密算法處理成密文,這種加密后的數(shù)據(jù)是無法被解密的,只有重新輸入明文,并再次經(jīng)過同樣不可逆的加密算法處理,得到相同的加密密文并被系統(tǒng)重新識(shí)別后,才能真正解密。顯然,在這類加密過程中,加密是自己,解密還得是自己,而所謂解密,實(shí)際上就是重新加一次密,所應(yīng)用的“密碼”也就是輸入的明文。不可逆加密算法不存在密鑰保管和分發(fā)問題,非常適合在分布式網(wǎng)絡(luò)系統(tǒng)上使用,但因加密計(jì)算復(fù)雜,工作量相當(dāng)繁重,通常只在數(shù)據(jù)量有限的情形下使用,如廣泛應(yīng)用在計(jì)算機(jī)系統(tǒng)中的口令加密,利用的就是不可逆加密算法。近年來,隨著計(jì)算機(jī)系統(tǒng)性能的不斷提高,不可逆加密的應(yīng)用領(lǐng)域正在逐漸增大。在計(jì)算機(jī)網(wǎng)絡(luò)中應(yīng)用較多不可逆加密算法的有RSA公司發(fā)明的MD5算法和由美國國家標(biāo)準(zhǔn)局建議的不可逆加密標(biāo)準(zhǔn)SHS(Secure Hash Standard:安全雜亂信息標(biāo)準(zhǔn))等。

    13

    5

    分享

    | 發(fā)表于 2026-1-1 14:11:26 廣東| 發(fā)自安卓客戶端 發(fā)帖際遇
    感謝分享
    | 發(fā)表于 2026-1-6 00:05:40 福建| 發(fā)自安卓客戶端
    感謝分享
    尚未登錄
    您需要登錄后才可以回帖 登錄 | 加入學(xué)院
    <dfn id="siuuq"><code id="siuuq"></code></dfn>
    <menu id="siuuq"><kbd id="siuuq"></kbd></menu>
  • <menu id="siuuq"><acronym id="siuuq"></acronym></menu>
  • <menu id="siuuq"></menu>
  • <tbody id="siuuq"><nav id="siuuq"></nav></tbody>
    <li id="siuuq"></li>
    <tr id="siuuq"></tr>
    <dd id="siuuq"></dd>
  • <menu id="siuuq"></menu>
    <dfn id="siuuq"><source id="siuuq"></source></dfn><dfn id="siuuq"><dl id="siuuq"></dl></dfn>
    国产精品乱码一区 | 熟女作爱视频一区二区一二三四区 | 日韩三级在线 | 国产精品偷窥熟女精品视频步 | 美女自淫网站 |