2008-05-23

ECC

九大威脅國安議題 成為未來商機
2008-4-25/ 資策會/ 撰文

未來全球將面臨國土安全議題之「邊境安全、財務系統、實體基礎建設、資通訊系統、公共健康、交通運輸、天然資源、破壞性武器」等九大威脅來源,而同時也有 「通信設施、健康管理、資訊保障、整合、存貨管理、人身安全、隱私與法律服務、應變管理、監控與情報、教育訓練」等十大解決方案。

國土安全議題除全球先進國家的持續重視外,新興區域市場的開放經濟,也使得許多開發中國家因貧富差距而產生不斷攀升的犯罪率,而已開發國家的國際恐怖攻擊事件,也使得國土邊境與境內重要基礎設施的安全議題,再度成為關切的焦點。

 資策會MIC  表示,2005年全球國土安全市場規模為464億美元,美國就占有超過五成的比例,據資策會MIC預估至2015年時,全球國土安全市場規模可達 1,783億美元,而隨著國際大型活動與重大建設持續增加,各項境內重要基礎設施的安全議題將逐步加溫,也相對促使安全監控產品的市場商機湧現。

資策會MIC資深產業分析師周文卿表示,國內業者過去在資訊安全監控領域的發展並不陌生,台灣業者在全球安全監控產品市場發展趨勢中,可充份發揮全球採購 中心的角色,以多年累積的成本掌控優勢,輔以資通訊科技為核心發展策略,推動研發資訊安全監控的利基產品,而隨著國際大型活動與重大建設持續的增加,不斷 受到重視的國土安全議題,都將帶動國土安監控產品的市場持續成長,而未來將以安全監控、緊急應變、安全檢測及維生系統為四大發展方向,針對人身、系統、資 產、實體設施提供以安全防護為目的創新安全支援服務。


http://cpro.com.tw/channel/news/content/index.php?news_id=56091

http://bbs.sdu.edu.cn/pc/pccon.php?id=973&nid=48946&order=&tid=2000

带椭圆曲线密码算法ECC
 
  
1  背景简介
   随着通讯网络特别是Internet的高速发展,利用网络作为信息交流和信息处理变得越来越普遍,社会的传统事务和业务运作模式受到前所未有的冲击。目 前,无论是国家政府还是企业都正融入这场网络革命中,从其原来的传统经营模式向网络模式演化。未来的电子政务、电子商务、电子业务将成为不可逆转的发展趋 势。在与日俱增的网络活动中,人们越来越关心信息安全这个问题。这集中体现在:
(1)网络的身份认证——确认网络客户的真实身份
(2)信息和数据的保密性——个人或系统机密信息和数据保护
(3)信息和数据完整性——防止不合法的数据修改
(4)不可抵赖性——网络环境下行为的事后的不可抵赖(数字签名)
  信息安全中最核心的技术是密码技术,基本上可分为序列密码、对称密码(又称分组密码)、非对称密码(又称公钥密码)三种。
非 对称密码算法是支撑解决以上所涉的四个关键方面的问题的核心。目前越来越流行的是基于PKI体系模型的解决方案。在PKI体系模型中,客户端需要一较好的 个人信息安全载体,智能卡或智能密码钥匙将是一较理想的方式,都必须支持公钥算法,而ECC是最适合使用在这一资源受限制的客户端产品中。

2 椭圆曲线密码算法ECC
   自公钥密码问世以来,学者们提出了许多种公钥加密方法,它们的安全性都是基于复杂的数学难题。根据所基于的数学难题来分类,有以下三类系统目前被认为是 安全和有效的:(1)大整数因子分解系统(代表性的有RSA),(2)有限域(数学中的一种代数结构)离散对数系统(代表性的有DSA),(3)有限域椭 园曲线离散对数系统(ECC)。当前最著名、应用最广泛的公钥系统RSA是由Rivet、Shamir、Adelman提出 的(简称为RSA系统),它的安全性是基于大整数素因子分解的困难性,而大整数因子分解问题是数学上的著名难题,至今没有有效的方法予以解决,因此可以确 保RSA算法的安全性。RSA系统是公钥系统的最具有典型意义的方法,大多数使用公钥密码进行加密和数字签名的产品和标准使用的都是RSA算法。RSA方 法的优点主要在于原理简单,易于使用。但是,随着分解大整数方法的进步及完善、计算机速度的提高以及计算机网络的发展(可以使用成千上万台机器同时进行大 整数分解),作为RSA加解密安全保障的大整数要求越来越大。为了保证RSA使用的安全性,其密钥的位数一直在增加,比如,目前一般认为RSA需要 1024位以上的字长才有安全保障。但是,密钥长度的增加导致了其加解密的速度大为降低,硬件实现也变得越来越难以忍受,这对使用RSA的应用带来了很重 的负担,对进行大量安全交易的电子商务更是如此,从而使得其应用范围越来越受到制约。DSA(Data Signature Algorithm)是基于有限域离散对数问题的数字签名标准,它仅提供数字签名,不提供数据加密功能。安全性更高、算法实现性能更好的公钥系统椭圆曲线 加密算法ECC(Elliptic Curve Cryptography)基于有限域上椭圆曲线的离散对数计算困难性。人类研究椭圆曲线已有百年以上的历史,但真正把其应用到密码学中是1985年由 Koblitz(美国华盛顿大学)和Miller(IBM公司) 两人提出。定义在有限域(Fp 或F(2m))的椭圆曲线(y2=x3+ax+b)上的点(x,y),再加上无穷点O,如按一定的规则运算(估且称为乘法)将组成一个群(数学中的一种代 数结构)。有限域上椭圆曲线乘法群也有相对应的离散对数计算困难性问题。因此,许多公开密码系统都是基于此问题发展出来的,如类似ELGamal,DSA 等密码系统的ECES,ECDSA。

3 椭圆曲线加密算法ECC的优点
  椭圆曲线加密算法ECC与RSA方法相比有着很多技术优点:
  ●安全性能更高
  加密算法的安全性能一般通过该算法的抗攻击强度来反映。ECC和其他几种公钥系统相比,其抗攻击性具有绝对的优势。椭圆曲线的离散对数计算困难性(ECDLP)在计算复杂度上目前是完全指数级,而RSA 亚指数级的。这体现ECC比RSA的每bit安全性能更高。
  ●计算量小和处理速度快
   在一定的相同的计算资源条件下,虽然在RSA中可以通过选取较小的公钥(可以小到3)的方法提高公钥处理速度,即提高加密和签名验证的速度,使其在加密 和签名验证速度上与ECC有可比性,但在私钥的处理速度上(解密和签名),ECC远比RSA、DSA快得多。因此ECC总的速度比RSA、DSA要快得 多。同时ECC系统的密钥生成速度比RSA快百倍以上。因此在相同条件下,ECC则有更高的加密性能。
   ●存储空间占用小
   ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多。160位 ECC与1024位 RSA、DSA有相同的安全强度。而210位 ECC则与2048bit RSA、DSA具有相同的安全强度。意味着它所占的存贮空间要小得多。这对于加密算法在资源受限环境上(如智能卡等)的应用具有特别重要的意义。
  ●带宽要求低
  当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。而公钥加密系统多用于短消息,例如用于数字签名和用于对对称系统的会话密钥传递。带宽要求低使ECC在无线网络领域具有广泛的应用前景。

4椭圆曲线加密算法ECC的相关标准
   ECC的这些特点使它在某些领域(如PDA、手机、智能卡)的应用将取代RSA,并成为通用的公钥加密算法。许多国际标准化组织(政府、工业界、金融 界、商业界等)已将各种椭圆曲线密码体制作为其标准化文件向全球颁布。ECC标准大体可以分为两种形式:一类是技术标准,即描述以技术支撑为主的ECC体 制,主要有IEEEP1363、ANSI X9.62、ANSI X9.63、SEC1、SEC2、FIP 186-2、ISO/IEC 14888-3。规范了ECC的各种参数的选择,并给出了各级安全强度下的一组ECC参数。另一类是应用标准,即在具体的应用环境中建议使用ECC技术, 主要有ISO/IEC 15946、IETF PKIX、IETF TLS、WAP WTLS等。在标准化的同时,一些基于标准(或草案)的各种椭圆曲线加密、签名、密钥交换的软、硬件也相继问世。美国RSA数据安全公司在1997年公布 了包含ECC的密码引擎工具包BSAFE 4.0; 以加拿大Certicom为首的安全公司和工业界联合也研制、生产了以椭圆曲线密码算法为核心的密码产品,还提出了各种安全条件下对椭圆曲线离散对数攻击 的悬赏挑战。可以相信,ECC技术在信息安全领域中的应用会越来越广。

5带ECC算法的智能卡SmartCOS-PK(ECC)
   深圳市明华澳汉科技股份有限公司是一个专业从事智能卡科技和信息安全技术产品开发经营的高科技企业。公司有国内大型的智能卡生产基地,国内最大的智能卡 市场推广、销售和服务网络,国内实力最强的智能卡安全技术研究开发机构。明华公司所开发的智能卡操作系统SmartCOS已经通过国家密码管理委员会、中 国人民银行、各政府部门和国内外多个大型商业机构认证。海南信安数据系统有限公司是一家专业研究椭圆曲线算法ECC的专业公司。两家公司联合开发出了国内 第一个带椭圆曲线算法的智能卡SmartCOS-PK(ECC)。随着电子政务、电子商务的高速发展,继在已支持RSA公钥算法的SmartCOS-PK 版的基础上,再开发出了具有支持160bit/192bit ECC算法的SmartCOS-PK(ECC),并且支持256bit的ECC也将在2001年底推出。同时,还提供系统后台的ECC加密支持库,提供系 统的ECC应用解决方案。明华-信安公司是国内首家推出带ECC算法智能卡的机构,使其在国内智能卡安全技术领域已处于领先地位,并在某些技术上已超越国 际先进水平,体现了对国家科技跨越式发展策略和民族科技进步的突破性贡献。

AES

来自ITwiki,开放的信息技术大百科

AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高。

用AES加密2000年10月,NIST(美国国家标准和技术协会)宣布通过从15种候选算法中选出的一项新的密匙加密标准。 Rijndael被选中成为将来的AES。Rijndael是在1999年下半年,由研究员Joan Daemen 和 Vincent Rijmen 创建的。AES正日益成为加密各种形式的电子数据的实际标准。

美国标准与技术研究院(NIST)于2002年5月26日制定了新的高级加密标准(AES)规范。

算法原理 AES算法基于排列和置换运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。AES使用几种不同的方法来执行排列和置换运算。AES是 一个迭代的、对称密钥分组的密码,它可以使用128、192和256位密钥,并且用128位(16字节)分组加密和解密数据。与公共密钥加密使用密钥对不 同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换 输入数据。 密码学简介 据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用"恩尼格玛"密码机, 密码学在战争中起着非常重要的作用。

随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家保准局公布实施了"美国数据加密 标准(DES)",民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。随着对加密强度的不断提高,近期又出现了 AES、ECC等。

使用密码学可以达到以下目的: 保密性:防止用户的标识或数据被读取。 数据完整性:防止数据被更改。 身份验证:确保数据发自特定的一方。


加密算法介绍 更具密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。对称钥匙加密系统是加密和解密均采用同一把秘 密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。

对称加密算法 对称加密算法用来对敏感数据等信息进行加密,常用的算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。 AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高。 非对称算法 常见的非对称加密算法如下: RSA:由RSA公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件快的长度也是可变的; DSA(Digital Signature Algorithm):数字签名算法,是一种标准的DSS(数字签名标准); ECC(Ellipric Curves Cryptography):椭圆曲线密码便码学。

