當前位置:首頁 » 區塊鏈知識 » Fips區塊鏈

Fips區塊鏈

發布時間: 2021-03-25 22:32:58

㈠ AES的ctr模式如何處理

aes高級加密標准,在密碼學中又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標准。這個標准用來替代原先的DES,已經被多方分析且廣為全世界所使用。經過五年的甄選流程,高級加密標准由美國國家標准與技術研究院(NIST)於2001年11月26日發布於FIPS PUB 197,並在2002年5月26日成為有效的標准。2006年,高級加密標准已然成為對稱密鑰加密中最流行的演算法之一。不同於它的前任標准DES,Rijndael使用的是代換-置換網路,而非Feistel架構。AES在軟體及硬體上都能快速地加解密,相對來說較易於實作,且只需要很少的存儲器。作為一個新的加密標准,目前正被部署應用到更廣大的范圍。嚴格地說,AES和Rijndael加密法並不完全一樣(雖然在實際應用中二者可以互換),因為Rijndael加密法可以支持更大范圍的區塊和密鑰長度:AES的區塊長度固定為128比特,密鑰長度則可以是128,192或256比特;而Rijndael使用的密鑰和區塊長度可以是32位的整數倍,以128位為下限,256比特為上限。加密過程中使用的密鑰是由Rijndael密鑰生成方案產生。

大多數AES計算是在一個特別的有限域完成的。AES加密過程是在一個4×4的位元組矩陣上運作,這個矩陣又稱為「狀態(state)」,其初值就是一個明文區塊(矩陣中一個元素大小就是明文區塊中的一個Byte)。(Rijndael加密法因支持更大的區塊,其矩陣行數可視情況增加)加密時,各輪AES加密循環(除最後一輪外)。

㈡ TP-LINK無線路由器安全加密設置哪種好WEP,WPA,WPA2(PSK),WPA2(AES)

從性能和安全性的角度來說,WPA2-PSK(AES)是最好的,一般的路由器對於該類型的加密都能游刃有餘的處理,而且,WPA2-PSK(AES)是目前為止最安全,也是使用最廣泛的無線加密協議

WEP是Wired Equivalent Privacy的簡稱,有線等效保密(WEP)協議是對在兩台設備間無線傳輸的數據進行加密的方式,用以防止非法用戶竊聽或侵入無線網路。不過密碼分析學家已經找出 WEP 好幾個弱點,因此在2003年被 Wi-Fi Protected Access (WPA) 淘汰,又在2004年由完整的 IEEE 802.11i 標准(又稱為 WPA2)所取代。
WPA全名為Wi-Fi Protected Access,有WPA和WPA2兩個標准,是一種保護無線電腦網路(Wi-Fi)安全的系統,WPA實作了IEEE 802.11i標準的大部分,是在802.11i完備之前替代WEP的過渡方案。WPA的設計可以用在所有的無線網卡上,但未必能用在第一代的無線取用點上。
WPA2 是經由 Wi-Fi 聯盟驗證過的 IEEE 802.11i 標準的認證形式。WPA2 實現了 802.11i 的強制性元素 ,特別是 Michael 演算法由公認徹底安全的 CCMP 訊息認證碼所取代、而 RC4 也被 AES 取代。WPA2具備完整的標准體系,但其不能被應用在某些老舊型號的網卡上。
WPA/WPA2下的加密方式有TKIP和AES兩種,TKIP: Temporal Key Integrity Protocol(臨時密鑰完整性協議)負責處理無線安全問題的加密部分。TKIP在設計時考慮了當時非常苛刻的限制因素:必須在現有硬體上運行,因此不能使用計算先進的加密演算法。而AES(高級加密標准),在密碼學中又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標准。這個標准用來替代原先的DES,已經被多方分析且廣為全世界所使用。經過五年的甄選流程,高級加密標准由美國國家標准與技術研究院(NIST)於2001年11月26日發布於FIPS PUB 197,並在2002年5月26日成為有效的標准。2006年,高級加密標准已然成為對稱密鑰加密中最流行的演算法之一。

㈢ 數字簽名的原理

數字簽名是附加在數據單元上的一些數據,或是對數據單元所作的密碼變換。這種數據或變換允許數據單元的接收者用以確認數據單元的來源和數據單元的完整性並保護數據,防止被人(例如接收者)進行偽造。

它是對電子形式的消息進行簽名的一種方法,一個簽名消息能在一個通信網路中傳輸。基於公鑰密碼體制和私鑰密碼體制都可以獲得數字簽名,主要是基於公鑰密碼體制的數字簽名。包括普通數字簽名和特殊數字簽名。

(3)Fips區塊鏈擴展閱讀:

實現方法

數字簽名演算法依靠公鑰加密技術來實現的。在公鑰加密技術里,每一個使用者有一對密鑰:一把公鑰和一把私鑰。公鑰可以自由發布,但私鑰則秘密保存;還有一個要求就是要讓通過公鑰推算出私鑰的做法不可能實現。

普通的數字簽名演算法包括三種演算法:

1.密碼生成演算法;

2.標記演算法;

3.驗證演算法。

㈣ 密文是什麼 具體給我講解一下

密文是相對於明文說的,明文其實就是你要傳達的消息,而明文通過加密之後就成了密文,密文其實是信息安全的一個詞彙。幫你介紹一下。

信息安全的發展歷史

通信保密科學的誕生
古羅馬帝國時期的Caesar密碼:能夠將明文信息變換為人們看不懂的字元串,(密文),當密文傳到夥伴手中時,又可方便的還原為原來的明文形式。 Caesar密碼由明文字母循環移3位得到。
1568年,L.Battista發明了多表代替密碼,並在美國南北戰爭期間有聯軍使用。例:Vigenere密碼和Beaufort密碼
1854年,Playfair發明了多字母代替密碼,英國在第一次世界大戰中使用了此密碼。例:Hill密碼,多表、多字母代替密碼成為古典密碼學的主流。
密碼破譯技術(密碼分析)的發展:例:以1918年W.Friedman使用重合指數破譯多表代替密碼技術為里程碑。 1949年C.Shannon的《保密系統的通信理論》文章發表在貝爾系統技術雜志上。這兩個成果為密碼學的科學研究奠定了基礎。從藝術變為科學。實際上,這就是通信保密科學的誕生,其中密碼是核心技術。

