ぺんぎんさんのおうち

日記です。たまに日記じゃないこともあります。

05.04.2020

昨日は投稿するの忘れて寝てた. 

酒飲んだら鼻詰まりが悪化して寝れなくなるので, もう絶対酒は飲まない(特にこの時期は).

 

少し前までmpn_sec_invertよりも速い逆数計算をやろうと息巻いていたが, mpz_invertと比べたら圧倒的に敗北していた. mpz_invertはEEAを使っていた. 

mpn_sec_invertもおそらくmpz_invertに近い速度が出せるはずだが, わざと速度を落としている可能性がある(そういう意味でのsec_).

mpz_invertよりも速い逆数計算を実装するのは無理そう. EEAを自分で実装しても勝てないし, p-2乗でよい場合でもバイナリ法とか駆使したところで勝てない.

 

この件で思うことは,

・セキュリティを意識するなら自前実装はやめたほうがいいかも

・娯楽として高速化実装をやるのはあり

・楽しい

 

mpn_sec_invertより数usec速くできた〜ってやってる裏で, mpz_invertは2usecもしないうちに計算が終わってる.