導航:首頁 > 文檔加密 > 加密分析頻次

加密分析頻次

發布時間:2023-01-15 15:53:25

⑴ 出現特殊緊急情況,根據工程需要適當加密監測頻率;有哪些情況

施工階段的控制要點
施工階段是項目實施的關鍵階段,監理工程師應根據地質勘探資料和當地水文氣候條件,結合當地深基坑工程施工的經驗和條件,確定工程的關鍵項目,要求施工單位制定專項施工方案報監理審核,並強調要制定突發事件的應急預案。應急預案應根據現場及基坑實際情況有針對性、目的性的制定,充分考慮各項不利因素及突發事件的影響,且必須具有可操作性,切忌閉門造車和流於形式。
1.1 深基坑工程的施工
深基坑工程包括挖土、擋土、圍護、防水等環節,是一項復雜的系統工程,任何一個環節的失誤都有可能導致施工失敗,甚至造成事故。施工單位要嚴格按照施工規程、經批準的施工組織設計及相關的技術規范組織施工,對各施工要點要制定施工方案, 並加強過程式控制制。例如,確定土方開挖方案時,應對地質勘測報告、周圍建築物及地下設施情況等信息進行分析,對特殊土質需精心組織施工,膨脹土地區不宜在雨季開挖,軟土地區分層開挖的深度不宜太大。若挖土高差太大或挖土進度過快,極易改變土體原來的平衡狀態,降低土體的抗剪強度,從而導致土體發生水平方向的滑移,造成坍塌事故。基坑開挖應配合支護結構綜合考慮;同時在挖土施工中棄土的堆放應考慮邊坡的穩定;土方可分層運送或遞送,挖土機與運土車輛應設法深入基坑,並規劃好自卸車運行的坡道和最後坡道
土方的運送,盡量不要採用棧橋方案,因其費用較高;若臨近有建築物基礎時,基坑開挖時應保持一定的距離;在雨期施工前應檢查現場的排水、降水系統,保證水流暢通,並應注意邊坡的穩定,必要時應採取保證邊坡穩定的措施。
1.2深基坑周圍土體止水效果的控制
在基坑和基礎施工時,深基坑多在地下水位以下開挖,施工時若地下水滲入造成基坑浸水,使地基土強度降低,壓縮性增大,建築物能產生過大沉降或是增加土的自重應力,造成基礎附加沉降,從而直接影響到建築物的安全。因此,在基槽施工時,必須採取有效的降水和排水措施使基坑處於乾燥狀態下施工。在地下水位較高的地區,地下水對深基坑工程施工帶來的危險程度是相當高的。
地下水的來源一般為上層滯水、潛水、承壓水、雨水及基坑周圍的滲漏管道水,由於水的來源復雜,在制定止水方案時應從深基坑工程的防水、降水和排水3個方面考慮,根據地質勘察部門提供的地質資料,深入分析地下水的成因,了解深基坑周圍環境,不能僅靠長時間不間斷地抽水來降低地下水位,否則會導致基坑周圍土體流失,周圍建築物不均勻沉陷,甚至發生坑底流沙、管涌等現象,增大了處理難度,拖延了工期。
止水帷幕是高水位地區深基坑支護工程中常用的止水措施,其施工方法主要有高壓噴射注漿法、漿噴深層攪拌法、粉噴深層攪拌法和壓力注漿法等。採用漿噴深層攪拌法進行止水帷幕止水施工時,如果止水帷幕的攪拌樁成樁質量不好,深基坑開挖後會出現滲水較多的現象。若此時再採用灌漿的方法進行處理,則延誤工期、增加造價。因此,在該類止水帷幕施工時要注意以下幾點:
(1)保證樁體質量。確定合理的水泥漿摻加量,保證樁體攪拌均勻、樁長達到設計深度,避免樁頭出現攪而無漿的情況,特別是在土層情況變異較大的地區,因攪拌樁的樁徑不易控制,容易導致止水失效。
(2)保證樁的搭接長度和密實度,杜絕空洞、蜂窩及樁頭開叉的現象。
(3)不得隨意在基坑支護結構上開口,否則會影響支護結構的安全,也破壞了止水帷幕,導致地下水的滲入。
1.3深基坑工程的信息化管理
基坑施工過程中,土體的受力狀態發生變化,土體變形會造成擋土支護結構發生側向位移,因此深基坑施工的質量問題實質上是基坑的整體剛度和穩定性,即基坑支護結構是否會發生變形、是否會產生影響基坑安全使用的沉降及水平方向的位移或傾斜、支護結構是否有裂縫以及基坑底是否產生隆起和變形,若發生這些問題將導致基坑工程的失敗。
基坑支護結構信息化管理的主要手段,是安排專業施工監測人員對基坑現場及周圍建築物進行監測,根據基坑開挖期間監測到的基坑支護結構或岩土變位等
情況,比照勘察、設計的預期性狀,動態分析監測資料,全面掌握位移變化的大小、方向、變化頻率,對照報警標准,預測下一階段工作的動態,及時對施工中可能出現的險情進行預報,超過位移設定的預警值時,應及時採取有效的應對措施,確保工程安全。深基坑支護結構工程監測的主要內容有:支護結構頂部水平位移;支護結構沉降和裂縫;臨近建築物、道路的沉降、傾斜和裂縫;基坑底隆起的觀測等。以上監測除每天進行目測之外,一般每8~10m設一個監測點,關鍵部位適當加密,開挖後每3~5 d監測1次,位移大時應適當加密。
觀測結果要真實反映所測目標的動態趨勢,並繪出變化曲線圖,以傳遞險情前兆信息,找出險情發生的必要條件,如地質特性、支護結構、臨近建築物、地下設施等,結合相關的誘發條件,如氣象條件、開挖施工、地下水變化等,根據基坑支護結構的穩定性計算結果進行科學決策,以排除險情。開挖較深的基坑時,還應測試支撐的內應力,當應力值達到設計值的90% (或支撐變形達10 mm)時,要及時採取防範措施。另外,因現場施工情況復雜,監測點極易被破壞,要注意對監測點的保護。
1.4突發事件的處理
建築施工是一個大、周期長、參與人員多的過程,施工過程中會發生許多不可預見的事件。對於基坑工程,除必須周密設計、精心施工外,更要做好應對突發事件的技術及設備、設施准備。常見的突發事件有:基坑內管涌、流沙;基坑支護局部出現成因不明的裂縫、沉降;氣象異常,出現持續多日的狂風暴雨;相鄰工地施工的影響,如降水、打樁、開挖土方;地下障礙物妨礙基坑支護結構或止水帷幕的施工等等。事件發生後,應及時啟動應急預案,並會同相關單位盡快研究出切實可行的解決辦法

⑵ 西安:加密區域核酸檢測頻次,當地採取了怎樣的防疫措施

當地採取的防禦措施首先就是加強對於這些區域的核酸檢測,而且也針對公共區域進行消毒消殺,加強一系列的措施,保障人們的個人防護問題,避免造成更加嚴重的影響,而且也加強了核酸採集的頻率。

⑶ 如何分析apk用戶密碼加密演算法

