吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

區塊鏈技術淺析:交易腳本中的橢圓曲線加密算法

lviY_AI_shequ ? 來源:電子發燒友網 ? 作者:工程師譚軍 ? 2018-07-10 15:06 ? 次閱讀

一、重新審視RSA

RSA之所以能作為非對稱加密算法,其實有兩點:

1. 基于大整數質數分解這個數學難題。這個難題,求解出來很困難,但是驗證它很簡單

2. 私鑰簽名之后,利用公鑰進行驗證的還原公式,RSA里面就是歐拉定理。

比特幣中,非對稱加密使用的數學難題是離散對數問題。

二、橢圓曲線算法的數學難題

在閱讀本節之前,可以先閱讀ECC加密算法入門介紹,什么是橢圓曲線呢,并不是我們高中所學的在連續實數域二維平面上的橢圓曲線,而是定義在有限域(有限個離散的值組成的集合)射影平面上的曲線。

先不考慮有限域和射影平面,假設還是在連續實數域二維平面上,就像二維平面上其他曲線都有方程一樣,橢圓曲線的方程是:

y2+ a1xy + a3y = x3+ a2x2+ a4x + a6

且曲線上的每個點都是非奇異(或光滑)的,也就是都有切線。

(下面都只討論實數域和二維平面上的情況,理解了這部分,剩下的僅僅是擴展的問題,非常容易理解)

區塊鏈技術淺析:交易腳本中的橢圓曲線加密算法

根據參數不同,曲線形狀不同,比如

區塊鏈技術淺析:交易腳本中的橢圓曲線加密算法

在這條曲線上定義了加法:就像上圖,先定義一點G,然后過G做該橢圓曲線的切線,和橢圓曲線相交于另外一點,稱為點-2G,找到點-2G關于X軸的點2G,該點在橢圓曲線上,因為比特幣選定的橢圓曲線是關于X軸對稱的。(根據參數不同,有很多橢圓曲線,有些不關于X軸對稱,有一些關于X軸對稱,比特幣選定的關于X軸對稱的曲線叫secp256k1)。點2G稱為點G + 點G的加法。如果G做k次加法,也就是 點2G + 點G = 點3G,點3G + 點G = 點4G,一直加k次,得到點kG。

那么數學難題是什么呢?數學難題是:已知k和G,得出K = kG,是容易的,有公式直接得出,但是由kG的結果K,和點G,得出k是困難的。你看,這也是一個驗證很簡單,但是求解很困難的事情。為什么求解很困難?其實是相對于從k和G得出K而言的。首先需要明確的是,一步一步的計算,從k和G能得出K(正向),從K和G也能得出k(逆向),時間復雜度也就是O(k),但是如果正向計算能使用一些方法快速求出來,而這個方法對逆向計算不適用,那么就構成了計算的非對稱性。橢圓曲線加密算法正是這樣的,正向計算可以使用比如 倍數-和 的方法(如果加法看成是乘法,那么就叫 平方-乘 的方法),但是逆向計算仍然沒有找到合適的快速的方法。該部分可以參見《密碼學原理與實踐》的第六章。

三、橢圓曲線算法的還原方法的設計

下面只是一個例子,還有很多其他的方法。

1. 加密簽名的過程:

A. 選擇一條橢圓曲線和基點GB. 選擇私有密鑰k,利用基點G計算公開密鑰K = kGC. 產生一個隨機整數r,計算點R = rGD. 將明文m和點R的坐標值x, y作為參數,計算SHA值,即Hash = SHA(m, x, y)E. 計算sn = r – Hash * kF. 將sn和Hash作為密文

2. 對應的驗證過程如下

(公開的信息有:基點G,公開密鑰K,sn,m和Hash)A. 計算點R(x, y) = sn * G + Hash * K

B. 計算H = SHA(m, x, y)

C. 如果H和Hash值相同,則驗證成功。

