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

GR-PEACHでディジタル時計を作った

今年の夏,セキュリティ・キャンプに参加した.
そのとき参加した講義の一つで,GR-PEACHがもらえるというものがあった.ただし,「事前学習や趣味で使った内容を,ネット媒体(ブログやウェブサイト,twitter,Qiita等)に書くこと。」,「年内くらいに掲載、公開してほしい」とのことで,さっき思い出して慌ててこの記事を書いている.
今記事を書いている日付を確認すると12月24日,つまりクリスマスだ.
メリークリスマス.私は今年のクリスマス,時計を作って過ごしたよ.
続きを読む