我們通過某APK代碼安全免費檢測平台,對這款手機軟體進行了APK的源代碼安全分析檢測。可以看出這款手機軟體未做很高級的加密保護,只是對APK進行了混淆源碼和防二次打包的基礎加密保護。下面我們通過對APK的源代碼分析,看一下這款手機軟體的安全如何!

首先,我們來分析下防二次打包加密保護,我們先去網上找到這款Android APK的安裝包。然後對這款手機軟體進行:解包-->打包-->安裝-->運行,發現當我們登錄的時候會提示簽名信息不一致,導致不能登錄!經過分析發現他是將apk的簽名信息,上傳到伺服器然後進行驗證,這時我們需要找到他獲取簽名信息的地方,如下圖:

Ok,獲取簽名信息的方法已經拿到,現在我們要做的是把他這個簽名信息換做我們從原包里邊獲取的簽名字元串,如下圖:

(到這一步就可以繞過這款APK的二次打包防護了,這樣我們就可以登錄了!)

4
其次針對這種社交類APK,用戶的賬號密碼也是很重要的,下邊我們就來分析一下怎樣獲取用戶的賬號密碼,如下圖:

(這樣就可以輕松隨意的拿到用戶的賬號密碼。)

⑷ 密碼學 - 古典加密

信息理論之父:克勞德 香農
論文《通信的數學理論》

如果沒有信息加密,信息直接被中間人攔截查看、修改。

明文Plain text
密文Cipher text

加密Encryption/Encrypherment:將明文轉化為密文
解密Decrytion/Decipherment:講密文還原為明文

加密鑰匙EK Encryption Key:加密時配合加密演算法的數據
解密鑰匙EK Encryption Key:解密時配合解密演算法的數據

各個字元按照順序進行n個字元錯位的加密方法。
(凱撒是古羅馬軍事家政治家)

多次使用愷撒密碼來加密並不能獲得更大的安全性,因為使用偏移量A加密得到的結果再用偏移量B加密,等同於使用A+B的偏移量進行加密的結果。

凱撒密碼最多隻有25個密匙 +1到+25 安全強度幾乎為0
(密鑰為0或26時,明文在加密前後內容不變)

暴力枚舉
根據密文,暴力列出25個密匙解密後的結果。

凱撒密碼的例子是所有 單字母替代式密碼 的典範,它只使用一個密碼字母集。
我們也可以使用多字母替代式密碼,使用的是多個密碼字母集。
加密由兩組或多組 密碼字母集 組成,加密者可自由的選擇然後用交替的密碼字母集加密訊息。
(增加了解碼的困難度,因為密碼破解者必須找出這兩組密碼字母集)
另一個多字母替代式密碼的例子「維吉尼亞密碼」,將更難解密
(法語:Vigenère cypher),
它有26組不同用來加密的密碼字母集。
每個密碼字母集就是多移了一位的凱撒密碼。
維吉尼亞方格(替換對照表):

維吉尼亞密碼引入了密匙概念。
同一明文在密文中的每個對應,可能都不一樣。

移位式密碼,明文中出現的字母依然出現在密文中,只有字母順序是依照一個定義明確的計劃改變。
許多移位式密碼是基於幾何而設計的。一個簡單的加密(也易被破解),可以將字母向右移1位。
例如,明文"Hello my name is Alice."
將變成"olleH ym eman si ecilA."
密碼棒(英語:scytale)也是一種運用移位方法工具。


明文分組,按字元長度來分,每5個字母分一組。
並將各組內的字元的順序進行替換。

具體例子
縱欄式移項密碼
先選擇一個關鍵字,把原來的訊息由左而右、由上而下依照關鍵字長度轉寫成長方形。接著把關鍵字的字母依照字母集順序編號,例如A就是1、B就是2、C就是3等。例如,關鍵字是CAT,明文是THE SKY IS BLUE,則訊息應該轉換成這樣:
C A T
3 1 20
T H E
S K Y
I S B
L U E

最後把訊息以行為單位,依照編號大小調換位置。呈現的應該是A行為第一行、C行為第二行、T行為第三行。然後就可以把訊息"The sky is blue"轉寫成HKSUTSILEYBE。
另一種移位式密碼是中國式密碼(英語:Chinese cipher),移位的方法是將訊息的字母加密成由右而左、上下交替便成不規則的字母。範例,如果明文是:THE DOG RAN FAR,則中國式密碼看起來像這樣:
R R G T
A A O H
F N D E
密碼文將寫成:RRGT AAOH FNDE
絕大多數的移位式密碼與這兩個範例相類似,通常會重新排列字母的行或列,然後有系統的移動字母。其它一些例子包括Vertical Parallel和雙移位式(英語:Double Transposition)密碼。
更復雜的演算法可以混合替代和移位成為積密碼(proct cipher);現代資料區段密碼像是DES反復位移和替代的幾個步驟。

行數=欄數
明文,分為N欄(N行) 按照明文本來的順序,豎著從上往下填。

【實例1】
明文123456
欄數2(行數2)
密文135246

135
246
拆成2行(2欄),豎著看密文——得到明文

【實例2】明文123456789abcdefghi 欄數9 (行數)--->密文1a2b3c4d5e6f7g8h9i
拆成9行豎著看密文.

1a
2b
3c
4d
5e
6f
7g
8h
9i

古典密碼【柵欄密碼安全度極低】組成柵欄的字母一般一兩句話,30個字母。不會太多! 加解密都麻煩

是指研究字母或者字母組合在文本中出現的頻率。應用頻率分析可以破解古典密碼。

工具
在線詞頻分析 http://textalyser.net/

⑸ 信息加密技術的加密技術分析

