Skip to content

1.关于密码学

oxogenesis edited this page Aug 2, 2019 · 2 revisions

关于密码学

密码学的地位

核武器的应用难度是国家级别的,对抗难度也是国家级别的。
核武器的制造只有少数实力强大的国家才能完成,防御核武器攻击只有实力更强的个别国家可以勉强做到。

密码学技术的应用难度是个人级别的,但对抗难度至少是国家级别的。
使用密码学技术是个人可以完成,但是破解密码学技术,即便是动用国家力量也是不太可能的,甚至绝对不可能的。

密码学技术本身是逻辑世界的技术,单靠密码学技术绝对不会直接危害物理世界。
密码学技术是保护型技术,不是攻击性技术。
你对自己的数据使用密码学技术,不会损害其他人的利益。
因此每个人都应该尽量多的使用密码学技术,保护自身的权益不受其他人、组织、甚至国家的侵害。

男朋友会欺骗你,闺蜜会背叛你,密码学不会,它就是不会。

密码学基本原理

F(x)=y
F是算法,对所有人公开
x是输入
y是输出

1. 散列算法F

F(x)=y
输入x得到y
F能够保证不同的x得到不同y

2. 对称加密算法Fencrypt,Fdecrypt

Fencrypt(key,x)=y
Fdecrypt(key,y)=x
只有知道key的人,才能使用算法Fencrypt对原文加密,使用算法Fdecrypt对密文解密
通常发送和接收消息的双方都知道key

3. 签名验签Fsign,Fvervify

Fsign(sk,x)=sig
Fvervify(pk,x,sig)=true/false
sk和pk(私钥和公钥)配对使用,pk公开,sk不公开
发消息的人,使用算法Fsign,sk对消息x签名,得到sig
收消息的人,不知道sk,使用算法Fvervify验证消息x使用pk对应的私钥的签名是否为sig

4.编码算法Fencode,Fdecode

Fencode(x)=y
Fdecode(y)=x
知道x就能推出y,知道y就能推出x

密码学算法举例

1. 散列算法

2. 对称加密算法

3. 签名验签算法

4. 编码算法