ECDSAの署名からどうして公開鍵が取得できるの?という聞かれて何でだろうねって話になったので調べてみた。 署名から公開鍵のセットを復元 Rubyではecdsaのgemを使えば以下のように署名と署名対象のメッセージから公開鍵を取得できる。(署名対象のメッセージはどうせなのでBitcoinで使用されているのと同じトランザクションのsighashを使用。そのためbitcoinrbのgemも利用している) 実行すると↓のように2つの公開鍵が抽出できる。 0259f6658325c4e3ca6fb38f657ffcbf4b1c45ef4f0c1dd86d5f6c0cebb0e09520 03a9255e098f4075e9ebfaf7859f459095667879db33e977fc8c91029afa8a2490 ↑のコード上の署名はこの内の0259f6658325c4e3ca6fb38f65