加密就是通過密碼算術對數據進行轉化,使之成為沒有正確密鑰任何人都無法讀懂的報文。而這些以無法讀懂的形式出現的數據一般被稱為密文。為了讀懂報文,密文必須重新轉變為它的最初形式--明文。而含有用來以數學方式轉換報文的雙重密碼就是密鑰。在這種情況下即使一則信息被截獲並閱讀,這則信息也是毫無利用價值的。而實現這種轉化的演算法標准,據不完全統計,到現在為止已經有近200多種。在這里,主要介紹幾種重要的標准。按照國際上通行的慣例,將這近200種方法按照雙方收發的密鑰是否相同的標准劃分為兩大類:一種是常規演算法(也叫私鑰加密演算法或對稱加密演算法),其特徵是收信方和發信方使用相同的密鑰,即加密密鑰和解密密鑰是相同或等價的。比較著名的常規密碼演算法有:美國的DES及其各種變形,比如3DES、GDES、New DES和DES的前身Lucifer; 歐洲的IDEA;日本的FEAL N、LOKI?91、Skipjack、RC4、RC5以及以代換密碼和轉輪密碼為代表的古典密碼等。在眾多的常規密碼中影響最大的是DES密碼,而最近美國NIST(國家標准與技術研究所)推出的AES將有取代DES的趨勢,後文將作出詳細的分析。常規密碼的優點是有很強的保密強度,且經受住時間的檢驗和攻擊,但其密鑰必須通過安全的途徑傳送。因此,其密鑰管理成為系統安全的重要因素。另外一種是公鑰加密演算法(也叫非對稱加密演算法)。其特徵是收信方和發信方使用的密鑰互不相同,而且幾乎不可能從加密密鑰推導解密密鑰。比較著名的公鑰密碼演算法有:RSA、背包密碼、McEliece密碼、Diffe Hellman、Rabin、Ong Fiat Shamir、零知識證明的演算法、橢圓曲線、EIGamal演算法等等⑷。最有影響的公鑰密碼演算法是RSA,它能抵抗到目前為止已知的所有密碼攻擊,而最近勢頭正勁的ECC演算法正有取代RSA的趨勢。公鑰密碼的優點是可以適應網路的開放性要求,且密鑰管理問題也較為簡單,尤其可方便的實現數字簽名和驗證。但其演算法復雜,加密數據的速率較低。盡管如此,隨著現代電子技術和密碼技術的發展,公鑰密碼演算法將是一種很有前途的網路安全加密體制。這兩種演算法各有其短處和長處,在下面將作出詳細的分析。 在私鑰加密演算法中,信息的接受者和發送者都使用相同的密鑰,所以雙方的密鑰都處於保密的狀態,因為私鑰的保密性必須基於密鑰的保密性,而非演算法上。這在硬體上增加了私鑰加密演算法的安全性。但同時我們也看到這也增加了一個挑戰:收發雙方都必須為自己的密鑰負責,這種情況在兩者在地理上分離顯得尤為重要。私鑰演算法還面臨這一個更大的困難,那就是對私鑰的管理和分發十分的困難和復雜,而且所需的費用十分的龐大。比如說,一個n個用戶的網路就需要派發n(n-1)/2個私鑰,特別是對於一些大型的並且廣域的網路來說,其管理是一個十分困難的過程,正因為這些因素從而決定了私鑰演算法的使用范圍。而且,私鑰加密演算法不支持數字簽名,這對遠距離的傳輸來說也是一個障礙。另一個影響私鑰的保密性的因素是演算法的復雜性。現今為止,國際上比較通行的是DES、3DES以及最近推廣的AES。
數據加密標准(Data Encryption Standard)是IBM公司1977年為美國政府研製的一種演算法。DES是以56 位密鑰為基礎的密碼塊加密技術。它的加密過程一般如下:
① 一次性把64位明文塊打亂置換。
② 把64位明文塊拆成兩個32位塊;
③ 用機密DES密鑰把每個32位塊打亂位置16次;
④ 使用初始置換的逆置換。
但在實際應用中,DES的保密性受到了很大的挑戰,1999年1月,EFF和分散網路用不到一天的時間,破譯了56位的DES加密信息。DES的統治地位受到了嚴重的影響,為此,美國推出DES的改進版本-- 三重加密(triple Data Encryption Standard)即在使用過程中,收發雙方都用三把密鑰進行加解密,無疑這種3*56式的加密方法大大提升了密碼的安全性,按現在的計算機的運算速度,這種破解幾乎是不可能的。但是我們在為數據提供強有力的安全保護的同時,也要化更多的時間來對信息進行三次加密和對每個密層進行解密。同時在這種前提下,使用這種密鑰的雙發都必須擁有3個密鑰,如果丟失了其中任何一把,其餘兩把都成了無用的密鑰。這樣私鑰的數量一下又提升了3倍,這顯然不是我們想看到的。於是美國國家標准與技術研究所推出了一個新的保密措施來保護金融交易。高級加密標准(Advanced Encryption Standard)美國國家技術標准委員會(NIST)在2000年10月選定了比利時的研究成果Rijndael作為AES的基礎。Rijndael是經過三年漫長的過程,最終從進入候選的五種方案中挑選出來的。
AES內部有更簡潔精確的數學演算法,而加密數據只需一次通過。AES被設計成高速,堅固的安全性能,而且能夠支持各種小型設備。AES與3DES相比,不僅是安全性能有重大差別,使用性能和資源有效利用上也有很大差別。雖然到現在為止,我還不了解AES的具體演算法但是從下表可以看出其與3DES的巨大優越性。
還有一些其他的一些演算法,如美國國家安全局使用的飛魚(Skipjack)演算法,不過它的演算法細節始終都是保密的,所以外人都無從得知其細節類容;一些私人組織開發的取代DES的方案:RC2、RC4、RC5等。 面對在執行過程中如何使用和分享密鑰及保持其機密性等問題,1975年Whitefield Diffe和Marti Hellman提出了公開的密鑰密碼技術的概念,被稱為Diffie-Hellman技術。從此公鑰加密演算法便產生了。
由於採取了公共密鑰,密鑰的管理和分發就變得簡單多了,對於一個n個用戶的網路來說,只需要2n個密鑰便可達到密度。同時使得公鑰加密法的保密性全部集中在及其復雜的數學問題上,它的安全性因而也得到了保證。但是在實際運用中,公共密鑰加密演算法並沒有完全的取代私鑰加密演算法。其重要的原因是它的實現速度遠遠趕不上私鑰加密演算法。又因為它的安全性,所以常常用來加密一些重要的文件。自公鑰加密問世以來,學者們提出了許多種公鑰加密方法,它們的安全性都是基於復雜的數學難題。根據所基於的數學難題來分類,有以下三類系統目前被認為是安全和有效的:大整數因子分解系統(代表性的有RSA)、橢圓曲線離散對數系統(ECC)和離散對數系統 (代表性的有DSA),下面就作出較為詳細的敘述。
RSA演算法是由羅納多·瑞維斯特(Rivet)、艾迪·夏彌爾(Shamir)和里奧納多·艾德拉曼(Adelman)聯合推出的,RAS演算法由此而得名。它的安全性是基於大整數素因子分解的困難性,而大整數因子分解問題是數學上的著名難題,至今沒有有效的方法予以解決,因此可以確保RSA演算法的安全性。RSA系統是公鑰系統的最具有典型意義的方法,大多數使用公鑰密碼進行加密和數字簽名的產品和標准使用的都是RSA演算法。它得具體演算法如下:
① 找兩個非常大的質數,越大越安全。把這兩個質數叫做P和Q。
② 找一個能滿足下列條件得數字E:
A. 是一個奇數。
B. 小於P×Q。
C. 與(P-1)×(Q-1)互質,只是指E和該方程的計算結果沒有相同的質數因子。
③ 計算出數值D,滿足下面性質:((D×E)-1)能被(P-1)×(Q-1)整除。
公開密鑰對是(P×Q,E)。
私人密鑰是D。
公開密鑰是E。
解密函數是:
假設T是明文,C是密文。
加密函數用公開密鑰E和模P×Q;
加密信息=(TE)模P×Q。
解密函數用私人密鑰D和模P×Q;
解密信息=(CD)模P×Q。
橢圓曲線加密技術(ECC)是建立在單向函數(橢圓曲線離散對數)得基礎上,由於它比RAS使用得離散對數要復雜得多。而且該單向函數比RSA得要難,所以與RSA相比,它有如下幾個優點:
安全性能更高 加密演算法的安全性能一般通過該演算法的抗攻擊強度來反映。ECC和其他幾種公鑰系統相比,其抗攻擊性具有絕對的優勢。如160位 ECC與1024位 RSA有相同的安全強度。而210位 ECC則與2048bit RSA具有相同的安全強度。
計算量小,處理速度快 雖然在RSA中可以通過選取較小的公鑰(可以小到3)的方法提高公鑰處理速度,即提高加密和簽名驗證的速度,使其在加密和簽名驗證速度上與ECC有可比性,但在私鑰的處理速度上(解密和簽名),ECC遠比RSA、DSA快得多。因此ECC總的速度比RSA、DSA要快得多。
存儲空間佔用小 ECC的密鑰尺寸和系統參數與RSA、DSA相比要小得多,意味著它所佔的存貯空間要小得多。這對於加密演算法在IC卡上的應用具有特別重要的意義。
帶寬要求低 當對長消息進行加解密時,三類密碼系統有相同的帶寬要求,但應用於短消息時ECC帶寬要求卻低得多。而公鑰加密系統多用於短消息,例如用於數字簽名和用於對對稱系統的會話密鑰傳遞。帶寬要求低使ECC在無線網路領域具有廣泛的應用前景。
ECC的這些特點使它必將取代RSA,成為通用的公鑰加密演算法。比如SET協議的制定者已把它作為下一代SET協議中預設的公鑰密碼演算法。

