上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.2 对称加密
对称加密(Symmetric Encryption)算法是一种混淆算法,能够让数据在非安全信道上进行安全通信。对称加密是指进行明文到密文加密时所使用的密钥和进行密文到明文解密时所使用的密钥是相同的。例如,当Alice需要向Bob发送一些加密消息时,需要先向Bob请求获得密钥K,当Alice获得密钥K后就可以使用密钥对消息加密,当加密后的消息发送给Bob后,Bob同样需要使用密钥K进行解密。只要Alice和Bob能保证密钥K的安全,那么他们就可以一直安全地通信,整个过程如图1-1所示。
图1-1 对称加密
对称加密的优点是加密速度快,保密强度高,适用于对大量数据进行加密的场景。但是由于双方使用相同的密钥,密钥的传输和管理成为一个很大的问题,如果传输过程不安全,密钥就无法可靠地传递,只能通过其他方法进行交换,如邮件、电话、短信等,可是这些通信方式是否可靠还有待商榷。为了解决这个问题,一般需要借助基于椭圆曲线的迪菲-赫尔曼密钥交换(Elliptic Curve Diffie–Hellman key Exchange,ECDH)协议来完成密钥分发。
在对称加密中,每一对发送者和接收者都需要使用一个共同密钥,于是在区块链这种拥有大量节点、需要大规模通信的网络中会产生大量的密钥,这无疑会极大增加节点管理密钥的负担。
对称加密代表算法:DES、AES、SM4。