當前位置:首頁 » 操作系統 » sha摘要演算法

sha摘要演算法

發布時間: 2022-07-20 01:56:57

① SHA1的SHA1演算法描述

在SHA1演算法中,我們必須把原始消息(字元串,文件等)轉換成位字元串。SHA1演算法只接受位作為輸入。假設我們對字元串「abc」產生消息摘要。首先,我們將它轉換成位字元串如下:
01100001 01100010 01100011
―――――――――――――
『a』=97 『b』=98 『c』=99
這個位字元串的長度為24。下面我們需要5個步驟來計算消息摘要MAC。 消息必須進行補位,以使其長度在對512取模以後的余數是448。也就是說,(補位後的消息長度)%512 = 448。即使長度已經滿足對512取模後余數是448,補位也必須要進行。
補位是這樣進行的:先補一個1,然後再補0,直到長度滿足對512取模後余數是448。總而言之,補位是至少補一位,最多補512位。還是以前面的「abc」為例顯示補位的過程。
原始信息: 01100001 01100010 01100011
補位第一步:01100001 01100010 01100011 1
首先補一個「1」
補位第二步:01100001 01100010 01100011 10…..0
然後補423個「0」
我們可以把最後補位完成後的數據用16進制寫成下面的樣子
61626380 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000
經過以上的處理之後,數據的長度是448了,我們可以進行下一步操作。 所謂的補長度是將原始數據的長度補到已經進行了補位操作的消息後面。通常用一個64位的數據來表示原始消息的長度。如果消息長度不大於2^64,那麼第一個字就是0。在進行了補長度的操作以後,整個消息就變成下面這樣了(16進制格式)
61626380 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000018
如果原始的消息長度超過了512,我們需要將它補成512的倍數。然後我們把整個消息分成一個一個512位的數據塊,分別處理每一個數據塊,從而得到消息摘要。 一系列的常量字K(0), K(1), ... , K(79),如果以16進制給出。它們如下:
Kt = 0x5A827999 (0 <= t <= 19)
Kt = 0x6ED9EBA1 (20 <= t <= 39)
Kt = 0x8F1BBCDC (40 <= t <= 59)
Kt = 0xCA62C1D6 (60 <= t <= 79). 在SHA1中我們需要一系列的函數。每個函數ft (0 <= t <= 79)都操作32位字B,C,D並且產生32位字作為輸出。ft(B,C,D)可以如下定義
ft(B,C,D) = (B AND C) or ((NOT B) AND D) ( 0 <= t <= 19)
ft(B,C,D) = B XOR C XOR D (20 <= t <= 39)
ft(B,C,D) = (B AND C) or (B AND D) or (C AND D) (40 <= t <= 59)
ft(B,C,D) = B XOR C XOR D (60 <= t <= 79). 必須使用進行了補位和補長度後的消息來計算消息摘要。計算需要兩個緩沖區,每個都由5個32位的字組成,還需要一個80個32位字的緩沖區。第一個5個字的緩沖區被標識為A,B,C,D,E。第二個5個字的緩沖區被標識為H0, H1, H2, H3, H4
。80個字的緩沖區被標識為W0, W1,..., W79
另外還需要一個一個字的TEMP緩沖區。
為了產生消息摘要,在第3.2部分中定義的512位(16個字)的數據塊M1, M2,..., Mn
會依次進行處理,處理每個數據塊Mi 包含80個步驟。
在處理所有數據塊之前,緩沖區{Hi} 被初始化為下面的值(16進制)
H0 = 0x67452301
H1 = 0xEFCDAB89
H2 = 0x98BADCFE
H3 = 0x10325476
H4 = 0xC3D2E1F0.
現在開始處理M1, M2, ... , Mn。為了處理 Mi,需要進行下面的步驟
(1). 將 Mi 分成 16 個字 W0, W1, ... , W15, W0 是最左邊的字
(2). 對於 t = 16 到 79 令
W[t] = S1(W[t-3] XOR W[t-8] XOR W[t-14] XOR W[t-16]).
(3). 令 A = H0, B = H1, C = H2, D = H3, E = H4.
(4) 對於 t = 0 到 79,執行下面的循環
TEMP = S5(A) + ft(B,C,D) + E + Wt + Kt;
E = D; D = C; C = S30(B); B = A; A = TEMP;
(5). 令 H0 = H0 + A, H1 = H1 + B, H2 = H2 + C, H3 = H3 + D, H4 = H4 + E.
在處理完所有的 Mn, 後,消息摘要是一個160位的字元串,以下面的順序標識
H0 H1 H2 H3 H4.
對於SHA256,SHA384,SHA512。你也可以用相似的辦法來計算消息摘要。對消息進行補位的演算法完全是一樣的。
SHA1在許多安全協議中廣為使用,包括TLS和SSL、PGP、SSH、S/MIME和IPsec,曾被視為是MD5(更早之前被廣為使用的散列函數)的後繼者。

