cryptographydigital-signatureecdsaelliptic-curve

Boolean Value as ECDSA Y-Coordinate


IANA "COSE Key Type Parameters" includes the following:

Key Type Name Label CBOR Type
2 (EC2) crv -1 int/tstr
2 (EC2) x -2 bstr
2 (EC2) y -3 bstr/bool
2 (EC2) d -4 bstr

The information implies that there are cases where the type of y-coordinate for ECDSA can be a boolean value (not an integer value). Does anyone know the reason? I'd like to know how to treat the boolean value when I actually encounter the case.

The relevant specification is RFC 9053: CBOR Object Signing and Encryption (COSE): Initial Algorithms, Section 2.1. ECDSA.


Solution

  • It seems that I have found the answer in "2.3.3 Elliptic-Curve-Point-to-Octet-String Conversion" of "SEC 1: Elliptic Curve Cryptography". The document says that a certain case "allows the y-coordinate to be represented compactly using a single bit".