Public-Key

如何測量 ECC 密鑰大小?

  • July 23, 2016

我已經成功實施了 ECC 密鑰生成方案。現在我需要找到每個生成密鑰對的 ECC 密鑰大小。我假設 ECC 密鑰大小是 ECC 私鑰的大小。

所以我想知道這是否正確?

我們所說的關於橢圓曲線的大小是定義橢圓曲線的場的大小。這不一定是私鑰的大小。

例如:Curve25519 是一個 255 位橢圓曲線,實際上具有 252 位私鑰,儘管它們通常被編碼為具有四個固定位的 256 位值。公鑰是 256 位值,但由於最後一位始終為 0,因此只包含 255 位資訊。

ECC 公鑰是 (X,Y) 點,其中 X 和 Y 是給定欄位(例如 Fp 或 F2m)中的元素。

例如,secp160r1 使用 160 位素數欄位。X 和 Y 最長可達 160 位。所以 (X,Y) 是 320 位。

(X,Y) 點可以用壓縮形式表示,其中只給出 X 值和一點資訊,因為 Y 是 X 的函式。

X.962 編碼可用於這 3 種情況。請注意,在 X 和 Y 較小的情況下,它們會被零填充到素數模數大小:

未壓縮:

0x04 | X | 是

壓縮(Y 為偶數):

0x02 | X

壓縮(Y 為奇數):

0x03 | X

引用自:https://crypto.stackexchange.com/questions/16516