椭圆函数密码算法

原创 2004年06月24日 15:52:00
椭圆曲线密码算法介绍

一种相对比较新的技术--椭圆曲线加密系统,已经逐渐被人们用做基本的数字签名系统。
椭圆曲线作为数字签名的基本原理大致和RSA与DSA的功能相同,并且数字签名的产生与认
证的速度要比RSA和DSA快。下面我们简单的介绍一下椭圆曲线和椭圆曲线上的密码算法。

1. 有限域上的椭圆曲线
设K表示一个有限域,E是域K上的椭圆曲线,则E是一个点的集合:
E/K = { ( x, y ) | y2+ a1xy + a3y = x3 + a2x2 + a4x + a6,
a1, a3, a2, a4, a6 x, y K } { O } 其中O表示无穷远点。
在E上定义‘+’运算,P + Q = R,R是过P、Q的直线与曲线的另一交点关于x轴的对称点,
当P = Q时R是P点的切线与曲线的另一交点关于x轴的对称点。这样,( E, + )构成可换群
( Abel群),O是加法单位元(零元)。
椭圆曲线离散对数问题(ECDLP)定义如下:给定定义在K上的椭圆曲线E,一个n阶的点P
E/K,和点Q E/ K,如果存在l,确定整数l, 0 l n - 1, Q = lP。我们知道,RSA是基于因
子分解,其算法的核心就是如何寻找大叔的因子分解,但ECDLP是比因子分解难得多的问题

椭圆曲线上的加法: P + Q = R

椭圆曲线上一点的2倍: P + P = R.
2. 椭圆曲线上的密码算法
基于该难题,1985年N.Koblitz和Miller提出将椭圆曲线用于密码算法,分别利用有限域上
椭圆曲线的点构成的群实现了离散对数密码算法。在《数字签名分析和实现》中详细地介
绍过的DSA算法,被广泛应用在椭圆曲线上的变化,称为椭圆曲线数字签名算法ECDSA,由
IEEE工作组和ANSI(Amercian National Standards Institute)X9组织开发。随即展开了
椭圆曲线密码学研究,除椭圆曲线外,还有人提出在其它类型的曲线如超椭圆曲线上实现
公钥密码算法。其根据是有限域上的椭圆曲线上的点群中的离散对数问题ECDLP。ECDLP是
比因子分解问题更难的问题,许多密码专家认为它是指数级的难度。从目前已知的最好求
解算法来看,160比特的椭圆曲线密码算法的安全性相当于1024比特的RSA算法。
此后,有人在椭圆曲线上实现了类似ElGamal的加密算法,以及可恢复明文的数字签名方案
。除有限域上的椭圆曲线密码算法外,人们还探索了在椭圆曲线上实现RSA算法,如KMOV等

3.椭圆曲线密码算法的发展
RSA算法是大家熟悉的公钥密码算法,用它可以实现数字签名,PGP软件用到的就是RSA算法
。RSA算法是基于大数的因子分解难题,由于计算水平的提高,人们逐渐可以用计算机分解
更大的数。因此RSA算法的密钥也就越来越长。在电子商务的SET协议中,规定用户使用10
24比特的RSA密钥,认证中心CA使用2048比特的RSA密钥。长密钥带来两个问题,一是运算
速度较慢,另一个是密钥存储和管理问题。如果用16位的IC卡实现电子钱包,使用1024比
特的RSA算法速度就很慢,要以秒计算。而固化RSA算法的IC卡或32位的IC卡价格则较贵。

椭圆曲线加密系统由很多依赖于离散算法问题的加密系统组成,DSA就是一个很好的例子,
成,DSA就是一个很好的例子,
DSA是以离散对数为基础的算法。椭圆曲线数字签名系统已经被研究了很多年并创造了很多
商业价值。
由于其自身优点,椭圆曲线密码学一出现便受到关注。现在密码学界普遍认为它将替代RS
A成为通用的公钥密码算法,SET( Secure Electronic Transactions )协议的制定者已把
它作为下一代SET协议中缺省的公钥密码算法,目前已成为研究的热点,是很有前途的研究
方向。
应用椭圆曲线的数字签名同时可以很容易地使用到小的有限资源的设备中例如:小卡(信
用卡大小的包含有微小处理芯片的塑料卡片)。椭圆曲线上的密码算法速度很快,分别在
32位的PC机上和16位微处理器上实现了快速的椭圆曲线密码算法,其中16位微处理器上的
EDSA数字签名不足500ms。

 

标注:这文章写的并不详细,具体应用的程序以后有机会贴上来

两种计算自然对数的算法比较

引言 前一段时间,我写了两篇计算自然对数的算法的随笔,分别使用椭圆θ函数-算术几何平均法和泰勒级数展开式来计算。那么这两种算法的性能如何呢?在参考资料[3]中有以下说法:   上面的...
  • u013948187
  • u013948187
  • 2015年08月01日 12:31
  • 490

椭圆函数

你可以看到,这个函数需要一个可变数量的参数。现在,让我们看看组件以弥补这个例子。 第一,我们要cstdarg包含头文件。这头_列表定义_ VA,VA和VA _发射端宏,这是我们需要使用参数访问是...
  • sssdffa
  • sssdffa
  • 2014年09月19日 14:06
  • 251

计算机图形学(二)输出图元_6_OpenGL曲线函数_4_中点椭圆算法(下)

假设已经在整数屏幕坐标中给定rx,ry和椭圆中心,在中点椭圆算法中我们仅需增量的整数运算来确定决策参数的值。增量r2y 、r2x和2r2yx和2r2xy仅需在程序的开始求值一次。中点椭圆算法可以概括...
  • heyuchang666
  • heyuchang666
  • 2016年04月27日 16:22
  • 3510

椭圆函数与模函数(2012.10出版)(2013-01-16 09:34:57)

20160814添加: 目录 绪论 椭圆曲线及其在密码学中的应用 l 1.引言 l 2.牛顿对曲线的分类 参见数学及其历史第7章第4节牛顿的三次方程分类 一次和二次曲线是直线和圆锥截线。 ...
  • u010401391
  • u010401391
  • 2015年11月02日 19:43
  • 1359

算法 - 随机密码生成算法

算法 - 随机密码生成算法import java.util.Random;/** * Created by 谭健 on 2017/10/16. 11:13. * © All Rights Rese...
  • qq_15071263
  • qq_15071263
  • 2017年10月16日 13:07
  • 491

国产密码安全算法总结

为了保障商用密码安全,国家商用密码管理办公室制定了一系列密码标准,包括 SSF33、SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法等等。1、SM1算法。该算法是由国家密码...
  • u012198553
  • u012198553
  • 2017年03月09日 17:41
  • 5430

暴力破解密码算法-JS

md5加密算法 var getMd5 = function (string) { function RotateLeft(lValue, iShiftBits) { return...
  • Ronux
  • Ronux
  • 2015年09月25日 11:09
  • 2469

密码算法安全性列表

密码算法安全性列表 业界已知不安全算法     对称算法:DES在所有场景下都不安全。     对称算法:3DES在密钥长度256以下,k1=k2=k3时不安全。     对称算法:SKIPJ...
  • yuan_chongjie
  • yuan_chongjie
  • 2015年03月28日 10:14
  • 1867

密码算法介绍

密码算法介绍 密码按其功能特性主要可分为三类:公钥密码(也称非对称密码)、对称密码(也称传统密码)和安全Hash算法。 对称密码运算速度快,主要用于对大存储量或高流量的数据进行加密和解密,但对...
  • xiaotanyu13
  • xiaotanyu13
  • 2012年09月21日 15:29
  • 2149

国产密码算法:锻造信息安全之盾

随着商业银行信息化的快速发展,以网上银行为代表的基于Internet和其他各类网络的应用系统迅速普及。由于个人金融信息具有高度的敏感性,因此,这些信息在网络上的传输和在本地的存储均应采取相应的加密措施...
  • sszgg2006
  • sszgg2006
  • 2015年10月10日 09:34
  • 4536
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:椭圆函数密码算法
举报原因:
原因补充:

(最多只允许输入30个字)