公鑰密碼學革命
25年之後,20世紀70年代,IBM公司的DES(美國數據加密標准)和1976年Diffie-Hellman,提出了公開密鑰密碼思想,1977年公鑰密碼演算法RSA的提出為密碼學的發展注入了新的活力。
公鑰密碼掀起了一場革命,對信息安全有三方面的貢獻:首次從計算復雜性上刻畫了密碼演算法的強度,突破了Shannon僅關心理論強度的局限性;他將傳統密碼演算法中兩個密鑰管理中的保密性要求,轉換為保護其中一格的保密性及另一格的完整性的要求;它將傳統密碼演算法中密鑰歸屬從通信兩方變為一個單獨的用戶,從而使密鑰的管理復雜度有了較大下降。
公鑰密碼的提出,注意:一是密碼學的研究逐步超越了數據的通信保密范圍,開展了對數據的完整性、數字簽名等技術的研究;二是隨著計算機和網路的發展,密碼學一逐步成為計算機安全、網路安全的重要支柱,使得數據安全成為信息安全的全新內容,超越了以往物理安全占據計算機安全的主導地位狀態。

訪問控制技術與可信計算機評估准則
1969年,B.Lampson提出了訪問控制模型。
1973年,D.Bell 和L.Lapala,創立了一種模擬軍事安全策略的計算機操作模型,這是最早也是最常用的一種計算機多級安全模型。
1985年,美國國防部在Bell-Lapala模型的基礎上提出了可信計算機評估准則(通常稱為橘皮書)。按照計算機系統的安全防護能力,分成8個等級。
1987年,Clark-Wilson模型針對完整性保護和商業應用提出的。
信息保障
1998年10月,美國國家安全局(NSA)頒布了信息保障技術框架1.1版,2003年2月6日,美國國防部(DOD)頒布了信息保障實施命令8500.2,從而信息保障成為美國國防組織實施信息化作戰的既定指導思想。
信息保障(IA:information assurance):通過確保信息的可用性、完整性、可識別性、保密性和抵賴性來保護信息系統,同時引入保護、檢測及響應能力,為信息系統提供恢復功能。這就是信息保障模型PDRR。
protect保護、detect檢測、react響應、restore 恢復
美國信息保障技術框架的推進使人們意識到對信息安全的認識不要停留在保護的框架之下,同時還需要注意信息系統的檢測和響應能力。
2003年,中國發布了《國家信息領導小組關於信息安全保障工作的意見》,這是國家將信息安全提到戰略高度的指導性文件

信息保密技術的研究成果:
發展各種密碼演算法及其應用:
DES(數據加密標准)、RSA(公開密鑰體制)、ECC(橢圓曲線離散對數密碼體制)等。
計算機信息系統安全模型和安全評價准則:
訪問監視器模型、多級安全模型等;TCSEC(可信計算機系統評價准則)、ITSEC(信息技術安全評價准則)等。

加密(Encryption)
加密是通過對信息的重新組合,使得只有收發雙方才能解碼並還原信息的一種手段。
傳統的加密系統是以密鑰為基礎的,這是一種對稱加密,也就是說,用戶使用同一個密鑰加密和解密。
目前,隨著技術的進步,加密正逐步被集成到系統和網路中,如IETF正在發展的下一代網際協議IPv6。硬體方面,Intel公司也在研製用於PC機和伺服器主板的加密協處理器。

身份認證(Authentication)

防火牆是系統的第一道防線,用以防止非法數據的侵入,而安全檢查的作用則是阻止非法用戶。有多種方法來鑒別一個用戶的合法性,密碼是最常用的,但由於有許多用戶採用了很容易被猜到的單詞或短語作為密碼,使得該方法經常失效。其它方法包括對人體生理特徵(如指紋)的識別,智能IC卡和USB盤。

數字簽名(Digital Signature)
數字簽名可以用來證明消息確實是由發送者簽發的,而且,當數字簽名用於存儲的數據或程序時,可以用來驗證數據或程序的完整性。
美國政府採用的數字簽名標准(Digital Signature Standard,DSS)使用了安全哈希運演算法則。用該演算法對被處理信息進行計算,可得到一個160位(bit)的數字串,把這個數字串與信息的密鑰以某種方式組合起來,從而得到數字簽名。

內容檢查(Content Inspection)
即使有了防火牆、身份認證和加密,人們仍擔心遭到病毒的攻擊。有些病毒通過E-mail或用戶下載的ActiveX和Java小程序(Applet)進行傳播,帶病毒的Applet被激活後,又可能會自動下載別的Applet。現有的反病毒軟體可以清除E-mail病毒,對付新型Java和ActiveX病毒也有一些辦法,如完善防火牆,使之能監控Applet的運行,或者給Applet加上標簽,讓用戶知道他們的來源。

介紹一些加密的知識

密鑰加/解密系統模型
在1976年,Diffie及Hellman發表其論文「New Directions in Cryptography」[9]之前,所謂的密碼學就是指對稱密鑰密碼系統。因為加/解密用的是同一把密鑰,所以也稱為單一密鑰密碼系統。

這類演算法可謂歷史悠久,從最早的凱撒密碼到目前使用最多的DES密碼演算法,都屬於單一密鑰密碼系統。

通常,一個密鑰加密系統包括以下幾個部分:
① 消息空間M(Message)
② 密文空間C(Ciphertext)
③ 密鑰空間K(Key)
④ 加密演算法E(Encryption Algorithm)
⑤ 解密演算法D(Decryption Algorithm)
消息空間中的消息M(稱之為明文)通過由加密密鑰K1控制的加密演算法加密後得到密文C。密文C通過解密密鑰K2控制的解密演算法又可恢復出原始明文M。即:
EK1(M)=C
DK2(C)=M
DK2(EK1(M))=M
概念:
當演算法的加密密鑰能夠從解密密鑰中推算出來,或反之,解密密鑰可以從加密密鑰中推算出來時,稱此演算法為對稱演算法,也稱秘密密鑰演算法或單密鑰演算法;