ECC 在1976年,由于对称加密算法已经不能满足需要,Diffie 和 Hellman 发表了一篇叫《密码学新动向》的文章,介绍了公钥加密的概念,由Rivet、Shamir、 Adelman提出了RSA算法。随着分解大整数方法的进步及完善、计算机速度的提高以及计算机网络的发展,为了保障数据的安全,RSA的密钥需要不断增 加,但是,密钥长度的增加导致了其加解密的速度大为降低,硬件实现也变得越来越难以忍受,这对使用RSA的应用带来了很重的负担,因此需要一种新的算法来 代替RSA。 1985年N.Kobitz和Miller提出将椭圆曲线用于密码算法,根据是有限域上的椭圆曲线上的点群中的离散对数问题ECDLP。ECDLP是比因 子分解问题更难的问题,它是指数级别的难度。

原理——椭圆曲线上的难题 椭圆曲线上离散对数问题ECDLP定义如下:给定素数P和椭圆曲线E,对Q=kP,在已知P,Q的情况下求出小于P的正整数k。可以证明,由k和P计算Q比较容易,而Q和P计算k则比较困难。

将椭圆曲线中的加法运算与离散对数中的模乘运算相对应,将椭圆曲线中的乘法运算与离散对数中的模幂运算相对应,我们就可以建立基于椭圆曲线的对应的密码体制。

例如,对应Diffie-Hellman公钥系统,我们可以通过如下方式在椭圆曲线上予以实现:在E上选取生成元P,要求由P产生的群元素足够多,通信双方A和B分别选取a和b,a和b予以保密,但将aP和bP公开,A和B间通讯用的密钥为abP,这是第三者无法得知的。

对应ELGammal密码系统可以采用如下方式在椭圆曲线上予以实现:将明文m嵌入到E上Pm点,选一点B ∈E ,每一用户都选一整数a,0K=kG [其中 K, G 为 Ep(a,b) 上的点, k 为小于 n (n 是点 G的阶)的整数]

不难发现,给定k和G,根据加法法则,计算K很容易;但给定K和G,求k就相对困难了。 这就是椭圆曲线加密算法采用的难题。我们把点G称为基点(base point),k(k ECC与RSA的比较 ECC和RSA相比,在许多方面都有绝对的优势,主要体现在以下几个方面: 抗攻击性强。相同的密钥长度,其抗攻击性要强很多倍。 计算量小,处理速度快。ECC总的速度比RSA、DSA要快很多。 存储空间占用小。ECC的密钥尺寸和系统参数与RSA、DSA相比要小很多,意味着它所占的存贮空间要小很多。这对于加密算法在IC卡上的应用具有特别重要的意义。 带宽要求低。当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息是ECC带宽要求却低很多。带宽要求低,是ECC在无线网络领域具有广泛的应用前景。

ECC的这些特点是它必将取代RSA,成为通用的公钥加密算法。比如SET协议的制定者已经把它作为下一代SET协议中缺省的公钥密码算法 散列算法 散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法退出任何部分的原始信息。 任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。具有这些 特性的散列结果就可以用于验证信息是否被修改。

单项散列函数一般产生消息摘要,密钥加密等,常见的有: MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单项散列算法。 SHA(Secure Hash Algorithm):可以对任意长度的数据运算产生一个160位的数值;

SHA-1 在1993年,安全散列算法(SHA)由美国国家标准和技术协会提出,并作为联邦信息处理标准(FIPS PUB 180)公布;1995年又发布了一个修订版FIPS PUB 180-1,通常称之为SHA-1。SHA-1是基于MD$算法的,并且它的设计在很大程度上是模仿MD4的。现在已成为公认的最安全的散列算法之一,并 被广泛使用。

原理 SHA-1是一种数据加密算法,该算法的思想是接受一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列及散列值(也称为信息摘要或信息认证代码)的过程。

单向散列函数的安全性在于其产生散列值的操作过程具有较强的单向性。如果在输入序列中嵌入密码,那么任何人在不知道密码的情况下都不能产生 正确的散列值,从而保证了其安全性。SHA将输入流按照每块512位(64个字节)进行分块,并产生20个字节的被称为信息认证代码或信息摘要的输出。

该算法输入报文的最大长度不超过264位,产生的输出是一个160位的报文摘要。输入是按照512位的分组进行处理的。SHA-1是不可逆的,防冲突,并具有良好的雪崩效应。

通过散列算法可实现数字签名,数字签名的原理是将要传送的明文通过一种函数运算(Hash)转换成报文摘要(不同的明文对应不同的报文摘 要),报文摘要加密后与明文一起传送给接受方,接受方将接受的明文产生新的报文摘要与发送方的发来报文摘要解密比较,比较结果一致表示明文未被改动,如果 不一致表示明文已被篡改。 MAC(信息认证代码)就是一个散列结果,其中部分输入信息是密码,只有知道这个密码的参与者才能再次计算和验证MAC码的合法性。 SHA-1与MD5的比较 因为二者均由MD4导出,SHA-1和MD5很相似。相应的,他们的强度和其他特性也是很相似,但还是有以下几点不同: 对强行攻击的安全性:最显著和最重要的区别是SHA-1摘要比MD5摘要长32位。使用强行技术,产生任何一个报文时期摘要等于改定摘要的难度对MD5是 2128数量级的操作,而对SHA-1则是2160数量级的操作。这样,SHA-1对强行攻击有更大的强度。 对密码分析的安全性:由于MD5的设计,易受密码分析的攻击,SHA-1显得不易受这样的攻击。 速度:在相同的硬件上,SHA-1的运行速度比MD5慢。 对称与非对称算法的比较 以上综述了两种加密方法的原理,总体来说主要有以下几个方面的不同: 在管理方面:公钥密码算法只需要较少的资源就可以实现目的,在密码的分配上,两者之间相差一个指数级别(一个是n一个是n2)。所以私钥密码算法不适应广 域网的使用,而且更重要的一点是它不支持数字签名。 在安全方面:由于供钥密码算法基于未解决的数学难题,在破解上几乎不可能。对于私钥密码算法,到了AES虽说从理论来说是不可能破解的,但从计算机的发展 角度来看,公钥更具有优越性。 从速度上来看:AES的软件实现速度已经达到了每秒数兆或者数十兆比特。是公钥的100倍,如果用硬件来实现的话,这个比值将扩大到1000倍。

加密算法的选择 前面的章节已经介绍了对称加密算法和非对称加密算法,有很多人疑惑:那我们在实际使用的过程中究竟该使用哪一种比较好呢?

我们应该根据自己的使用特点来确定,由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密的速度。

对称加密算法不能实现签名,因此签名只能非对称算法。

由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着她的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。

在实际的操作过程中,我们通常采用的方法是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。

如果在选定了加密算法后,那采用多少位的密钥呢?一般来说,密钥越长,运行的速度就越慢,应该根据我们实际需要的安全级别来选择,一般来说,RSA建议采用1024位的数字,ECC建议采用160位,AES采用128位即可。


http://wiki.ccw.com.cn/AES



信息安全保密的核心――密码技术

  信息安全技术是一门综合的学科,它涉及信息论、计算机科学和密码学等多方面知识,它的主要任务是研究计算机系统和通信网络内信息的保护方法以实现系统内信息的安全、保密、真实和完整。其中,信息安全的核心是密码技术。

  随着计算机网络不断渗透到各个领域,密码学的应用也随之扩大。数字签名、身份鉴别等都是由密码学派生出来的新技术和应用。

  数据加密原理和体制数据加密

  在计算机上实现的数据加密,其加密或解密变换是由密钥控制实现的。密钥(Keyword)是用户按照一种密码体制随机选取,它通常是一随机字符串,是控制明文和密文变换的唯一参数。

    数字签名

    密码技术除了提供信息的加密解密外,还提供对信息来源的鉴别、保证信息的完整和不可否认等功能,而这三种功能都是通过数字签名实现。

    数字签名的原理是将要传送的明文通过一种函数运算(Hash)转换成报文摘要(不同的明文对应不同的报文摘要),报文摘要加密后与明文一起传送给接受方, 接受方将接受的明文产生新的报文摘要与发送方的发来报文摘要解密比较,比较结果一致表示明文未被改动,如果不一致表示明文已被篡改。

    加密体制及比较
    根据密钥类型不同将现代密码技术分为两类:一类是对称加密(秘密钥匙加密)系统,另一类是公开密钥加密(非对称加密)系统。  
    对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。

   对称密码系统的安全性依赖于以下两个因素。第一,加密算法必须是足够强的,仅仅基于密文本身去解密信息在实践上是不可能的;第二,加密方法的安全性依赖 于密钥的秘密性,而不是算法的秘密性,因此,我们没有必要确保算法的秘密性,而需要保证密钥的秘密性。对称加密系统的算法实现速度极快,从AES候选算法 的测试结果看,软件实现的速度都达到了每秒数兆或数十兆比特。对称密码系统的这些特点使其有着广泛的应用。因为算法不需要保密,所以制造商可以开发出低成 本的芯片以实现数据加密。这些芯片有着广泛的应用,适合于大规模生产。

    对称加密系统最大的问题是密钥的分发和管理非常复杂、代价高昂。比如对于具有n个用户的网络,需要n(n-1)/2个密钥,在用户群不是很大的情况下,对 称加密系统是有效的。但是对于大型网络,当用户群很大,分布很广时,密钥的分配和保存就成了大问题。对称加密算法另一个缺点是不能实现数字签名。

   公开密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。由于加密钥匙是公开的,密钥的分配和管理就很简单,比如对于具有n个用户的网络, 仅需要2n个密钥。公开密钥加密系统还能够很容易地实现数字签名。因此,最适合于电子商务应用需要。在实际应用中,公开密钥加密系统并没有完全取代对称密 钥加密系统,这是因为公开密钥加密系统是基于尖端的数学难题,计算非常复杂,它的安全性更高,但它实现速度却远赶不上对称密钥加密系统。在实际应用中可利 用二者的各自优点,采用对称加密系统加密文件,采用公开密钥加密系统加密"加密文件"的密钥(会话密钥),这就是混合加密系统,它较好地解决了运算速度问 题和密钥分配管理问题。因此,公钥密码体制通常被用来加密关键性的、核心的机密数据,而对称密码体制通常被用来加密大量的数据。

  对称密码加密系统

    对称加密系统最著名的是美国数据加密标准DES、AES(高级加密标准)和欧洲数据加密标准IDEA。

    1977年美国国家标准局正式公布实施了美国的数据加密标准DES,公开它的加密算法,并批准用于非机密单位和商业上的保密通信。随后DES成为全世界使 用最广泛的加密标准。加密与解密的密钥和流程是完全相同的,区别仅仅是加密与解密使用的子密钥序列的施加顺序刚好相反。

    但是,经过20多年的使用,已经发现DES很多不足之处,对DES的破解方法也日趋有效。AES将会替代DES成为新一代加密标准。  

    公钥密码加密系统

    自公钥加密问世以来,学者们提出了许多种公钥加密方法,它们的安全性都是基于复杂的数学难题。根据所基于的数学难题来分类,有以下三类系统目前被认为是安 全和有效的:大整数因子分解系统(代表性的有RSA)、椭园曲线离散对数系统(ECC)和离散对数系统 (代表性的有DSA)。

    当前最著名、应用最广泛的公钥系统RSA是由Rivet、Shamir、Adelman提出的(简称为RSA系统),它的安全性是基于大整数素因子分解的 困难性,而大整数因子分解问题是数学上的著名难题,至今没有有效的方法予以解决,因此可以确保RSA算法的安全性。RSA系统是公钥系统的最具有典型意义 的方法,大多数使用公钥密码进行加密和数字签名的产品和标准使用的都是RSA算法。

    RSA方法的优点主要在于原理简单,易于使用。但是,随着分解大整数方法的进步及完善、计算机速度的提高以及计算机网络的发展(可以使用成千上万台机器同 时进行大整数分解),作为RSA加解密安全保障的大整数要求越来越大。为了保证RSA使用的安全性,其密钥的位数一直在增加,比如,目前一般认为RSA需 要1024位以上的字长才有安全保障。但是,密钥长度的增加导致了其加解密的速度大为降低,硬件实现也变得越来越难以忍受,这对使用RSA的应用带来了很 重的负担,对进行大量安全交易的电子商务更是如此,从而使得其应用范围越来越受到制约。

    DSA(Data Signature Algorithm)是基于离散对数问题的数字签名标准,它仅提供数字签名,不提供数据加密功能。安全性更高、算 法实现性能更好的公钥系统椭圆曲线加密算法ECC(Elliptic Curve Cryptography)基于离散对数的计算困难性。

    椭圆曲线加密算法ECC技术优势

    椭圆曲线加密方法与RSA方法相比,有以下优点:
? 安全性能更高
加密算法的安全性能一般通过该算法的抗攻击强度来反映。ECC和其他几种公钥系统相比,其抗攻击性具有绝对的优势。如160位 ECC与1024位 RSA、DSA有相同的安全强度。而210位 ECC则与2048bit RSA、DSA具有相同的安全强度。
? 计算量小,处理速度快
    虽然在RSA中可以通过选取较小的公钥(可以小到3)的方法提高公钥处理速度,即提高加密和签名验证的速度,使其在加密和签名验证速度上与ECC有可比 性,但在私钥的处理速度上(解密和签名),ECC远比RSA、DSA快得多。因此ECC总的速度比RSA、DSA要快得多。  
? 存储空间占用小
    ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。
? 带宽要求低
    当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。而公钥加密系统多用于短消息,例如用于数字签名和用于对对称系统的会话密钥传递。带宽要求低使ECC在无线网络领域具有广泛的应用前景。

    ECC的这些特点使它必将取代RSA,成为通用的公钥加密算法。比如SET协议的制定者已把它作为下一代SET协议中缺省的公钥密码算法。

http://61.191.208.243/safe/t3.htm

加密算法介绍及如何选择加密算法

一.密码学简介

  据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用"恩尼格玛"密码机,密码学在战争中起着非常重要的作用。

  随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了"美国数据加密标准 (DES)",民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。随着对加密强度需求的不断提高,近期又出现了 AES、ECC等。

  使用密码学可以达到以下目的:

  保密性:防止用户的标识或数据被读取。

  数据完整性:防止数据被更改。

  身份验证:确保数据发自特定的一方。

  二. 加密算法介绍

  根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。

  对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。

  非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。

  对称加密算法

  对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:

  DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。

  3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。

  AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;

  AES

  2000年10月,NIST(美国国家标准和技术协会)宣布通过从15种侯选算法中选出的一项新的密匙加密标准。Rijndael被选中成为将 来的AES。 Rijndael是在 1999 年下半年,由研究员 Joan Daemen 和 Vincent Rijmen 创建的。AES 正日益成为加密各种形式的电子数据的实际标准。

  美国标准与技术研究院 (NIST) 于 2002 年 5 月 26 日制定了新的高级加密标准 (AES) 规范。

  算法原理

  AES 算法基于排列和置换运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。AES 使用几种不同的方法来执行排列和置换运算。

  AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入 数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。

  AES与3DES的比较

算法名称 算法类型

密钥长度

速度 解密时间(建设机器每秒尝试255个密钥) 资源消耗
AES 对称block密码 128、192、256位 1490000亿年
3DES 对称feistel密码 112位或168位 46亿年

  非对称算法

  常见的非对称加密算法如下:

  RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;

  DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);

  ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。

  ECC

  在1976年,由于对称加密算法已经不能满足需要,Diffie 和Hellman发表了一篇叫《密码学新动向》的文章,介绍了公匙加密的概念,由Rivet、Shamir、Adelman提出了RSA算法。

  随着分解大整数方法的进步及完善、计算机速度的提高以及计算机网络的发展,为了保障数据的安全,RSA的密钥需要不断增加,但是,密钥长度的增 加导致了其加解密的速度大为降低,硬件实现也变得越来越难以忍受,这对使用RSA的应用带来了很重的负担,因此需要一种新的算法来代替RSA。

  1985年N.Koblitz和Miller提出将椭圆曲线用于密码算法,根据是有限域上的椭圆曲线上的点群中的离散对数问题ECDLP。ECDLP是比因子分解问题更难的问题,它是指数级的难度。

  原理——椭圆曲线上的难题

  椭圆曲线上离散对数问题ECDLP定义如下:给定素数p和椭圆曲线E,对Q=kP,在已知P,Q 的情况下求出小于p的正整数k。可以证明由k和P计算Q比较容易,而由Q和P计算k则比较困难。

  将椭圆曲线中的加法运算与离散对数中的模乘运算相对应,将椭圆曲线中的乘法运算与离散对数中的模幂运算相对应,我们就可以建立基于椭圆曲线的对应的密码体制。

  例如,对应Diffie-Hellman公钥系统,我们可以通过如下方式在椭圆曲线上予以实现:在E上选取生成元P,要求由P产生的群元素足够 多,通信双方A和B分别选取a和b,a和b 予以保密,但将aP和bP公开,A和B间通信用的密钥为abP,这是第三者无法得知的。

  对应ELGamal密码系统可以采用如下的方式在椭圆曲线上予以实现:

  将明文m嵌入到E上Pm点,选一点B∈E,每一用户都选一整数a,0

  K=kG [其中 K,G为Ep(a,b)上的点,k为小于n(n是点G的阶)的整数]

  不难发现,给定k和G,根据加法法则,计算K很容易;但给定K和G,求k就相对困难了。

  这就是椭圆曲线加密算法采用的难题。我们把点G称为基点(base point),k(k<n,n为基点G的阶)称为私有密钥(privte key),K称为公开密钥(public key)。

  ECC与RSA的比较

  ECC和RSA相比,在许多方面都有对绝对的优势,主要体现在以下方面:

  抗攻击性强。相同的密钥长度,其抗攻击性要强很多倍。

  计算量小,处理速度快。ECC总的速度比RSA、DSA要快得多。

  存储空间占用小。ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。

  带宽要求低。当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。带宽要求低使ECC在无线网络领域具有广泛的应用前景。

  ECC的这些特点使它必将取代RSA,成为通用的公钥加密算法。比如SET协议的制定者已把它作为下一代SET协议中缺省的公钥密码算法。

  下面两张表示是RSA和ECC的安全性和速度的比较。

