初始ECC算法

1、用户A 密钥生成

(1):用随机数发生器产生随机数k[1,n-1];

(2):计算椭圆曲线点PA=[k]G,为公钥,k为用户A私钥;

2、 用户B加密算法及流程

设需要发送的消息为比特串M,klen为M的比特长度。

为了对明文M进行加密,作为加密者的用户B应实现以下运算步骤:

(1):用随机数发生器产生随机数r[1,n-1](随机数r为用户B的私钥);

(2):计算椭圆曲线点C1=[r]G=(x1,y1),,将C1(用户B的公钥)的数据类型转换为比特串;

(3):计算椭圆曲线点C2=[r]=(x2,y2),将C2的数据类型转换为比特串;

(4):计算C 3= M*x2(modp)

(5):输出密文C=(x1,y1,C3)

(一个M对应一个C;)

3、 用户A解密算法及流程

(1):从密文C中取出C1(x1,y1)。

(2):使用私钥k计算点C4(x2,y2)=k C1=k ( x1,y1)。

(3):在中计算。

(4):最后计算明文P = C3,解密完成。

明文嵌入ECC算法

1、密钥生成用户A

(1):用随机数发生器产生随机数k[1,n-1];

(2):计算椭圆曲线点=[k]G,为公钥,k为用户A私钥;

2、 用户B加密算法及流程

设需要发送的消息为比特串M,klen为M的比特长度。

为了对明文M进行加密,作为加密者的用户B应实现以下运算步骤:

(1):用随机数发生器产生随机数r[1,n-1](随机数r为用户B的私钥);

(2):计算椭圆曲线点C1=[r]G=(x1,y1),,将C1(用户B的公钥)的数据类型转换为比特串;

(3):计算椭圆曲线点C2=[r]=(x2,y2),将C2的数据类型转换为比特串;

(4):将明文M表示成一个域元素,即将明文转换成椭圆曲线上的点

(5):计算C 3=  C2

(6):输出密文C=(x1,y1,C3)

(一个对应一个C)

3、 用户A解密算法及流程

(1):从密文C中取出C1(x1,y1)。

(2):使用私钥k计算点C4(x2,y2)=k C1=k ( x1,y1)

(3):从密文C中取出C3。

(4):最后计算明文P = C3- C4,解密完成。(解密时以密文点对中第二及之后的点减A对应私钥与第一个点对的倍乘)

ECC算法整理纪要的更多相关文章

  1. NAND Flash中常用的纠错方式(ECC算法)

    Hanming,RS,BCH —— NAND Flash中常用的纠错方式 因为闪存中会有出错的可能,如果没有使用ECC模块,读出的数据和写入的数据会有不匹配的可能,也许一个文件中只有一两个bit不匹配 ...

  2. (排序算法整理)NEFU 30/32

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/caihongshijie6/article/details/26165093        事实上, ...

  3. ECC 算法

    一.简介 1)椭圆曲线密码学的初级读本 http://8btc.com/thread-1240-1-1.html 2)ECC加密算法入门介绍 http://www.pediy.com/kssd/ped ...

  4. 【图像配准】基于互信息的图像配准算法:MI、EMI、ECC算法

    简单介绍: 基于互信息的图像配准算法以其较高的配准精度和广泛的适用性而成为图像配准领域研究的热点之中的一个.而基于互信息的医学图像配准方法被觉得是最好的配准方法之中的一个.基于此.本文将介绍简单的基于 ...

  5. Leetcode——回溯法常考算法整理

    Leetcode--回溯法常考算法整理 Preface Leetcode--回溯法常考算法整理 Definition Why & When to Use Backtrakcing How to ...

  6. BFS与DFS常考算法整理

    BFS与DFS常考算法整理 Preface BFS(Breath-First Search,广度优先搜索)与DFS(Depth-First Search,深度优先搜索)是两种针对树与图数据结构的遍历或 ...

  7. Leetcode——二叉树常考算法整理

    二叉树常考算法整理 希望通过写下来自己学习历程的方式帮助自己加深对知识的理解,也帮助其他人更好地学习,少走弯路.也欢迎大家来给我的Github的Leetcode算法项目点star呀~~ 二叉树常考算法 ...

  8. 排序算法整理C++(初赛)

    排序算法整理 常见考点 将一个乱掉的字符串排回有序(以交换为基本操作)的最少操作,就是冒泡排序. 排序算法的稳定性 排序算法的时间复杂度 排序算法的稳定性 稳定性是指排序前两个元素a1 = a2,a1 ...

  9. 常用的 JS 排序算法整理

    关于排序算法的问题可以在网上搜到一大堆,但是纯 JS 版比较零散,之前面试的时候特意整理了一遍,附带排序效率比较. //1.冒泡排序 var bubbleSort = function(arr) { ...

随机推荐

  1. 20165211 2017-2018-2 《Java程序设计》第2周学习总结

    20165211 2017-2018-2 <Java程序设计>第2周学习总结 教材学习内容总结 本周,我学习了书本上二三两章的内容,以下是我整理的主要知识 第二章 基本数据类型与数 标识符 ...

  2. 小工具:word表格文字转化成insert语句

    群里的一个朋友有个需要,要让把word里的表格数据插入到数据库里面. 我的思路是,把格式化的数据转成insert语句,然后去执行就可以了. 要求的insert语句格式是:'insert into xx ...

  3. USB Compound Device,USB复合设备 ; USB Composite Device,USB组合设备【转】

    本文转载自:https://blog.csdn.net/autumn20080101/article/details/52776863 科普下USB复合设备和USB组合设备的区别. 关键字 Commu ...

  4. Elasticsearch-->Get Started-->Exploring Your Cluster

    Version 直接对localhost:9200发出一个get请求 { "name": "WqeJVip", "cluster_name" ...

  5. substring()的用法和注意事项

    作者原创:转载请注明出处 substring()方法的作用为截取字符串,其有两种用法: 分别如下: substring(int beginIndex);这个的作用为截取从beginindex位置处的元 ...

  6. HDU 6069 Counting Divisors(唯一分解定理+因子数)

    http://acm.hdu.edu.cn/showproblem.php?pid=6069 题意: 思路: 根据唯一分解定理,$n={a_{1}}^{p1}*{a2_{}}^{p2}...*{a_{ ...

  7. ubuntu 14.04 安装redis5.0.3

    redis下载地址:http://download.redis.io/releases/ 新建Redis目录,下载Redis 安装包: mkdir rediscd rediswget http://d ...

  8. jquery zTree异步加载的例子

    下面是使用zTree异步加载的一个例子: 1)初始化树的时候是ajax请求,返回nodes列表来初始化树的:如果一开始就异步的话,$.fn.zTree.init($("#zTree" ...

  9. [C++]简单的udp通信

    UDPclient.cpp #include<WINSOCK2.H> #include<iostream> #pragma comment(lib,"WS2_32.l ...

  10. Machine Learning 资料

    Awesome系列 Awesome Machine Learning Awesome Deep Learning Awesome TensorFlow Awesome TensorFlow Imple ...