91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

sha3 512 hash 算法 python正確實現 ,內含各種sha3 keccak 官方文檔和代碼,收集和寫代碼花費了巨大精力,走了不少彎路 自己寫代碼不容易,請尊重原作者 下面給出一些實例用于檢驗: 哈希('')='a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26' hash('123456')='64d09d9930c8ecf79e513167a588cb75439b762ce8f9b22ea59765f32aa74ca19d2f1e97dc922a3d4954594a05062917fb24d1f8e72f2ed02a58ed7534f94d27' sha3('我加密成功了')='d73ce7502406782345ff4f00133acee8eacde2fc7d6522bd6489f94c28b1e7e0837967ff36b9555e2d4eed547c7df4676f2035cd05ed0be3f79da14f9f0d1e68' 可以用 python3.6 自帶 hashlib 庫檢驗 注:代碼直接運行即可

資源截圖

代碼片段和文件信息

“““
??????Author:?John
??????sha3?哈希加密算法,不可逆
??????Keccak算法,sha家族最新算法,采用的不同于?MD(如md5)?結構的海綿結構(sponge結構),使常用于攻擊?MD?結構的手段難以進行
??????增強了算法安全性
??????successfully!!!?任意加密均可
??????FIPS?202?-?SHA-3?Standard
??????https://csrc.nist.gov/projects/cryptographic-standards-and-guidelines/example-values
??????關于?sha3?的例子

??????主要過程是:明文轉換成?16?進制,再轉換成?2?進制,因為?utf8?編碼明文后成?16?進制形式后,明文比特數至少是?4?的倍數,所以填充明文首先加?16?進制?06
??????然后,末尾加?80?中間填充?0,然后進行小端轉換,再進行加密;
??????加密主函數中每組明文,首輪加密前進行二維數組矩陣轉置,之后進行?Round?函數加密,然后最后一輪加密后,再進行矩陣轉置,相當于每組明文加密轉置了兩次,
??????或者某種程度上可以說沒轉置;
??????全部加密完成后,再進行小端轉換得?sha3?hash?值。
??????注:1、最新?sha3?加密過程,并不包含?1?字節中?高位在后,低位在前?的規則,如果非要說由此規則,那就是填充時末尾加16進制?80
??????????2、小端轉換是?8?字節,類似于?C語言?long?類型轉換
??????????3、假如填充完一組明文后(明文總共一組?r-8?bit?明文,那么填充后明文后,需加?16?進制?86???此處是重點*******)
“““
import?hashlib
import?binascii?as?ba
import?math

‘‘‘
???A?三維空間分布如下:
???x?軸為一行(row)5?bit,y?軸為一列(column)5?bit,z?軸為一道(lane)?64?bit,xoy?面為一片(slice),yoz?面為一板(sheet),xoz?面為一面(plane)

???θ變換是將每比特附近的兩列(column)的和疊加到該比特上,x和y的坐標都是模5的
???θ變換是線性的,主要是為了達到擴散效果,θ變換在所有方向上均是不變體轉換,若沒有θ變換,Keccak-f的輪函數將無法提供有效的擴散效果
???(擴散的意思是讓每一個數據都沾染臨近兩列的血,對最后生成的hash值有初始明文每個字符都參與生成此hash值的感覺)
???θ變換的影響可以描述為:將三維數組A[x][y][z]中的每個比特逐位與相鄰的兩列(column)異或,即A[x-1][·][z]和A[x+1][·][z-1]
???θ變換
???
???*****本算法采用二維數組表示,將?z?軸一道合為一個元素,但基本思想一致
‘‘‘
#?模擬常量的假變量區
W?=?64

‘‘‘
???步驟ρ包含一個lane(道)內部的轉換(即循環道內移位),目的是為提供一個slice(片)內部的離差
???以下是移位表:x?為?x?軸?,y?為?y?軸,表中為?z?軸數據移位位數
??????????????????????x=0??1??2???3???4
??????????????????y=0???0?1?62?28?27
????????????????????1??3644?6??55?20
????????????????????2???310?43?25?39
????????????????????3??4145?15?21??8
????????????????????4??18?2?61?56?14
????
????下面的?ρ?步驟中,P?中?x?y?與上表不同的原因,可能是?(x1y1)T=M**(-1)(xy)T
????把?(xy)T?的?M**-1?的這個函數的值--(x+3yx)T賦值給?(x1y1)T?的時候x?y?相當于互換了
‘‘‘
P=[[0???36???3??41??18]
???[1???44??10??45???2]
???[62???6??43??15??61]
???[28??55??25??21??56]
???[27??20??39???8??14]]

