比特幣密碼什麼樣子的
① 比特幣平台提現時請輸入資金密碼的這個資金密碼指的是登錄密碼嗎
不是的,就像是你的微信支付密碼,而不是微信登錄密碼
② 比特幣源碼研讀一:橢圓曲線在比特幣密碼中的加密原理
參加比特幣源碼研讀班後首次寫作,看到前輩black寫的有關密鑰,地址寫的很好了,就選了他沒有寫的橢圓曲線,斗膽寫這一篇。
在密碼學上有兩種加密方式,分別是對稱密鑰加密和非對稱密鑰加密。
對稱加密:加密和解密使用的同樣的密鑰。
非對稱加密:加密和解密是使用的不同的密鑰。
二戰中圖靈破解德軍的恩尼格碼應該就是用的對稱加密,因為他的加密和解密是同一個密鑰。比特幣的加密是非對稱加密,而且用的是破解難度較大的橢圓曲線加密,簡稱ECC。
非對稱加密的通用原理就是用一個難以解決的數學難題做到加密效果,比如RSA加密演算法。RSA加密演算法是用求解一個極大整數的因數的難題做到加密效果的。就是說兩個極大數相乘,得到乘積很容易,但是反過來算數一個極大整數是由哪兩個數乘積算出來的就非常困難。
下面簡要介紹一下橢圓曲線加密演算法ECC。
首先橢圓曲線的通式是這個樣子的:
一般簡化為這個樣子:
()發公式必須吐槽一下,太麻煩了。)
其中
這樣做就排除了帶有奇點的橢圓曲線,可以理解為所有的點都有一條切線。
圖像有幾種,下面列舉幾個:[1]
橢圓曲線其實跟橢圓關系不大,也不像圓錐曲線那樣,是有圓錐的物理模型為基礎的。在計算橢圓曲線的周長時,需要用到橢圓積分,而橢圓曲線的簡化通式:
,周長公式在變換後有一項是這樣的:,平方之後兩者基本一樣。
我們大體了解了橢圓曲線,就會有一個疑問,這個東西怎麼加密的呢?也就是說橢圓曲線是基於怎樣的數學難題呢?在此之前還得了解一些最少必要知識:橢圓曲線加法,離散型橢圓曲線。
橢圓曲線加法
數學家門從普通的代數運算中,抽象出了加群(也叫阿貝爾群或交換群),使得在加群中,實數的演算法和橢圓曲線的演算法得到統一。
數學中的「群」是一個由我們定義了一種二元運算的集合,二元運算我們稱之為「加法」,並用符號「+」來表示。為了讓一個集合G成為群,必須定義加法運算並使之具有以下四個特性:
1. 封閉性:如果a和b是集合G中的元素,那麼(a + b)也是集合G中的元素。
2. 結合律:(a + b) + c = a + (b + c);
3. 存在單位元0,使得a + 0 = 0 + a =a;
4. 每個元素都有逆元,即:對於任意a,存在b,使得a + b = 0.
如果我們增加第5個條件:
5. 交換律: a + b = b + a
那麼,稱這個群為阿貝爾群。[1]
運演算法則:任意取橢圓曲線上兩點P、Q (若P、Q兩點重合,則做P點的切線)做直線交於橢圓曲線的另一點R』,過R』做y軸的平行線交於R。我們規定P+Q=R。(如圖)[2]
特別的,當P和Q重合時,P+Q=P+P=2P,對於共線的三點,P,Q,R』有P+Q+R』=0∞.
這里的0∞不是實數意義的0,而是指的無窮遠點(這里的無窮遠點就不細說了,你可以理解為這個點非常遙遠,遙遠到兩條平行線都在這一點相交了。具體介紹可以看參考文獻[2])。
注意這里的R與R』之間的區別,P+Q=R,R並沒有與P,Q共線,是R』與P,Q共線,不要搞錯了。
法則詳解:
這里的+不是實數中普通的加法,而是從普通加法中抽象出來的加法,他具備普通加法的一些性質,但具體的運演算法則顯然與普通加法不同。
根據這個法則,可以知道橢圓曲線無窮遠點O∞與橢圓曲線上一點P的連線交於P』,過P』作y軸的平行線交於P,所以有無窮遠點 O∞+ P = P 。這樣,無窮遠點 O∞的作用與普通加法中零的作用相當(0+2=2),我們把無窮遠點 O∞ 稱為零元。同時我們把P』稱為P的負元(簡稱,負P;記作,-P)。(參見下圖)
離散型橢圓曲線
上面給出的很好看的橢圓曲線是在實數域上的連續曲線,這個是不能用來加密的,原因我沒有細究,但一定是連續曲線上的運算太簡單。真正用於加密的橢圓曲線是離散型的。要想有一個離散型的橢圓曲線,先得有一個有限域。
域:在抽象代數中,域(Field)之一種可進行加、減、乘、除運算的代數結構。它是從普通實數的運算中抽像出來的。這一點與阿貝爾群很類似。只不過多了乘法,和與乘法相關的分配率。
域有如下性質[3]:
1.在加法和乘法上封閉,即域里的兩個數相加或相乘的結果也在這個域中。
2.加法和乘法符合結合律,交換率,分配率。
3.存在加法單位,也可以叫做零元。即存在元素0,對於有限域內所有的元素a,有a+0=a。
4.存在乘法單位,也可以叫做單位元。即存在元素1,對於有限域內所有的元素a,有1*a=a。
5.存在加法逆元,即對於有限域中所有的元素a,都存在a+(-a)=0.
6.存在乘法逆元,即對於有限域中所有的元素a,都存在a*=0.
在掌握了這些知識後,我們將橢圓曲線離散化。我們給出一個有限域Fp,這個域只有有限個元素。Fp中只有p(p為素數)個元素0,1,2 …… p-2,p-1;
Fp 的加法(a+b)法則是 a+b≡c (mod p);它的意思是同餘,即(a+b)÷p的余數與c÷p的余數相同。
Fp 的乘法(a×b)法則是 a×b≡c (mod p);
Fp 的除法(a÷b)法則是 a/b≡c (mod p);即 a×b∧-1≡c (mod p);(也是一個0到p-1之間的整數,但滿足b×b∧-1≡1 (mod p);
Fp 的單位元是1,零元是 0(這里的0就不是無窮遠點了,而是真正的實數0)。
下面我們就試著把
這條曲線定義在Fp上:
選擇兩個滿足下列條件的小於p(p為素數)的非負整數a、b,且a,b滿足
則滿足下列方程的所有點(x,y),再加上無窮遠點O∞ ,構成一條橢圓曲線。
其中 x,y屬於0到p-1間的整數,並將這條橢圓曲線記為Ep(a,b)。
圖是我手畫的,大家湊合看哈。不得不說,p取7時,別看只有10個點,但計算量還是很大的。
Fp上的橢圓曲線同樣有加法,法則如下:
1. 無窮遠點 O∞是零元,有O∞+ O∞= O∞,O∞+P=P
2. P(x,y)的負元是 (x,-y),有P+(-P)= O∞
3. P(x1,y1),Q(x2,y2)的和R(x3,y3) 有如下關系:
x3≡-x1-x2(mod p)
y3≡k(x1-x3)-y1(mod p)
其中若P=Q 則 k=(3+a)/2y1 若P≠Q,則k=(y2-y1)/(x2-x1)
通過這些法則,就可以進行離散型橢圓曲線的計算。
例:根據我畫的圖,(1,1)中的點P(2,4),求2P。
解:把點帶入公式k=(3*x∧2+a)/2y1
有(3*2∧2+1)/2*4=6(mod 7).
(注意,有些小夥伴可能算出13/8,這是不對的,這里是模數算數,就像鍾表一樣,過了12點又回到1點,所以在模為7的世界裡,13=6,8=1).
x=6*6-2-2=4(mod 7)
y=6*(2-4)-4=2 (mod 7)
所以2P的坐標為(2,4)
那橢圓曲線上有什麼難題呢?在模數足夠大的情況下,上面這個計算過程的逆運算就足夠難。
給出如下等式:
K=kG (其中 K,G為Ep(a,b)上的點,k為小於n(n是點G的階)的整數)不難發現,給定k和G,根據加法法則,計算K很容易;但給定K和G,求k就相對困難了。
這就是橢圓曲線加密演算法採用的難題。我們把點G稱為基點(base point),k稱為私鑰,K稱為公鑰。
現在我們描述一個利用橢圓曲線進行加密通信的過程[2]:
1、用戶A選定一條橢圓曲線Ep(a,b),並取橢圓曲線上一點,作為基點G。
2、用戶A選擇一個私鑰k,並生成公鑰K=kG。
3、用戶A將Ep(a,b)和點K,G傳給用戶B。
4、用戶B接到信息後 ,將待傳輸的明文編碼到Ep(a,b)上一點M(編碼方法很多,這里不作討論),並產生一個隨機整數r(r<n)。
5、用戶B計算點C1=M+rK;C2=rG。
6、用戶B將C1、C2傳給用戶A。
7、用戶A接到信息後,計算C1-kC2,結果就是點M。因為
C1-kC2=M+rK-k(rG)=M+rK-r(kG)=M
再對點M進行解碼就可以得到明文。
整個過程如下圖所示:
密碼學中,描述一條Fp上的橢圓曲線,常用到六個參量:
T=(p,a,b,G,n,h),p 、a 、b 用來確定一條橢圓曲線,G為基點,n為點G的階,h 是橢圓曲線上所有點的個數m與n相除的整數部分
這幾個參量取值的選擇,直接影響了加密的安全性。參量值一般要求滿足以下幾個條件:
1、p 當然越大越安全,但越大,計算速度會變慢,200位左右可以滿足一般安全要求;
2、p≠n×h;
3、pt≠1 (mod n),1≤t<20;
4、4a3+27b2≠0 (mod p);
5、n 為素數;
6、h≤4。
200位位的一個數字,那得多大?而且還是素數,所以這種方式是非常安全的。而且再一次交易中,區塊被記錄下來只有10分鍾的時間,也就是說要想解決這個難題必須在10分鍾以內。即便有技術能夠在10分鍾以內破解了現在這個難度的加密演算法,比特幣社區還可以予以反制,提高破解難度。所以比特幣交易很安全,除非自己丟掉密鑰,否則不存在被破解可能。
第一次寫一個完全陌生的數學領域的知識,也許我有錯誤的地方,也許有沒講明白的地方,留言討論吧。總之寫完後對比特比系統的安全性表示很放心。
參考文獻
[1] 橢圓曲線密碼學簡介
[2] 什麼是橢圓曲線加密(ECC)
[3] 域(數學)維基網路
區塊鏈研習社源碼研讀班 高若翔
③ 什麼是比特密碼
比特密碼,應該就是比特幣的密碼。
我們都知道,比特幣就是一種運用密碼學來投資的加密貨幣。
④ 比特幣是什麼樣的
1、比特幣是一種由開源的P2P軟體產生的電子幣,數字幣,是一種網路虛擬資產。比特幣也被意譯為「比特金」。比特幣基於一套密碼編碼、通過復雜演算法產生,這一規則不受任何個人或組織干擾,去中心化;任何人都可以下載並運行比特幣客戶端而參與製造比特幣;比特幣利用電子簽名的方式來實現流通,通過P2P分布式網路來核查重復消費。每一塊比特幣的產生、消費都會通過P2P分布式網路記錄並告知全網,不存在偽造的可能。
2、比特幣不依靠特定貨幣機構發行,它通過特定演算法的大量計算產生,比特幣經濟使用整個P2P網路中眾多節點構成的分布式資料庫來確認並記錄所有的交易行為。P2P的去中心化特性與演算法本身可以確保無法通過大量製造比特幣來人為操控幣值,基於密碼學的設計可以使比特幣只能被真實的擁有者轉移或支付。這確保了貨幣所有權與流通交易的匿名性。
⑤ pi幣密碼格式
Pi幣密碼格式是由長度大於8位的大小寫+數字組成的,這樣的密碼安全性較高。
拓展:
pi幣簡介:pi幣不是一個普通項目, Pi是美國斯坦福大學博士團隊傾力打造,創始人獲得了臉書的創新基金獎,最擅長人機互聯,區塊鏈應用設計。pi幣是一種新的加密貨幣,你可以通過手機"挖礦",類似於比特幣在電腦挖礦 。也是手機第一款區塊鏈(#比特幣#是電腦挖礦第一款區塊鏈,),Pi的開始階段非常容易獲取(比特幣當年也是一天可以隨便挖50個)。目前第二階段剛剛開啟,挖幣速度還挺快,加入安全圈後每天最低可挖11.8枚。 同時它的各種首創模式是幣圈前所未有的,不需要靠拉人頭式傳銷,只有邀請和被邀請關系,且兩者沒有上下級關系,各自均享受系統贈送的同等算力0.1Pi/h。而且是在雙方礦機都不停的情況下才有加成,這種互惠互利模式縱觀幣圈10年,尚沒有任何一個這樣的新穎先進模式,哪怕任何正規的不能再正規只有一代的項目,都存在上級比下級享受更高福利和優越性。
⑥ 比特幣賬號密碼是什麼樣子的
生成隨機數。
比特幣是一種基於去中心化,採用點對點網路與共識主動性,開放源代碼,以區塊鏈作為底層技術的虛擬加密貨幣。
由中本聰在2008年提出,2009年誕生,與其他虛擬貨幣最大的不同,是其總數量非常有限,具有的稀缺性。
⑦ 比特幣錢包私鑰是什麼
幣姐為了讓新人更容易理解,會使用一些比喻來講,雖然不太嚴謹,但是會更好理解。
私鑰就好像你的銀行卡密碼
比特幣錢包地址就好像你的銀行卡
只要有了銀行卡和密碼,誰都能從ATM上取錢。
而比特幣錢包地址是公開的,相當於別人都有你的銀行卡,所以這個時候你的銀行卡密碼(私鑰)就變得十分重要了!
一旦泄露你的密鑰,別人就可以把你的比特幣轉走。
網路搜索:「幣姐教你比特幣」或者「幣姐」找到我,更多精品內容分享哦~!
⑧ 比特幣是什麼樣子的
對待一個新興事物,結果只有兩個,接受或拒絕。這個新興事物的結局也只有兩個,被接受或被拒絕。整個過程是反反復復,曲曲折折的。現在比特幣就是這樣,吃瓜群眾有接受的,有拒絕的,國家也有支持的,有拒絕的。但是最後它的結局是要靠這個反反復復的過程來收斂的,各方面的拉鋸,各方面的斗爭,如果它活下來了,那麼它就是真金,如果它被淘汰了,那麼就是偽命題。目前真是看不清它的結局。
⑨ 比特幣什麼樣子
只是虛擬的貨幣,不真實存在
⑩ 比特幣密鑰是什麼意思
比特幣的所有權是通過數字密鑰、比特幣地址和數字簽名來確定的。
比特幣包含一系列密鑰對、每個密鑰對包含一個公鑰和私鑰。
私鑰是一個隨機數、私鑰通過橢圓曲線演算法生成公鑰、公鑰再通過單向加密哈希函數生成比特幣地址。
比特幣使用非對稱加密、使得簽名只能由私鑰產生、且在不泄露私鑰情況下所有人都可以驗證該簽名p。
私鑰和公鑰有可以被編碼成多種類型格式、無一例外的作用就是為了方便識別及錢包操作方便。