[mathjax]未検証な部分も多く,要検証な話.
続きを読む
卒研
PARI GPによるECDSAの実装
[mathjax]今回はPARI GPを用いてECDSAを実装する.
続きを読む
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言語で楕円曲線の勉強(4.加法公式)
有限体Fp上の楕円曲線上の有理点の加算を考える.
とは言っても,『楕円曲線暗号入門』を見たほうが分かりやすい.
続きを読む
C言語で楕円曲線の勉強(3.拡張Euclid互除法)
有限体Fp上での除算を拡張Euclid互除法を用いて高速化する.
続きを読む
C言語で楕円曲線の勉強(2.C言語の剰余)
有限体Fp上での計算ではmod(剰余)がよく出てくる.
自然数a,bでのa mod bはそこまで難しくない.
しかしa,bの範囲が整数まで拡大すると話がややこしくなってくる.
続きを読む
C言語で楕円曲線の勉強(1.有限体)
最近,卒研の関係で楕円曲線暗号の勉強をしている.
その勉強のまとめをここに吐き出しておきたい.
個人のまとめなので,内容に不備があろうとも責任を負う事はできない.
続きを読む
SystemVerilogの+演算子について
SystemVerilogでは(複数)ビットの加算を+演算子によって行う事ができる.
しかし,この+演算子が最終的にどのようなゲート表現となるのか,確認したことがなかったため,今回はその確認を行う.
また,加算器は全加算器(半加算器)を用いることでも作成することができる.よって,+演算子と自作の加算器の性能比較も行う.
続きを読む