《A Graduate Course in Applied Cryptography》Chapter 15 Elliptic curve cryptography and pairings (1)
原文教材 与 参考资料:
Boneh Dan , Shoup Victor . A Graduate Course in Applied Cryptography[J].
该书项目地址(可以免费获取):http://toc.cryptobook.us/
博客为对该书的学习笔记,并非原创知识,仅帮助理解,整理思路。
15.0 Elliptic curve
针对在模素数的整数群上DL问题被逐步降低计算难度的缺陷(general number field sieve, FNFS),椭圆曲线上的离散对数问题进入密码学家的视野,椭圆曲线(简称EC)上的离散对数问题相对于模素数整数群上的离散对数问题更加的困难,整数群上计算破解DL的算法复杂度约为O((logp)^1/3), EC上计算破解DL 的算法复杂度约为O(p ^ 1/2)。并且EC上的计算效率也比较高远远比类似安全程度的RSA要快的多。
另外,椭圆曲线上还有一个重要的代数操作,Pairing。 由于配对运算(Pairing)的精巧属性,催生出了大量使用该属性的密码学方案,这些方案被统称为pairing-based cryptography。
15.1 The group of points of an elliptic curve
椭圆曲线的一种函数表示法实例如下:
其图像表示法如下:
在这个曲线上,定义两种代数操作,称之为“chord method” 弦方法,“tangent method”切线法。这两种计算方法定义了两种点的加法,如果存在两个点P,Q。
如果P 不等于 Q ,那么P+Q使用弦方法,如果 P 等于 Q ,那么P+Q使用切线法,如下图所示:
图一为弦方法,图二为切线法。
15.2 Elliptic curves over finite fields
定义一个域在椭圆曲线上,定义如下:
椭圆曲线的阶数(椭圆曲线域上的点集数):
根据Hasse定理,得到一个椭圆曲线有限域上的点集个数为:
椭圆曲线上加法规则:
Weierstrass , Montgomery, Edwards curves
椭圆曲线有多种函数表达形式,其中常见的主要包括Weierstrass , Montgomery, Edwards curves三种。三种形式的关系如下图所示:
上述标准的椭圆曲线表达式为Weierstrass形式,但是这种形式的计算效率可能并不高,所以就有了Montgomery, Edwards形式。值得注意的是,如果Weierstrass 曲线的阶数为奇数,那么存在m蒙哥马利的表达式形式,那么该曲线就不能获得蒙哥马利表达式的加速益处。爱德华兹表达形式的便利之处在于,在加法运算上,不需要按照两种规则来计算,不论P是否等于Q,P+Q的算法都是一样的。
15.3 Elliptic curve cryptography
椭圆曲线密码学使用的参数现在有两个一个是P256 一个是Curve25519.
P256 是美国标准技术局(NIST)开发的,但是关于选择该参数的原因,NIST没有给出全部的原因与设计细节,针对该参数设计不透明的问题,Curve25519被设计提出,这个参数的设计与选择是完全公开透明的,所以被认为是足够安全的。
Curve25519 主要描述的是这样的一种安全性:
TwIst security 安全性,每一个域上的曲线E都存在一个孪生曲线域E1。如果E的阶数为奇数,那么该域上的每个X坐标要么是属于曲线E的,要么是属于孪生曲线域E1的。特别是,很多椭圆曲线密码学方案中仅仅将一个坐标x发送给其他参与者,而其他参与者需要进行该点是否是群上点的验证。考虑这样一种情况,如果敌手提供一个在孪生素数上的生成元,而诚实参与者没有进行群元素的验证,那么敌手将会获得一个带有私钥的孪生曲线上的点,P = s*G。如果在孪生曲线上DL问题不是困难的,那么敌手将会轻易获得秘密值s。
pairing 对运算是椭圆曲线上另一个非常重要的属性,特别是在对称群下,DDH假设是简单的。但是在非对称群下DDH仍然是成立的。
《A Graduate Course in Applied Cryptography》Chapter 15 Elliptic curve cryptography and pairings (1)相关推荐
- 《A Graduate Coursse in Applied Cryptography》chapter 2 Encryption (1)
<A Graduate Coursse in Applied Cryptography>chapter 2 Encryption (1) 原文教材: Boneh D, Sh ...
- 《Foundations of Cryptography》chapter 1 Introduction
<Foundations of Cryptography>chapter 1 Introduction 原文教材:<Foundations of Cryptography> ...
- 一文弄懂元学习 (Meta Learing)(附代码实战)《繁凡的深度学习笔记》第 15 章 元学习详解 (上)万字中文综述
<繁凡的深度学习笔记>第 15 章 元学习详解 (上)万字中文综述(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net ...
- 《软件需求分析(第二版)》第 15 章——变更管理 重点部分总结
文章目录 前言 一.讨论 二.判断题 三.简答题 总结 前言 软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素.需求分析是软件定义阶段中的最后一 ...
- 小啊呜产品读书笔记001:《邱岳的产品手记-08》第15讲 产品案例分析:Mimo与LearnPython的导学之趣 第16讲 在内部产品中找到产品经理的价值
小啊呜产品读书笔记001:<邱岳的产品手记-08>第15讲 产品案例分析:Mimo与LearnPython的导学之趣 & 第16讲 在内部产品中找到产品经理的价值 一.今日阅读计划 ...
- 《linux设备驱动开发详解》笔记——15 linux i2c驱动
<linux设备驱动开发详解>笔记--15 linux i2c驱动 15.1 总体结构 如下图,i2c驱动分为如下几个重要模块 核心层core,完成i2c总线.设备.驱动模型,对用户提供s ...
- 【读书笔记】《Introduction to classical and quantum computing》 chapter 1
[Notes]<Introduction to classical and quantum computing> chapter 1 Chapter 1:Classical Informa ...
- Elliptic Curve Cryptography (ECC) and Pairings 椭圆曲线密码学与配对
本文是Dan Boneh 和Victor Shoup所写书籍A Graduate Course in Applied Cryptography的笔记. The group of points of a ...
- 椭圆曲线加密(Elliptic Curve Cryptography, ECC)
近年来,国内外的科研人员面向设备资源受到限制的多种场景提出了很多基于ECC的认证密钥协商协议.虽然各协议应用场景不尽相同,但解决的问题和最终的目标都较为类似,可以归纳为在性能开销尽可能小的前提下,安全 ...
最新文章
- “中文版GPT-3”来了!用64张V100训练了3周
- 业务工作流平台设计(六)
- (操作系统)实验二 作业调度
- 统计php脚本执行时间的php扩展
- 使用Apache反向代理实现全能主机的搭建
- 项目Alpha冲刺——代码规范、本次冲刺任务与计划
- linux添加php到环境,Linux系统为已编译的PHP环境添加扩展
- MATLAB的PLOT函数线型设置及横坐标为字符串的代码实例
- 华为鸿蒙系统和苹果系统哪个更好,华为鸿蒙OS和安卓、IOS相比有哪些特色 关于鸿蒙OS不得不知的十个问题...
- Eclipse配置svn
- 阿里系微服务进阶指南
- http.server模块
- 延时队列的几种实现方式(只有原理,并没有源码)
- MySQL数据库 实验报告(三)
- Google 搜索服务退出中国
- DELL D630 显卡门事件 终于碰上了~
- Oracle数据库中,表的锁死查询与解锁。
- 【beyong-sms】一款支持多家短信服务商优美的PHP短信发送库
- Problem A Artwork
- 联想小新 Pro 16 2023 评测