首页
/
每日頭條
/
生活
/
最厲害的加密算法
最厲害的加密算法
更新时间:2024-10-21 18:12:19

本文來自 Decentralize.today,原文作者:Sean

Odaily 星球日報譯者 | Moni

最厲害的加密算法(加密世界裡最強大的數字)1

2²⁵⁶ 是 2 的 256 次方。

對于區塊鍊和加密行業來說,這個數字又代表了什麼意義呢?

我們知道,計算機都是基于二進制數字計算的。下面是一個示例,如果以兩位數字表示的話,每位上的數字隻能用“0”或“1”,那麼我們可以産生下面四種可能的組合(注意我們計數是從 0 開始的):

00 = 0

01 = 1

10 = 2

11 = 3

如果以位數是 3,那麼可能的二進制組合就有九種,即“2 的 3 次方”,如下所示:

000 = 0

001 = 1

010 = 2

011 = 3

100 = 4

101 = 5

110 = 6

101 = 7

111 = 8

如果位數有 256 個,那麼就意味着有“2 的 256 次方”種可能的二進制組合,這也是一個非常非常大的數字組合!那麼,“2 的 256 次方”在十進制中是什麼樣子呢?請不要眨眼,答案就是:

115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936

簡單表示的話,就是 1.158x10⁷⁷(也就是 1158 後面有 74 個 0),即“1.158 乘 10 的 77 次方”。

如果你無法直觀了解“2 的 256 次方”——即“1.158 乘 10 的 77 次方”有多大的話,我們在此做一個比較,或許能讓你更清楚地了解這個數字的“可怕”,相比之下:

1、地球上的沙子總數量隻有為“7.5乘 10 的 15 次方”;

2、在“可觀察”的宇宙裡,估計有“30 乘 10 的 21 次方”到“70 乘 10 的 21 次方”或“10 乘 10 的 23 次方”顆恒星;

3、在“可觀察”的宇宙裡,估計有“1 乘 10 的 78 次方”到“1 乘 10 的 83 次方”個原子。

所以,“2 的 256 次方”是可觀察的宇宙中所有恒星總量的 3.5 倍,僅比可觀察宇宙中的原子總量“少幾個零”。

為什麼“2 的 256 次方”很重要?因為 256 位加密私鑰安全可能是天文級的

最厲害的加密算法(加密世界裡最強大的數字)2

“2 的 256 次方”非常重要,因為它是加密技術在區塊鍊中可能使用的私鑰值的全部“感知”範圍。

在加密貨币世界裡,如果要破解一個 256 位的加密安全系統,就必須要猜對一個 256 位的比特串,而且還要猜對兩次,第一次要在電子簽名的時候,第二次是在解密碼哈希函數的時候。

舉個例子,如果你想找到一條信息,讓它的 SHA256 哈希值等于某個 256 位比特串的話,基本上沒有别的好辦法,隻能随機猜測并檢驗結果——這意味着,平均下來,你需要嘗試“2 的 256 次方”次!(除非你的運氣非常非常非常...好,好到擁有了“2 的 256 次方”分之一次的運氣)

“2 的 256 次方”這個數字比我們通常遇到的數字都要大得多,因此很難去體會它的規模,但你可以把它看作是“2 的 32 次方和自己相乘 8 次”,這樣想會讓你容易理解,因為“2 的 32 次方”大約等于 40 億(4,294,967,296)。現在,我們要做的就是去體會一下 40 億連續乘 8 次是怎樣的概念:

相信我們大多數人都知道,計算機裡的 GPU 可以飛快地進行大量并行計算,因此要是你專門讓 GPU 反複計算密碼哈希函數,一個性能很好的 GPU 每秒也許能算出接近 10 億個哈希值,假如你擁有一堆這樣的 GPU,然後全部塞進計算機裡,讓你的計算機每秒能計算出 40 億個哈希值,那麼最開始的 40 億就代表了每台計算機每秒算出的哈希值數目,想象一下 40 億台這樣滿載 GPU 的計算機——對比一下,雖然谷歌沒有對外公布他們的服務器數量,但有人估算大約有幾百萬台,而現實中谷歌的大部分服務器算力都不如我們滿載 GPU 的電腦,不過我們假設谷歌把上百萬個服務器全部換成滿載 GPU 的計算機,那麼 40 億台計算機大概就相當于 1000 個這種“打了雞血”的谷歌,為了更好地解釋,我們暫時把這種算力成為“千谷歌(thousand Google)”。

