0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

密碼算法如何保護嵌入式設(shè)計

星星科技指導(dǎo)員 ? 來源:Maxim ? 作者:Zia A. Sardar ? 2022-05-27 17:09 ? 次閱讀

密碼學(xué)與用于實現(xiàn)它的算法一樣強大。在現(xiàn)代密碼學(xué)中,我們擁有基本的 XOR 函數(shù),以及當今許多應(yīng)用程序中使用的更復(fù)雜的算法。在這篇博文中,我將概述一些關(guān)鍵算法,包括安全哈希算法和 AES 算法。

讓我們通過定義 XOR(異或)開始我們的討論,這是一種在許多(如果不是全部)密碼算法中用于各種能力的重要邏輯運算。圖 1顯示了此功能的工作原理。在深入研究算法之前,您需要了解此功能。

pYYBAGKQli2ASIlJAAF154Y6FVQ228.png

圖 1. 該圖顯示了 XOR 函數(shù)的工作原理。

由于 XOR 的特性,一個輸入可以用作數(shù)據(jù)進入另一個輸入的鍵。例如,如果 A 是加密密鑰的單個位,如果 A 為 1,則與來自 B 的數(shù)據(jù)位的 XOR 會翻轉(zhuǎn)該位。這可以通過再次將加密結(jié)果與密鑰進行按位異或來反轉(zhuǎn)。

現(xiàn)在,讓我們更詳細地了解安全哈希算法或 SHA。安全散列函數(shù)獲取可變大小的數(shù)據(jù)并將其壓縮為固定大小的位串輸出——這個概念稱為散列。SHA 函數(shù)是一系列哈希算法,通過 NIST(美國國家標準與技術(shù)研究院)的監(jiān)督隨著時間的推移而開發(fā)。SHA-3 函數(shù)是最新的。

在接下來的部分中,我們將探討 SHA 函數(shù)的工作原理,重點是 SHA-2 和 SHA-3。(SHA-1 正在逐步淘汰,不推薦用于任何新設(shè)計。)

SHA-2 函數(shù)根據(jù)輸出位長有四種主要類型:

SHA-224 – 哈希是 224 位長。

SHA-256 – 哈希是 256 位長。

SHA-384 – 散列長度為 384 位。

SHA-512 – 哈希是 512 位長。

SHA-3 函數(shù)沒有預(yù)定義的輸出長度。輸入和輸出長度也沒有最大值。但是為了與 SHA-2 進行比較,讓我們根據(jù)輸出位長度定義四種主要類型。這些是:

SHA3-224 – 哈希是 224 位長。

SHA3-256 – 哈希是 256 位長。

SHA3-384 – 散列長度為 384 位。

SHA3-512 – 哈希是 512 位長。

讓我們以 SHA3-256 為例。SHA-3 使用 Keccak 海綿函數(shù)。就像海綿一樣,第一步會吸收或吸收輸入的信息。在下一階段,輸出哈希被擠出。圖 2是 SHA3-256 函數(shù)的框圖。

pYYBAGKQljOAIzNxAAKJlJCnUro076.png

圖 2. 該圖顯示了用于安全散列生成的 SHA3-256 函數(shù)的框圖。

圖 2 中的迭代函數(shù)接收 1600 位數(shù)據(jù),然后使用特定算法對其進行 24 輪置換,然后將其作為 1600 位塊傳遞到下一個階段。這一直持續(xù)到吸收階段完成。

吸收階段完成后,最后一個 1600 位塊被傳遞到擠壓階段。在這種情況下,由于 SHA3-256 輸出哈希長度小于 1088 位,因此壓縮階段不需要任何迭代函數(shù)。我們從最后階段獲取前 256 位,這就是輸出哈希。

例如,如果所需的散列長度為 2500 位,我們將需要三個以上迭代函數(shù)實例來獲得所需長度的散列。

還有一些基于加密標準的算法,例如高級加密標準算法。AES 算法根據(jù)輸入密鑰的值以可逆的方式對輸入數(shù)據(jù)進行加擾和替換,從而產(chǎn)生所謂的密文。由于 AES 算法是一種固定寬度的加密算法,因此首先填充輸入消息以確保它完全適合“n”個 128 位塊。

