CC++实现区块链(上)之加密算法

本算法基于椭圆标准方程、线性代数、数据结构,纯属自制。仅供学习参考,不得用于商业用途。

首先了解下椭圆标准方程:

 

我们先模拟下长轴为Y轴时(即焦点F在Y轴上,F的横坐标为0的情况),然后根据椭圆的定义,得到椭圆上任意一点F,到焦点F1,F2的距离|MF1|+|MF2|是一个常数。,这个时候连接MF1和MF2。然后很容易得到椭圆标准方程从而得到椭圆的准线方程。

通过椭圆的准线方程,我们可以得知准线方程和椭圆相切于点A1,A2,A3,A4并可以很容易的得到这四个点的坐标分别为(0,a)、(0,-a)、(b,0)、(-b,0).

通过这四个点,我们从y轴的正半轴的远离原点的点开始构造向量,方向为先左后右。如图所示:

 

 

以下为矩阵创建算法:

 

以上为实现区块链的核心算法代码,基本思想为,根据public_key难以解出我的环路迭代次数和a、b值,并且对于可以对任意点在椭圆上的情况做出判断,看点M是否满足圆的标准方程的定义来实现安全性。

 

创建区块

核心思想就是通过加密算法来加密区块。精通C的小伙伴们肯定都知道链表这种数据结构。区块即链表,区块链的基本结构如下:

 

其中第一个区块为创世区块。

而数字签名我将利用以上基于椭圆的加密算法来实现,不通过任何第三方MD5,RSA,或是HASH实现。

---------------------

作者:程序小黑

来源:CSDN

原文:https://blog.csdn.net/qq_27180763/article/details/82588136

版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/weixin_43822361/article/details/84716750