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 ...
随机推荐
- 单周期CPU设计的理论基础
写在前面:本博客内容为本人老师原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法UR ...
- Chap5:数字货币交易[《区块链中文词典》维京&甲子]
- 内核态与用户态通信 之 sockopt
转自:http://blog.csdn.net/jk110333/article/details/8642261 用户态与内核态交互通信的方法不止一种,sockopt是比较方便的一个,写法也简单. ...
- FTP主动模式和被动模式的区别(转)
dd by zhj: 一般使用被动模式,在命令行下,被动模式的格式是:ftp -p (yinservice_env) ajian@ubuntu-desk:~$ ftp -pftp> 之前在用命令 ...
- net use共享文件访问
NET USE "\\xxx.xxx.xxx.xxx\vms\Application Files" "password123" /USER:"ap\1 ...
- React之生命周期
哈喽,这是我的第一篇博客,请大家多多关照~ 追根溯源:What's the lifeCycle? 生命周期函数指在某一时刻组件会自动调用执行的函数: React生命周期概览: 接下来我们就着生命周期的 ...
- python基础教程 变量/输入输出/if判断
python的运用越来越多.大数据经常被人谈及,数据从何而来?通过各个平台.app.网站数据的收集,分析,过滤,生成报告,这些都可以用python来处理,并且有很多成熟的库可以直接用了.那还不赶紧深入 ...
- 转场动画UINavigationControllerDelegate
从iOS7开始,苹果更新了自定义ViewController转场的API,这些新增的类和接口让很多人困惑,望而却步.本文就从这些API入口,让读者理清这些API错综复杂的关系. 几个protocol ...
- 002-pro ant design 表单基本使用、state赋值数据父子传输
一.表单元素操作事项 1.form 默认在prop中存在:this.props.form,直接使用即可 2.重置:this.props.form.resetFields(); 3.赋值:form.se ...
- Spark代码中设置appName在client模式和cluster模式中不一样问题
问题 Spark应用名在使用yarn-cluster模式提交时不生效,在使用yarn-client模式提交时生效,如图1所示,第一个应用是使用yarn-client模式提交的,正确显示我们代码里设置的 ...