當加密密鑰和解密密鑰不同並且其中一個密鑰不能通過另一個密鑰推算出來時,稱此演算法為公開密鑰演算法。

1.凱撒密碼變換
更一般化的移位替代密碼變換為
加密:E(m)=(m+k) mod 26
解密:D(c)=(c-k) mod 26

2.置換密碼
在置換密碼中,明文和密文的字母保持相同,但順序被打亂了。在簡單的縱行置換密碼中,明文以固定的寬度水平地寫在一張圖表紙上,密文按垂直方向讀出;解密就是將密文按相同的寬度垂直地寫在圖表紙上,然後水平地讀出明文。例如:
明文:encryption is the transformation of data into some unreadable form
密文:eiffob nsodml ctraee rhmtuf yeaano pttirr trinem iaota onnod nsosa

20世紀40年代,Shannon提出了一個常用的評估概念。特認為一個好的加密演算法應具有模糊性和擴散性。
模糊性:加密演算法應隱藏所有的局部模式,即,語言的任何識別字元都應變得模糊,加密法應將可能導致破解密鑰的提示性語言特徵進行隱藏;
擴散性:要求加密法將密文的不同部分進行混合,是任何字元都不在其原來的位置。

加密演算法易破解的原因是未能滿足這兩個Shannon條件。

數據加密標准(DES)

DES演算法把64位的明文輸入塊變為64位的密文輸出塊,它所使用的密鑰也是64位,其功能是把輸入的64位數據塊按位重新組合,並把輸出分為L0、R0兩部分,每部分各長32位,經過16次迭代運算後。得到L16、R16,將此作為輸入,進行逆置換,即得到密文輸出。逆置換正好是初始置的逆運算.

具體方法 需要圖 我放不上去對不起了
可以將DES演算法歸結如下:
子密鑰生成:
C[0]D[0] = PC–1(K)
for 1 <= i <= 16
{C[i] = LS[i](C[i−1])
D[i] = LS[i](D[i−1])
K[i] = PC–2(C[i]D[i])}
加密過程:
L[0]R[0] = IP(x)
for 1 <= i <= 16
{L[i] = R[i−1]
R[i] = L[i−1] XOR f (R[i−1], K[i])}
c= IP−1(R[16]L[16])v
解密過程:
R[16]L[16] = IP(c)
for 1 <= i <= 16
{R[i−1] = L[i]
L[i−1] = R[i] XOR f (L[i], K[i])}
x= IP−1(L[0]R[0])
DES使用56位密鑰對64位的數據塊進行加密,並對64位的數據塊進行16輪編碼。與每輪編碼時,一個48位的「每輪」密鑰值由56位的完整密鑰得出來。DES用軟體進行解碼需要用很長時間,而用硬體解碼速度非常快,但幸運的是當時大多數黑客並沒有足夠的設備製造出這種硬體設備。
在1977年,人們估計要耗資兩千萬美元才能建成一個專門計算機用於DES的解密,而且需要12個小時的破解才能得到結果。所以,當時DES被認為是一種十分強壯的加密方法。 但是,當今的計算機速度越來越快了,製造一台這樣特殊的機器的花費已經降到了十萬美元左右,所以用它來保護十億美元的銀行間線纜時,就會仔細考慮了。另一個方面,如果只用它來保護一台伺服器,那麼DES確實是一種好的辦法,因為黑客絕不會僅僅為入侵一個伺服器而花那麼多的錢破解DES密文。由於現在已經能用二十萬美圓製造一台破譯DES的特殊的計算機,所以現在再對要求「強壯」加密的場合已經不再適用了

DES演算法的應用誤區

DES演算法具有極高安全性,到目前為止,除了用窮舉搜索法對DES演算法進行攻擊外,還沒有發現更有效的辦法。而56位長的密鑰的窮舉空間為256,這意味著如果一台計算機的速度是每一秒種檢測一百萬個密鑰,則它搜索完全部密鑰就需要將近2285年的時間,可見,這是難以實現的,當然,隨著科學技術的發展,當出現超高速計算機後,我們可考慮把DES密鑰的長度再增長一些,以此來達到更高的保密程度。
由上述DES演算法介紹我們可以看到:DES演算法中只用到64位密鑰中的其中56位,而第8、16、24、......64位8個位並未參與DES運算,這一點,向我們提出了一個應用上的要求,即DES的安全性是基於除了8,16,24,......64位外的其餘56位的組合變化256才得以保證的。因此,在實際應用中,我們應避開使用第8,16,24,......64位作為有效數據位,而使用其它的56位作為有效數據位,才能保證DES演算法安全可靠地發揮作用。如果不了解這一點,把密鑰Key的8,16,24,..... .64位作為有效數據使用,將不能保證DES加密數據的安全性,對運用DES來達到保密作用的系統產生數據被破譯的危險,這正是DES演算法在應用上的誤區,留下了被人攻擊、被人破譯的極大隱患。

A5 算 法

序列密碼簡介
序列密碼又稱流密碼,它將明文劃分成字元(如單個字母)或其編碼的基本單元(如0、1),然後將其與密鑰流作用以加密,解密時以同步產生的相同密鑰流實現。
序列密碼強度完全依賴於密鑰流產生器所產生的序列的隨機性和不可預測性,其核心問題是密鑰流生成器的設計。而保持收發兩端密鑰流的精確同步是實現可靠解密的關鍵技術。

