光成 滋生
「暗号技術と最適化」で、より安全で効率的なシステムを実現したい
こんにちは、光成滋生です。暗号技術とシステム最適化の研究開発に携わっています。
暗号技術の中でも特に、準同型暗号と呼ばれる暗号化したままデータを処理する技術や、BLS署名やゼロ知識証明などの付加価値の高い分野の実装・研究をしています。
コンピュータとの関わり
小さいころからパズルや科学全般が好きでパソコンにも興味を持ち、パソコン雑誌『Oh! FM (-TOWNS)』の記事をよく読んでいました。 ただ、プログラミング自体は高校生の頃はBASICで小さいパズルを作ったり、大学生になってCで少し遊ぶといった、のんびりとしたものです。
時代と逆行しますが大学院生の頃からアセンブリ言語による高速化にはまり、MP3エンコーダ「午後のこ~だ」を開発しました。 それが広く使われ、自分が作ったものが他の人に使ってもらえる楽しみを知り、2001年に音声や動画コーデックを開発する会社に就職します。 そこではWindowsやMac用のライブラリだけでなく、MIPSや特殊なCPUでの組み込みシステム開発にも関わりました。
その後、FPGAのような専用回路を動的に再構成できる面白デバイスDAPDNAを知り、それを扱うベンチャー企業に転職しました。
数学や暗号との関わり
大学では代数幾何学、特に楕円曲線周りの勉強・研究をしていたのですが、就職する少し前、それらが暗号でも利用されていることを知り、暗号そのものにも興味を持つようになりました。
楕円曲線にはペアリングと呼ばれる数学的な演算があります。 1999年頃からそれを暗号に使うといろいろ面白いことが出来ると気づいて研究していました。
就職してからも(業務外で)暗号の研究を進め、新しいアイデアを書いた2002年の論文「A new traitor tracing」は今までに400件以上引用されています。
そのアイデアを実装するために2004年にIPA未踏ソフトウェア事業に応募し、天才プログラマー・スーパークリエータの認定を受けました。 また、大学時代の知人と多変数連立方程式の解を求めるグレブナー基底計算手法を実装してToyocryptというストリーム暗号を解読し、2005年に経済産業省の情報化月間推進会議議長表彰しました。そのときは大学時代に学んだ代数幾何学の知識が役に立ちました。 そのため、より暗号技術や高速実装の研究を深めたく思い、2007年に現在のサイボウズ・ラボに転職しました。
アセンブリ言語プログラミング
暗号は理論的な仕組みを提案するのが大前提ですが、実際に利用するためには安全で高速な実装も重要です。 暗号理論の研究者、プログラミングの得意なソフトウェアエンジニアというのはそれぞれ多くいますが、両方が得意という人はそれほど多くはいません。。
「今どきアセンブラ(アセンブリ言語)で開発なんてしない」と、30年以上前から言われ続けている気がしますが、現在(2025年)でもシステムの根幹では使われています。
様々な環境でのコーデックや暗号ライブラリの開発経験から、自分が使いやすいアセンブラ、しかも実行時コード生成が出来るものが欲しいと思い、Xbyakを開発しました。
自作ソフトウェアが使われるまで
XbyakはIntel(現在はUXL : Unified Acceleration Foundationに移管)のoneDNNやAMDのZenDNNなどのAIフレームワークで利用され、スーパーコンピュータ富岳用のライブラリの開発にも関わりました( 富岳のディープラーニング処理を支えるJITコンパイラ「Xbyak_aarch64」誕生秘話)。
また、Xbyakを使ってペアリング暗号のライブラリを開発していたら、ゼロ知識証明のzk-SNARKやBLS署名を応用したDFINITYに採用されたのをきっかけにEthereumなどのブロックチェーン系プロジェクトで広く使われるようになりました。
それらの貢献で、2024年にXbyakでGoogle Open Source Peer Bonusを受賞、暗号ライブラリmcl/blsの実装でEthereum PSE (Privacy & Scaling Explorations)のGrantを2件受賞、Microsoft MVP Developer Technologies/C++, Developer Securityを受賞しました。
自分が欲しいもの、面白いと思うものを作っていたらいつのまにか大企業や最先端の分野で使われるようになっていたのは感慨深いものがあります。
2021年に早稲田大学情報理工学科で講演したときの資料「私とOSSの25年」も参照してください。
略歴
- ~2007年
- 京都大学大学院理学研究科数学・数理解析専攻博士課程前期修了
- 同大学院博士課程後期単位取得退学
- 株式会社ピクセラ入社
- ユーテンネットワークス株式会社入社
- 2007年~
- サイボウズ・ラボ株式会社入社
OSS活動
- Xbyak C++用のx86/x64 JITアセンブラ
- Intel深層学習ライブラリoneAPI Deep Neural Network Library (oneDNN)が採用
- s_xbyak Xbyakライクな静的ASM生成ライブラリ
- スーパーコンピュータ富岳への貢献
- mcl ペアリングライブラリ
- mcl-wasmペアリングライブラリのWebAssembly実装
- bls BLS署名の実装
- Ethereum 2.0 spec対応各種言語バインディング
- bls-eth-go-binary
- bls-eth-wasm
- bls-eth-rust
- she-wasm L2準同型暗号のWebAssembly実装
- simdgen Intel AVX-512/富岳SVE用SIMDコードジェネレータ
受賞・Grant
- 2024年 mcl/bls Libraryの貢献でEthereum ESP retroactive grant獲得
- 2024年 Faster Scalar Multiplication of Elliptic Curves Using AVX-512でEthereum ESP retroactive grant獲得
- 2024年 Google Open Source Peer Bonus受賞
- 2024年 Microsoft MVP Developer Technologies/C++, Developer Security受賞
- 2023年 Optimism (Layer 2 blockchain on Ethereum) grant獲得
- 2016~2023年 Microsoft MVP Visual Studio and Development Technologies受賞
- 2019年 Ethereum Foundation grant for a super-fast BLS implementation
- 2018年 CSS2018最優秀デモンストレーション賞受賞
- 2015年 Microsoft MVP Developer Security受賞
- 2010年度 電子情報通信学会(IEICE) 論文賞受賞
- 2005年情報化月間推進会議議長表彰:グレブナー基底計算プログラム
- 2003年度IPA未踏ソフトウェア創造事業天才プログラマー・スーパークリエータ認定
- 2000年度オンラインソフトウェア大賞受賞
- 1999年度窓の杜金賞受賞:午後のこ~だ
査読付き国際会議・論文・ポスター
- Z.Song, J Sakamoto, S. Mitsunari, R. Anzai, N. Yoshida, T. Matsumoto, Efficient Software Implementation of GMT-672 and GMT8-542 Pairing-Friendly Curves for a 128-bit Security Level, 3rd ACNS Workshop on Secure Cryptographic Implementation, 2022
- K. Kawakami, S. Mitsunari, K. Kurihara, K. Matsuda, M. Yamazaki, F. Yamada, T. Tabaru, K. Yokoyama, Just-In-Time Code Fusion of Unary Mathematical Calculation for Supercomputer Fugaku, Poster, COOL Chips 25, 2022
- M. Jimbo, N. Mitsuhashi, S. Mitsunari, S. Kawano, T. Katayama, K. Asai, K. Shimizu, U-28: Privacy-preserving Search for Sharing Genetic Variants, Poster, ISCB 2019
- N. Attrapadung, G. Hanaoka, S. Mitsunari, Y. Sakai, K. Shimizu, T. Teruya, Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and A Fast Implementation in WebAssembly, ASIACCS 2018
- K. Shimizu, K. Nuida, H. Arai, S. Mitsunari, N. Attrapadung, M. Hamada, K. Tsuda, T. Hirokawa, J. Sakuma, G. Hanaoka, K. Asai, Privacy-preserving search for chemical compound databases, BMC Bioinformatics 2015
- MS Officeファイル暗号化のマスター鍵を利用したバックドアとその対策, CODE BLUE 2015
- Backdooring MS Office documents with secret master keys, 台湾HITCON 2015 Community
- E. Zavattoni, L. J. Dominguez Perez, S. Mitsunari, Ana H. Sánchez-Ramírez, T. Teruya, F. Rodríguez-Henríquez, Software implementation of an Attribute-Based Encryption scheme, IEEE Transactions on Computers, 2014
- K. Shimizu, K. Nuida, H. Arai, S. Mitsunari, N. Attrapadung, M. Hamada, K. Tsuda, T. Hirokawa, J. Sakuma, G. Hanaoka, K. Asai, An efficient privacy-preserving similarity search protocol for chemical compound databases, CBRC2013
- M. Yoshida, S. Mitsunari, T. Fujiwara, The Vector Decomposition Problem, IEICE 2010
- J. Beuchat, J. González-Díaz, S. Mitsunari, E. Okamoto, F. Rodríguez-Henríquez, T. Teruya, High-Speed Software Implementation of the Optimal Ate Pairing over Barreto-Naehrig Curves, Pairing2010
- J. Beuchat, E. López-trejo, L. Martínez-ramos, S. Mitsunari, F. Rodríguez-henríquez, Multi-core implementation of the Tate pairing over supersingular elliptic curves, CANS2009
- M. Yoshida, S. Mitsunari, T. Fujiwara, A Timed-Release Key Management Scheme for Backward Recovery, Proc. of the 8th Annual ICISC2005
- S. Mitsunari, R. Sakai, M. Kasahara, A New Traitor Tracing, IEICE2002
対外活動
- 2015~ SC22/C++WG小委員会委員
- 2008~2025/3 「数論アルゴリズムとその応用」研究部会 (JANT) 幹事
- 2022 情報セキュリティ研究会専門委員オーガナイザ AI-2. 秘密計算の実用化に向けて
- 2016~2022/3 情報セキュリティ研究会専門委員
- 2016~2021 Special Section on Cryptography and Information Security:Guest Associate Editors
書籍
- 『笑わない数学2』NHK「笑わない数学」制作班編, KADOKAWA 2024(「暗号理論」の章の監修)
- 『Binary Hacks Rebooted』O'Reilly 2024(寄稿)
- 『Software Design別冊シリーズ 今さら聞けない暗号技術&認証・認可』技術評論社 2023(共著)
- 『図解即戦力 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書』技術評論社 2021
- 『パターン認識と機械学習の学習普及版』暗黒通信団 2017
- 『クラウドを支えるこれからの暗号技術』秀和システム 2015
- 『応用数理ハンドブック』朝倉書店 2013(楕円曲線暗号・ペアリング暗号の項目担当)
- 『パターン認識と機械学習の学習』暗黒通信団 2012
- 『Javaによるアルゴリズム事典』技術評論社 2003(共著)
連載
勉強会
連絡先その他
- mail : herumi@nifty.com
- GitHub
- Zenn
- Speaker Deck
- Bluesky
- SlideShare
- X