那曲檬骨新材料有限公司

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

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

3天內不再提示

密碼學:現代方法的基礎知識

星星科技指導員 ? 來源:ADI ? 作者:ADI ? 2022-12-19 15:56 ? 次閱讀

加密密鑰

保持加密應用程序的安全依賴于對稱密鑰和私鑰,這些密鑰和私鑰始終保密。用于保密的方法也受到保護。

非對稱密鑰和對稱密鑰是現代密碼學中使用的兩種基本算法類型。非對稱密鑰算法使用私鑰和公鑰的組合,而對稱算法僅使用私鑰,通常稱為密鑰。表 1 提供了每種算法方法的主要特征的快照。

安全服務和功能實現 算法方法
對稱密鑰 非對稱密鑰
保密性 是的 是的
識別和
認證
是的 是的
正直 是的 是的
不可否認性 是,結合公鑰/私鑰算法 是的
加密 是,快速 是,慢
解密 是,快速 是,慢
整體安全性
密鑰管理 需要在發送方和接收方交換密鑰并保護密鑰 需要保護發件人和收件人端的每個私鑰
算法復雜性 易于理解 可能難以理解
密鑰大小 128 位、192 位或 256 位或更長,但不需要像非對稱密鑰一樣長(取決于密鑰的保密性) 256 位、1024 位、2048 位、3072 位或更長。取決于棘手性(需要解決的時間和資源量)。
系統漏洞 密鑰管理、
生成和使用不當
實施不當
攻擊方法 蠻力,線性/差分密碼分析 蠻力、線性/差分密碼分析和甲骨文

讓我們來看看如何使用這兩種類型的算法來實現每個加密目標。

使用對稱密鑰算法的機密性

保密的主要目標是使信息遠離所有不知情的人。在對稱密鑰加密系統中,這非常簡單,是通過加密發送方和接收方之間交換的數據來實現的。發送方和接收方都可以訪問用于加密和解密交換消息的同一密鑰,如圖 1 所示。

pYYBAGOgGT-Aewq3AABQIbrgTEI770.png?imgver=1

圖1.對稱密鑰算法有助于使用私鑰或密鑰實現機密性。

只要密鑰是安全的,并且只有發送方和接收方可以訪問加密/解密密鑰,即使傳輸過程中被截獲,其他人也無法接收傳輸的消息。因此,消息保持“機密”。

使用非對稱密鑰算法的機密性

在非對稱密鑰系統中,接收者可以自由分發她/他的公鑰。發送方獲取公鑰并驗證其真實性。完成此操作需要幾個步驟,如圖 2 所示。為了簡單起見,讓我們假設發件人可以訪問收件人的已驗證公鑰。然后,發件人使用該公鑰加密郵件并將其發送給收件人。

poYBAGOgGUKAZd_-AABgSf6vemI737.png?imgver=1

圖2.非對稱密鑰算法有助于通過使用公鑰和私鑰來實現機密性。

收件人的公鑰在數學上與收件人的私鑰相關。發件人和其他任何人都無法訪問收件人的私鑰。收件人收到消息后,私鑰將用于解密消息。收件人的私鑰是唯一可用于解密使用相關公鑰加密的消息的私鑰。由于私鑰僅駐留在收件人手中,因此其他人或組織無法解密已發送的郵件。因此,消息保持“機密”。

使用對稱密鑰算法進行識別和身份驗證

識別和身份驗證的目標是首先識別對象或用戶,然后對它們進行身份驗證,以便我們知道我們正在與我們真正想要與之通信的人進行通信。

如何使用對稱密鑰方案實現這一點?圖 3 顯示了對稱密鑰識別和身份驗證過程的簡單示例。查看步驟 1 到 6 以更好地理解。步驟 4 使用稱為“摘要”的概念。摘要或哈希是在大型數據集上計算的固定長度值。

poYBAGOgGUSAM5ITAABEdK0LIQU214.png?imgver=1

圖3.此圖顯示了對稱密鑰標識和身份驗證過程的簡單示例。

為什么我們需要“隨機數”?

冒名頂替者可以擁有收件人傳輸的最后一個摘要,然后使用該摘要發出“驗證我”。這些類型的攻擊稱為“重放攻擊”,即重新發送以前使用的摘要。使用“nonce”或一次性隨機數進行身份驗證可防止此類攻擊。在這種情況下,身份驗證將失敗,因為對于每個身份驗證,發送方都需要一個帶有全新隨機數的新摘要。這些數字通常使用批準的隨機數生成器生成。

現在,讓我們研究一個使用 SHA3-256 算法進行標識和身份驗證的真實示例。

使用 SHA-3 算法進行識別和身份驗證

