加密算法的分类

古典加密:

核心的思想是:置换

简单来说就是将信息的`特定信息`进行处理,加密本身不涉及密钥,工具。加密解密的关键就在于信息的处理的手段,

案例

古典密码学最经典的两个例子,斯巴达人的塞塔式密码:把一个长条羊皮螺旋式的盘绕在一个多棱棒上,然后水平方向从左到右写字,写一个字绕一圈。这长条羊皮拿下来看杂乱无章,但是加上同尺寸的多棱木棒后,就能看到准确的信息。

在古代的中国,藏头诗也算是一种。简单的说古典密码学就是通过对字符的位置改变或者替换,而不对字符本身做修改的方法来隐藏信息的,这种加密的方式还是比较简单,一旦掌握了解密工具或者规律,那么密码就会被破解,整体的安全性并不高。

## 现代加密

两个分支:

  • 对称加密(Symmetric-key algorithm)
  • 非对称加密(asymmetric key encryption algorithm)

思想:用秘钥处理明文,产生密文的过程.可以理解为对信息进行加工处理,将人类理解的文字转换成数字,再对数字进行各种运算,如位运算,迭代一个算法60次,置换特定数字。

在现代密码学中,有一个秘钥的概念。什么是秘钥?

秘钥:我们谈及秘钥,那也是基于特定的加密算法。在加密过程中,加密的具体算法,计算流程已经固定。不同地方在于,我们人为设定的加密参数。通常这个参数也会是一串没有规律的字符。

现代加密的分类

1.单向散列加密

2.对称加密

3.非对称加密

分类的依据是可否解密和密钥的种类

单向散列加密

特点:加密容易,解密困难,不定长度,都加工成固定长度

可视为单向过程,无法反推原始信息.

常见算法:

  • SHA-1 : 安全散列算法

  • MD5: 信息摘要演算法,已破解

  • RIPEMD:基于MD4设计,已破解

  • BASE64:被认为是一种编码方式

  • SHA256:主流加密,比特币源码中使用了

对称加密

常见算法:

  • DES:Data Encryption Standard,俗称DES;已经淘汰

  • 3DES:Triple DES,三重数据加密

  • AES:Advanced Encryption Standard,代替了DES

非对称加密

  • RSA:一种早期非对程算法
  • DSA:Digital Signature Algorithm,只用作签名验证
  • ECC:椭圆加密,比特币源码中使用了

在接下来的文章,我会选取和区块链相关性大,典型的算法,详细单独介绍加密算法

并且我觉得对于大部分人来说,重要的不是算法是如何实现,而是想弄清楚通过什么操作达到加密效果的,

我们应用加密算法的场景.