⑹ 西安:加密區域核酸檢測頻次,當地疫情形勢如何

8月15日-19日12時,全市共開展5輪次區域核酸檢測,共采樣5295.5萬人次。後續將根據區域核酸檢測情況,及時調整核酸檢測策略,盡快找到社會面感染者,阻斷疫情傳播。

⑺ 古典加密演算法有哪些 古典加密演算法

世界上最早的一種密碼產生於公元前兩世紀。是由一位希臘人提出的,人們稱之為
棋盤密碼,原因為該密碼將26個字母放在5×5的方格里,i,j放在一個格子里,具體情
況如下表所示
1 2 3 4 5
1 a b c 搜索d e
2 f g h i,j k
3 l m n o p
4 q r s t u
5 v w x y z
這樣,每個字母就對應了由兩個數構成的字元αβ,α是該字母所在行的標號,β是列
標號。如c對應13,s對應43等。如果接收到密文為
43 15 13 45 42 15 32 15 43 43 11 22 15
則對應的明文即為secure message。
另一種具有代表性的密碼是凱撒密碼。它是將英文字母向前推移k位。如k=5,則密
文字母與明文與如下對應關系
a b c d e f g h i j k l m n o p q r s t u v w x y z
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
於是對應於明文secure message,可得密文為XJHZWJRJXXFLJ。此時,k就是密鑰。為了
傳送方便,可以將26個字母一一對應於從0到25的26個整數。如a對1,b對2,……,y對
25,z對0。這樣凱撒加密變換實際就是一個同餘式
c≡m+k mod 26
其中m是明文字母對應的數,c是與明文對應的密文的數。
隨後,為了提高凱撒密碼的安全性,人們對凱撒密碼進行了改進。選取k,b作為兩
個參數,其中要求k與26互素,明文與密文的對應規則為
c≡km+b mod 26
可以看出,k=1就是前面提到的凱撒密碼。於是這種加密變換是凱撒野加密變換的
推廣,並且其保密程度也比凱撒密碼高。
以上介紹的密碼體制都屬於單表置換。意思是一個明文字母對應的密文字母是確定
的。根據這個特點,利用頻率分析可以對這樣的密碼體制進行有效的攻擊。方法是在大
量的書籍、報刊和文章中,統計各個字母出現的頻率。例如,e出現的次數最多,其次
是t,a,o,I等等。破譯者通過對密文中各字母出現頻率的分析,結合自然語言的字母頻
率特徵,就可以將該密碼體制破譯。
鑒於單表置換密碼體制具有這樣的攻擊弱點,人們自然就會想辦法對其進行改進,
來彌補這個弱點,增加抗攻擊能力。法國密碼學家維吉尼亞於1586年提出一個種多表式
密碼,即一個明文字母可以表示成多個密文字母。其原理是這樣的:給出密鑰
K=k[1]k[2]…k[n],若明文為M=m[1]m[2]…m[n],則對應的密文為C=c[1]c[2]…c[n]。
其中C[i]=(m[i]+k[i]) mod 26。例如,若明文M為data security,密鑰k=best,將明
文分解為長為4的序列data security,對每4個字母,用k=best加密後得密文為
C=EELT TIUN SMLR
從中可以看出,當K為一個字母時,就是凱撒密碼。而且容易看出,K越長,保密程
度就越高。顯然這樣的密碼體制比單表置換密碼體制具有更強的抗攻擊能力,而且其加
密、解密均可用所謂的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼可用所謂
的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼曾被認為是三百年內破譯不了
的密碼,因而這種密碼在今天仍被使用著。
古典密碼的發展已有悠久的歷史了。盡管這些密碼大都比較簡單,但它在今天仍有
其參考價值。世界上最早的一種密碼產生於公元前兩世紀。是由一位希臘人提出的,人們稱之為
棋盤密碼,原因為該密碼將26個字母放在5×5的方格里,i,j放在一個格子里,具體情
況如下表所示
1 2 3 4 5
1 a b c 搜索d e
2 f g h i,j k
3 l m n o p
4 q r s t u
5 v w x y z
這樣,每個字母就對應了由兩個數構成的字元αβ,α是該字母所在行的標號,β是列
標號。如c對應13,s對應43等。如果接收到密文為
43 15 13 45 42 15 32 15 43 43 11 22 15
則對應的明文即為secure message。
另一種具有代表性的密碼是凱撒密碼。它是將英文字母向前推移k位。如k=5,則密
文字母與明文與如下對應關系
a b c d e f g h i j k l m n o p q r s t u v w x y z
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
於是對應於明文secure message,可得密文為XJHZWJRJXXFLJ。此時,k就是密鑰。為了
傳送方便,可以將26個字母一一對應於從0到25的26個整數。如a對1,b對2,……,y對
25,z對0。這樣凱撒加密變換實際就是一個同餘式
c≡m+k mod 26
其中m是明文字母對應的數,c是與明文對應的密文的數。
隨後,為了提高凱撒密碼的安全性,人們對凱撒密碼進行了改進。選取k,b作為兩
個參數,其中要求k與26互素,明文與密文的對應規則為
c≡km+b mod 26
可以看出,k=1就是前面提到的凱撒密碼。於是這種加密變換是凱撒野加密變換的
推廣,並且其保密程度也比凱撒密碼高。
以上介紹的密碼體制都屬於單表置換。意思是一個明文字母對應的密文字母是確定
的。根據這個特點,利用頻率分析可以對這樣的密碼體制進行有效的攻擊。方法是在大
量的書籍、報刊和文章中,統計各個字母出現的頻率。例如,e出現的次數最多,其次
是t,a,o,I等等。破譯者通過對密文中各字母出現頻率的分析,結合自然語言的字母頻
率特徵,就可以將該密碼體制破譯。
鑒於單表置換密碼體制具有這樣的攻擊弱點,人們自然就會想辦法對其進行改進,
來彌補這個弱點,增加抗攻擊能力。法國密碼學家維吉尼亞於1586年提出一個種多表式
密碼,即一個明文字母可以表示成多個密文字母。其原理是這樣的:給出密鑰
K=k[1]k[2]…k[n],若明文為M=m[1]m[2]…m[n],則對應的密文為C=c[1]c[2]…c[n]。
其中C[i]=(m[i]+k[i]) mod 26。例如,若明文M為data security,密鑰k=best,將明
文分解為長為4的序列data security,對每4個字母,用k=best加密後得密文為
C=EELT TIUN SMLR
從中可以看出,當K為一個字母時,就是凱撒密碼。而且容易看出,K越長,保密程
度就越高。顯然這樣的密碼體制比單表置換密碼體制具有更強的抗攻擊能力,而且其加
密、解密均可用所謂的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼可用所謂
的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼曾被認為是三百年內破譯不了
的密碼,因而這種密碼在今天仍被使用著。
古典密碼的發展已有悠久的歷史了。盡管這些密碼大都比較簡單,但它在今天仍有
其參考價值。

