【IoT】加密与安全:几种常用安全加密算法原理与用途解析

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 加密算法

1、常用的加密算法分类

常见的加密算法可以分成五类:

对称加密算法、非对称加密算法和、Hash 算法(也称摘要算法)、数字签名(Hash&RSA)和数字证书(Hash&RSA&CA)。

1)对称加密算法

指加密和解密使用相同密钥的加密算法。

对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。

假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要 2 个密钥并交换使用,如果企业内用户有 n 个,则整个企业共需要 n×(n-1) 个密钥,密钥的生成和分发将成为企业信息部门的恶梦。

对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去——如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档。

常见的对称加密算法:

DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6 和 AES

对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:

DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;

3DES(Triple DES):是基于 DES,但强度更高;

AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高。

2)非对称加密算法

指加密和解密使用不同密钥的加密算法,也称为公私钥加密。

假设两个用户要加密交换数据,双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。

如果企业中有 n 个用户,企业需要生成 n 对密钥,并分发 n 个公钥。由于公钥是可以公开的,用户只要保管好自己的私钥即可,因此加密密钥的分发将变得十分简单。

同时,由于每个用户的私钥是唯一的,其他用户除了可以可以通过信息发送者的公钥来验证信息的来源是否真实,还可以确保发送者无法否认曾发送过该信息。

非对称加密的缺点是加解密速度要远远慢于对称加密,在某些极端情况下,甚至能比非对称加密慢上 1000 倍。

常见的非对称加密算法:

RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)

RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;

DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);

ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。

ECC 和 RSA 相比,在许多方面都有对绝对的优势,主要体现在以下方面:

抗攻击性强:相同的密钥长度,其抗攻击性要强很多倍;

计算量小,处理速度快,ECC 总的速度比 RSA、DSA 要快得多;

存储空间占用小,ECC 的密钥尺寸和系统参数与 RSA、DSA 相比要小得多,意味着它所占的存贮空间要小得多,这对于加密算法在 IC 卡上的应用具有特别重要的意义;

带宽要求低,当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时 ECC 带宽要求却低得多,带宽要求低使 ECC 在无线网络领域具有广泛的应用前景。

3)Hash 算法

Hash 算法特别的地方在于它是一种单向算法,用户可以通过 Hash 算法对目标信息生成一段特定长度的唯一的 Hash 值,却不能通过这个 Hash 值重新获得目标信息。

Hash(明文)--> 固定长度的摘要

因此 Hash 算法常用在不可还原的密码存储、信息完整性校验等。

特点:

无论明文多长,计算出来的摘要长度总是固定的。hash(‘a’)和hash(‘aaaaaaaaaaa’)形成的摘要长度是一样的;

一般明文不同,计算出来的摘要也不同。也就是相同的明文,计算出来的摘要是一样的,不同的明文形成的摘要一般是不一样(好的 Hash 函数不会发生碰撞);

只能进行正向的消息摘要,也就是说从消息摘要中不能恢复成原来的明文。

常见的 Hash 算法:

MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1

4)数字签名:将明文进行摘要,然后再通过私钥进行加密的结果

MD5&RSA 算法和 SHA1&RSA 算法

A 给 B 发送信息,A 生成公钥和私钥并将公钥公开;

A 对发送消息进行数字摘要算法(Hash),然后再通过私钥进行加密;

A 将明文和加密后的密文发送给 B;

B 收到后,对密文用公钥进行解密,获得数据 C,再对明文进行摘要算法,获得数据 D,然后对比 C 和 D,这样就能确认 A 的身份。

B 收到 A 的文件,B 想确认是 A 发送的,那么可以根据数字签名方式,根据 A 的公钥进行解密然后比较,因为 A 的私钥是不公开的,这样匹配成功就能确认是 A 发送的。

5)数字证书

A 给 B 发送消息,A生 成公钥和私钥;

A 将公钥、公钥持有者、签名算法和过期时间等信息发送给 CA(数字证书认证机构);

