素数 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的更多相关文章

  1. STM32下FatFs的移植,实现了坏块管理,硬件ECC,ECC纠错,并进行擦写均衡分析

    最近因项目需要,做一个数据采集的单片机平台.需要移植 FatFs .现在把最后成果贴上来. 1.摘要 在 STM32 单片机上,成功移植 FatFs 0.12b,使用的 Nand Flash 芯片为 ...

  2. SAP ECC CO 配置

    SAP ECC 6.0 Configuration Document Controlling (CO) Table of Content TOC \o \h \z 1. Enterprise Stru ...

  3. SAP ECC FI配置文档

    SAP ECC 6.0 Configuration Document Financial Accounting (FI) Table of Content TOC \O "1-2" ...

  4. SAP ECC PP 配置文档

    SAP ECC 6.0 Configuration Document Production Planning & Control (PP) 1. General Settings 1.1 Ma ...

  5. SAP ECC MM 配置文档

    SAP ECC 6.0 Configuration Document Materials Management (MM) Table of Content TOC \o \h \z 1. Genera ...

  6. ECC中的CRM UI端摆弄

    前段时间想搞CRM了,可是公司没有环境,就去ECC直接试试事务码,结果竟然可以打开网页...兴奋之余又去看了一下CRM里的一些CLASS,结果很多都是没有的.沮丧! 后来想想,只能用UI的框架,挂WD ...

  7. 512字节纠错1位的ECC校验码生成演示

    Flash型号: NandFlash型号:TC58NVG2S3ETA00 pagesize: 2KB oobsize  : 64B blocksize : 128K 关于ECC可以参考:http:// ...

  8. ECC校验原理以及在Nand Flash中的应用

         本篇文章主要介绍ECC基本原理以及在Nand Flash中的应用,本文记录自己对ECC校验原理的理解和学习. ECC介绍      ECC,全称为Error Correcting Code, ...

  9. ECC校验优化之路

    引子: 今天上嵌入式课程时,老师讲到Linux的文件系统,讲的重点是Linux中对于nand flash的ECC校验和纠错.上课很认真地听完,确实叹服代码作者的水平. 晚上特地下载了Linux最新的内 ...

  10. ECC内存

    ECC内存,即应用了能够实现错误检查和纠正技术(ECC)的内存条.一般多应用在服务器及图形工作站上,这将使整个电脑系统在工作时更趋于安全稳定.ECC是“Error Checking and Corre ...

随机推荐

  1. Multiple SSH keys for different accounts on Github or Gitlab

    [inside this square brackets give a name to the followed acc.] name = github_username email = github ...

  2. [bigdata] palantir

    Palantir的无缝数据融合技术关键在于本体数据模型的灵活性,动态性,而且要能反映人.事.物和环境的关联关系及因果联系,这是大数据技术面临的核心挑战.

  3. sqlserver binary varbinary image 的区别

    sqlserver binary varbinary image 的区别   binary   固定长度的二进制数据,其最大长度为 8,000 个字节.   varbinary   可变长度的二进制数 ...

  4. DateTimePicker用法

    将DateTimePicker的Format属性中加入日期格式设成 'yyyy-MM-dd HH:mm',注意大小写 , 将kind设置为dtkTime即可,可以在每次Form onShow时将Dat ...

  5. python递归,装饰器,函数, 高阶函数

    在函数内部,可以调用其它函数,如果一个函数在内部调用自身本身,这个函数就是递归函数 递归特性:1.必须有一个明确的结束条件 2.每次进入更深一层递归时,问题规模比上次递归都有所减少(10-8-5等) ...

  6. Java之旅_面向对象_封装

    参考并摘自:http://www.runoob.com/java/java-encapsulation.html 在面向对象的程序设计方法中,封装(英语 :Encapsulation)是指一种将函数接 ...

  7. activemq安装使用教程

    一.下载安装 下载地址:http://activemq.apache.org/activemq-5158-release.html 然后解压即可,apache的东西解压后就可以使用了. 二.启动 在安 ...

  8. python武器库

    1,开发库You-GetYouTube/Youku/Niconico视频下载器Zipline一个Pythonic的交易算法库docopt为Python程序创造一个优雅的命令行界面PDFMinerPyt ...

  9. SQL常用语法大全

    一. Table 增加列 1.增加列:alter table tableName add columnName varchar(30) 1.2. 修改列类型:alter table tableName ...

  10. 【托业】【新东方全真模拟】01~02-----P5~6

    12.precisely precise precision preciseness 114. 116. favorable adj.赞同的; 称赞的; 有利的; 讨人喜欢的; favor n.好感; ...