I’m trying to use openssl dsa implementation, but I’m very confused with the following details:
-
Option ‘-text’ of the command
openssl dsa ....: the hexadecimal numbers in the output, am I correct to assume that those are the bytes, and thus they are in little-Endian order? -
Functions BN_bn2hex and BN_hex2bn, what Endianess they use?
Thanks in advance for the help.
OpenSSL treats all series of bytes (
unsigned chararrays) as big endian.The functions
BN_bn2hexandBN_hex2bnare for converting to and from a printable format. Printable formats are always in natural reading order, which is big endian.For non-printable format conversions like bn2bin, the documentation explicitly states that the conversion is big endian. But like I said before, the convention in OpenSSL is big endian for all series of bytes.