0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

加密算法如何保护嵌入式设计

星星科技指导员 来源:ADI 作者:ADI 2023-06-28 10:16 次阅读

密码学与用于实现它的算法一样强大。在现代密码学中,我们拥有基本的XOR函数,以及当今许多应用程序中使用的更复杂的算法。在这篇博文中,我将概述一些关键算法,包括安全哈希算法和 AES 算法。

让我们从定义 XOR(独占或)开始讨论,这是一种重要的逻辑操作,在许多(如果不是全部)加密算法中以各种身份使用。图 1 显示了此函数的工作原理。在深入研究算法之前,您需要了解此函数。

wKgaomSbo9WAeMsHAAGolcKhB0I873.png


图1.此图显示了 XOR 函数的工作原理。

由于 XOR 的属性,其中一个输入可以用作进入另一个输入的数据的键。例如,如果 A 是加密密钥的单个位,则具有来自 B 的数据位的 XOR 在 A 为 1 时翻转该位。这可以通过再次使用密钥对加密结果进行按位 XOR 来逆转。

现在,让我们更详细地介绍安全哈希算法或 SHA。安全哈希函数获取可变大小的数据,并将其压缩为固定大小的位字符串输出,这一概念称为哈希。SHA 函数是一系列哈希算法,通过 NIST(美国国家标准与技术研究院)的监督随着时间的推移而开发。SHA-3功能是最新的。

