|
加解密系统一般会包含加解密算法、加密秘钥、解密秘钥三个部件。其中,算法是公开的,而秘钥则需要保护起来。加密的时候利用加密算法跟加密秘钥,对明文进行加密,得到密文,解密的时候则利用解密算法和解密秘钥对密文进行解密,得到明文。 根据加密秘钥跟解密秘钥是否相同,可以把加解密算法分为对称加密算法和非对称加密算法两种。 对称加密算法就好比一把锁头,大家用着同样一把钥匙,可以加密也可以解密。对称加密算法中,加密秘钥跟解密秘钥是一样的,该算法的优点是计算速度快,且占用空间小,效率高,加密强度也高,但缺点是加解密双反要提前共享秘钥,在这个共享的过程中存在泄露秘钥的风险,如何在不安全的环境下分享秘钥也是一个研究的热点。 对称加密算法常用的是分组密码,即将明文切割为定长的数据块,并把每个数据块作为加密的基本单位,常见的该类算法有DES、AES和IDEA等。 非对称加密(Asymmetric Cryptography)体系则像是一个有着两把锁头的两头箱子,一把钥匙各开一把锁。非对称加密算法中,加密秘钥跟解密秘钥是不相同的,分别称为公钥和私钥,公钥是公开的,一般根据私钥产生,私钥则是由私人保护并持有,需要通过一定的算法来生成。非对称加密算法的优点是无须提前共享秘钥,在不安全的环境下也可以使用,缺点是速度慢,加密的强度不如对称算法高,虽然无须提前共享秘钥,但也存在中间人攻击的可能。非对称加密算法一般由数学的经典难题来保障其安全,如椭圆曲线,以及大数的质因子分解等,常见的算法有RSA、SM2、椭圆曲线等。但是,随着量子计算的到来,普遍认为RSA类算法将会被破解。因此,更推荐椭圆曲线类算法。 【出处】郑子彬,陈伟利,郑沛霖.区块链原理与技术.清华大学出版社,2021年3月第1版.
|