A5演算法
A5演算法是一種序列密碼,它是歐洲GSM標准中規定的加密演算法,用於數字蜂窩行動電話的加密,加密從用戶設備到基站之間的鏈路。A5演算法包括很多種,主要為A5/1和A5/2。其中,A5/1為強加密演算法,適用於歐洲地區;A5/2為弱加密演算法,適用於歐洲以外的地區。這里將詳細討論A5/1演算法。
A5/1演算法的主要組成部分是三個長度不同的線性反饋移位寄存器(LFSR)R1、R2和R3,其長度分別為19、22和23。三個移位寄存器在時鍾的控制下進行左移,每次左移後,寄存器最低位由寄存器中的某些位異或後的位填充。各寄存器的反饋多項式為:
R1:x18+x17+x16+x13
R2:x21+x20
R3:x22+x21+x20+x7
A5演算法的輸入是64位的會話密鑰Kc和22位的隨機數(幀號)。

IDEA
IDEA即國際數據加密演算法,它的原型是PES(Proposed Encryption Standard)。對PES改進後的新演算法稱為IPES,並於1992年改名為IDEA(International Data Encryption Algorithm)。

IDEA是一個分組長度為64位的分組密碼演算法,密鑰長度為128位,同一個演算法即可用於加密,也可用於解密。
IDEA的加密過程包括兩部分:
(1) 輸入的64位明文組分成四個16位子分組:X1、X2、X3和X4。四個子分組作為演算法第一輪的輸入,總共進行八輪的迭代運算,產生64位的密文輸出。
(2) 輸入的128位會話密鑰產生八輪迭代所需的52個子密鑰(八輪運算中每輪需要六個,還有四個用於輸出變換)

子密鑰產生:輸入的128位密鑰分成八個16位子密鑰(作為第一輪運算的六個和第二輪運算的前兩個密鑰);將128位密鑰循環左移25位後再得八個子密鑰(前面四個用於第二輪,後面四個用於第三輪)。這一過程一直重復,直至產生所有密鑰。
IDEA的解密過程和加密過程相同,只是對子密鑰的要求不同。下表給出了加密子密鑰和相應的解密子密鑰。
密鑰間滿足:
Zi(r) ⊙ Zi(r) −1=1 mod (216+1)
−Zi(r)  +  Zi(r) =0 mod (216+1)

Blowfish演算法
Blowfish是Bruce Schneier設計的,可以免費使用。
Blowfish是一個16輪的分組密碼,明文分組長度為64位,使用變長密鑰(從32位到448位)。Blowfish演算法由兩部分組成:密鑰擴展和數據加密。

1. 數據加密
數據加密總共進行16輪的迭代,如圖所示。具體描述為(將明文x分成32位的兩部分:xL, xR)
for i = 1 to 16
{
xL = xL XOR Pi
xR = F(xL) XOR xR
if
{
交換xL和xR

}
}
xR = xR XOR P17
xL = xL XOR P18
合並xL 和xR
其中,P陣為18個32位子密鑰P1,P2,…,P18。
解密過程和加密過程完全一樣,只是密鑰P1,P2,…,P18以逆序使用。
2. 函數F
把xL分成四個8位子分組:a, b, c 和d,分別送入四個S盒,每個S盒為8位輸入,32位輸出。四個S盒的輸出經過一定的運算組合出32位輸出,運算為
F(xL) =((S1,a + S2,b mod 232) XOR S3,c) + S4,d mod 232
其中,Si,x表示子分組x(x=a、b、c或d)經過Si (i=1、2、3或4)盒的輸出。

沒有太多地方寫了,不把整個過程列上面了,就簡單介紹一下好了。

GOST演算法
GOST是前蘇聯設計的分組密碼演算法,為前蘇聯國家標准局所採用,標准號為:28147–89[5]。
GOST的消息分組為64位,密鑰長度為256位,此外還有一些附加密鑰,採用32輪迭代。

RC5演算法
RC5是一種分組長度、密鑰長度和加密迭代輪數都可變的分組密碼體制。RC5演算法包括三部分:密鑰擴展、加密演算法和解密演算法。

PKZIP演算法
PKZIP加密演算法是一個一次加密一個位元組的、密鑰長度可變的序列密碼演算法,它被嵌入在PKZIP數據壓縮程序中。
該演算法使用了三個32位變數key0、key1、key2和一個從key2派生出來的8位變數key3。由密鑰初始化key0、key1和key2並在加密過程中由明文更新這三個變數。PKZIP序列密碼的主函數為updata_keys()。該函數根據輸入位元組(一般為明文),更新三個32位的變數並獲得key3。

重點:單向散列函數

MD5 算 法

md5的全稱是message-digestalgorithm5(信息-摘要演算法),在90年代初由和rsadatasecurityinc的ronaldl.rivest開發出來,經md2、md3和md4發展而來。它的作用是讓大容量信息在用數字簽名軟體簽署私人密匙前被"壓縮"成一種保密的格式(就是把一個任意長度的位元組串變換成一定長的大整數)。不管是md2、md4還是md5,它們都需要獲得一個隨機長度的信息並產生一個128位的信息摘要。雖然這些演算法的結構或多或少有些相似,但md2的設計與md4和md5完全不同,那是因為md2是為8位機器做過設計優化的,而md4和md5卻是面向32位的電腦。
rivest在1989年開發出md2演算法。在這個演算法中,首先對信息進行數據補位,使信息的位元組長度是16的倍數。然後,以一個16位的檢驗和追加到信息末尾。並且根據這個新產生的信息計算出散列值。後來,rogier和chauvaud發現如果忽略了檢驗和將產生md2沖突。md2演算法的加密後結果是唯一的--既沒有重復。 為了加強演算法的安全性,rivest在1990年又開發出md4演算法。md4演算法同樣需要填補信息以確保信息的位元組長度加上448後能被512整除(信息位元組長度mod512=448)。然後,一個以64位二進製表示的信息的最初長度被添加進來。信息被處理成512位damg?rd/merkle迭代結構的區塊,而且每個區塊要通過三個不同步驟的處理。denboer和bosselaers以及其他人很快的發現了攻擊md4版本中第一步和第三步的漏洞。dobbertin向大家演示了如何利用一部普通的個人電腦在幾分鍾內找到md4完整版本中的沖突(這個沖突實際上是一種漏洞,它將導致對不同的內容進行加密卻可能得到相同的加密後結果)。毫無疑問,md4就此被淘汰掉了。 盡管md4演算法在安全上有個這么大的漏洞,但它對在其後才被開發出來的好幾種信息安全加密演算法的出現卻有著不可忽視的引導作用。除了md5以外,其中比較有名的還有sha-1、ripe-md以及haval等。