攻破时间(MIPS年) RSA/DSA(密钥长度) ECC密钥长度 RSA/ECC密钥长度比
104 512 106 5:1
108 768 132 6:1
1011 1024 160

7:1

1020 2048 210 10:1
1078 21000 600 35:1

  RSA和ECC安全模长比较

功能 Security Builder 1.2 BSAFE 3.0
  163位ECC(ms) 1,023位RSA(ms)
密钥对生成 3.8  4,708.3
签名 2.1(ECNRA) 228.4
  3.0(ECDSA)  
认证 9.9(ECNRA) 12.7
  10.7(ECDSA)  
Diffie—Hellman密钥交换 7.3 1,654.0

RSA和ECC速度比较

  散列算法

  散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的 原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有相同散列结果的两条信 息。具有这些特性的散列结果就可以用于验证信息是否被修改。

  单向散列函数一般用于产生消息摘要,密钥加密等,常见的有:

  l MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法。

  l SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值;

  SHA-1

  在1993年,安全散列算法(SHA)由美国国家标准和技术协会(NIST)提出,并作为联邦信息处理标准(FIPS PUB 180)公布;1995年又发布了一个修订版FIPS PUB 180-1,通常称之为SHA-1。SHA-1是基于MD4算法的,并且它的设计在很大程度上是模仿MD4的。现在已成为公认的最安全的散列算法之一,并 被广泛使用。

  原理

  SHA-1是一种数据加密算法,该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一 串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。

  单向散列函数的安全性在于其产生散列值的操作过程具有较强的单向性。如果在输入序列中嵌入密码,那么任何人在不知道密码的情况下都不能产生正确 的散列值,从而保证了其安全性。SHA将输入流按照每块512位(64个字节)进行分块,并产生20个字节的被称为信息认证代码或信息摘要的输出。

  该算法输入报文的最大长度不超过264位,产生的输出是一个160位的报文摘要。输入是按512 位的分组进行处理的。SHA-1是不可逆的、防冲突,并具有良好的雪崩效应。

  通过散列算法可实现数字签名实现,数字签名的原理是将要传送的明文通过一种函数运算(Hash)转换成报文摘要(不同的明文对应不同的报文摘 要),报文摘要加密后与明文一起传送给接受方,接受方将接受的明文产生新的报文摘要与发送方的发来报文摘要解密比较,比较结果一致表示明文未被改动,如果 不一致表示明文已被篡改。

  MAC (信息认证代码)就是一个散列结果,其中部分输入信息是密码,只有知道这个密码的参与者才能再次计算和验证MAC码的合法性。MAC的产生参见下图。

  输入信息

  密码

  散列函数

  信息认证代码

  SHA-1与MD5的比较

  因为二者均由MD4导出,SHA-1和MD5彼此很相似。相应的,他们的强度和其他特性也是相似,但还有以下几点不同:

  • 对强行供给的安全性:最显著和最重要的区别是SHA-1摘要比MD5摘要长32 位。使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2128数量级的操作,而对SHA-1则是2160数量级的操作。这样,SHA-1对强行攻击有更大的强度。
  • 对密码分析的安全性:由于MD5的设计,易受密码分析的攻击,SHA-1显得不易受这样的攻击。
  • 速度:在相同的硬件上,SHA-1的运行速度比MD5慢。

  对称与非对称算法比较

  以上综述了两种加密方法的原理,总体来说主要有下面几个方面的不同:

  • 在管理方面:公钥密码算法只需要较少的资源就可以实现目的,在密钥的分配上,两者之间相差一个指数级别(一个是n一个是n2)。所以私钥密码算法不适应广域网的使用,而且更重要的一点是它不支持数字签名。
  • 在安全方面:由于公钥密码算法基于未解决的数学难题,在破解上几乎不可能。对于私钥密码算法,到了AES虽说从理论来说是不可能破解的,但从计算机的发展角度来看。公钥更具有优越性。
  • 从速度上来看:AES的软件实现速度已经达到了每秒数兆或数十兆比特。是公钥的100倍,如果用硬件来实现的话这个比值将扩大到1000倍。

  三. 加密算法的选择

  前面的章节已经介绍了对称解密算法和非对称加密算法,有很多人疑惑:那我们在实际使用的过程中究竟该使用哪一种比较好呢?

  我们应该根据自己的使用特点来确定,由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。

  对称加密算法不能实现签名,因此签名只能非对称算法。

  由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。

  在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。

  如果在选定了加密算法后,那采用多少位的密钥呢?一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,一般来说,RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。

  四. 密码学在现代的应用

  随着密码学商业应用的普及,公钥密码学受到前所未有的重视。除传统的密码应用系统外,PKI系统以公钥密码技术为主,提供加密、签名、认证、密钥管理、分配等功能。

  保密通信:保密通信是密码学产生的动因。使用公私钥密码体制进行保密通信时,信息接收者只有知道对应的密钥才可以解密该信息。

  数字签名:数字签名技术可以代替传统的手写签名,而且从安全的角度考虑,数字签名具有很好的防伪造功能。在政府机关、军事领域、商业领域有广泛的应用环境。

  秘密共享:秘密共享技术是指将一个秘密信息利用密码技术分拆成n个称为共享因子的信息,分发给n个成员,只有k(k≤n)个合法成员的共享因子 才可以恢复该秘密信息,其中任何一个或m(m≤k)个成员合作都不知道该秘密信息。利用秘密共享技术可以控制任何需要多个人共同控制的秘密信息、命令等。

  认证功能:在公开的信道上进行敏感信息的传输,采用签名技术实现对消息的真实性、完整性进行验证,通过验证公钥证书实现对通信主体的身份验证。

  密钥管理:密钥是保密系统中更为脆弱而重要的环节,公钥密码体制是解决密钥管理工作的有力工具;利用公钥密码体制进行密钥协商和产生,保密通信双方不需要事先共享秘密信息;利用公钥密码体制进行密钥分发、保护、密钥托管、密钥恢复等。

  基于公钥密码体制可以实现以上通用功能以外,还可以设计实现以下的系统:安全电子商务系统、电子现金系统、电子选举系统、电子招投标系统、电子彩票系统等。

  公钥密码体制的产生是密码学由传统的政府、军事等应用领域走向商用、民用的基础,同时互联网、电子商务的发展为密码学的发展开辟了更为广阔的前景。

  五. 加密算法的未来

  随着计算方法的改进,计算机运行速度的加快,网络的发展,越来越多的算法被破解。

  在2004年国际密码学会议(Crypto'2004)上,来自中国山东大学的王小云教授做的破译MD5、HAVAL-128、MD4和RIPEMD算法的报告,令在场的国际顶尖密码学专家都为之震惊,意味着这些算法将从应用中淘汰。随后,SHA-1也被宣告被破解。

  历史上有三次对DES有影响的攻击实验。1997年,利用当时各国 7万台计算机,历时96天破解了DES的密钥。1998年,电子边境基金会(EFF)用25万美元制造的专用计算机,用56小时破解了DES的密钥。 1999年,EFF用22小时15分完成了破解工作。因此。曾经有过卓越贡献的DES也不能满足我们日益增长的需求了。

  最近,一组研究人员成功的把一个512位的整数分解因子,宣告了RSA的破解。

  我们说数据的安全是相对的,可以说在一定时期一定条件下是安全的,随着硬件和网络的发展,或者是另一个王小云的出现,目前的常用加密算法都有可 能在短时间内被破解,那时我们不得不使用更长的密钥或更加先进的算法,才能保证数据的安全,因此加密算法依然需要不断发展和完善,提供更高的加密安全强度 和运算速度。

  纵观这两种算法一个从DES到3DES再到AES,一个从RSA到ECC。其发展角度无不是从密钥的简单性,成本的低廉性,管理的简易性,算法 的复杂性,保密的安全性以及计算的快速性这几个方面去考虑。因此,未来算法的发展也必定是从这几个角度出发的,而且在实际操作中往往把这两种算法结合起 来,也需将来一种集两种算法优点于一身的新型算法将会出现,到那个时候,电子商务的实现必将更加的快捷和安全。


ECC加密算法入門介紹


前言

同RSA(Ron Rivest,Adi Shamir,Len Adleman三位天才的名字)一樣,ECC(Elliptic Curves Cryptography,橢圓曲線密碼編碼學)也屬於公開密鑰算法。目前,國內詳細介紹ECC的公開文獻並不多(反正我沒有找到)。有一些簡介,也是泛 泛而談,看完後依然理解不了ECC的實質(可能我理解力太差)。前些天我從國外網站找到些材料,看完後對ECC似乎懵懂了。於是我想把我對ECC的認識整 理一下,與大家分享。當然ECC博大精深,我的認識還很膚淺,文章中錯誤一定不少,歡迎各路高手批評指正,小弟我洗耳恭聽,並及時改正。文章將採用連載的 方式,我寫好一點就貼出來一點。本文主要側重理論,代碼實現暫不涉及。這就要求你要有一點數學功底。最好你能理解RSA算法,對公開密鑰算法有一個瞭解。 《近世代數基礎》《初等數論》之類的書,最好您先翻一下,這對您理解本文是有幫助的。別怕,我盡量會把語言通俗些,希望本文能成為學習ECC的敲門磚。

一、從平行線談起。

平行線,永不相交。沒有人懷疑把:)不過到了近代這個結論遭到了質疑。平行線會不會在很遠很遠的地方相交了?事實上沒有人見到過。所以「平行線,永不相 交」只是假設(大家想想初中學習的平行公理,是沒有證明的)。既然可以假設平行線永不相交,也可以假設平行線在很遠很遠的地方相交了。即平行線相交於無窮 遠點P∞(請大家閉上眼睛,想像一下那個無窮遠點P∞,P∞是不是很虛幻,其實與其說數學鍛煉人的抽像能力,還不如說是鍛煉人的想像力)。給個圖幫助理解 一下:



