簡體   English   中英

如何獲得Qx和Qy形式DER編碼的EC_POINT

[英]How to get Qx and Qy form DER Encoded EC_POINT

我在硝基鍵hsm上創建了一個Brainpool EC,並希望將其用於.NET Framework的加密操作,例如System.Security.Cryptography.ECDiffieHellman

我使用pkcs11-tool --list-objects提取了公鑰,但僅獲得一個值 EC_POINT。

那么,如何獲得這一點的坐標呢?

DER編碼的EC_POINT

Public Key Object; EC  EC_POINT 320 bits
  EC_POINT:   0451040defed7988b095679e5aca422382d949c2e7fd937646def25cf7eb5140d41f12d077ac615773952da53efad266c8642c6877b8b215d091ba687acafd3c33f35ffb5ca6aadaf248ef1a126cd55e0d0598
  EC_PARAMS:  06092b2403030208010109
  label:      Brainpool #1
  ID:         10
  Usage:      verify

解碼的EC_POINT

此EC_POINT是DER編碼的,我用來提取EC_POINT的真實值

040defed7988b095679e5aca422382d949c2e7fd937646def25cf7
eb5140d41f12d077ac615773952da53efad266c8642c6877b8b215
d091ba687acafd3c33f35ffb5ca6aadaf248ef1a126cd55e0d0598

(或此JS腳本https://lapo.it/asn1js/#0451040DEFED7988B095679E5ACA422382D949C2E7FD937646DEF25CF7EB5140D41F12D077AC615773952DA53EFAD266C8642C6877B8B215D091BA687ACAFD3C33F35FFB5CA6A

040defed7988b095679e5aca422382d949c2e7fd937646def25cf7
eb5140d41f12d077ac615773952da53efad266c8642c6877b8b215
d091ba687acafd3c33f35ffb5ca6aadaf248ef1a126cd55e0d0598

是您的公鑰。 第一個字節表示它是未壓縮的密鑰( 04 ),這意味着在其余字節中,前半部分是X坐標,后半部分是Y坐標。

Qx = 0defed7988b095679e5aca422382d949c2e7fd937646def25cf7eb5140d41f12d077ac615773952d

Qy = a53efad266c8642c6877b8b215d091ba687acafd3c33f35ffb5ca6aadaf248ef1a126cd55e0d0598

http://www.secg.org/sec1-v2.pdf ,第2.3.4節(八進制字符串到橢圓曲線點轉換)。

(並且由於參數( 06092b2403030208010109 )是DER-oid 1.3.36.3.3.2.8.1.1.9(brainpoolP320r1),所以所有內容看起來都是正確的,因為Qx / Qy是320位值)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM