密码学基础,古典密码

古典密码大都比较简单且容易破译,但其意义在于对理解现代密码学十分有益。

古典密码一般分为大的两种:置换密码和代替密码。

在密码算法设计中将古典密码用于线性变换用以增加算法的复杂度,和增加各个密文之间的联系,使得变换了一个明文会影响尽量多的密文。

置换密码

把字母的顺序重新排列,但字母本身保持不变,分组可能可以发生改变,如:

明文: I LOVE YOU
密文: U OYE VO LI
再经过一次置换就可以恢复成原本的字符,称为本次置换的逆置换

一般和其他的密码结合使用,既可以进行有效的加密

代替密码

首先要构造 明文-密文对应表 然后通过查表找到明文对应的密文(或者密文对应的明文)来进行 加(脱)密,单其字母的自身位置并没有发生改变。

单表代替密码(凯撒密码) 明文与密文进行一一对应
如在原字母的基础上每个字母进行自增固定的数字,如自增3,则A变为了D,B变为了E···依次类推,举个栗子:

自增数为:3
——————————
明文:G R E A T
密文:J U H D W

字母表一共有26个,故而自增量最多仅有25个,所以这种加密方式可以通过些许的密文(唯密文攻击)来进行穷举破解。

多表代替密码(维吉尼亚密码) 采用维吉尼亚方阵
在这里插入图片描述
横列对应明文,竖列对应字母序列的密钥;

在同一段字母中,一个密文可能对应着多种密文
每一行代表加对应的数字,如C代表加3,Z代表加25。
这种加密需要一组字母序列作为密钥,并进行循环,举个栗子:

如密钥字母序列是: a b c d e f g h i j k l
要加密的字母序列: q h y k s j u b f z b a
a行q列为密文的第一个字母:Q
b行h列为密文的第二个字母: I
c行y列为密文的第三个字母: A
···
最后得到的密文:Q I A N S O A I N I L L

对此仅使用唯密文攻击对该密码进行破解会比较困难,因此一般采用已知明文攻击。

这两种破解密码的方式(唯密文攻击和已知明文攻击)已在上一篇进行了说明

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Dan Boneh 是一位著名的密码学家和计算机科学家,他开设的密码学基础课程被广泛认为是学习密码学的理想选择。 在 Boneh 的密码学基础课程,学生将学习密码学的基本概念、原则和技术。课程内容涵盖了对称加密、公钥加密、哈希函数、数字签名等关键密码学算法和协议的深入讲解。 在课程开始的阶段,Boneh 会简要介绍密码学的历史背景和基本概念,然后逐步引入重要的密码学算法。学生将学习如何使用对称加密算法来保护数据的机密性,如何使用公钥加密算法来实现安全的通信,以及如何使用哈希函数来验证数据的完整性。 此外,课程还将涵盖一些高级密码学主题,如数字签名和零知识证明等。学生将学习如何使用数字签名算法来验证数据的身份和完整性,以及如何使用零知识证明来实现安全的认证和身份验证。 Boneh 的密码学基础课程注重理论与实践相结合,学生将有机会参与编写和分析密码学算法的代码。通过实践,学生将更深入地理解密码学的核心概念和实际应用。 总而言之,Dan Boneh 的密码学基础课程是一门全面且深入的密码学课程,能够帮助学生建立扎实的密码学基础,为深入研究密码学或从事密码学相关工作打下坚实的基础。毫无疑问,这是一门高品质的密码学课程,值得推荐给对密码学感兴趣的学生和从业人员。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值