ECC
素数 prime,又称为质数,是指,除了1和它本身,没有其他因数的数。
素数的定理:
1)在一个大于1的数a和它的2倍之间必定存在至少一个素数;
素数的性质:
1)在所有的大于10的质数中,个位数,只有1,3,5,9;
素数还没有自己的生成函数,只能通过素数检测函数,进行循环判断;
C的基本判断函数:

大数的素数测试,有很多优化的算法,并不是简单的试除法,
确定性的素数判定法:太慢了
非确定性的素数判定法:
素数测试,输入是素数,来检测,该数并没有其他因子;绝不会把素数判断为合数,但可能把合数判断为素数。
合数测试,输入是合数,来检测,该数还有其他因子,米勒-拉宾(Miller-Rabin)测试。
互素,又称为互质,公约数只有1的两个整数,例如8,10的最大公因数是2。
梅森素数,Mersenne prime,是由梅森数来的。
梅森数,是指形如2p - 1的一类数,其中指数p是素数,记为Mp,如果梅森数为素数,就称为梅森素数;
目前仅仅发现了49个梅森素数;
ECC内部的椭圆曲线分为两大类,素数(p),二次多项式(2m)
ECC内部计算的blinding操作,在乘法过程中,加入输入的随机数来掩盖其中的中间值;
ECC的基于大素数P的椭圆曲线的方程是:y2 = x3 + ax + b mod p
NIST推荐的曲线中,a = -3,这样可以提高计算效率;
cofactor,余因子,必须不是n的因子,NIST推荐的曲线,一般cofactor都是1,2,4
n,基点G的阶,n*cofactor表示一条曲线上的所有点的个数。
ECC中P素域上的椭圆曲线的随机生成,需要一个160bit的seed,经过sha1运算之后,得到c,
a直接定为:-3
计算b:b2*c = -27 (mod p)
ECC Shamir trick,同时做两个点乘,内部进行分解,转变为更小的倍点和点加。
R = k*P + l*Q
ECC-C25519/Ed25519基于最新的一种椭圆曲线的方程,y2 - x2 = 1 + d*x2*y2 mod p
ECC中的affine coordinate和jacobian coordinate坐标系:
在affine coordinate,曲线的方程为:y2 = x3 + ax + b mod p
在jacobian coordinate中,曲线的方程为:y2 = x3 + axz4 + bz6
affine coordination 到Jacobian coordination的转换:
x = X/Z2 mod p
y = Y/Z2 mod p
Jacobian coordination 到affine coordination的转换:
X = x
Y = y
Z = 1
有些design内部,还可能使用standard projective来做运算,防止一些side-channel attack,这些运算如果使用
Jacobian坐标系不能实现,计算完成在转换为affine projective
Affine(x,y) 到 Standard_Prj(X,Y,Z)转变,
x = X/Z mod p
y = Y/Z mod p
standard_Prj(X,Y,Z) 到 Affine(x,y)转变,
X = x
Y = y
Z = 1
Z变量在standard_prj中的值是不等于Jacobian中的值的。
ecc曲线是关于x轴,可以对称的。曲线上的点的个数总共有order(阶)个。一般的可使用的点的个数会远小于order的值。
因为一般我们都取G点的n点乘的点的集合。n*G的点乘结果表示该曲线对应的无穷远点。
https://blog.csdn.net/hugewaves/article/details/53870397
ECC的更多相关文章
- STM32下FatFs的移植,实现了坏块管理,硬件ECC,ECC纠错,并进行擦写均衡分析
最近因项目需要,做一个数据采集的单片机平台.需要移植 FatFs .现在把最后成果贴上来. 1.摘要 在 STM32 单片机上,成功移植 FatFs 0.12b,使用的 Nand Flash 芯片为 ...
- SAP ECC CO 配置
SAP ECC 6.0 Configuration Document Controlling (CO) Table of Content TOC \o \h \z 1. Enterprise Stru ...
- SAP ECC FI配置文档
SAP ECC 6.0 Configuration Document Financial Accounting (FI) Table of Content TOC \O "1-2" ...
- SAP ECC PP 配置文档
SAP ECC 6.0 Configuration Document Production Planning & Control (PP) 1. General Settings 1.1 Ma ...
- SAP ECC MM 配置文档
SAP ECC 6.0 Configuration Document Materials Management (MM) Table of Content TOC \o \h \z 1. Genera ...
- ECC中的CRM UI端摆弄
前段时间想搞CRM了,可是公司没有环境,就去ECC直接试试事务码,结果竟然可以打开网页...兴奋之余又去看了一下CRM里的一些CLASS,结果很多都是没有的.沮丧! 后来想想,只能用UI的框架,挂WD ...
- 512字节纠错1位的ECC校验码生成演示
Flash型号: NandFlash型号:TC58NVG2S3ETA00 pagesize: 2KB oobsize : 64B blocksize : 128K 关于ECC可以参考:http:// ...
- ECC校验原理以及在Nand Flash中的应用
本篇文章主要介绍ECC基本原理以及在Nand Flash中的应用,本文记录自己对ECC校验原理的理解和学习. ECC介绍 ECC,全称为Error Correcting Code, ...
- ECC校验优化之路
引子: 今天上嵌入式课程时,老师讲到Linux的文件系统,讲的重点是Linux中对于nand flash的ECC校验和纠错.上课很认真地听完,确实叹服代码作者的水平. 晚上特地下载了Linux最新的内 ...
- ECC内存
ECC内存,即应用了能够实现错误检查和纠正技术(ECC)的内存条.一般多应用在服务器及图形工作站上,这将使整个电脑系统在工作时更趋于安全稳定.ECC是“Error Checking and Corre ...
随机推荐
- 苹果审核被拒,Guideline 1.1.6 - Safety - Objectionable Content;Guideline 3.1.1 - Business - Payments - In-App Purchase
Guideline 1.1.6 - Safety - Objectionable Content Thank you for your resubmission. We noticed that yo ...
- IDEA指定启动JDK版本
使用场景: 开发人员在自己的机器上可能装了多个版本的JDK,但是在环境变量中只能配置一个 JAVA_HOME ,so你的IDEA Eclipse 可能因为你在 JAVA_HOME 配置JDK1.8 以 ...
- pip的问题小结
Q:同时安装py2和py3后,pip2不能用 A:使用:python2 -m pip install xxx 代替 pip2 install xxx 命令 Q:怎么用pip更新第三方包 A:pip2 ...
- css中根据不同分辨率设置不同样式
@media screen and (max-width: ) { .tab__content{width: %} }
- [硬件]SICK LMS111激光扫描仪使用
1.电源接入 电源线5Pin,4芯.棕色线接入正极,蓝色线接入负极(直流电,地线).LMS111-100默认的电压范围是10-30V,推荐使用24V,我这里使用的是12V/3A的锂电池. 另外两根白色 ...
- PHP如何动态传入参数
首先需要说明的是,URL写作/index.php/xx/b/c可以直接被index.php文件接受,而不用做任何额外的操作 但是如果需要在URL中隐藏index.php的话,才需要伪静态重写规则,将^ ...
- abap 通过importing 和 exporting 调用其它函数
1:其它函数的(输入或输出)参数名都在=号左边.
- Spark:java.net.BindException: Address already in use: Service 'SparkUI' failed after 16 retries!
Spark多任务提交运行时候报错. java.net.BindException: Address already retries! at sun.nio.ch.Net.bind0(Native Me ...
- 【Java】-NO.16.EBook.4.Java.1.005-【疯狂Java讲义第3版 李刚】- 枚举
1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.005-[疯狂Java讲义第3版 李刚]- 枚举 Style:EBook Series:Java Si ...
- HTML5服务器消息推送(java版)
前端代码(html5.html): <html> <meta http-equiv="Content-Type" content="text/html; ...