Recently I am working on monero source code, and I wonder how monero verify ed25519 public key is invalid. Is this function converting the public key into Y coordinates, then calculating the X coordinates, and verifying whether the coordinate points are on the elliptic curve? I was confused about the converting process. And also, does any Y coordinates have a corresponding X coordinates? Why this verify process will be failed if public key is invalid? Thanks so much! ge_frombytes_vartime is here.
1 Answer
Monero's crypto_verify_ed25519 checks validity through deriving and comparing public keys with messages and signatures without requiring x-y coordinates.
-
Sorry maybe my question is not clear. What I want to know is how monero checks whether a ed25519 public key is valid, not a signature. And I found the function
ge_frombytes_vartimeduring the check process. It seems to check whether the (x,y) is on the ed25519 curve or not. But I'm not sure.Harry– Harry2024-01-22 13:26:34 +00:00Commented Jan 22, 2024 at 13:26 -
And I can't find
crypto_verify_ed25519you mentioned. Is it a function name or file name?Harry– Harry2024-01-22 13:28:09 +00:00Commented Jan 22, 2024 at 13:28