現在,全世界人口總數大約有 73 億,接下來,我們假設有 40 億人人手都擁有一台這樣的“千谷歌”計算機。然後,再想象一下有 40億 個地球(作為對比,銀河系檢測到的恒星數量大約為 1000-4000 億顆,雖然不太确定,但估算大緻就在這個範圍),所以相當于銀河系 1% 的恒星會有一個地球,并且這個地球上超過一半的人口都擁有自己的“千谷歌”計算機。

接着想象有 40 億個這樣的銀河系,我們把它叫做“億萬星系超級計算機”,每秒能猜“2 的 160 次方”次。下面,40 億秒大概是 126.8 年,而它的 40 億倍就是 5070 億年,差不多是宇宙年齡的 37 倍,所以就算你有——滿載 GPU 的 40 億台計算機 40 億人手一台“千谷歌”計算機 40 億個像地球一樣的行星 億萬星系超級計算機,再花上 37 倍宇宙年齡的時間,也隻有 40 億分之一的可能性得到密鑰的正确答案。

順便提一下,目前比特币的哈希算力——把所有礦工都加起來,每秒能猜測并檢驗 500 億億個哈希值,隻相當于之前提到的“千谷歌”計算機算力的三分之一。當然這并不是因為真的有幾十億台滿載 GPU 的計算機,而是因為礦工使用的是比 GPU 算力強 1000 倍左右的芯片,它叫做“專用集成電路(ASIC)”,這些硬件是為比特币挖礦量身定做的,但這種芯片什麼都不會做,隻會計算基于 SHA256 算法的哈希值。換句話說,如果你想獲得龐大的算力,就不得不放棄一般的計算需求,去設計一個隻能執行一個單一任務的集成電路。

難道每個加密貨币都有“2 的 256 次方”個可能的私鑰嗎?

不完全是這樣,并非所有“2 的 256 次方”範圍内的數字都會用在查找匹配公鑰的數字曲線上。比特币和以太坊(以及其他許多加密貨币)使用的是 secp256k1 橢圓曲線,該區先定義的公鑰匹配範圍略小于“2 的 256 次方”。如果再略微準确地表達 secp256k1 橢圓曲線數字範圍的話,可能這個結果是:

432420386565659656852420866394968145599

按照 SEC2 标準的定義,其密鑰數值範圍是從“0”到 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141,假設我們用“N”來代表這個數值,那麼用十進制表達N的話:

N=115792089237316195423570985008687907852837564279074904382605163141518161494336

2²⁵⁶-N = 432420386565659656852420866394968145599

在數學上,這是一個近似值的問題,就好像我們會把100億減10的結果看作仍是100億一樣。

(星球君 o-daily 注:簡單解釋一下“secp256k1”的含義,它其實是“SEC”、“P”、“256”、“K”和“1”這幾個字母和數字的組合,每個都有不同的含義:其中“SEC”代表了 SEC2 高效密碼學的标準,“P”代表曲線坐标是素數域,“256”表示素數是 256 位長,“K”表示它是所謂 Koblitz 曲線的變量,“1”表示它是該類型的第一個、也是唯一的曲線标準。)

稍等,除了比特币,我們再來看看以太坊的密鑰

比特币地址是公共地址的 RIPEMD-160,RIPEMD是一種加密哈希函數,由魯汶大學 Hans Dobbertin,Antoon Bosselaers 和 Bart Prenee 組成的 COSIC 研究小組于 1996 年發布的。 RIPEMD 是以 MD4 為基礎原則所設計,而且其表現與更有名的 SHA-1 類似。RIPEMD-160 是以原始版 RIPEMD 所改進的 160 位元版本,而且是 RIPEMD 系列中最常見的版本。 RIPEMD-160 是設計給學術社群所使用的,剛好相對于 SHA-1 和 SHA-2 算法。 另一方面,RIPEMD-160 比 SHA-1 較少使用,所以可能時候 RIPEMD-160 比 SHA 不常被審查的原因之一。另外,RIPEMD-160 并沒有任何專利所限制。

