探秘密码学:深入了解对称加密与密钥协商技术

密码,已经成为当代互联网人每天使用频率最高的东西,它在默默地守护着我们的信息安全。而人们对密码却始终未给予足够重视,以至于经常会出现“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算法来说,虽然双方在没有任何预先信息的条件下,可以完成密钥协商,但密钥协商过程也存在中间人攻击的风险。

现代密码学中的安全是基于密钥的保密性的,而不是古典密码学的算法的保密性。对于绝大部分普通用户或者组织,相对于去尝试自己开发一个加密算法,直接采用成熟的算法,把精力放在密钥保管上更为合理。

学习计划安排

我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~

这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴可以扫描下方CSDN官方合作二维码免费领取哦,无偿分享!!!

①网络安全学习路线 ②上百份渗透测试电子书 ③安全攻防357页笔记 ④50份安全攻防面试指南 ⑤安全红队渗透工具包 ⑥HW护网行动经验总结 ⑦100个漏洞实战案例 ⑧安全大厂内部视频资源 ⑨历年CTF夺旗赛题解析

点击链接即可免费领取:网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《Linux内核探秘:深入解析文件系统和设备驱动的架构与设计》是一本非常有价值的书籍。它深入探索了Linux操作系统内核中文件系统和设备驱动的架构和设计。 这本书首先介绍了Linux内核的基本概念和组成部分。它详细描述了Linux文件系统的设计原理和实现方式。文件系统是操作系统用于管理和组织文件的重要组成部分。该书详细介绍了Linux内核中常见的文件系统类型,如Ext4、Btrfs和F2FS,并深入探讨了文件系统的数据结构、缓存和访问控制等关键方面。 另外,该书还详细解析了Linux内核中的设备驱动程序。设备驱动程序是操作系统与硬件之间的桥梁。这本书介绍了设备驱动程序的基本原理和工作方式,包括设备驱动模型、设备节点和设备文件系统等。同时,书中还讨论了设备间通信和驱动程序的编写方法,并提供了实际案例进行说明。 这本书的特点是理论结合实践。书中提供了大量的示例代码和实际案例,让读者可以更好地理解和应用所学知识。此外,书中还提供了一些常见问题和解决方案,帮助读者更好地解决实际问题。 总之,《Linux内核探秘:深入解析文件系统和设备驱动的架构与设计》是一本对于想要深入了解Linux内核中文件系统和设备驱动设计的读者非常有价值的书籍。无论是对于专业人士还是对于Linux爱好者来说,它都是一本不容错过的好书。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值