Skip to content

juanjuan-dev/Algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 

Repository files navigation

Algorithm

1. DFA的使用和学习

2. 加密计算

2.1 加密算法介绍

2.1.1 非对称式密码学

  1. 公开密钥密码学:公开密钥密码学(英语:Public-key cryptography)也称非对称式密码学(英语:Asymmetric cryptography)是密码学的一种算法,它需要两个密钥,一个是公开密钥,另一个是私有密钥;公钥用作加密,私钥则用作解密。使用公钥把明文加密后所得的密文,只能用相对应的私钥才能解密并得到原本的明文,最初用来加密的公钥不能用作解密。由于加密和解密需要两个不同的密钥,故被称为非对称加密。
  2. 用途: 加密和数字签名
  3. 加密:如果任何人使用公钥加密明文,得到的密文可以透过不安全的途径(如网络)发送,只有对应的私钥持有者才可以解密得到明文;其他人即使从网络上窃取到密文及加密公钥,也无法(在数以年计的合理时间内)解密得出明文。典型例子是在网络银行或购物网站上,因为客户需要输入敏感消息,浏览器连接时使用网站服务器提供的公钥加密并上传数据,可保证只有信任的网站服务器才能解密得知消息,不必担心敏感个人信息因为在网络上发送而被窃取。
  4. 数字签名:相反,如果某一用户使用他的私钥加密明文,任何人都可以用该用户的公钥解密密文;由于私钥只由该用户自己持有,故可以肯定该文件必定出自于该用户;公众可以验证该用户发布的数据或文件是否完整、中途有否曾被篡改,接收者可信赖这些数据、文件确实来自于该用户,这被称作数字签名
  5. 常见的公钥加密算法有:RSA、ElGamal、Rabin(RSA的特例)、DSA、ECDSA。使用最广泛的是RSA算法(由发明者Rivest、Shmir和Adleman姓氏首字母缩写而来)是著名的公开秘钥加密算法。

2.1.2 对称密钥加密

  1. 对称密钥算法(英语:Symmetric-key algorithm)又称为对称加密、私钥加密、共享密钥加密,是密码学中的一类加密算法。这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥。事实上,这组密钥成为在两个或多个成员间的共同秘密,以便维持专属的通信联系。与公开密钥加密相比,要求双方获取相同的密钥是对称密钥加密的主要缺点之一
  2. 常见的对称加密算法有AES、ChaCha20、3DES、Salsa20、DES、Blowfish、IDEA、RC5、RC6、Camellia。
  3. 对称加密的速度比公钥加密快很多,在很多场合都需要对称加密。

2.2 应用场景

AES、DES、RSA、SHA1、MD5 应用场景 DES:本地数据,安全级别低 AES:更快,兼容设备,安全级别高; RSA:非对称加密,有公钥和私钥 SHA1:公钥后处理回传、密码保护 MD5:防篡改、密码保护

3. 雪花算法

About

DFA的使用和学习

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages