憂鬱な午後のひととき

7月24日_

mcl on Browser

ようやくGMPとOpenSSLに依存しないmclができた.

テスト中にエッジケースでいくつか0で割っていたところが見つかったので修正(vintが例外を発生した).

emccで試す. 例外は応答しなくなるようでそれ関係のテストはオフにする. clock_gettimeがエラーになるのでgettimeofdayを使う.

ブラウザ上のWASMで256-bitのペアリングが7.2msecだった. ブラウザ上で動くのをみると感慨深い.

同じマシンでネイティブ実行だと0.3msecなので24倍遅い. ただこちらは64bit×64bit→128bit乗算を使ってるがemccでは32bitと同じように動かしてる. 32bit環境だとネイティブでも1.6msecなので4~5倍遅い程度. スタートとしてはまずまずなところか.

7月23日_

【第20回 数学カフェ】トロピカル幾何学参加

しかし, 今回はvint.hppのバグが気になってあまり集中して聞いてなかった. すいません.

「なんでこんな半群を考えたのか」という質問に対して「いろいろやって興味深いのが残っただけだろう(意訳)」という答えが面白かった.

土日連ちゃんで出かけると全然休んだ気がしない.

7月22日_

第13回 カーネル/VM探検隊&懇親会@東京参加

元ラボユースの人が二人発表していた. 若者すごいなと感心ばかりしていた.

今までは自分もがんばらないとなと思っていたが, まあ人は人, 自分は自分. 今やってることを粛々と進めようと思ってしまった(完全におじさん).

7月21日_

素数判定とか

vint.hppにisPrime()とか invModとかLegendreシンボルなどの関数追加. これでmclに必要なGMPの機能は一通り揃った. GMPなしでbuildできるようになったがテストはまだ通らない.

7月19日_

SHE

アドバイスもらってbgn.hppが大分すっきりした. HashTableの統合はもう少しあとで.

7月16日_

Vintクラスのリファクタリング

結構細かいところに神経使う. 早く終わらせてwasmで書いてみたいな.

7月14日_

休憩

結局今週は4日休んだ. 『パターン認識と機械学習の学習』が入った段ボール箱いっぱい届いたのスリップ入れというのをやる. 心を折らずにスリップ折ってる.

7月11日_

mpz_classもどき

今日も有給で休憩. 大分疲れがとれてきた気がする.

gmp.jsを試してみたが私の環境では重すぎるのか大きすぎるのか知らないけど動かなかった. 仕方がないので自前でmpz_classもどきを用意することにした.

以前作ったate-pairingの中にあるのを使おう. というわけでこれを取り出してコード整理する.

#include <iostream>
#include <mcl/emu_mpz.hpp> // header only library

int main()
{
    mpz_class a("1");
    for (int i = 1; i < 100; i++) {
        a *= i;
    }
    std::cout << a << std::endl;
}
-----------------------------------------------------------------------------
// output
93326215443944152681699238856266700490715968264381621468592963895217599993229\
9156089414639761565182862536979208272237582511852109168640000000000000000000000

こんなのがFirefoxやChrome上で動いてるのをみるとやはり感動する. しかしこれは息抜きなのだろうか.

7月10日_

Re: 眠い

今日もしんどくて殆ど寝てる. 体がうごかん.

7月9日_

眠い

疲れがたまっていたのかめちゃくちゃ眠たい. 何度も寝直しても寝たりない.

7月8日_

ジュンク堂池袋店

知り合いにラムダノート・フェアで私の『クラウドを支えるこれからの暗号技術』が紹介されているよと教えていただいたので見に行ってみた. 『RPMLの学習 普及版』も売られていた. ここは本がたくさんあっていいなあ.

7月6日_

GLV for GT

BGN暗号の復号処理はGTの巾乗算powを3回するので重たい. GT(⊆ Fp12)のGLVによる巾乗算アルゴリズムを実装した. 1.7倍ほど速くなった.

例によってGLVによるpowはFp12の一般の元に対してはおかしな値になる. 1のr乗根であるときしか使えないのに注意する(テストが通らなくて最初焦った).

7月1日_

サイボウズ・ラボ入社して10年経った

入社したのが2007年の7月1日. Xbyakの開発やペアリングの実装研究も同じぐらいやってる. いろいろあったが長いこと居られた・自由にさせてもらえたものだ. とても感謝.

最近は外部の研究・開発グループに声をかけていただける機会も増えてありがたい.

担当したラボユースの学生も, それぞれ活躍されてるし私もがんばらないと.

Microsoft MVP再受賞できたらしい. こちらもありがたい.


御意見は光成滋生<herumi@nifty.com>までお願いします