奇妙的安全旅行之ECC算法

hi,大家好,我是开发者FTD。今天我们来介绍一下非对称加密算法的ECC算法。

ECC 算法简介

ECC 是 Elliptic Curves Cryptography 的缩写,意为椭圆曲线密码编码学。和RSA算法一样,ECC算法也属于公开密钥算法。最初由 Koblitz 和 Miller 两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。

ECC 算法的数学理论非常深奥和复杂,在工程应用中比较难于实现,但它的单位安全强度相对较高,它的破译或求解难度基本上是指数级的,黑客很难用通常使用的暴力破解的方法来破解。RSA算法的特点之一是数学原理相对简单,在工程应用中比较易于实现,但它的单位安全强度相对较低。因此,ECC算法的可以用较少的计算能力提供比RSA加密算法更高的安全强度,有效地解决了“提高安全强度必须增加密钥长度”的工程实现问题。

ECC 算法工作原理

近年来,人们对ECC的认识已经不再处于研究阶段,开始逐步进入实际应用,如国家密码管理局颁布的SM2算法就是基于ECC算法的。下面我们来认识一下ECC的工作原理。

密码学中的椭圆曲线

定义

在有限域 Fp 中定义一个椭圆曲线,常用
y 2 = x 3 + a x + b y^2 = x^3 + ax + b y2=x3+ax+b
Fp 中只有p个元素,p为素数

Fp 中,
a + b ≡ c ( m o d p ) , a × b ≡ c ( m o d p ) , a / b ≡ c ( m o d p ) a+b≡c (mod \quad p),a×b≡c (mod \quad p),a/b≡c (mod \quad p) a+bc(modp)a×bc(modp)a/bc(mo

你可能感兴趣的:(加密算法,加密解密,算法)