加密算法简介

简单的概念

  • 明文:加密前的信息
  • 密文:加密后的信息
  • 加密算法:加密或解密的算法
  • 密钥:算法使用的钥匙

简单的例子

eg: 将123456每位数字都加1后得到234567 

在这个例子中:

  • 明文是:123456

  • 密文是:234567

  • 加密密钥是:1

  • 加密算法是:每位加

加密算法种类

按照加密的方式我们可以将加密算法大体分成一下三种:

  • 对称加密算法(加密和解密算法是对称的可能有点抽象你可以理解成同一把钥匙)
  • 非对称加密算法(加密和解密算法是非对称的可以理解成加密的时候是一把钥匙解密的时候是一把钥匙,典型的就是rsa公钥和私钥)
  • 经典哈希算法(哈希算法是一种散列算法,有个特殊性是它是不可逆只能通过穷举法超大量的计算才可能算出,一般几率很小,还有就是你同一段的明文两次加密出来的结果是不一样的)

算法举例

  • 对称加密算法:DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法,AES算法。
  • 非对称加密算法:RSA、Elgamal、背包算法、Rabin、D-H、ECC。
  • 经典的哈希算法:MD2、MD4、MD5 和 SHA-1(目的是将任意长输入通过算法变为固定长输出,且保证输入变化一点输出都不同,且不能反向解密)

补充:

非对称加密算法可能是世界上最重要的算法,它是当今电子商务等领域的基石。

简而言之,非对称加密就是指加密公钥和解密密钥是不同的,而且加密公钥和解密密钥是成对出现。非对称加密又叫公钥加密,也就是说成对的密钥,其中一个是对外公开的,所有人都可以获得,人们称之为公钥;而与之相对应的称之为私钥,只有这对密钥的生成者才能拥有。

对于一个私钥,有且只有一个与之对应的公钥。公钥公开给任何人,私钥通常是只有生成者拥有。公/私钥通常是1024位或者2048位,越长安全系数越高,但是解密越困难。尽管拿到了公钥,如果没有私钥,要想解密那几乎是不可能的,至少现在在世界上还没有人公开出来说成功解密的。

关于公钥和私钥总结一句话:公钥和密钥成对出现,其中公钥负责加密 ,私钥负责解密