初始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. Problem F: 等式

    Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 104  Solved: 22[Submit][Status][Web Board] Descriptio ...

  2. Python3基础 str """ 多行字符串

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  3. Where is HttpContent.ReadAsAsync?

    It looks like it is an extension method (in System.Net.Http.Formatting): HttpContentExtensions Class ...

  4. 【第四章】 springboot + swagger

    注:本文参考自 http://www.jianshu.com/p/0465a2b837d2 swagger用于定义API文档. 好处: 前后端分离开发 API文档非常明确 测试的时候不需要再使用URL ...

  5. Codeforces Round #530 (Div. 1)

    A - Sum in the tree 就是贪心选尽量让上面的点权尽量大,那么对于偶数层的点,其到根节点的和即为所有儿子中的最大值. #include<bits/stdc++.h> usi ...

  6. 改变checkbox样式问题

    选择1   选择2 选择3 选择4 选择5 <form action=""> <label for="test">选择1 <inp ...

  7. Gym - 100345H Settling the Universe Up(bitset)

    https://vjudge.net/problem/Gym-100345H 题意: 给出一个图,求图中u能到达v的对数,并且u<v.并且会有更新和查询操作. 思路: bitset直接暴力,对于 ...

  8. JS进阶系列之this

    在javascript中,this的指向是在执行上下文的创建阶段确定的,其实只要知道不同执行方式下,this的指向分别是是什么,就能很好的掌握this这个让人摸不透的东西. 一.全局执行 全局执行又分 ...

  9. IL and 堆于栈

    CIL的基本构成+CIL操作码速记表+CIL操作码大全速查 引用类型:引用类型存储在堆中.类型实例化的时候,会在堆中开辟一部分空间存储类的实例.类对象的引用还是存储在栈中. 值类型:值类型总是分配在它 ...

  10. DDSM数据处理之PngWithOverlay 框出病灶区域

    修改代码路径 若overlay是某一侧的标注. 文件夹里某一侧的png 应该有对应 某一侧的overlay 这样一一对应才可以使得代码运行. 否则需要手动删除没有overlay的png图片. 左侧没有 ...