ECC算法整理纪要
初始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算法整理纪要的更多相关文章
- NAND Flash中常用的纠错方式(ECC算法)
Hanming,RS,BCH —— NAND Flash中常用的纠错方式 因为闪存中会有出错的可能,如果没有使用ECC模块,读出的数据和写入的数据会有不匹配的可能,也许一个文件中只有一两个bit不匹配 ...
- (排序算法整理)NEFU 30/32
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/caihongshijie6/article/details/26165093 事实上, ...
- ECC 算法
一.简介 1)椭圆曲线密码学的初级读本 http://8btc.com/thread-1240-1-1.html 2)ECC加密算法入门介绍 http://www.pediy.com/kssd/ped ...
- 【图像配准】基于互信息的图像配准算法:MI、EMI、ECC算法
简单介绍: 基于互信息的图像配准算法以其较高的配准精度和广泛的适用性而成为图像配准领域研究的热点之中的一个.而基于互信息的医学图像配准方法被觉得是最好的配准方法之中的一个.基于此.本文将介绍简单的基于 ...
- Leetcode——回溯法常考算法整理
Leetcode--回溯法常考算法整理 Preface Leetcode--回溯法常考算法整理 Definition Why & When to Use Backtrakcing How to ...
- BFS与DFS常考算法整理
BFS与DFS常考算法整理 Preface BFS(Breath-First Search,广度优先搜索)与DFS(Depth-First Search,深度优先搜索)是两种针对树与图数据结构的遍历或 ...
- Leetcode——二叉树常考算法整理
二叉树常考算法整理 希望通过写下来自己学习历程的方式帮助自己加深对知识的理解,也帮助其他人更好地学习,少走弯路.也欢迎大家来给我的Github的Leetcode算法项目点star呀~~ 二叉树常考算法 ...
- 排序算法整理C++(初赛)
排序算法整理 常见考点 将一个乱掉的字符串排回有序(以交换为基本操作)的最少操作,就是冒泡排序. 排序算法的稳定性 排序算法的时间复杂度 排序算法的稳定性 稳定性是指排序前两个元素a1 = a2,a1 ...
- 常用的 JS 排序算法整理
关于排序算法的问题可以在网上搜到一大堆,但是纯 JS 版比较零散,之前面试的时候特意整理了一遍,附带排序效率比较. //1.冒泡排序 var bubbleSort = function(arr) { ...
随机推荐
- linux虚拟机中安装vm_tool的方法及用处
解决问题:实现虚拟机VMware上linux与windows互相自由复制与粘贴.如在同一个系统下ctrl+c 与ctrl+v一样方便.解决了只能通过U盘摆渡复制的繁琐问题. 系统环境: 虚拟机VMwa ...
- 主引导记录MBR的结构和作用
MBR磁盘分区都有一个引导扇区,称为主引导记录,英文简称为MBR.1. MBR的结构MBR扇区位于整个硬盘的第一个扇区:按照C/H/S地址描述,即0柱面〇磁头1扇 区:按照LBA地址描述即0扇区.它是 ...
- VS2017无法启动程序 操作在当前状态中是非法的
工具--选项--调试--常规--启用asp.net的JavaScript调试(chrome和ie)去掉勾选
- Java名称由来
2000年度的JavaOne国际会议大厅热闹非凡,一阵阵浓郁的咖啡味儿香气扑鼻.从世界各地汇集到旧金山参加会议的Java精英们兴奋异常,排着长队,等待得到一杯由Java语言控制的咖 ...
- HDU 6073 Matching In Multiplication(拓扑排序+思维)
http://acm.hdu.edu.cn/showproblem.php?pid=6073 题意:有个二分图,左边和右边的顶点数相同,左边的顶点每个顶点度数为2.现在有个屌丝理解错了最佳完美匹配,它 ...
- C# 窗口模拟点击按钮或关闭窗口
public class CloseForm { [DllImport("user32", EntryPoint = "FindWindow")] privat ...
- selenium-firefox-headless
from selenium import webdriver import time fireFoxOptions = webdriver.FirefoxOptions() fireFoxOption ...
- STL_容器使用时机
1. 来自教程: ◆ Vector的使用场景:比如软件历史操作记录的存储,我们经常要查看历史记录,比如上一次的记录,上上次的记录,但却不会去删除记录,因为记录是事实的描述. ◆ deque的使用场景: ...
- 01_DllZZ.cpp
1. // DllZZ.cpp : Defines the entry point for the DLL application. // #include "stdafx.h" ...
- Thunder团队项目视频展示
视频链接:http://v.youku.com/v_show/id_XMzA5MjMzMzcyMA==.html?spm=a2h3j.8428770.3416059.1 视频简介:通过一个小情景开篇, ...