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 1


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_vartime during the check process. It seems to check whether the (x,y) is on the ed25519 curve or not. But I'm not sure.
    – Harry
    Commented Jan 22 at 13:26
  • And I can't find crypto_verify_ed25519 you mentioned. Is it a function name or file name?
    – Harry
    Commented Jan 22 at 13:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.