因為:sn = r – Hash * k則驗證公式為:sn * G + Hash * K= (r – Hash * k) * G + Hash * K= r * G – Hash * k * G + Hash * K= r * G – Hash * K + Hash * K= rG = R

(以上計算都是基于模的運算)

其實可以思考一下為啥需要一個隨機數r,因為如果沒有隨機數,那么給出的密文是sn = Hash * k,因為Hash是已知的,所以這樣暴露了k * Hash以及k * G,安全性會降低。

四、橢圓曲線算法和RSA的比較

1. 橢圓曲線算法的優點

安全性能更高

160位ECC與1024位RSA、DSA有相同的安全強度

處理速度更快

在私鑰的處理速度上,ECC遠 比RSA、DSA快得多

帶寬要求更低

存儲空間更小

ECC的密鑰尺寸和系統參數與RSA、DSA相比要小得多

2. 橢圓曲線算法的缺點

設計困難,實現復雜

如果序列號設計過短,那么安全性并沒有想象中的完善

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RSA
    RSA
    +關注

    關注

    0

    文章

    59

    瀏覽量

    18952
  • 區塊鏈
    +關注

    關注

    111

    文章

    15563

    瀏覽量

    106696

原文標題:區塊鏈系列--比特幣 (7):交易腳本中的橢圓曲線加密算法