在接下来的部分中,我们将探讨 SHA 函数的工作原理,重点是 SHA-2 和 SHA-3。(SHA-1正在逐步淘汰,不建议用于任何新设计。

SHA-2 函数根据输出位长度有四种主要类型:

SHA-224 – 哈希长度为 224 位。

SHA-256 – 哈希长度为 256 位。

SHA-384 – 哈希长度为 384 位。

SHA-512 – 哈希长度为 512 位。

SHA-3 函数没有预定义的输出长度。输入和输出长度也没有最大值。但为了与 SHA-2 进行比较,让我们根据输出位长度定义四种主要类型。这些是:

SHA3-224 – 哈希长度为 224 位。

SHA3-256 – 哈希长度为 256 位。

SHA3-384 – 哈希长度为 384 位。

SHA3-512 – 哈希长度为 512 位。

让我们以 SHA3-256 为例。SHA-3使用Keccak海绵功能。就像海绵一样,第一步吸收或吸收输入信息。在下一阶段,输出哈希被挤出。图 2 是 SHA3-256 函数的框

wKgZomSbo9yATIN_AAH-N5PYZoc440.png


图2.此图显示了用于安全哈希生成的 SHA3-256 函数的框图。

图 2 中的迭代函数接收 1600 位数据,然后使用特定算法对其进行 24 轮排列,然后将其作为 1600 位块传递到下一阶段。这种情况一直持续到吸收阶段完成。

吸收阶段完成后,最后一个 1600 位块将传递到压缩阶段。在这种情况下,由于 SHA3-256 输出哈希长度小于 1088 位,因此压缩阶段不需要任何迭代函数。我们从最后阶段获取前 256 位,这就是输出哈希。

例如,如果所需的哈希长度为 2500 位,我们将需要迭代函数的三个实例才能获得所需的长度哈希。

还有基于加密标准的算法,例如高级加密标准算法。AES 算法以可逆的方式根据输入密钥的值对输入数据进行加扰和替换,从而产生所谓的密文。由于 AES 算法是一种固定宽度的加密算法,因此首先填充输入消息以确保它完全适合“n”个 128 位块。

每个 128 位块与加密密钥一起输入加密算法。根据加密密钥中的位数,AES 算法执行一定数量的回合来掩盖输入块位。这种模糊是通过打乱数据位、获取部分数据并用查找表(如解码器轮)中的值替换它们来实现的,然后执行 XOR 操作以根据从输入加密密钥生成的一组“圆形密钥”中的位值将位从 0 翻转为 1。轮次密钥用于其中一个模糊轮次,并通过复制位并将副本插入其他位来“扩展”加密密钥的一部分来创建。

AES解密功能只是使用相同的加密密钥执行与加密功能中的操作相反的操作,以便对原始输入块数据进行解密。

这些只是为提供设计安全性而出现的一些加密算法。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 密钥
    +关注

    关注

    1

    文章

    138

    浏览量

    19754
  • AES
    AES
    +关注

    关注

    0

    文章

    103

    浏览量

    33225
收藏 人收藏

    评论

    相关推荐

    嵌入式加密芯片的理解

    掌握专门语言及通讯协议,开发简单方便硬件结构设计简单,用户可以轻松地将芯片集成到应用中内置多种传感器,支持多种加密算法。此款芯片可以有效保护嵌入式产品的安全.更多技术问题可以联系QQ:1206287085
    发表于 02-11 10:29

    汽车遥控加密算法

    本人在公司主要做国内整车厂的遥控器,主要是用keeloq,Hitag2 ,Hitag3 ,AES加密算法,想请教下论坛里的大牛,像奥迪,奔驰,宝马等豪车的遥控器用什么加密算法?
    发表于 02-17 21:04

    如何去实现DES加密算法

    DES算法的简单原理是什么?如何去实现DES加密算法
    发表于 04-26 07:14

    对称性加密算法

    对称性加密算法:对称加密就是加密和解密使用同一个密钥。信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行加解密了
    发表于 07-19 06:32

    DES加密算法是什么

    一、加密算法1、 DES加密算法DES数据加密标准,是一种使用密钥加密的块算法。DES中的密钥key为8个字节64位,但每第8个为校验位不参
    发表于 07-22 09:13

    对称加密算法是什么

    对称加密算法也叫私钥加密算法,其特征是收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。非对称加密算法也叫公钥加密算法。其特
    发表于 07-22 07:09

    软件加密算法都有哪些,这些算法在哪些方面得到了应用

    伴随着人工智能、物联网时代的到来,数据应用变得频繁起来,数据安全应该如何保护?软件加密算法都有哪些,这些算法在哪些方面得到了应用?慢慢读下去,你会发现围绕在我们身边的“小密码”。对称加密算法
    发表于 12-21 07:04

    浅谈对称加密算法与非对称密钥加密算法

    什么是对称密钥密码体制?对称密钥密码体制的缺点是什么?非对称加密算法又是什么?非对称加密算法的缺点是什么?
    发表于 12-23 06:05

    嵌入式软件加密算法的相关资料分享

    嵌入式软件加密算法
    发表于 02-11 07:11

    labview md5加密算法.llb

    md5加密算法 md5加密算法 md5加密算法 md5加密算法
    发表于 05-25 14:25 111次下载

    常见公钥加密算法有哪些

    RSA、ElGamal、背包算法、Rabin(Rabin的加密法可以说是RSA方法的特例)、Diffie-Hellman (D-H) 密钥交换协议中的公钥加密算法、Elliptic Curve
    发表于 12-10 09:41 4.4w次阅读

    举例几种常见的加密算法

    今天主要总结下常用的对称性加密算法DES和AES,非对称性加密算法RSA。 01  DES加密算法 1.DES含义 DES全称为Data Encrypt
    的头像 发表于 04-28 13:52 2w次阅读
    举例几种常见的<b class='flag-5'>加密算法</b>

    Go常用的加密算法详细解读

    【导读】本文介绍了常用的加密算法,并对这些加密算法结合实际 golang 代码段进行了详细解读。 前言 加密解密在实际开发中应用比较广泛,常用加解密分为:“对称”、“非对称
    的头像 发表于 09-01 14:47 2985次阅读

    嵌入式的RSA非对称加密算法

    对称加密算法是应用较早的加密算法,数据发送方将明文和密钥经加密算法处理,使其变成密文发送出去;接收方收到密文后,使用和加密算法相同的密钥进行逆算法
    的头像 发表于 01-20 11:17 2101次阅读
    <b class='flag-5'>嵌入式</b>的RSA非对称<b class='flag-5'>加密算法</b>

    加密算法的选择对于加密安全有多重要?

    加密算法的选择对于加密安全至关重要,因为它直接影响到数据保护的有效性和可靠性。以下是几个关键点来说明加密算法选择的重要性: 加密强度:
    的头像 发表于 12-17 15:59 68次阅读