直線上出現P∞點,所帶來的好處是所有的直線都相交了,且只有一個交點。這就把直線的平行與相交統一了。為與無窮遠點相區別把原來平面上的點叫做平常點。
以下是無窮遠點的幾個性質。

▲直線L上的無窮遠點只能有一個。(從定義可直接得出)

▲平面上一組相互平行的直線有公共的無窮遠點。(從定義可直接得出)

▲ 平面上任何相交的兩直線L1,L2有不同的無窮遠點。(否則L1和L2有公共的無窮遠點P,則L1和L2有兩個交點A、P,故假設錯誤。)

▲平面上全體無窮遠點構成一條無窮遠直線。(自己想像一下這條直線吧)

▲平面上全體無窮遠點與全體平常點構成射影平面。

二、射影平面坐標系

射影平面坐標系是對普通平面直角坐標系(就是我們初中學到的那個笛卡兒平面直角坐標系)的擴展。我們知道普通平面直角坐標系沒有為無窮遠點設計坐標,不能 表示無窮遠點。為了表示無窮遠點,產生了射影平面坐標系,當然射影平面坐標系同樣能很好的表示舊有的平常點(數學也是「向下兼容」的)。



我們對普通平面直角坐標繫上的點A的坐標(x,y)做如下改造:

令x=X/Z ,y=Y/Z(Z≠0);則A點可以表示為(X:Y:Z)。

變成了有三個參量的坐標點,這就對平面上的點建立了一個新的坐標體系。

例2.1:求點(1,2)在新的坐標體系下的坐標。

解:∵X/Z=1 ,Y/Z=2(Z≠0)∴X=Z,Y=2Z ∴坐標為(Z:2Z:Z),Z≠0。即(1:2:1)(2:4:2)(1.2:2.4:1.2)等形如(Z:2Z:Z),Z≠0的坐標,都是(1,2)在新的坐標體系下的坐標。

我們也可以得到直線的方程aX+bY+cZ=0(想想為什麼?提示:普通平面直角坐標系下直線一般方程是ax+by+c=0)。新的坐標體系能夠 表示無窮遠點麼?那要讓我們先想想無窮遠點在哪裡。根據上一節的知識,我們知道無窮遠點是兩條平行直線的交點。那麼,如何求兩條直線的交點坐標?這是初中 的知識,就是將兩條直線對應的方程聯立求解。平行直線的方程是:

aX+bY+c1Z =0; aX+bY+c2Z =0 (c1≠c2);

(為什麼?提示:可以從斜率考慮,因為平行線斜率相同);

將二方程聯立,求解。有c2Z= c1Z= -(aX+bY),∵c1≠c2 ∴Z=0 ∴aX+bY=0;
所以無窮遠點就是這種形式(X:Y:0)表示。注意,平常點Z≠0,無窮遠點Z=0,因此無窮遠直線對應的方程是Z=0。

例2.2:求平行線L1:X+2Y+3Z=0 與L2:X+2Y+Z=0 相交的無窮遠點。
解:因為L1∥L2 所以有Z=0, X+2Y=0;所以坐標為(-2Y:Y:0),Y≠0。即(-2:1:0)(-4:2:0)(-2.4:1.2:0)等形如(-2Y:Y:0),Y≠0的坐標,都表示這個無窮遠點。

看來這個新的坐標體系能夠表示射影平面上所有的點,我們就把這個能夠表示射影平面上所有點的坐標體系叫做射影平面坐標系。


練習:
1、求點A(2,4) 在射影平面坐標系下的坐標。
2、求射影平面坐標系下點(4.5:3:0.5),在普通平面直角坐標系下的坐標。
3、求直線X+Y+Z=0上無窮遠點的坐標。
4、判斷:直線aX+bY+cZ=0上的無窮遠點 和 無窮遠直線與直線aX+bY=0的交點,是否是同一個點?


三、橢圓曲線

上一節,我們建立了射影平面坐標系,這一節我們將在這個坐標系下建立橢圓曲線方程。因為我們知道,坐標中的曲線是可以用方程來表示的(比如:單位圓方程是x2+y2=1)。橢圓曲線是曲線,自然橢圓曲線也有方程。

橢圓曲線的定義:
一條橢圓曲線是在射影平面上滿足方程
Y2Z+a1XYZ+a3YZ2=X3+a2X2Z+a4XZ2+a6Z3 ----------------[3-1]
的所有點的集合,且曲線上的每個點都是非奇異(或光滑)的。

定義詳解:

▲ Y2Z+a1XYZ+a3YZ2 = X3+a2X2Z+a4XZ2+a6Z3是Weierstrass方程(維爾斯特拉斯,Karl Theodor Wilhelm Weierstrass,1815-1897),是一個齊次方程。

▲ 橢圓曲線的形狀,並不是橢圓的。只是因為橢圓曲線的描述方程,類似於計算一個橢圓周長的方程(計算橢圓周長的方程,我沒有見過,而對橢圓線積分(設密度為1)是求不出來的。誰知道這個方程,請告訴我呀^_^),故得名。

我們來看看橢圓曲線是什麼樣的。





▲ 所謂「非奇異」或「光滑」的,在數學中是指曲線上任意一點的偏導數Fx(x,y,z),Fy(x,y,z),Fz(x,y,z)不能同時為0。如果你沒有學過高等數學,可以這樣理解這個詞,即滿足方程的任意一點都存在切線。

下面兩個方程都不是橢圓曲線,儘管他們是方程[3-1]的形式。




因為他們在(0:0:1)點處(即原點)沒有切線。

▲橢圓曲線上有一個無窮遠點O∞(0:1:0),因為這個點滿足方程[3-1]。

知道了橢圓曲線上的無窮遠點。我們就可以把橢圓曲線放到普通平面直角坐標繫上了。因為普通平面直角坐標系只比射影平面坐標系少無窮遠點。我們在普通平面直 角坐標繫上,求出橢圓曲線上所有平常點組成的曲線方程,再加上無窮遠點O∞(0:1:0),不就構成橢圓曲線了麼?

我們設x=X/Z ,y=Y/Z代入方程[3-1]得到:
y2+a1xy+a3y = x3+a2x2+a4x+a6 -------------------------[3-2]

也就是說滿足方程[3-2]的光滑曲線加上一個無窮遠點O∞,組成了橢圓曲線。為了方便運算,表述,以及理解,今後論述橢圓曲線將主要使用[3-2]的形式。

本節的最後,我們談一下求橢圓曲線一點的切線斜率問題。
由橢圓曲線的定義可以知道,橢圓曲線是光滑的,所以橢圓曲線上的平常點都有切線。而切線最重要的一個參數就是斜率k。

例3.1:求橢圓曲線方程y2+a1xy+a3y=x3+a2x2+a4x+a6上,平常點A(x,y)的切線的斜率k。
解:令F(x,y)= y2+a1xy+a3y-x3-a2x2-a4x-a6
求偏導數
Fx(x,y)= a1y-3x2-2a2x-a4
Fy(x,y)= 2y+a1x +a3
則導數為:f'(x)=- Fx(x,y)/ Fy(x,y)=-( a1y-3x2-2a2x-a4)/(2y+a1x +a3)
= (3x2+2a2x+a4-a1y) /(2y+a1x +a3)
所以k=(3x2+2a2x+a4-a1y) /(2y+a1x +a3) ------------------------[3-3]

