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 ...
随机推荐
- python basic
#遍历一个序列,很多传统语言过来的,习惯用下标遍历,Python中序列是可迭代的,直接for即可! colors=['red','green','blue','yellow'] for color i ...
- Web开发——CSS基础
参考: 参考:http://css.doyoe.com/ 参考:http://www.w3school.com.cn/cssref/index.asp 参考:https://www.w3cschool ...
- 封装一个axios请求后台的通用方法
import axios from 'axios'; import constant from '@/js/const'; import alert from '@/js/alertView'; le ...
- 虚拟机VirtualBox与CentOS 7安装
一.VirtualBox 我们电脑的操作系统一般都是Windows,如果我们要学习Linux,那么可以在我们的电脑上装个虚拟机,然后在这虚拟机上安装Linux.虚拟机可以用VirtualBox 或者 ...
- 洛谷P5234 越狱老虎桥 [JSOI2012] tarjan
正解:tarjan+贪心(?并不会总结是什么方法QAQ,,, 解题报告: 传送门! 这题是真的题意杀,,,我我我要不是之前知道题目大意了我怕是怎么看都看不懂这是个什么意思昂QAQ 所以先说下题目大意好 ...
- js判断开始时间不能小于结束时间
function validTime(startTime,endTime){ var arr1 = startTime.split("-"); var arr2 = e ...
- InnoDB启用大内存页
在 Linux 操作系统上运行内存需求量较大的应用程序时,由于其采用的默认页面大小为 4KB,因而将会产生较多 TLB Miss 和缺页中断,从而大大影响应用程序的性能.当操作系统以 2MB 甚至更大 ...
- docker+mysql基本搭建过程
查询镜像 [root@bms-e4e3 ~]# docker search mysql INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.i ...
- 组合覆盖与PICT的使用
组合覆盖法是一种有效减少测试用例个数的测试用例设计方法.根据覆盖程度的不同,可以分为单因素覆盖.成对组合覆盖.三三组合覆盖等.其中又以成对组合覆盖最常用. 关于组合覆盖的更多内容,参考:http:// ...
- 常见Chrome 插件
Chrome插件网:http://chromecj.com/downloadstart.html Chrome浏览器:http://chromecj.com/chrome/2014-09/177.ht ...