Являются ли последовательности байтов OpenSSL в порядке с прямым или обратным порядком байтов? - PullRequest
4 голосов
/ 26 февраля 2012

Я пытаюсь использовать реализацию openssl dsa, но меня очень смущают следующие детали:

  • Опция '-text' команды openssl dsa ....: шестнадцатеричные числа в выходных данных, правильно ли я предположить, что это байты, и, следовательно, они имеют порядок в младшем порядке?

  • Функции BN_bn2hex и BN_hex2bn, какую Endianess они используют?

Заранее спасибо за помощь.

1 Ответ

10 голосов
/ 26 февраля 2012

OpenSSL обрабатывает все серии байтов (unsigned char массивы) как старшие порядковые номера.

Функции BN_bn2hex и BN_hex2bn предназначены для преобразования в формат для печати и обратно. Печатные форматы всегда находятся в естественном порядке чтения, что является прямым порядком байтов.

Для непечатаемых преобразований формата, таких как bn2bin , в документации прямо указывается, что преобразование имеет старший порядковый номер. Но, как я уже говорил, соглашение в OpenSSL является порядком байтов для всех серий байтов.

...