2013-01-07 32 views
3

我正在使用Botan創建公共/私人ECDSA密鑰對。生成的公鑰(即使在使用此代碼的不同機器上)也非常相似......太類似,不認爲我會認爲安全。以下是兩次運行的示例:爲什麼這些Botan公鑰如此相似?

-----BEGIN PUBLIC KEY----- 
MIIBEzCB7AYHKoZIzj0CATCB4AIBATAsBgcqhkjOPQEBAiEA//////////////// 
/////////////////////v///C8wRAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 
AAAAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBEEEeb5m 
fvncu6xVoGKVzocLBwKb/NstzijZWfKBWxb4F5hIOtp3JqPEZV2k+/wOEQio/Re0 
SKaFVBmcR9CP+xDUuAIhAP////////////////////66rtzmr0igO7/SXozQNkFB 
AgEBAyIAAneDBKm4ubKbv0hxgzhkh0oAI8WKFTs1Hz/Qqyl6qxzD 
-----END PUBLIC KEY----- 

-----BEGIN PUBLIC KEY----- 
MIIBEzCB7AYHKoZIzj0CATCB4AIBATAsBgcqhkjOPQEBAiEA//////////////// 
/////////////////////v///C8wRAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 
AAAAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBEEEeb5m 
fvncu6xVoGKVzocLBwKb/NstzijZWfKBWxb4F5hIOtp3JqPEZV2k+/wOEQio/Re0 
SKaFVBmcR9CP+xDUuAIhAP////////////////////66rtzmr0igO7/SXozQNkFB 
AgEBAyIAAtQr5BPT04pk/Ror6uIGRqEKeB8dwIteR8p/r+Nl7hql 
-----END PUBLIC KEY----- 

我正在使用X509編碼對公鑰進行編碼。以下是生成ECDSA密鑰的代碼:

LibraryInitializer init; 
AutoSeeded_RNG rng; 
EC_Group ecGroup("secp256k1"); 
ECDSA_PrivateKey key(rng, ecGroup); 

爲什麼我要生成這樣的公鑰?如果多個用戶使用此代碼生成自己的密鑰,我是否認爲這不是「安全」?


UPDATE: 下面的答案似乎是正確的。我向XCA的創始人Christian Hohnstaedt發送電子郵件,進一步探討XCA如何生成此公鑰以及它是什麼。他回答說,這是EC_POINT,並通過使用命令

openssl ec -pubin -noout -text 

在X509 PEM編碼的公共密鑰的確堵漏揭示不同的公共EC點獲得。應該指出的是(對於像我這樣的其他新手來說)答案中的公共EC點對其他方自己沒有好處 - 另一方需要知道正在使用哪個EC組,這就是爲什麼X509 PEM編碼是比EC點更有幫助。

+0

我刪除了C++標記,因爲這不是C++問題。 –

+4

我懷疑大部分的關鍵是由組描述組成。它們有44個字符不同,與Base64編碼的256位私鑰相匹配。 – CodesInChaos

+0

如果大多數密鑰都是組描述,那麼這是否更有可能以兩個具有相同密鑰的用戶結束?這是否會使EC密鑰的公鑰空間小於RSA密鑰空間,因爲EC需要一個組,而RSA只是需要一些因素? – sorrell

回答

3

從這些實際的公鑰是:

02:77:83:04:A9:B8:B9:B2:9B:BF:48:71:83:38:64:87 
4A:00:23:C5:8A:15:3B:35:1F:3F:D0:AB:29:7A:AB:1C 
C3 

02:D4:2B:E4:13:D3:D3:8A:64:FD:1A:2B:EA:E2:06:46 
A1:0A:78:1F:1D:C0:8B:5E:47:CA:7F:AF:E3:65:EE:1A 
A5 

這些都是不一樣的,所以沒有明顯的理由擔心在這一方面。相同的數據是關鍵的元數據和編碼bumf(對於相同的格式化鍵,你期望它們是相同的)。

通過導入到xca(linux)獲得的值。有更好的工具來檢查DER編碼的數據,但我找不到任何容易。

+0

感謝您的迴應!你是如何從x509編碼中獲得這些值的? – sorrell

+0

xca - 編輯的答案包括 – Michael

相關問題