使用密码学可达到以下目的:
保密:防止用户识别或数据被读取。
数据完整性:防止数据更改。
身份验证:确保数据来自特定方。
加密算法
现代密码技术根据不同的密钥类型分为对称加密算法和非对称加密算法两类。对称钥匙加密系统使用相同的密钥进行加密和解密,双方都必须获得并保持密钥的秘密。
加密钥匙(公钥)和解密钥(私钥)不同于非对称密钥加密系统。常见的非对称加密算法包括:
RSA:由RSA公司发明,它是一种支持长钥匙的公共钥匙算法,需要加密的文件块的长度也是可变的;
DSA:数字签名算法,是一种标准的DSS(数字签名标准);
ECC:椭圆曲线密码编码学。
比较ECC和RSA。
1976年,由于对称加密算法无法满足需求,Diffie和Hellman发表了一篇名为《密码学新趋势》的文章,介绍了公钥加密的概念,由Rivet、Shamir和Adelman提出。RSA是他们三个姓氏的开头字母组成。
随着大整数分解方法的进步和改进,计算机速度的提高和计算机网络的发展,为了确保数据的安全,RSA钥匙需要增加,但钥匙长度的增加导致解密速度大大降低,硬件实现越来越难以忍受,这给RSA的应用带来了沉重的负担,所以需要一个新的算法来取代RSA。
1985年,N.koblitz和Miller提出将椭圆曲线用于密码算法,全称:Ellipticurvecryptography,缩写为ECC,根据ECDLP,ECDLP是有限域椭圆曲线上点群中的离散对数问题。ECDLP子分解更难,是指数级的难度。 目前,RSA算法广泛应用于SSL证书中。由于上述RSA算法的缺点,近年来使用ECC作为公钥算法的数字证书的发展不容低估:2008年左右,CA开始储备ECC证书,2012年左右,CA开始公开销售ECC证书,ECC证书广泛应用于国外,ECC证书于2015年在中国接受。
![RSA比较非对称加密算法和ECC系统。](imgs/2021/03/294-1.jpg)
与RSA相比,ECC在很多方面都有绝对的优势,主要体现在以下几个方面:
抗攻击性强
CPU占用较少。
内容使用少
网络消耗低
加密速度快
![RSA比较非对称加密算法和ECC系统。](imgs/2021/03/294-2.jpg)
随着安全等级的提高,目前加密方法的密钥长度也将成为指数的增加,而ECC密钥长度只是线性的增加。例如,128个安全加密需要3072个RSA密钥,但只需要256个ECC密钥。增加到256个安全加密需要15360个RSA密钥,但只需要512个ECC密钥。ECC具有如此优异的按位比率加密性能,其特点可能成为安全系统关注的焦点。