一年以後,即1991年,rivest開發出技術上更為趨近成熟的md5演算法。它在md4的基礎上增加了"安全-帶子"(safety-belts)的概念。雖然md5比md4稍微慢一些,但卻更為安全。這個演算法很明顯的由四個和md4設計有少許不同的步驟組成。在md5演算法中,信息-摘要的大小和填充的必要條件與md4完全相同。denboer和bosselaers曾發現md5演算法中的假沖突(pseudo-collisions),但除此之外就沒有其他被發現的加密後結果了。 vanoorschot和wiener曾經考慮過一個在散列中暴力搜尋沖突的函數(brute-forcehashfunction),而且他們猜測一個被設計專門用來搜索md5沖突的機器(這台機器在1994年的製造成本大約是一百萬美元)可以平均每24天就找到一個沖突。但單從1991年到2001年這10年間,竟沒有出現替代md5演算法的md6或被叫做其他什麼名字的新演算法這一點,我們就可以看出這個瑕疵並沒有太多的影響md5的安全性。上面所有這些都不足以成為md5的在實際應用中的問題。並且,由於md5演算法的使用不需要支付任何版權費用的,所以在一般的情況下(非絕密應用領域。但即便是應用在絕密領域內,md5也不失為一種非常優秀的中間技術),md5怎麼都應該算得上是非常安全的了。

演算法
MD表示消息摘要(Message Digest)。MD5是MD4的改進版,該演算法對輸入的任意長度消息產生128位散列值(或消息摘要。MD5演算法可用圖4-2表示。
對md5演算法簡要的敘述可以為:md5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。

1) 附加填充位
首先填充消息,使其長度為一個比512的倍數小64位的數。填充方法:在消息後面填充一位1,然後填充所需數量的0。填充位的位數從1~512。
2) 附加長度
將原消息長度的64位表示附加在填充後的消息後面。當原消息長度大於264時,用消息長度mod 264填充。這時,消息長度恰好是512的整數倍。令M[0 1…N−1]為填充後消息的各個字(每字為32位),N是16的倍數。

3) 初始化MD緩沖區
初始化用於計算消息摘要的128位緩沖區。這個緩沖區由四個32位寄存器A、B、C、D表示。寄存器的初始化值為(按低位位元組在前的順序存放):
A: 01 23 45 67
B: 89 ab cd ef
C: fe dc ba 98
D: 76 54 32 10

4) 按512位的分組處理輸入消息
這一步為MD5的主循環,包括四輪,如圖4-3所示。每個循環都以當前的正在處理的512比特分組Yq和128比特緩沖值ABCD為輸入,然後更新緩沖內容。
四輪操作的不同之處在於每輪使用的非線性函數不同,在第一輪操作之前,首先把A、B、C、D復制到另外的變數a、b、c、d中。這四個非線性函數分別為(其輸入/輸出均為32位字):
F(X,Y,Z) = (XY)((~X) Z)
G(X,Y,Z) = (XZ)(Y(~Z))
H(X,Y,Z) = XYZ
I(X,Y,Z) = Y(X(~Z))
其中,表示按位與;表示按位或;~表示按位反;表示按位異或。
此外,由圖4-4可知,這一步中還用到了一個有64個元素的表T[1..64],T[i]=232×abs(sin(i)),i的單位為弧度。
根據以上描述,將這一步驟的處理過程歸納如下:
for i = 0 to N/16−1 do
/* 每次循環處理16個字,即512位元組的消息分組*/
/*把第i個字塊(512位)分成16個32位子分組拷貝到X中*/
for j = 0 to 15 do
Set X[j] to M[i*16+j]
end /*j 循環*/
/*把A存為AA,B存為BB,C存為CC,D存為DD*/
AA = A
BB = B
CC = C
DD = D
/* 第一輪*/
/* 令[abcd k s i]表示操作
a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s)
其中,Y<<<s表示Y循環左移s位*/
/* 完成下列16個操作*/
[ABCD 0 7 1  ] [DABC 1 12 2  ] [CDAB 2 17 3  ] [BCDA 3 22 4  ]
[ABCD 4 7 5  ] [DABC 5 12 6  ] [CDAB 6 17 7  ] [BCDA 7 22 8  ]
[ABCD 8 7 9  ] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12]
[ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16]
/* 第二輪*/
/*令[abcd k s i]表示操作
a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s)*/
/*完成下列16個操作*/
[ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20]
[ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA 4 20 24]
[ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA 8 20 28]
[ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31] [BCDA 12 20 32]

/*第三輪*/
/*令[abcd k s t]表示操作
a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s)*/
/*完成以下16個操作*/
[ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA 14 23 36]
[ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA 10 23 40]
[ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43] [BCDA 6 23 44]
[ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47] [BCDA 2 23 48]
/*第四輪*/
/*令[abcd k s t]表示操作
a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s) */
/*完成以下16個操作*/
[ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52]
[ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA 1 21 56]
[ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA 13 21 60]
[ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA 9 21 64]
A = A + AA
B = B + BB
C = C + CC
D = D + DD
end /*i循環*/
5) 輸出
由A、B、C、D四個寄存器的輸出按低位位元組在前的順序(即以A的低位元組開始、D的高位元組結束)得到128位的消息摘要。
以上就是對MD5演算法的描述。MD5演算法的運算均為基本運算,比較容易實現且速度很快。

安全散列函數(SHA)

