【密码学笔记】第1部分 密码学基础知识

声明

这是关于密码学知识的第一篇博客。该部分首先介绍了何谓“密码”,之后浏览了密码学中的六项主要技术,最后还阐释了密码与信息安全的四条常识。

跟诸位大牛相比,笔者阅历尚浅、经验不足,笔记中若有错误,还需继续修正与增删。欢迎大家的批评与指正。



1. 什么是“密码”

  • 登录淘宝或者QQ时需要输入用户名和“密码”——身份验证的凭据,严格来说应该叫作 “口令”(password)
  • 把DNA称作“遗传密码”——DNA的功能是将一种信息(主要是蛋白质的构成信息)转换成另一种信息(碱基的序列)并记录下来,本质上是一种 “编码”(encoding) 的过程
  • 真正的“密码”(cryptography)——非常庞大而复杂的信息处理体系,涉及信息的机密性、完整性、认证等许多方面,保卫着信息的安全

2. 密码学家的工具箱

2.1 对称密码与公钥密码(非对称密码)

对称密码是指在加密和解密时使用同一密钥的方式。

公钥密码是指在加密和解密时使用不同密钥的方式,又称为非对称密码。

密码技术所提供的并不仅仅是基于密码的机密性,还包括用于检验消息是否被篡改的完整性、用于确认对方是否是本人的认证等。

2.2 单项散列函数

单项散列函数是一种保证完整性的密码技术。完整性指的是“数据是正牌的而不是伪造的”这一性质。 使用单项散列函数,就可以检测出数据是否被篡改过。

2.3 消息认证码

消息认证码是一种能够保证完整性和提供认证的密码技术。使用消息认证码,不但能够确认消息是否被篡改,而且能够确认消息是否来自所期待的通信对象。

2.4 数字签名

数字签名是一种能够确保完整性、提供认证防止否认的密码技术,能够防止伪装、篡改和否认等威胁。

2.5 伪随机数生成器

伪随机数生成器是一种能够模拟产生随机数列的算法。随机数承担着密钥生成的重要职责。 如果生成随机数的算法不好,窃听者就能够推测出密钥,从而带来通信机密性下降的风险。

在这里插入图片描述


3. 密码与信息安全常识

  • 不要使用保密的密码算法。
    原因:a. 密码算法的秘密早晚会公诸于世;b. 开发高强度的密码算法是非常困难的。

隐蔽式安全性(security by obscurity):试图通过对密码算法本身进行保密来确保安全性的行为。危险且愚蠢

  • 使用低强度的密码比不进行任何加密更危险。
    原因:用户容易通过“信息已经被加密了”这一事实获得一种“错误的安全感”,导致在处理一些机密信息的时候麻痹大意。
  • 任何密码总有一天都会被破解。
    破译密文所花费的时间,与要保密的明文的价值之间的权衡是非常重要的。

严格来说,绝对不会被破解的密码算法其实是存在的,这种算法称为一次性密码本,但它并不是一种现实可用的算法。
此外,还有另外一种技术被认为有可能造就完美的密码技术,那就是量子密码

  • 密码只是信息安全的一部分。
    复杂的系统就像一根由无数个环节相连组成的链条,如果用力拉,链条就会从其中最脆弱的环节处断开。因此,系统的强度取决于其中最脆弱的环节的强度。(最脆弱的环节并不是密码,而是人类自己。)

参考书目

[1] 《图解密码技术》(第3版),[日]结城浩著,周自恒译,人民邮电出版社,2014年。


衷心感谢您的阅读。

查看下一篇请点击以下链接:【密码学笔记】第2部分 历史上的密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值