圖 4 顯示了對稱密鑰標識和身份驗證過程的更完整示例。這使用 SHA-3 對稱密鑰算法,該算法是安全哈希算法 (SHA) 系列中的最新算法。Maxim Integred是首家在量產中采用SHA3-256安全認證器件的公司。查看圖中的步驟 1 到 6,以更好地了解該過程。圖 4 中的“隨機數”基本上是防止重放攻擊所需的“隨機數”,如前面一節中的簡單示例中所述。

pYYBAGOgGUaAIJkUAAC9jGeyqaE211.png?imgver=1

圖4.此圖顯示了使用 SHA-3 的對稱密鑰算法的詳細示例。

使用非對稱密鑰算法進行識別和身份驗證

如前所述,識別和身份驗證的目標是首先識別對象或用戶,然后對它們進行身份驗證,以便我們知道我們正在與我們真正想要與之通信的人進行通信。

如何使用非對稱密鑰方案實現這一點?圖 5 顯示了對稱密鑰識別和身份驗證過程的簡單示例。查看圖中的步驟 1 到 6 以了解該過程。

poYBAGOgGU6AZhGbAABNx_Zno20560.png?imgver=1

圖5.此圖顯示了使用非對稱密鑰算法進行標識和身份驗證的簡單示例。

為什么我們需要一個隨機數?

冒名頂替者可以獲得收件人傳輸的最后一個簽名,然后使用該簽名發出“驗證我”。這些類型的攻擊稱為“重放攻擊”,即重新發送以前使用的特征碼。使用隨機數或一次性隨機數進行身份驗證可防止此類攻擊。在這種情況下,身份驗證將失敗,因為發件人需要一個新的簽名,每個身份驗證都有一個全新的隨機數。這些數字通常使用批準的隨機數生成器生成。

現在,讓我們研究一個使用橢圓曲線數字簽名算法 (ECDSA) 算法進行識別和身份驗證的真實示例。

使用 ECDSA 算法進行識別和身份驗證

圖 6 顯示了使用 ECDSA 非對稱密鑰算法的非對稱密鑰識別和身份驗證過程的更完整示例。圖中的步驟 1 到 6 可以幫助您更好地了解該過程。

pYYBAGOgGVGAVBd0AAC3DPg9sYk217.png?imgver=1

圖6.使用 ECDSA 非對稱密鑰算法進行標識和身份驗證的詳細示例。

盡管此方法完成設備身份驗證,但它不涵蓋完整的系統身份驗證過程。這包括驗證收件人是否是系統的一部分,以及所需的設備數字證書驗證。

比較加密算法

圖 7 顯示了對稱和非對稱密鑰算法的密鑰使用情況的并排比較。在進入下一個主題之前,我們需要了解以下兩個概念之間的區別:

安全哈希

HMAC(散列消息身份驗證代碼)

poYBAGOgGVOAC922AAA-S6fVIlU940.png?imgver=1

圖7.這是對稱密鑰和非對稱密鑰加密算法的比較。

圖 8 說明了 HMAC 和安全哈希之間的差異。本質上,安全哈希使用哈希算法(如 SHA-3)來生成消息的固定長度哈希,而不考慮消息長度。HMAC 與此類似,但使用密鑰作為哈希引擎的附加輸入。它還生成固定長度的哈希,而不考慮輸入消息長度。

pYYBAGOgGVWAXofSAABXJfQaY2M869.png?imgver=1

圖8.HMAC 和安全哈希之間存在相似之處但主要區別。

使用對稱密鑰算法保持完整性

保持消息完整性的目標是確保收到的任何消息或連接的任何新設備都不會攜帶不需要的代碼或信息。讓我們看一個如何使用對稱密鑰算法(如 SHA-3)實現此目的的示例。稍后,我們將回顧這些算法如何工作的細節。

在圖 9 中,發送方使用特定鍵計算消息的摘要。由于這是一個對稱密鑰方案,因此此密鑰在發送方和接收方之間共享。使用密鑰生成的摘要或哈希稱為 HMAC(基于哈希的消息身份驗證代碼)。

poYBAGOgGVeAPDoSAABlAb-qOu4666.png?imgver=1

圖9.SHA-3 對稱密鑰算法可保持完整性。

這是通過將消息和密鑰提供給 SHA-3 引擎生成的。然后將生成的 HMAC 和消息發送給收件人。然后,接收者使用她擁有的密鑰生成自己的 HMAC。然后比較兩個 HMAC,如果它們匹配,則消息未被篡改。在這種情況下,有人可以截獲 HMAC 和消息,然后更改消息并生成新的 HMAC 并將其發送給收件人。但是,這將不起作用,因為攔截器將沒有收件人的密鑰,并且HMAC將不匹配。

使用非對稱密鑰算法保持完整性