⑻ 核算新政策

近日,國務院聯防聯控機制進一步簡化疫情防控實際操作。詳情如下:
1、疫情出現後,這些情況無需全員核酸
疫情發生後,如經流調研判滿足3個條件,即感染來源明確、傳播鏈清晰、未發生社區傳播,則無需對發生疫情的區開展全員核酸檢測,只需重點對風險區域和有時空交集的人員開展核酸篩查即可。
2、低風險人員離開所在地區,應持48小時核酸陰性證明
(1)相較於中高風險區域,低風險區雖然風險低,但是相對於沒有疫情的縣(市、區、旗)有一定風險。
(2)沒有疫情發生的縣(市、區、旗)全域實行常態化防控措施。低風險區域人離開所在的地區或城市,應持48小時核酸檢測陰性證明。
(3)低風險區人員進行跨區域流動時,到達目的地後應及時向所居住社區或酒店主動進行報備,按要求完成三天兩檢,參與配合做好疫情防控,保護自己和他人的健康。
3、縮短隔離時間,加密核酸頻次
(1)縮短隔離時間
根據病毒變異後的潛伏期縮短的特點,相應地減少對入境人員、密切接觸者等風險人員的隔離管控時間,在保障疫情防控效果的前提下,優化集中隔離資源的使用,降低對群眾生產生活的影響。
(2)加密核酸頻次
加密風險人員的核酸檢測頻次,有利於盡早發現感染者,並及早啟動處置工作。
4、國家明確防控措施
(1)要注重其增強的傳播力和較大規模暴發產生的重症/危重症病例,特別是在高危人群。及時發現、有效控制非常重要。
(2)盡可能完成疫苗的基礎和加強接種,特別是老年人和基礎病病人,最大限度地避免出現嚴重臨床後果。
(3)堅持做好常規的個人防護
請廣大朋友,嚴格遵照當地疫情防控政策,做好自我防護措施,按時接種新冠病毒疫苗。

⑼ 從加密解密演進看 HTTPS 通信(上)——簡述加密解密演進

我們都知道加密的目的是為了保障信息傳輸過程中的安全性。

對於現在人來說,可能會聽說過兩個名詞,一個是對稱加密,一個是非對稱加密,那你好奇它們的含義以及它們是怎麼演變成現在的樣子的嗎?

接下來就讓我來給大家說道說道,提到加密解密其實涉及到一個名詞就是密碼學,其實聽到這個詞不用慌,維基網路上提到密碼學被一個學者解釋為:「密碼學是關於如何在敵人存在的環境中通信」,其實說白了就是如果有不懷好意的人想要查看我和他人的通信信息時,那我應該如何確保信息傳輸的安全無誤呢?這樣就是密碼學要解決的問題。

當我們了解了密碼學的歷史後,你就會自然會明白什麼是對稱加密、非對稱加密,以及它們都是怎麼就解決問題的。

密碼學可以以計算機為分水嶺,分為古典密碼學和現代密碼學,至於為什麼這么分,且聽我娓娓道來,接下來我們先講古典密碼學中加密解密如何進行博弈的。

古典密碼學,這時的最小的加密操作單位還是字母。
大致是四個演進時代:

其實就是把信息通過某種方式藏起來,從而達到一種信息安全的效果。藏起來確實是最容易想到的,但是它的隱患其實是當那些隱藏的方式被大家都知道的時候,其實可以在城關檢查時加大檢查力度,來削弱隱藏法。

提到隱藏法有一個很有趣的故事,希羅多德的記錄中說那會先把送信人的頭發剃光,然後在它的頭皮上寫上要傳遞的信息,待送信人頭發長出來之後,就可以讓他去送信了,到了對方那裡再把送信人頭發剃光,這時就能看到要傳遞的信息了。

當隱藏法不那麼管用之後,其實就需要去考慮有沒有其他方式可以對信息進行加密呢?

但我覺得移位法其實是一種特殊的替代法,只是替代規則是每次都是去找這個元素後面移動位數對應的那個元素進行替代即可。

關於替代法有一個很有名故事就是十六世紀蘇格蘭女王的故事,但其中不僅僅只用到了替代法還用到了隱藏法,其實這些手法並不是同時只能存在其一的,而是可以多種方式結合使用,如果感興趣,可以下面這個連接了解:

蘇格蘭的瑪麗女王 。

那替代法應該如何破解呢?破解的方法頻率分析,利用的是一篇文章中不同英文字母出現的頻率不同,本質是大幅降低字母排列組合的可能性。下圖是維基網路中英文字母出現頻率的統計圖:

有了頻率分析其實你就可以知道密文中出現最多的字母可能就是 e 了,然後這是第一步,這時還不能完全確定,也許還需要再根據拼寫規則篩選一下。

前面我們講到了替代法,但替代的規則還很原始,就是進行原文密文一對一的替換,所以也很容易被頻率分析破解,那我怎樣才能讓頻率分析不起作用呢?對了對抗頻率分析,其實我們可以將替代的關系由原來的一對一改為一對多,這時同一個字母可以由多個字母進行表示,就很難分析了。

既然原來只是使用一套字母表進行替換,那維吉尼亞密碼乾脆直接使用 26 套字母表進行替代,具體如圖示:

直接看這個可能會比較懵逼,我來講講它具體是如何加密的,比如原文是 hello,現在的替換的規則是需要我自己指定的,比如 h 用第 3 套(找到序號為 3 的那一行,然後在查看序號為 0 的 H 對應的那一列,接下來找到交點,就確定了講 h 替換為 k),e 用第 8 套,兩個 l 分別用第 20 套和第 11 套,o 用第 14 套,這樣下來,hello 就變成了 KMFXC。但是真實情況,不會像上面這么亂指定,而是會約定一個替換規則,這個規則也被稱為鑰匙,看下面的圖可能會更好理解,然後根據鑰匙去找對應的替換字母,只要根據鑰匙不斷重復進行替換即可。

