長度擴充套件攻擊 是當乙個攻擊者通過新增乙個字尾來修 改乙個訊息,但仍然能夠指出訊息的hash值,這裡有兩種型別 的長度擴充套件攻擊。符號||表示鏈結。
型別一:如果digest(msg1)=digest(msg2),並且len(msg1)= len(msg2),消 息 msg1 ¹ msg2,則 digest(msg1 ‖ sufx)= digest(msg2‖sufx)。
型別二:假設乙個原始訊息msg,攻擊者不知道訊息的內 容,給定 len(msg),填充訊息 x,digest(msg),對於乙個適當 的字尾,攻擊者可以計算出digest(msg‖sufx)。
通過訊息的填充可以抵抗第一型別的攻擊;第二類的攻 擊可以通過大的內部狀態來預防。鏈結變數迴圈的hash結構 中使用了訊息填充,可以抵抗第一型別的攻擊;鏈結變數長度 n 遠大於hash值長度 l(n > 2l) ,也就是說hash值長度小於鏈結 變數長度,使得計算 msg‖sufx 的 hash 值時,無法連線。因 此,可以抵抗第二類長度擴充套件攻擊。
長度擴充套件攻擊
長度擴充套件攻擊 length extension attack 是指針對某些允許包含額外資訊的加密雜湊函式的攻擊手段。對於滿足以下條件的雜湊函式,都可以作為攻擊物件 加密前將待加密的明文按一定規則填充到固定長度 例如512或1024位元 的倍數 按照該固定長度,將明文分塊加密,並用前乙個塊的加密結...
IIC匯流排理解與拓展
iic匯流排的基礎理解與拓展 常用序列匯流排 uart,1 wire,iic,spi uart 一條資料輸入線,一條資料輸出線,非同步序列通訊 iic 一條時鐘線,一條資料線,同步 外同步 序列通訊,spi 一條時鐘線,一條資料輸入線,一條資料輸出線 同步 外同步 序列通訊 1 wire 單線匯流排...
陣列的理解和拓展
1 什麼是陣列 陣列就是一組資料的集合 其表現形式就是記憶體中的一段連續的記憶體位址 陣列名稱其實就是連續記憶體位址的首位址 2 關於js中的陣列特點 陣列定義時無需指定資料型別 陣列定義時可以無需指定陣列長度 陣列可以儲存任何資料型別的資料 比如說乙個元素儲存整型,乙個元素儲存字串型,這個在js中...