2009年8月8日 星期六

The GNU MP Bignum library

最近因為工作上客戶要求要做 RSA verify 的動作來確保 image 是沒被改動過的..
一開始是參考 openssl ..
在看 RSA 的部分..發現其實 RSA 主要是有一個 big number 的 libaray ..
然後做 big number 的運算..說實在並不是很複雜..
另外看了其它有關 RSA 的 libaray..也都是這樣子..
所以就打算放棄 porting openssl 這個功能超強的大怪物~~只拿 openssl 來當驗證用..
就找了 axTLS 這個 SSL library 來改..把 RSA 的 module 整個抽出來...
還算幸運..花了大概一天的時候把 RSA 的 code 整個抽出來..
然後驗證抽出來的 code 是沒問題的..另外再花了半天的時候把 code port 到我們的環境上...
不過對於 code size 上不是很滿意..目前 RSA 的部分花了大概是 6KB ..
很想把 code size 縮到 5KB 左右..看起來佔 code size 最多的就是 big number 的部分..
所以就上網找了一下..是不是其它的 libaray..
找到了 The GNU MP Bignum library
號稱是 the fastest bignum library on the planet!
不過是 GPL 的 code 就沒特別看了~~只是單純記錄一下下~~:)