Re: ecdsa_set_pub_key

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon May 27, 2024 at 8:25 PM EEST, Jarkko Sakkinen wrote:
> Hi,
>
> The documentation of ecdsa_set_pub_key() is the following:
>
> /*
>  * Set the public key given the raw uncompressed key data from an X509
>  * certificate. The key data contain the concatenated X and Y coordinates of
>  * the public key.
>  */
>
> If you interpret this literally it would mean 64 bytes buffer for p256
> with two 32 byte blobs for x and y.
>
> With such buffer the function fails with -EINVAL, which is obvious from
> the code that does checks on the contents.
>
> Instead of responding to this, can you please fix the documentation bug?
>
> There was also badly documented stuff in akcipher that has been
> unreacted so far so putting also that one here:
>
> https://lore.kernel.org/keyrings/D1HCVOZ1IN7S.1SUZ75QRE8QUZ@xxxxxxxxxx/
>
> BR, Jarkko

The best reference I could quickly find is Wikipedia:

"The older uncompressed keys are 65 bytes, consisting of constant prefix
(0x04), followed by two 256-bit integers called x and y (2 * 32 bytes).
The prefix of a compressed key allows for the y value to be derived from
the x value."

The documentation says absolutely nothing about the prefix byte, and
neither Wikipedia nor kernel documentation has a reference to this
"older format".

BR, Jarkko





[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]
  Powered by Linux