关于网络安全:探秘密码学深入了解对称加密与密钥协商技术

121次阅读

共计 2200 个字符,预计需要花费 6 分钟才能阅读完成。

作者丨京东智联云 - 平台平安组 张惊申

明码,曾经成为当代互联网人每天应用频率最高的货色,它在默默地守护着咱们的信息安全。而人们对明码却始终未给予足够器重,以至于常常会呈现“123456”这种弱明码。你可能会感觉好笑,但这个明码长年稳居最常见的明码排行榜榜首,有 250 万 人在应用,在数据泄露方面的裸露次数超过 2300 万 次,黑客只需不到一秒钟就能够胜利破解。

好在咱们的社会中,总有那么一群人在一直钻研着密码学,爱护着咱们的信息安全、系统安全。密码学历史悠久,其首要目标是暗藏信息的涵义,并不是暗藏信息的存在。密码学也促成了计算机科学,特地是在于电脑与网络安全所应用的技术,如访问控制与信息的机密性。密码学已被利用在日常生活:包含 主动柜员机的芯片卡 电脑使用者存取明码 电子商务 等等。

密码学是一门浩瀚的学科,有数的学者和钻研人员数十年钻研往往也仅能获得十分渺小的问题。下图为笔者对密码学框架的局部了解,足以见得明码这门学科的博大精深。本文选取密码学学科中的一小部分内容进行介绍和演示。

▲图 1 对密码学学科框架的局部了解▲

一、对称加密算法

加密的实践根底是 代替 换位。代替次要用于扰乱,应用不同的位、字符或字符分组来替换原来的位、字符或字符分组。换位次要用于扩散,并不应用不同的文原本替换原来的文本,而是对原有的值进行置换,即重新排列原来的位、字符或字符分组以暗藏其原有意义。

对称加密是 一种加密与解密采纳雷同密钥的加密算法。 其特点是速度快,效率高,所以被宽泛应用在很多加密协议的外围当中,也是咱们平时接触得比拟多的一种加密形式。

▲图 2 对称加密算法加密解密过程▲

常见的对称加密算法

常见的对称加密算法次要有以下几种:

  1. 数据加密规范(DES,Data Encryption Standard), 应用 64 位密钥,其中 56 位用于加密,8 位用于奇偶校验。因为加密强度较弱,已不举荐应用;
  2. 三重 DES,是 DES 的升级版。 3DES 并没有间接应用“加密 -> 加密 -> 加密”的形式,而是采纳了“加密 -> 解密 -> 加密”的形式。这样实现的益处次要是,当三个密钥均雷同时,前两步加密解密后果互相对消,整体后果相当于仅实现了一次加密,因而可实现对一般 DES 加密算法的兼容。这也是为什么三重 DES 能够风行,而二重 DES 或者四重 DES 则隐没了;
  3. 高级加密规范(AES,Advanced Encryption Standard), AES 反对 128、192 和 256 位的密钥,较于 3DES 速度更快、安全性更高;
  4. 国内数据加密算法(IDEA,International Data Encryption Algorithm),应用的密钥长度为 128 位;
  5. Blowfish 算法, 密钥长度为 32-448 位。

二、密钥散发

1,常见的密钥散发办法

对称加密须要单方进行加密通信前先协商调配好密钥,一般来说密钥散发能够是以下几种形式:

Alice 抉择一个密钥后以物理的形式传递给 Bob;

第三方 Cindy 抉择密钥后物理地传递给 Alice 和 Bob;

如果 Alice 和 Bob 之前曾经应用过一个密钥,则一方能够将新密钥用旧密钥加密后发送给另一方;

如果 Alice 和 Bob 与第三方 Cindy 之间已有加密连贯,则 Cindy 能够在加密连贯上将密钥发送给 Alice 和 Bob。

2,更便捷的密钥散发形式

受对称加密算法本身的特点影响,当多用户之间应用对称加密算法进行通信时,密钥数量成指数增长,对密钥的散发和治理带来微小的挑战。当用户数量为 n,密钥数量最多为 n *(n-1)/2。比方有 100 个用户,则最多须要 4950 个密钥。

随着技术的倒退,对称加密的密钥散发也呈现了一些新的解决办法,如非对称加密算法,Diffie–Hellman 算法等。采纳这类算法使得对称加密密钥的协商与治理变得更简略和牢靠。采纳非对称加密时 n 个用户只需保护 n 个密钥对,大大减小了密钥规模。

Diffie-Hellman 算法(简称 DH 算法)是 Whitefield Diffie 和 Martin Hellman 在 1976 年颁布的一种秘钥替换算法。它是一种建设秘钥的办法,而不是加密办法。基于这种秘钥替换技术:通信单方在齐全没有对方任何事后信息的条件下,能够通过不平安信道协商一个密钥。 这个密钥个别作为对称加密的密钥利用在单方后续数据传输的加密上。

和非对称加密算法的实践根底一样,DH 算法也是基于一个数学难题,即计算离散对数的难度。具体来说,假如 Alice 须要与 Bob 须要协商一个秘钥,是这样一个过程:

▲图 3 DH 算法密钥协商过程▲

 3,利用 DIFFIE-HELLMAN 算法协商密钥实例

经计算,Alice 与 Bob 本次协商的密钥为 36。

原根计算方法 python 实现如下图所示:

▲图 4 原根计算方法 python 实现▲

三、写在最初

对于 DH 算法来说,尽管单方在没有任何事后信息的条件下,能够实现密钥协商,但密钥协商过程也存在中间人攻打的危险。

古代密码学中的平安是基于密钥的保密性的,而不是古典密码学的算法的保密性。对于绝大部分普通用户或者组织,绝对于去尝试本人开发一个加密算法,间接采纳成熟的算法,把精力放在密钥保存上更为正当。

举荐浏览:

  • 11.11 TECHTALK | 京东千亿订单背地的纵深平安进攻体系
  • 重大流动网络攻击背后,京东智联云的攻防之道
  • 专业级沙箱与歹意样本的自动化剖析

欢送点击【京东智联云】,理解开发者社区

更多精彩技术实际与独家干货解析

欢送关注【京东智联云开发者】公众号

正文完
 0