憂鬱な午後のひととき

5月21日_

楕円曲線暗号のための数学4(ウィンドウ法)

書いた. 早くGLV法の説明にたどり着きたい.

5月17日_

mcl-wasmの自動build

今更ながら私が手元でbuildしたwasmバイナリを使うのは不安な人のために, GitHub Actionでbuildしたライブラリをaddするようにした.

5月16日_

PQCの概要の勉強

現状どうなってるのかざっと調べて把握.

5月15日_

mulEach for AVX-512

ようやくちゃんと安全に使えることを示せて大丈夫になった気がする.

5月13日_

仕事の依頼

最近体調不良で寝不足なのといろいろ立て込んでたので断ろうと思ってたのだけど, 間違って受けてしまった.

5月11日_

楕円ElGamal暗号の変種とその安全性

『暗号技術のすべて』(IPUSIRON)の楕円ElGamal暗号の解説が怪しかったので書いてみた. 別の本X, Y(複数)でそういう方法が紹介されているらしい. どういう文脈だったのかな.

元々は, 頼まれた更に別の本のレビューの中で紹介されていた方法がそれで, 参考にしたのが『暗号技術のすべて』で, それが参考にしたのがX, Yだったそうだ.

5月8日_

『SSL/TLS実践入門』(市原創 板倉広明)

2章ぐらいまでをざっと読んだ. いくつか誤植や勘違いと見られる箇所があった.

p.114 下から3行目右のnのフォントが変
p.115 3行目 : dは鍵生成時にpとqから計算→eも必要
p.120 3行目 : 位数nの有限体→巡回群
他にも「巡回群」とすべき所が「有限体」になってるのがちらほら見かけた.
p.128下からL7 : ここの二つ目の「有限体から鍵ペア...を決めておく」は微妙に変. 「有限体から秘密鍵dAを選び、公開鍵dA Gを計算する」ぐらいか.
p.130下からL6. p.132のL8. p.151のL12も
p.120 17行目ぐらい : 処理時間の増え方が線形→線形よりはもっと重たくなる.
たとえば256ビットと384ビットでは後者は1.5倍よりずっと重たい. ビット長が増えると有限体の自体の計算量の増加とスカラー倍算のビット長が伸びることの両方が効く.
p.137 : 「一つ」と「1つ」の表記揺れ
p.107 : 有限体は…四則演算がXORやビットシフトで実行できる
それは標数p=2の拡大体だけでp>2では違いますね.
p.116一番下(P-2)より小さい値
「Qより小さい値」の間違いかと. その隣のp.117のpriv_keyもpriv_key<qでしょうか.
その表の「巨大な素数P」の範囲が512~1024ビットというのは小さ過ぎると思います.

5月7日_

AVX-512版mulEach

clangだと-OfastでもOKなのにgccだと-O3でおかしくなる. -O2ならOK. どこの書き方が悪さしてるのかなあ. ライブラリ自体はgcc -O2でbuildしてその関数を読んでるだけなのに.

5月5日_

Re: 楕円ElGamal暗号の変形版の安全性

そういう方式は『現代暗号の基礎数理』や『代数学から学ぶ暗号理論』に載ってるらしい. 残念ながらどちらも持ってないため詳細は不明.

5月4日_

楕円ElGamal暗号の変形版の安全性

『暗号技術のすべて』(IPUSIRON)を見ていたら, Mを楕円の点(平文), Qを公開鍵, rを乱数として暗号化でEnc(M) = M + rQの計算の「+」を楕円加算ではなく(Fp)2の元としてやっていた(p.404). 確かにそれでも対応する復号箇所も変更すればちゃんと元に戻る. しかも楕円加算よりも軽い. でもそれだと(Fp)2の中で一応分布しないし, y2=x3+ax+bのxに対応するyが存在しないパターンを考えると安全じゃないと思う. 「+」の代わりにFpの乗算を使う方式もあるようだ. こちらも駄目だなあ.

5月2日_

JANTの雑務

ML案内やweb更新などめったにやらない(せいぜい年に2回)ので手作業でやっていたけど, いいかげん嫌になってきたので自動化のスクリプトを書き始めた. でも, 妙に毎回変わるところがあるようだ. そういうのは消して○○参照で逃げたいな.


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