4

私はopenssldsa実装を使用しようとしていますが、次の詳細と非常に混乱しています。

  • コマンドのオプション'-text' openssl dsa ....:出力の16進数、これらはバイトであり、したがってリトルエンディアンの順序であると想定するのは正しいですか?

  • 関数BN_bn2hexおよびBN_hex2bn、それらが使用するエンディアンは何ですか?

助けてくれてありがとう。

4

1 に答える 1

11

OpenSSLは、すべての一連のバイト(unsigned char配列)をビッグエンディアンとして扱います。

関数BN_bn2hexBN_hex2bnは、印刷可能な形式との間で変換するためのものです。印刷可能なフォーマットは常に自然な読み順であり、これはビッグエンディアンです。

bn2binのような印刷不可能な形式の変換の場合、ドキュメントには、変換がビッグエンディアンであると明示的に記載されています。しかし、前に述べたように、OpenSSLの規則は、すべての一連のバイトにとってビッグエンディアンです。

于 2012-02-26T18:00:57.197 に答える