Skip to content

Latest commit

 

History

History
75 lines (56 loc) · 4.91 KB

cl38kjiqn00kuhcnvblrs5a7r.md

File metadata and controls

75 lines (56 loc) · 4.91 KB

密码学概览 【专用名词初体会】

了解有关的名词

  • 发送者:发送消息的“人”
  • 接受者:接收消息的“人”
  • 窃听者:通过某些手段在消息传递中间获取消息的“人”
  • 攻击者:通过某些手段攻击在传递的消息的“中间人”
  • 验证者:能够验证获取到消息的“真伪”的“人”
  • 可信的第三方: 可以信赖的第三方,比如:证书的生产机构
  • 伪装:伪装成为发送者或者接受者的“人”
  • 否认:否认自己的行为或者信息等

- ```明文```:可以认为是要传输的信息 - ```密文```:将明文加密之后获得的文本。【将密文解密之后获得的文本】 - ```加密```:将明文进行加密的技术手段, eg:AES, RSA等等加密手段 - ```解密```:将密文进行解密的技术手段: eg:AES, RSA等等解密手段
  • 破译【密码破译、密码分析】: 将密文经过某种手段进行获取对应的明文或者是有关明文的信息。

  • 秘钥:用来加密或者解密的一串文本(字符串)

  • 对称密码:【symmetric cryptography】 机密和解密时候使用的是统一秘钥的方式。

别称:公共秘钥密码【common-key cryptography】 、传统密码(convertional cryptography)、私钥密码(security-key cryptography)、共享秘钥密码(shared-keycryptography)

  • 公钥密码:机密和解密时候使用不同的秘钥方式。 别称:非对称密码。
  • 混合密码系统:【hybrid cryptosystem】,对称密码和公钥密码两者的优势。

- ```单向散列函数```:把任意长度的输入消息串变化成固定长的输出串。 > 为了防止软件被篡改,发布软件的同时发布软件的散列值。
> 保证数据的完整性(integrity),可以检测数据是否被篡改。 并不能够保证机密性。
> 别称:消息摘要
  • 消息认证码:是一种保证完整性和提供认证的密码技术。

别称:哈希值、密码校验和(cryptography checksum)、指纹(fingerprint)/消息摘要(message digest )
作用:不仅保证了消息的完整性, 还确认消息是否来自所期待的通信对象。主要是确认通信对象,因为数据完整性是hash函数的主要功能。

  • 数字签名:一种能够保证完整性、提供认证并防止否认的密码技术。

一种将现实世界中的签名和盖章移植到世界中的技术。

  • 伪随机数生成器: 【pseudo Random Number Generator, PRNG】一种能够模拟生产随机数列的算法

随机数承担着秘钥生成的重要职责。 eg: web 进行SSL/TLS 通信时, 会生成一个仅用于当前通信的临时秘钥(会话秘钥)。 这个秘钥就是基于伪随机数生成器生成的。 如果生成随机数的算法不好,窃听者就能够推测秘钥,从而带来通信机密性下降的风险。


密码学家的工具箱: 对称密码、公钥密码、单向散列函数、消息认证码、数字签名、伪随机数生成器

![这几个技术解决的问题](https://cdn.hashnode.com/res/hashnode/image/upload/v1652695011562/50TkFVUL5.png align="left")


- ```密码学```: [cryptography] 将明文转化为密文,并没有隐藏消息,隐藏的是内容。我们看不懂而已。 - ```隐写术```: [stepanography] 隐藏消息本身, eg:我们的藏头诗 > 隐写术:在计算机中也有一定的应用, 例如:最近的数字水印技术就运用了隐写术的方法,数字水印是一种将著作权、拥有者或购买者的信息嵌入到文件中的技术。但是,仅仅凭借数字水印技术是无法对信息进行保密的,因此需要和其他技术配合使用。[数字水印](https://help.aliyun.com/document_detail/363079.html)
> 实际中,可以将两者结合,具备更加好的效果
## 密码学的常识 - ```不要使用保密的密码算法```: 因为如果别人知道了你保密的算法,没有秘密可言 > (1)密码算法的秘密早晚会公诸于众
> (2)开发高强度的密码算法是非常苦困难的
  • 使用低强度的密码比不进行任何加密更加危险:

主要是因为用户通过了“密码”这个词获得了安全感,而密码有太低,这样造成很大的损失,还不如明文告诉用户。

  • 任何密码总有一天被破解

(1)绝对不会被破解的密码算法是存在的—— 一次性密码本
(2)另外一种技术被认为可能造成完美的密码技术 —— 量子密码
(3)现实常规的密码总有一天是可以解密的。

  • 密码只是信息安全的一部分

社会工程学攻击开始流行起来。 因为这个根本就不涉及到密码学. eg: 别人通过某种凡是获取到你的秘钥。