密码学 | 椭圆曲线 ECC 密码学入门(三)

news2024/11/24 8:28:37

目录

7  这一切意味着什么?

8  椭圆曲线密码学的应用

9  椭圆曲线密码学的缺点

10  展望未来


⚠️ 原文地址:A (Relatively Easy To Understand) Primer on Elliptic Curve Cryptography

⚠️ 写在前面:本文属搬运博客,自己留着学习。如果你和我一样是小白,那么看完本文我们将仍然不能理解下图具体是在干什么,但能够对 RSA 和椭圆曲线加密的初衷有所了解。


密码学 | 椭圆曲线 ECC 密码学入门(二)文章浏览阅读121次。4 椭圆曲线:更好的陷门函数5 奇异的对称性6 让我们变得奇特https://blog.csdn.net/m0_64140451/article/details/137676044

7  这一切意味着什么?

椭圆曲线离散对数 是椭圆曲线密码学的难题。尽管已经有近三十年的研究,数学家们仍然没有找到一个算法来解决这个问题,这个算法比朴素的方法有所改进。

换句话说,与因式分解不同,基于目前理解的数学,似乎没有捷径可以缩小围绕这个问题的基础陷门函数的差距。这意味着,对于相同大小的数字,解决椭圆曲线离散对数的问题比因式分解要困难得多。由于计算上更费力的难题意味着更强的密码系统,因此椭圆曲线密码系统比 RSA 和 Diffie-Hellman 更难破解。

为了想象它有多难破解,Lenstra 最近引入了 “全球安全性” 的概念。你可以计算破解一个密码算法需要多少能量,并将这个能量与这些能量能煮沸多少水进行比较。这是一种密码学的碳足迹。按照这个标准,破解一个 228 位的 RSA 密钥所需的能量比煮沸一茶匙水所需的能量还要少。相比之下,破解一个 228 位的椭圆曲线密钥所需的能量足以煮沸地球上所有的水。要达到这种安全级别,使用 RSA 需要一个 2380 位的密钥。

使用 ECC,你可以使用更小的密钥来获得相同级别的安全性。小的密钥尤其重要,尤其是在越来越多加密是在像手机这种功率较小的设备上完成的世界里。虽然将两个素数相乘比将乘积分解为其组成部分的因式分解要容易,但当素数变得非常长时,即使是乘法步骤也可能在低功率设备上需要一些时间。

RSA 这种陷门函数靠的就是 “因式分解的难度” 和 “乘法的难度” 之间的差距。如果为了保证加密速度而缩短密钥长度,那么 RSA 算法的安全性大打折扣。如果保持密钥长度不变,那么像手机这种功率较小的设备完成加密的时间又比较长。

虽然你可能会通过增加密钥长度来继续保持 RSA 的安全,但这样做会在客户端带来加密性能变慢的成本。ECC 似乎提供了一个更好的权衡:短的、快速的密钥提供高安全性。

8  椭圆曲线密码学的应用

经过缓慢的起步之后,基于椭圆曲线的算法正变得越来越受欢迎,并且其采用的速度正在加快。椭圆曲线密码学现在被广泛应用于多种场合:

美国政府使用它来保护内部通信,Tor 项目使用它来帮助确保匿名性,它也是证明比特币所有权的机制,为苹果的 iMessage 服务提供签名,在 DNSCurve 中用于加密 DNS 信息,并且是安全网页浏览中通过 SSL/TLS 进行认证的首选方法。

CloudFlare 使用椭圆曲线密码学来实现完美的向前保密性,这对于在线隐私至关重要。第一代密码学算法如 RSA 和 Diffie-Hellman 在大多数领域仍然是标准,但椭圆曲线密码学正在迅速成为网络隐私和安全的最佳解决方案。

为什么后文一直在提 CloudFlare?答:因为 CloudFlare 是原博所属网站。

如果您从 Chrome 或 Firefox 的最新版本访问原文博客的 HTTPS 版本:

https://blog.cloudflare.com

则您的浏览器正在使用椭圆曲线密码学。您可以亲自检查这一点。在 Chrome 中,您可以点击地址栏中的锁图标,然后选择连接标签,以查看建立安全连接时所使用的密码学算法。在 Chrome 30 中点击锁图标后,应显示以下图片。

我只在 Firefox 找到了锁图标:

