1. 程式人生 > >CC++實現區塊鏈(上)之加密演算法

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

版權宣告:本文為博主原創文章,轉載請附上博文連結!