CA 认可信息之后,通过 CA 的私钥进行签名,这时候数字证书就产生了;

接着 A 将明文、明文数字签名和数字证书一起发送给 B;

B 接受到后,通过 CA 的公钥进行解密,进行第一次校验,校验数字证书;

验证成功后,进行第二次检验,提取数字证书中的公钥,对密文进行解密。

在数字签名的基础上,再发送一个数字证书,这样的话接收方不需要维护一个公钥库,通过 CA 验证后在数字证书提取,获得公钥。

总结:

加密算法的效能通常可以按照算法本身的复杂程度、密钥长度(密钥越长越安全)和加解密速度等来衡量。

上述的算法中,除了 DES 密钥长度不够、MD2 速度较慢已逐渐被淘汰外,其他算法仍在目前的加密系统产品中使用。

2、加密算法的选择

1)由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度;

2)对称加密算法不能实现签名,因此签名只能非对称算法;

3)由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。

4)在实际的操作过程中,我们通常采用的方式是:

采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。

3、如何选择采用多少位的密钥

一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,一般来说,RSA 建议采用 1024 位的数字,ECC 建议采用 160 位,AES 采用 128 为即可,对于安全性较高的场合需要使用相应长度的秘钥。

4、加密算法应用

1)保密通信:

保密通信是密码学产生的动因,使用公私钥密码体制进行保密通信时,信息接收者只有知道对应的密钥才可以解密该信息。

2)数字签名:

数字签名技术可以代替传统的手写签名,而且从安全的角度考虑,数字签名具有很好的防伪造功能,在政府机关、军事领域、商业领域有广泛的应用环境。

3)秘密共享:

秘密共享技术是指将一个秘密信息利用密码技术分拆成 n 个称为共享因子的信息,分发给 n 个成员,只有 k(k≤n) 个合法成员的共享因子才可以恢复该秘密信息,其中任何一个或 m(m≤k) 个成员合作都不知道该秘密信息。

利用秘密共享技术可以控制任何需要多个人共同控制的秘密信息、命令等。

4)认证功能:

在公开的信道上进行敏感信息的传输,采用签名技术实现对消息的真实性、完整性进行验证,通过验证公钥证书实现对通信主体的身份验证。

5)密钥管理:

密钥是保密系统中更为脆弱而重要的环节,公钥密码体制是解决密钥管理工作的有力工具;

利用公钥密码体制进行密钥协商和产生,保密通信双方不需要事先共享秘密信息;

利用公钥密码体制进行密钥分发、保护、密钥托管、密钥恢复等。

6)基于公钥密码体制可以实现以上通用功能以外,还可以设计实现以下的系统:

安全电子商务系统、电子现金系统、电子选举系统、电子招投标系统、电子彩票系统等。

卫朋

人人都是产品经理受邀专栏作家,CSDN 嵌入式领域新星创作者、资深技术博主。2020 年 8 月开始写产品相关内容,截至目前,人人都是产品经理单渠道阅读 56 万+,鸟哥笔记单渠道阅读200 万+,CSDN 单渠道阅读 210 万+,51CTO单渠道阅读 180 万+。

卫朋入围2021/2022年人人都是产品经理平台年度作者,光环国际学习社区首批原创者、知识合作伙伴,商业新知 2021 年度产品十佳创作者,腾讯调研云2022年达人榜第三名。

文章被人人都是产品经理、CSDN、华为云、运营派、产品壹佰、鸟哥笔记、光环国际、商业新知、腾讯调研云等头部垂直类媒体转载。文章见仁见智,各位看官可策略性选择对于自己有用的部分。

