ECDSAをFPGAで実装する

ECDSAはディジタル署名の一種であり,近年では自動運転技術の実現のために秒間1000回のECDSAの計算が必要とされている[1].なお,この秒間1000回は今後も増加する可能性がある.
=>高速にECDSAを行う需要がある
 
HDLでハードウェアを記述することにより,FPGAやVLSIを用いてハードウェア化することができ,最終的には車載用のコントローラーに組込むために役立つ可能性がある.
=>ハードウェア化する必要性
 
よって,以上の2つからECDSAをFPGA上に実装することとなった.なお,FPGAでの実装にはHDL(VHDL)を使用するため,そのHDLを流用することでVLSIにすることも可能となるかもしれない.
 
 
[1]] M. Knezevic, V. Nikov, and P. Rombouts, “Low-latency ECDSA signature verification — A road towards safer traffic,” NXP Semiconductors, Available: https://eprint.iacr.org/2014/862
 
 
 

C言語で楕円曲線の勉強(1.有限体)

最近,卒研の関係で楕円曲線暗号の勉強をしている.
その勉強のまとめをここに吐き出しておきたい.
個人のまとめなので,内容に不備があろうとも責任を負う事はできない.
 
続きを読む

SystemVerilogの+演算子について

SystemVerilogでは(複数)ビットの加算を+演算子によって行う事ができる.
しかし,この+演算子が最終的にどのようなゲート表現となるのか,確認したことがなかったため,今回はその確認を行う.
また,加算器は全加算器(半加算器)を用いることでも作成することができる.よって,+演算子と自作の加算器の性能比較も行う.
続きを読む