看不懂解題過程沒有關係,記住結論[3-3]就可以了。


練習:
1、將給出圖例的橢圓曲線方程Y2Z=X3-XZ2 和Y2Z=X3+XZ2+Z3轉換成普通平面直角坐標繫上的方程。


四、橢圓曲線上的加法

上一節,我們已經看到了橢圓曲線的圖像,但點與點之間好像沒有什麼聯繫。我們能不能建立一個類似於在實數軸上加法的運算法則呢?天才的數學家找到了這一運算法則

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
自從近世紀代數學引入了群、環、域的概念,使得代數運算達到了高度的統一。比如數學家總結了普通加法的主要特徵,提出了加群(也叫交換群,或Abel(阿 貝爾)群),在加群的眼中。實數的加法和橢圓曲線的上的加法沒有什麼區別。這也許就是數學抽像把:)。關於群以及加群的具體概念請參考近世代數方面的數學 書。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

運算法則:任意取橢圓曲線上兩點P、Q (若P、Q兩點重合,則做P點的切線)做直線交於橢圓曲線的另一點R』,過R』做y軸的平行線交於R。我們規定P+Q=R。(如圖)





法則詳解:
▲這裡的+不是實數中普通的加法,而是從普通加法中抽像出來的加法,他具備普通加法的一些性質,但具體的運算法則顯然與普通加法不同。

▲根據這個法則,可以知道橢圓曲線無窮遠點O∞與橢圓曲線上一點P的連線交於P』,過P』作y軸的平行線交於P,所以有 無窮遠點 O∞+ P = P 。這樣,無窮遠點 O∞的作用與普通加法中零的作用相當(0+2=2),我們把無窮遠點 O∞ 稱為 零元。同時我們把P』稱為P的負元(簡稱,負P;記作,-P)。(參見下圖)



▲根據這個法則,可以得到如下結論 :如果橢圓曲線上的三個點A、B、C,處於同一條直線上,那麼他們的和等於零元,即A+B+C= O∞

▲k個相同的點P相加,我們記作kP。如下圖:3P = P+P+P = R+P = S。



下面,我們利用P、Q點的坐標(x1,y1),(x2,y2),求出R=P+Q的坐標(x4,y4)。

例4.1:求橢圓曲線方程y2+a1xy+a3y=x3+a2x2+a4x+a6上,平常點P(x1,y1),Q(x2,y2)的和R(x4,y4)的坐標。
解:(1)先求點-R(x3,y3)
因為P,Q,-R三點共線,故設共線方程為y=kx+b,其中
若P≠Q(P,Q兩點不重合) 則
直線斜率k=(y1-y2)/(x1-x2)
若P=Q(P,Q兩點重合) 則直線為橢圓曲線的切線,故由例3.1可知:
k=(3x2+2a2x+a4 -a1y) /(2y+a1x+a3)

因此P,Q,-R三點的坐標值就是方程組:
y2+a1xy+a3y=x3+a2x2+a4x+a6 -----------------[1]
y=(kx+b) -----------------[2]
的解。

將[2],代入[1] 有
(kx+b)2+a1x(kx+b)+a3(kx+b) =x3+a2x2+a4x+a6 --------[3]
對[3]化為一般方程,根據三次方程根與係數關係(當三次項係數為1時;-x1x2x3 等於常數項係數, x1x2+x2x3+x3x1等於一次項係數,-(x1+x2+x3)等於二次項係數。)
所以-(x1+x2+x3)=a2-ka1-k2
x3=k2+ka1+a2+x1+x2;---------------------求出點-R的橫坐標
因為k=(y1-y3)/(x1-x3) 故
y3=y1-k(x1-x3);-------------------------------求出點-R的縱坐標

(2)利用-R求R
顯然有 x4=x3= k2+ka1+a2+x1+x2; ------------求出點R的橫坐標
而y3 y4 為 x=x4時 方程y2+a1xy+a3y=x3+a2x2+a4x+a6的解
化為一般方程y2+(a1x+a3)y-(x3+a2x2+a4x+a6)=0 , 根據二次方程根與係數關係得:
-(a1x+a3)=y3+y4
故y4=-y3-(a1x+a3)=k(x1-x4)-y1-(a1x4+a3); ---------------求出點R的縱坐標
即:
x4=k2+ka1+a2+x1+x2;
y4=k(x1-x4)-y1-a1x4-a3;

本節的最後,提醒大家注意一點,以前提供的圖像可能會給大家產生一種錯覺,即橢圓曲線是關於x軸對稱的。事實上,橢圓曲線並不一定關於x軸對稱。如下圖的y2-xy=x3+1


五、密碼學中的橢圓曲線

我們現在基本上對橢圓曲線有了初步的認識,這是值得高興的。但請大家注意,前面學到的橢圓曲線是連續的,並不適合用於加密;所以,我們必須把橢圓曲線變成離散的點。
讓我們想一想,為什麼橢圓曲線為什麼連續?是因為橢圓曲線上點的坐標,是實數的(也就是說前面講到的橢圓曲線是定義在實數域上的),實數是連續的,導致了曲線的連續。因此,我們要把橢圓曲線定義在有限域上(顧名思義,有限域是一種只有由有限個元素組成的域)。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
域的概念是從我們的有理數,實數的運算中抽像出來的,嚴格的定義請參考近世代數方面的數。簡單的說,域中的元素同有理數一樣,有自己得加法、乘法、除法、單位元(1),零元(0),並滿足交換率、分配率。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

下面,我們給出一個有限域Fp,這個域只有有限個元素。

Fp中只有p(p為素數)個元素0,1,2 …… p-2,p-1;
Fp 的加法(a+b)法則是 a+b≡c (mod p);即,(a+c)÷p的餘數 和c÷p的餘數相同。
Fp 的乘法(a×b)法則是 a×b≡c (mod p);
Fp 的除法(a÷b)法則是 a/b≡c (mod p);即 a×b-1≡c (mod p);(b-1也是一個0到p-1之間的整數,但滿足b×b-1≡1 (mod p);具體求法可以參考初等數論,或我的另一篇文章)。
Fp 的單位元是1,零元是 0。

同時,並不是所有的橢圓曲線都適合加密。y2=x3+ax+b是一類可以用來加密的橢圓曲線,也是最為簡單的一類。下面我們就把y2=x3+ax+b 這條曲線定義在Fp上:

選擇兩個滿足下列條件的小於p(p為素數)的非負整數a、b
4a3+27b2≠0 (mod p)
則滿足下列方程的所有點(x,y),再加上 無窮遠點O∞ ,構成一條橢圓曲線。
y2=x3+ax+b (mod p)
其中 x,y屬於0到p-1間的整數,並將這條橢圓曲線記為Ep(a,b)。

我們看一下y2=x3+x+1 (mod 23)的圖像



是不是覺得不可思議?橢圓曲線,怎麼變成了這般模樣,成了一個一個離散的點?
橢圓曲線在不同的數域中會呈現出不同的樣子,但其本質仍是一條橢圓曲線。舉一個不太恰當的例子,好比是水,在常溫下,是液體;到了零下,水就變成冰,成了固體;而溫度上升到一百度,水又變成了水蒸氣。但其本質仍是H2O。

Fp上的橢圓曲線同樣有加法,但已經不能給以幾何意義的解釋。不過,加法法則和實數域上的差不多,請讀者自行對比。

1 無窮遠點 O∞是零元,有O∞+ O∞= O∞,O∞+P=P
2 P(x,y)的負元是 (x,-y),有P+(-P)= O∞
3 P(x1,y1),Q(x2,y2)的和R(x3,y3) 有如下關係:
x3≡k2-x1-x2(mod p)
y3≡k(x1-x3)-y1(mod p)
其中若P=Q 則 k=(3x2+a)/2y1 若P≠Q,則k=(y2-y1)/(x2-x1)


例5.1 已知E23(1,1)上兩點P(3,10),Q(9,7),求1)-P,2)P+Q,3) 2P。
解 1) ?CP的值為(3,-10)
2) k=(7-10)/(9-3)=-1/2,2的乘法逆元為12 因為2*12≡1 (mod 23)
k≡-1*12 (mod 23) 故 k=11。
x=112-3-9=109≡17 (mod 23);
y=11[3-(-6)]-10=89≡20 (mod 23)
故P+Q的坐標為(17,20)
3) k=[3(32)+1]/(2*10)=1/4≡6 (mod 23)
x=62-3-3=30≡20 (mod 23)
y=6(3-7)-10=-34≡12 (mod 23)
故2P的坐標為(7,12)

最後,我們講一下橢圓曲線上的點的階。
如果橢圓曲線上一點P,存在最小的正整數n,使得數乘nP=O∞,則將n稱為P的 階,若n不存在,我們說P是無限階的。
事實上,在有限域上定義的橢圓曲線上所有的點的階n都是存在的(證明,請參考近世代數方面的書)


練習:
1 求出E11(1,6)上所有的點。
2 已知E11(1,6)上一點G(2,7),求2G到13G所有的值。


六、橢圓曲線上簡單的加密/解密

公開密鑰算法總是要基於一個數學上的難題。比如RSA 依據的是:給定兩個素數p、q 很容易相乘得到n,而對n進行因式分解卻相對困難。那橢圓曲線上有什麼難題呢?

考慮如下等式:
K=kG [其中 K,G為Ep(a,b)上的點,k為小於n(n是點G的階)的整數]
不難發現,給定k和G,根據加法法則,計算K很容易;但給定K和G,求k就相對困難了。
這就是橢圓曲線加密算法採用的難題。我們把點G稱為基點(base point),k(k<n,n為基點G的階)稱為私有密鑰(privte key),K稱為公開密鑰(public key)。

現在我們描述一個利用橢圓曲線進行加密通信的過程:

1、用戶A選定一條橢圓曲線Ep(a,b),並取橢圓曲線上一點,作為基點G。
2、用戶A選擇一個私有密鑰k,並生成公開密鑰K=kG。
3、用戶A將Ep(a,b)和點K,G傳給用戶B。
4、用戶B接到信息後 ,將待傳輸的明文編碼到Ep(a,b)上一點M(編碼方法很多,這裡不作討論),並產生一個隨機整數r(r<n)。
5、用戶B計算點C1=M+rK;C2=rG。
6、用戶B將C1、C2傳給用戶A。
7、用戶A接到信息後,計算C1-kC2,結果就是點M。因為
C1-kC2=M+rK-k(rG)=M+rK-r(kG)=M
再對點M進行解碼就可以得到明文。

在這個加密通信中,如果有一個偷窺者H ,他只能看到Ep(a,b)、K、G、C1、C2 而通過K、G 求k 或通過C2、G求r 都是相對困難的。因此,H無法得到A、B間傳送的明文信息。



密碼學中,描述一條Fp上的橢圓曲線,常用到六個參量:
T=(p,a,b,G,n,h)。
(p 、a 、b 用來確定一條橢圓曲線,
G為基點,
n為點G的階,
h 是橢圓曲線上所有點的個數m與n相除的整數部分)

這幾個參量取值的選擇,直接影響了加密的安全性。參量值一般要求滿足以下幾個條件:

1、p 當然越大越安全,但越大,計算速度會變慢,200位左右可以滿足一般安全要求;
2、p≠n×h;
3、pt≠1 (mod n),1≤t<20;
4、4a3+27b2≠0 (mod p);
5、n 為素數;
6、h≤4。


七、橢圓曲線在軟件註冊保護的應用

我們知道將公開密鑰算法作為軟件註冊算法的好處是Cracker很難通過跟蹤驗證算法得到註冊機。下面,將簡介一種利用Fp(a,b)橢圓曲線進行軟件註冊的方法。