演算法
SHA是美國NIST和NSA共同設計的安全散列演算法(Secure Hash Algorithm),用於數字簽名標准DSS(Digital Signature Standard)。SHA的修改版SHA–1於1995年作為美國聯邦信息處理標准公告(FIPS PUB 180–1)發布[2]。

㈤ 什麼是數字簽名舉例說明求解

所謂"數字簽名"就是通過某種密碼運算生成一系列符號及代碼組成電子密碼進行簽名,來代替書寫簽名或印章,對於這種電子式的簽名還可進行技術驗證,其驗證的准確度是一般手工簽名和圖章的驗證而無法比擬的。"數字簽名"是目前電子商務、電子政務中應用最普遍、技術最成熟的、可操作性最強的一種電子簽名方法。它採用了規范化的程序和科學化的方法,用於鑒定簽名人的身份以及對一項電子數據內容的認可。它還能驗證出文件的原文在傳輸過程中有無變動,確保傳輸電子文件的完整性、真實性和不可抵賴性。
數字簽名在ISO7498-2標准中定義為:"附加在數據單元上的一些數據,或是對數據單元所作的密碼變換,這種數據和變換允許數據單元的接收者用以確認數據單元來源和數據單元的完整性,並保護數據,防止被人(例如接收者)進行偽造"。美國電子簽名標准(DSS,FIPS186-2)對數字簽名作了如下解釋:"利用一套規則和一個參數對數據計算所得的結果,用此結果能夠確認簽名者的身份和數據的完整性"。按上述定義PKI(Public Key Infrastructino 公鑰基礎設施)提供可以提供數據單元的密碼變換,並能使接收者判斷數據來源及對數據進行驗證。
PKI的核心執行機構是電子認證服務提供者,即通稱為認證機構CA(Certificate Authority),PKI簽名的核心元素是由CA簽發的數字證書。它所提供的PKI服務就是認證、數據完整性、數據保密性和不可否認性。它的作法就是利用證書公鑰和與之對應的私鑰進行加/解密,並產生對數字電文的簽名及驗證簽名。數字簽名是利用公鑰密碼技術和其他密碼演算法生成一系列符號及代碼組成電子密碼進行簽名,來代替書寫簽名和印章;這種電子式的簽名還可進行技術驗證,其驗證的准確度是在物理世界中對手工簽名和圖章的驗證是無法比擬的。這種簽名方法可在很大的可信PKI域人群中進行認證,或在多個可信的PKI域中進行交*認證,它特別適用於互聯網和廣域網上的安全認證和傳輸。
「數字簽名」與普通文本簽名的最大區別在於,它可以使用個性鮮明的圖形文件,你只要利用掃描儀或作圖工具將你的個性簽名、印章甚至相片等,製作成BMP文件,就可以當做「數字簽名」的素材。
目前可以提供「數字簽名」功能的軟體很多,用法和原理都大同小異,其中比較常用的有「 OnSign」。安裝「OnSign」後,在Word、Outlook等程序的工具欄上,就會出現,「OnSign」的快捷按鈕,每次使用時,需輸入自己的密碼,以確保他人無法盜用。
對於使用了「OnSign」寄出的文件,收件人也需要安裝「OnSign」或「OnSign Viewer」,這樣才具備了識別「數字簽名」的功能。根據「OnSign」的設計,任何文件內容的竄改與攔截,都會讓簽名失效。因此當對方識別出你的「數字簽名」,就能確定這份文件是由你本人所發出的,並且中途沒有被竄改或攔截過。當然如果收件人還不放心,也可以單擊「數字簽名」上的藍色問號,「OnSign」就會再次自動檢查,如果文件有問題,「數字簽名」上就會出現紅色的警告標志。
在電子郵件使用頻繁的網路時代,使用好「數字簽名」,就像傳統信件中的「掛號信」,無疑為網路傳輸文件的安全又增加了一道保護屏障。
例子說明:現在我們就轉入正題了。JAVA的數字簽名類封裝在Signature類(java.security.Signature)中。
接下來,我會編寫三個功能(即三個Java類):

㈥ 什麼叫數字簽名

什麼是數字簽名?數字簽名與電子簽名是不是一回事?

電子簽名和數字簽名的內涵並不一樣,數字簽名是電子簽名技術中的一種,不過兩者的關系也很密切,目前電子簽名法中提到的簽名,一般指的就是"數字簽名"。

電子簽名

要理解什麼是電子簽名,需要從傳統手工簽名或蓋印章談起。在傳統商務活動中,為了保證交易的安全與真實,一份書面合同或公文要由當事人或其負責人簽字、蓋章,以便讓交易雙方識別是誰簽的合同,保證簽字或蓋章的人認可合同的內容,在法律上才能承認這份合同是有效的。而在電子商務的虛擬世界中,合同或文件是以電子文件的形式表現和傳遞的。在電子文件上,傳統的手寫簽名和蓋章是無法進行的,這就必須依*技術手段來替代。能夠在電子文件中識別雙方交易人的真實身份,保證交易的安全性和真實性以及不可抵懶性,起到與手寫簽名或者蓋章同等作用的簽名的電子技術手段,稱之為電子簽名。

從法律上講,簽名有兩個功能:即標識簽名人和表示簽名人對文件內容的認可。聯合國貿發會的《電子簽名示範法》中對電子簽名作如下定義:"指在數據電文中以電子形式所含、所附或在邏輯上與數據電文有聯系的數據它可用於鑒別與數據電文相關的簽名人和表明簽名人認可數據電文所含信息";在歐盟的《電子簽名共同框架指令》中就規定?quot;以電子形式所附或在邏輯上與其他電子數據相關的數據,作為一種判別的方法"稱電子簽名。

實現電子簽名的技術手段有很多種,但目前比較成熟的,世界先進國家普遍使用的電子簽名技術還是"數字簽名"技術。由於保持技術中立性是制訂法律的一個基本原則,目前還沒有任何理由說明公鑰密碼理論是製作簽名的唯一技術,因此有必要規定一個更一般化的概念以適應今後技術的發展。但是,目前電子簽名法中提到的簽名,一般指的就是"數字簽名"。