不過這個發明後並沒有被大規模使用,因為它太麻煩了,一個短語還好,你自己加密篇文章試試?人手動加密也容易出錯,所以直到美國內戰才是陸續開始有規模的使用維吉尼亞加密法,至於原因嘛,其實是因為機械的出現。

那它該如何破解呢?其實就是從找出重復多次的單詞,可能會有多個重復多次的單詞,然後每個重復多次的單詞中間都會有幾個間隔長度,找出這裡面的交集,這個交集其實就很有可能是鑰匙的長度。算出鑰匙的長度有什麼呢?其實就是把多套字母表加密的規則降級為單套字母表加密,然後對這個單套字母表加密提取出來的字母進行頻率分析。下面這張圖其實就是一個簡單的例子,出現過兩次 BUK,估算鑰匙長度為 4,然後從第一個字母開始每個 4 個字母提取出來形成一組字母集,這套字母集就可以用頻率分析去做處理試著破解了,其實可以整理出來 4 套字母集,然後去找交集,這樣會更准確一些:

這是二戰期間德國一直信賴的加密方式,它的原理也是替代,只是比起維吉尼亞加密法,它更難以破解,而如果想要對它進行破解其實也是只能暴力破解,先看看它長什麼樣子吧:

這張圖的恩尼格瑪機其實還只是簡單版本,德國海軍的恩尼格瑪機比這個更復雜(三個轉子提升到八個轉子,並且還有接線器,用來調換字母,比如所有輸入的 a 都會替換成 b 然後再進行加密),我覺得它很像計算機,因為它也是三部分,輸入 -> 處理(加密) -> 輸出(對應字母的燈泡會亮),中間的齒輪結構被稱為轉子,它可以保證每次輸入進來字母被加密替代的字母都是不一樣的,那麼是如何保障的呢?當我一個字母進來之後,會根據第一個轉子的字母進行替換,然後第一個轉子轉一格,第一個轉子的結果會被當作第二個轉子的輸入進行再次加密,接著第二轉子的結果會被當作第第三個轉子的輸入再進行加密,並且這個過程不斷進行。當第一個轉子轉一圈後會帶動第二個轉子轉一格,第二個轉子轉一圈會帶動第三個轉子轉一格,只要是雙方設置好相同起始的三個轉子的位置,雙方就可以進行加密了。而它的鑰匙的概率是 26 * 26 * 26(三個轉子的情況下),所以就算破解鑰匙也只能進行暴力破解。

雖然這種加密方式很強大,但這時候其實電報已經很普及了,你發出去的信息很容易被截獲(只要頻率相同),也需要稍微考慮我的鑰匙該如何傳輸才更安全,當然這時討論這個還稍微有點早,這時還可以線下發放鑰匙簿(也就是每天按照什麼鑰匙進行加密通信的統一規則書),但其實德國很謹慎,基本上會每個消息都用一個新鑰匙,防止同一天所有消息都是用同一把鑰匙從而進一步降低被破解的可能性。

德國人是如何協商密鑰的呢?剛才提到了鑰匙簿,他們當天會有大鑰匙,比如是 WER,然後操作員隨便想一個單詞比如 XYZ(這就是這次的鑰匙,被稱為小鑰匙),然後先加密一次 XYZ -> ASF,然後再加密一次 XYZ -> RWF,然後這兩個拼在一起就成了 ASFRWF,其實真正的信息是從第七字母開始的,前六個字母就是這條消息的小鑰匙,也是大鑰匙用來加密本次傳輸的小鑰匙,而小鑰匙用來傳遞本次傳輸的內容。只要對方按照大鑰匙先調整好恩尼格瑪機然後把前六個還原為 XYZXYZ 即可,這樣對方就知道了後面加密的內容都是用 XYZ 進行加密的,如果不是重復出現 XYZ 就說明通信有問題,不用理會即可。

講到這里,你也知道了它的破解難度,但大部分人也都聽說過圖靈的故事,就是他最終完成了恩尼格瑪機的破解,當然這其中並不是只有他一批人,而是前前後後五六批人為破解恩尼格瑪機做出了貢獻,至於圖靈是怎麼破解的,我三言兩語也並不好解釋清楚,只需要直到他通過找到德軍加密的一些規律,降低了鑰匙了可能性,然後就會交給叫做他們發明的一個叫「炸彈」的機器進行暴力破解,畢竟機器還是需要機器去對抗的。

補充:

現代密碼學,這時的最小的加密操作單位已經是 0 1 0 1 這樣的二進制了。二進制的好處是,它打亂的是語言規律的底層結構,使得改變發生在文本內部。直到現在大致分為三個演進時代。

在了解了古典密碼學概念後其實後面的現代加密並不難理解,讓我們來看看吧。

魔王加密系統,因為計算機的出現,讓加密解密的最小單位從字母變成了數字,數字的變化打亂了信息的底層結構。

它的確實能保證信息主體的安全,但是呢,你要是鑰匙怎麼傳遞卻是一個很大的問題,不過後面還是有人發明了安全的鑰匙傳遞方法,也就是「迪菲-黑爾曼鑰匙交換方案」,這里的具體的數學原理我就不展開講了,不過靠的是不可逆的單向函數,也就是模運算。感興趣的人可以看看下面的文章:

迪菲-赫爾曼密鑰交換 ;
不要用比喻去理解所有的科學(day48) ;

不過它並沒沒有解決中間人攻擊問題(就是我假裝是你的身份和對方通信),而且還需要兩者同時在線一起協商出密鑰才行,所以並不是很完美,也真是由於這些原因才會迭代出更好的加密方式。

RSA 加密,它解決了鑰匙傳遞中的漏洞,雖然它並不是無法破解的,但因為計算量太大,只要提升鑰匙長度在理論上破解時間無限長。

RSA 也是就是我們常常聽到的非對稱加密,為什麼叫非對稱加密,其實是因為它有兩把鑰匙,一把可以公開的鑰匙和一把自己私有的鑰匙(也就是公鑰和私鑰),並且它使用到的加解密演算法是同一個,而這之前的那些加密方式其實都是對稱加密,它們加密和解密都是同一把鑰匙,而加密和解密用的是不同演算法(基本上是逆向進行)。

而且 RSA 還有一個特性,就是公鑰和私鑰可以互相加解密。由於是兩把鑰匙,我只需要將公鑰公開給別人,就可以讓別人用我的公鑰給我發加密信息了。基於這個特性,那麼如果愛麗絲想要給鮑勃發消息,只需要拿到鮑勃的公鑰進行數據加密即可,這樣發過去的消息,只有持有持有私鑰的鮑勃本身才能解開這條信息。

雖然這樣發過去的消息確實沒問題了,只是鮑勃沒辦法驗證消息真的是來自愛麗絲的,如果是中間的伊芙想要搗亂,他可以假裝自己是愛麗絲給鮑勃發消息,因為只要我拿到鮑勃的公鑰即可,而公鑰有時可以在晚上傳輸的,所以是可以被攔截的。

