振り返り
今年は元旦夜明け前から足首の骨折と肩などの3箇所の剥離骨折でやばかった.
幸い日常生活は大丈夫だがまだ可動域は完全でない.
mclは(自分にとって)少しずつ使いやすくしてきた.
WebAssemblyを勉強してshe-wasmなどができたのは結構な成果だ.
このアルゴリズムもうまいこと見つけられたと思う.
論文落ちたのは残念だったな.
JavaScriptを勉強したついでにNode.jsにも手を出してみた. Expressなどで簡単にサーバ作って実験できるようになってきた.
社内の勉強会で講義用に『データ解析におけるプライバシー保護』(佐久間淳), 『プロフェッショナルSSL/TLS』(齋藤孝道),
『The Web Application Hacker's Handbook』(Dafydd Stuttardたち)を読んだ.
来年もがんばってプログラミングしよう.
VAES
Intelのマニュアル(319433-030.pdf)で次々CPU(?)用のCPUIDフラグにしたがってxbyak_util.hを追加.
試しにAESのAVX-512版命令に対応してみた.
she
mclのL2準同型暗号のDLP用テーブルを保存できるようにした.
JS版で初期化が速くなるといいな.
『新版 独習C#』(山田祥寛)
少しずつ読み始める. 最初にデバッガを紹介してるのがよい.
42ページの表2.3でfloatとdoubleの指数表記部分に^が抜けていた.
SCIS2018
自分の発表は初日1A2だった.
緊張しっぱなしにならずにすみそう.
『知識ゼロからの「異常気象」入門』(斉田季実治)
なかなかよい. 数値も必ずしも異常性をあおること前提ではない書き方でよい.
コリオリの力の説明がどうもしっくりこず, 結局第14章 大気の大循環を見てわかった.
『科学者は戦争で何をしたか』(益川敏英)
はっきりと現政権を否定していてすごいな.
大学で講義を聞いていたときもそういう活動をされていたのか.
全然知らなかった.
wasm
mclのLLVMコードの何でemccがエラーを出してるのかようやく調べる.
結局現バージョンのemccが対応している整数は128bitまでで192bitのaddなどは全てエラーになるのだった.
加算ぐらいは任意長に対応したのかと思っていたのだが,
それらを全て書き直すとなると結構めんどい. どうしたものか.
【暗号通貨輪読会#14】Confidential Transaction
整然とした解説で非常に面白かった.
予習不足で細かい部分の質問ができなかったのが残念.
PrecomputedPublicKey追加
she-wasmにPrecomputedPublicKeyクラスを追加した.
暗号化に必要なテーブルを事前計算することで従来より2.5倍程度暗号化が速くなる.
サイズは可変長なので不要になったらJavaScriptではdestroy()関数を呼んでもらうようにした.
Express
JavaScriptでサーバを作るのに初挑戦.
いろいろ便利だね.
『ヴェイスの盲点』(野尻抱介)
無性に読みたくなって久しぶりに読み返す.
やっぱり面白いな.
Node.jsとブラウザでwasmコード一本化
今まではwasmファイル自体のコンパイルに-s "MODULARIZE=1"あり, なしの違いがあって別々にしていたのだけど,
ようやく統一できた(bls-wasm).
ついでにwasmBinaryFileオプションを内部で指定したので--prejsオプションも不要になった.
大分すっきりした.
return new Promise((resolve) => {
if (isNodeJs) {
const bls_c = require(`./${name}.js`)
const Module = {
wasmBinaryFile : __dirname + `/${name}.wasm`
}
bls_c(Module)
.then(_mod => {
exports.mod = _mod
setup(exports, curveType)
resolve()
})
} else {
// ブラウザ用
}
新マシン
自宅のデスクトップPCを更新.
前回は5年前のCore i3-2100TでベンチマークとるとiPhone 7に負けてるレベル.
今回はCore i7-7700@3.6GHz + 32GB + 512GB SSD.
マシンがとても静かで電源入ってるのか, そうでないのか分からないレベル(たまに起動時に掃除機のような爆音がするけど).
データをコピーして必要な設定をちまちまやって移行はほぼ完了.
ひどい寝違えをして首が痛い.