我们将分解两种主要类型的加密 - 对称和非对称 - 然后深入研究 5 种最常用的加密算法列表,以前所未有的方式简化它们
加密经常被指责为政治实体隐藏恐怖活动,是始终成为头条新闻的网络安全话题之一。任何对不同类型的加密有充分了解的人都可能会觉得对这种非凡的技术不公正,这是互联网安全和隐私的核心。加密是一种将数据转换为无法破译的格式的方法,以便只有授权方才能访问信息。
加密密钥与加密算法相结合,使加密过程成为可能。而且,根据这些密钥的应用方式,主要使用两种类型的加密方法:“对称加密”和“非对称加密”。这两种方法都使用不同的数学算法(即我们刚才提到的那些加密算法)来扰乱数据。此常见加密算法列表包括 RSA、ECC、3DES、AES 等。
在本文中,我们将了解对称和非对称加密及其用于加密数据的流行加密算法。
让我们讨论一下。
加密类型#1:对称加密
对称加密方法,顾名思义,使用单个加密密钥来加密和解密数据。对两个操作使用单个密钥使其成为一个简单的过程,因此称为“对称”。以下是对称加密工作原理的直观细分:
让我们通过一个简单的例子来了解对称加密过程:
有两个非常亲密的朋友,名叫鲍勃和爱丽丝住在纽约。出于某种原因,爱丽丝不得不搬出城市。他们彼此沟通的唯一方式是通过邮寄。但有一个问题:鲍勃和爱丽丝害怕有人能读到他们的信。
下载:证书生命周期管理 15 个最佳实践指南免费 PDF。
为了保护他们的字母免受某人的注意,他们决定以这样一种方式编写他们的消息,即消息的每个字母都被字母表中七个位置的字母替换。因此,他们不会写“Apple”,而是写“hwwsl”(A -> H,P -> W,L -> S,E -> L)。为了将数据恢复到原始形式,他们必须将字母替换在字母顺序上的七个位置。
当然,这对你来说可能听起来太简单了——事实确实如此。那是因为这种技术在几个世纪前被罗马皇帝和军事将领尤利乌斯·凯撒使用。这种方法被称为“凯撒的密码”,适用于字母替换技术。
今天的加密方法并没有那么简单。广泛使用的加密算法非常复杂,即使是许多超级计算机的综合计算能力也无法破解它们。这就是为什么我们可以放松并无后顾之忧地发送我们的信用卡信息。
是什么让对称加密成为一项伟大的技术
对称加密最突出的特点是其过程简单。这种加密的简单性在于使用单个密钥进行加密和解密。因此,对称加密算法:
- 比他们的非对称加密对应物快得多(我们将在稍后讨论),
- 需要更少的计算能力,并且
- 不要降低互联网速度。
这意味着,当有大量数据需要加密时,对称加密被证明是一个不错的选择。
3 种常见的对称加密算法类型
就像我们在凯撒的密码中看到的那样,每种加密方法背后都有特定的逻辑来扰乱数据。今天使用的加密方法依赖于高度复杂的数学函数,这使得几乎不可能破解它们。
您可能意识到也可能没有意识到的是,存在数百种对称密钥算法!一些最常见的加密方法包括AES,RC4,DES,3DES,RC5,RC6等。在这些算法中,DES 和 AES 算法是最知名的。虽然我们无法涵盖所有不同类型的加密算法,但让我们来看看三种最常见的。
1. DES对称加密算法
DES(数据加密标准)于1976年推出,是最古老的对称加密方法之一。它由IBM开发,用于保护敏感的非机密电子政府数据,并于1977年正式被联邦机构采用。DES使用56位加密密钥,它基于由名叫Horst Feistel的密码学家设计的Feistel结构。DES 加密算法是 TLS(传输层安全性)版本 1.0 和 1.1 中包含的算法之一。
DES 通过将 64 位明文数据块分成两个单独的 32 位块并独立地对每个块应用加密过程,将明文数据块转换为密文。这涉及 16 轮各种过程——例如扩展、排列、替换或使用圆形密钥的 XOR 操作——数据将在加密时经历这些过程。最终,生成 64 位加密文本块作为输出。
今天,DES不再使用,因为它被许多安全研究人员破解。2005 年,DES 被正式弃用,取而代之的是 AES 加密算法,我们稍后会讨论。DES 的最大缺点是其加密密钥长度低,这使得暴力破解变得容易。TLS 1.2是当今使用最广泛的TLS协议,不使用DES加密方法。
2. 3DES对称加密算法
3DES(也称为TDEA,代表三重数据加密算法),顾名思义,是已发布的DES算法的升级版本。3DES的开发是为了克服DES算法的缺点,并于1990年代后期投入使用。为此,它将 DES 算法应用于每个数据块三次。因此,这个过程使3DES比其前身DES更难破解。它也成为金融行业支付系统、标准和技术中广泛使用的加密算法。它也成为加密协议的一部分,如TLS,SSH,IPsec和OpenVPN。
所有加密算法最终都屈服于时间的力量,3DES 也不例外。研究人员Karthikeyan Bhargavan和Gaëtan Leurent发现的Sweet32漏洞消除了3DES算法中存在的安全漏洞。这一发现导致安全行业考虑弃用该算法,美国国家标准与技术研究院 (NIST) 在 2019 年发布的指南草案中宣布弃用。
根据该草案,3DES的使用将在2023年之后的所有新应用程序中取消。同样值得注意的是,SSL / TLS协议的最新标准TLS 1.3也停止了3DES的使用。
3. AES对称加密算法
AES代表“高级加密系统”,是最普遍使用的加密算法类型之一,是作为DES算法的替代品而开发的。AES也被称为Rijndael,在2001年获得NIST的批准后成为加密标准。与 DES 不同,AES 是一系列分组密码,由不同密钥长度和块大小的密码组成。
AES致力于替换和排列的方法。首先,将明文数据转换为块,然后使用加密密钥应用加密。加密过程由各种子过程组成,例如子字节、移位行、混合列和添加轮次键。根据密钥的大小,执行 10、12 或 14 次此类轮次。值得注意的是,最后一轮不包括为加密数据而执行的所有其他子流程中的混合列的子进程。
使用 AES 加密算法的优势
所有这些归结为AES是安全,快速和灵活的。与 DES 相比,AES 是一种更快的算法。多个密钥长度选项是您拥有的最大优势,因为密钥越长,破解它们的难度就越大。
今天,AES是使用最广泛的加密算法 - 它用于许多应用程序,包括:
- 无线安全,
- 处理器安全和文件加密,
- SSL/TLS 协议(网站安全),
- 无线网络安全,
- 移动应用加密,
- 大多数VPN(虚拟专用网络)等。
包括国家安全局 (NSA) 在内的许多政府机构都依靠 AES 加密算法来保护其敏感信息。
加密类型#2:非对称加密
与对称加密方法相比,非对称加密涉及用于加密和解密数据的多个密钥。非对称加密包含两个在数学上相互关联的不同加密密钥。其中一个密钥称为“公钥”,另一个称为“私钥”。因此,为什么非对称加密方法也被称为“公钥加密”。
正如我们在上面的例子中看到的,当Alice和Bob想要交换信息时,对称加密效果很好。但是,如果鲍勃想与数百人安全地通信怎么办?如果他为每个人使用不同的数学键,这是否可行?不是真的,因为那会有很多关键要玩杂耍。
为了解决这个问题,Bob 使用公钥加密,这意味着他将公钥提供给向他发送信息的每个人,并将私钥留给自己。他指示他们使用公钥加密信息,以便只能使用他拥有的私钥解密数据。这消除了密钥泄露的风险,因为数据只能使用 Bob 拥有的私钥进行解密。
是什么让非对称加密成为一项伟大的技术
这种类型的加密的第一个(也是最明显的)优点是它提供的安全性。在这种方法中,公钥(公开可用)用于加密数据,而数据的解密则使用需要安全存储的私钥完成。这可确保数据免受中间人 (MiTM) 攻击。对于每分钟连接到数十万个客户端的Web/电子邮件服务器来说,非对称加密无疑是一个福音,因为它们只需要管理和保护单个密钥。另一个关键点是公钥加密允许创建加密连接,而无需先离线交换密钥。
非对称加密提供的第二个关键功能是身份验证。正如我们所看到的,由公钥加密的数据只能使用与之相关的私钥解密。因此,它确保数据仅由应该接收它的实体查看和解密。简单来说,它验证您正在与您认为自己的人或组织交谈。
非对称加密算法的 2 种主要类型
1. RSA 非对称加密算法
RSA由Ron Rivest,Adi Shamir和Leonard Adleman(因此称为“RSA”)于1977年发明,是迄今为止使用最广泛的非对称加密算法。它的效力在于它所依赖的“素数分解”方法。基本上,这种方法涉及两个巨大的随机素数,这些数字相乘以创建另一个巨型数。这里的难题是从这个巨大的乘法数中确定原始素数。
事实证明,对于今天的超级计算机来说,这个难题几乎是不可能的——如果使用用足够的熵生成的正确密钥长度,更不用说人类了。2010年,一组研究人员进行了研究,他们花了1,500多年的计算时间(分布在数百台计算机上)来破解RSA-768位密钥 - 这远远低于当今使用的标准2048位RSA密钥。
使用 RSA 加密算法的优势
RSA 提供的一大优势是其可扩展性。它有各种加密密钥长度,例如 768 位、1024 位、2048 位、4096 位等。因此,即使成功暴力破解了较低的密钥长度,您也可以使用较高密钥长度的加密,因为暴力破解密钥的难度随着密钥长度的扩展而增加。
RSA 基于一种简单的数学方法,这就是为什么它在公钥基础结构 (PKI) 中的实现变得简单明了的原因。这种对PKI的适应性及其安全性使RSA成为当今使用最广泛的非对称加密算法。RSA 广泛用于许多应用程序,包括 SSL/TLS 证书、加密货币和电子邮件加密。
2. ECC非对称加密算法
1985年,两位名叫Neal Koblitz和Victor S. Miller的数学家提议在密码学中使用椭圆曲线。近二十年后,当ECC(椭圆曲线密码学)算法于2004-05年投入使用时,他们的想法变成了现实。
在 ECC 加密过程中,椭圆曲线表示满足数学方程 (y2= x3+ 斧头 + b)。
与RSA一样,ECC也遵循不可逆性原则。简而言之,在一个方向上计算它很容易,但要逆转它并到达原始点却非常困难。在 ECC 中,表示曲线上一个点的数字乘以另一个数字,并在曲线上给出另一个点。现在,要破解这个难题,您必须找出曲线上的新点。ECC的数学构建方式使得即使您知道原始点,也几乎不可能找出新点。