加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • Part 01● 什么是加密算法 ●
    • Part 02● 不可逆算法 ●
    • Part 03● 可逆算法 ●
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

五分钟技术趣谈 | 浅谈加密算法

2023/10/16
2425
阅读需 8 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

作者:周世芬,单位:中国移动智慧家庭运营中心

加密算法是现在每个软件项目里必须用到的技术。应用场景包括了用户登入、交易、信息通讯、oauth 等等,不同的应用场景也会需要使用到不同的签名加密算法,本文将简单介绍几种常见的加密算法。

Part 01 什么是加密算法 

加密算法是一种密码学算法,就是指将信息变成密文的加密技术,加密算法可以实现对数据所属方的隐私保护,并在保护隐私的前提下,实现数据的匿踪共享。通过加密算法可以达到:数据保密性,防止用户数据被窃取或泄露; 数据完整性,防止用户传输的数据被篡改;通信双方身份确认,确保数据来源合法的功能。

常见加密算法分为不可逆算法和可逆算法,其中可逆算法分为对称加密和非对称加密算法,整体加密算法分类如图1所示。

图 1

Part 02● 不可逆算法 

不可逆算法的加密是不可逆的,加密后的密文是无法被还原成原文。其中散列算法,就是一种不可逆算法。

散列算法是指明文通过散列算法生成散列值,散列值是长度固定的数据,和明文长度无关,算法过程如图2所示。常见散列算法的具体实现有很多种,例如MD5、SHA1、SHA-224、SHA-256等等。散列算法是不需要密钥的,当然也存在一些其他不可逆算法是需要密钥的,例如HMAC算法。

图 2

1、MD5,全称为“Message-Digest Algorithm 5”,翻译过来叫“信息摘要算法”。它可以将任意长度的数据通过散列算法,生成一个固定长度的散列值。MD5算法的输出长度为128位,通常用32个16进制数表示。MD5有一些优点,比如计算速度快、输出长度固定、应用广泛等等。但是作为一个加密算法,它有一个天大的缺点,那就是不安全。目前MD5算法已经被攻破,而且MD5算法的输出长度有限,攻击者可以通过暴力破解或彩虹表攻击等方式,找到与原始数据相同的散列值,从而破解数据。虽然可以通过加盐,也就是对在原文里再加上一些不固定的字符串来缓解,但是完全可以用更安全的SHA系列算法替代。

2、SHA(Secure Hash Algorithm)系列算法是一组密码散列函数,用于将任意长度的数据映射为固定长度的散列值。SHA系列算法由美国国家安全局(NSA)于1993年设计,目前共有SHA-1、SHA-2、SHA-3三种版本。其中SHA-1系列存在缺陷,已经不再被推荐使用。SHA-2算法包括SHA-224、SHA-256、SHA-384和SHA-512四种散列函数,分别将任意长度的数据映射为224位、256位、384位和512位的散列值。

3、上述两种算法,SHA-2算法比MD5强,主要有两个原因:

(1)散列值长度更长:例如SHA-256算法的散列值长度为256位,而MD5算法的散列值长度为128位,这就提高了攻击者暴力破解或者彩虹表攻击的难度。

(2)更强的碰撞抗性:SHA算法采用了更复杂的运算过程和更多的轮次,使得攻击者更难以通过预计算或巧合找到碰撞。

Part 03● 可逆算法 

可逆算法分为对称加密算法非对称加密算法两种。

对称加密算法

对称加密算法的加密和解密过程使用的是相同的密钥,因此密钥的安全性至关重要。如果密钥泄露,攻击者可以轻易地破解加密数据。

对称加密的原理如图3所示,通信的双方约定好使用统一的加密解密算法,以及一个salt盐作为唯一标识,发送数据前先试用加密算法和salt经过加密函数处理得到密文,接受方收到密文后使用解密算法+salt对密文解密得到明文再处理。

图 3

常见的对称加密算法包括DES、3DES、AES等。其中,AES算法是目前使用最广泛的对称加密算法之一,具有比较高的安全性和加密效率。

(1)AES(Advanced Encryption Standard)即高级加密标准,是一种对称加密算法,被广泛应用于数据加密和保护领域。AES算法使用的密钥长度为128位、192位或256位,比DES算法的密钥长度更长,安全性更高。AES算法采用的密钥长度更长,密钥空间更大,安全性更高,能够有效地抵抗暴力破解攻击。当然,因为密钥长度较长,需要的存储也更多。

(2)DES(Data Encryption Standard)算法是最早的一种广泛应用的对称加密算法之一。DES算法使用56位密钥对数据进行加密,加密过程中使用了置换、替换、异或等运算,具有较高的安全性。速度较快,但是在安全性上面并不是最优选择,因为DES算法的密钥长度比较短,被暴力破解和差分攻击的风险比较高,一般推荐用一些更安全的对称加密算法,比如3DES、AES等。

非对称加密算法

非对称加密算法需要两个密钥,这两个密钥互不相同,但是相互匹配,一个称为公钥,另一个称为私钥。使用其中的一个加密,则使用另一个进行解密。具有如下特点:

(1)使用公钥加密的数据只有私钥才能解密,公钥自己是解密不了的。

(2)使用私钥加密的数据只有公钥才能解密,私钥自己是解密不了的。

(3)服务端同时持有公钥和私钥(不会给任何人)。

(4)服务端要跟谁通信就把自己的公钥给它。

图 4

RSA算法是是目前应用最广泛的非对称加密算法,该算法的优点是安全性高,公钥可以公开,私钥必须保密,保证了数据的安全性;可用于数字签名、密钥协商等多种应用场景。缺点是加密、解密速度较慢,密钥长度越长,加密、解密时间越长;密钥长度过短容易被暴力破解,密钥长度过长则会增加计算量和存储空间的开销。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
KSZ8873MMLI 1 Microchip Technology Inc DATACOM, LAN SWITCHING CIRCUIT, PQFP64
$15.24 查看
BT121-A-V2 1 Silicon Laboratories Inc Telecom Circuit, 1-Func, MODULE-33

ECAD模型

下载ECAD模型
$27.77 查看
LAN8710AI-EZK-ABC 1 Microchip Technology Inc Ethernet Transceiver

ECAD模型

下载ECAD模型
$1.54 查看
中国移动

中国移动

中国移动有限公司(「本公司」,包括子公司合称为「本集团」)于1997年9月3日在香港成立,本集团在中国内地所有三十一个省、自治区、直辖市以及香港特别行政区提供通信和信息服务,业务主要涵盖个人、家庭、政企和新兴市场的语音、数据、宽带、专线、IDC、云计算、物联网等,是中国内地最大的通信和信息服务供应商,亦是全球网络和客户规模最大、盈利能力领先、市值排名位居前列的世界级通信和信息运营商。

中国移动有限公司(「本公司」,包括子公司合称为「本集团」)于1997年9月3日在香港成立,本集团在中国内地所有三十一个省、自治区、直辖市以及香港特别行政区提供通信和信息服务,业务主要涵盖个人、家庭、政企和新兴市场的语音、数据、宽带、专线、IDC、云计算、物联网等,是中国内地最大的通信和信息服务供应商,亦是全球网络和客户规模最大、盈利能力领先、市值排名位居前列的世界级通信和信息运营商。收起

查看更多

相关推荐

电子产业图谱

移动Labs是中国移动的社交化新媒体平台,是面向外部行业及产业链合作伙伴的信息发布、业务发展和产业推进门户。