精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

加密:最常見的算法

星星科技指導員 ? 作者:jwallrabenstein ? 2023-06-27 15:47 ? 次閱讀

在加密中:它是什么以及它是如何工作的? 我們承諾了單字母替換密碼的解決方案。見下文:

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
I Z S G K B X J F E R T U Q A W O H M Y N C V L D P

密文: ITT VAHR IQG QA WTID UIRKM EISR I GNTT ZAD

明文:全是工作,不玩耍,讓杰克成為一個沉悶的男孩

在這篇博客中,我們將介紹一些眾所周知的對稱加密算法。對稱算法類是指所涉及的每一方都必須訪問相同的密鑰,因此它們關于密鑰的信息是相同或對稱的。在我們的下一篇博客中,我們將介紹非對稱算法,其中所有參與者之間有關密鑰的信息并不相同。讓我們首先研究一個眾所周知的,但現在大部分已停用的對稱算法:DES。

數據加密標準 (DES) 是由 IBM 開發并于 1977 年標準化的對稱加密算法。盡管它已被AES取代(我們將在下面進行研究),但DES的設計選擇為關鍵空間問題提供了一個極好的真實示例。雖然對這些算法如何工作的完整描述遠遠超出了本文的范圍,但讓我們看一下它們設計中舉例說明對稱加密算法重要屬性的部分。

DES 算法在 64 位輸入數據塊上運行,并通過稱為 Feistel 網絡的結構處理每個塊(如右圖所示)。由于該算法在 64 位塊的固定大小輸入上運行,我們稍后需要引入不同的操作模式:將較大的輸入拆分為塊并組合輸出以形成最終密文的方法。正如我們將看到的,它并不像簡單地連接對應于每個塊的 64 位密文那么簡單!

明文輸入首先是排列的,但由于排列是固定的并且是公開的,因此它不會為設計增加安全性——它只是為了減慢缺乏算法硬件實現的對手的速度。需要注意的是,現代加密算法的安全性不依賴于算法任何部分的保密性。相反,只有密鑰被假定為對手不知道。現代密碼設計中的這一重要概念被稱為Kerckhoffs原理。

然后將數據拆分為左 (L0) 和右 (R0) 的一半,右半部分與子鍵 K1(通過算法從主鍵派生)組合。右半部分和子鍵通過函數“f”組合在一起,以紅色突出顯示。

f被稱為Feistel函數,是使DES成為一個難題的重要組成部分。有趣的是,我們將看到,與本文開頭的一般難題示例 f(x) 不同,DES 中的 Feistel 函數 f 實際上不是可逆的!相反,可逆性屬性(使用 DES 解密的能力)來自 Feistel 網絡結構:使用密文塊和子密鑰以相反的順序運行網絡會產生原始明文。

Feistel 函數 f(如下圖所示)的結構是通過擴展和獨占 or 運算符將正確的 32 位數據與子鍵 K 組合在一起來操作的。然后將此組合結果分成 8 個 6 位塊,每個塊通過替換盒或“S-box”。這些 S 盒中的每一個都實現了眾所周知的非線性轉換,將 6 位輸入映射到 4 位輸出。選擇這些映射中的每一個對于DES的安全性至關重要,在標準化之前,NSA用自己的映射替換了原始映射。當時被廣泛認為是惡意的,后來發現NSA的映射可以抵抗一種(當時公開未知的)稱為差分密碼分析的攻擊。

wKgaomSaoWSAZehjAAC3-INrpUU510.png

不幸的是,并非所有國家安全局對DES的貢獻都是無私的。最初的設計要求使用64位密鑰,這在1970年代的安全性綽綽有余。然而,NSA強烈主張使用更弱的48位密鑰,該標準最終確定為56位。當時的公開理由是使用每個字節的一個位作為奇偶校驗位(導致只有 64 個有意義位的“56 位”密鑰)來驗證 DES 密鑰是否“有效”。當然,嘗試使用錯誤的密鑰解密將達到相同的目標。如今,56 位 DES 密鑰不提供安全性,因此不應使用 DES 算法。相反,對稱加密算法應該至少使用128位密鑰,這是我們研究的下一個算法滿足的屬性:高級加密標準AES。

AES

1997年,美國國家標準與技術研究院(NIST)宣布了一項開發高級加密標準(AES)的競賽,這是一種將取代DES的對稱加密算法。2001年,Rijndael算法(比利時設計師Vincent Rijmen和Joan Daemen的姓氏組合)被選為獲勝者,并被標準化為AES。它定義為 128、192 和 256 位的密鑰大小,遠大于 DES 使用的 56 位密鑰。

wKgaomSaoWmASa_NAAEUj8qBGwo064.png

AES 算法使用替換-置換網絡,該網絡類似于 DES 使用的 Feistel 網絡,但不同之處在于替換盒 (S-box) 是可逆的。AES執行四個基本操作:

添加圓鍵

為了混合密鑰材料,從主密鑰派生一個子密鑰以形成 AES 圓形密鑰。狀態數組 s 初始化為 128 位明文輸入塊,并通過 exclusive-or 與 round 鍵的單詞 w 組合以形成更新的狀態。

子字節

與 DES 類似,狀態隨后通過非線性 S 盒進行轉換,在 AES 中,S-box 以可逆的方式將字節映射到字節。根據 Kerckhoffs 原理,這種轉換和 AES 算法的整個描述是眾所周知的。