同時也存在着 128,256,320 位元的這種算法,稱為 RIPEMD-128、RIPEMD-256 和 RIPEMD-320。 128 位版本的用意僅是取代原始版RIPEMD,因為原版也同樣是 128 位元,并且被發現有潛在的安全問題。 而 256 和 320 位版本隻有減少碰撞發生的機率,但沒有提升安全等級。不過,RIPEMD 的設計者們沒有真正設計 256 和 320 位元這兩種标準,他們隻是在 128 位元和 160 位元的基礎上,修改了初始參數和 s-box 來達到輸出為 256 和 320 位元。所以,256 位的強度和 128 相當,而 320 位的強度和 160 位相當,且 RIPEMD 建立在 md 的基礎之上,所以其添加數據的方式和 md5 完全一樣。

以太坊将密鑰長度減少到 160 位,這仍然是一個非常大的數字,以十進制表示的話,就是:

2¹⁶⁰= 1.46x10⁴⁸或1461501637330902918203684832716283019655932542976。

這個數字有多大呢?目前我們可觀測的宇宙寬度為 8.8 x 10²⁶ 或 8.8 x 10²⁹ 毫米,如果我們把一個比特币或以太坊地址看作為 1 毫米,那麼其密鑰長度相當于超過了可觀察宇宙長度的兩倍。

對于以太坊來說,其唯一錢包地址實際總量可能是 1.46 x 10⁴⁸,這也引發了一個棘手的問題:我們有 2²⁵⁶ 個可能的私鑰卻要映射到 2¹⁶⁰ 個可能的公鑰上,邏輯告訴我們,每個公鑰都可能會有超過 1 個私鑰。但即便如此,這也意味着你需要在 2⁹⁶ 個私鑰(假設每兩個私鑰映射一個公鑰)中找到能夠對應某個地址的公鑰哈希——在此,我也許隻能祝你好運了!

總結

加密貨币私鑰的可能值範圍非常非常大,即便其可能會略低于 SEC2 标準中定義的“2 的 256 次方”,但仍然是一個異常龐大的數字,所以兩個私鑰相同的可能性超級低,除非有騙子要做壞事。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
部級課題重大意義
部級課題重大意義
《文史知識》創刊号封面中華書局《文史知識》雜志1981年創刊,于今整整40年。40年來,幾代編輯堅持“守正出新”的理念、“大專家寫小文章”的傳統,打造這本兼具知識性與趣味性的文史讀物,影響了幾代讀者。《文史知識》成為傳播中華優秀傳統文化、普...
2024-10-21
三相異步電動機繞組故障有哪些
三相異步電動機繞組故障有哪些
繞組短路,是指繞組的線圈導線絕緣損壞,不應相通的線匝直接相碰,構成一個低阻抗環路。通常使用短路偵察器來査找繞組短路點,也可用直接觀察法和直流電阻法進行檢査。根據短路故障出現的部位和故障嚴重程度,一般可按以下方法處理:(1)局部墊絕緣:适用于...
2024-10-21
上海世紀聯華超市分布點
上海世紀聯華超市分布點
上海世紀聯華超市分布點?澎湃财訊截至5月1日,聯華股份旗下的世紀聯華、華聯吉買盛複市率已達100%,聯華超市直營門店複市率76.6%繼上海崇明、金山、奉賢三區位于防範區的門店陸續完成線下開業後,今日,在松江、浦東、青浦、虹口等區商務委和門店...
2024-10-21
雞毛菜的種植方法和注意事項
雞毛菜的種植方法和注意事項
雞毛菜的種植方法和注意事項?種植時間雞毛菜可一年皆可四季種植,春季可在11-2月在大棚溫室中種植,夏季在4-8月種植,8-11月時秋冬種植時間,我來為大家科普一下關于雞毛菜的種植方法和注意事項?下面希望有你要的答案,我們一起來看看吧!雞毛菜...
2024-10-21
純钛是什麼材質
純钛是什麼材質
純钛是什麼材質?純钛的材質是钛金屬,屬于一種輕金屬,我來為大家講解一下關于純钛是什麼材質?跟着小編一起來看一看吧!純钛是什麼材質純钛的材質是钛金屬,屬于一種輕金屬。純钛具有銀白色金屬光澤,是最重的輕金屬,其沸點3260℃,其熔點高于鐵和鎳。...
2024-10-21
Copyright 2023-2024 - www.tftnews.com All Rights Reserved