赞
踩
椭圆曲线密码基于离散对数难题
公钥密码
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使用的椭圆曲线定义在有限域
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。