② SHA是什麼

SHA即 Super High Aperture,稱作超高開口率技術。一般來說,擁有UHA技術的液晶已經是具有廣角的開口率,它能夠增加液晶板的透光率,從而提高液晶顯示的對比度,令白的更白,黑的更黑,使屏幕對比更為銳利清晰。而新SHA技術則是在UHA上基礎上更進一大步,它在配線和門配線之間增加了一層特殊樹脂膠膜,有效地填補了在UHA技術上形成的液晶與液晶板的表面的細小空隙,使光源扭曲和折射降低至近乎零,令光的表現更為出眾,從而達到了讓畫面色彩的層次感更加豐富和細膩之目的。SHA技術是高品質液晶電視和液晶顯示器等取得突破性進展的一項重要技術,它徹底解決了以往一直困擾著液晶界的對比度和亮度難以提高的技術瓶頸,讓一切成為可能。

③ 摘要認證的原理

對於普通的非敏感數據,我們更多關注其真實性和准確性,因此,如何在通信過程中保障數據不被篡改,首當其沖成為需要考慮的問題。鑒於使用HTTPS2性能上的成本以及需要額外申請CA證書,在這種情況下,一般採用對參數和響應進行摘要的方法,即能夠滿足需求。
針對每次請求和響應,按照一定的規則生成數字摘要,數字摘要需要涵蓋客戶端與服務端通信的內容,以及雙方約定好的「鹽」,以此來保障請求與響應不被第三方篡改。常見的摘要演算法包括MD5、SHA等,關於摘要演算法的介紹,前面章節已有詳細介紹,此處便不再贅述。由於傳遞端和接收端都認為HTTP協議的請求參數是無序的,因此客戶端與服務端雙方需要約定好參數的排序方式。請求的參數經過排序後,再將參數名稱和值經過一定的策略組織起來,加上一個密鑰secret,也就是所謂的「鹽」,然後通過約定的摘要演算法生成數字摘要,傳遞給服務端。
在服務端接收到客戶端傳遞的參數後,服務端會採用與客戶端相同的策略對參數進行排序,並且加上相同的secret,採用相同的摘要方式生成摘要串。由於相同內容經過相同的摘要演算法,生成的摘要內容必定是相同的。將服務端生成的摘要串與客戶端生成摘要串進行比較,這樣可以得知參數內容是否被篡改。同樣的,服務端返回的響應也需要加上 secret,採用約定好的摘要演算法生成相應的摘要,並將生成的摘要作為響應的一部分,返回給客戶端,以便驗證服務端返回數據的合法性。
當客戶端接收到服務端的響應後,加上相同的secret進行拼接,並採用與服務端相同的摘要演算法進行摘要,生成的摘要串與服務端傳遞過來的摘要串進行比較,這樣便可得知服務端的響應是否被篡改。
由於摘要演算法的不可逆性,並且大部分情況下不同的請求參數會有不同的服務端響應,鑒於參數和響應的多變性,摘要認證這種方式能夠在一定程度上防止信息被篡改,保障通信的安全。但是,摘要認證的安全性取決於secret的安全性,由於服務端與客戶端採用的是相同的secret,一旦secret泄露,通信的安全則無法保障。

④ 下載軟體經常看到的sha值和MD5值到底是什麼意思都是校驗碼么。

1.SHA值就像人的指紋,是文件的數字指紋,是唯一的,一個文件對應一個唯一的SHA1值,一般用來確認你的文件和官方發布的是否一致.如果官方原版文件被別人做過手腳,那麼算出來的SHA1值就會不同.所以SHA1值是用來「驗明正身」的。有些居心叵測的人在官方系統光碟裡面加入木馬程序、廣告程序等,然後再放出來給人下載,如果你不檢查SHA1值就貿然安裝就中招了,可以在網上下載一個數字指紋檢驗器來計算你下載回來的win7系統文件的SHA1值,然後到微軟的MSDN去查看官方發布的SHA1值,如果兩者相等,說明你下載的文件是和官方提供的是一樣的,你可以放心的安裝了。這就是SHA1值的用處,其他地方不用SHA1值的。 操作系統的ISO文件一般可以直接刻盤安裝,不用解壓出來。為了保險起見你最好用「UltraISO」軟體打開你的ISO文件,如果顯示為「可啟動XX文件」那麼你就放心直接刻錄吧。 2. MD5 md5的全稱是message-digest algorithm 5(信息-摘要演算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest開發出來,經md2、md3和md4發展而來。它的作用是讓大容量信息在用數字簽名軟體簽署私人密匙前被"壓縮"成一種保密的格式(就是把一個任意長度的位元組串變換成一定長的大整數)。不管是md2、md4還是md5,它們都需要獲得一個隨機長度的信息並產生一個128位的信息摘要。雖然這些演算法的結構或多或少有些相似,但md2的設計與md4和md5完全不同,那是因為md2是為8位機器做過設計優化的,而md4和md5卻是面向32位的電腦。這三個演算法的描述和c語言源代碼在internet rfcs 1321中有詳細的描述( http://www.ietf.org/rfc/rfc1321.txt) ,這是一份最權威的文檔,由ronald l. rivest在1992年8月向ieft提交。

求採納

⑤ sha 1演算法生成的摘要是多少位

160位。

SHA-1(英語:SecureHashAlgorithm1,中文名:安全散列演算法1)是一種密碼散列函數,美國國家安全局設計,並由美國國家標准技術研究所(NIST)發布為聯邦數據處理標准(FIPS)。

最初載明的演算法於1993年發布,稱做安全散列標准(SecureHashStandard),FIPSPUB180。這個版本現在常被稱為SHA-0。

它在發布之後很快就被NSA撤回,並且由1995年發布的修訂版本FIPSPUB180-1(通常稱為SHA-1)取代。SHA-1和SHA-0的演算法只在壓縮函數的消息轉換部分差了一個比特的循環位移。

⑥ 請問SHA1加密演算法也是不可逆的嗎

SHA-1與MD5都是摘要演算法,且為不可逆演算法;
應用角度來講,適用性比安全性重要,兩個演算法長度有所不同,SHA-1 160位,MD5 128位。
如果從安全形度,在計算出摘要後,對摘要進行簽名,可以增加抗抵賴、防篡改的能力,詳情請查看數字簽名的資料。

⑦ 「SHS「是什麼演算法

安全散列演算法(Secure Hash Algorithm,簡稱SHA):是一種報文摘要演算法,它產生160位的散列值。SHA已經被美國政府核准作為標准,即FIPS 180-1 Secure Hash Standard (SHS),FIPS規定必須用SHS實施數字簽名演算法。在產生與證實數字簽名中過程中用到的HASH函數也有相應的標准做出規定.

⑧ SHA(中英文全稱)的定義是什麼

中文:安全散列演算法
英語:Secure Hash Algorithm
安全散列演算法(英語:Secure Hash Algorithm,縮寫為SHA)是一個密碼散列函數家族,是FIPS所認證的安全散列演算法。能計算出一個數字消息所對應到的,長度固定的字元串(又稱消息摘要)的演算法。且若輸入的消息不同,它們對應到不同字元串的機率很高。

⑨ sha是什麼意思

sha指SHA家族。

安全散列演算法(英語:Secure Hash Algorithm,縮寫為SHA)是一個密碼散列函數家族,是FIPS所認證的安全散列演算法。能計算出一個數字消息所對應到的,長度固定的字元串(又稱消息摘要)的演算法。且若輸入的消息不同,它們對應到不同字元串的幾率很高。

相關信息:

鑒於SHA-0的破密成果,專家們建議那些計劃利用SHA-1實作密碼系統的人們也應重新考慮。在2004年CRYPTO會議結果公布之後,NIST即宣布他們將逐漸減少使用SHA-1,改以SHA-2取而代之。

2005年,Rijmen和Oswald發表了對SHA-1較弱版本(53次的加密循環而非80次)的攻擊:在2的80次方的計算復雜度之內找到碰撞。

⑩ sha是什麼

SHA是一種數據加密演算法,該演算法經過加密專家多年來的發展和改進已日益完善,現在已成為公認的最安全的散列演算法之一,並被廣泛使用。該演算法的思想是接收一段明文,然後以一種不可逆的方式將它轉換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預映射或信息),並把它們轉化為長度較短、位數固定的輸出序列即散列值(也稱為信息摘要或信息認證代碼)的過程。散列函數值可以說時對明文的一種「指紋」或是「摘要」所以對散列值的數字簽名就可以視為對此明文的數字簽名。

熱點內容
php顯示資料庫中圖片 發布:2025-01-21 00:44:34 瀏覽:145
如何在伺服器中找文件 發布:2025-01-21 00:38:50 瀏覽:910
Cmdpython命令 發布:2025-01-21 00:30:38 瀏覽:757
mac常用解壓 發布:2025-01-21 00:01:47 瀏覽:691
linuxcpu使用 發布:2025-01-21 00:00:59 瀏覽:849
成套供應配電櫃有哪些配置 發布:2025-01-21 00:00:52 瀏覽:120
GO編譯器PDF 發布:2025-01-21 00:00:52 瀏覽:703
osu上傳成績 發布:2025-01-20 23:59:57 瀏覽:641
了解sql 發布:2025-01-20 23:58:39 瀏覽:655
安卓雙擊鎖屏如何設置 發布:2025-01-20 23:56:52 瀏覽:201