《深入浅出HTTPS》读书笔记(24):椭圆曲线密码学

《深入浅出HTTPS​​​​​​​​​​》读书笔记(24):椭圆曲线密码学

为了保证DH的密钥对不被破解,提升安全性的主要手段就是增加密钥对的长度,但是长度越长,性能越低。

为了解决性能问题,需要了解下椭圆曲线密码学(Elliptic Curve Cryptography),简称为ECC。

ECC是新一代的公开密钥算法,主要的优点就是安全性,极短的密钥能够提供很大的安全性。

ECC算法的优势就是性能和安全性非常高。

【ECC算法的基本模型】

ECC是比离散对数类算法(比如RSA和DH算法)更复杂的算法。ECC椭圆曲线由很多点组成,这些点由特定的方程式组成的。

椭圆曲线有个特点,任意两个点能够得到这条椭圆曲线上的另外一点,这个操作称为打点,经过多次(比如n次)打点后,能够生成一个最终点(F)。

ECC密码学的关键点就在于就算知道具体方程式、基点(G)、最终点(F),也无法知晓一共打点了多少次(n),这就是椭圆曲线的关键,很难破解打点过程。

椭圆曲线的关键点就是方程式。

必须把所有的操作数限制在一个有限域中,为了控制在有限域中,需要一个很大的质数(p),而这个曲线上的点都必须小于这个质数。

ECC由方程式、基点(G)、质数(P)组成,当然还有a、b这样的方程式参数。

为了安全,系统预先定义了一系列的曲线,称为命名曲线(name curve),比如secp256k1就是一个命名曲线。

相关推荐
小白今天也很酷几秒前
MCXN947更新板载DAP_Link固件的方法
c语言·python·单片机·ubuntu·excel·1024程序员节
.道阻且长.1 分钟前
Linux 基本开发工具:编辑器vim,配置vim
linux·运维·服务器·职场和发展·编辑器·vim·1024程序员节
AIyy8662 分钟前
在线PPT生成工具功能观察:百度文库智能PPT、WPS AI与Kimi的侧重点
1024程序员节
小小AK3 分钟前
线上退货单同步实战:从聚水潭到金蝶云星空的奇门对接策略
1024程序员节
攻城狮Soar4 分钟前
详解volatile
开发语言·c++·1024程序员节
小羊没烦恼!4 分钟前
.NET无侵入自动化探针原理和主流实现
运维·开发语言·javascript·python·自动化·.net·1024程序员节
全栈小54 分钟前
C# Quartz.Net 定时任务开发与统一异常捕获实战
1024程序员节
A-刘晨阳5 分钟前
【云原生】nerdctl 部署及使用指南
运维·docker·kubernetes·云计算·1024程序员节·nerdctl
大王10246 分钟前
2026的java开发
1024程序员节
江屿风6 分钟前
【Linux-System】【System V共享内存:从原理到实战的完整解析】流食般投喂
linux·运维·服务器·笔记·系统架构·1024程序员节