区块链本质上一个去中心化的数据库,它是由一串数据块组成的。它的每一个数据块当中都包含了一次网络交易的信息,而这些都用于验证其信息的有效性和生成下一个区块。为了保障区块链的安全运行,开发者必须要掌握大量的密码学知识。
对称密钥加密法的概念
对称密钥加密法(Symmetric Key Cryptography),又叫对称加密法、私钥加密法、共享密钥加密法,是密码学中的基础加密算法。
对称加密法主要用来对敏感数据或信息转换为复杂的加密密文发送出去。接收方在接收到密文后,如果要对原文进行解读,需要利用加密密钥和同一算法的逆算法对密文进行解密,从而得到可读的明文。
如图所示,用户A想把明文1传送给用户B,为了防止泄密,通过加上密钥e(或者乘以e,e次方等复杂运算)进行加密,形成密文1e,用户B在得到密文后,通过加密法的反运算,得到明文,这就是对称加密法。
对称密钥加密法的分类
所有的对称加密法都有一个共同的特点,即加密和解密所用的密钥是相同的。随着技术的进步,对称加密法又分为单一密码和分组密码两类,分组密码将明文分为若干个组进行加密,其最终加密结果依赖于同组的各位字符的具体内容。
虽然单一序列密钥只需要对单个密钥进行操作,运行速度比分组加密要快得多,但现在的实际运用中最常使用的是分组密码,因为分组密码在变得复杂后更安全。
常见的对称加密法标准
对称加密算法的标准非常多,包括DES、3DES、AES、TDEA、Blowfish、RC2等,其中比较常见的为DES、3DES、AES三种。
DES算法
这是最早的对称加密算法标准,于1977年由美国NBS发布,以64位为分组对数据进行加密,它的密钥长度是56位,此后20年间都是使用的这种标准加密方式,是对称加密算法的基石。
3DES算法
3DES(或称为Triple DES),是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)的通称。它是对每一块数据用三个不同的密钥进行三次加密。
简单地说,由于现代计算机运算能力增强,原DES密码的密钥长度容易被暴力破解,3DES则提供一种相对简单的方法,把数据块应用三次DES加密算法,强度更高,但相应的运算速度变慢,因此3DES可以理解为是DES向AES过渡的一种加密算法。
AES算法
AES算法由比利时密码学家Joan Daemen和Vincent Rijmen设计,因此AES算法也叫Rijndael加密法,是目前密码学中的高级加密标准。
这个标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布,是对称密钥加密法中最流行的算法之一。其速度快、安全级别高,支持128、192、256、512位密钥的加密。
这种加密算法也用来替代原先的DES,是目前美国联邦政府采用的区块加密标准,后被多方分析且广为全世界所使用。
总结
对称加密法用于对大量数据进行加密,经过多次升级以便更好保障数据信息的安全传输,但所有的对称加密法都有一个共同的特点,就是加密和解密所用的密钥是相同的,所以对称加密法的安全性不仅仅取决于加密算法本身的强度,更取决于密钥是否被安全保管,因此发送方和接收方都要保管好密钥,如果密钥被泄漏,那么数据传输也就不再安全了。