數字簽名

所謂"數字簽名"就是通過某種密碼運算生成一系列符號及代碼組成電子密碼進行簽名,來代替書寫簽名或印章,對於這種電子式的簽名還可進行技術驗證,其驗證的准確度是一般手工簽名和圖章的驗證而無法比擬的。"數字簽名"是目前電子商務、電子政務中應用最普遍、技術最成熟的、可操作性最強的一種電子簽名方法。它採用了規范化的程序和科學化的方法,用於鑒定簽名人的身份以及對一項電子數據內容的認可。它還能驗證出文件的原文在傳輸過程中有無變動,確保傳輸電子文件的完整性、真實性和不可抵賴性。

數字簽名在ISO7498-2標准中定義為:"附加在數據單元上的一些數據,或是對數據單元所作的密碼變換,這種數據和變換允許數據單元的接收者用以確認數據單元來源和數據單元的完整性,並保護數據,防止被人(例如接收者)進行偽造"。美國電子簽名標准(DSS,FIPS186-2)對數字簽名作了如下解釋:"利用一套規則和一個參數對數據計算所得的結果,用此結果能夠確認簽名者的身份和數據的完整性"。按上述定義PKI(Public Key Infrastructino 公鑰基礎設施)提供可以提供數據單元的密碼變換,並能使接收者判斷數據來源及對數據進行驗證。

PKI的核心執行機構是電子認證服務提供者,即通稱為認證機構CA(Certificate Authority),PKI簽名的核心元素是由CA簽發的數字證書。它所提供的PKI服務就是認證、數據完整性、數據保密性和不可否認性。它的作法就是利用證書公鑰和與之對應的私鑰進行加/解密,並產生對數字電文的簽名及驗證簽名。數字簽名是利用公鑰密碼技術和其他密碼演算法生成一系列符號及代碼組成電子密碼進行簽名,來代替書寫簽名和印章;這種電子式的簽名還可進行技術驗證,其驗證的准確度是在物理世界中對手工簽名和圖章的驗證是無法比擬的。這種簽名方法可在很大的可信PKI域人群中進行認證,或在多個可信的PKI域中進行交*認證,它特別適用於互聯網和廣域網上的安全認證和傳輸。
「數字簽名」與普通文本簽名的最大區別在於,它可以使用個性鮮明的圖形文件,你只要利用掃描儀或作圖工具將你的個性簽名、印章甚至相片等,製作成BMP文件,就可以當做「數字簽名」的素材。

目前可以提供「數字簽名」功能的軟體很多,用法和原理都大同小異,其中比較常用的有「 OnSign」。安裝「OnSign」後,在Word、Outlook等程序的工具欄上,就會出現,「OnSign」的快捷按鈕,每次使用時,需輸入自己的密碼,以確保他人無法盜用。

對於使用了「OnSign」寄出的文件,收件人也需要安裝「OnSign」或「OnSign Viewer」,這樣才具備了識別「數字簽名」的功能。根據「OnSign」的設計,任何文件內容的竄改與攔截,都會讓簽名失效。因此當對方識別出你的「數字簽名」,就能確定這份文件是由你本人所發出的,並且中途沒有被竄改或攔截過。當然如果收件人還不放心,也可以單擊「數字簽名」上的藍色問號,「OnSign」就會再次自動檢查,如果文件有問題,「數字簽名」上就會出現紅色的警告標志。

在電子郵件使用頻繁的網路時代,使用好「數字簽名」,就像傳統信件中的「掛號信」,無疑為網路傳輸文件的安全又增加了一道保護屏障。
回答者:gufanyy - 魔法師 四級 12-4 15:00

--------------------------------------------------------------------------------

數字簽名可以用來驗證文檔的真實性和完整性,數字簽名使用強大的加密技術和公鑰基礎結構,以更好地保證文檔的真實性、完整性和受認可性。 該流程非常安全,一些政府已經立法賦予數字簽名法律效力。
在與包括 Entrust 和 VeriSign 在內的一流安全供應商的合作中,Adobe 使所有行業都可以將數字簽名嵌入到 Adobe® 攜帶型文檔格式 (PDF) 文件中。 使用 Adobe 解決方案,您可以:

將數字簽名結合到往返工作流程中
在防火牆內外安全地發送已簽名的文檔
驗證簽名人的數字身份
通過在發送之前進行數字簽名來認證電子文檔
核實文檔沒有被欺騙性地更改
降低成本並加速批准流程

㈦ 數字簽名是什麼

什麼是數字簽名?數字簽名與電子簽名是不是一回事?

電子簽名和數字簽名的內涵並不一樣,數字簽名是電子簽名技術中的一種,不過兩者的關系也很密切,目前電子簽名法中提到的簽名,一般指的就是"數字簽名"。

電子簽名

要理解什麼是電子簽名,需要從傳統手工簽名或蓋印章談起。在傳統商務活動中,為了保證交易的安全與真實,一份書面合同或公文要由當事人或其負責人簽字、蓋章,以便讓交易雙方識別是誰簽的合同,保證簽字或蓋章的人認可合同的內容,在法律上才能承認這份合同是有效的。而在電子商務的虛擬世界中,合同或文件是以電子文件的形式表現和傳遞的。在電子文件上,傳統的手寫簽名和蓋章是無法進行的,這就必須依*技術手段來替代。能夠在電子文件中識別雙方交易人的真實身份,保證交易的安全性和真實性以及不可抵懶性,起到與手寫簽名或者蓋章同等作用的簽名的電子技術手段,稱之為電子簽名。

從法律上講,簽名有兩個功能:即標識簽名人和表示簽名人對文件內容的認可。聯合國貿發會的《電子簽名示範法》中對電子簽名作如下定義:"指在數據電文中以電子形式所含、所附或在邏輯上與數據電文有聯系的數據它可用於鑒別與數據電文相關的簽名人和表明簽名人認可數據電文所含信息";在歐盟的《電子簽名共同框架指令》中就規定?quot;以電子形式所附或在邏輯上與其他電子數據相關的數據,作為一種判別的方法"稱電子簽名。

