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

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 加密算法

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

相关文章
|
15天前
|
存储 算法 安全
控制局域网上网软件之 Python 字典树算法解析
控制局域网上网软件在现代网络管理中至关重要,用于控制设备的上网行为和访问权限。本文聚焦于字典树(Trie Tree)算法的应用,详细阐述其原理、优势及实现。通过字典树,软件能高效进行关键词匹配和过滤,提升系统性能。文中还提供了Python代码示例,展示了字典树在网址过滤和关键词屏蔽中的具体应用,为局域网的安全和管理提供有力支持。
47 17
|
19天前
|
算法 搜索推荐 Java
【潜意识Java】深度解析黑马项目《苍穹外卖》与蓝桥杯算法的结合问题
本文探讨了如何将算法学习与实际项目相结合,以提升编程竞赛中的解题能力。通过《苍穹外卖》项目,介绍了订单配送路径规划(基于动态规划解决旅行商问题)和商品推荐系统(基于贪心算法)。这些实例不仅展示了算法在实际业务中的应用,还帮助读者更好地准备蓝桥杯等编程竞赛。结合具体代码实现和解析,文章详细说明了如何运用算法优化项目功能,提高解决问题的能力。
54 6
|
2月前
|
域名解析 负载均衡 安全
DNS技术标准趋势和安全研究
本文探讨了互联网域名基础设施的结构性安全风险,由清华大学段教授团队多年研究总结。文章指出,DNS系统的安全性不仅受代码实现影响,更源于其设计、实现、运营及治理中的固有缺陷。主要风险包括协议设计缺陷(如明文传输)、生态演进隐患(如单点故障增加)和薄弱的信任关系(如威胁情报被操纵)。团队通过多项研究揭示了这些深层次问题,并呼吁构建更加可信的DNS基础设施,以保障全球互联网的安全稳定运行。
|
2月前
|
存储 算法 安全
基于红黑树的局域网上网行为控制C++ 算法解析
在当今网络环境中,局域网上网行为控制对企业和学校至关重要。本文探讨了一种基于红黑树数据结构的高效算法,用于管理用户的上网行为,如IP地址、上网时长、访问网站类别和流量使用情况。通过红黑树的自平衡特性,确保了高效的查找、插入和删除操作。文中提供了C++代码示例,展示了如何实现该算法,并强调其在网络管理中的应用价值。
|
2月前
|
机器学习/深度学习 人工智能 算法
深入解析图神经网络:Graph Transformer的算法基础与工程实践
Graph Transformer是一种结合了Transformer自注意力机制与图神经网络(GNNs)特点的神经网络模型,专为处理图结构数据而设计。它通过改进的数据表示方法、自注意力机制、拉普拉斯位置编码、消息传递与聚合机制等核心技术,实现了对图中节点间关系信息的高效处理及长程依赖关系的捕捉,显著提升了图相关任务的性能。本文详细解析了Graph Transformer的技术原理、实现细节及应用场景,并通过图书推荐系统的实例,展示了其在实际问题解决中的强大能力。
257 30
|
2月前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
2月前
|
存储 监控 算法
企业内网监控系统中基于哈希表的 C# 算法解析
在企业内网监控系统中,哈希表作为一种高效的数据结构,能够快速处理大量网络连接和用户操作记录,确保网络安全与效率。通过C#代码示例展示了如何使用哈希表存储和管理用户的登录时间、访问IP及操作行为等信息,实现快速的查找、插入和删除操作。哈希表的应用显著提升了系统的实时性和准确性,尽管存在哈希冲突等问题,但通过合理设计哈希函数和冲突解决策略,可以确保系统稳定运行,为企业提供有力的安全保障。
|
3月前
|
安全 物联网 物联网安全
揭秘区块链技术在物联网(IoT)安全中的革新应用
揭秘区块链技术在物联网(IoT)安全中的革新应用
|
2月前
|
存储 算法
深入解析PID控制算法:从理论到实践的完整指南
前言 大家好,今天我们介绍一下经典控制理论中的PID控制算法,并着重讲解该算法的编码实现,为实现后续的倒立摆样例内容做准备。 众所周知,掌握了 PID ,就相当于进入了控制工程的大门,也能为更高阶的控制理论学习打下基础。 在很多的自动化控制领域。都会遇到PID控制算法,这种算法具有很好的控制模式,可以让系统具有很好的鲁棒性。 基本介绍 PID 深入理解 (1)闭环控制系统:讲解 PID 之前,我们先解释什么是闭环控制系统。简单说就是一个有输入有输出的系统,输入能影响输出。一般情况下,人们也称输出为反馈,因此也叫闭环反馈控制系统。比如恒温水池,输入就是加热功率,输出就是水温度;比如冷库,
471 15
|
2月前
|
SQL 安全 算法
网络安全之盾:漏洞防御与加密技术解析
在数字时代的浪潮中,网络安全和信息安全成为维护个人隐私和企业资产的重要防线。本文将深入探讨网络安全的薄弱环节—漏洞,并分析如何通过加密技术来加固这道防线。文章还将分享提升安全意识的重要性,以预防潜在的网络威胁,确保数据的安全与隐私。
88 2

推荐镜像

更多