相关文章
|
9月前
|
存储 人工智能 算法
从零掌握贪心算法Java版:LeetCode 10题实战解析(上)
在算法世界里,有一种思想如同生活中的"见好就收"——每次做出当前看来最优的选择,寄希望于通过局部最优达成全局最优。这种思想就是贪心算法,它以其简洁高效的特点,成为解决最优问题的利器。今天我们就来系统学习贪心算法的核心思想,并通过10道LeetCode经典题目实战演练,带你掌握这种"步步为营"的解题思维。
|
9月前
|
监控 安全 算法
137_安全强化:输入过滤与水印 - 实现输出水印的检测算法与LLM安全防护最佳实践
随着大语言模型(LLM)在各行业的广泛应用,安全问题日益凸显。从提示注入攻击到恶意输出生成,从知识产权保护到内容溯源,LLM安全已成为部署和应用过程中不可忽视的关键环节。在2025年的LLM技术生态中,输入过滤和输出水印已成为两大核心安全技术,它们共同构建了LLM服务的安全防护体系。
838 148
|
10月前
|
机器学习/深度学习 人工智能 搜索推荐
从零构建短视频推荐系统:双塔算法架构解析与代码实现
短视频推荐看似“读心”,实则依赖双塔推荐系统:用户塔与物品塔分别将行为与内容编码为向量,通过相似度匹配实现精准推送。本文解析其架构原理、技术实现与工程挑战,揭秘抖音等平台如何用AI抓住你的注意力。
2531 7
从零构建短视频推荐系统:双塔算法架构解析与代码实现
|
10月前
|
存储 算法 安全
即时通讯安全篇(三):一文读懂常用加解密算法与网络通讯安全
作为开发者,也会经常遇到用户对数据安全的需求,当我们碰到了这些需求后如何解决,如何何种方式保证数据安全,哪种方式最有效,这些问题经常困惑着我们。52im社区本次着重整理了常见的通讯安全问题和加解密算法知识与即时通讯/IM开发同行们一起分享和学习。
587 9
|
10月前
|
机器学习/深度学习 存储 算法
动态规划算法深度解析:0-1背包问题
0-1背包问题是经典的组合优化问题,目标是在给定物品重量和价值及背包容量限制下,选取物品使得总价值最大化且每个物品仅能被选一次。该问题通常采用动态规划方法解决,通过构建二维状态表dp[i][j]记录前i个物品在容量j时的最大价值,利用状态转移方程避免重复计算子问题,从而高效求解最优解。
962 1
|
10月前
|
算法 搜索推荐 Java
贪心算法:部分背包问题深度解析
该Java代码基于贪心算法求解分数背包问题,通过按单位价值降序排序,优先装入高价值物品,并支持部分装入。核心包括冒泡排序优化、分阶段装入策略及精度控制,体现贪心选择性质,适用于可分割资源的最优化场景。
509 1
贪心算法:部分背包问题深度解析
|
10月前
|
机器学习/深度学习 边缘计算 人工智能
粒子群算法模型深度解析与实战应用
蒋星熠Jaxonic是一位深耕智能优化算法领域多年的技术探索者,专注于粒子群优化(PSO)算法的研究与应用。他深入剖析了PSO的数学模型、核心公式及实现方法,并通过大量实践验证了其在神经网络优化、工程设计等复杂问题上的卓越性能。本文全面展示了PSO的理论基础、改进策略与前沿发展方向,为读者提供了一份详尽的技术指南。
粒子群算法模型深度解析与实战应用
|
10月前
|
机器学习/深度学习 资源调度 算法
遗传算法模型深度解析与实战应用
摘要 遗传算法(GA)作为一种受生物进化启发的优化算法,在复杂问题求解中展现出独特优势。本文系统介绍了GA的核心理论、实现细节和应用经验。算法通过模拟自然选择机制,利用选择、交叉、变异三大操作在解空间中进行全局搜索。与梯度下降等传统方法相比,GA不依赖目标函数的连续性或可微性,特别适合处理离散优化、多目标优化等复杂问题。文中详细阐述了染色体编码、适应度函数设计、遗传操作实现等关键技术,并提供了Python代码实现示例。实践表明,GA的成功应用关键在于平衡探索与开发,通过精心调参维持种群多样性同时确保收敛效率
机器学习/深度学习 算法 自动驾驶
1486 0

热门文章

最新文章

推荐镜像

更多
  • DNS