原博客写作于 2013 年,现在的 Chrome 和 Firefox 早变样了😇

在 CloudFlare 中,ECDHE_RSA 是一种用于安全套接字层(SSL)的密钥交换协议,它结合了椭圆曲线密钥交换(ECDHE)和 RSA 加密的优势。ECDHE 代表椭圆曲线 Diffie-Hellman 临时密钥交换,它基于椭圆曲线数学提供了一种安全高效的方法来建立加密通信的密钥。RSA 组件则用于验证服务器的身份,这是因为 CloudFlare 的 SSL 证书绑定了一个 RSA 密钥对。

现代浏览器也支持基于椭圆曲线的证书。如果 CloudFlare 的 SSL 证书是基于椭圆曲线的,那么页面上的描述将是 ECDHE_ECDSA。在这种情况下,服务器身份的验证将使用 ECDSA(椭圆曲线数字签名算法)。

CloudFlare 使用的 ECC 曲线(与 Google.com相同)的参数如下:

最大值:115792089210356248762697446949407573530086143415290314195533631308867097853951
曲线:y² = x³ + ax + b
a = 115792089210356248762697446949407573530086143415290314195533631308867097853948
b = 41058363725152142129326129780047268409114441015993725554835256314039467401291

ECDSA 相对于 RSA 的性能提升是显著的。即使在使用没有汇编优化椭圆曲线代码的较老版本的 OpenSSL 时,一个 256 位的 ECDSA 签名也比一个 2048 位的 RSA 签名快 20 倍以上。

在一台配备 OpenSSL 0.9.8 的 MacBook Pro 上,性能基准测试结果显示:

  • 执行 10 秒的 256 位 ECDSA 签名:42874 个 256 位 ECDSA 签名在 9.99 秒内完成
  • 执行 10 秒的 2048 位私钥 RSA 签名:1864 个 2048 位私钥 RSA 签名在 9.99 秒内完成

这表明使用 ECDSA 的签名速度是 RSA 的 23 倍。

CloudFlare 不断寻求改进 SSL 性能。就在本周,CloudFlare 开始使用一种汇编优化的 ECC 版本,这使得 ECDHE 的速度翻了一番。使用椭圆曲线密码学可以为服务器和浏览器节省时间、电力和计算资源,帮助云服务平台使网络变得更加快速和安全。

9  椭圆曲线密码学的缺点

在椭圆曲线的世界中,并非一切都是美好的,一些问题和不确定性曾经阻碍了它在整个行业中的广泛采用。

最近新闻中提到的双椭圆曲线确定性随机数生成器(Dual_EC_DRBG)就是一个例子。这是一种由美国国家标准与技术研究院(NIST)标准化,并得到国家安全局(NSA)推广的随机数生成器。Dual_EC_DRBG 利用椭圆曲线的数学生成看似随机的数字。该算法涉及在曲线上的点,并反复进行椭圆曲线的 “dot” 操作。发表后,有报道称它可能被设计有一个后门,这意味着拥有正确秘密数字的人可以完全预测返回的数字序列。

最近,RSA 公司召回了几款安全产品,因为这些随机数生成器被设置为它们安全产品线的默认伪随机数生成器(PRNG)。无论这个随机数生成器是否真的有后门,这并不影响椭圆曲线技术的强度,但它确实引发了人们对椭圆曲线标准化过程的质疑。正如我们之前所写,这也部分解释了为什么应该关注确保系统使用足够的随机数。在未来的博客文章中,我们将讨论如何在这个算法规格中悄悄地植入后门。

一些世界上最持怀疑态度的密码学家现在对 NIST 本身以及它发布并由 NSA 支持的标准持有一般性的不信任。几乎所有广泛实现的椭圆曲线都属于这个类别。这些曲线尚未知的攻击,选择它们是因为它们的算术效率,但是劣质曲线确实存在,一些人认为谨慎总比后悔好。在 NIST 之外开发具有高效算术的曲线取得了进展,包括由 Daniel Bernstein(djb)创建的曲线 25519 以及 Paulo Baretto 及其合作者最近计算的曲线,尽管这些曲线的广泛采用还需要几年时间。直到这些非传统的曲线被浏览器实现,它们才能用于保护网络上的加密传输。