軟件作者按如下方法製作註冊機(也可稱為簽名過程)

1、選擇一條橢圓曲線Ep(a,b),和基點G;
2、選擇私有密鑰k(k<n,n為G的階),利用基點G計算公開密鑰K=kG;
3、產生一個隨機整數r(r<n),計算點R=rG;
4、將用戶名和點R的坐標值x,y作為參數,計算SHA(Secure Hash Algorithm 安全散列算法,類似於MD5)值,即Hash=SHA(username,x,y);
5、計算sn≡r - Hash * k (mod n)
6、將sn和Hash作為 用戶名username的序列號

軟件驗證過程如下:(軟件中存有橢圓曲線Ep(a,b),和基點G,公開密鑰K)

1、從用戶輸入的序列號中,提取sn以及Hash;
2、計算點R≡sn*G+Hash*K ( mod p ),如果sn、Hash正確,其值等於軟件作者簽名過程中點R(x,y)的坐標,因為
sn≡r-Hash*k (mod n)
所以
sn*G + Hash*K
=(r-Hash*k)*G+Hash*K
=rG-Hash*kG+Hash*K
=rG- Hash*K+ Hash*K
=rG=R ;
3、將用戶名和點R的坐標值x,y作為參數,計算H=SHA(username,x,y);
4、如果H=Hash 則註冊成功。如果H≠Hash ,則註冊失敗(為什麼?提示注意點R與Hash的關聯性)。

簡單對比一下兩個過程:
作者簽名用到了:橢圓曲線Ep(a,b),基點G,私有密鑰k,及隨機數r。
軟件驗證用到了:橢圓曲線Ep(a,b),基點G,公開密鑰K。
Cracker要想製作註冊機,只能通過軟件中的Ep(a,b),點G,公開密鑰K ,並利用K=kG這個關係獲得k後,才可以。而求k是很困難的。


練習:
下面也是一種常於軟件保護的註冊算法,請認真閱讀,並試回答簽名過程與驗證過程都用到了那些參數,Cracker想製作註冊機,應該如何做。

軟件作者按如下方法製作註冊機(也可稱為簽名過程)
1、選擇一條橢圓曲線Ep(a,b),和基點G;
2、選擇私有密鑰k(k<n),利用基點G計算公開密鑰K=kG;
3、產生一個隨機整數r(r<n),計算點R(x,y)=rG;
4、將用戶名作為參數,計算Hash=SHA(username);
5、計算 x』=x (mod n)
6、計算sn≡(Hash+x』*k)/r (mod n)
7、將sn和x』作為 用戶名username的序列號

軟件驗證過程如下:(軟件中存有橢圓曲線Ep(a,b),和基點G,公開密鑰K)
1、從用戶輸入的序列號中,提取sn以及x』;
2、將用戶名作為參數,計算Hash=SHA(username);
3、計算 R=(Hash*G+x』*K)/sn,如果sn、Hash正確,其值等於軟件作者簽名過程中點R(x,y),因為
sn≡(Hash+x』*k)/r (mod n)
所以
(Hash*G+x』*K)/sn
=(Hash*G+x』*K)/[(Hash+x』*k)/r]
=(Hash*G+x』*K)/[(Hash*G+x』*k*G)/(rG)]
=rG*[(Hash*G+x』*K)/(Hash*G+x』*K)]
=rG=R (mod p)
4、v≡x (mod n)
5、如果v=x』 則註冊成功。如果v≠x』 ,則註冊失敗。


八、結語

歷經半個多月斷斷續續的寫作,這篇拙作終於算告一段落了。為寫這篇文章,我查了大量的資料,但為了使文章更通俗易懂,我盡量避免涉及專業術語,F2n域上 的橢圓曲線本文也沒有涉及。不過,一些名詞描述的可能還不太精確,希望眾讀者對文章的問題,多多批評指正。我也僅僅把這篇文章作為初稿,我會不斷修訂他 的。最後感謝看雪、Sunbird、CCG以及看雪論壇所有成員對我的支持,感謝一切幫助過我的人,沒有你們的鼓勵,這篇文章我是沒有動力寫完的,謝謝, 謝謝大家!

<全文完>


主要參考文獻

張禾瑞,《近世代數基礎》,高等教育出版社,1978
閔嗣鶴 嚴士健,《初等數論》,高等教育出版社,1982
段雲所,《網絡信息安全》第三講,北大計算機系
Michael Rosing ,chapter5《Implementing Elliptic Curve Cryptography》,Softbound,1998
《SEC 1: Elliptic Curve Cryptography》,Certicom Corp.,2000
《IEEE P1363a / D9》,2001

說真的,如果發貼子,要多發象「ECC加密算法入門介紹」這樣的,你知道這篇文章有多珍貴!ZMWorm 曾向我詢問過是否知道一些加密算法的理論出發點文章,我都以各種理由推托了。因為這些東西是受專利權嚴格保護的!不要說你想瞭解它的理論,就是用一用現成 的代碼都得向他繳授權費!在國外Cracker想搞到這些東西,是需要花大價錢雇商業間諜偷才能得到的!更是鮮有公佈的!!!可以說這篇文章字字值千金 呀!

推薦一本書《計算機密碼學--計算機網絡中的數據保密與安全》 盧開澄 編著 清華大學出版社

橢圓曲線密碼算法介紹

一種相對比較新的技術--橢圓曲線加密系統,已經逐漸被人們用做基本的數字簽名系統。
橢圓曲線作為數字簽名的基本原理大致和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。

http://big5.webasp.net/article/12/11943.htm

http://www.ncipher.com/company/news/239/ncipher_supports_elliptic_curve_cryptography/

http://support.microsoft.com/kb/867626/zh-tw

新錯誤修正程式碼會包含在 Exchange Server 2003 SP 1