移位行

此步驟在當前狀態下循環移動最后三行。此操作與 MixColumns 操作一起提供擴散:在整個生成的密文輸出中傳播明文輸入中的微小變化。這種“雪崩效應”可以防止攻擊者知道明文-密文對的攻擊:多次擴散操作,加上每次迭代中添加圓形密鑰的混亂,使得即使知道明文和密文也難以恢復密鑰。

混合列

最終操作將信息混合在一列中,從而提供進一步的擴散效果。

然后,根據所選的密鑰大小,對這些操作組進行多次迭代。

我們已經看到,DES 和 AES 都是分別處理 64 位和 128 位明文塊的對稱加密算法。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 密鑰
    +關注

    關注

    1

    文章

    137

    瀏覽量

    19742
  • DES
    DES
    +關注

    關注

    0

    文章

    64

    瀏覽量

    48201
收藏 人收藏

    評論

    相關推薦

    分享一些最常見最實用的機器學習算法

    在這篇文章中,分享一些最常用的機器學習算法
    的頭像 發表于 10-14 14:24 ?9089次閱讀
    分享一些<b class='flag-5'>最常見</b>最實用的機器學習<b class='flag-5'>算法</b>

    電工最常見電路

    電工最常見電路
    發表于 10-12 21:11

    算法授權加密方案,圖像算法加密,語音算法加密,硬件加密方案

    核心技術的保護固然重要,而對封裝和PCB布線等可見部分的保護也不容忽視。多數公司一般習慣于使用采納了安全芯片和算法的版權保護系統。 深圳市鼎恒創科技專注于固件保護和數據加密傳輸多年,相關負責人從事加密
    發表于 11-20 10:24

    DES加密算法是什么

    一、加密算法1、 DES加密算法DES數據加密標準,是一種使用密鑰加密的塊算法。DES中的密鑰key為8個字節64位,但每第8個為校驗位不參
    發表于 07-22 09:13

    對稱加密算法是什么

    對稱加密算法也叫私鑰加密算法,其特征是收信方和發信方使用相同的密鑰,即加密密鑰和解密密鑰是相同或等價的。非對稱加密算法也叫公鑰加密算法。其特
    發表于 07-22 07:09

    TN404_ELF2 AES加密使用指南

    正文 AES(Advanced Encryption Standard,高級加密標準)算法,是一種最常見的對稱加密算法。AES 在密碼學中又稱 Rijndael
    發表于 10-28 08:06

    電工最常見電路集

    電工最常見電路集:
    發表于 02-28 15:39 ?415次下載
    電工<b class='flag-5'>最常見</b>電路集

    常見公鑰加密算法有哪些

    RSA、ElGamal、背包算法、Rabin(Rabin的加密法可以說是RSA方法的特例)、Diffie-Hellman (D-H) 密鑰交換協議中的公鑰加密算法、Elliptic Curve
    發表于 12-10 09:41 ?4.4w次閱讀

    最常見10大算法類型

    本文總結了程序員在代碼面試中最常遇到的10大算法類型,想要真正了解這些算法的原理,還需程序員們花些功夫。算法按用途分,體現設計目的、有什么特點算法
    發表于 01-29 11:10 ?2.4w次閱讀

    激光導航AGV中最常見的控制算法都有哪些

    辨別方向的一個過程。那么激光導航agv中最常見的控制算法都有哪些呢?下面國辰機器人就為大家一一講解。 1、磁條導航 磁條導航技術目前用的人不是很多,有點類似電磁導航,但是跟電磁導航不一樣的地方在于它是通過地面磁條來鋪設線路的,通過
    發表于 12-12 11:02 ?2582次閱讀

    舉例幾種常見加密算法

    今天主要總結下常用的對稱性加密算法DES和AES,非對稱性加密算法RSA。 01 ?DES加密算法 1.DES含義 DES全稱為Data Encrypt
    的頭像 發表于 04-28 13:52 ?2w次閱讀
    舉例幾種<b class='flag-5'>常見</b>的<b class='flag-5'>加密算法</b>

    量子計算機如何破解最常見加密算法

    主流量子計算可能還有幾十年的時間,但其破解加密的能力意味著研究人員現在正在研究如何提高量子時代的安全性。
    的頭像 發表于 08-09 14:15 ?4032次閱讀

    最常見的目標跟蹤算法

    對象跟蹤問題一直是計算機視覺的熱點任務之一,簡單的可以分為單目標跟蹤與多目標跟蹤,最常見的目標跟蹤算法都是基于檢測的跟蹤算法,首先發現然后標記,好的跟蹤算法必須具備REID的能力。今天
    的頭像 發表于 09-14 16:20 ?2691次閱讀

    常見加密算法分類

    在開發過程中,為了保證程序能夠安全高效運行,數據信息不被泄露,我們通常都會對要操作的數據進行加解密,從而提高程序的安全性。常見加密算法分類見下圖,可分為對稱加密、非對稱加密、散列
    的頭像 發表于 11-21 10:08 ?1413次閱讀
    <b class='flag-5'>常見</b><b class='flag-5'>加密算法</b>分類

    aes加密常見錯誤及解決方案

    AES(Advanced Encryption Standard,高級加密標準)是一種對稱加密算法,它使用固定長度的密鑰對數據進行加密。在使用AES加密時,可能會遇到一些
    的頭像 發表于 11-14 15:13 ?613次閱讀