关于椭圆曲线密码学的另一个不确定性与专利有关。黑莓(通过其 2009 年收购的 Certicom)拥有超过 130 项专利,涵盖椭圆曲线的特定用途。许多这些专利已经授权给私营组织和甚至 NSA 使用。这使得一些开发者在实施 ECC 时犹豫不决,担心他们的实现是否侵犯这些专利组合。2007 年,Certicom 对索尼提起诉讼,指控其使用椭圆曲线的方式,但该诉讼在 2009 年被驳回。现在有许多被认为是不会侵犯这些专利的椭圆曲线密码学实现,并且已经被广泛使用。

与 RSA 相比,ECDSA 数字签名的一个缺点是它需要一个好的熵源。没有适当的随机性,私钥可能会被揭示。Android 上的随机数生成器的一个漏洞允许黑客在 2013 年初找到用于保护数人比特币钱包的 ECDSA 私钥。索尼的 PlayStation 实现中的 ECDSA 也有类似的漏洞。在制作签名的机器上需要一个好的随机数源。Dual_EC_DRBG 不被推荐使用。

10  展望未来

即使有了上述警告,椭圆曲线密码学相对于传统 RSA 的优势仍然被广泛接受。许多专家担心,RSA 和 Diffie-Hellman 背后的数学算法可能在 5 年内(原博客写作于 2013 年)被破解,使 ECC 成为唯一合理的替代方案。

椭圆曲线得到所有现代浏览器的支持,大多数证书颁发机构也提供椭圆曲线证书。CloudFlare 保护的每个 SSL 连接默认会在现代浏览器上使用 ECC 。很快,CloudFlare 将允许客户上传自己的椭圆曲线证书。这将使 ECC 不仅用于保护底层消息,还用于身份验证,从而加快 HTTPS 会话的速度。关于这一功能的更多详情,将在功能上线时发布。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1588447.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv8草莓生长状态(灰叶病缺钙需要肥料)检测系统(python开发,带有训练模型,可以重新训练,并有Pyqt5界面可视化)

本次检测系统,不仅可以检测图片、视频或摄像头当中出现的草莓叶子是否有灰叶病,还可以检测出草莓叶是否缺钙、是否需要施肥等状态。基于最新的YOLO-v8训练的草莓生长状态检测模型和完整的python代码以及草莓的训练数据,下载后即可运行&#x…

CentOS7安装MySQL8.0教程

环境介绍 操作系统:Centos7.6 MySQL版本: 8.0.27 只要是8.0.*版本,那就可以按照本文说明安装 一、安装前准备 1、卸载MariaDB 安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB。 1.1、查看是否安装mariadb rpm -…

如何在Windows通过固定tcp公网地址ssh远程访问本地Kali Linux

文章目录 1. 启动kali ssh 服务2. kali 安装cpolar 内网穿透3. 配置kali ssh公网地址4. 远程连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 本文主要介绍如何在Kali系统编辑SSH配置文件并结合cpolar内网穿透软件,实现公网环境ssh远程连接本地kali系统。 1. 启…

bilibili PC客户端架构设计——基于Electron

众所周知,bilibili是个学习的网站,网页端和粉版移动端都非常的好用,不过,相对其它平台来说bilibili的PC客户端也算是大器晚成了。在有些场景PC客户端的优势也是显而易见的,比如,跓留电脑桌面的快捷、独立的…

实战纪实 | 编辑器漏洞之Ueditor-任意文件上传漏洞 (老洞新谈)

UEditor 任意文件上传漏洞 前言 前段时间在做某政府单位的项目的时候发现存在该漏洞,虽然是一个老洞,但这也是容易被忽视,且能快速拿到shell的漏洞,在利用方式上有一些不一样的心得,希望能帮助到一些还不太了解的小伙…

JAVA中如何确保N个线程可以访问N个资源,但同时又不导致死锁?

使用多线程的时候,一种非常简单的避免死锁的方式:指定获取锁的顺序,并强制现场按照指定的顺序获取锁。因此,所有线程按照同样的顺序加锁和释放就不会出现死锁。 请问什么是死锁(deadlock)? 竞争不可抢占资源形成死锁 如果有两…

工业采集网关有何功能?可以带来哪些价值?-天拓四方

