0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

區(qū)塊鏈技術(shù)淺析:交易腳本中的橢圓曲線加密算法

lviY_AI_shequ ? 來源:電子發(fā)燒友網(wǎng) ? 作者:工程師譚軍 ? 2018-07-10 15:06 ? 次閱讀

一、重新審視RSA

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

1. 基于大整數(shù)質(zhì)數(shù)分解這個數(shù)學(xué)難題。這個難題,求解出來很困難,但是驗證它很簡單

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

比特幣中,非對稱加密使用的數(shù)學(xué)難題是離散對數(shù)問題。

二、橢圓曲線算法的數(shù)學(xué)難題

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

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

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

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

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

區(qū)塊鏈技術(shù)淺析:交易腳本中的橢圓曲線加密算法

根據(jù)參數(shù)不同,曲線形狀不同,比如

區(qū)塊鏈技術(shù)淺析:交易腳本中的橢圓曲線加密算法

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

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

三、橢圓曲線算法的還原方法的設(shè)計

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

1. 加密簽名的過程:

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

2. 對應(yīng)的驗證過程如下

(公開的信息有:基點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

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

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

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

1. 橢圓曲線算法的優(yōu)點

安全性能更高

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

處理速度更快

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

帶寬要求更低

存儲空間更小

ECC的密鑰尺寸和系統(tǒng)參數(shù)與RSA、DSA相比要小得多

2. 橢圓曲線算法的缺點

設(shè)計困難,實現(xiàn)復(fù)雜

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • RSA
    RSA
    +關(guān)注

    關(guān)注

    0

    文章

    59

    瀏覽量

    18892
  • 區(qū)塊鏈
    +關(guān)注

    關(guān)注

    111

    文章

    15562

    瀏覽量

    106045

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

文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    加密算法在云計算如何應(yīng)用?

    加密算法在云計算的應(yīng)用主要體現(xiàn)在以下幾個方面: 數(shù)據(jù)加密 : 數(shù)據(jù)加密是保護數(shù)據(jù)在傳輸和存儲過程的機密性的關(guān)鍵
    的頭像 發(fā)表于 12-17 16:02 ?109次閱讀

    加密算法在網(wǎng)絡(luò)安全扮演什么角色?

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

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

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

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

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

    對稱加密技術(shù)在實際應(yīng)用如何保障數(shù)據(jù)安全?

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

    華納云:加密算法在保護網(wǎng)絡(luò)安全扮演什么角色

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

    智慧能源管理系統(tǒng):區(qū)塊技術(shù)在能源交易的應(yīng)用

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

    C加密算法的實現(xiàn)

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

    請問ESP-IDF的WPA3-SAE的入網(wǎng)加密算法最耗時的是那個函數(shù)?

    請問ESP-IDF的WPA3-SAE的入網(wǎng)加密算法最耗時的是那個函數(shù)
    發(fā)表于 06-05 08:17

    基于 FPGA 的光纖混沌加密系統(tǒng)

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

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

    STM32L072,L0系列,Cortex-M0/M0+/M1處理器基于ARMv6-M架構(gòu),查指令集是沒有AES加密支持的請問要怎么支持AES加密算法
    發(fā)表于 04-10 08:05

    TC233/TC234系列的HSM硬件支持哪些加密算法?

    HSM 中支持的算法:你能否具體說明 TC233/TC234 系列的 HSM 硬件支持哪些加密算法? 特別是,我有興趣了解對 AES、CMAC、RSA、ECC 和 SHA 的支持。 2. 具有類似
    發(fā)表于 01-18 10:33

    區(qū)塊是什么樣的數(shù)據(jù)結(jié)構(gòu)組織

    區(qū)塊包含著一定數(shù)量的交易信息,并通過加密技術(shù)進行鏈接,形成一個不可篡改的鏈式結(jié)構(gòu)。 區(qū)塊的數(shù)據(jù)結(jié)構(gòu)可以看作是一種不可變的分布式賬本,其中的
    的頭像 發(fā)表于 01-11 10:57 ?2249次閱讀

    區(qū)塊技術(shù)發(fā)展現(xiàn)狀和趨勢

    進行詳盡的分析。 一、區(qū)塊技術(shù)的起源和原理 區(qū)塊技術(shù)最早在2008年由中本聰提出,而該
    的頭像 發(fā)表于 01-11 10:31 ?2325次閱讀

    衛(wèi)星通信技術(shù)之高橢圓軌道

    橢圓軌道或更常見的高度橢圓軌道 HEO 遵循橢圓曲線。然而,橢圓軌道的一個關(guān)鍵特征是,在圍繞地球的橢圓
    的頭像 發(fā)表于 01-10 16:30 ?1953次閱讀
    衛(wèi)星通信<b class='flag-5'>技術(shù)</b>之高<b class='flag-5'>橢圓</b>軌道