文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    深入解析ECC256橢圓曲線加密算法

    點擊藍字關注我們一、加密算法概述數據加密的基本過程就是對原來為明文的文件或數據按某種算法進行處理,使其成為不可讀的一段代碼為“密文”,使其只能在輸入相應的密鑰之后才能顯示出原容,通過這樣的途徑來達到
    的頭像 發表于 12-26 16:32 ?357次閱讀
    深入解析ECC256<b class='flag-5'>橢圓</b><b class='flag-5'>曲線</b><b class='flag-5'>加密算法</b>

    EMMC數據加密技術與應用

    特點,但同時也面臨著數據泄露的風險。 數據加密技術概述 數據加密技術是保護數據不被未授權訪問的有效手段。它通過將明文數據轉換成密文,確保只有擁有正確密鑰的用戶才能解密并訪問原始數據。 對稱加密 對稱
    的頭像 發表于 12-25 09:51 ?293次閱讀

    加密算法在云計算如何應用?

    加密算法在云計算的應用主要體現在以下幾個方面: 數據加密 : 數據加密是保護數據在傳輸和存儲過程的機密性的關鍵
    的頭像 發表于 12-17 16:02 ?203次閱讀

    加密算法在網絡安全扮演什么角色?

    : 通過哈希函數和消息認證碼(MAC),加密算法可以檢測數據在傳輸過程是否被篡改,確保數據的完整性。 提供身份驗證 : 非對稱加密算法和數字簽名技術可以驗證通信雙方的身份,防止身份
    的頭像 發表于 12-17 16:00 ?148次閱讀

    加密算法的選擇對于加密安全有多重要?

    加密算法的選擇對于加密安全至關重要,因為它直接影響到數據保護的有效性和可靠性。以下是幾個關鍵點來說明加密算法選擇的重要性: 加密強度: 加密算法
    的頭像 發表于 12-17 15:59 ?172次閱讀

    常見的加密算法有哪些?它們各自的優勢是什么?

    常見的加密算法及其優勢如下: AES(Advanced Encryption Standard): AES是一種對稱加密算法,采用分組密碼體制,支持128位、192位和256位密鑰長度。AES的優勢
    的頭像 發表于 12-17 15:57 ?222次閱讀

    對稱加密技術在實際應用如何保障數據安全?

    ,如使用安全的密鑰協商和密鑰分發方式,定期更換密鑰等。 密碼學原理的安全性: 對稱加密算法的安全性基于密碼學原理,需要確保密碼學原理的安全性,如避免使用弱密碼、避免使用已經破解的密碼等。 加密算法的安全性: 對稱加
    的頭像 發表于 12-16 13:59 ?243次閱讀

    華納云:加密算法在保護網絡安全扮演什么角色

    加密算法在保護網絡安全扮演著至關重要的角色,具體來說,它們的作用包括但不限于以下幾點: 數據保密性:加密算法用于加密數據,將其轉換為一種不易理解的形式,以防止未經授權的訪問者查看或識
    的頭像 發表于 12-06 15:22 ?256次閱讀

    智慧能源管理系統:區塊技術在能源交易的應用

    區塊技術在能源領域具有巨大潛力,可降低交易成本、推動分布式可再生能源發展。在能源計量、交易和決策機制等方面發揮重要作用。
    的頭像 發表于 11-22 10:48 ?314次閱讀
    智慧能源管理系統:<b class='flag-5'>區塊</b><b class='flag-5'>鏈</b><b class='flag-5'>技術</b>在能源<b class='flag-5'>交易</b><b class='flag-5'>中</b>的應用

    云存儲服務的數據加密技術

    對稱加密技術是一種經典的加密方法,其特點是加密和解密使用相同的密鑰。在云存儲服務,對稱加密技術主要用于數據傳輸和存儲過程
    的頭像 發表于 10-28 15:04 ?613次閱讀

    C加密算法的實現

    電子發燒友網站提供《C加密算法的實現.pdf》資料免費下載
    發表于 09-20 11:10 ?1次下載
    C<b class='flag-5'>加密算法</b>的實現

    請問ESP-IDF的WPA3-SAE的入網加密算法最耗時的是那個函數?

    請問ESP-IDF的WPA3-SAE的入網加密算法最耗時的是那個函數
    發表于 06-05 08:17

    基于 FPGA 的光纖混沌加密系統

    算法具有高復雜度,可防止 SPA\\DPA 攻擊。讓指揮信息能足夠保密,防止被敵人竊取。 1.3 主要技術特點 FPGA 設計加密算法具有安全性高,加密速度快,開發周期短,開發成
    發表于 04-26 17:18

    基于FPGA的光纖通信加密系統

    FPGA 設計加密算法具有安全性高,加密速度快,開發周期短,開發成本較低, 可重配,可靠性高以及移植性好等優點。 系統路部分采用 Aurora 協議,該協議是一款輕量級的光纖路協議
    發表于 04-26 11:33 ?1358次閱讀
    基于FPGA的光纖通信<b class='flag-5'>加密</b>系統

    STM32L072系列支持AES加密算法嗎?

    STM32L072,L0系列,Cortex-M0/M0+/M1處理器基于ARMv6-M架構,查指令集是沒有AES加密支持的請問要怎么支持AES加密算法
    發表于 04-10 08:05
    百家乐官网任你博娱乐场开户注册| 利博百家乐的玩法技巧和规则| 网络棋牌赌博| 乐享百家乐官网的玩法技巧和规则| 伟易博百家乐的玩法技巧和规则| 百家乐官网电脑游戏高手| 澳门百家乐十大缆| 京山县| 在线百家乐安卓| 宽甸| 太阳城百家乐主页| 那坡县| 百家乐庄6点| 百家乐官网上分器定位器| 米其林百家乐的玩法技巧和规则| 百家乐官网玩法及细则| 沙龙百家乐娱乐平台| 百家乐官网桌子10人| 足球百家乐投注网出租| 百家乐官网论坛代理合作| 水果机技巧规律| 真人百家乐官网赌场娱乐网规则| 大发888官网客服| 24山分金吉凶断| 乐九线上娱乐| 百家乐博彩软件| 百家乐官网现金平台排名| 肯博百家乐的玩法技巧和规则 | 沙龙百家乐娱乐城| 立即博百家乐官网现金网| 百家乐分| 电脑百家乐官网的玩法技巧和规则| 娱乐城送18| 澳门百家乐一把决战输赢| 百家乐官网现金网平台排行| 免费百家乐平预测软件| 总格24名人| 百家乐官网案件讯问| 大地百家乐的玩法技巧和规则| 汇丰百家乐官网的玩法技巧和规则| 肃南|