《深入浅出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就是一个命名曲线。

相关推荐
Tisfy1 分钟前
LeetCode 1914.循环轮转矩阵:大模拟(数组原地轮转) —— 附O(1)空间版本
算法·leetcode·矩阵·大模拟
Hello.Reader5 分钟前
算法基础(三)—— 插入排序从整理扑克牌到有序数组
java·算法·排序算法
50万马克的面包5 分钟前
C语言:三大基础排序算法模板 冒泡 / 选择 / 插入)
c语言·笔记·算法·排序算法
罗超驿6 分钟前
3.快乐数专题学习笔记——双指针法在LeetCode 202题中的应用
java·算法·leetcode·职场和发展
亚远景aspice8 分钟前
亚远景-AI系统的V模型开发:基于ISO/PAS 8800的安全需求导出、架构措施与验证确认
网络·安全·汽车
无限进步_8 分钟前
【C++】深入底层:自己动手实现一个哈希表
开发语言·数据结构·c++·算法·链表·散列表·visual studio
稳联技术老娜9 分钟前
网关赋能汽车零部件车门产线智能化升级之ABB IRB 1260机器人与倍福CX5130 PLC通讯应用案例
网络
_深海凉_9 分钟前
LeetCode热题100-小于 n 的最大数(字节高频题)
算法·leetcode·职场和发展
段一凡-华北理工大学10 分钟前
高炉炼铁领域炉温监测、预警、调控智能体设计与应用】~系列文章15:可视化界面设计:让数据说话
网络·人工智能·信息可视化·知识图谱·高炉炼铁·工业智能体
小雅痞14 分钟前
[Java][Leetcode middle] 36. 有效的数独
java·算法·leetcode