ECC和RSA概览
数字签名技术已经广泛使用于网络安全协议或分布式系统中。目前,比较流行的数字签名算法有RSA和ECC。本文详细介绍RSA和ECC算法的定义,帮助你了解这两者间的区别。
产生背景
据记载,公元前 400 年,古希腊人发明了置换密码。1881 年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用「恩尼格玛」密码机,密码学在战争中起着非常重要的作用。 随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在 1997 年,美国国家标准局公布实施了「美国数据加密标准(DES)」,民间力量开始全面介入密码学的研究和应用中,采用的加密算法有 DES、RSA、SHA 等。随着对加密强度需求的不断提高,近期又出现了 AES、ECC 等。
通过使用密码学,可以达到以下几个目的:
· 保密性:防止用户的标识或数据被读取。
· 数据完整性:防止数据被更改。
· 身份验证:确保数据发自特定的一方。
加密算法
根据密钥类型不同将现代密码技术分为两类:对称加密算法和非对称加密算法。
· 对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。
· 非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。常见的算法如下所示:
· RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的。
· DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准)。
· ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。
ECC与RSA
RSA
1976年,由于对称加密算法已经不能满足需要,一篇叫《密码学新动向》的文章中介绍了公匙加密的概念,由 Rivet、Shamir、Adelman 提出了 RSA 算法。RSA 就是他们三人姓氏开头字母拼在一起组成的。
现在 SSL 证书普遍使用的是RSA算法。但随着分解大整数方法的进步及完善、计算机速度的提高以及计算机网络的发展,为了保障数据的安全,RSA 的密钥需要不断增加。但是,密钥长度的增加导致了其加解密的速度大为降低,硬件实现也变得越来越难以忍受,这对使用RSA的应用带来了很重的负担,因此,需要一种新的算法来代替RSA。
ECC
1985年,N.Koblitz和Miller提出l将椭圆曲线用于密码算法,即ECC算法。该算法是根据有限域上的椭圆曲线上的点群中的离散对数问题(ECDLP)。ECDLP 是比因子分解问题更难的问题,它是指数级的难度。
现在,使用ECC算法作为其公钥算法的数字证书近几年的发展不容小觑。2008年左右,Certificate Authority(CA)开始储备ECC根证书,2012年左右CA开始对外公开销售ECC证书,2014年ECC证书在国外被普遍开始使用,2015年国内开始接受ECC证书。
ECC vs. RSA
ECC与RSA相比,在许多方面都有对绝对的优势,主要体现在以下方面:
· 抗攻击性强
· CPU占用少
· 内容使用少
· 网络消耗低
· 加密速度快
以上是ECC和RSA的分享内容,如需了解更多SSL证书资信,请前往广东金网科技官网:https://www.kingnettech
常见的 SSL 错误解决办法 为了保障用户的隐私信息安全,减少信...
从昨天跟大家分享金网科技原创手把手Docker java web 应用hellowor...
什么是API API是Application Programming Interface的简写。 实现了两个或...
对最常见的开源协议做下总结分享 Mozilla Public License MPLLicense,允...
全面的日志管理和分析策略是关键任务,使组织能够理解运营...
最后甚至会从Chrome的UI中取消挂锁图标。。。 谷歌爸爸在上周四...
代码签名证书简介及其许多好处 今天,几乎所有东西都是电脑。...
任何运行思科支持的虚拟专用网络(VPN)的人都可能需要安装更...
PFS概览 众所周知,若服务器的私钥泄漏,任何可以访问私钥的人...
Google Chrome 66 Beta将于3月15日,即本周四发布。 虽然谷歌和赛门铁...