重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可 能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。如果您發現錯誤,並想要 協助我們進行改善,請填寫本篇文章下方的問卷。
按一下這裡查看此文章的英文版本:867626 (http://support.microsoft.com/kb/867626/en-us/)
文章編號:867626
上次校閱:2007年10月30日
版次:1.2

結論

Microsoft Exchange Server 2003 Service Pack 1 (SP 1) 引進新的程式碼 (ECC) 錯誤修正演算法來協助解決可能會發生在您的 Exchange 資料庫中的 - 1018 錯誤。

由 Exchange 2003 中問題是不是造成 - 1018 錯誤。 - 1018 錯誤表示有問題發生在電腦的硬碟子系統, 並且有這個問題影響的 Exchange 資料庫檔案。

一般原因的 - 1018 錯誤是在資料庫頁面中 「 翻轉 」 單位元。 在這個案例中, 零位元會變更為其中一個, 或一個位元會變更為零。 . ECC 演算法 Exchange 2003 SP 1 中所包含的是設計來協助解決這種特殊問題。

ECC 此演算法可協助自動修復在 Exchange 資料庫, 單一位元錯誤時要考慮當您備份或還原您的 Exchange 2003 SP 1 資料庫檔案的某些問題有:
如果您備份檔案包含單一位元錯誤、, 備份媒體上會自動修正此錯誤但仍然在硬碟上。
無法將 Exchange 2003 SP 1 的資料庫檔案還原到執行原始發行版本的 Exchange 2003 電腦上。
單一位元錯誤都只能修復至資料庫檔案在寫入作業期間。 如果是從包含單一位元錯誤, 檔案執行讀取作業不會修復硬碟上原來的檔案。 在 Exchange 2003 SP 1, 兩個新事件會記錄到記錄的單一位元錯誤更正。

回此頁最上方

INTRODUCTION

本文將告訴您碼 (ECC) 的錯誤修正演算法引進在 Exchange 伺服器 2003 Service Pack 1 (SP 1)。 「 可延伸儲存引擎 (ESE) Exchange 2003 SP 1 中使用此演算法來協助解決出現的錯誤 - 1018 JET_errReadVerifyFailure 如需有關, - 1018 錯誤的詳細資訊請按一下下列文件編號, 檢視 「 Microsoft 知識庫 」 中的文件中的文件:
314917 (http://support.microsoft.com/kb/314917/) 瞭解及分析 - 1018、 - 1019 及 - 1022 Exchange 資料庫錯誤

回此頁最上方

其他相關資訊

如 果 Exchange 中的內建完整性驗證元件判定, Exchange 可以不正確儲存或無法從硬碟上不正確擷取 Exchange 資料庫檔案資料會產生錯誤 - 1018。 發生這個問題時, 您必須修復 Exchange 資料庫檔案或從最新備份中還原資料庫檔案。

我 們的研究已結束, 最多為 40 % 的 - 1018 錯誤是因為資料庫損毀藉由單一位元錯誤所造成。 單一位元錯誤是又稱做 「 位元翻轉 」 錯誤。 單一位元或位元翻轉錯誤是硬體層級發生單位元的資料是從零到一個檔案或從一個設定為零的變更。 同位檢查位元可以加入電腦資料, 以偵測當某個位元翻轉問題發生時。 但是, 同位檢查的等量磁碟區系統只可以偵測到這個問題 ; 它們無法修復它。 ECC 演算法可以自動偵測並修復單一位元錯誤。 ECC 演算法實作 Exchange 2003 SP 1 在它的可延伸儲存引擎 (ESE) 資料庫來偵測並若要自動修正單一位元錯誤

Exchange 資料庫檔案會分割成 4 千位元組 (KB) 區塊 (也稱為網頁)。 每個網頁有它自己的 ECC 資料。 Exchange 2003 SP 1 可以更正每個網頁上的單一位元錯誤。 因此, 如果由單一位元錯誤, 多個資料庫中的頁面已損毀 Exchange 2003 SP 1 可以更正每個網頁。 不過, 如果單一資料庫頁面包含多個錯誤, Exchange 2003 SP 1 無法更正它。 在這個案例中, 您必須修復資料庫檔案或資料庫檔案從最新備份中還原。

可以從資料庫損毀的最常見的型別藉由自動修復單一位元錯誤, 復原 Exchange 2003 SP 1。 一般 - 1018 錯誤 」 是現在自我修復 」, 不再需要您修復資料庫檔案, 或您從最近的備份還原資料庫檔案。

附註 雖然 Exchange 2003 SP 1 會自動修復典型單一位元錯誤, 我們建議您執行忽略不出現 - 1018 錯誤。 - 1018 錯誤表示硬體元件是失敗或已損毀。 無法修復的單一位元 - 1018 錯誤解決硬體問題造成錯誤。 這個硬體問題可能會影響到電腦上 Exchange 資料庫檔案之外, 在其他檔案。 除此之外, 單一位元錯誤只負責處理約 40 % 的 - 1018 錯誤。 要求您修復或還原您的 Exchange 資料庫檔案, 您可能會遇到其他的 - 1018 錯誤。

回此頁最上方

資料庫升級問題

當 您升級原始發行版本的 Exchange 2003 為 Exchange 2003 SP 1, 資料庫檔案都會無法立即升級為新 ECC 格式。 這表示, 如果現有的資料庫發生單一位元 - 1018 錯誤, 錯誤是不會自動修復由 Exchange 2003 SP 1。 資料庫分頁都會升級至新 ECC 格式只有當該頁面中的資料修改。 如果資料庫頁面是只讀取資料庫, 和未修改, 會該資料庫頁面保持在原始資料庫格式。 該頁面尚未升級為新 ECC 格式。

某一段的好幾個星期, 大部分或全部的資料庫中分頁都會重新撰寫和一般 Exchange 作業期間會自動升級。 如果您在同一時間, 升級所有資料庫頁面會服務中從您的 Exchange 電腦可能會導致未預期的重大和降低。

若要在同一時間, 升級所有資料庫頁面安裝 Exchange 2003 SP 1 請先將資料庫離線, 和再重組資料庫檔案藉由執行下列命令:
eseutil /D databaseFile
如需有關如何重組 Exchange 資料庫, 請按一下下列文件編號, 檢視 「 Microsoft 知識庫 」 中的文件中的文件:
328804 (http://support.microsoft.com/kb/328804/) 如何重組 Exchange 資料庫
重要事項 如果您重組 Exchange 資料庫檔案, 影響您能力來播放重做交易記錄檔。 在這種情況下, 如果您有先前的備份, 您可以只播放重做記錄檔備份, 您重組資料庫的位置點。 因此, 如果您必須從您重組資料庫之前, 已採取備份稍後還原您的資料庫檔案會遺失已加入您重組資料庫之後, 所有資料。

之後您重組您的資料庫, 我們建議您立即備份您的 Exchange 資料庫檔案。 我們也建議您, 考量為回復執行重做從交易記錄檔無法使用您的舊備份。

回此頁最上方

資料庫備份和資料庫還原問題

藉 由使用線上備份作業如果在原始發行版本的 Exchange 2003, 資料庫檔案中發生 - 1018 錯誤無法備份該資料庫。 線上備份作業做沒有幫助防止損毀資料庫備份中。 因此, 如果, 成功完成線上資料庫備份作業沒有已損毀的頁面存在於資料庫備份。 也就是說, 您可以還原資料庫轉寄藉由使用所建立在您的資料庫備份, 異動記錄檔檔案及移除所發生的任何 - 1018 錯誤您的資料庫中資料庫備份已完成後該備份, 回復。

在 Exchange 2003, SP 1 如果發生在資料庫, 資料單一位元錯誤線上備份作業報告這個錯誤, 但資料庫備份仍會成功。 在這種情況下, - 單一位元錯誤校正備份組中。 但是, - 單一位元錯誤是無法修正在硬碟上, 而存在的資料庫。 存在於硬碟上的資料庫頁面中的單一位元錯誤不校正, 直到該頁面成為一般資料庫作業期間重寫。

注意 如果多重位元 - 1018 錯誤發生在資料庫頁面, 錯誤是不是由 Exchange 2003 SP 1, correctible, 備份是失敗。

備份集之間 Exchange 2003 及 Exchange 2003 SP 1 的問題

如果您有來還原 Exchange 2003 資料庫, 請考量下列因素:
您可以還原備份的原始發行版本的 Exchange 2003 從設定到 Exchange 2003 SP 1 電腦。

Exchange 2003 SP 1 會正確地辨識在您從電腦 (執行原始發行版本的 Exchange 2003 會建立資料庫備份。
您無法還原備份設定從 Exchange 2003 SP 1 到執行原始發行版本的 Exchange 2003 電腦上。

原始發行版本的 Exchange 2003 不認得 ECC 開啟在資料庫頁面所包含資料。 因此, Exchange 2003 會判斷資料庫頁面已經損毀。
基於這些理由建議您建立您的 Exchange 電腦升級至 Exchange 2003 SP 1 之後立即對您的 Exchange 2003 資料庫檔案進行完整備份。

回此頁最上方

ESE 事件

在您安裝 Exchange 2003 SP 1, ID 下列事件記錄檔應用程式新的兩個號碼可能從 ESE 來源。

請注意 這些兩個事件就不會出現的 Exchange 2003 原始發行版本中。
事件識別碼 398

這 個事件通常很少發生。 如果 Exchange 2003 SP 1 修復單一位元錯誤, 但是接下來是固定的位置錯誤頁面失敗的邏輯有效性測試這個事件只發生。 因為這個事件是因此稀有, 如果您遇到這個問題, 我們要求您保留發生此錯誤, 資料庫, 您報告問題要 Microsoft 產品支援服務 」 (PSS), 並。 如需有關如何連絡 PSS, 請造訪下列 Microsoft 網站:
399 事件識別碼

此 事件表示, 單一 - 位元錯誤並未偵測到, 且, 已經在記憶體成功修正這項錯誤。 在這種情況下, 該頁面在發生此錯誤可能會或可能不是已經被修正在實體硬碟上。 除非已經寫入頁面 - 單一位元錯誤不校正實體硬碟上。 因此, 如果是只能讀取資料庫頁面, - 單一位元錯誤修正後在記憶體, 但 - 單一位元錯誤無法修正在實體硬碟上。

事件識別碼: 399

事件識別碼 399, 通常會出現與下列類似:

事件類型: 警告
事件來源: ESE
事件類別目錄資料庫頁面快取:
事件識別碼: 399
日期 日期:
時間 時間:
N / A 使用者:
computername 電腦:
描 述: Information Store (1532): 儲存群組 1 從 " C: \Program Files\Exchsrvr\MDBDATA\Storage 群組 1\MDB2.edb " 於位移 102400 (0x0000000000019000) 檔案中讀取的資料庫頁面為 4096 (0 x 00001000) 個位元組的驗證失敗 128 位元已損毀且已經獲得修正。 此問題很可能歸因於硬體錯誤且可能會繼續。 可以是暫時性失敗諸如此類的預兆要包含此檔案儲存子系統中發生嚴重失敗。 請如需進一步的協助診斷問題連絡您的硬體廠商。

事件 ID 474:

在 Exchange 2003 SP 1 是仍然報告為事件 474 錯誤無法復原的 (或多個位元)。 事件 ID 474, 通常會出現與下列類似:

事件類型: 錯誤
事件來源: ESE
事件類別目錄: 記錄 / 復原
事件 ID 474:
日期 日期:
時間 時間:
N / A 使用者:
computername 電腦:
描 述: Information Store (1532): 儲存群組 1 無法驗證因於頁總和檢查碼不符的資料庫頁面讀取從檔案 「 C: \Program Files\Exchsrvr\MDBDATA\Storage 群組 1\MDB2.edb " 在 12611584 位移 (0x0000000000c07000) 為 4096 (0 x 00001000) 個位元組 預期的總和檢查碼 (Checksum) 為 8700524288068713684 (0x78be78be1dfe7cd4), 而實際總和檢查碼為 564489450306895060 (0x07d5782a0cff7cd4)。 讀取作業將失敗, (0xfffffc06) - 1018 錯誤。 若此狀況仍然存在, 請從先前備份還原資料庫。 這個問題很可能歸因於硬體錯誤。 請如需進一步的協助診斷問題連絡您的硬體廠商。

在舊版的 Exchange, 事件 475 識別碼也會用來報告 - 1018 錯誤的項目。 Exchange 2003 SP 1 不使用事件 475 識別碼。 Exchange 2003 SP 1 使用事件 ID 474 來報告的一個無法恢復的 - 1018 錯誤, 與要出現的可復原的 - 1018 錯誤報告事件識別碼 399 出現。

回此頁最上方

参考

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件::
836993 (http://support.microsoft.com/kb/836993/) 如何取得最新的更新及 Service Pack 在 Exchange Server 2003

回此頁最上方


這篇文章中的資訊適用於:
Microsoft Exchange Server 2003 Service Pack 1

回此頁最上方

關鍵字: 
kbdiskmemory kbbackup kbeventlog kbfilesystems kbenv kbinfo KB867626 KbMtzh kbmt








ECC 基本知識

什麼是 ECC?
ECC 是 Elliptic Curve Cryptography (橢圓曲線密碼編譯) 這三個英文字的縮寫。它代表另一種不同的公開金鑰密碼編譯 – 是舊版 RSA 系統的替代選擇 – 且本身也提供許多優點。

ECC 具有哪些優點?
與其他系統相較起來,ECC 裝置所需的儲存體、能源、記憶體和頻寬都較少。這可讓您在有限資源的平台 (例如,無線裝置、手提式電腦、智慧卡和精簡型用戶端) 中實作密碼編譯。在重視效率方面,它也屈居領先地位。

舉例來說,目前舊版公開配置所建議的金鑰大小為 2048 位元,而 ECC 金鑰的大小相較之下小了許多,只有 224 位元,卻可提供相同層級的安全性。隨著更強的安全性系統已成為必要趨勢,以及裝置逐漸縮小精簡,安全性層級也將更加重要,而這項優點 (例如,3072 位元舊版金鑰和 256 位元 ECC 金鑰的安全性層級相同) 的重要性也更加顯著。

AES 公開金鑰大小的指南 NIST

ECC 標準化了嗎?

NIST、ANSI 和 IEEE 已將 ECC 標準化,詳細說明如下。

美國國家技術標準協會 (NIST) 頒布標準,明訂美國聯邦政府機構可使用的密碼編譯演算法,例如:
  • 美國聯邦資訊處理標準 (FIPS) 186-2:數位簽章標準 (DSS) - 此標準將「橢圓曲線數位簽章演算法 (ECDSA)」予以標準化,並建議 15 組的橢圓曲線網域參數。
  • 特刊 800-56: 金鑰建立配置的建議 (草本)。此特刊將 ECC 金鑰建立予以標準化,其中包括了 Elliptic Curve Diffie-Hellman (ECDH) 金鑰協議,以及更進階的 Elliptic Curve Menezes-Qu-Vanstone (ECMQV) 金鑰協議。
  • 特刊 800-57:金鑰管理指南,第 1 部 (草本)。此為管理對稱金鑰 (如 AES 金鑰) 和公開金鑰 (如 ECC 金鑰) 的指南,其中提及哪種 ECC 金鑰的大小適合哪種 AES 金鑰的大小。

美國國家標準局 (ANSI) X9 委員會為美國金融服務業開發標準,其中包括:

  • 美國國家標準 X9.62:橢圓曲線數位簽章演算法,其中詳述了 ECDSA。
  • 美國國家標準 X9.63:使用橢圓曲線密碼編譯的金鑰協議和金鑰傳輸,其中詳述 ECDH 和 ECMQV 金鑰協議,以及 ECIES 金鑰傳輸。

美國電子電機工程師協會 (The Institute for Electrical and Electronics Engineers,IEEE) 開發了數個標準,包括:

IEEE 1363-2000:公開金鑰密碼編譯的標準規格,其中詳述了 ECDSA、ECDH 和 ECMQV。

其他推薦 ECC 的單位還包括歐洲的 NESSIE、日本的 CryptRec,以及全球通用的 ISO

ECC 的應用方式也已經由 IETF 和其他組織 (如 PKIX) 予以標準化。

可將 ECC 與 SSL 和 IPSec 搭配使用嗎?
可以。

什麼是 MQV?
MQV 是此通訊協定多位創始人的名稱縮寫 - Menezes-Qu-Vanstone。它是一種金鑰協議方法,與 Diffie-Hellman 相關,但提供一些更顯著的優點。

MQV 提供 DH 所沒有的屬性,如金鑰洩露模擬彈性,以及未知金鑰共用彈性。這讓使用 MQV 金鑰協議的通訊協定具有更強的驗證功能,並確定惡意的實體無法偽裝成其金鑰已遭洩露的協力廠商實體。

MQV 也有許多很棒的效能屬性,包括它不需要大量使用主要計算步驟,同時其通訊費用低、具有角色對稱性、不具互動性,且不使用加密或時間戳記。

Certicom 安全性產業電子季報《程式碼與加密第 2 期》(second issue of Code and Cipher) 中有專門報導 MQV 通訊協定。此外,可於下列網址中參閱名為《驗證金鑰協議的有效通訊協定》 (An Efficient Protocol for Authenticated Key Agreement) 的相關文章:http://www.cacr.math.uwaterloo.ca/techreports/1998/corr98-05.pdf

Additional ECC Resources


Certicom ECC Conference 2007

November 13-15, 2007
Four Seasons Hotel, Toronto
Register today!

Code and Cipher
ECC Research Team

ECC Challenge
ECC Challenge details (PDF)

ECC FAQ
ECC Tutorial


橢圓曲線密碼系統
http://209.85.175.104/search?q=cache:7yEijq2qjpsJ:fedetd.mis.nsysu.edu.tw/FED-db/cgi-bin/FED-search/view_etd%3Fidentifier%3Doai:etdncku.lib.ncku.edu.tw:etd-0826107-153736%26index_word%3D+ECC+%E6%BC%94%E7%AE%97%E6%B3%95&hl=zh-TW&ct=clnk&cd=20&gl=tw

CONTENTS vi
LIST OF TABLES viii
LIST OF FIGURES ix
Chapter 1 Introduction 1
 1.1 Introduction to Elliptic Curve Cryptography 1
 1.2 Motivation 2
 1.3 Organization 5
Chapter 2 Background 6
 2.1 The Mathematic Background of Elliptic Curve 6
   2.1.1 Scalar Multiplication 6
   2.1.2 Full Addition 7
 2.2 Finite Field Arithmetic 9
   2.2.1 Element Representation over GF(2^m) 9
   2.2.2 Extended Stein's Division Algorithm 10
   2.2.3 Multiplication Algorithm 11
   2.2.4 Group-Serial Look-up Table-Based Multiplication Algorithm 12
Chapter 3 A Combined Multiplication and Division Design 17
 3.1 Modified Division Algorithm 17
 3.2 Modified Multiplication Algorithm 19
 3.3 Combined Multiplication and Division (CMD) Algorithm 21
 3.4 CMD Design and Complexity Analysis 23
   3.4.1 Circuit Design 23
   3.4.2 Complexity Analysis of CMD Circuit 29
 3.5 ECC Application and Its Complexity Evaluation 30
   3.5.1 Area Complexity of ECC Using CMD Design 30
   3.5.2 Time Complexity of ECC Using CMD Design 30
 3.6 Implementation Results and Comparisons 33
   3.6.1 Implementation Results 33
   3.6.2 Comparison with Another Low-cost CMD Design 33
   3.6.3 Comparison with Other ECC Designs in FPGA 34
Chapter 4 A Novel Look-up Table-Based Multiplication/Squaring Architecture 36
 4.1 Sub-group, Multiple Look-Up Tables (SG-MLUT) based Multiplication 37
 4.2 Group-Serial Look-Up Table-Based Squaring 40
 4.3 Sub-Group, Multiple Look-Up Tables (SG-MLUT) Based Multiplication/Squaring 43
 4.4 Hardware Architecture and ECC Application 45
   4.4.1 Hardware Architecture 45
   4.4.2 Complexity Analysis and Implementation Results 47
   4.4.3 ECC Application and Performance Evaluation 51
 4.5 Analysis of Sub-Group Multiple Table Based Scheme 52
Chapter 5 Conclusions and Future Work 54
References 56
參考文獻 [1] NIST, Recommended Elliptic Curves for Government Use, Available: http://csrc.nist.gov/CryptoToolkit/dss/ecdsa/NISTReCur.pdf.
[2] SECG, SEC 2: Recommended Elliptic Curve Domain Parameters, Available: www.secg.org/collateral/sec2_final.pdf
[3] ISO/IEC 14888-3, Information Technology – Security Techniques – Digital Signatures with Appendix – Part 3: Certificate Based-Mechanisms, 1998.
[4] ANSI X9.38, Public Key Cryptography for the Financial Services Industry: The Elliptic Curve Digital Signature Algorithm (ECDSA), 1999.
[5] ISO/IEC 15946-4, Information Technology – Security Techniques – Cryptographic Techniques Based on Elliptic Curves – Part 4: Digital signatures giving message recovery, 2004.
[6] IEEE Std-1363-2000: Standard Specifications for Public Key Cryptography, Jan. 2000.
[7] ANSIX9.63-2001, Public Key Cryptography for the Financial Services Industry: Key Agreement and Key Transport Using Elliptic Curve Cryptography. Working Draft, May 8, 2001.
[8] Certicom Corporation, The Basics of ECC 2006 [Online], Available: http://www.certicom.com/index.php?action=res,ecc_faq.
[9] National Institute of Standards and Technology, Digital Signature Standard, FIPS Publication 186-2 , Feb. 2000.
[10] R. C. C. Cheung, N. J. Telle, W. Luk, and P. Y. K. Cheung, "Customizable Elliptic Curve Cryptosystems," IEEE Trans. Very Large Scale Integration Systems, vol. 13, pp. 1048-1059, Sept. 2005.
[11] Y. Eslami, A. Sheikholeslami, P. G. Gulak, S. Masui, and K. Mukaida, "An Area-Efficient Universal Cryptography Processor for Smart Cards," IEEE Trans. Very Large Scale Integration Systems, vol. 14, pp. 43-56, Jan. 2006.
[12] P. H. W. Leong and I. K. H. Leung, "A Microcoded Elliptic Curve Processor using FPGA Technology," IEEE Trans. Very Large Scale Integration Systems, vol. 10, pp. 550-559, Oct. 2002.
[13] M. Bednara, M. Daldrup, J. von zur Gathen, J. Shokrollahi, and J. Teich, "Reconfigurable Implementation of Elliptic Curve Crypto Algorithms," Proc. IEEE International Parallel and Distributed Processing Symposium, pp. 157-164, 2002.
[14] N. A. Saqib, F. Rodriguez-Henriquez, and A. Diaz-Perez, "A Parallel Architecture for Fast Computation of Elliptic Curve Scalar Multiplication over GF (2m)," Proc. IEEE International Parallel and Distributed Processing Symposium, 2004.
[15] M. Morales-Sandoval and C. Feregrino-Uribe, "On the Hardware Design of an Elliptic Curve Cryptosystem," Proc. IEEE the Fifth Mexican International Conference, pp. 64-70, 2004.
[16] S. B. Wicker, Error Control Systems for Digital Communication and Storage: Prentice Hall, Inc, N.J., 1995.
[17] C. H. Wu, C. M. Wu, M. D. Shieh, and Y. T. Hwang, "High-Speed, Low-Complexity Systolic Designs of Novel Iterative Division Algorithms in GF(2m)," IEEE Trans. Computers, vol. 53, pp. 375-380, Mar. 2004.
[18] C. L. Wang and J. L. Lin, "Systolic Array Implementation of Multipliers for Finite Fields GF(2m)," IEEE Trans. Circuits and Systems, vol. 38, pp. 796-800, July 1991.
[19] S. K. Jain, L. Song, and K. K. Parhi, "Efficient semisystolic architectures for finite-field arithmetic," IEEE Trans. Very Large Scale Integration (VLSI) Systems, vol. 6, pp. 101-113, Mar. 1998.
[20] H. Brunner, A. Curiger, and M. Hofstetter, "On Computing Multiplicative Inverses in GF(2m)," IEEE Trans. Computers, vol. 42, pp. 1010-1015, Aug. 1993.
[21] J. H. Kim and D. H. Lee, "A Compact Finite Field Processor over GF(2m) for Elliptic Curve Cryptography," Proc. IEEE International Symposium on Circuits and Systems, pp. 340-343, 2002.
[22] M. A. Hasan, "Look-Up Table-Based Large Finite Field Multiplication in Memory Constrained Cryptosystems," IEEE Trans. Computers, vol. 49, pp. 749-758, July 2000.
[23] S. Liu, F. Bowen, B. King, and W. Wang, "Elliptic Curves Cryptosystem Implementation based on a Look-Up Table Sharing Scheme," Proc. IEEE International Symposium on Circuits and Systems, pp. 2921-2924, 2006.
[24] W. W. Peterson and E. J. Weldon, Error-Correcting Codes: MIT Press, Cambridge, MA, 1972.
[25] E. Al-Daoud, R. Mahmod, M. Rushdan, and A. Kilicman, "A New Addition Formula for Elliptic Curves over GF(2n)," IEEE Trans. Computers, vol. 51, pp. 972-975, Aug. 2002.
[26] A. Reyhani-Masoleh and M. A. Hasan, "Low Complexity Word-Level Sequential Normal Basis Multipliers," IEEE Trans, Computers vol. 54, pp. 98-110, Feb. 2005.
[27] G. B. Agnew, R. C. Mullin, I. M. Onyszchuk, and S. A. Vanstone, "An Implementation for a Fast Public-Key Cryptosystem," Journal of Cryptology, vol. 3, pp. 63-79, 1991.
[28] N. Takagi, J. Yoshiki, and K. Takagi, "A Fast Algorithm for Multiplicative Inversion in GF(2m) Using Normal Basis," IEEE Trans. Computers, vol. 50, pp. 394-398, May 2001.
[29] J. Park, J. T. Hwang, and Y. C. Kim, "FPGA and ASIC Implementation of ECC Processor for Security on Medical Embedded System," Proc. IEEE the Third International Conference on Information Technology and Applications, pp. 547-551, 2005.
[30] A. F. Tenca and C. K. Koc, "A Scalable Architecture for Modular Multiplication Based on Montgomery's Algorithm," IEEE Trans. Computers, vol. 52, pp. 1215-1221, Sept. 2003.

全文資料 校內外皆不可取得
詳細資料暨全文 http://etdncku.lib.ncku.edu.tw/ETD-db/ETD-search-c/view_etd?URN=etd-0826107-153736

口試委員
  • 許明華 - 口試委員
  • 張慶元 - 口試委員
  • 賴源泰 - 口試委員
  • 魏慶隆 - 口試委員
  • 謝明得 - 指導教授
  • 論文檔案
  • etd-0826107-153736.pdf
  • 本電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。
    請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
    校園開放權限 使用者自訂權限:校內 3 年後、校外 5 年後公開
    國圖開放權限 暫不開放,開放日為: (No access until):2010-09-01
    繳交日期 2007-08-26

    [PDF]

    (Microsoft Word - \275\327\244\345.doc)

    檔案類型: PDF/Adobe Acrobat - HTML 版
    搜尋等距糾錯碼(ECC)之演算法設計. 指導教授:朱倬梁教授. 專題生:0423062 葉冠宏. 0423067 許再慶. 0423117 陳家隆. 中華民國97 年1 月 ...
    210.60.98.135/96-paperuploadsystem/paperupload/019.pdf - 類似網頁 - 加入筆記本

    [PDF]

    橢圓曲線密碼系統

    檔案類型: PDF/Adobe Acrobat - HTML 版
    像Diffie-Hellman 與RSA 演算法一樣,ECC 使用的金鑰是在整數範. 圍(不包含小數與負數),所有的數字都在有限的範圍裡,落在0 到特. 定數字之間。 ...
    epaper.gotop.com.tw/pdf/AXP009100.pdf - 類似網頁 - 加入筆記本

    [DOC]

    大葉大學 資訊工程學系課程綱要及進度表〈九十二學年第二學期〉

    檔案類型: Microsoft Word - HTML 版
    將探討多種密碼系統的設計與攻擊,如DES、 AES、 RSA、 ElGamal、Diffie-Hellman、 DSA、 SHA-、ECC(橢圓曲線密碼系統)等密碼學演算法及其應用。 1. 基礎介紹, 2 ...
    www.csie.dyu.edu.tw/files/course/Cryptography.doc - 類似網頁 - 加入筆記本

    博碩士論文88521071 詳細資訊

    在這篇論文,我們專注在討論橢圓曲線密碼學(ECC)的發展改良其乘法器演算法和架構,我們主要的工作是集中在實現有限場中適用於橢圓曲線密碼學所須要用的低複雜度和高速 ...
    thesis.lib.ncu.edu.tw/ETD-db/ETD-search-c/view_etd?URN=88521071 - 13k - 頁庫存檔 - 類似網頁 - 加入筆記本







    --
    [垃圾桶] 裡沒有會話群組?

    沒有留言: