素数 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. Flash builder 、flash cs6、 as 3.0研究

    1.Flash/Actionscript3 载入资源文件方法考 http://zengrong.net/post/1107.htm 2.使用Flash Professional CS5和Flash B ...

  2. LeetCode 682 Baseball Game 解题报告

    题目要求 You're now a baseball game point recorder. Given a list of strings, each string can be one of t ...

  3. multiDex分包时指定主dex的class列表

    在gradle中我们使用了如下代码可以将指定类型分配到主dex中: afterEvaluate { tasks.matching { it.name.startsWith('dex') }.each ...

  4. 2017-2018-2 20165336 实验四《Android开发基础》实验报告

    20165336 实验四 Android程序设计 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:康志强 学号:20165336 指导教师:娄嘉鹏 实验日期:2018年5月14日 实 ...

  5. python摸爬滚打之day07----基本数据类型补充, 集合, 深浅拷贝

    1.补充 1.1  join()字符串拼接. strs = "阿妹哦你是我的丫个哩个啷" nw_strs = "_".join(strs) print(nw_s ...

  6. java 网络编程(五)Socket多线程上传文件

    客户端: package cn.sasa.socketUploadFileDemo; import java.io.FileInputStream; import java.io.IOExceptio ...

  7. MyEclipse下创建的项目 导入eclipse

    1.导入在MyEclipse下创建的项目 2.把项目变成Web项目,在项目上右键-->Properties-->选择Project Facets-->点击Convert to fac ...

  8. zabbix宏(macro)使用:自定义监控阈值

    一.简单应用场景 zabbix在监控cpu load时并没有考虑客户端cpu的个数和核心数量,当平均5分钟的负载达到5时zabbix执行报警动作,这样是非常不合理的,笔者的被监控机器有四核和单核,现在 ...

  9. 什么是url?

    什么是URL? URL是统一资源定位器(Uniform Resource Locator)的缩写,也被称为网页地址,是因特网上标准的资源的地址. URL举例 http://www.sohu.com/s ...

  10. MySQL 5.7 新特性大全和未来展望

    引用 美图公司数据库高级 DBA,负责美图后端数据存储平台建设和架构设计.前新浪高级数据库工程师,负责新浪微博核心数据库架构改造优化,以及数据库相关的服务器存储选型设计.之前在「高可用架构」发表的&l ...