‘‘‘
???π變換是一個在坐標(x?y)上的線性操作,變換如下所示:
???變換π是一個lane上的平移,具體是移動整個道和另一個道(一維位置)的交換即各道互相交換。
???π變換其實就是調換lanes上的各元素位置,以提供長期的擴散效應,若沒有這一變換,Keccak-f將展現出周期性的蹤跡。
???它在GF(2)上將lanes中原來的位置通過一個2×2的矩陣變換到另一個位置上
???(00)位置不變。π在片上的操作是相互獨立的,它也只是一個z軸上的不變體轉換

‘‘‘

‘‘‘
???χ變換是Keccak-f中唯一的非線性映射,變換如下所示:
???其中“NOT”表示非運算,“AND“表示與運算
???沒有χ變換,Keccak-f輪函數將變成線性。它可以被看成并行應用5w個S盒處理5-bit的各行。
???χ變換在所有方向上均是不變體轉換。它的代數階為2。這對于擴散來說至關重要。
???同時它僅用到了異或,與以及非三個簡單的門操作

‘‘‘

‘‘‘
???τ變換
???τ變換很簡單,就是加上一個輪常數,目的是為了破壞原有對稱性,
???失去它,輪函數將僅在?z?軸方向上時不變體轉換,且所有?Keccak-f?的輪變換都將無法抵抗類攻擊,如滑塊攻擊。
???在硬件實現時,變換僅需要一些異或門和生成一些線性移位寄存器即可。
???輪常數為?RC
‘‘‘
RC?=?[0x0000000000000001?0x0000000000008082?0x800000000000808A?0x8000000080008000?0x000000000000808B
??????0x0000000080000001?0x8000000080008081?0x8000000000008009?0x000000000000008A?0x0000000000000088
??????0x0000000080008009?0x000000008000000A?0x000000008000808B?0x800000000000008B?0x8000000000008089
??????0x8000000000008003?0x8000000000008002?0x8000000000000080?0x000000000000

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3159??2015-09-23?20:44??收集\CompactFIPS202-test.py

?????文件???????3890??2015-09-23?20:51??收集\CompactFIPS202.py

?????文件????????694??2018-05-16?13:57??收集\demo_KeccakF.py

?????文件???????3278??2015-08-11?00:04??收集\demo_TestVectors.py

?????文件??????14479??2018-05-18?00:07??收集\Keccak.py

?????文件???????6352??2015-10-15?20:42??收集\ReadMe.txt

?????文件?????596468??2018-05-16?00:34??收集\sha3\Keccak-implementation-3.1.pdf

?????文件????1459683??2018-05-17?00:13??收集\sha3\NIST.FIPS.202.pdf

?????文件?????197021??2018-05-17?00:28??收集\sha3\SHA3-512_1600.pdf

?????文件?????197740??2018-05-17?00:28??收集\sha3\SHA3-512_1605.pdf

?????文件?????197963??2018-05-17?00:28??收集\sha3\SHA3-512_1630.pdf

?????文件??????74681??2018-05-17?00:28??收集\sha3\SHA3-512_Msg0.pdf

?????文件??????74781??2018-05-17?00:28??收集\sha3\SHA3-512_Msg30.pdf

?????文件??????74897??2018-05-17?00:28??收集\sha3\SHA3-512_Msg5.pdf

?????文件????????322??2018-05-17?18:38??收集\sha3.py

?????文件??????????0??2018-05-16?13:58??收集\__init__.py

?????文件??????17584??2018-06-06?17:31??sha3.py

?????目錄??????????0??2018-06-06?18:47??收集\sha3

?????目錄??????????0??2018-06-06?18:49??收集

-----------?---------??----------?-----??----

??????????????2922992????????????????????19


評論

共有 條評論