實現電子簽名的技術手段有很多種,但目前比較成熟的,世界先進國家普遍使用的電子簽名技術還是"數字簽名"技術。由於保持技術中立性是制訂法律的一個基本原則,目前還沒有任何理由說明公鑰密碼理論是製作簽名的唯一技術,因此有必要規定一個更一般化的概念以適應今後技術的發展。但是,目前電子簽名法中提到的簽名,一般指的就是"數字簽名"。

數字簽名

所謂"數字簽名"就是通過某種密碼運算生成一系列符號及代碼組成電子密碼進行簽名,來代替書寫簽名或印章,對於這種電子式的簽名還可進行技術驗證,其驗證的准確度是一般手工簽名和圖章的驗證而無法比擬的。"數字簽名"是目前電子商務、電子政務中應用最普遍、技術最成熟的、可操作性最強的一種電子簽名方法。它採用了規范化的程序和科學化的方法,用於鑒定簽名人的身份以及對一項電子數據內容的認可。它還能驗證出文件的原文在傳輸過程中有無變動,確保傳輸電子文件的完整性、真實性和不可抵賴性。

數字簽名在ISO7498-2標准中定義為:"附加在數據單元上的一些數據,或是對數據單元所作的密碼變換,這種數據和變換允許數據單元的接收者用以確認數據單元來源和數據單元的完整性,並保護數據,防止被人(例如接收者)進行偽造"。美國電子簽名標准(DSS,FIPS186-2)對數字簽名作了如下解釋:"利用一套規則和一個參數對數據計算所得的結果,用此結果能夠確認簽名者的身份和數據的完整性"。按上述定義PKI(Public Key Infrastructino 公鑰基礎設施)提供可以提供數據單元的密碼變換,並能使接收者判斷數據來源及對數據進行驗證。

PKI的核心執行機構是電子認證服務提供者,即通稱為認證機構CA(Certificate Authority),PKI簽名的核心元素是由CA簽發的數字證書。它所提供的PKI服務就是認證、數據完整性、數據保密性和不可否認性。它的作法就是利用證書公鑰和與之對應的私鑰進行加/解密,並產生對數字電文的簽名及驗證簽名。數字簽名是利用公鑰密碼技術和其他密碼演算法生成一系列符號及代碼組成電子密碼進行簽名,來代替書寫簽名和印章;這種電子式的簽名還可進行技術驗證,其驗證的准確度是在物理世界中對手工簽名和圖章的驗證是無法比擬的。這種簽名方法可在很大的可信PKI域人群中進行認證,或在多個可信的PKI域中進行交*認證,它特別適用於互聯網和廣域網上的安全認證和傳輸。
「數字簽名」與普通文本簽名的最大區別在於,它可以使用個性鮮明的圖形文件,你只要利用掃描儀或作圖工具將你的個性簽名、印章甚至相片等,製作成BMP文件,就可以當做「數字簽名」的素材。

目前可以提供「數字簽名」功能的軟體很多,用法和原理都大同小異,其中比較常用的有「 OnSign」。安裝「OnSign」後,在Word、Outlook等程序的工具欄上,就會出現,「OnSign」的快捷按鈕,每次使用時,需輸入自己的密碼,以確保他人無法盜用。

對於使用了「OnSign」寄出的文件,收件人也需要安裝「OnSign」或「OnSign Viewer」,這樣才具備了識別「數字簽名」的功能。根據「OnSign」的設計,任何文件內容的竄改與攔截,都會讓簽名失效。因此當對方識別出你的「數字簽名」,就能確定這份文件是由你本人所發出的,並且中途沒有被竄改或攔截過。當然如果收件人還不放心,也可以單擊「數字簽名」上的藍色問號,「OnSign」就會再次自動檢查,如果文件有問題,「數字簽名」上就會出現紅色的警告標志。

在電子郵件使用頻繁的網路時代,使用好「數字簽名」,就像傳統信件中的「掛號信」,無疑為網路傳輸文件的安全又增加了一道保護屏障。
回答者:gufanyy - 魔法師 四級 12-4 15:00

--------------------------------------------------------------------------------

數字簽名可以用來驗證文檔的真實性和完整性,數字簽名使用強大的加密技術和公鑰基礎結構,以更好地保證文檔的真實性、完整性和受認可性。 該流程非常安全,一些政府已經立法賦予數字簽名法律效力。
在與包括 Entrust 和 VeriSign 在內的一流安全供應商的合作中,Adobe 使所有行業都可以將數字簽名嵌入到 Adobe® 攜帶型文檔格式 (PDF) 文件中。 使用 Adobe 解決方案,您可以:

將數字簽名結合到往返工作流程中
在防火牆內外安全地發送已簽名的文檔
驗證簽名人的數字身份
通過在發送之前進行數字簽名來認證電子文檔
核實文檔沒有被欺騙性地更改
降低成本並加速批准流程

㈧ CAESAR 支持什麼系統

xp,win7都行,但破解版對機器配置有要求

熱點內容
918虛擬比特幣數字貨幣交易 發布:2024-10-19 14:41:39 瀏覽:726
礦機還有人在搞 發布:2024-10-19 14:30:45 瀏覽:382
皮革錢包以太坊 發布:2024-10-19 14:21:07 瀏覽:840
哪裡查比特幣 發布:2024-10-19 14:21:03 瀏覽:744
2018年九月五號比特幣 發布:2024-10-19 14:14:30 瀏覽:896
去中心化的含義 發布:2024-10-19 13:48:41 瀏覽:798
什麼是區塊鏈服務網路 發布:2024-10-19 13:13:48 瀏覽:123
幣圈爆倉的原因 發布:2024-10-19 13:01:08 瀏覽:520
轉usdt需要下載什麼軟體的 發布:2024-10-19 12:46:28 瀏覽:535
幣圈40萬 發布:2024-10-19 12:31:36 瀏覽:147