ECC(Elliptic Curve Cryptography)椭圆曲线密码详解
椭圆曲线密码基于离散对数难题
公钥密码
ECC 非对称密钥功能:加密、签名、密钥交换
ECC是RSA的后继更短的密钥长度、更快的签名、更快的密钥协商
私钥长度为256bits, 32字节。大小在曲线的域范围内(field size),256bits的整数。此范围内任意整数都是合法的私钥。
公钥为曲线上的点(EC points),坐标为{x,y}.能够压缩为一个坐标长度+1bit,为压缩的公钥(compressed public key)。
不同的椭圆曲线具有不同的安全级别、不同的性能、不同的密钥长度。
ECC曲线的一些术语:
名字:secp256k1、Curve25519
域长度:定义密钥长度,如256bits
安全强度:域长度/2 或更小
性能:operations/sec
密钥长度:OpenSSL, OpenSSH and Bitcoin 默认256bits。
256-bit (curves secp256k1 and Curve25519),384-bit (curves p384 and secp384r1),…
ECC算法:基于有限域上的数学
ECC数字签名: ECDSA (for classical curves) EdDSA (for twisted Edwards curves)
ECC加密: ECIES EEECC (EC-based ElGamal).
ECC 密钥交换:ECDH, X25519 and FHMQV.
所有这些算法采用公钥、私钥对。私钥是整数,公钥是曲线上的点EC point。
包含所有的{x,y}
简化后的曲线(Weierstras form)y^2 = x ^ 3 + ax + b
令: a = 0 and b = 7
y^2 = x ^ 3 + 7 ( NIST curve secp256k1 (used in Bitcoin))。如下:
图形生成参考链接: https://www.desmos.com/calculator/ialhd71we3?lang=zh-CN
ECC使用的椭圆曲线定义在有限域
ECC(Elliptic Curve Cryptography)椭圆曲线密码详解相关推荐
- 《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]. 该书项目地址(可以免费获取) ...
- 【转】Guide to Elliptic Curve Cryptography(ECC椭圆曲线算法1)
Guide to Elliptic Curve Cryptography (ECC椭圆曲线算法1) 2017年06月03日 10:14:08 原文 http://andrea.corbellini.n ...
- 椭圆曲线加密(Elliptic Curve Cryptography, ECC)
近年来,国内外的科研人员面向设备资源受到限制的多种场景提出了很多基于ECC的认证密钥协商协议.虽然各协议应用场景不尽相同,但解决的问题和最终的目标都较为类似,可以归纳为在性能开销尽可能小的前提下,安全 ...
- 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
原文来自wiki 翻译参照Bing在线翻译 - - 部分翻译 Elliptic curve cryptography From Wikipedia, the free encyclopedia Jum ...
- 用matlab画椭圆曲线方程,椭圆曲线入门详解
转载请注明http://blog.csdn.net/boksic 如有疑问欢迎留言 如果不知道数学上的群.循环群等概念,可以先了解ElGamal加密算法 后再回过来椭圆曲线加密 这两个算法有共通之处, ...
- Elliptic Curve Cryptography: a gentle introduction
转载自:https://www.jianshu.com/p/2e6031ac3d50?from=groupmessage 原文链接:https://andrea.corbellini.name/201 ...
- Elliptic Curve Cryptography: 轻轻的学
Elliptic Curve Cryptography: 轻轻的学 Elliptic curves Algebraic addition Scalar multiplication Multiplic ...
- 维吉尼亚密码详解及C语言实现
维吉尼亚密码详解及C语言实现 文章目录 维吉尼亚密码详解及C语言实现 0x01 维吉尼亚密码 0x02 维吉尼亚密码原理 0x03 维吉尼亚密码CTF题目 0x04 C语言实现 图片地址:https: ...
最新文章
- 【jdbc】兴唐第三十一节课之修改数据和查询数据(使用自己写的DBUtil)
- 检查一列数据的重复项 vba_01.VBA自动化办公——数据的局部加和
- 「每日分享」CPU Cache 与缓存行
- 扫描仪图标无法显示计算机,win7“我的电脑”中不显示扫描仪和摄像头的原因和解决方法...
- Confluence 6 配置服务器基础地址备注
- php mysql csv_php导入csv到mysql数据库
- 对冲基金很需要:K、Q在哪里?
- svn admin 详细介绍
- uv422转换为yuv420_YUV420 Planar 转换为 YUV422 Packed
- php计算1000000以内的质数,1000000以内质数表
- html 在框架里弹出页面,iframe弹出新窗口 iframe页面打开新窗口问题
- Tensorflow2.3用SaveModel保存训练模型.pb等文件+opencvino转IR文件
- Cadence Allegro16.6完整安装包+和谐文件 下载
- mysqljs基本操作快速上手
- 【项目实战】心脏病患者数据分析和建模
- win11新版本微信消息不闪烁/提示问题
- ECSHOP通过改变模板路径制作手机站
- 白鹭引擎加密算法 - XXTEA -typescript
- python调用阿里API车牌识别接口步骤
- vue 点击图片 预览图片