跟著小生學逆向之SHA系列演算法

2021-10-10 09:22:11 字數 1557 閱讀 5347

sha演算法簡單概要

sha全稱:(security hash algorithm),是美國的nist和nsa設計的一種標準的hash演算法,sha用於數字簽名和標準演算法的dss中,也是安全性很高的一種hash演算法。

1)sha-1

sha-1演算法的輸入訊息長度小於264bit,最終輸出的結果值是160bits

sha-1與md4相比較而言主要是增加了擴充套件變換,將前一輪的輸出也加到了下一輪,這樣增加了雪崩效應,並且由於其160bits的輸出,對窮舉攻擊更具有抵抗性,那麼大致實現過程,就是將訊息摘要演算法轉換成位字元,對轉換後的位字元進行補位操作。

我們先來看一下它的大致實現過程,將訊息摘要轉換成位字元,對轉換後的位字串進行補位操作,附加長度值並且初始化快取,然後計算訊息摘要。

2)sha-256演算法

sha-256演算法輸入報文的最大長度不超過264bits,輸入按512bits分組進行處理,產生的輸出是應該256bits的報文摘要。

我們來看一下演算法處理步驟。

首先我們會新增填充位,對報文進行填充使用使報文長度與448模512同餘,填充的位元數範圍是1-512,填充位元串的最高位1,其餘位為0,就是先在報文後面加乙個1,再多加乙個0,直到長度滿足mod512=448。

這裡為什麼是448呢?因為448+64=512第二步會加上乙個長度64位的原始報文長度

第二步附加長度值,將用64位表示的初始報文,這個是在填充前的乙個位長度附加在步驟1的結果後,此時是低位位元組優先。

第三步初始化快取,使用乙個256位的快取來存放該雜湊函式的中間及最終結果,它可以表示為8個32位的暫存器。

abcdefgh

第四步處理512報文分組序列,該演算法使用了6種基本邏輯函式,由64步迭代運算組成,每步都以256位快取值abdcefgh為輸入,然後更新快取內容,每步使用乙個32位常數值kt和乙個32位wt。

3)sha-2的其他衍生演算法

包括sha-224、sha-256、sha-384、sha-512.

這裡我們已經準備好了,直接到咱們的eclipse中分析**即可。

我們先來看一下他的乙個主類mainactivity,在這裡它是乙個自定義的sha演算法,要把加密的資料傳進去,然後使用自定義bytearr2hexstr方法進行遍歷拼接,也就在這裡進行自定義的乙個方法。

首先這個是使用getinstance方法獲取不同的乙個演算法

每個演算法的大致實現是一樣的小結:

其實每個演算法都差不多是一樣的,只是要看你具體用到那個,不過這個算是比較簡單的演算法了,希望能夠幫到大家。,唯一不同的就是使用getinstance獲取到的演算法不一樣。

跟著小生學逆向之檔案檢測

今天小生分享一下剛get到的新技能,檔案檢測,讓我們可以一起在逆向這條路越走越遠!工資越來越高!1 檔案檢測和crc的關係 差錯校驗碼 特徵 資訊字段和校驗欄位的長度可以任意選定。2 迴圈冗餘校驗 crc 的基本原理 根據 n.k 碼,生成多項式g x 進而生成k位資訊的校驗碼。在k位資訊碼後在拼接...

跟著寵物學健身

貓有著無比柔軟和輕巧的身段,狗則充滿活力 動作靈活,它們的一些行為動作均可讓我們模仿,這麼做對健身大有好處 學貓狗走路。學 狗步 像狗那樣,四肢落地。用右手和左腳 左手和右 替伸出,移動身體前行。每天堅持走20步。可緩解長久站立或行走引起的腰痛 胃下垂 痔瘡及下肢腫脹等,對防治腰痛尤其有效。邁 貓步...

跟著cc學設計模式

1 責任鏈模式 在研磨設計模式裡,責任鏈模式主要講解的是 專案經理 部門經理 總經理之間審批活動經費之間的責任鏈,後來新增了審批出差經費 導致handler介面要增加乙個處理預支差旅費用的申請的方法 handleprefeerequest 這樣所有的實現類都要實現這個方法,改變比較大。違背了,介面時...