mbedTLSを使おうとしている。
まずはBash on Windowsで動作確認だ。
サンプルを見ていると、mbedtls_mpiで大きい数字を取り扱うようだ。
元に戻すときはuint8_tなどで取得できるのだが、エンディアンはどうなっているのだろうか?
mbedtls_mpi m;
mbedtls_mpi_init(&m);
mbedtls_mpi_read_string(&m, 10, "4660"); //0x1234
for (int lp = 0; lp < 16; lp++) {
if (mbedtls_mpi_get_bit(&m, lp) == 0) {
printf("0");
} else {
printf("1");
}
}
printf("\n");
uint8_t u16[2];
mbedtls_mpi_write_binary(&m, u16, 2);
printf("%02x %02x\n\n", u16[0], u16[1]);
mbedtls_mpi_free(&m);
結果
0010110001001000
12 34
ほう、そう来るか。
ビット0は、一番下のビットになるんだ。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。