每個 128 位塊與加密密鑰一起輸入加密算法。根據(jù)加密密鑰中的位數(shù),AES 算法會執(zhí)行一定輪數(shù)的模糊輸入塊位。這種模糊化是通過混洗數(shù)據(jù)位、獲取部分數(shù)據(jù)并用查找表(如解碼輪)中的值替換它們以及執(zhí)行 XOR 操作以根據(jù)一組中的位值將位從 0 翻轉(zhuǎn)到 1 來實現(xiàn)的從輸入加密密鑰生成的“輪密鑰”。輪密鑰用于其中一個模糊輪,它是通過復(fù)制位并在其他位之間插入副本來“擴展”加密密鑰的一部分來創(chuàng)建的。

AES 解密函數(shù)使用相同的加密密鑰簡單地執(zhí)行加密函數(shù)中的操作的相反操作,以便對原始輸入塊數(shù)據(jù)進行解密。

這些只是為提供設(shè)計安全性而出現(xiàn)的一些加密算法。通過閱讀改編本博文的教程“密碼學(xué):深入了解算法”,了解有關(guān)其他人的更多信息(包括 RSA 公鑰密碼系統(tǒng)、橢圓曲線數(shù)字簽名算法和橢圓曲線 Diffie-Hellman 密鑰交換協(xié)議)。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • AES
    AES
    +關(guān)注

    關(guān)注

    0

    文章

    100

    瀏覽量

    33189
  • RSA
    RSA
    +關(guān)注

    關(guān)注

    0

    文章

    59

    瀏覽量

    18856
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式AES算法CBC模式

    嵌入式AES算法CBC模式
    發(fā)表于 08-18 07:28

    誠聘嵌入式算法工程師

    獵頭職位:嵌入式算法工程師【上?!抗ぷ髀氊?zé): 1.負責(zé)傳感器相關(guān)的圖像處理,模式識別,信號處理方面的算法開發(fā);2.驗證算法原型,并在嵌入式
    發(fā)表于 10-21 11:14

    如何設(shè)計嵌入式系統(tǒng)掉電保護方案?

    嵌入式系統(tǒng)設(shè)計過程中,系統(tǒng)的掉電保護越來越受到重視。如何設(shè)計嵌入式系統(tǒng)掉電保護方案?這個問題急需解決。
    發(fā)表于 08-09 07:48

    嵌入式小波編碼算法的原理是什么?

    Partitioned Embedded bloCK coder),可逆嵌入小波壓縮算法(CREW:Compression with Reversible Embedded Wavelets)[3] 。本文對這些算法進行了原理
    發(fā)表于 08-15 08:27

    使用安全IC保護IoT嵌入式設(shè)計

    控制,因此您可以安全地啟用和禁用各種基于工廠的選項安全IC繼續(xù)為現(xiàn)有以及新的嵌入式設(shè)計提供高級保護。使用這些設(shè)備進行設(shè)計的優(yōu)點之一是,您無需成為密碼專家就可以利用強大的密碼功能?;谲?/div>
    發(fā)表于 09-28 19:21

    嵌入式平臺安全啟動的相關(guān)資料下載

    嵌入式平臺安全啟動介紹在嵌入式中的安全啟動,第一要素是需要對鏡像進行保護,保證鏡像的安全性,防止鏡像被破解和篡改。為了保護這些鏡像,需要對啟動鏡像做加密或者簽名操作,如果鏡像被第三方修
    發(fā)表于 12-17 07:09

    嵌入式系統(tǒng)中語音算法的基本原理是什么

    嵌入式系統(tǒng)中語音算法的基本原理是什么?嵌入式系統(tǒng)中語音算法有何功能?
    發(fā)表于 12-23 08:49

    嵌入式開發(fā)的crc算法知識精選

    CRC校驗(循環(huán)冗余校驗)是數(shù)據(jù)通訊中最常采用的校驗方式。在嵌入式軟件開發(fā)中,經(jīng)常要用到CRC 算法對各種數(shù)據(jù)進行校驗。因此,掌握基本的CRC算法應(yīng)是嵌入式程序員的基本技能。可是,
    的頭像 發(fā)表于 11-08 11:28 ?4402次閱讀
    <b class='flag-5'>嵌入式</b>開發(fā)的crc<b class='flag-5'>算法</b>知識精選

    嵌入式系統(tǒng)中數(shù)字濾波的算法及軟件流程

    嵌入式系統(tǒng)中數(shù)字濾波的算法及軟件流程(嵌入式開發(fā)工具軟件是什么)-嵌入式系統(tǒng)中數(shù)字濾波的算法及軟件流程 ? ? ? ? ? ? ??
    發(fā)表于 07-30 12:45 ?15次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)中數(shù)字濾波的<b class='flag-5'>算法</b>及軟件流程

    基于KCF的目標跟蹤算法研究及嵌入式系統(tǒng)實現(xiàn)

    基于KCF的目標跟蹤算法研究及嵌入式系統(tǒng)實現(xiàn)(嵌入式開發(fā)公司如何接項目)-該文檔為基于KCF的目標跟蹤算法研究及嵌入式系統(tǒng)實現(xiàn)總結(jié)文檔,是一
    發(fā)表于 08-04 10:07 ?8次下載
    基于KCF的目標跟蹤<b class='flag-5'>算法</b>研究及<b class='flag-5'>嵌入式</b>系統(tǒng)實現(xiàn)

    不知道嵌入式Linux系統(tǒng)下的root密碼,修改新密碼并進入系統(tǒng)

    今天一朋友問不知道root 密碼怎么修改。他這個系統(tǒng)是海思平臺的嵌入式Linux系統(tǒng)。然后嘗試了修改并進入系統(tǒng)。嵌入式Linux中的root 密碼忘記了或者想破解別人系統(tǒng)的
    發(fā)表于 11-01 17:59 ?14次下載
    不知道<b class='flag-5'>嵌入式</b>Linux系統(tǒng)下的root<b class='flag-5'>密碼</b>,修改新<b class='flag-5'>密碼</b>并進入系統(tǒng)

    linux嵌入式系統(tǒng)算法,嵌入式Linux操作系統(tǒng)調(diào)度算法研究

    嵌入式Linux操作系統(tǒng)調(diào)度算法研究嵌入式操作系統(tǒng)在互聯(lián)網(wǎng)時代的今天得到廣泛應(yīng)用。Linux系統(tǒng)本身并不是嚴格的實時操作系統(tǒng)。為了提高它對實時任務(wù)的處理能力,國內(nèi)外對Linux進行了不斷的實時性能
    發(fā)表于 11-02 10:36 ?15次下載
    linux<b class='flag-5'>嵌入式</b>系統(tǒng)<b class='flag-5'>算法</b>,<b class='flag-5'>嵌入式</b>Linux操作系統(tǒng)調(diào)度<b class='flag-5'>算法</b>研究

    嵌入式的國家商用密碼SM算法

    數(shù)據(jù)加密和解密涉及的算法大致可分為以下三大類:單向散列算法(雜湊算法),對稱加密算法,公開密鑰加密算法(非對稱加密
    的頭像 發(fā)表于 01-20 11:26 ?2712次閱讀
    <b class='flag-5'>嵌入式</b>的國家商用<b class='flag-5'>密碼</b>SM<b class='flag-5'>算法</b>

    加密算法如何保護嵌入式設(shè)計

    密碼學(xué)與用于實現(xiàn)它的算法一樣強大。在現(xiàn)代密碼學(xué)中,我們擁有基本的XOR函數(shù),以及當今許多應(yīng)用程序中使用的更復(fù)雜的算法。在這篇博文中,我將概述一些關(guān)鍵
    的頭像 發(fā)表于 06-28 10:16 ?476次閱讀
    加密<b class='flag-5'>算法</b>如何<b class='flag-5'>保護</b><b class='flag-5'>嵌入式</b>設(shè)計

    深度學(xué)習(xí)算法嵌入式平臺上的部署

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)算法在各個領(lǐng)域的應(yīng)用日益廣泛。然而,將深度學(xué)習(xí)算法部署到資源受限的嵌入式平臺上,仍然是一個具有挑戰(zhàn)性的任務(wù)。本文將從嵌入式平臺的特點、深度學(xué)習(xí)
    的頭像 發(fā)表于 07-15 10:03 ?1097次閱讀