如果想要解決這個問題就要利用到另一個特性,如果在生活中我想要驗證一條消息來自某個人那我只需要讓對方把消息寫下來並在末尾簽上自己的名字即可,因為實際在紙上的簽名並沒有那麼容易進行偽造。這時候我們也需要通過簽名這種思路來完成身份驗證,那非對稱加密中該如何完成這個簽名呢?其實只需要利用別人都沒有而我只有我有的信息即可,也就是自己持有的私鑰,因此用私鑰加密的過程也被稱為簽名,而公鑰解密的過程也被稱為驗簽。講到這里你應該直到該怎麼做了,也就是愛麗絲再給鮑勃發消息時只需要先拿鮑勃公鑰對信息加密,再對這個密文進行私鑰簽名即可,而鮑勃收到消息,也會先用愛麗絲的公鑰驗簽,然後在用鮑勃的私鑰解密即可完成通信。

但是你以為到這里兩邊的通信就真的完全安全了嗎?並不是,因為在公鑰傳輸的過程中,還是存在中間人伊芙,他可以對網上傳輸的信息進行攔截和修改,這時候如果他將傳輸過去的原本鮑勃的公鑰換成了自己的,那其實愛麗絲也是並不能發現的,那該怎麼呢?這時就需要一個第三方權威機構來給鮑勃的公鑰進行信用背書,然後愛麗絲拿到這個背書後進行一系列驗證即可,如果驗證都沒問題,就說明真的可以相信傳遞過來的公鑰就是鮑勃的了,只是這個過程其實也很復雜,而且這里說的信用背書其實就是頒發證書的過程,而驗證的過程就是證書驗證的過程,具體的驗證細節會放到下一講。

說實話,這玩意我也不懂,我能跳過它嗎?

只是聽說,如果這個東西真的出來大規模使用了,那 RSA 這種難以破解的加密方式也會容易被破解。

並且由於量子物理本身的特性,在鑰匙傳輸和通信方面量子加密都是非常安全的。

這我不懂我就不多說了。

到這里為止加密解密的基本演進我們也就講完了,其實這個演進過程是十分有趣的,你能看到人類智力大比拼,並且加密方和解密方不斷你方唱罷我登場,但是現在看來,加密方還是占據了上方,畢竟 RSA 並不那麼容易破解。

如果不看量子加密,其實我從古典密碼學到現代密碼學的演進中看到了有一些趨勢,比如:

感謝非對稱加密的暫時領先,讓我們能安心的進行數據傳輸。

以上內容參考了密碼學的維基網路、得到的《卓克·密碼學 30 講》、扔物線的 HenCoder Plus 以及《碼書》。

⑽ 加密技術06-加密總結

對稱密碼是一種用相同的密鑰進行加密和解密的技術,用於確保消息的機密性。在對稱密碼的演算法方面,目前主要使用的是 AES。盡管對稱密碼能夠確保消息的機密性,但需要解決將解密密鑰配送給接受者的密鑰配送問題。

主要演算法

DES

數據加密標准(英語:Data Encryption Standard,縮寫為 DES)是一種對稱密鑰加密塊密碼演算法,1976年被美國聯邦政府的國家標准局確定為聯邦資料處理標准(FIPS),隨後在國際上廣泛流傳開來。它基於使用56位密鑰的對稱演算法。

DES現在已經不是一種安全的加密方法,主要因為它使用的56位密鑰過短。

原理請參考: 加密技術01-對稱加密-DES原理

3DES

三重數據加密演算法(英語:Triple Data Encryption Algorithm,縮寫為TDEA,Triple DEA),或稱3DES(Triple DES),是一種對稱密鑰加密塊密碼,相當於是對每個數據塊應用三次DES演算法。由於計算機運算能力的增強,原版DES由於密鑰長度過低容易被暴力破解;3DES即是設計用來提供一種相對簡單的方法,即通過增加DES的密鑰長度來避免類似的攻擊,而不是設計一種全新的塊密碼演算法。

注意:有3個獨立密鑰的3DES的密鑰安全性為168位,但由於中途相遇攻擊(知道明文和密文),它的有效安全性僅為112位。

3DES使用「密鑰包」,其包含3個DES密鑰,K1,K2和K3,均為56位(除去奇偶校驗位)。

密文 = E k3 (D k2 (E k1 (明文)))

而解密則為其反過程:

明文 = D k3 (E k2 (D k1 (密文)))

AES

AES 全稱 Advanced Encryption Standard(高級加密標准)。它的出現主要是為了取代 DES 加密演算法的,因為 DES 演算法的密鑰長度是 56 位,因此演算法的理論安全強度是 56 位。於是 1997 年 1 月 2 號,美國國家標准技術研究所宣布希望徵集高級加密標准,用以取代 DES。AES 也得到了全世界很多密碼工作者的響應,先後有很多人提交了自己設計的演算法。最終有5個候選演算法進入最後一輪:Rijndael,Serpent,Twofish,RC6 和 MARS。最終經過安全性分析、軟硬體性能評估等嚴格的步驟,Rijndael 演算法獲勝。

AES 密碼與分組密碼 Rijndael 基本上完全一致,Rijndael 分組大小和密鑰大小都可以為 128 位、192 位和 256 位。然而 AES 只要求分組大小為 128 位,因此只有分組長度為 128 位的 Rijndael 才稱為 AES 演算法。

本文 AES 默認是分組長度為 128 位的 Rijndael 演算法

原理請參考: 加密技術02-對稱加密-AES原理

演算法對比

公鑰密碼是一種用不同的密鑰進行加密和解密的技術,和對稱密碼一樣用於確保消息的機密性。使用最廣泛的一種公鑰密碼演算法是 RAS。和對稱密碼相比,公鑰密碼的速度非常慢,因此一般都會和對稱密碼一起組成混合密碼系統來使用。公鑰密碼能夠解決對稱密碼中的密鑰交換問題,但存在通過中間人攻擊被偽裝的風險,因此需要對帶有數字簽名的公鑰進行認證。

公鑰密碼學的概念是為了解決對稱密碼學中最困難的兩個問題而提出

應用場景

幾個誤解

主要演算法

Diffie–Hellman 密鑰交換

迪菲-赫爾曼密鑰交換(英語:Diffie–Hellman key exchange,縮寫為D-H) 是一種安全協議。它可以讓雙方在完全沒有對方任何預先信息的條件下通過不安全信道創建起一個密鑰。這個密鑰可以在後續的通訊中作為對稱密鑰來加密通訊內容。公鑰交換的概念最早由瑞夫·墨克(Ralph C. Merkle)提出,而這個密鑰交換方法,由惠特菲爾德·迪菲(Bailey Whitfield Diffie)和馬丁·赫爾曼(Martin Edward Hellman)在1976年發表,也是在公開文獻中發布的第一個非對稱方案。

Diffie–Hellman 演算法的有效性是建立在計算離散對數很困難的基礎上。簡單地說,我們可如下定義離散對數。首先定義素數 p 的本原跟。素數 p 的本原根是一個整數,且其冪可以產生 1 到 p-1 之間所有整數,也就是說若 a 是素數 p 的本原根,則

a mod p, a 2 mod p,..., a p-1 mod p 各不相同,它是整數 1 到 p-1 的一個置換。