一、行业背景 随着工业领域的快速发展,尤其是智能制造的兴起,工业自动化、智能化和数字化已成为工业转型升级的必然趋势。在这一进程中,工业数据采集和处理扮演着至关重要的角色。作为连接工业现场设备、传感器与上层管理系统的桥梁&#xf…

2024年环境预防与新材料国际会议 (EPNM 2024)

2024年环境预防与新材料国际会议 (EPNM 2024) 2024 International Conference on Environmental Prevention and New Materials 【会议简介】 2024年环境预防与新材料国际会议即将在张家界召开。本次会议旨在汇聚全球环境预防与新材料领域的专家学者,共同探讨环境…

【MATLAB源码-第37期】matlab基于STBC(空时分组码)的MIMO系统误码率仿真。

操作环境: MATLAB 2022a 1、算法描述 空时分组码(Space-Time Block Code,简称STBC)是一种在多输入多输出(MIMO)无线通信系统中用于提高数据传输可靠性的编码技术。MIMO技术利用多个发射和接收天线来同时…

RA4000CE为汽车动力传动系统提供解决方案

目前汽车电气化的水平越来越高,其中比较显著的一个发展方向就是将发动机管理系统和自动变速器控制系统,集成为动力传动系统的综合控制(PCM)。作为汽车动力的核心部件,通过电子系统的运用,将外部多个传感器和执行环节的数据进行统一…

私有化即时通讯软件,WorkPlus提供的私有化、安全通讯解决方案

在当今信息化快速发展的时代,安全问题已经成为各行各业关注的焦点。特别是在金融、政府单位和芯片等关键行业,信息安全的重要性不言而喻。这些行业涉及到大量的敏感数据和关键信息,一旦发生泄露,可能会对国家安全、企业利益甚至个…

上位机图像处理和嵌入式模块部署(改进的qmacvisual动态插件卸载)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们讨论过,qmacvisual虽然提供了很多的功能,包括的种类很多,但是总有一些功能是客户希望定制的。这些都是…

局域网内部使用的视频会议系统推荐

随着远程办公的普及和全球化的发展趋势,企业需要一个高效、灵活、安全的音视频会议解决方案,以支持远程办公的协同工作、跨地域沟通等需要。私有化音视频会议就是一个适合企业自身部署的解决方案。它不仅能够满足企业信息管理和保密的需求,而…

关于DNS解析那些事儿,了解DNS解析的基础知识

DNS,全称Domain Name System域名系统,是一个将域名和IP地址相互映射的一个分布于世界各地的分布式数据库,而DNS解析就是将域名转换为IP地址的过程,使人们可以轻松实现通过域名访问网站。DNS解析是网站建设非常关键的一步&#xff…

事务的隔离性

参考: 小林coding MySQL服务器同时处理多个事务时,会出现脏读,不可重复读,幻读问题。 脏读 一个事务读到另一个未提交事务修改过的数据。 举例:事务A先读取数据,并对其进行修改,此时事务B进行读取获取到…

2024妈妈杯mathorcup B题详细思路代码:甲骨文智能识别中原始拓片单字自动分割与识别研究

甲骨文智能识别中原始拓片单字自动分割与识别研究: 问题一: 图像预处理:这通常包括将图像转换为灰度图,剔除噪声,调整对比度,以及可能的二值化处理,使得甲骨文的特征更加突出。此外&#xff0c…

企企通入选2023年度中国高科技高成长企业、2023中小微企业数字化转型服务商TOP100榜单!

近期,2023年度中国高科技高成长企业系列榜单、2023中小微企业数字化转型服务商TOP100重磅发布,企企通凭借在数字化采购领域的产品能力和服务能力等综合实力,连续斩获多个奖项,得到主流权威媒体机构认可,印证了企企通的…

leetcode 1702

leetcode 1702 题目 例子 代码思路 class Solution { public:string maximumBinaryString(string binary) {int n binary.size();int i binary.find(0);if(i string::npos){return binary;}int zeros count(binary.begin(), binary.end(), 0);string s(n, 1);s[izeros-1]…

Jmeter02-2:参数化组件其他方式

0、Jmeter组件:参数化概述 0.1 是什么? 参数化是动态的获取并设置数据 0.2 为什么? 比如执行批量操作时,批量插入或批量删除,之前数据都是手写的,每执行完都要修改一次,效率太低 而参数化就是…