椭圆曲线 ECC 加密算法入门介绍 前言 同 RSA(Ron Riv est,Adi Shamir,Len Adleman 三位天才的名字)一样,ECC(Elliptic Cu rv es Cry ptography ,椭圆曲线密码编码学)也属于公开密钥算法
目前,国内详细介绍 ECC的公开文献并不多(反正我没有找到)
有一些简介,也是泛泛而谈,看完后依然理解不了ECC 的实质(可能我理解力太差)
前些天我从国外网站找到些材料,看完后对 ECC 似乎懵懂了
于是我想把我对 ECC 的认识整理一下,与大家分享
当然 ECC 博大精深,我的认识还很肤浅,文章中错误一定不少,欢迎各路高手批评指正,小弟我洗耳恭听,并及时改正
文章将采用连载的方式,我写好一点就贴出来一点
本文主要侧重理论,代码实现暂不涉及
这就要求你要有一点数学功底
最好你能理解 RSA 算法,对公开密钥算法有一个了解
《近世代数基础》《初等数论》之类的书,最好您先翻一下,这对您理解本文是有帮助的
别怕,我尽量会把语言通俗些,希望本文能成为学习ECC 的敲门砖
一、从平行线谈起 平行线,永不相交
没有人怀疑把:)不过到了近代这个结论遭到了质疑
平行线会不会在很远很远的地方相交了
事实上没有人见到过
所以“平行线,永不相交”只是假设(大家想想初中学习的平行公理,是没有证明的)
既然可以假设平行线永不相交,也可以假设平行线在很远很远的地方相交了
即平行线相交于无穷远点P∞ (请大家闭上眼睛,想象一下那个无穷远点P∞ ,P∞ 是不是很虚幻,其实与其说数学锻炼人的抽象能力,还不如说是锻炼人的想象力)
给个图帮助理解一下: 直线上出现P∞点,所带来的好处是所有的直线都相交了,且只有一个交点
这就把直线的平行与相交统一了
为与无穷远点相区别把原来平面上的点叫做平常点
以下是无穷远点的几个性质
▲直线L 上的无穷远点只能有