對任意整數 b 和素數 p 的本原跟 a,我們可以找到唯一的指數 i 使得

b ≡ a i (mod p) 其中 0 <= i <= p-1

其中 a, b, p 這些是公開的,i 是私有的,破解難度就是計算 i 的難度。

Elgamal

1985年,T.Elgamal 提出了一種基於離散對數的公開密鑰體制,一種與 Diffie-Hellman 密鑰分配體制密切相關。Elgamal 密碼體系應用於一些技術標准中,如數字簽名標准(DSS) 和 S/MIME 電子郵件標准。

基本原理就是利用 Diffie–Hellman 進行密鑰交換,假設交換的密鑰為 K,然後用 K 對要發送的消息 M,進行加密處理。

所以 Elgamal 的安全系數取決於 Diffie–Hellman 密鑰交換。

另外 Elgamal 加密後消息發送的長度會增加一倍。

RSA

MIT 的羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)在 1977 年提出並於 1978 年首次發表的演算法。RSA 是最早滿足要求的公鑰演算法之一,自誕生日起就成為被廣泛接受且被實現的通用的公鑰加密方法。

RSA 演算法的有效性主要依據是大數因式分解是很困難的。

原理請參考: 加密技術03-非對稱加密-RSA原理

ECC

大多數使用公鑰密碼學進行加密和數字簽名的產品和標准都使用 RSA 演算法。我們知道,為了保證 RSA 使用的安全性,最近這些年來密鑰的位數一直在增加,這對使用 RSA 的應用是很重的負擔,對進行大量安全交易的電子商務更是如此。近來,出現的一種具有強大競爭力的橢圓曲線密碼學(ECC)對 RSA 提出了挑戰。在標准化過程中,如關於公鑰密碼學的 IEEE P1363 標准中,人們也已考慮了 ECC。

與 RSA 相比,ECC 的主要誘人之處在於,它可以使用比 RSA 短得多的密鑰得到相同安全性,因此可以減少處理負荷。

ECC 比 RSA 或 Diffie-Hellman 原理復雜很多,本文就不多闡述了。

演算法對比

公鑰密碼體制的應用

密碼分析所需計算量( NIST SP-800-57 )

註:L=公鑰的大小,N=私鑰的大小

散列函數是一種將長消息轉換為短散列值的技術,用於確保消息的完整性。在散列演算法方面,SHA-1 曾被廣泛使用,但由於人們已經發現了一些針對該演算法理論上可行的攻擊方式,因此該演算法不應再被用於新的用途。今後我們應該主要使用的演算法包括目前已經在廣泛使用的 SHA-2,以及具有全新結構的 SHA-3 演算法。散列函數可以單獨使用,也可以作為消息認證、數字簽名以及偽隨機數生成器等技術的組成元素來使用。

主要應用

主要演算法

MD5

MD5消息摘要演算法(英語:MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數,可以產生出一個 128 位( 16 位元組,被表示為 32 位十六進制數字)的散列值(hash value),用於確保信息傳輸完整一致。MD5 由美國密碼學家羅納德·李維斯特(Ronald Linn Rivest)設計,於 1992 年公開,用以取代 MD4 演算法。這套演算法的程序在 RFC 1321 中被加以規范。

2009年,中國科學院的謝濤和馮登國僅用了 2 20.96 的碰撞演算法復雜度,破解了MD5的碰撞抵抗,該攻擊在普通計算機上運行只需要數秒鍾。2011年,RFC 6151 禁止MD5用作密鑰散列消息認證碼。

原理請參考: 加密技術04-哈希演算法-MD5原理

SHA-1

SHA-1(英語:Secure Hash Algorithm 1,中文名:安全散列演算法1)是一種密碼散列函數,美國國家安全局設計,並由美國國家標准技術研究所(NIST)發布為聯邦資料處理標准(FIPS)。SHA-1可以生成一個被稱為消息摘要的160位(20位元組)散列值,散列值通常的呈現形式為40個十六進制數。

2005年,密碼分析人員發現了對SHA-1的有效攻擊方法,這表明該演算法可能不夠安全,不能繼續使用,自2010年以來,許多組織建議用SHA-2或SHA-3來替換SHA-1。Microsoft、Google以及Mozilla都宣布,它們旗下的瀏覽器將在2017年停止接受使用SHA-1演算法簽名的SSL證書。

2017年2月23日,CWI Amsterdam與Google宣布了一個成功的SHA-1碰撞攻擊,發布了兩份內容不同但SHA-1散列值相同的PDF文件作為概念證明。

2020年,針對SHA-1的選擇前綴沖突攻擊已經實際可行。建議盡可能用SHA-2或SHA-3取代SHA-1。

原理請參考: 加密技術05-哈希演算法-SHA系列原理

SHA-2

SHA-2,名稱來自於安全散列演算法2(英語:Secure Hash Algorithm 2)的縮寫,一種密碼散列函數演算法標准,由美國國家安全局研發,由美國國家標准與技術研究院(NIST)在2001年發布。屬於SHA演算法之一,是SHA-1的後繼者。其下又可再分為六個不同的演算法標准,包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。

SHA-2 系列的演算法主要思路和 SHA-1 基本一致

原理請參考: 加密技術05-哈希演算法-SHA系列原理

SHA-3

SHA-3 第三代安全散列演算法(Secure Hash Algorithm 3),之前名為 Keccak 演算法。

Keccak 是一個加密散列演算法,由 Guido Bertoni,Joan Daemen,Michaël Peeters,以及 Gilles Van Assche 在 RadioGatún 上設計。

2012年10月2日,Keccak 被選為 NIST 散列函數競賽的勝利者。SHA-2 目前沒有出現明顯的弱點。由於對 MD5、SHA-0 和 SHA-1 出現成功的破解,NIST 感覺需要一個與之前演算法不同的,可替換的加密散列演算法,也就是現在的 SHA-3。

SHA-3 在2015年8月5日由 NIST 通過 FIPS 202 正式發表。

原理請參考: 加密技術05-哈希演算法-SHA系列原理

演算法對比

閱讀全文

與加密分析頻次相關的資料

熱點內容
ascii碼是編譯的時候用嗎 瀏覽:779
壓縮機感應包可以通用嗎 瀏覽:410
方舟伺服器怎麼發布到搜索列表 瀏覽:270
xml防反編譯 瀏覽:239
數據傳輸加密系統技術方案 瀏覽:842
程序員沒有準備去面試 瀏覽:4
51單片機usb滑鼠 瀏覽:879
qq伺服器的ip地址查詢 瀏覽:112
java仿qq聊天 瀏覽:400
解壓的ipa重新打包 瀏覽:142
程序員那麼可愛vip版 瀏覽:239
程序員怎麼升職 瀏覽:243
圖形化命令按鈕vb 瀏覽:987
vcu盤加密怎麼設置 瀏覽:414
如何加密備份微信聊天記錄 瀏覽:528
安卓手機如何模擬鍵盤 瀏覽:931
查看dns地址命令 瀏覽:767
android錄屏工具 瀏覽:841
成都互動直播系統源碼 瀏覽:955
usb藍牙android 瀏覽:409