保持消息完整性的目標是確保收到的任何消息或連接的任何新設備都不會攜帶不需要的代碼或信息。讓我們看一個如何使用非對稱密鑰算法(如 ECDSA(橢圓曲線數字簽名算法)實現此目的的示例。

這背后的基本思想是,發件人使用數字簽名對消息進行簽名,收件人驗證簽名,以確保收到的消息的完整性。

在圖 10 中,發送方通過將消息饋送到 SHA-2 哈希引擎來計算消息的摘要。由于這是一個非對稱密鑰方案,因此發送方和接收方之間不共享此密鑰。發送方有一個永遠不會共享的私鑰,而接收方有一個可以與許多人共享的公鑰,反之亦然,與對稱密鑰算法不同,生成的摘要/哈希不使用密鑰。

poYBAGOgGVmANO8BAACszIGidX4696.png?imgver=1

圖 10.ECDSA 非對稱密鑰算法有助于保持消息完整性。

然后將生成的摘要與發送方的私鑰一起饋送到 ECDSA 引擎,以生成消息的數字簽名。此簽名與郵件一起發送給收件人。這樣就完成了已發送郵件的簽名過程。

現在收件人已收到發件人的郵件和數字簽名,她可以開始驗證過程。此過程包括兩個不同的步驟:

步驟1:收件人從收到的消息中計算消息摘要。

第 2 步:這個新計算的摘要、從發件人收到的數字簽名以及發件人的公鑰隨后被輸入 ECDSA 引擎進行驗證。

在驗證過程中,ECDSA 引擎會產生“是”或“否”結果。如果結果為“是”,則保留了消息完整性。如果結果為“否”,則消息完整性已受到損害。

使用非對稱密鑰算法實現不可否認性

由發件人的數字簽名簽名的郵件可用于證明郵件是由發件人發送的,并且郵件未被更改。但是,數字簽名無法證明發件人的身份。身份證明是使用數字證書實現的。圖 11 到 14 顯示了實現完整公鑰系統所需的完整步驟,在該系統中,交換的消息不能被任何一方否認。

pYYBAGOgGVuAAtvSAABpa0Sg9yc601.png?imgver=1

圖 11.發件人和收件人交換受信任的第三方簽名的數字證書。

pYYBAGOgGV2ADimJAAC7FhCdh_U124.png?imgver=1

圖 12.發件人和收件人驗證受信任的第三方簽名數字證書的真實性。

pYYBAGOgGV6AFDkPAACI7UlnqmU567.png?imgver=1

圖 13.發件人和收件人從數字證書中提取彼此的公鑰。

poYBAGOgGWGADh-HAACsbENT0u0978.png?imgver=1

圖 14.發件人和收件人交換無法否認的消息。

主要思想是發送者和接收者都需要相互證明他們的身份,并且他們各自的公鑰需要由受信任的第三方證明真實。

為什么使用數字證書如此重要?沒有它,假裝是發件人的人(即冒名頂替者)可以發送一條用收件人的公鑰加密的消息以及用冒名頂替者的私鑰簽名的數字簽名。然后,冒名頂替者將向收件人發送他/她虛構的公鑰。然后,收件人將使用該公鑰來驗證數字簽名,并且所有內容都將得到驗證。但是來自冒名頂替者的消息可能包含收件人永遠不會懷疑的惡意信息。這是通過使用數字證書可以避免的問題,該證書驗證收到的公鑰確實屬于發件人而不是冒名頂替者。

審核編輯:郭婷

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

    關注

    1

    文章

    141

    瀏覽量

    19851
  • 引擎
    +關注

    關注

    1

    文章

    361

    瀏覽量

    22630
  • SHA
    SHA
    +關注

    關注

    0

    文章

    16

    瀏覽量

    8458
收藏 人收藏

    評論

    相關推薦

    現代密碼學

    現代密碼學課件,大家可學習學習,了解了解
    發表于 05-10 15:56

    什么是密碼學中的DES

    得不提一個東西——密碼學(是不是聽起來頭皮發麻心跳加速),穩住穩住,老司機上線帶你。今天給大家say&see什么是密碼學中的DES。簡介?DES:****English Name...
    發表于 07-22 07:16

    密碼學中的加密技術

    密碼學中的加密技術:密碼學的基本概念密碼編碼密碼體制的設計,而
    發表于 06-16 23:50 ?0次下載

    區塊鏈的底層技術是密碼學

    密碼學是區塊鏈的底層技術,沒有密碼學就沒有區塊鏈,沒有密碼學支撐的區塊鏈不可能安全。
    發表于 11-22 11:22 ?2105次閱讀

    密碼學在區塊鏈中有著怎樣的作用

    張驍表示,區塊鏈之所以能夠解決人與人之間的信任問題,是因為它的不可篡改性,而這種特性本質上又是基于密碼學算法來實現的。因此密碼學在區塊鏈中的地位很關鍵,如果說區塊鏈是信任的基石,那么密碼學則是區塊鏈的基石。
    發表于 12-27 15:51 ?4729次閱讀

    應用密碼學的資料概述

    本文檔的主要內容詳細介紹的是應用密碼學的資料概述包括了:1.密碼的由來,2.密碼技術發展簡介,3.密碼學基本概念
    發表于 04-04 08:00 ?2次下載
    應用<b class='flag-5'>密碼學</b>的資料概述

    區塊鏈密碼學的基礎內容介紹

    密碼學是數學和計算機科學的分支,同時其原理大量涉及信息論。密碼學不只關注信息保密問題,還同時涉及信息完整性驗證(消息驗證碼)、信息發布的不可抵賴性(數字簽名)、以及在分布式計算中產生的來源于內部和外部的攻擊的所有信息安全問題。
    發表于 05-08 10:33 ?1234次閱讀

    區塊鏈技術的基石密碼學探討

    越來越顯得重要。它已不僅僅局限于使用在軍事、政治和外交方面,而更多的是與人們的生活息息相關:如人們在進行網上購物,與商務交流,使用信用卡等等,都需要密碼學知識來保護人們的個人信息和隱私,當然對于我們關注的區塊鏈技術,密碼學作為
    發表于 07-12 10:35 ?1130次閱讀

    密碼學OpenSSL的入門基礎知識整理合集

    本文是使用 OpenSSL 的密碼學基礎知識的兩篇文章中的第一篇,OpenSSL 是在 Linux 和其他系統上流行的生產級庫和工具包。(要安裝 OpenSSL 的最新版本,請參閱 這里
    的頭像 發表于 02-07 15:29 ?3749次閱讀
    <b class='flag-5'>密碼學</b>OpenSSL的入門<b class='flag-5'>基礎知識</b>整理合集

    密碼學貨幣錢包的發展方向分析

    錢包是密碼學貨幣世界里重要的基礎設施。所有跟密碼學貨幣相關的操作,包括買賣密碼學貨幣、持有密碼學貨幣、轉賬,乃至質押獲利(staking),多多少少都跟錢包相關。
    發表于 02-22 18:20 ?916次閱讀

    區塊鏈在密碼學中的應用及技術綜述

    區塊鏈在密碼學中的應用及技術綜述
    發表于 06-25 15:06 ?12次下載

    基礎密碼學的概念介紹

    密碼學和信息安全在如今的互聯網行業當中非常重要,相關的理論知識和算法也在計算機系統的方方面面都被用到。雖然我們不一定會從事安全相關的工作,但對密碼學以及信息安全的基本知識和概念有所了解
    的頭像 發表于 08-10 14:32 ?1547次閱讀

    是什么讓密碼學更容易?安全認證器和協處理器

    密碼學提供了針對安全威脅的強大保護,但并非每個嵌入式設計人員都是密碼學專家。為了給產品開發工程師提供一條快速了解該主題基礎知識的途徑,我們創建了一本密碼學手冊,其中包含一系列采用工程而
    的頭像 發表于 06-27 17:24 ?792次閱讀
    是什么讓<b class='flag-5'>密碼學</b>更容易?安全認證器和協處理器

    密碼學基本原理(上)

    電子發燒友網站提供《密碼學基本原理(上).pdf》資料免費下載
    發表于 08-02 09:13 ?1次下載
    <b class='flag-5'>密碼學</b>基本原理(上)

    密碼學原理的應用

    電子發燒友網站提供《密碼學原理的應用.pdf》資料免費下載
    發表于 08-02 10:28 ?0次下載
    <b class='flag-5'>密碼學</b>原理的應用
    大发888娱乐场优惠| 百家乐官网倍投软件| 大发888 zhidu| 百家乐高手论坮| 赌博百家乐官网赢不了| 百家乐代理打| 百家乐官网路单破| 网上娱乐城注册送现金| 百家乐娱乐城彩金| 百家乐官网压分技巧| 水果机技巧| 百家乐软件骗人吗| 足球百家乐官网网上投注| 大庆冠通棋牌下载| 百家乐沙| 百家乐官网赌场赌场网站| 外围赌球| 威尼斯人娱乐城可靠吗| 百家乐官网是娱乐场| 百家乐官网娱乐城新闻| 大发888黄金版下载| 新加坡百家乐赌法| 名人百家乐官网的玩法技巧和规则| 通州市| 威尼斯人娱乐场内幕| 百家乐娱乐城主页| 正品百家乐官网游戏| 根河市| 百家乐必赢外挂软件| 百家乐官网必胜打| 百家乐官网平台导航| 赌博技术| 大发888吧| 百家乐任你博娱乐场| 凱旋門百家乐官网娱乐城| 百家乐官网缆法排行榜| 凤凰县| 大发888手机真钱游戏| 广发百家乐的玩法技巧和规则| 百家乐知敌便能制胜| 百家乐官网任你博娱乐场开户注册|