CRYPTREC Report 2016

平成 29 年 3 月
国立研究開発法人情報通信研究機構
独立行政法人情報処理推進機構

CRYPTREC-RP-0002-2016｢暗号技術評価委員会報告｣目次
はじめに ····················································· 1
本報告書の利用にあたって ····································· 2
委員会構成 ··················································· 3
委員名簿 ····················································· 4
第1章

活動の目的

················································ 7

1.1

電子政府システムの安全性確保 ································ 7

1.2

暗号技術評価委員会 ·········································· 8

1.3

CRYPTREC 暗号リスト ········································· 8

1.4

活動の方針 ·················································· 9

第2章
2.1

2.2

2.3

委員会の活動監視活動報告 ··············································· 11
2.1.1

共通鍵暗号に関する安全性評価について·················· 11

2.1.2

公開鍵暗号に関する安全性評価について·················· 11

2.1.3

ハッシュ関数に関する安全性評価について ··············· 12

2.1.4

KCipher-2 の仕様書の誤記について ······················ 12

2.1.5

仕様書の参照先の変更について ·························· 13

2.1.6

共通鍵暗号の安全性調査と MISTY1 について ·············· 15

注意喚起レポートの発行 ····································· 20
2.2.1

暗号アルゴリズムの脆弱性に関する情報発信 ············· 20

2.2.2

SHA-1 の安全性低下について ···························· 21

推奨候補暗号リストへの新規暗号の追加 ······················ 21
2.3.1

2.4

············································· 11

SHAKE128 ·············································· 21

ChaCha20-Poly1305 の CRYPTREC 暗号リストへの追加を視野に入れた評価について ········································ 22

2.5

Post Quantum Cryptography に関する動向について ············· 24

2.6

文書番号体系について ······································· 24

2.7

学会等参加状況 ············································· 25
2.7.1

共通鍵暗号の解読技術 ·································· 26

2.7.2

公開鍵暗号の解読技術 ·································· 26

2.7.3

ハッシュ関数の解読技術 ································ 27

2.8

委員会開催記録 ············································· 29

2.9

暗号技術調査ワーキンググループ開催記録 ···················· 29

第3章

暗号技術調査ワーキンググループの活動

3.1····················· 31

暗号解析評価ワーキンググループ ···························· 31
3.1.1

活動目的 ············································· 31

3.1.2

委員構成 ············································· 31

3.1.3

活動概要 ············································· 31

3.1.4

成果概要 ············································· 32

付録 A.1

楕円曲線上の離散対数問題(ECDLP)の困難性に関する調査 ······································· 39

付録 A.2多重線形写像(multi-linear map)及び難読化(Obfuscation)の最新動向に関する調査················ 43

付録 A.3

予測図の更新(素因数分解問題及び楕円曲線上の離散対数問題の困難性) ···························· 45

3.2

付録

軽量暗号ワーキンググループ································· 47
3.2.1

活動目的 ············································· 47

3.2.2

委員構成 ············································· 47

3.2.3

活動概要 ············································· 47

3.2.4

成果概要 ············································· 48······························································ 51

付録 1

電子政府における調達のために参照すべき暗号のリスト（CRYPTREC 暗号リスト）··································· 51

付録 2

CRYPTREC 暗号リスト掲載の暗号技術の問合せ先一覧

付録 3

楕円曲線上の離散対数問題に関する指数計算法

付録 4

多重線形写像に関する最新動向の調査····················· 101

付録 5

学会等での主要攻撃論文発表等一覧······················· 155ii·········· 57·············· 71

はじめに
本報告書は、総務省及び経済産業省が主催する暗号技術検討会の下に設置され運営されている暗号技術評価委員会の 2016 年度活動報告である。
暗号技術評価委員会は、国立研究開発法人情報通信研究機構及び独立行政法人情報処理推進機構が共同で運営している。暗号技術評価委員会の 2016 年度の活動として、
1)暗号技術の安全性及び実装に係る監視及び評価
2)暗号技術に関する注意喚起レポートの公表
3)新しい暗号技術に係る調査および評価を実施することを暗号技術検討会より承認を得て、活動を実施した。
主な活動として、1)については、ハッシュ関数 SHA-3 ファミリーの 1 つである SHAKE128 について、適切なパラメータを選択すれば、CRYPTREC 暗号リストへの追加に十分な安全性と実装性能を有していることを確認し、推奨候補暗号リストへの追加が適切であると暗号技術検討会に報告した。また、多くのユーザを持ついくつかのブラウザで利用が広まりつつある認証暗号 ChaCha20-Poly1305 について、秘匿を実現する ChaCha20 の安全性評価を行った。次年度さらに認証を実現する Poly1305 の安全性評価および認証暗号としての ChaCha20-Poly1305 の評価を継続する予定である。また、共通鍵暗号の安全性について調査を行い、MISTY1 の今後の利用について提示すべき推奨方針案について検討を行った。2)については、「ハッシュ関数
SHA-1 の衝突困難に初めて成功」 との発表を受け、SHA-1 の安全性低下が進んでいることから、
SHA-256 等のより安全なハッシュ関数への移行を推奨する注意喚起レポートを発行した。3）については、従来から活動してきた 2 つのワーキンググループ(以下、WG)を継続して設置し、暗号解析評価 WG では、楕円曲線上の離散対数問題、多重線形写像およびその関連技術に関して、安全性調査・評価を継続して行い、技術報告書としてまとめた。併せて、素因数分解問題の困難性および楕円曲線上の離散対数問題の困難性に関する計算量の評価に基づく予測図の更新を行った。軽量暗号 WG では、IoT 等において軽量暗号の活用が期待されることから、方式を選択・利用する際の技術的判断に資すること、今後の利用促進を図ることを目的として軽量暗号技術に関するガイドラインを日本語版・英語版ともに完成させ公開した。
2015 年 9 月に閣議決定されたわが国の「サイバーセキュリティ戦略」においても、暗号技
術はサイバーセキュリティのコア技術として国が維持すべき重要な技術と位置づけられ、暗号技術の担う役割の重要性が認識されている。
発足以来 16 年にわたる CRYPTREC の活動は、セキュアな ICT 社会の実現に貢献し、世界的にも通用する CRYPTREC ブランドの信頼の醸成につながっていると認識している。今後も社会の情勢を踏まえ、社会のニーズに対して、暗号技術の安全性という観点から必要とされる活動を展開していきたいと考えている。
暗号技術評価委員会の活動は暗号技術やその実装及び運用に携わる研究者及び技術者の献身的な協力により成り立っている。末筆ではあるが、本活動に様々な形でご協力頂いている関係者の皆様に深甚な謝意を表する次第である。
暗号技術評価委員会
1

委員長

太田 和夫

本報告書の利用にあたって
本報告書の想定読者は、一般的な情報セキュリティの基礎知識を有している方である。たとえば、電子政府において電子署名や GPKI システム等暗号関連の電子政府関連システムに関係する業務についている方などを想定している。しかしながら、個別テーマの調査報告等については、ある程度の暗号技術の知識を備えていることが望まれる。
本報告書の第 1 章は暗号技術評価委員会の活動概要についての説明である。第 2 章は暗号技術評価委員会における監視活動に関する報告である。第 3 章は暗号技術評価委員会の下で活動している暗号技術調査ワーキンググループの活動報告である。
本報告書の内容は、我が国最高水準の暗号専門家で構成される｢暗号技術評価委員会｣及びそのもとに設置された｢暗号技術調査ワーキンググループ｣において審議された結果であるが、暗号技術の特性から、その内容とりわけ安全性に関する事項は将来にわたって保証されたものではなく、今後とも継続して評価・監視活動を実施していくことが必要なものである。
本報告書ならびにこれまでに発行された CRYPTREC 報告書、技術報告書、CRYPTREC 暗号リ
スト記載の暗号技術の仕様書は、CRYPTREC 事務局（総務省、経済産業省、国立研究開発法
人情報通信研究機構、及び独立行政法人情報処理推進機構）が共同で運営する下記の Web サ
イトで参照することができる。
http://www.cryptrec.go.jp/
本報告書ならびに上記 Web サイトから入手した CRYPTREC 活動に関する情報の利用に起因して生じた不利益や問題について、本委員会及び事務局は一切責任をもっていない。
本報告書に対するご意見、お問い合わせは、CRYPTREC 事務局までご連絡いただけると幸いである。
【問合せ先】

info @ cryptrec.go.jp

2

委員会構成暗号技術評価委員会(以下、｢評価委員会｣という。)は、総務省と経済産業省が共同で主催
する暗号技術検討会の下に設置され、国立研究開発法人情報通信研究機構(以下、「NICT」という。)と独立行政法人情報処理推進機構(以下、「IPA」という。)が共同で運営する。評価委員会は、CRYPTREC 暗号リスト(付録 1)に掲載されている暗号技術や電子政府システム等で利用される暗号技術の安全性維持及び信頼性確保の観点から、それらの安全性及び実装に係る監視及び評価を行う等、主として技術的活動を担い､暗号技術検討会に助言を行う。
また、暗号技術の安全な利用方法に関する調査や新世代の暗号に関する調査も行う。
暗号技術調査ワーキンググループ(以下、｢調査 WG｣という。)は、評価委員会の下に設置され、NICT と IPA が共同で運営する。調査 WG は、評価委員会の指示のもと、評価委員会活動に必要な項目について調査・検討活動を担当する作業グループである。評価委員会の委員
長は、実施する調査・検討項目に適する主査及びメンバーを選出し、調査・検討活動を指示する。主査は、その調査・検討結果を評価委員会に報告する。2016 年度、評価委員会の指示に基づき実施される調査項目は、「暗号解析評価 WG」及び「軽量暗号 WG」にてそれぞれ検討される。
評価委員会と連携して活動する「暗号技術活用委員会」も、評価委員会と同様、暗号技術検討会の下に設置され、NICT と IPA が共同で運営している。

※ 今年度実施されている調査項目：
・ 多重線形写像、難読化及び離散対数問題の困難性に関する調査・ リソースの制限が厳しいデバイスにも実装可能な軽量暗号に関する調査

図 0.1：CRYPTREC 体制図

3

委員名簿
暗号技術評価委員会
委員長

太田 和夫

電気通信大学 教授

委員

岩田 哲

名古屋大学 准教授

委員

上原 哲太郎立命館大学 教授

委員

金子 敏信

東京理科大学 教授

委員

佐々木 良一東京電機大学 教授

委員

高木 剛

九州大学 教授委員

手塚 悟

慶應義塾大学 特任教授

委員

本間 尚文

東北大学 教授委員

松本 勉

横浜国立大学 教授

委員

松本 泰

セコム株式会社 ディビジョンマネージャー

委員

盛合 志帆

国立研究開発法人情報通信研究機構 研究室長

委員

山村 明弘

秋田大学 教授

委員

渡邊 創

国立研究開発法人産業技術総合研究所 企画主幹

暗号技術調査ワーキンググループ(暗号解析評価)
主査

高木 剛

九州大学 教授

委員青木 和麻呂日本電信電話株式会社 グループリーダ

委員

太田 和夫

電気通信大学 教授

委員

草川 恵太

日本電信電話株式会社 研究員

委員

國廣 昇

東京大学 准教授

委員

下山 武司

株式会社富士通研究所 主管研究員

委員

安田 雅哉

九州大学 准教授

暗号技術調査ワーキンググループ(軽量暗号)
主査

本間 尚文

東北大学 教授

委員青木 和麻呂日本電信電話株式会社 グループリーダ

委員

岩田 哲

名古屋大学 准教授

委員

小川 一人

日本放送協会 上級研究員

委員

小熊 寿

株式会社トヨタ IT 開発センター シニアリサーチャー

委員

﨑山 一男

電気通信大学 教授

委員

渋谷 香士

ソニー株式会社委員

鈴木 大輔

三菱電機株式会社 主席研究員

委員

成吉 雄一郎

ルネサスエレクトロニクス株式会社 主任技師

委員

峯松 一彦

日本電気株式会社 主任研究員

4

委員

三宅 秀享

株式会社東芝 研究主務

委員

渡辺 大

株式会社日立製作所 主任研究員

オブザーバー内田 稔

内閣官房内閣サイバーセキュリティセンター[2016 年 10 月から]

久保山 拓

内閣官房内閣サイバーセキュリティセンター

高木 浩光

内閣官房内閣サイバーセキュリティセンター

眞弓 隆浩

内閣官房内閣サイバーセキュリティセンター

森安 隆

内閣官房内閣サイバーセキュリティセンター[2016 年 9 月まで]

中山 慎一

警察庁 情報通信局

赤谷 俊彦

総務省 行政管理局[2016 年 8 月まで]

廣田 亮

総務省 行政管理局

内海 隆明

総務省 自治行政局 住民制度課

筒井 邦弘

総務省 情報流通行政局[2016 年 6 月まで]

上東 孝旭

総務省 情報流通行政局[2016 年 7 月から]

丸橋 弘人

総務省 情報流通行政局

今野 孝紀

総務省 情報流通行政局

佐久間 明彦外務省 大臣官房

加藤 誠司

経済産業省 産業技術環境局

希代 浩正

経済産業省 商務情報政策局[2016 年 6 月まで]

中野 辰実

経済産業省 商務情報政策局[2016 年 6 月まで]

中村 博美

経済産業省 商務情報政策局[2016 年 6 月まで]

森川 淳

経済産業省 商務情報政策局[2016 年 7 月から]

松本 裕悟

防衛省 整備計画局

多賀 文吾

警察大学校

滝澤 修

国立研究開発法人情報通信研究機構

花岡 悟一郎

国立研究開発法人産業技術総合研究所

事務局
国立研究開発法人情報通信研究機構 （宮崎哲弥、能見正、盛合志帆、大久保美也子、
篠原直行、黒川貴司、金森祥子、野島良、吉田真紀、笠井祥、大川晋司）
独立行政法人情報処理推進機構 (江口純一、時田俊雄、小暮淳、神田雅透、稲垣詔喬、
兼城麻子)

5

6

第１章

活動の目的

1.1 電子政府システムの安全性確保
電子政府、電子自治体及び重要インフラにおける情報セキュリティ対策は根幹において暗号アルゴリズムの安全性に依存している。情報セキュリティ確保のためにはネットワー
クセキュリティ、通信プロトコルの安全性、機械装置の物理的な安全性、セキュリティポリ
シー構築、個人認証システムの脆弱性、運用管理方法の不備を利用するソーシャルエンジニ
アリングへの対応と幅広く対処する必要があるが、暗号技術は情報システム及び情報通信
ネットワークにおける基盤技術であり、暗号アルゴリズムの安全性を確立することなしに
情報セキュリティ対策は成り立たない。現在、様々な暗号技術が開発され、それを組み込んだ多くの製品・ソフトウェアが市場に提供されているが、暗号技術を電子政府システム等で利用していくためには、暗号技術の適正な評価が行われ、その情報が容易に入手できることが極めて重要となる。
CRYPTREC では、「電子政府における調達のために参照すべき暗号のリスト(CRYPTREC 暗号リスト)」1 等に記載された暗号アルゴリズムを対象とする調査・検討を行う活動を行ってきた。たとえば、2005 年度に実施されたハッシュ関数の安全性評価に基づき、2006 年 6 月に SHA-1 の安全性に関する見解を、2006 年度に実施された素因数分解問題の困難性に関する評価に基づき、RSA1024 の安全性の評価結果をそれぞれ公表した。これらの見解に基づき、情報セキュリティ政策会議において「政府機関の情報システムにおいて使用される暗号ア
ルゴリズム SHA-1 及び RSA1024 に係る移行指針」2 が 2008 年度に決定されるに至った。また、CRYPTREC 暗号リスト策定中に実施した安全性評価において、128-bit key RC4 の脆弱性を利用した攻撃が現実的になる場合が指摘されたことから、128-bit key RC4 は SHA-1 とともに CRYPTREC 暗号リストの運用監視暗号リストに記載されることになった。現在、暗号技術評価委員会では、暗号技術に関する安全性について重要な指摘があった場合、CRYPTREC の
Web サイト上に注意喚起レポートを掲載する活動を実施している。たとえば、最近では、2017
年 2 月には SHA-1 の衝突が初めて計算されたことから、「SHA-1 の安全性低下について」3をWeb 掲載した。
暗号技術に対する解析・攻撃技術の高度化が日夜進展している状況にあることから、今後
とも、CRYPTREC によって発信される情報を踏まえて、関係各機関が連携して情報システム
及び情報通信ネットワークをより安全なものにしていくための取り組みを実施していくことが非常に重要である。また、過去 16 年間に渡って実施してきた暗号技術の安全性及び信頼性確保のための活動は、最新の暗号研究に関する情報収集・分析に基づいており、引き続き、暗号技術に係る研究者等の多くの関係者の協力が必要不可欠である。
1

http://www.cryptrec.go.jp/images/cryptrec_ciphers_list_2016.pdf
http://www.nisc.go.jp/active/general/pdf/crypto_pl.pdf (2008 年 4 月 22 日決定情報セキュリティ
政策会議決定)3
http://www.cryptrec.go.jp/topics/cryptrec_20170301_sha1_cryptanalysis.html
27

1.2 暗号技術評価委員会
電子政府システムにおいて利用可能な暗号アルゴリズムを評価・選択する活動が2000年
度から2002年度まで暗号技術評価委員会において実施された。その結論を考慮して電子政府推奨暗号リスト4が総務省・経済産業省において決定された。
電子政府システムの安全性を確保するためには電子政府推奨暗号リストに掲載されている暗号の安全性を常に把握し、安全性を脅かす事態を予見することが重要課題となった。
そのため、2007年度に電子政府推奨暗号の安全性に関する継続的な評価、電子政府推奨暗号リストの改訂に関する調査・検討を行うことが重要であるとの認識の下に、暗号技術評価委員会が発展的に改組され、暗号技術検討会の下に暗号技術監視委員会が設置された。設置の目的は、電子政府推奨暗号の安全性を把握し、もし電子政府推奨暗号の安全性に問題点を有する疑いが生じた場合には緊急性に応じて必要な対応を行うこと、また、電子政府推奨暗号の監視活動のほかに、暗号理論の最新の研究動向を把握し、電子政府推奨暗号リストの改訂に技術面から支援を行うことである。
2008 年度において、暗号技術監視委員会では、「電子政府推奨暗号リストの改訂に関する骨子（案）」及び「電子政府推奨暗号リスト改訂のための暗号技術公募要項（2009 年度）（案）」を策定したが、2009 年度からは次期リスト策定のために新しい体制に移行し、名称を「暗号方式委員会」と変更した。電子政府推奨暗号リスト改訂のための暗号技術公募(2009 年度)を受けて、2010 年度からは応募された暗号技術などの安全性評価を開始し、2012 年に「電子政府における調達のために参照すべき暗号のリスト（CRYPTREC 暗号リスト）」5(付録 1)を策定した。その概要については、CRYPTREC Report 2012 を参照のこと。
2013 年度からは、名称を「暗号方式委員会」から「暗号技術評価委員会」と変更し、暗号技術の安全性に係る監視・評価及び実装に係る技術(暗号モジュールに対する攻撃とその対策も含む)の監視・評価を実施することになった。引き続き、暗号技術評価委員会では、その下に暗号技術調査ワーキンググループを設置し、暗号技術に関する具体的な検討を行っている。2013 年度以降は、暗号技術調査ワーキンググループ（暗号解析評価）及び暗号技
術調査ワーキンググループ（軽量暗号）の 2 つのワーキンググループが設置されている。詳細については、第 3 章を参照こと。

1.3 CRYPTREC 暗号リスト
2000年度から2002年度のCRYPTRECプロジェクトの集大成として、暗号技術評価委員会で作成された「電子政府推奨暗号リスト（案）」は、2002年度に暗号技術検討会に提出され、同検討会での審議ならびに（総務省・経済産業省による）パブリックコメント募集を経て、「電子政府推奨暗号リスト」として決定された。そして、「各府省の情報システム調達における暗号の利用方針（平成15年2月28日、行政情報システム関係課長連絡会議了承）」におい

4
5

http://www.cryptrec.go.jp/list_2003.html
http://www.cryptrec.go.jp/list.html

8

て、可能な限り、「電子政府推奨暗号リスト」に掲載された暗号の利用を推進するものとされた。
電子政府推奨暗号リストの技術的な裏付けについては、CRYPTREC Report 2002 暗号技術
評価報告書（平成14年度版）に詳しく記載されている。CRYPTREC Report 2002 暗号技術評
価報告書（平成14年度版）は、次のURLから入手できる。
http://www.cryptrec.go.jp/report.html
2009 年度には、2008 年度に検討した「電子政府推奨暗号リスト改訂のための暗号技術公募要項（2009 年度）」に基づき、電子政府推奨暗号リスト改訂のための暗号技術公募が行われた。2010 年度から 2012 年度にかけて、暗号方式委員会、暗号実装委員会及び暗号運用委
員会にて評価が行われ、2012 年度に暗号技術検討会にて電子政府推奨暗号リストの改定が行われた。最終的に、総務省及び経済産業省がパブリックコメント6を行い、「電子政府における調達のために参照すべき暗号のリスト（CRYPTREC 暗号リスト）」が決定された。
選定方法及びその結果については、CRYPTREC Report 2012(暗号技術評価委員会報告)に記載されている。

1.4 活動の方針
暗号技術評価委員会では、主に、暗号技術の安全性評価を中心とした技術的な検討、すな
わち、(a) 暗号技術の安全性及び実装に係る監視及び評価(b) 新世代暗号に係る調査(軽量暗号、セキュリティパラメータ、ペアリング暗号、耐量子計算機暗号技術等)(c) 暗号技術の安全な利用方法に関する調査(暗号技術ガイドラインの整備、学術的な安全性の調査・公表等)を実施する。
監視に関する基本的な考え方は、CRYPTREC Report 2012 までに記載されていた電子政府
推奨暗号リスト7掲載の暗号技術に対する考え方8と基本的に同じである。つまり、暗号技術の安全性及び実装に係る監視及び評価とは、研究集会、国際会議、研究論文誌、インターネ
ット上の情報等を監視すること（情報収集）、CRYPTREC 暗号リストに掲載されている暗号技術の安全性に関する情報を分析し、それを暗号技術評価委員会に報告すること（情報分析）、安全性等において問題が認められた場合、暗号技術評価委員会において内容を審議し、評価結果を決定すること（審議及び決定）、の 3 つの段階からなる。また、仕様書の参照先の変更を検討する際にも、監視に関する基本的な考え方を参考にしている。図 1.1 に電子政府推奨暗号の削除等の手順を示す。

6

http://www.cryptrec.go.jp/topics/cryptrec_201212_listpc.html
2003 年 2 月 20 日に策定されたものを指す。
8
たとえば、暗号技術検討会 2008 年度報告書を参照のこと。
http://www.cryptrec.go.jp/report/c08_kentou_final.pdf
79図1.1: 電子政府推奨暗号の削除等の手順9(1) 実運用環境において安全性に問題が認められた電子政府推奨暗号は原則としてリス
トから削除する。
(2) 電子政府推奨暗号の仕様変更は認めない。
(3) 電子政府推奨暗号の仕様変更に到らないパラメータの修正等の簡易な修正を行うことにより当該暗号の安全性が維持される場合には、修正情報を周知して当該暗号をリストに残す。

9

表中の「暗号方式委員会」は適宜、暗号技術評価委員会と読み替える。

10

第２章

委員会の活動2.1. 監視活動報告
電子政府推奨暗号の安全性評価について 2016 年度の報告時点では収集した全ての情報が引き続き「情報収集」、「情報分析」フェーズに留まり、「審議及び決定」には至らず、電子政府推奨暗号の安全性に懸念を持たせるような事態は生じていないと判断した。以降、収集、分析した主たる情報について報告する。

2.1.1. 共通鍵暗号に関する安全性評価について
CRYPTREC 暗号リスト掲載のブロック暗号について、Crypto 2016 において 64 ビットブロ
ック暗号 MISTY1 に対する解析結果が発表された。これは藤堂が Crypto 2015 で発表した
MISTY1 の Integral Analysis に Division Property を導入する攻撃法を改良したもので解
読計算量は約 270 にまで下がっているが、解読に必要なデータ量は 264 であり、まだ現実的な 脅 威 に は至 っ て いな い と 考え ら れ る。 本 結果は 、 国 際 暗号 学 会 （ International
Association for Cryptologic Research (IACR)）のアーカイブサイト IACR ePrint Archive
にて事前に公開されており、CRYPTREC はホームページにて解読に必要なデータ量・計算量の表および「解読に必要なデータ量が膨大であることから現実的な脅威ではないと考えられる」という見解を公表済である。ただし、Division Property を利用した攻撃研究は進展中であり、MISTY1 以外の他のブロック暗号への適用など、今後の動向が注目される。
CRYPTREC 暗号リスト掲載のストリーム暗号について、安全性については特に大きな変更はなかった。なお、KCipher-2 について CRYPTREC ホームページにて公開している仕様書に軽微な誤記が見つかったが、安全性評価等に影響するものではないことを確認し、仕様書の修正のみ行われた。

2.1.2. 公開鍵暗号に関する安全性評価について
公開鍵暗号の安全性の根拠とする数学的問題に関しては、離散対数問題(DLP: Discrete
Logarithm Problem)の解読法に引き続き進展があり、また、楕円曲線 Diffie-Hellman(ECDH:
Elliptic Curve Diffie-Hellman)問題に関しては、新たな知見が得られた。
DLP に関しては、Eurocrypt 2016 / Asiacrypt 2016 における Sarkar、Singh の攻撃、Crypto
2016 における Kim、Barbulescu の攻撃、PKC 2017 における Kim、Jeong の攻撃において、計算量削減・高速化の進展が見られたが、電子政府推奨暗号のパラメータは攻撃の適用条
件に当てはまらない。
ECDH に関しては、PKC 2017 において Shani が、素体上で定義された楕円曲線の ECDH 鍵
交換プロトコルのビットセキュリティに関する結果を初めて示した。それによると、Diffie-Hellman 鍵の x 座標の最上位ビットの約 5/6 を計算することは、鍵全体を計算する

11

ことと同じくらい困難である。また最下位ビットの約 5/6 についても同様の結果が成り立つ。更に拡大体上の楕円曲線の場合には、Diffie-Hellman 鍵の x 座標または y 座標の 1 成分を計算することは、鍵全体を計算することと同じくらい困難である。

2.1.3. ハッシュ関数に関する安全性評価について
CRYPTREC 暗 号 リ ス ト 掲 載 の ハ ッ シ ュ 関 数 SHA-1 に 対 し 攻 撃 の 進 展 が 見 ら れ た 。
Eurocrypt2016 において、Stevens, Karpman, Peyrin らは SHA-1 に対し、Free-Start 衝突
攻撃の条件ではあるものの、SHA-1 のフルラウンド（全 80 ステップ中 80 ステップ）に対し、
初 め て 衝 突発 見 に 成功 し た と発 表 し た。 本 結果は 、 国 際 暗号 学 会 （ International
Association for Cryptologic Research (IACR)）のアーカイブサイト IACR ePrint Archive
にて事前に公開されており、CRYPTREC はホームページにて、従前通り SHA-1 に関する移行対策を実施して頂きたい旨の見解を公表済である。
また、2017 年 2 月 23 日に、CWI Amsterdam と Google Research の共同研究チームが、ハッシュ関数 SHA-1 の衝突発見に初めて成功したと Web ページ(https://shattered.io/)上で発表された。この発表では、全数探索の計算量(280)よりも 10 万倍速い 263.1 回の SHA-1 の計算量で衝突を発見したと報告されている。本発表の内容はまだ著名な国際学会等で発表はされてはいないが、実際にハッシュ関数が同じ異なる PDF ファイルの例も公開された。
CRYPTREC では平成 29 年 3 月 1 日付でホームページにて、SHA-1 の安全性低下が進んでいることから、SHA-256 等の「電子政府推奨暗号リスト」または「推奨候補暗号リスト」に掲載されている、安全性が確認されたハッシュ関数への移行を推奨する旨の見解を公開済である。
CRYPTREC 暗号リスト掲載の SHA-1 以外のその他のハッシュ関数の安全性については特に大きな変更はなかった。

2.1.4. KCipher-2 の仕様書の誤記について
2016 月 12 月に IPA の JCMVP から、KCipher-2 の仕様書(以下、旧仕様書という)において、シフトレジスタの定義式と図の間に不整合があるという報告が CRYPTREC 事務局宛てにあった。2017 年 1 月に CRYPTREC 事務局から応募者の KDDI に問い合わせたところ、その指摘通り、シフトレジスタの定義式に誤植があり、定義式を図と整合するものに修正した仕様書(以下、新仕様書という)に差し替えをしたいとの回答があった。
① 暗号技術評価委員会における対応
旧仕様書におけるシフトレジスタの定義式を修正することは、編集上は軽微と判断できるが、誤植を修正したことで、旧仕様書に対して行った安全性評価の結果に影響が及ばないか懸念される。定義式に基づいた評価を行ったか、図に基づいた評価を行ったかの確認が必要であった。

12

② 審議結果
暗号技術評価委員会では、旧仕様書に基づく安全性評価を依頼した評価者らにどちらに基づいて評価を行ったのかを確認し、回答がともに図に基づいた評価であったので、旧仕様書から新仕様書への差し替えを認める判断を行った。また、2017 年 3 月に開催された第１回暗号技術検討会においても旧仕様書から新仕様書への差し替えが了承された。
なお、新仕様書については、CRYPTREC 暗号の仕様書の Web ページ1を参照のこと。

2.1.5. 仕様書の参照先の変更について
表 2.1 の通り、SHA-2、CMAC および DH/ECDH に関する NIST が管理している仕様書に変更があったため、新旧仕様書の差分を調査した。
調査の結果、表 2.2 の通り、変更が軽微であったので、新しい仕様書へ参照先の変更を認めることとなった。
表 2.1：NIST の新旧仕様書
暗

旧仕様書

新仕様書

SHA

FIPS PUB 180-4 March 2012

FIPS PUB 180-4 August 2015-2

http://csrc.nist.gov/publications/

http://nvlpubs.nist.gov/nistpubs/

fips/fips180-4/fips-180-4.pdf

FIPS/NIST.FIPS.180-4.pdf

CMA

Recommendation for Block Cipher Modes

Recommendation for Block Cipher ModesCof Operation: The CMAC Mode forof Operation: The CMAC Mode for

Authentication (May 2005)

Authentication (Updated Oct. 2016)

http://nvlpubs.nist.gov/nistpubs/Lega

http://nvlpubs.nist.gov/nistpubs/Spe

cy/SP/nistspecialpublication800-38b.p

cialPublications/NIST.SP.800-38b.pdf

号
技
術
名

df
DH/

NIST SP 800-56A Revision 1 (March 2007)

NIST SP 800-56A Revision 2 (May 2013)

http://csrc.nist.gov/publications/nis

http://nvlpubs.nist.gov/nistpubs/Spe

tpubs/800-56A/SP800-56A_Revision1_Mar

cialPublications/NIST.SP.800-56Ar2.p

08-2007.pdf

df

ECD
H

1

http://www.cryptrec.go.jp/method.html

13

表 2.2：判定結果とその理由
アルゴリズム判定結果

理由

SHA-2/CMAC

仕様書の参照先のアルゴリズムに変更なし。

変更を認める。
DH/ECDH

仕様書の参照先の補助関数(ハッシュ関数、KDF、及び、擬似乱数生

変更を認める。

成系、素数生成や楕円曲線生成等の基本的なアルゴリズム)を除いた、当該アルゴリズムを実装するための必要最小限の範囲において、パラメータ修
正等の簡易な修正である。

＜調査結果の概要＞
ドメインパラメータ及び公開鍵に関する妥当性の確認や秘密鍵が Ephemeral かまたは
Static であるという条件に関する仕様を除く、(DH 及び ECDH の)ドメインパラメータの生成に関する仕様及び(DH 及び ECDH の)Diffie-Hellman プリミティブに関する仕様の 2 箇所について、変更が軽微かどうかの確認を行った。
①有限体上の群に関するドメインパラメータ生成
p のサイズが 1024 ビットか 2048 ビットに限定されたこと、及び、p および q の左端のビットが 1 であることの 2 つの条件が追加された。また、q の選択に関する記述が、[1,q-1]の間の整数の範囲からランダムに選択するという記述に修正された。
これら以外は、FIPS 186 に基づいてドメインパラメータが生成されることに変更はない。
③ 有限体上の群に関する Diffie-Hellman プリミティブ
計算途中で生じた値すべてを破壊する(ゼロ化する)ことが明示されたこと以外に変更はない。
③楕円曲線に関するドメインパラメータ生成
d の選択に関する記述が、[1,n-1]の間の整数の範囲からランダムに選択するという記述に修正された。
これ以外は、ANS X9.62 に基づいてドメインパラメータを生成するか、または、FIPS 186
で指定された推奨楕円曲線を選択することに変更はない。
④楕円曲線に関する Diffie-Hellman プリミティブ
計算途中で生じた値すべてを破壊する(ゼロ化する)ことが明示されたこと以外に変更はない。

14

2.1.6. 共通鍵暗号の安全性調査と MISTY1 について2015 年度に共通鍵暗号 MISTY1 のフルラウンドへの攻撃が発表されたことを受け、現在、
CRYPTREC では共通鍵暗号の将来の安全性の判断基準について指針を有していないこと、また、共通鍵暗号の専門家が学術論文等で記載している解読計算量の表現は非専門家にとっては分かりづらいという指摘があったことなどから、今年度、暗号技術評価委員会にて、外部の共通鍵暗号の専門家グループに下記の調査を依頼した。
＜調査内容＞①

現在使われている代表的な共通鍵暗号に対する攻撃法の発展（暗号解読に必要な計算量・データ量・メモリ量等の低下）の調査②

解読手法の進展や計算機能力の向上を勘案した共通鍵暗号の今後の危殆化に関する考察＜調査結果＞①

AES, Camellia, MISTY1 に対する各攻撃法の発展
図2.1〜図2.3 にAES, Camellia, MISTY1のこれまでの安全性評価結果を攻撃技術進化マップとして示す。横軸は攻撃の発表年、縦軸はフルラウンドに対する攻撃成功段数を示し、攻撃成功段数/フル段数の割合で表している。100% はフル段数の攻撃を意味する。また、攻撃進化を鍵長ごとに示しており、赤，青，緑がそれぞれ128, 192, 256 ビット鍵を示す。
また、攻撃ごとに色分けをしており、ピンク色がIntegral 攻撃、青色が不能差分攻撃、黄色が中間一致攻撃、白色が無相関線形攻撃、灰色が切詰差分攻撃である。

15

図2.1

図 2.2

AESの攻撃技術進化マップ

Camellia の攻撃技術進化マップ

16

図
②

の攻撃技術進化マップ

解読手法の進展や計算機能力の向上を勘案した共通鍵暗号の今後の危殆化に関する考察■公開鍵暗号と共通鍵暗号の安全性評価手法の違いについて（外部の共通鍵暗号の専門家グループによる調査報告書より抜粋）「公開鍵暗号に対する解析は主に漸近的な解析手法であり、特定パラメータに特化した解析手法は盛んに行われていない。これは多くの公開鍵暗号はパラメータを大きくする

ことで安全性を維持できることが多く特定パラメータ特化型な解析手法を研究する動機が削がれること、攻撃性能が実装依存に依るため計算量の単位が定かではなく、特定パラメータ特化型な解析手法を用いたとしても厳密な計算量見積もりが困難なこと、漸近的な評価は暗号理論の外側にある計算機科学や数学の分野でも広く議論されるため、学術的確度の高い評価と言えること、などが要因として考えられる。すなわち攻撃が実行可能な小さなパラメータに対して解読可能かを評価し、これを基に大きなパラメータがどの程度の安全性を有するかを予測する。」「共通鍵暗号に対する解析は主に特定のパラメータに特化した解析手法であり、漸近的な解析手法は行われていない。これは共通鍵暗号の鍵長はそもそも固定のため漸近的な解析手法が議論できないことに起因する。共通鍵暗号は漸近的な評価が出来ない代わりに、実利用のパラメータに対して厳密に安全性を評価する手法が発展している。
例えば共通鍵暗号の一回暗号化に要する計算時間を計算量の単位とするというが確立している。」■共通鍵暗号の危殆化予測に関して（外部の共通鍵暗号の専門家グループによる調査報
告書より抜粋）「学術的な世界においては、設計者が設定した

セキュリティが破られた場合には、暗号の安全性は破られたとみなされる。例えば、128 ビット鍵の場合、全数探索(2128)と比べて鍵の導出に必要な計算量が半分になった場合(2127) でも、理論上は破られたとみなされる。共通鍵暗号における claimed セキュリティは鍵の全数探索を基準としている
ため、理論上破られたことと、現実的に問題があるレベルにはかい離はあり、理論上の解読が必ずしも現実社会での解読と一致しない。また、鍵の回復に対する計算量を安全性の基準にしているため、全数探索と比較して計算量は少ないが、非常に多くのデータ量が求められる場合も数多く存在する。この場合、実際の攻撃を行うには効率的に攻撃に必要なデータを集める必要があり、ここが実際の攻撃の際にボトルネックとなる場合も考えられる。
しかしながら、理論的な攻撃（claimed セキュリティが破られた場合）と実際的な影響との差を定量的に図ることは不可能である。最悪のケースとしては、理論的に破られたあとにすぐに現実的な攻撃に繋がる可能性もある。例えば、MD5 は2004 年にcollision 攻撃が発表され、そのすぐ2007 年にStevens らによるX.509証明書の偽造攻撃[69] やSasaki らとLeurent らより電子メールのクライアント認証プロトコルであるAPOP への攻撃[49, 67] が提案されている。 ＜SHA-1、RC4の例中略＞ そのため、共通鍵暗号の世界ではClaimedセキュリティを基準としており、」これが破られた場合、設計者の意図しない脆弱性がはらんでいることから弱い暗号とみなされる。こうなった場合は、学術的な関心は少なくなり、一流の研究者からの解析が行われないため、それ以降の安全性の低下については不明となる。実際，2012 年に中東、イランをターゲットにしたマルウェアFlameには、学術レベルでは未知のMD5 のchosen-prefix collision attack が証明書の偽造に用いられていた[33]。以上の点から、claimed セキュリティが破られた暗号に対しては、新規採用をやめることが望まれる。またアルゴリズム移行には約10 年必要とされていることからも、実際の攻撃に結びつく前にClaimed セキュリティが破られた暗号については移行を検討するべきである。」■結論（外部の共通鍵暗号の専門家グループによる調査報告書より抜粋）「上述した通り、暗号学会ではclaimed セキュリティが破られた暗号方式を移行検討の対象とすることで共通鍵暗号の安全性維持に努めている。実際、学術的には攻撃アルゴリズ
ムの進化を予測することは非科学的なため事実上不可能であり、対外的に発表されないア
ンダーグラウンドな改良の存在も無視できない。仮に継続利用を判断する場合、未発表で改良されている可能性も考慮した上で現在の最良解析手法におけるデータ量・メモリ量・計算量にとらわれることなく慎重な検討が期待される。
学術的にはclaimed セキュリティが破られたか否かという厳格な判定基準を設けている以上、継続利用の判断は各利用シー
ンごとに高度な政治的・経営的判断により行われるべきである。」

18

＜MISTY1 の攻撃に必要な暗号文データを攻撃者が取得するのに必要な時間（事務局検討）＞
現在知られているMISTY1のフルラウンド攻撃には264ブロック分の平文・暗号文ペアが必要である。264ブロックの暗号文データを攻撃者が通信路から入手すると想定した場合に、データ取得に必要な時間をCRYPTREC事務局で調査した（図2.4参照）。IoTデバイス等で暗号化したデータを低速な通信路で伝送する場合から、高速サーバで暗号化したデータを超高速回線で伝送する場合までさまざまなケースがある。 低速回線の例として、交通系等で利用されているICカード規格FeliCa（通信速度： 212kbps）の場合、暗号文データの収集に
約3.5億年、超高速回線の例では、メモリ規格HBM(High Bandwidth Memory)2（メモリ帯域：
8Tbps）の場合、暗号文データの収集に約9.4年かかる試算になる。
＜暗号技術評価委員会での審議＞
2015年度に出したMISTY1の安全性に関する速報では、「この攻撃は、解読に必要なデー
タ量が膨大であることから、現実的な脅威ではないと考えられます。CRYPTREC では、MISTY1の安全性に関して引き続き調査を行い、CRYPTREC Webサイトにて報告する予定です。」としている。今年度の調査・検討をふまえて、MISTY1に関して今後どのようなアクションをとるのがよいか、下記の4つの案を例示して審議を行った。
（例）
1.

MISTY1の解読に必要なデータ量が膨大であることから、現在の見解を維持する。

2.

MISTY1の新規採用は控えるよう、例えばCRYPTREC暗号リストに脚注を加える。（但し現在、64ビットブロック暗号全体に「より長いブロック長の暗号が利用できるのであれば、128ビットブロック暗号を選択することが望ましい。」の脚注あり）

3.

利用形態によりMISTY1からの移行を推奨する。（利用時の注意点を示す）

4.

MISTY1からの移行を推奨する。（MISTY1を「推奨候補暗号リスト」から「運用監視暗号リスト」に移す）

審議の結果、1 と 4 はない、2 または 3 を具体的にどうするかについて議論がなされ、·今回の外部専門家からの意見等をふまえ、CRYPTRECとして、現在の見解を維持するのではなく、何らかのアクションを検討した方がよいのではないか。例えば、64ビット
ブロック暗号全体に推奨される安全な利用方法であり、現在報告されているMISTY1に対する攻撃を回避できる方法として、232 ブロックごとに鍵を変更するなどの利用方法を示す。

·

MISTY1の利用状況（どこでどう使われているか）の調査を検討してはどうか。すでに利用されている暗号技術に対してCRYPTRECが何かアクションを起こす場合、ユーザにとってどのようなインパクトがあるかを把握しておくことが重要である。
などの意見が出た。

19

注意喚起レポートの発行
暗号アルゴリズムの脆弱性に関する情報発信
暗号アルゴリズムの脆弱性に関するーチャート 図からの情報発信について、下記に示すフロに基づいて取り扱うことが年度の暗号技術検討会にて承認されている。

図

暗号アルゴリズムの脆弱性に関する情報発信フロー

情報発信フローの概要（１）

暗号アルゴリズムの脆弱性情報を検知した後、において参照している仕様に対する攻撃成功に関する情報か、もしくは攻撃成功までは到達していないが攻撃に必要となる計算量の著しい低下につながる結果であるか否かについて判断をし、以下のいずれに属する情報であるかを分類する。
暗号アルゴリズムの完全な危殆化による緊急対応
正確で信頼性の高い情報を発信することによる過剰反応防止
長期的なシステムの安全性維持のための対策喚起
対応不要
（２）

上記の分類のうち、もしくはに分類される脆弱性情報については、速報を公開し、また、安全性評価を実施し、その評価結果を公開する。

に分類される脆弱性

情報については、必要に応じて C)に分類された情報であることの公表や安全性評価を実施する。ここで、速報とは、外部で公開されている情報に基づき記載するもので、
CRYPTREC では自ら詳細評価は行っていないが、信頼に足る機関・組織等から得た情報に基づくものとする。また、安全性評価報告とは、CRYPTREC として安全性評価を実施
しその評価結果をまとめたものとする。
（３）

取り扱う暗号アルゴリズムの範囲は、CRYPTREC 暗号リストに掲載されている暗号技術、および CRYPTREC 暗号リストに掲載されていないが、影響度が高いと暗号技術評
価委員会で認められた暗号技術を対象とする。
（４）

速報および安全性評価結果は暗号技術評価委員会の審議に基づき公開される。また、これら脆弱性情報は、暗号技術評価委員会から暗号技術検討会に報告される。

2.2.2. SHA-1 の安全性低下について
2017 年 2 月 23 日に、CWI(オランダ)、Google(USA)の共同研究チームは、Web サイト2に論文3を公開し、ハッシュ関数 SHA-1 の衝突発見に初めて成功したと発表した。このため、
CRYPTREC の Web ページに注意喚起の意味で「SHA-1 の安全性低下について」(平成 29 年 3
月 1 日)4を公表した。

2.3. 推奨候補暗号リストへの新規暗号の追加
2.3.1. SHAKE128
2015 年度の審議により、ハッシュ関数 SHA-2、SHA-3 が CRYPTREC 暗号リストへ追加されたが、ハッシュ関数 SHA-3 ファミリーの 1 つである SHAKE128 は現在含まれていない。
SHAKE128 について、これまでの安全性評価と実装性能評価の結果の通り、出力長を 256 ビ
ット以上とすれば、CRYPTREC 暗号リストへ追加するのに十分な安全性および実装性能を有していることが暗号技術評価委員会での審議の結果、承認された。また、SHAKE128 の
CRYPTREC 暗号リストの推奨候補暗号リストへの追加が 2017 年 3 月に開催された第１回暗号技術検討会にて承認された。
なお、SHAKE128 のリスト追加時には、現在の SHAKE256 に対する脚注と同じ「ハッシュ長は 256 ビット以上とすること」という脚注をつける。
① 安全性評価
SHAKE128 を含む SHA-3 について、下記有識者に外部評価を依頼し、安全性に十分なマージンがあり、現実的な脅威の観点から大きな問題点は見つかっていないという評価結果を得ている。
2

https://shattered.io/
https://shattered.io/static/shattered.pdf
4
http://www.cryptrec.go.jp/topics/cryptrec_20170301_sha1_cryptanalysis.html
321

➢ Donghoon Chang 氏 (Indraprastha Institute of Information Technology Delhi, India)
2014 年度 技術報告書 「Security Evaluation Report on SHA-224, SHA-512/224,
SHA-512/256, and the six SHA-3 Functions」5➢ Itai Dinur 氏 (École Normale Supérieure, France)
2014 年度 技術報告書 「Security Evaluation of SHA-3」6② 実装評価SHAKE128 を含む SHA-3 について、下記有識者に外部評価を依頼し、ソフトウェア実装、
ハードウェア実装ともに十分な実装性能を有するという評価結果を得ている。
➢ これまでに行われてきた実装性能評価に関する研究結果のサーベイ
﨑山 一男 教授 （電気通信大学）
2013 年度 技術報告書「ハッシュ関数 SHA-224, SHA-512/224, SHA-512/256 及び SHA-3(Keccak) に関する実装評価」7➢ FPGA 上での性能評価
佐藤 証 教授 （電気通信大学）
2013 年度 第三回暗号技術評価委員会 資料 2-3 「ハッシュ関数のハードウェア実装およびその性能測定」

2.4. ChaCha20-Poly1305 の CRYPTREC 暗号リストへの追加を視野に入れた評価について
ChaCha20-Poly1305 は、ユーザ数の多いブラウザに採用されるなど、実導入が進んでいる
アルゴリズムである。第 1 回暗号技術評価委員会(2016 年 7 月 27 日)および、2015 年度第 3回重点課題検討タスクフォース(2016 年 2 月 3 日)で、その安全性評価に対する要望が複数あったことから、暗号技術評価委員会にて安全性評価を行った。詳しくは、「Security
Analysis of ChaCha2-Poly1305 AEAD」8を参照のこと。
① 評価結果（評価者の見解）
A)

認証暗号 ChaCha20-Poly1305 に対する安全性評価を行った。ChaCha20-Poly1305 は、暗号化のためにストリーム暗号 ChaCha20 が使われ、認証のためにメッセージ認証コード(MAC) Poly1305 が使われている。認証暗号としての安全性に関しては、ChaCha20
が擬似乱数生成器と見なすことができ、かつ、Poly1305 が安全なユニバーサルハッシ
ュ関数であれば、ChaCha20-Poly1305 は、認証暗号としての安全性を満たすことが証明されている[Pro14]。

5

http://www.cryptrec.go.jp/estimation/techrep_id2403_2.pdf
http://www.cryptrec.go.jp/estimation/techrep_id2402.pdf
7
http://www.cryptrec.go.jp/estimation/techrep_id2301.pdf
8
http://www.cryptrec.go.jp/estimation/cryptrec-ex-2601-2016.pdf
6

22

B)

Poly1305 については、ε-almost-Δ-universal であることが証明でき、安全なユニ
バーサルハッシュ関数であることが示されている[Ber05b]。

C)

特に ChaCha20 の安全性に注力し、ストリーム暗号に対して提案されている各種攻撃に対する評価を実施した。タイムメモリデータトレードオフ攻撃に対しては、現実的な設定の下では攻撃に要する計算量が膨大になるといえる。サイドチャネル攻撃に対しては、既存の対策手法により防ぐことが可能である。その他の既知の攻撃に対しては、鍵の総当たりよりも効率的なものは見つかっていない。以上から、ChaCha20 については、擬似乱数生成器と見なすことができると考えられる。

D)

以上の結果から、認証暗号 ChaCha20-Poly1305 に対する攻撃は発見されていないと結論付ける。

(参考文献)[Pro14] Gordon Procter. A Security Analysis of the Composition of ChaCha20 and
Poly1305,

Cryptology

ePrintArchive:

Report2014/613,

2014.

(https://eprint.iacr.org/2014/613).
[Ber05b] Daniel Julius Bernstein. The Poly1305-AES Message Authentication Code, FSE
2005, LNCS, volume 3557, pages 32–49, 2005.
② 暗号技術評価委員会での審議結果
評価者からのレポートを踏まえ、現時点では ChaCha20-Poly1305 は、認証暗号として、
具体的な脅威は見つかっていないと考えられる。
③ 暗号技術検討会での審議結果
2009 年にリスト改定に伴う公募を行った際は、応募暗号アルゴリズムが評価対象となるための必要条件として、査読付き国際会議に採録されていることを課していた (電子政府
推奨暗号リスト改訂のための暗号技術公募要項(2009 年度))9,10。一方、「国際標準化等の実績がある」ことを理由に事務局選出のアルゴリズムとして評価対象とした例もあった11。
「国際標準化等の実績がある」ことを根拠として事務局で選出する暗号アルゴリズムに対して CRYPTREC 暗号リストへの追加を視野に入れた評価を開始する場合には、暗号技術検討
会で判断を行い、これを受けて、暗号技術評価委員会で安全性評価・実装性能評価を行う。

9

http://www.cryptrec.go.jp/topics/cryptrec_20090527_application_guide.html,
http://www.cryptrec.go.jp/topics/cryptrec_20091001_application_guide_2009-2.pdf
11
CRYPTREC Report 2011 暗号方式委員会報告(2.3.5 事務局選出暗号技術)
1023

2.5. Post Quantum Cryptography に関する動向について
NIST は、Post-Quantum Cryptography に関するアルゴリズムの公募を 2016 年 12 月 20 日
から正式に開始した。公募に関する詳細は Web 上12で公開されている。公募の〆切は、2017
年 11 月 30 日である。また、下記の通り、PQCrypto 2018 開催後に、応募者のプレゼンテー
ションがある予定である。


PQCrypto 2018： Florida, 9--11 April 2018.

NIST workshop： 12--13 April 2018.

2.6. 文書番号体系について
CRYPTREC では、年度成果物としてガイドライン、報告書を公開しているが、今後は文書の番号から内容(およびその文書の位置づけ)がわかる文書管理をするため、暗号技術検討会が設置した重点課題検討タスクフォースにおいて、CRYPTREC 文書についての番号体系を整理することとした。2017 年 3 月に開催された第 1 回暗号技術検討会にて承認された。詳しくは、暗号技術検討会 2016 年度報告書13の 3.1.3 節の(2)を参照のこと。

12
13

http://www.nist.gov/pqcrypto
http://www.cryptrec.go.jp/report/c16_kentou_final.pdf

242.7. 学会等参加状況
国内外の学術会議に参加し、暗号解読技術に関する情報収集を実施した。参加した国際会
議は、表2.3に示す通りである。

Eurocrypt 2016

表 2.3 国際会議への参加状況
学会名・会議名
開催国・都市International Conference on the オーストリア・ウ
Theory and Applications ofィーン
Cryptographic Techniques

Crypto 2016

International Cryptology
Conference

アメリカ・サンタバーバラ

FDTC 2016

Fault Diagnosis and Tolerance in
Cryptography
Conference on Cryptographic
Hardware and Embedded Systems

アメリカ・サンタバーバラ
アメリカ・サンタバーバラ

Security Proofs for Embedded
Systems
International Workshop on
Security

アメリカ・サンタ
バーバラ
日本・東京

ACM CCS 2016

ACM Conference on Computer andCommunications Security

オーストリア・ウィーンAsiacrypt 2016

International Conference on the
Theory and Applications of
Cryptology and Information
Security
RSA Conference Cryptographers’
Track

ベトナム・ハノイ

FSE 2017

International Conference on Fast
Software Encryption

日本・東京

PKC 2017

International Conference on
Practice and Theory in Public-Key
Cryptography

オランダ・アムス
テルダム

CHES 2016

PROOFS 2016
IWSEC 2016

CT-RSA 2017

アメリカ・サンフランシスコ

期間2016 年 5 月
9 日～2016
年 5 月 12日2016 年 8 月
14 日 ～
2016 年 8 月
18 日2016 年 8 月
16 日
2016 年 8 月
17 日 ～
2016 年 8 月
19 日
2016 年 8 月
20 日2016 年 9 月
12 日 ～
2016 年 9 月
14 日
2016 年 10月 25 日～2016 年 10月 28 日2016 年 12
月 4 日～
2016 年 12月8日2017 年 2 月
13 日 ～
2017 年 2 月
17 日2017 年 3 月
6 日～2017
年3月8日
2017 年 3 月
29 日 ～
2017 年 3 月
31 日

以下に、国際学会等に発表された論文を中心に、暗号解読技術の最新動向を示す。詳し
くは、付録 5 を参照のこと。

25

2.7.1. 共通鍵暗号の解読技術
・Polytopic Cryptanalysis [Eurocrypt 2016]

Tyge Tiessen
差分暗号解析は、2 つの平文の違いと各々の対応する暗号文の違いとの統計的な依存関係を利用しているが、その拡張としてより多くのテキストの相互依存関係を利用する多面的暗号解析を導入した。不可能差分解析に関しては従来よりも優位性があり、縮退版 DES、および縮退版 AES に関して部分的に既存攻撃を凌ぐ結果を得た。
・A 270 Attack on the Full MISTY1 [Crypto 2016]

Achiya Bar-On and Nathan Keller
64 ビットブロック暗号 MISTY1 に対する鍵回復攻撃が発表された。NTT の藤堂氏の結果を改良したものであり、解読計算量は約 270 にまで下がっているが、解読に必要なデータ量は264 であり、まだ現実的な脅威とは言えない。本結果は事前にプレプリントで公表されており、CRYPTREC はホームページにて解読に必要なデータ量・計算量の表および「解読に必要なデータ量が膨大であることから現実的な脅威ではないと考えられる」という見解を公表済である。

2.7.2. 公開鍵関数の解読技術
・New Complexity Trade-Offs for the (Multiple) Number Field Sieve Algorithm in
Non-Prime Fields [Eurocrypt 2016]

Palash Sarkar and Shashank Singh
位数 Q=pn, n>1 の有限体における数体篩法(NFS: Number Field Sieve)の新しい多項式選
択アルゴリズムを提案する。p=LQ(2/3, cp), c𝑝 ∈ [3.39, 20.91]の場合の NFS は、他の多項式
選択アルゴリズムによる NFS/MNFS(Multiple NFS: 複数数体篩)よりも小さい計算量となる。
本多項式選択アルゴリズムを使用した MNFS は本多項式選択アルゴリズムを使用した NFS よ
りも小さい計算量となる。c𝑝 ∈ (0, 1.12] ∪ [1.45, 3.15]の場合は、本多項式選択アルゴリズムを使用した MNFS の計算量は、Conjugation を使用した MNFS の計算量と同じであり、それ以外の場合は、本多項式選択アルゴリズムを使用した MNFS の計算量は、あらゆる既存方式よりも小さくなる。

・Extended Tower Number Field Sieve: A New Complexity for the Medium Prime Case
[Crypto 2016]

Taechan Kim and Razvan Barbulescu
離散対数問題解読における多項式選択ステップの改良により、解読計算量を削減できることを示した。対象とした基礎体は中程度の大きさの素数の拡大体であり、Q=pn に対して、
数体篩法の場合、計算量を LQ(1/3, (96/9)1/3)から LQ(1/3, (48/9)1/3)に下げ、複数数体篩法

26

の場合、LQ(1/3, 2.15)から LQ(1/3, 1.71)に下げた。CRYPTREC 暗号リストで利用している素体ではないため CRYPTREC に直接的な影響はないが、ペアリング暗号等の条件に当てはまる体を利用している場合には注意が必要である。

・A General Polynomial Selection Method and New Asymptotic Complexities for the
Tower Number Field Sieve Algorithm [Asiacrypt 2016]

Palash Sarkar and Shashank Singh
Kim らが扱っていない素数べき Q=pn の場合の拡張塔数体篩法を扱い、NFS の場合 LQ(1/3,(64/9)1/3)、MNFS の場合 LQ(1/3, 1.88)を得た。これまでの最小計算量は、それぞれ LQ(1/3,(96/9)1/3)および LQ(1/3, 2.12)であった。

・Extended Tower Number Field Sieve with Application to Finite Fields of Arbitrary
Composite Extension Degree [PKC 2017]

Taechan Kim and Jinhyuck Jeong
Crypto2016でKim、Barbulescuによって示されたexTNFS （Extended tower number fieldsieve）アルゴリズムの一般化を提案している。exTNFSは有限体F（Q） （p : 素数，Q=pn）に対しての離散対数問題を計算する最先端アルゴリズムであり、 n = ηκ、gcd（η, κ）＝1の時に適用されるが、一般化により最良の漸近複雑度を維持しつつ任意の合成数nに対して適用可能とした。nが合成数の時、離散対数をLQ（1/3，1.71）で計算できることを示した。これはAsiacrypt 2016でSarkar、Singhによって示されたnが2のべき乗の合成数の時の最速値LQ（1/3，1.88）より速くなっている。

・On the Bit Security of Elliptic Curve Diffie–Hellman [PKC 2017］

Barak Shani
素体上で定義された楕円曲線の楕円 Diffie-Hellman 鍵交換プロトコルのビットセキュリ
ティを初めて示した。Diffie-Hellman 鍵の x 座標の最上位ビットの約 5/6 を求める計算量と、鍵全体を求める計算量が同等であることを示した。また 5/6 の下位ビットについても同様の結果を示した。これらは楕円曲線 HNP(Elliptic curve Hidden Number Problem)より導かれる。また拡大体上の楕円曲線について既知の手法を改善し、Diffie-Hellman 鍵の x座標または y 座標の 1 成分を（基礎体において）計算することは、鍵全体を求める計算量と同等であることを示した。

2.7.3. ハッシュ関数の解読技術
・Freestart collision for full SHA-1 [Eurocrypt 2016]

Marc Stevens, Pierre Karpman and Thomas Peyrin
SHA-1 のフリースタート衝突ペアが具体的に示された。64GPU クラスタによる 10 日間の27

計算、およそ 257.5 回の圧縮関数呼び出しが攻撃に必要であった。2005 年の理論的衝突攻撃のブレークスルー以来の進歩、特に Crypto 2015 における Karpman らの 76 段 SHA-1 をより高速化するテクニックを使い、また、Eurocrypt 2013 の Stevens の最適な攻撃条件を得る
結果を利用した。著者らは、産業界に SHA-1 の利用を止めるよう勧告している。

・The first collision for full SHA-1 [https://shattered.io/]

Marc Stevens, Elie Bursztein, Pierre Karpman, Ange Albertini and Yarik Markov
2017 年 2 月 23 日に、CWI Amsterdam と Google Research の共同研究チームが、ハッシュ関数 SHA-1 の衝突発見に初めて成功したと Web ページ(https://shattered.io/)上で発表した。この発表では、全数探索の計算量(280)よりも 10 万倍速い 263.1 回の SHA-1 の計算量で衝突を発見したと報告されている。本発表の内容はまだ著名な国際学会等で発表はされてはいないが、実際にハッシュ関数が同じ異なる PDF ファイルの例も公開されており、CRYPTREC
では 3 月 1 日付でホームページにて本発表に対する見解を速報にて公開した。

28

2.8. 委員会開催記録
2016 年度、暗号技術評価委員会は、表 2.4 の通り 2 回開催された。各会合の開催日及び主な議題は以下の通りである。

回
第1回

第2回

表 2.4 暗号技術評価委員会の開催年月日
議題
2016 年 7 月 27 日
委員会活動計画案の承認、ワーキンググループ活動計画
案の承認、外部評価、仕様書の参照先の変更、監視状況報告2017 年 3 月 21 日
ワーキンググループ活動の年度報告、ChaCha20-Poly1305 の安全性評価について、仕様書の参照先の変更、
KCipher-2 の仕様書の変更について、外部評価結果、共通鍵暗号の安全性調査と MISTY1 について、SHA-1 の安全性低下について、監視状況報告、CRYPTREC Report 2016
目次案

2.9. 暗号技術調査ワーキンググループ開催記録
2016 年度、各暗号技術調査ワーキンググループ（WG）が活動した主要活動項目は、表 2.5の通りである。表 2.6 及び表 2.7 の通り、各 WG は計 5 回開催された。各会合の開催日及び主な議題は以下の通りである。
表 2.5
ワーキング

2016 年度の主要活動項目

主査

主要活動項目

グループ名
暗 号 解 析 評 高木 剛

公開鍵暗号の安全性は、素因数分解の困難性や離散対数問題

価ワーキンの困難性などさまざまな数学的問題に依存している。本ワーキ

ググループ

ンググループでは、楕円曲線上の離散対数問題の困難性に関する調査、多重線形写像及び難読化の最新動向に関する調査を行う。また、素因数分解の困難性や楕円曲線上の離散対数問題の困難性に関しては、例年公表している予測図の更新を行う。

軽 量 暗 号 ワ 本間 尚文

軽量暗号ワーキンググループは、軽量暗号技術が求められるーキンググ

サービスにおいて、電子政府のみならず利用者が適切な暗号方

ループ式を選択でき、容易に調達できることをめざして設置された。
軽量暗号を選択・利用する際の技術的判断に資すること、今後の利用促進をはかることを目的とした「暗号技術ガイドライン（軽量暗号）」を発行する。

29

表 2.6

暗号技術調査ワーキンググループ(暗号解析評価)の開催

回

年月日

議題

第1回

2016 年 7 月 27 日

活動計画案の検討、今年度の調査の進め方の検討

第2回

2017 年 2 月 21 日

予測図の更新に関する検討、難読化の調査に関する検討
楕円曲線上の離散対数問題の調査に関する検討、今後の課題に関する検討

表 2.7

暗号技術調査ワーキンググループ(軽量暗号)の開催

回

年月日

議題

第1回

2016 年 7 月 28 日

暗号技術ガイドライン(軽量暗号)の作成方針に関する検討、軽量暗号に関する実装詳細評価の方針に関する検討、NIST Lightweight Cryptography Workshop 報告、英語版作成方針に関する検討、CAESAR プロジェクト紹介

第2回

2016 年 10 月 5 日

暗号技術ガイドライン(軽量暗号)の目次案・掲載するア
ルゴリズムに関する検討、実装詳細評価に関する検討、英語版作成に関する検討

第３回

2017 年 1 月 16 日

暗号技術ガイドライン(軽量暗号)の作成スケジュール
に関する検討、軽量暗号のユースケースに関する検討、暗号技術ガイドライン(軽量暗号)の掲載するアルゴリ
ズムに関する検討、軽量暗号に関する実装詳細評価に関する検討、英語版作成に関する検討

30

第３章

暗号技術調査ワーキンググループの活動

3.1. 暗号解析評価ワーキンググループ
3.1.1. 活動目的
(1)楕円曲線上の離散対数問題(ECDLP)の困難性に関する調査
2012 年度の暗号技術調査 WG(計算機能力評価)における調査結果において言及があったように、
ECDLP に対する指数計算法(Index Calculus)の計算量評価についての研究結果が近年発表されてきている。2015 年〜2016 年度は、これらの研究内容を調査し、見解をまとめる。
(2)多重線形写像(Multi linear map)及び難読化(Obfuscation)の最新動向に関する調査2013 年〜2014 年度は、格子問題等の困難性に関する調査を行い、「格子問題等の困難性に関する調査」を作成する。2015 年〜2016 年度は、近年研究が進展している多重線形写像及び難読化に関する研究動向を調査する。
(3)予測図の更新
例年公表している予測図の更新に大きく影響を与えるような研究結果等がないかどうかの確認を行う。また、TOP500.ORG1が公表する計算機能力に関するデータに基づき、例年公表している予測図の更新を行う。

3.1.2. 委員構成(敬称略、五十音順)
主査：

高木

剛

九州大学

委員：

青木

和麻呂

日本電信電話株式会社

委員：

太田

和夫

電気通信大学

委員：

草川

恵太

日本電信電話株式会社

委員：

國廣

昇

東京大学

委員：

下山

武司

株式会社富士通研究所

委員：

安田

雅哉

九州大学

3.1.3. 活動概要
(1) 楕円曲線上の離散対数問題(ECDLP)の困難性に関する調査2015 年度は、ECDLP に対する指数計算法について過去に発表された論文などを精査し、論点や課題を事務局にて整理した。

1

https://www.top500.org

31

2016 年度は、昨年度事務局が整理した論点や課題に基づき、近年発表されている指数計
算法を用いた攻撃手法を解説する資料を作成した。

(2) 多重線形写像(Multi linear map)及び難読化(Obfuscation)の最新動向に関する調査2015 年度は、多重線形写像に関する過去の論文を調査し、提案されている代表的な応用
例についてまとめた。また、難読化に関して安全性について外部評価を行い、その研究動向についてまとめた。

2016 年度は、多重線形写像に関して安全性について外部評価を行い、近年研究が進展している多重線形写像に関する研究動向をまとめた。

(3) 予測図の更新
2015 年度は、「素因数分解問題の困難性」及び「楕円曲線上の離散対数問題の困難性」に関するグラフの更新を行った。

2016 年度は、予測図の更新に加えて、過去の議論・経緯などを把握できる資料について検討した。

3.1.4. 成果概要
(1) 楕円曲線上の離散対数問題(ECDLP)の困難性に関する調査
楕円曲線上の離散対数問題(ECDLP)に関する指数計算法(Index Calculus)について調査を行い、研究内容をまとめることが第 1 回 WG にて承認され、下記の通り実施した。第 2 回 WG にて承認された当該調査における見解を下記に記す。なお、調査レポートの概要は 3.1 節 付録 A.1 に記す。また、調査レポートは、付録 3(p.71)または、「楕円曲線上の離散対数問題に関する指数計算法」2を参照のこと。

[評価レポートにおける見解]
楕円曲線上の離散対数問題(ECDLP)の困難性は楕円曲線暗号やペアリング暗号の安全性の基盤となっている（図 3.1）。今のところ ECDLP を最も効率よく解くアルゴリズムは ρ 法であり、その計算量は群の位数に関して指数時間である。
その一方で、近年、計算量が準指数時間となる、ECDLP に関する指数計算法が提案された[PQ12]。
しかし、この計算量評価では検証が不十分な仮定(First Fall Degree Assumption(FFDA)など)が導入されており、その仮定の正当性は理論的にも数値実験的にも十分に立証されていない。
さらに ρ 法を利用した場合に解くことが期待できる十分大きな ECDLP が当該指数計算法によって解かれたという成果も報告されていない。
従って、現時点では当該指数計算法より、ρ法の方が計算効率が優れていると判断するのが2

http://www.cryptrec.go.jp/estimation/cryptrec-ex-2602-2016.pdf

32

妥当である。

[WG の判断]
当該指数計算法の計算量が準指数時間であることは理論的にも数値実験的にも現時点では十分に立証されていない。従って、ECDLP を安全性の根拠とする暗号の安全性評価について、現時点では、標数に拠らず、今のところ最も効率が良い ρ 法ベースの安全性評価基準を採用していれば十分であると判断する。ただし、引き続き、当該指数計算法の研究動向を把握しておく必要がある。

図 3.1:離散対数問題と種々の解読手法との関係(2) 多重線形写像(Multi linear map)及び難読化(Obfuscation)の最新動向に関する調査
多重線形写像(Multi linear map)の最新動向に関する調査を行い、研究動向をまとめることが第 1 回 WG にて承認され、下記の通り実施した。第 2 回 WG にて承認された多重線形写像の最新動向に関する見解を下記に記す。なお、評価レポートの概要は 3.1 節 付録 A.2 に記す。また、調査レポートは、付録 4(p.101)または、「Cryptographic Multilinear Maps, A Status Report」3を参照のこと。

[評価レポートにおける見解]
現在提案されている多重線形写像は、多重線形写像に基づく多重 Diffie-Hellman 鍵交換方式
に対して攻撃論文が存在する。知識型暗号方式 (Witness Encryption) や 識別型難読化方式
3

http://www.cryptrec.go.jp/estimation/cryptrec-ex-2603-2016.pdf

33

(Indistinguishability Obfuscation) の存在証明に用いられていた多くの安全性仮定が成立しないことも示されている。一方、識別型難読化方式 が存在すれば多重線形写像が構成可能であることも示されている。つまり、識別型難読化方式に対する構成不可能性は示されていないため、その構成可能性は残されている。

[WG の判断]
多重線形写像は、従来技術では実現し難い機能などを提供することができる、有力なプリミテ
ィブであり、非常に注目されその進展が目覚ましい技術である。現時点では安全な多重線形写像の構成は実在しないが、その存在の可能性は否定されていないことから、引き続き研究動向は把握しておき、今後具体的な構成方法が提案された折に、改めて評価・検討を行うこととする。

図 3.2：多重線形写像の構成に関する現状(3) 予測図の更新「素因数分解問題の困難性」及び「楕円曲線上の離散対数問題の困難性」に関して、2016 年 6月及び 11 月に TOP500.org のスーパーコンピューターのリストの更新があったため、2015 年度に作成した素因数分解問題及び楕円曲線上の離散対数問題の困難性に関する予測図をそれぞれ更新
した（3.1 節 付録 A.3 図 3.3 及び図 3.4）。

34

図 3 を作成するにあたって使用したふるい処理に関するデータは 2006 年度のものであり、古くなってきたため、更新が必要である。また、過去の議論・経緯などを把握できる資料の作成については、過去の活動内容を Web 上で検索し易いように改善することで今後対応する。

(4) 有限体上の離散対数問題の安全性に関する最新動向について(a) 768 ビット DLP の求解記録について
2016 年 6 月 16 日に、メーリングリスト NMBRTHRY4に 768 ビットのサイズの素体における離散対数の計算に成功したとの報告が掲載された。現在、この結果は Cryptology ePrint Archive
2017/067 に掲載され5、EUROCRYPT 2017 に採録される予定となっている。以前の記録は、596 ビット(2014 年 6 月 11 日)であった。篩ステップに 4000 Intel Xeon 2.2GHz・年、線形代数ステップに 900 Intel Xeon 2.2GHz・年を要している(なお、RSA768 については、篩ステップに 1500 Intel
Xeon 2.2GHz・年、線形代数ステップに 75 Intel Xeon 2.2GHz・年を要していた。)。
CRYPTREC 暗号リストに掲載されている DSA 及び Diffie-Hellman の安全性については,素体(GF(p),p :素数)から構成されており、p のサイズが 2048 ビット以上であれば直ちに影響はない。
2015 年に Logjam 攻撃を発表した論文6では、特定の素数 p に対して事前計算(数体篩法における多項式選択・篩・線形代数の各ステップに相当)を十分に実行しておけば、同じ p に対してターゲットとなる元の離散対数を効率的に計算可能であるリスクがあることを指摘していた。H.
Kario 氏のブログ Securitypitfalls の 2016 年 7 月のデータ7によれば、約 60 万の主要なサイトのうち、鍵交換において DH が利用できるのは約 54.3％あり、そのうちの約 35.5％は 1024 ビット
以下の鍵長である。鍵長を 2048 ビット以上に設定するなどの注意喚起が必要であると考えられる。

(b) Extended Tower Number Field Sieve の影響について
有限体上離散対数問題(DLP)を計算する「数体篩法」の改良 Extended Tower Number Field
Sieve(exTNFS)の提案[1]が CRYPTO 2016 に採録された。exTNFS では、有限体の中でも特に合成数次数の拡大体の DLP を考えている。CRYPTREC 暗号リストには合成数次数拡大体の DLP を安全性の根拠とする暗号技術は掲載されていないため影響は無い。しかし、現在、研究・開発が進められているペアリング暗号の中には合成数次数拡大体の DLP が安全性の根拠となるものがある（例:Barreto-Naehrig 曲線上ペアリングでは 12 次拡大体）ため、それらの安全性に影響があると考えられる。

4

https://listserv.nodak.edu/cgi-bin/wa.exe?A2=ind1606&L=NMBRTHRY&P=3649
https://eprint.iacr.org/2017/067
6https://weakdh.org/imperfect-forward-secrecy-ccs15.pdf
7https://securitypitfalls.wordpress.com/2016/09/06/july-2016-scan-results/
535拡大体𝐹𝑄 の DLP に対する数体篩法の漸近的な計算量は
1

2

(式 1)

𝐿𝑄 (1/3, 𝑐) = exp⁡((𝑐 + 𝑜(1)) (log 𝑄)3 (log log 𝑄)3 )により与えられる。定数𝑐が小さいほど計算量が小さくなる。また、標数の大きさにより漸近的な計算量が異なる（medium prime/boundary/large prime に分けられている）。表 3.1（[1]から転載）
は従来の数体篩法(NFS, TNFS)と exTNFS の計算量の比較である。表中の値は 𝑐 = (𝑐 ′ /9)1/3 となる𝑐′である。
表 3.1：式 1 における 𝑐′ の値([1]から転載)

p = LQ(lp)

1/3 < lp < 2/3

best lp = 2/3

2/3 < lp < 1

TNFS [5,6]

none

none

64

NFS-JLSV [7]

128

64

64

NFS-(Conj and GJL) [8]

96

48

64

NFS-SS [9]

96

48

64

exTNFS [1]

48

48

64

特に標数が特殊な構造を持っている場合は、その構造を利用してさらに計算量を小さくすることができる。特にこのような場合には特殊数体篩法(SNFS)と呼ばれる。Barreto-Naehrig 曲線のペアリングでは標数が特殊な構造であるため、特殊数体篩法のケースにあたる。SNFS の場合の計算量を表 3.2 ([1]から転載)に示す。
表 3.2：式 1 における 𝑐′ の値([1]から転載)

p = LQ(lp)

1/3 < lp < 2/3

2/3 < lp < 1

STNFS-JP [10]6432

STNFS [5]

none

32

SexTNFS [1]32

32

Barreto-Naehrig 曲線のペアリングは、例えば IETF Internet Draft[2]によれば、標数が 254ビット素数、拡大次数 12 のときおおよそ 128 ビットセキュリティ（より正確には 126 ビット[3]）であると考えられていた(これらの安全性解析では，数体篩法の計算量は𝑐 = (64/9)1/3 で考慮されていたためである。)。SexTNFS により計算量が𝑐 = (32/9)1/3 に削減されたため、128 ビットセキ
ュリティを満たさないと考えるべきだろう。たとえば、論文[4]では、控えめな見積もりとして108 ビットセキュリティ程度であると推定している(表 3.3)。
表 3.3：拡大次数 12 の時の計算量評価([4]から転載)
n12

algorithm(η,κ,λ)with constants

without constants

exTNFS(4,3,-)

2138

2116

SexTNFS(6,2,4)

2155

2108

ただし、これはあくまで漸近的な計算量に基づいた理論的解析であり、計算実験による計算量36

解析はまだ行われていない。実際に安全性にどれだけ影響を与えるか，ビットセキュリティの実際の値はどうなるかを問うためには更なる検証が必要である。

参考文献[1] T. Kim and R. Barbulescu : Extended Tower Number Field Sieve: A New Complexity for the
Medium Prime Case, CRYPTO 2016, LNCS 9814, pp.543-571, 2016. (IACR Cryptology ePrint
Archive: Report 2015/1027.)[2] A. Kato, M. Scott, T. Kobayashi and Y. Kawahara : Barreto-Naehrig Curves,
https://tools.ietf.org/html/draft-kasamatsu-bncurves-02. (Expires: September 19, 2016)[3] J. Bos, C. Costello and A. Miele “Elliptic and Hyperelliptic Curves: a Practical
Security Analysis”, PKC 2014, LNCS 8383, pp.203-220, 2014. (IACR Cryptology ePrint
Archive: Report 2013/644.)[4] A. Menezes, P. Sarkar and S. Singh : Challenges with Assessing the Impact of NFS Advanceson the Security of Pairing-based Cryptography, IACR Cryptology ePrint Archive: Report
2016/1102.
[5]. R. Barbulescu, P. Gaudry and T. Kleinjung : The tower number field sieve, ASIACRYPT
2015. LNCS, vol. 9453, pp. 31–55. Springer, Heidelberg (2015).
[6]. O. Schirokauer : Using number fields to compute logarithms in finite fields. Math.
Comput. 69(231), 1267–1283 (2000)[7]. A. Joux, R. Lercier, N. P. Smart and F. Vercauteren : The number field sieve in themedium prime case, CRYPTO 2006. LNCS, vol. 4117, pp.326–344. Springer, Heidelberg (2006)[8]. R. Barbulescu, P. Gaudry, A. Guillevic and F. Morain : Improving NFS for the discrete
logarithm problem in non-prime finite fields, EUROCRYPT 2015. LNCS, vol. 9056, pp. 129–155.
Springer, Heidelberg (2015)[9]. P. Sarkar and S. Singh : New complexity trade-offs for the (multiple) number fieldsieve algorithm in non-prime fields, EUROCRYPT 2016. LNCS, vol. 9665, pp. 429–458. Springer,
Heidelberg (2016).
[10]. A. Joux and C. Pierrot : The special number field sieve in Fpn, Pairing 2013. LNCS,
vol. 8365, pp. 45–61. Springer, Heidelberg (2014)37

(5) Post-Quantum Cryptography の動向について

NIST は、Post-Quantum Cryptography に関するアルゴリズムの公募を 2016 年 12 月 20 日から正式に開始した。公募に関する詳細は Web 上8で公開されている。公募の〆切は、2017 年 11 月 30日である。また、下記の通り、PQCrypto 開催後に、応募者のプレゼンテーションがある予定である。
PQCrypto 2018： Florida, 9--11 April 2018.

NIST workshop： 12--13 April 2018.

(6) 今後の課題について

Post-Quantum Cryptography に関する技術動向を今後どのように把握していくべきかの検討が必要である。



一般数体篩法に関するふるい処理に関するデータは更新が必要である。



DLP 768 ビットの求解記録に関する注意喚起が必要である。



SHA-1 の移行問題に観られるように社会基盤に組み込まれた暗号アルゴリズムの移行には、非常に時間がかかる。また、暗号アルゴリズムの評価を行い、暗号アルゴリズムをいつまで利用できるかを検討する際、暗号鍵のライフサイクルを考慮する必要がある。
ルート認証局は、すでに RSA2048bit からの移行が始まっているが、これは、20 年以上の有効期限が必要なためである。従来、CRYPTREC では 10 年間は大丈夫としているが、10 年では足りない。社会基盤に組み込まれる暗号技術の観点からは、もっと長期のロードマップに基づいた評価が必要になる。

8

http://www.nist.gov/pqcrypto

38

付録 A.1

楕円曲線上の離散対数問題(ECDLP)の困難性に関する調査[レポートの概要]
楕円曲線上の離散対数問題(ECDLP)の困難性は楕円曲線暗号やペアリング暗号の安全性の基盤となっている（図 3.1）。今のところ ECDLP を最も効率よく解くアルゴリズムは ρ 法であり、その計算量は群の位数に関して指数時間である。そして ρ 法の計算量およびそれを用いた計算機実験の結果から安全な鍵長が見積もられている。なお、計算機実験では現時点では約 110 ビット長以上の ECDLP が解かれている。
近年、ECDLP に関する指数計算法の研究が進められている。当該指数計算法では、多変数連立
代数方程式を生成する過程及びその多変数連立代数方程式を解く過程を通じて、ECDLP を線形方
程式を解く問題に帰着させる。前者の過程では、Summation polynomial 及び Weil descent 等の手法が、後者の過程では、グレブナー基底等の手法が用いられる。

標数が 2 の場合に、ECDLP に関する指数計算法の計算量が準指数時間であることを主張する論
文[PQ12]が発表されているが、計算量評価において、検証が不十分な仮定(First Fall Degree
Assumption(FFDA)など)が導入されていることが問題となっており、仮定の妥当性やρ法の計算効率との比較が課題となっている。
現時点では、理論的にも数値実験的にも FFDA 等の仮定の正当性が十分に立証されておらず、
ρ 法を利用した場合に解くことが期待できる十分大きな ECDLP が指数計算法によって解かれたという成果も報告されていない。これらは、多変数連立代数方程式を解くのに要求されるリソースが非常に高いことも障害となっている。従って、現時点では、標数に拠らず、今のところ最も効率が良い ρ 法ベースの安全性評価基準を採用していれば十分であると判断する。ただし、引き続き、当該指数計算法の研究動向を把握しておく必要がある。
なお、当該調査では、ECDLP に関する指数計算法の文献に現れる実験データを整理することも目的の一つであった。しかし、整理できるほど十分な量の実験データは存在しなかった。即ち、文献で扱われる実験例は連立代数方程式に関するものが多く、指数計算法によって ECDLP を解いた実験例は少なく、解かれた ECDLP のビット長も十分大きくないものであった。

[レポートの構成]
・1 節：はじめに・2 節：楕円曲線上の離散対数問題（ECDLP）-

DLP 及び ECDLP の定義

・3 節：Generic algorithm による DLP の計算

39

-

ρ法の説明及びρ法による ECDLP の世界記録(表 3.4)
表 3.4：ρ法による ECDLP の世界記録
曲線の種類

サイズ(bit)

年

著者

素体

112

2009

Bos et al.

標数 2 の拡大体

118

2016

Bernstein et al.

Koblitz

113

2014

Wenger and Wolfger

・4 節：ECDLP に関する指数計算法-

指数計算法の説明（ECDLP を線型方程式に変換）-

ECDLP に関する指数計算法の説明➢

線型方程式を生成するために、Summation polynomial と Weil descent を利用して連立代数方程式生成する。

➢

F4-style のアルゴリズムと FGLM を利用して連立代数方程式を解き、その解から線型方程式を生成する。

➢

線型方程式を解くことで ECDLP の解がえられる。

E(Fqn) 上の ECDLP に関する指数計算法の計算量の評価
2''

O(2m + qn m! Cdcmp + qn ω )m: Summation polynomial のパラメータ、n’m≒n、2 < ω ≦ 3、
Cdcmp: 連立代数方程式を解くために必要な計算量（この段階では未知数として扱う）
・5 節：有限体における連立代数方程式の解法-

多項式集合 F で与えられる連立代数方程式を解く手順：➢

F4-style のアルゴリズムを用いて、F の全次数逆辞書式順序のグレブナー基底 GDRL
を計算する。

➢

FGLM を用いて GDRL を辞書式順序のグレブナー基底 GLEX へ変換する。

➢

GLEX に含まれる一変数方程式の解を求め、それを GLEX の他の多項式に代入する。この計算を繰り返すことで F の解を得る.

-

F4-style のアルゴリズムの概要➢

d 次のグレブナー基底の計算に必要な S 多項式及び簡約に利用する多項式の係数を行成分とする行列 M(d) を生成する。(M(d) は d 次の Macaulay 行列の部分行列)➢

M(d) に対して行簡約を行い、d 次のグレブナー基底を生成する。

➢

上記の計算をグレブナー基底の計算が終わるまで繰り返す。（最大の d を Dreg であ
らわす。）

40

-

F4-style のアルゴリズムの計算量とその評価の課題➢

O((m+Dreg)Dregω)。
但し、m は変数の個数、2<ω≦3 とする。また、この評価は最悪計算量にあたる。

➢

Dreg の評価は難しいため、仮定（First Fall Degree Assumption (FFDA) など）を導入する場合がある。

-

F4-style とその使用メモリ量➢

F4-style では Macaulay 行列の部分行列に対して行簡約を行う。従って、行列が素行列であっても簡約が進むにつれて一般的に非零成分が増加し、最終的に多くのメモリを必要とする傾向がある。特に、変数の個数と Dreg の増加に伴い膨大なメモリを必要とする。

・6 節：ECDLP に関する指数計算法及び研究動向-

First fall degree Dfirst：（簡単に言うと）グレブナー基底の計算で生じる多項式簡約で、簡約前の多項式 f より次数の小さい多項式が発生するときの、最小の f の次数。

-

FFDA: Dfirst は Dreg にほぼ等しい。

-

Petit と Quisquater

は、E(F2n)の場合で Summation polynomial Sm と Weil descent を利用して生成した連立代数方程式に対して Dfirst≒ O(m2)と見積もっている[FP12]。この場合、全体の計算量はある定数 C に対して以下で与えられる：2

O (2𝐶𝑛3 log 𝑛 ).
-FFDA の妥当性➢

連立代数方程式によっては、FFDA が成り立つ例も成り立たない例も存在する（6.1.2節）。

➢

ECDLP で Summation polynomial と Weil descent を利用した場合、理論的にはFFDA が成り立つことも成り立たないことも立証されていない。実験的には E(F2n)で n ≦ 40 くらいまでで検証されている。

・7 節：まとめ-E(F2n)上の ECDLP に関する指数計算法で、その計算量が準指数時間になることを主張している文献がいくつか存在する。しかし FFDA など、それらの文献で利用している仮定の正当性は必ずしも保証されていない。

-

ECDLP に関する指数計算法とρ法の比較で重要なのは、[GG16] でも述べられているように、現時点で実際にどれくらいの大きさの ECDLP が解かれているかである。

-

ρ法で 110 bit 以上の大きさの ECDLP が解かれているのに対して、指数計算法では限られた小さな ECDLP しか解かれていない。

41

-

以上の理由から、ECDLP に関する指数計算法よりρ法の方が計算効率が優れていると判断する。

-

但し、ECDLP に関する指数計算法に関する研究の動向を今後も見ていく必要がある。

参考文献 :[FPPR12] J.-C. Faugère, L. Perret, C. Petit and G. Renault. Improving the complexity ofindex calculus algorithms in elliptic curves over binary fields. In EUROCRYPT 2012,
Proceedings, pp. 27–44, 2012.
[GG16] S. D. Galbraith and P. Gaudry. Recent progress on the elliptic curve discrete
logarithm problem. Des. Codes Cryptography, Vol. 78, No. 1, pp. 51–72, 2016.
[PQ12] C. Petit and J.J. Quisquater. On polynomial systems arising from a Weil descent.
In ASIACRYPT 2012, Proceedings, pp. 451–466, 2012.

42

付録 A.2 多重線形写像(multi-linear map)及び難読化(Obfuscation)の最新動向に関する調査[レポートの概要]
・構成
本レポートは、エクゼクティブサマリ、 1 章 序章、2 章 定義及び構成、3 章 既知の攻撃の紹介、4 章まとめ及び今後の展望となっている。本レポートは、現時点での主要結果を俯瞰したものであり、新しい定義・構成方法・主たるアプリケーション・提案方式に対する攻撃方法・安全性に対する議論等について言及している。なお、このレポートは、2017 年 1 月時点の情報に基づ
いている。
・要旨
-

多重線形写像には、主たる提案が 3 つある。最初の提案は、Garg, Gentry, Haleviらによるもので、次数付き擬暗号化方式 (Graded Encoding Scheme) を用いた構成(GGH13)[GGH13a] である。これに続いて、 Coron, Lepoint, Tibouchi らにより、整数上で動作する構成 (CLT13) [CLT13a] が提案された。さらに、Gentry, Gorbunov, Halevi らにより、
グラフ誘導擬暗号化方式 (Graph-induced Encoding Scheme) を用いた構成 (GGH15)[GGH15] が提案された。 (Section 2.4.1, Section 2.4.2, Section 2.4.3, Section 2.5)-

多重線形写像の構成については、解法困難と仮定される問題への帰着などの安全性証明は示されていない。(Section 1.3)-

多重線形写像の重要なアプリケーションである Diffie-Hellman 多重鍵交換プロトコルについては、それぞれの多重線形写像に基づく方式について、多項式時間で実行可能な攻撃方法が存在する。さらに、知識型暗号方式 (Witness Encryption)や識別型難読化方式(Indistinguishability Obfuscation) 等の存在証明に用いられている安全性仮定の多くが成立しないことが明らかとなっている。(Section 3)-

これらの状況は、必ずしも具体的な構成に対する攻撃につながるものばかりではない。実際、GGH13・CLT13・GGH15 のそれぞれの多重線形写像に基づいた、具体的攻撃は知られていない
識別型難読化方式の構成は存在する。(Section 4.1)-

理論的に、PRF などが存在する仮定の下では、識別型難読化方式 と関数型暗号(Functional Encryption) とが、本質的に等価であることが知られている。このことは、十分大きな n に対する n 重線形写像の存在可能性を意味する。このことから、識別型難読化
方式 や関数型暗号を構成する手法を応用した安全な多重線形写像の構成可能性が期待できる。しかし、現時点では具体的な構成は見つかってはいない。(Section 1.4)-5 重線形写像 が存在すれば、それを基に識別型難読化方式 が構成可能であることも近年示43

されている。しかし、双線形写像から 5 重線形写像への拡張方法は現在知られていない。
(Section 2.3.2, Section 4.2)-

効率性については、今後の課題の一つとなっている。(Section 4.1)

参考文献 :[GGH13a] Sanjam Garg, Craig Gentry, and Shai Halevi. Candidate multilinear maps from ideal
lattices. In Thomas Johansson and Phong Q. Nguyen, editors, EUROCRYPT 2013, volume 7881
of LNCS, pages 1–17, Athens, Greece, May 26–30, 2013. Springer, Heidelberg, Germany.
[CLT13a] Jean-Sébastien Coron, Tancrède Lepoint, and Mehdi Tibouchi. Practical multilinear
maps over the integers. In Ran Canetti and Juan A. Garay, editors, CRYPTO 2013, Part I,
volume 8042 of LNCS, pages 476–493, Santa Barbara, CA, USA, August 18–22, 2013. Springer,
Heidelberg, Germany.
[GGH15] Craig Gentry, Sergey Gorbunov, and Shai Halevi. Graph-induced multilinear maps fromlattices. In Yevgeniy Dodis and Jesper Buus Nielsen, editors, TCC 2015, Part II, volume9015 of LNCS, pages 498–527, Warsaw, Poland, March 23–25, 2015. Springer, Heidelberg,
Germany.

44

付録 A.3

予測図の更新(素因数分解問題及び楕円曲線上の離散対数問題の困難性)

図 3.3：1 年間でふるい処理を完了するのに要求される処理能力の予測(2017 年 2 月更新)99

スーパーコンピューターの性能の伸びに関する外挿線は僅かではあるが鈍化してきている。

45

図 3.4：ρ法で ECDLP を 1 年で解くのに要求される処理能力の予測(2017 年 2 月更新)10

10

スーパーコンピューターの性能の伸びに関する外挿線は僅かではあるが鈍化してきている。

46

3.2. 軽量暗号ワーキンググループ
3.2.1. 活動目的
軽量暗号 WG は、軽量暗号技術が求められるサービスにおいて、電子政府のみならず一般のシステムにおいて、利用者が適切な暗号方式を選択でき、容易に調達できることをめざ
して活動を行う。
2015 年度から、軽量暗号を選択・利用する際の技術的判断に資する、今後の利用促進をはかることを目的とした「暗号技術ガイドライン（軽量暗号）」を発行するために、2 年かけて詳細評価を行う。

3.2.2. 委員構成(敬称略、五十音順)
主査：

本間

尚文

東北大学

委員：

青木

和麻呂

日本電信電話株式会社

委員：

岩田

哲

名古屋大学

委員：

小川

一人

日本放送協会委員：

小熊寿

株式会社トヨタIT開発センター

委員：

﨑山

一男

電気通信大学

委員：

渋谷

香士

ソニーグローバルマニュファクチャリング＆オペレーションズ株式会社

委員：

鈴木

大輔

三菱電機株式会社

委員：

成吉

雄一郎

ルネサスエレクトロニクス株式会社

委員：

峯松

一彦

日本電気株式会社

委員：

三宅

秀享

株式会社東芝委員：

渡辺

大株式会社日立製作所

3.2.3. 活動概要
2015 年度に、ガイドラインの作成方針を決定し、ガイドラインに記載する軽量暗号アルゴリズムを選択し、実装詳細評価方針を決定し、軽量暗号 WG 活動の対外的アピールのあり方に関する検討をした。
2016 年度は、2015 年度の検討結果に基づき、実際に「暗号技術ガイドライン（軽量暗号）」の日本語版・英語版の執筆を行った。ガイドライン執筆に併せて、実装詳細評価を行った。
スケジュールは図 3.5 のとおり。

47

70%

WG

1

2

3

1

2

3

10/20

12/24

2/9

7/28

10/5

1/16

2015

2016

図 3.5：暗号技術ガイドライン（軽量暗号）作成スケジュール

3.2.4. 成果概要
「暗号技術ガイドライン（軽量暗号）」の目次を参考ため掲げておく(表 3.5)。詳しくは、「暗号技術ガイドライン（軽量暗号）」の日本語版11・英語版12を参照のこと。
表 3.5：「暗号技術ガイドライン（軽量暗号）」 目次
第1章

はじめに

第2章

軽量暗号とその活用法

2.1

軽量暗号とは
回路規模
消費電力量
レイテンシ
メモリサイズ2.2

1112

軽量暗号はどこに使えるのか
2.2.1

家電・スマートテレビ

2.2.2

RFID タグ利用のアプリケーション（物流管理等）

http://www.cryptrec.go.jp/report/cryptrec-gl-0001-2016-j.pdf
http://www.cryptrec.go.jp/report/cryptrec-gl-0001-2016-e.pdf

48

2.2.3センサーを利用したスマート農業

2.2.4

医療

2.2.5

産業用システム

2.2.6

自動車

2.3

どんな軽量暗号、パラメータを選べばいいか
2.3.1

一般的方針

2.3.2

鍵長の選択

2.3.3

ブロック長の選択

2.3.4

処理データ量と鍵更新、その他の対策

2.3.5

利用シナリオ

2.3.6

その他の留意点

2.3.7

CRYPTREC 暗号リストの暗号との違い

2.4

軽量暗号活用例と効果
2.4.1

家電・スマートテレビ

2.4.2

RFID タグ利用のアプリケーション（物流管理等）

2.4.3

センサーを利用したスマート農業

2.4.4

医療

2.4.5

産業用システム

2.4.6

自動車

第3章

軽量暗号の性能比較

3.1 ブロック暗号
3.1.1

ハードウェア実装評価

3.1.1.1

性能比較

3.1.1.2

評価方法の概要

3.1.2

ソフトウェア実装評価

3.1.2.1

性能評価
AES、Camellia、CLEFIA、TDES、LED、PRINCE、
PRESENT、Piccolo、TWINE、SIMON、SPECK、Midori

3.1.2.2

性能比較

メモリサイズを限定した実装（暗号化のみ）
メモリサイズを限定した実装（暗号化・復号）
メモリサイズを限定した実装（まとめ）
高速実装
最小実装
その他の考察3.1.2.3

評価方法の概要

49組み込みマイコン RL78 と評価環境
実装条件
3.2

認証暗号

3.2.1

ソフトウェア実装評価

3.2.1.1

性能比較
認証暗号の実装評価結果

3.2.1.2

評価方法の概要
コーディングの方針とインターフェース仕様
AES-GCM、CLOC、SILC、Minalpher、AES-OTR、Ketje、
ACORN、AES-OCB、JAMBU、Ascon

第4章

代表的な軽量暗号

4.1

ブロック暗号

4.2

ストリーム暗号4.3

ハッシュ関数

4.4

メッセージ認証コード

4.5

認証暗号

50

付録 1
CRYPTREC-LS-0001-2016

電子政府における調達のために参照すべき暗号のリスト（ＣＲＹＰＴＲＥＣ暗号リスト）
平 成 ２５年 ３月 １日
総務
省
経 済 産 業 省
電子政府推奨暗号リスト
暗号技術検討会1及び関連委員会（以下、「ＣＲＹＰＴＲＥＣ」という。）により安全性及び実装性能が確認された暗号技術2について、市場における利用実績が十分であるか今後の普及が見込まれると判断され、当該技術の利用を推奨するもののリスト。
技術分類

名称
DSA
ECDSA

署名

RSA-PSS（注１）
RSASSA-PKCS1-v1_5（注１）

公開鍵暗号

RSA-OAEP（注１）

守秘

DH

鍵共有
64 ビットブロック暗号
共通鍵暗号

ECDH
（注２）

3-key Triple DES（注３）AES

128 ビットブロック暗号

Camellia

ストリーム暗号

KCipher-2
SHA-256

ハッシュ関数

SHA-384
SHA-512
CBC

暗号利用

CFB

秘匿モード

CTR

モード

OFB
CCM

認証付き秘匿モード

GCM（注４）
CMAC

メッセージ認証コード

HMAC
ISO/IEC 9798-2

エンティティ認証

ISO/IEC 9798-3

1

総務省政策統括官（情報通信担当）及び経済産業省商務情報政策局長が有識者の参集を求め、暗号技術の普及による情報
セキュリティ対策の推進を図る観点から、専門家による意見等を聴取することにより、総務省及び経済産業省における施策の検討に資することを目的として開催。
2
暗号利用モード、メッセージ認証コード、エンティティ認証は、他の技術分類の暗号技術と組み合わせて利用することとされているが、その場合 CRYPTREC 暗号リストに掲載されたいずれかの暗号技術と組み合わせること。

51

（注１）

（注２）
（注３）

（注４）

「政府機関の情報システムにおいて使用されている暗号アルゴリズム
SHA-1 及び RSA1024 に係る移行指針」（平成２０年４月 情報セキュリティ
政策会議決定、平成２４年１０月 情報セキュリティ対策推進会議改定）を踏まえて利用すること。
http://www.nisc.go.jp/active/general/pdf/angou_ikoushishin.pdf（平成 25 年 3 月 1 日現在）
より長いブロック長の暗号が利用できるのであれば、128 ビットブロック暗号を選択することが望ましい。
3-key Triple DES は、以下の条件を考慮し、当面の利用を認める。
１） NIST SP 800-67 として規定されていること。
２） デファクトスタンダードとしての位置を保っていること。
初期化ベクトル長は 96 ビットを推奨する。

52

推奨候補暗号リスト
ＣＲＹＰＴＲＥＣにより安全性及び実装性能が確認され、今後、電子政府推奨暗号リストに掲載される可能性のある暗号技術3のリスト。
技術分類
公開鍵暗号

名称

署名

該当なし

守秘

該当なし

鍵共有

PSEC-KEM（注５）
CIPHERUNICORN-E

64 ビットブロック暗号（注６）

Hierocrypt-L1
MISTY1CIPHERUNICORN-A

共通鍵暗号

CLEFIA

128 ビットブロック暗号

Hierocrypt-3
SC2000
Enocoro-128v2

ストリーム暗号MUGI
MULTI-S01（注７）SHA-512/256
SHA3-256
SHA3-384

ハッシュ関数

SHA3-512SHAKE128（注１２）
SHAKE256（注１２）

暗号利用

秘匿モード

該当なし

モード

認証付き秘匿モード

該当なし

メッセージ認証コード

PC-MAC-AES

エンティティ認証

ISO/IEC 9798-4（注５）

KEM (Key Encapsulating Mechanism) – DEM (Data Encapsulating
Mechanism) 構成における利用を前提とする。
（注６） より長いブロック長の暗号が利用できるのであれば、128 ビットブロック暗号を選択することが望ましい。
（注７） 平文サイズは 64 ビットの倍数に限る。
（注１２） ハッシュ長は 256 ビット以上とすること。

3

暗号利用モード、メッセージ認証コード、エンティティ認証は、他の技術分類の暗号技術と組み合わせて利用することとされているが、その場合 CRYPTREC 暗号リストに掲載されたいずれかの暗号技術と組み合わせること。

53

運用監視暗号リスト
実際に解読されるリスクが高まるなど、推奨すべき状態ではなくなった暗号技術4のうち、互換性維持のために継続利用を容認するもののリスト。互換性維持以外の目的での利用は推奨しない。
技術分類
公開鍵暗号

共通鍵暗号

名称

署名

該当なし

守秘

RSAES-PKCS1-v1_5（注８）（注９）

鍵共有

該当なし

64 ビットブロック暗号

該当なし

128 ビットブロック暗号

該当なし

ストリーム暗号128-bit RC4（注１０）
RIPEMD-160

ハッシュ関数

SHA-1（注８）

暗号利用

秘匿モード

該当なし

モード

認証付き秘匿モード

該当なし

メッセージ認証コード

CBC-MAC（注１１）

エンティティ認証

該当なし

（注８）

「政府機関の情報システムにおいて使用されている暗号アルゴリズム
SHA-1 及び RSA1024 に係る移行指針」（平成２０年４月 情報セキュリティ
政策会議決定、平成２４年１０月 情報セキュリティ対策推進会議改定）を踏まえて利用すること。
http://www.nisc.go.jp/active/general/pdf/angou_ikoushishin.pdf（平成 25 年 3 月 1 日現在）
（注９） SSL 3.0 / TLS 1.0, 1.1, 1.2 で利用実績があることから当面の利用を認める。
（注１０） 互換性維持のために継続利用をこれまで容認してきたが、今後は極力利用すべきでない。SSL/TLS での利用を含め、電子政府推奨暗号リストに記載された暗号技術への移行を速やかに検討すること。
（注１１） 安全性の観点から、メッセージ長を固定して利用すべきである。

4

暗号利用モード、メッセージ認証コード、エンティティ認証は、他の技術分類の暗号技術と組み合わせて利用することとされているが、その場合 CRYPTREC 暗号リストに掲載されたいずれかの暗号技術と組み合わせること。

54

変更履歴情報
変更日付 変更箇所
平成 27 年 (注 10)
3 月 27 日

変更前の記述128-bit RC4 は、SSL(TLS1.0 以上)に限定して利用すること。

平成 28 年 推奨候補
3 月 29 日 暗号リスト(技術分類：
ハッシュ関数)(注 12)

該当なし

平成 29 年 推奨候補
3 月 30 日 暗号リスト(技術分類：
ハッシュ関数)

SHA-512/256
SHA3-256
SHA3-384
SHA3-512SHAKE256（注１２）[新規追加]

55

変更後の記述互換性維持のために継続利用をこれまで容認してきたが、今後は極力利用すべきでない。SSL/TLS での
利用を含め、電子政府推奨
暗号リストに記載された暗号技術への移行を速やかに検討すること。
SHA-512/256
SHA3-256
SHA3-384
SHA3-512SHAKE256（注１２）
ハッシュ長は 256 ビット以上とすること。
SHA-512/256
SHA3-256
SHA3-384
SHA3-512SHAKE128（注１２）
SHAKE256（注１２）

56

付録２
CRYPTREC 暗号リスト掲載暗号の問い合わせ先一覧
電子政府推奨暗号リスト
1. 公開鍵暗号
暗号名

DSA

関連情報

仕様
・NIST Federal Information Processing Standards Publication 186-4 (July
2013), Digital Signature Standard (DSS) で規定されたもの。
・ 参照 URL <http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf>

暗号名

ECDSA (Elliptic Curve Digital Signature Algorithm)

関連情報 1

公開ホームページ
和文：http://www.fujitsu.com/jp/group/labs/resources/tech/externalactivities/crypto/
英文：http://www.fujitsu.com/jp/group/labs/en/resources/tech/externalactivities/crypto/
・参照 URL
・SEC 1: Elliptic Curve Cryptography (September 20, 2000 Version 1.0)
<http://www.secg.org/SEC1-Ver-1.0.pdf>

問い合わせ先 1
富士通株式会社 電子政府推奨暗号 問い合わせ窓口
E-MAIL：fj-soft-crypto-ml@dl.jp.fujitsu.com
関連情報 2仕様
・ANS X9.62-2005, Public Key Cryptography for The Financial Services
Industry: The Elliptic Curve Digital Signature Algorithm (ECDSA) で規定されたもの。
・参照 URL <http://www.x9.org/>

57

暗号名

RSA Public-Key Cryptosystem with Probabilistic Signature Scheme (RSA-PSS)

関連情報

仕様 公開ホームページ
・PKCS#1 RSA Cryptography Standard (Ver.2.2)
・参照 URL<http://japan.emc.com/emc-plus/rsa-labs/pkcs/files/h11300-wp-pkcs-1v2-2rsa-cryptography-standard.pdf>
和文：なし
英文：http://www.emc.com/security/rsa-bsafe.htm

問い合わせ先〒151-0053 東京都渋谷区代々木 2 丁目 1 番 1 号 新宿マインズタワー
EMC ジャパン株式会社 RSA 事業本部 パートナー営業部
インサイド セールス チーム 左、高石
TEL：03-6830-3341, FAX：03-5308-8979
E-MAIL：Hanae.Hidari@rsa.com, Hiromi.Takaishi@rsa.com

暗号名

RSASSA-PKCS1-v1_5

関連情報

仕様 公開ホームページ
・PKCS#1 RSA Cryptography Standard (Ver.2.2)
・参照 URL<http://japan.emc.com/emc-plus/rsa-labs/pkcs/files/h11300-wp-pkcs-1v2-2rsa-cryptography-standard.pdf>
和文：なし
英文：http://www.emc.com/security/rsa-bsafe.htm

問い合わせ先〒151-0053 東京都渋谷区代々木 2 丁目 1 番 1 号 新宿マインズタワー
EMC ジャパン株式会社 RSA 事業本部 パートナー営業部
インサイド セールス チーム 左、高石
TEL：03-6830-3341, FAX：03-5308-8979
E-MAIL：Hanae.Hidari@rsa.com, Hiromi.Takaishi@rsa.com

暗号名

RSA Public-Key Cryptosystem with Optimal Asymmetric Encryption Padding(RSA-OAEP)

関連情報

仕様 公開ホームページ
・PKCS#1 RSA Cryptography Standard (Ver.2.2)
・参照 URL<http://japan.emc.com/emc-plus/rsa-labs/pkcs/files/h11300-wp-pkcs-1v2-2rsa-cryptography-standard.pdf>
和文：なし
英文：http://www.emc.com/security/rsa-bsafe.htm

問い合わせ先〒151-0053 東京都渋谷区代々木 2 丁目 1 番 1 号 新宿マインズタワー
EMC ジャパン株式会社 RSA 事業本部 ソリューション営業部
インサイド セールスチーム 左、高石
TEL：03-6830-3341, FAX：03-5308-8979
E-MAIL：Hanae.Hidari@rsa.com，Hiromi.Takaishi@rsa.com

58

暗号名

DH

関連情報 1

仕様
・ANSI X9.42-2003, Public Key Cryptography for The Financial Services
Industry: Agreement of Symmetric Keys Using Discrete Logarithm Cryptographyで規定されたもの。
・参照 URL <http://www.x9.org/>

関連情報 2仕様
・NIST Special Publication 800-56A Revision 2 (May 2013), Recommendation for
Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography
において、FCC DH プリミティブとして規定されたもの。
・参照 URL<http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar2.pdf>

暗号名

ECDH (Elliptic Curve Diffie-Hellman Scheme)

関連情報 1

公開ホームページ
和文：http://www.fujitsu.com/jp/group/labs/resources/tech/externalactivities/crypto/
英文：http://www.fujitsu.com/jp/group/labs/en/resources/tech/externalactivities/crypto/
・参照 URL
・SEC 1: Elliptic Curve Cryptography (September 20, 2000 Version 1.0)
<http://www.secg.org/SEC1-Ver-1.0.pdf>

問い合わせ先 1
富士通株式会社 電子政府推奨暗号 問い合わせ窓口
E-MAIL：fj-soft-crypto-ml@dl.jp.fujitsu.com
関連情報 2仕様
・NIST Special Publication SP 800-56A Revision 2(May 2013), Recommendation for
Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography において、C(2e,0s,ECC CDH)として規定されたもの。
・参照 URL<http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar2.pdf>

2. 共通鍵暗号
暗号名

Triple DES

関連情報

仕様
・NIST SP 800-67 Revision 1, Recommendation for the Triple Data Encryption
Algorithm (TDEA) Block Cipher, January 2012.
・参照 URL<http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-67r1.pdf>

59

暗号名

AES

関連情報

仕様
・ NIST FIPS PUB 197, Specification for the ADVANCED ENCRYPTION STANDARD(AES), November 26, 2001.
・ 参照 URL<http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdf>

暗号名

Camellia

関連情報

公開ホームページ
和文：http://info.isl.ntt.co.jp/crypt/camellia/index.html
英文：http://info.isl.ntt.co.jp/crypt/eng/camellia/index.html

問い合わせ先〒180-8585 東京都武蔵野市緑町 3-9-11
日本電信電話株式会社 NTT セキュアプラットフォーム研究所
Camellia 問い合わせ窓口 担当
TEL:0422-59-3461, FAX:0422-59-4015
E-MAIL: camellia@lab.ntt.co.jp

暗号名

KCipher-2

関連情報

公開ホームページ
和文：http://www.kddi-research.jp/products/kcipher2.html
英文：http://www.kddi-research.jp/english/products/kcipher2.html

問い合わせ先〒356-8502 埼玉県ふじみ野市大原 2-1-15
株式会社 KDDI 総合研究所 情報セキュリティグループ
グループリーダー 清本 晋作
TEL:049-278-7885, FAX:049-278-7510
E-MAIL: kiyomoto@kddi-research.jp

3. ハッシュ関数
暗号名

SHA-256, SHA-384, SHA-512

関連情報

仕様
・FIPS PUB 180-4, Secure Hash Standard (SHS)
・参照 URL<http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf>

60

4. 暗号利用モード(秘匿モード)
暗号名

CBC, CFB, CTR, OFB

関連情報

仕様
・NIST SP 800-38A, Recommendation for Block Cipher Modes of Operation
Methods and Techniques
・ 参照 URL<http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38a.pdf>

5. 暗号利用モード(認証付き秘匿モード)
暗号名

CCM

関連情報

仕様
・ NIST SP 800-38C, Recommendation for Block Cipher Modes of Operation: The
CCM Mode for Authentication and Confidentiality, May 2004.
・ 参照 URL<http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38c.pdf>

暗号名

GCM

関連情報

仕様
・NIST SP 800-38D, Recommendation for Block Cipher Modes of Operation:
Galois/Counter Mode (GCM) and GMAC, November 2007.
・ 参照 URL<http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf>

6. メッセージ認証コード
暗号名
関連情報

CMAC
仕様
・NIST FIPS SP 800-38B, Recommendation for Block Cipher Modes of Operation:
The CMAC Mode for Authentication, May 2005.(Updated Oct. 2016)
・ 参照 URL<http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38b.pdf>

61

暗号名

HMAC

関連情報

仕様
・NIST FIPS PUB 198-1, The Keyed-Hash Message Authentication Code (HMAC),
July 2008.
・ 参照 URL<http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.198-1.pdf>

7. エンティティ認証
暗号名

ISO/IEC 9798-2

関連情報

仕様
・ISO/IEC 9798-2:2008, Information technology – Security techniques –Entity Authentication – Part 2: Mechanisms using symmetric encipherment
algorithms, 2008. 及び ISO/IEC 9798-2:2008/Cor.1:2010, Information
technology – Security techniques – Entity Authentication – Part 2:
Mechanisms using symmetric encipherment algorithms. Technical Corrigendum
1, 2010.
で規定されたもの。なお、同規格書は日本規格協会(http://www.jsa.or.jp/)から入手可能である。

暗号名

ISO/IEC 9798-3

関連情報

仕様
・ISO/IEC 9798-3:1998, Information technology – Security techniques –Entity Authentication – Part 3: Mechanisms using digital signaturetechniques, 1998. 及び ISO/IEC 9798-3:1998/Amd.1:2010, Information
technology – Security techniques – Entity Authentication – Part 3:
Mechanisms using digital signature techniques. Amendment 1, 2010.
で規定されたもの。なお、同規格書は日本規格協会(http://www.jsa.or.jp/)から入手可能である。

62

推奨候補暗号リスト
1. 公開鍵暗号
暗号名

PSEC-KEM Key agreement

関連情報

公開ホームページ
和文 http://info.isl.ntt.co.jp/crypt/psec/index.html
英文 http://info.isl.ntt.co.jp/crypt/eng/psec/index.html

問い合わせ先〒180-8585 東京都武蔵野市緑町 3-9-11
日本電信電話株式会社 NTT セキュアプラットフォーム研究所
PSEC-KEM 問い合わせ窓口 担当
TEL: 0422-59-3462
FAX: 0422-59-4015
E-MAIL: publickey@lab.ntt.co.jp

2. 共通鍵暗号
暗号名

CIPHERUNICORN-E

関連情報

公開ホームページ
和文：http://www.nec.co.jp/cced/SecureWare/sdk/cipherunicorn-e.html
英文：http://www.nec.co.jp/cced/SecureWare/sdk/cipherunicorn-e-en.html

問い合わせ先〒211-8666 神奈川県川崎市中原区下沼部 1753
日本電気株式会社 スマートネットワーク事業部
E-MAIL: info@security.jp.nec.com

暗号名

Hierocrypt-L1

関連情報

公開ホームページ
和文：http://www.toshiba.co.jp/rdc/security/hierocrypt/
英文：http://www.toshiba.co.jp/rdc/security/hierocrypt/index.htm

問い合わせ先〒212-8582 神奈川県川崎市幸区小向東芝町 1
株式会社東芝 研究開発センター
コンピュータアーキテクチャ・セキュリティラボラトリー
電子政府推奨暗号 問い合わせ窓口
E-MAIL: rdc-crypt-info@ml.toshiba.co.jp

63

暗号名

MISTY1

関連情報

公開ホームページ

http://www.mitsubishielectric.co.jp/corporate/randd/information_technology/security/code/misty01_b.html

問い合わせ先〒247-8520 神奈川県鎌倉市上町屋 325 番地
三菱電機株式会社 インフォメーションシステム統括事業部
トータルソリューションシステム第一部 システム第三課

坂上 勉

TEL：0467-41-3560
E-MAIL：Sakagami.Tsutomu@bp.MitsubishiElectric.co.jp

暗号名

CIPHERUNICORN-A

関連情報

公開ホームページ
和文：http://www.nec.co.jp/cced/SecureWare/sdk/cipherunicorn-a.html
英文： http://www.nec.co.jp/cced/SecureWare/sdk/cipherunicorn-a-en.html

問い合わせ先〒211-8666 神奈川県川崎市中原区下沼部 1753
日本電気株式会社 スマートネットワーク事業部
E-MAIL: info@security.jp.nec.com

暗号名

CLEFIA

関連情報

公開ホームページ
和文：https://www.sony.co.jp/Products/cryptography/clefia/
英文：https://www.sony.net/Products/cryptography/clefia/

問い合わせ先ソニー株式会社 CLEFIA 問い合わせ窓口
E-MAIL: clefia-q@jp.sony.com

暗号名

Hierocrypt-3

関連情報公開ホームページ
和文：http://www.toshiba.co.jp/rdc/security/hierocrypt/
英文：http://www.toshiba.co.jp/rdc/security/hierocrypt/index.htm

問い合わせ先〒212-8582 神奈川県川崎市幸区小向東芝町 1
株式会社東芝 研究開発センター
コンピュータアーキテクチャ・セキュリティラボラトリー
電子政府推奨暗号 問い合わせ窓口
E-MAIL: rdc-crypt-info@ml.toshiba.co.jp

64

暗号名

SC2000

関連情報

公開ホームページ
和文：http://www.fujitsu.com/jp/group/labs/resources/tech/externalactivities/crypto/
英文：http://www.fujitsu.com/jp/group/labs/en/resources/tech/externalactivities/crypto/

問い合わせ先富士通株式会社 電子政府推奨暗号 問い合わせ窓口
E-MAIL： fj-soft-crypto-ml@dl.jp.fujitsu.com

暗号名

MUGI

関連情報

公開ホームページ
和文：http://www.hitachi.co.jp/rd/yrl/crypto/mugi/
英文：http://www.hitachi.com/rd/yrl/crypto/mugi/

問い合わせ先〒140-8572 東京都品川区南大井 6-27-18
株式会社日立製作所 セキュリティ事業統括本部
セキュリティ先端技術本部 HIRT センタ
主任技師 栗田 博司
TEL：044-555-0894(ダイヤルイン), FAX : 03-5471-4677
E-MAIL： hiroshi.kurita.wp@hitachi.com

暗号名

Enocoro-128v2

関連情報

公開ホームページ
和文:http://www.hitachi.co.jp/rd/yrl/crypto/enocoro/
英文:http://www.hitachi.com/rd/yrl/crypto/enocoro/index.html

問い合わせ先〒244-0817 神奈川県横浜市戸塚区吉田町 292
株式会社日立製作所

研究開発グループ

セキュリティ研究部

主任研究員

渡辺 大

TEL：050-3135-2017, FAX：050-3135-3392
E-MAIL: dai.watanabe.td@hitachi.com

65

システムイノベーションセンタ暗号名

MULTI-S01

関連情報

公開ホームページ
和文：http://www.hitachi.co.jp/rd/yrl/crypto/s01/
英文：http://www.hitachi.com/rd/yrl/crypto/s01/

問い合わせ先〒140-8572 東京都品川区南大井 6-27-18
株式会社日立製作所 セキュリティ事業統括本部
セキュリティ先端技術本部 HIRT センタ
主任技師 栗田 博司
TEL：044-555-0894(ダイヤルイン), FAX : 03-5471-4677
E-MAIL：hiroshi.kurita.wp@hitachi.com

3. ハッシュ関数
暗号名

SHA-512/256

関連情報

仕様
・FIPS PUB 180-4, Secure Hash Standard (SHS)
・参照 URL<http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf>

暗号名

SHA3-256, SHA3-384, SHA3-512, SHAKE128, SHAKE256

関連情報

仕様
・FIPS PUB 202, SHA-3 Standard: Permutation-Based Hash and Extendable-Output
Functions
・参照 URL<http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf>

4. メッセージ認証コード
暗号名

PC-MAC-AES

関連情報
参照 URL: http://jpn.nec.com/rd/crl/code/research/pcmacaes.html
問い合わせ先〒211-8666 神奈川県川崎市中原区下沼部 1753
日本電気株式会社 セキュリティ研究所 主任研究員
峯松 一彦
TEL：044-431-7686, FAX：044-431-7680
E-MAIL: k-minematsu@ah.jp.nec.com

66

5. エンティティ認証
暗号名

ISO/IEC 9798-4

関連情報

仕様
・ ISO/IEC 9798-4:1999, Information technology – Security techniques –Entity Authentication – Part 3: Mechanisms using a cryptographic check
function, 1999.及び ISO/IEC 9798-4:1999/Cor.1:2009, Information
technology – Security techniques – Entity Authentication – Part 3:
Mechanisms using a cryptographic check function. Technical Corrigendum
1, 2009.
で規定されたもの。なお、同規格書は日本規格協会(http://www.jsa.or.jp/)から入手可能である。

67

運用監視暗号リスト
1. 公開鍵暗号
暗号名

RSAES-PKCS1-v1_5

関連情報

仕様
・PKCS#1 RSA Cryptography Standard (Ver.2.2)
・参照 URL<http://japan.emc.com/emc-plus/rsa-labs/pkcs/files/h11300-wp-pkcs-1v2-2rsa-cryptography-standard.pdf>
和文：なし
英文： http://www.emc.com/security/rsa-bsafe.htm

問い合わせ先〒151-0053 東京都渋谷区代々木 2 丁目 1 番 1 号 新宿マインズタワー
EMC ジャパン株式会社 RSA 事業本部 パートナー営業部
インサイド セールス チーム 左、高石
TEL：03-6830-3341, FAX：03-5308-8979
E-MAIL：Hanae.Hidari@rsa.com, Hiromi.Takaishi@rsa.com

2. 共通鍵暗号
暗号名

RC4

関連情報

仕様
・RC4 は EMC Corporation 社のトレードマークである。
・仕様 RC4 のアルゴリズムについては、RSA Laboratories が発行した CryptoBytes
誌(Volume5, No.2, Summer/Fall 2002) に掲載された次の論文に記載されているもの。Fluhrer, Scott, Itsik Mantin, and Adi Shamir, "Attacks On RC4 and WEP",
CryptoBytes, Volume 5, No.2,Summer/Fall 2002
・ 参照 URL<http://www.cryptrec.go.jp/cryptrec_13_spec_cypherlist_files/PDF/
cryptobytes_v5n2.pdf>

3. ハッシュ関数
暗号名

RIPEMD-160

関連情報

仕様
・参照 URL <http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html>

68

暗号名

SHA-1

関連情報

仕様
・FIPS PUB 180-4, Secure Hash Standard (SHS)
・参照 URL <http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf>

4. メッセージ認証コード
暗号名

CBC-MAC

関連情報

仕様・ ISO/IEC 9797-1:1999, Information technology – Security techniques –Message Authentication Codes(MACs) – Part 1: Mechanisms using a blockcipher, 1999.
で規定されたもの。なお、同規格書は日本規格協会(http://www.jsa.or.jp/)から入手可能である。

69

70

付録３

CRYPTREC-EX-2602-2016
1

楕円曲線上の離散対数問題に関する
指数計算法
篠原 直行 ††

野呂 正行 ‡NICT‡

横山 和弘 ‡

立教大学

概 要
楕円曲線暗号は現在, 実際に使用されている代表的な公開鍵暗号方式である. また, 実用化が進められている公開鍵暗号方式としてペアリング
暗号が挙げられ, ペアリング暗号を基盤技術として様々な高度な暗号技術を利用できることが知られている. これらの公開鍵暗号方式は有限体上の楕円曲線を利用しており, その楕円曲線において与えられる離散対数問題 (ECDLP) が解かれると解読されてしまう.
ECDLP だけではなく一般的に, 有限巡回群上の離散対数問題 (DLP)を解くアルゴリズムとして指数計算法がある. 例えば, 有限体上の DLPを効率良く解く指数計算法として数体篩法や関数体篩法などが挙げられる. 近年, summation polynomial やグレブナー基底などを利用して,
ECDLP に対して有効な指数計算法を構築する研究が進められている.
本稿では, 楕円曲線暗号やペアリング暗号に対するこれらの新たな攻撃方法を紹介し, それらの影響について述べる. また, 現時点ではこれらの新たな攻撃方法より, Pollard の ρ 法等の既存の攻撃方法の方が計算効率が良いと結論づける. しかし, ECDLP に関する指数計算法の研究の動向は注視する必要がある.

1

はじめに
楕円曲線暗号は現時点で広く使用されている代表的な公開鍵暗号方式の一つであり, 楕円曲線暗号で利用する楕円曲線において与えられる離散対数問
題 (ECDLP) が解かれると解読されてしまう. また, 高度な暗号技術を実現するための基盤技術として, ペアリング暗号とよばれる公開鍵暗号方式があり, その実用化に向けて研究が進められている. ペアリング暗号は, 有限体上の離散対数問題 (DLP) と ECDLP の双方を解く計算の困難性をその安全性の基盤としている. 従ってこれらの暗号の安全性を維持する上で, ECDLP は重要な研究課題である.

DLP を解くアルゴリズムは群の固有の性質を利用するか否かで大きく二つの方法に分類される. 群の固有の性質に依存しないものは generic algorithmとよばれ, DLP を定義できる任意の有限群に対して適用できる. 代表的な
generic algorithm として Shanks の Baby-step-giant-step や, Pollard の ρ2法, λ 法 (kangaroo-algorithm) が挙げられる. DLP が定義されている有限群√
G の位数を #G としたときに, これらのアルゴリズムの計算量は O( #G)である. 群の固有の性質を利用することで, DLP を解くために必要な計算√量を O( #G) より小さくすることに成功しているアルゴリズムが存在する.
例えば, 標数の大きい有限体上の DLP に対しては数体篩法, 標数の小さい有限体上の DLP に対しては関数体篩法や Frobenius representation discrete

logarithm algorithm 等が挙げられる. これらのアルゴリズムは指数計算法とよばれる枠組みに属している.
上記のように指数計算法は有限体上の DLP を解く場合において, それを解
く計算コストの削減に成功しているが, ECDLP に対する効率の良い指数計算法の研究はまだ模索の段階にある. これまでは, ECDLP を最も効率よく解く方法は generic algorithm であったことから, 楕円曲線暗号やペアリング暗号で利用する楕円曲線等の暗号パラメータの設定には, generic algorithm の計算量とそれを使用した数値実験の結果が利用されてきた.
近年, ECDLP に対する指数計算法の研究において, Semaev の summation

polynomial やグレブナー基底等を利用した新たな指数計算法が多数提案されている. その中には generic algorithm よりも計算効率が良いことを主張する文献が存在し, また一方で逆の主張をする文献も存在している. そのため,generic algorithm との比較を考慮して, これらの新たな指数計算法の効率性を議論する必要が生じている.
この比較について本稿は, generic algorithm よりも効率よく ECDLP を解
くアルゴリズムが現時点では提案されていないと結論づける. その理由として以下の二つの事実を挙げる: 一つは, 新たな指数計算法の計算量評価において導入されている仮定 (frist fall degree assumption など) について, それらの仮定の正当性が理論的にも数値実験的にも十分に示されているとは言えないことである [15]. もう一つは適切な暗号パラメータ (十分大きな有限巡回群等) において, 新たな指数計算法の有効性を示す数値実験的な結果が現時点では報告されていないことである.
本稿の構成は以下のとおりである: 第 2 節では楕円曲線や ECDLP の定義など, 基本的な内容を説明する. 第 3 節では generic algorithm 及び ECDLPを解く計算の世界記録を紹介する. 第 4 節では ECDLP に対する基本的な指数計算法について述べ, 第 5 節では, それらのアルゴリズムの計算量を理解する上で必要となる, 連立代数方程式を解くアルゴリズムとその計算量について説明する. 第 6 節で近年の成果について紹介し, 第 7 節で ECDLP に対する新たな指数計算法の影響についてまとめる.

3

2

楕円曲線上の離散対数問題 (ECDLP)
この節ではまず楕円曲線に関するいくつかの定義及びその性質について紹介する. さらに一般の群上の離散対数問題 (DLP) 及び楕円曲線の有理点のなす群上で与えられる離散対数問題 (ECDLP) について説明する. (参考文献として [5] を挙げる.)
体 K の代数閉包を K で表す. 本稿では楕円曲線の以下の定義を採用する:
定義 2.1. K を体として a1 , a2 , a3 , a4 , a6 ∈ K とする. このとき等式 E を以下のように定義する:

E : f (x, y) := y 2 + a1 xy + a3 y − (x3 + a2 x2 + a4 x + a6 ) = 0.
2

E を満たす任意の (x1 , y1 ) ∈ K において, (∂f /∂x, ∂f /∂y) ̸= (0, 0) が成り立つとき, E を K 上の楕円曲線とよぶ1 .
集合 E(K) を次のように定める:E(K) := {(x, y) ∈ K 2 : f (x, y) = 0} ∪ {O}.
(但し, O は無限遠点とする.) 本稿では特に断りのない限り, P ∈ E(K) と書
いた場合は P ̸= O とする. 下記のように演算等を定義することで E(K) は加法群を成す (但し Pi := (xi , yi ) ∈ E(K) とする):• O を単位元とする.
• P1 の逆元を −P1 := (x1 , −y1 − a1 x1 − a3 ) とする.
• P1 ̸= −P2 のとき P3 := P1 + P2 を以下のように定める:
 y −y1
2
if x1 ̸= x2 ,

x1 − x2
λ =2
3x1 + 2a2 x1 + a4 − a1 y1

if x1 = x2 ,2y1 + a1 x1 + a3
x3 = λ2 + a1 λ − a2 − x1 − x2 ,y3=

λ(x1 − x3 ) − y1 − a1 x3 − a3 .

正整数 m に対して m 個の P ∈ E(K) の和を [m]P で表す. さらに [0]P := Oとし, [−m]P := −[m]P とする. 体 K が有限体であるとき, 即ちある素数べきq に対して K = Fqn であるとき, E(Fqn ) は有限群である. 従って P ∈ E(Fqn )を生成元として有限巡回群 ⟨P⟩ を構成できる.
次に離散対数問題 (DLP) について説明する. 群 G の位数を #G で表す.
有限群 G 上の DLP とは, 与えられた g, T ∈ G に対して以下の条件を満たす X ∈ Z/#GZ が存在するならばそれを求める問題である:

T = gX .
1 特にこの定義の曲線を Weierstrass model とよぶ.

(1)

4

( (1) が解 X を持つならば, X を logg T とかく.) 有限群 G が E(Fqn ) であるとき, その離散対数問題は “楕円曲線上の離散対数問題 (ECDLP) ” とよばれる. この場合, 楕円曲線から与えられる加法群の表記方法に合わせて, 一般
的に以下のように ECDLP を表す. 即ち, ECDLP とは T , P ∈ G に対して
以下の条件を満たす X ∈ Z/#GZ が存在するならばそれを計算する問題である:

T = [X]P.

(2)

本稿では, “有限体上の離散対数問題2 ” 等の一般的によく使用される呼び方に適した, 上述の DLP の定義を採用した. しかし, 特に暗号の分野では解が存在する DLP について考える理由等から, 一般的には有限群 G は有限巡回群で定義され, 議論される. 例えば (2) で与えられる ECDLP の場合, G はE(Fqn ) ではなく巡回群 ⟨P⟩ で考える.
楕円曲線暗号やペアリング暗号は ECDLP が解かれると解読されてしまう.
従ってこれらの暗号を安全に運用するには, ECDLP を解く計算に十分な計算時間が必要となるように適切な有限体 Fqn , 曲線 E, 及び巡回群 ⟨P⟩ 等を選択する必要がある. その選択の例として, DLP を与える巡回群 G の位数#G を十分大きな素数にすることや, E(F2n ) 上での ECDLP を利用する場
合は n は素数となるように選ぶことなどが挙げられる. (参考文献として [15]を挙げる.) 以降の節で ECDLP を解くアルゴリズムについて説明していく.

Generic algorithm による DLP の計算

3

この節では任意の有限群上で定義されている DLP を解くことに適用可能なアルゴリズムである generic algorithm について説明する. また, その代表的なアルゴリズムである Shanks の baby-step-giant-step [28], Pollard の ρ法及び λ 法 [25] について簡単に述べる. これらのアルゴリズムの計算量は,√与えらた有限群を G としたときに, 大まかには O( #G) であることが知られている3 .

3.1

Generic algorithm

本稿では [5] の定義 19.1 に基づいた以下の generic algorithm アルゴリズ
ムの定義を採用する:
定義 3.1. 有限群 G が与えられているとして, G における以下の演算のみを行うアルゴリズムを generic algorithm とよぶ:

• 二項演算,2 有限体 F n 上の DLP とは, 乗法群 G = F∗ 上の DLP のことである.
qqn√
3 Shanks の baby-step-giant-step の計算量は正確には O( #G log #G) である.

5

• 逆元の演算,• 二つの元が等しいか否かの確認.
Generic algorithm では, 与えらえた有限群が固有の性質4 を持っていたとしても, それを利用した計算が行われない.

3.2

Shanks の baby-step-giant-step

Shanks の baby-step-giant-step [28] について簡単に説明する. 式 (1) で表される, 巡回群 G = ⟨g⟩ 上の DLP を解くことを考える. まず M := ⌈#G⌉として h = (g −1 )M を計算し, 以下のリスト BL, GL を計算する:

BL={g i : i = 0, · · · M − 1},GL={T hj : j = 0, · · · M − 1}.

(BL の計算は baby-step, GL の計算は giant-step とよばれる.) リスト
BL, GL を並べ替え, 重複箇所 g i = T hj を探し, X = i+jM (mod #G) を返√√す. このアルゴリズムは, リストの生成で O( #G) 回の群演算及び O( #G)のデータ保存空間を必要とし, さらにリストの並び替えと重複箇所の探索で√O( #G log #G) 回の比較を実行する. このアルゴリズムの様々な改良が提案されているがオーダーとしての計算量は変わらない. (参考文献として [15]を挙げる.)

3.3

Pollard の ρ 法と λ 法

第 3.2 節で紹介した Shanks の baby-step-giant-step は確定的なアルゴリ
ズムであるが多くのデータ保存空間を必要とする. 一方で Pollard の ρ 法やλ 法は birthday paradox を利用する確率的なアルゴリズムである. しかし,データ保存空間は baby-step-giant-step に比べてずっと小さく, 巡回群 G 上√の DLP を解くために必要な群演算の回数は O( #G) である. この節では基本的な ρ 法を説明する [7]. (詳しくは [5], [15] を参照されたい.)
ここでも第 3.2 節と同じ DLP (1) を解くとする. 基本的な ρ 法では, まず
巡回群 G を三つのほぼ同じ位数を持つ互いに交わりのない集合 G1 , G2 , G3に分割する:

G = G1 ∪ G2 ∪ G3 .

4 例えば群の位数が小さな素数の積で表される場合等が挙げられる.

6

曲線の種類

表 1: ECDLP に関する計算の記録
サイズ (bit) 年
著者

素体

112

2009

Bos et al. [2]

標数 2 の拡大体

118

2016

Bernstein et al. [1]Koblitz

113

2014

Wenger and Wolfger[29]次に (ai , bi ) ∈ (Z/#GZ)2 に対して, hi := T ai g bi ∈ G なる数列 {hi } を考える. 但し, a0 = b0 = 0, h0 = e (e は G の単位元) とし, (ai + 1, bi ) (hi ∈ G1 ),(ai+1 , bi+1 ) =(2ai , 2bi )(hi ∈ G2 ),(ai , bi + 1) (hi ∈ G3 )とする. このとき次が成り立つ: T hihi+1 =h2ighi(hi ∈ G1 ),(hi ∈ G2 ),(hi ∈ G3 ).

実際の計算では (hi , ai , bi , h2i , a2i , b2i ) のみを保持し, hi = h2i なる i を計算する. このとき T ai g bi = T a2i g b2i であることから次が成り立つ:

T ai −a2i = g b2i −bi .
暗号では #G は十分大きな素数となるように設定されるため, 高い確率でgcd(ai − a2i , #G) = 1 が期待できることから,
X = (b2i − bi )(ai − a2i )−1(mod #G)を計算することで解 X が得られる.

ρ 法の計算量について説明する. {hi } がランダムな数列であれば birthday√
paradox により, i = O( #G) で hi = h2i となる確率が 1/2 以上になると期待できる. また, (hi , ai , bi , h2i , a2i , b2i ) から (hi+1 , ai+1 , bi+1 , h2(i+1) ,a2(i+1) , b2(i+1) ) を計算するには 3 回の群演算を必要とするだけであることか√ら, 合計で O( #G) 回の群演算を必要とする.
ここで ECDLP に関する近年の代表的な計算の記録を紹介する. 表 1 の結果は ρ 法を改良した generic algorithm によるものである [18]. このことは,楕円曲線の有理点のなす群が持つ固有の性質を利用して, ECDLP を効率良く解くアルゴリズムがまだ発見されていないことを意味する.

4

ECDLP に関する指数計算法

第 3 節で述べたように, generic algorithm を用いることで, 任意に与えられ√た有限群 G 上の DLP は O( #G) 回の群演算, 即ち指数時間で解くことがで

7

きる. 一方で有限体上の DLP は, 数体篩法や関数体篩法など, 指数計算法とよばれる枠組みに属する方法を使用することで指数時間より小さい計算量, 即
ち準指数時間や quasi-polynomial time で解かれることが知られている. (詳しくは [5] [8] を参照.) 近年, 指数計算法を ECDLP に導入した研究が進められている. この節では, 指数計算法について簡単に説明し, それを ECDLP に導入する際に道具として使われる Semaev の summation polynomial と Weildescent について述べる. (参考文献として [15] を挙げる.)

4.1

指数計算法

指数計算法は大きく二つの種類に分けられるため, これら二つの違いについて説明する. 第 4.1.1 節で述べる指数計算法は ECDLP を解く場合によく議論されており, 第 4.1.2 節で紹介する指数計算法は有限体上の DLP を解く
場合によく利用されている. 本稿では前者を指数計算法 1, 後者を指数計算法

2 とよぶことにする. また本稿では指数計算法 1 を中心に議論をする.
以下二つの注意を紹介する. 指数計算法は任意の有限群に適用することができるが, 計算効率を上げるために与えられた群が持つ固有の性質を利用するため, 一般的には generic algorithm に分類されない. 第 4.1 節では (1) で表される, 有限巡回群 G = ⟨g⟩ 上の DLP が与えられているとする.

4.1.1

指数計算法 1

ECDLP を考える場合によく扱われる指数計算法 1 の概要を以下に与える;
初期設定段階: 因子基底とよばれる G の部分集合 F B := {π1 , · · · πs } を設定
する.
関係 (relation) 探索段階:(i) a, b ∈ N を選び R = g a T b ∈ G を計算する.
(ii) 下記の等式を満たす非負整数 eℓ の組 (e1 , · · · , es ) が存在するかを判定し5 , 存在するならばそれを計算する:

R=

s
∏

πℓeℓ .

(3)ℓ=1

等式 (3) は relation とよばる. この relation から, 因子基底の元および T の 離散対数を解とする線形方程式

a + bX ≡s∑eℓ logg πℓ(mod #G)ℓ=1
5 一般的に e には上界が与えらているため, 常に (3) を満たす (e , · · · , e ) が存在する保証
s
1
ℓ
はない.

8

が生成される. 実際の計算では (a, b) と (e1 , · · · , es ) を結合したベクトルを行列の行 (または列) として保存する.

(iii) (i), (ii) の計算を十分な個数の relation が得られるまで繰り返す.
線形代数段階: 関係探索段階で得られた行列に対して, #G を法とする行列操作を行うことで以下を満たす X1 , X2 を計算する:

e = g X1 T X2 .
(但し e は G の単位元とする.)
離散対数計算段階: X2−1 (mod #G) が存在するならば以下を返す:

X = −X1 X2−1

(mod #G).

上記のように, 指数計算法は四つの計算段階から構成される. 初期設定段
階では因子基底を設定するとしているが, 他にも G の表現に使用する数値等(例えば有限次拡大体を表す多項式など) を設定することもある. この段階に必要な計算コストは一般的に無視できるほど小さい. 従って, 文献によっては初期設定段階を一つの計算段階として数えず, 指数計算法は他の三つの計算段階から構成されていると定義する場合もある.
因子基底の設定は指数計算法の効率を決定する重要な要素である. 以下に
因子基底に求められる性質について紹介する:• 因子基底の個数 s に対して, 線形代数段階で扱われる行列の大きさ
は O(s) である. よって, この段階での行列操作の計算量は, ある定数

2 < ω ≤ 3 に対して O(sω ) であるため, 因子基底の個数 s は可能な限
り小さいことが望ましい.
• Relation が得られる確率が可能な限り高くなるように因子基底を設定する必要がある. その理由は, この確率が低いと関係探索段階での計算を繰り返す回数が大きくなってしまうことである. 因子基底の個数 s が小さいほどその確率は小さくなる. 従って関係探索段階と線形代数段階の計算コストはトレードオフの関係にある.

• Relation を計算するコストが小さくなるように因子基底を設定する必要がある.
第 4.4 節で説明するように, 指数計算法 1 で ECDLP を解く場合, relation(3) を生成するために有理点 R を因子基底の元である有理点の和で表す計
算を効率良く実行する必要がある. この計算を point decomposition とよぶ.
近年では Semaev の summation polynomial (第 4.2 節) に Weil descent (第4.3) を適用することで連立代数方程式を生成し, それをグレブナー基底を計算するアルゴリズムなどを利用して解くこと (第 5 節) で point decomposition
を実行する研究が進められている.

9

4.1.2

指数計算法 2有限体上の DLP を解く場合に数体篩法や関数体篩法などおいて, 上述の指数計算法 1 を少し変更した指数計算法 2 の枠組みがよく利用される. 本稿を理解する上でこの節を読み飛ばしても問題ないが, 指数計算法 2 を ECDLPに適用する議論もあるため, この節で簡単に紹介する. その主な変更内容は関係探索段階において, 与えられた DLP を定義する T を含まない relation を生成することと, T を因子基底の元で表す計算を離散対数計算段階に追加することである. 以下に指数計算法 2 の概要を与える;
初期設定段階: 因子基底 F B := {π1 , · · · πs } を設定する.
関係探索段階:(i) 下記の等式を満たす非負整数 eℓ の組 (e1 , · · · , eL , eL+1 , · · · es ) が存在するかを判定し, 存在するならばそれを計算する:
L∏

πℓeℓ =ℓ=1s∏πℓeℓ .

(4)ℓ=L+1

この relation は以下の線形方程式に対応する:
L∑

eℓ logg πℓ ≡

ℓ=1

s
∑

eℓ logg πℓ(mod #G).

ℓ=L+1

ベクトル (e1 , · · · , es ) を行列の行 (または列) として保存する.

(ii) (i) の計算を十分な個数の relation が得られるまで繰り返す.
線形代数段階: 関係探索段階で得られた線形方程式の解 logg π1 , · · · , logg πsを求める.
離散対数計算段階: a, b ∈ N を選び R = g a T b を因子基底の元で表す:

R=

s
∏

πℓtℓ .

ℓ=1

このとき b−1 (mod #G) が存在するならば

X=(

s
∑

tℓ logg πℓ − a)b−1(mod #G)ℓ=1が成り立つことから, 線形代数段階で計算した解を上記の等式に代入することで X を得る.

10

4.2

Semaev の Summation polynomial

第 4.2 節以降では ECDLP について議論するため, 式 (2) で表される等式について考える. 指数計算法 1 で ECDLP を解く場合, 関係探索段階において選んだ a, b ∈ N に対して

R = [a]P + [b]T(5)を計算する. 次に R を因子基底 F B = {π1 , · · · , πs } の和

R=

s
∑

[eℓ ]πℓℓ=1として表現する計算, 即ち point decomposition を試み, それが可能であればlogP R ≡s∑[eℓ ] logP πℓ(mod #⟨P⟩)

ℓ=1

を得る.

Semaev は, 標数が 2 でも 3 でもない有限体 Fqn 上の楕円曲線 E が与えられた場合に, point decomposition の計算に使用する道具として summation

polynomial を提案した [26]. この場合, E は以下の式で表すことができる:
y 2 = x3 + Ax + B.

(6)

(但し A, B は Fqn の元で ∆ := 4A3 + 27B 2 ̸= 0 を満たすものとする. )定理 4.1. q は 5 以上の奇数素数のべきとし, E : y 2 = x3 + Ax + B は

Fqn 上の 楕円曲線とする. このとき 2 ≤ m ∈ N に対して第 m-summation
polynomial Sm を以下のように定義する:
S2 (x1 , x2 ) =S3 (x1 , x2 , x3 ) =x1 − x2 ,(x1 − x2 )2 x23 − 2((x1 + x2 )(x1 x2 + A) + 2B)x3+(x1 x2 − A)2 − 4B(x1 + x2 ),Sm (x1 , · · · , xm ) =Resx (Sm−M (x1 , · · · , xm−M −1 , x), SM +2 (xm−M , · · · , xm , x))(if m ≥ 4, 1 ≤ M ≤ m − 3).

ただし, Res は終結式とする [4]. m ≥ 3 のとき, Sm は絶対既約で対称な多項式であり, さらに各変数 xi に対して degxi (Sm ) = 2m−2 である.

Summation polynomial Sm は標数が 2 または 3 の場合にも自然に拡張でき
る [14] [15] [26].
ここで point decomposition に利用する Sm の性質を紹介する: 即ち

x1 , · · · , xm ∈ Fqn がSm (x1 , · · · , xm ) = 0

(7)

11

を満たすことと,P1 + · · · + Pm = O
なる Pi = (xi , yi ) ∈ E(Fqn ) が存在することは同値である. この Sm の性質を利用して, 関係探索段階で与えられた (5) の R を因子基底 F B = {π1 , · · · , πs }の元の和で

R = π ℓ1 + · · · + π ℓm(8)のように表すことを考える. まず Q := (x, y) ∈ E(Fqn ) の x 座標を以下のように表記する:x(Q) := x.
Sm+1 の xm+1 に x(R) を代入した等式
Sm+1 (x1 , · · · , xm , x(R)) = 0(9)を解くことを試みたとして, その解 (x1 , · · · , xm ) ∈ (Fqn )m が存在したとす
る6 . このとき, 各 xi に対して xi = x(πℓi ) なる πℓi ∈ F B が存在するならばrelation が得られる7 .
代数方程式 (9) を効率良く解くために, Frobenius 写像を利用した等式と(9) から構成される下記の連立代数方程式を解く方法が考えられる:
0 = Sm+1 (x1 , · · · , xm , x(R)),



n

 0 = xq1 − x1 ,
..


.



n
0 = xqm − xm .

(10)

次の第 4.3 節では連立代数方程式 (10) を解くために Weil descent を導入した方法について説明する. またグレブナー基底を利用した連立代数方程式の解法については第 5 節で説明する.

4.3

Weil descentSemaev によって導入された summation polynomial を利用して ECDLPを解く指数計算法は, Weil descent を導入することによって, Diem や Gaudry
らによって改良されていった [9] [16]. この節では Weil descent を紹介し, それを連立代数方程式 (10) を解くためにどのように利用するかを説明する.
まず Weil descent に関する以下の補題を紹介する [15]:

6 存在しない場合は relation が得られないため, R をとりなおして同様の計算を行うことになる.
7 この場合も relation が得られないため, R をとりなおして同様の計算を行うことになる.

12

補題 4.2. 素数べき q と自然数 n に対して, Fqn を n 次元の Fq ベクトル空間としてみたときの基底を {θ1 , ..., θn } とする. さらに f (x1 , ..., xm ) ∈Fqn [x1 , ..., xm ] とする. このとき Z := {zi,j : 1 ≤ i ≤ m, 1 ≤ j ≤ n} に対して, 以下の等式を満たす fk (Z) ∈ Fq [Z] がただ一つ存在する:

f (z1,1 θ1 + · · · + z1,n θn , · · · , zm,1 θ1 + · · · + zm,n θn ) =n∑θk fk (Z).

k=1

さらに, ある (x1 , · · · , xm ) ∈ (Fqn )m に対して f (x1 , · · · , xm ) = 0 であるな
らば, ある zi,j ∈ Fq が存在して以下の条件を満たす:

xi

=

n
∑

zi,j θj ,

j=1

fk (Z) = 0 (1 ≤ k ≤ n).
補題 4.2 により, Fqn 係数の m 変数代数方程式は Fq 係数の mn 変数の n 個の代数方程式に変換される. さらに補題 4.2 における f (x1 , · · · , xm ) を (9)の左辺の多項式としたときに, Weil descent によって連立代数方程式 (10) はFq 係数の mn 変数の n + mn 個の等式で構成される以下の形の連立代数方
程式に変換される:
0 = f1 (Z),






...




 0 = f (Z),nq
0 = z1,1− z1 ,




.

..





q
− zm,n .
0 = zm,n(11)

Weil descent を行う前に比べて, 変数と等式の個数はともに増加するが, 連立代数方程式を解く際に扱う多項式の各変数の次数を q より小さくできることが利点である.
因子基底の設定を工夫することで, Weil descent によって生成される連立代数方程式の変数の個数を削減することができる. まず Fqn のある Fq ベク
トル部分空間を V とし, その次元を 1 ≤ n′ < n とする. このとき因子基底F B を次のように定める:
F B = {πℓ ∈ E(Fqn ) | x(πℓ ) ∈ V }.

(12)

この因子基底の設定により xi は Weil descent によって n′ 個の変数 zi,j(1 ≤ j ≤ n′ ) で表されるため, 方程式 (9) は Fq 係数の mn′ (< mn) 変数の n個の代数方程式に変換される. 最終的にはそれらの代数方程式に Frobeniusqmap に対応する等式 zi,j− zi,j = 0 を加えた以下の形の連立代数方程式を解

13

く ( 但し Z ′ := {zi,j : 1 ≤ i ≤ m, 1 ≤ j ≤ n′ } ⊊ Z で zi,j ∈ Z ′ とする.):′
 0 = f1 (Z ),



 ...




 0 = f (Z ′ ),n(13)q
 0 = z1,1
− z1 ,



 .

..





q
0 = zm,n′ − zm,n′ .

n′ を小さくすると (13) の変数が少なくなることによりそれを解くために必要な計算コストは削減されるが, (13) が解をもつ確率も下がってしまう.

4.4

ECDLP に関する指数計算法の概要

ECDLP に指数計算法を適用する様々な方法が提案されている [15]. その中で近年, 議論が進められている代表的な方法として, 指数計算法 1 に Semaevの summation polynomial と Weil descent を導入する方法が挙げられる. この節ではその方法について簡単に紹介し, その計算量評価について説明する.
またその説明のため, 式 (2) で表される E(Fqn ) 上の ECDLP が与えられているとする:T = [X]P ∈ G = ⟨P⟩ ⊂ E(Fqn ).
ECDLP に関する指数計算法;
初期設定段階: 因子基底 F B を (12) のように設定する:

F B = {πℓ ∈ E(Fqn ) | x(πℓ ) ∈ V }関係探索段階:(i) a, b ∈ N を選び R = [a]P + [b]T を計算する.
(ii) Semaev の summation polynomial Sm+1 の xm+1 に x(R) を代入し8 , それに対して Weil descent を実行することで連立代数方程式 (13) を計算する:


0 = f1 (Z ′ ),




.


 ..



 0 = f (Z ′ ),nq
− z1 ,
0 = z1,1




.

..





q
0 = zm,n′ − zm,n′ .
8 m は固定された自然数である.

14

この連立代数方程式を解き, その解(z1,1 , · · · , zm,n′ ) ∈ (Fq )mn′が存在するならば9 , その解に対応する (x1 , · · · , xm ) ∈ (Fqn )m を求める. 即ち V の基底 θ1 , · · · , θn′ ∈ Fqn に対して
′

xi =

n
∑

zi,j θj ∈ V

j=1

を計算する. そのような一つの組 (x1 , · · · , xm ) に対して

(x1 , · · · , xm ) = (x(πℓ1 ), · · · , x(πℓm ))(14)を満たす因子基底の元の組 (πℓ1 , · · · , πℓm ) は高々 2m 個存在する.
その中から

R=

m
∑

πℓi

(15)

i=1

を満たすものを求め, 下記の等式を満たす非負整数 eℓ の組み (e1 , · · · , es )を決定する:

R=s∑[eℓ ]πℓ .

(16)

ℓ=1

この relation (16) は下記の線形方程式に対応する:

a + bX ≡s∑eℓ logP πℓ(mod #G).

ℓ=1

実際の計算では (a, b) と (e1 , · · · , es ) を結合したベクトルを行列の行 (または列) として保存する.

(iii) (i), (ii) の計算を十分な個数の relation が得られるまで繰り返す.
線形代数段階: 関係探索段階で得られた行列に対して, #G を法とする行列操作を行うことで以下を満たす X1 , X2 を計算する:

O = [X1 ]P + [X2 ]T .
離散対数計算段階: X2−1 (mod #G) が存在するならば10 以下を返す:

X = −X1 X2−1

(mod #G).

9 存在しないならば, 新しく a, b を選び直して R を生成して, 同様の計算を続ける.

10 暗号で利用する ECDLP を考えた場合, #G は十分大きな素数となるように選ばれるため,
X2−1 (mod #G) が存在しない確率は無視できる.

15

ここから上記のアルゴリズムの計算量について議論する. この計算量の基本的な評価方法の概要は [15] でまとめられている. さらに [15] では, E(Fqn )上の ECDLP が与えらえているとして, q が n に比べて十分小さい場合及びその逆の場合について分類して説明している. これは暗号で利用される楕円曲線が, F2n (n は素数) または Fqn (q は素数で n は十分小さい) 上で定義されたものが多いためである.
有限体に関する上記の分類によらず, Sm+1 の m と n′ (= dim V ) は一般
的にmn′ ≈ n(17)となるように設定される [14]. (このように設定しない方法もある [15].) ま
た, Sm+1 の生成に必要な体演算は2

O(2m )(18)

であることが知られている [14].
関係探索段階で生成した R が (15) のように表される確率 Probsum について考える. ここからの議論の準備として, 因子基底の個数 s は

s ≈ #V(19)を満たすとして良い. その理由は, ランダムに選んだ xi ∈ Fqn を与えられた
楕円曲線の x 座標として持つ有理点が存在する確率が約 1/2 であることと,同じ x 座標を持つ有理点の個数の期待値が約 2 であることである.
さらに, この節の目的は上述の指数計算法とその計算量の評価方法を大まかに理解することであるため, q << n の場合について議論する. (その逆の場合, 即ち q >> n の場合も計算量の評価方法はほぼ同様である. 参考文献として [15] を挙げる.) この場合, (19) よりs ≈ qn′(20)が成り立つ.
確率 Probsum は, 因子基底 F B に属する m 個の元の和でかける有理点

R ∈ E(Fqn ) の割合で見積もる. そのため, そのような m 個の元の和において生じる重複を無視できると仮定している. 和の対称性を考慮して, 因子基底F B から m 個の元を選ぶ組み合わせの数は大まかに sm /m! である. また,E(Fqn ) の位数は約 q n であることと, (20) より
Probsum ≈1sm≈
m! · q nm!

(21)が成り立つ.
線形代数段階で扱う行列のランクが O(#V ) = O(s) であることと (21) より, 関係探索段階で実行される point decomposition の回数は′O(m!s) = O(m!q n )16と評価される. 従って, point decomposition の計算コストを Cdcmp とすると, 関係探索段階の計算量は′O(q n m!Cdcmp )(22)となる. 線形代数段階の計算量は, 実行可能行列乗算指数 2 < ω ≤ 3 に対して′O(sω ) = O(q n ω )(23)である. よって, (18), (22), (23) より, 全体の計算量は2′′

O(2m + q n m!Cdcmp + q n ω )

(24)

である.
ここで問題となるのが point decomposition の計算量 Cdcmp の評価である. この計算量は連立代数方程式 (13) を解くために必要な計算量である. 連
立代数方程式を効率よく解く方法については第 5 節で説明する.

5

有限体における連立代数方程式の解法
連立代数方程式 (13) を更生する多項式集合で生成されるイデアルは 0 次

元であるため, この節で扱う多項式集合 F も同様の性質を持つとする. そのような F で表現される連立代数方程式を効率よく解く方法として以下の計算を組み合わせる方法が知られている:• F4 -style のアルゴリズム (第 5.2 節) によって多項式集合 F の全次数
逆辞書式順序のグレブナー基底 GBDRL を計算する.

• FGLM (第 5.3 節) を利用して GBDRL を辞書式順序のグレブナー基底
GBLEX に変換する.
GBLEX は, F で与えられる連立代数方程式と同じ解の集合を持つ連立代数方
程式を構成する多項式集合である. また, F で生成されるイデアルが 0 次元であるとき, GBLEX はある変数に関する一変数多項式を含む. さらに, その一変数多項式の解を GBLEX の他の多項式に代入することで新たな一変数多項式を得る. この計算を繰り返すことで連立代数方程式の全ての解を解の個数の多項式時間で計算することができる. しかし, GBLEX の計算コストは GBDRLのそれより大きいことが経験的に知られている. そこでまずは GBDRL を計算し, FGLM を利用して GBDRL を GBLEX に変換する.
この節では F4 -style のアルゴリズムと FGLM の計算量について簡単に説明する. また K を体, X を {x1 , · · · , xm } なる変数の集合とし, F :={f1 , · · · , fk } ⊂ K[X] とする. さらに X で生成される項全体の集合を T(X)
で表す.

17

5.1

連立代数方程式とグレブナー基底の計算

第 5 節で述べたように, 多項式集合 F で与えられる連立代数方程式を解く
ために, まず F4 -style のアルゴリズムで F の GBDRL 計算する必要がある.
この節では F4 -style のアルゴリズムを理解する準備として, グレブナー基底の基本的な計算方法である Buchberger アルゴリズムのキーポイントを説明する.
定義 5.1. 多項式 f ∈ K[X] と K[X] における項順序 ≺ が与えられているとする. この項順序に関して f で最も大きい項 HT≺ (f ) を頭項とよび, その
係数 HC≺ (f ) を頭係数とよぶ. さらに HC≺ (f )HT≺ (f ) を頭単項式とよび

HM≺ (f ) で表す.
Buchberger アルゴリズムでは, S 多項式の計算と多項式集合による多項式の簡約の計算を繰り返すことでグレブナー基底を計算する. 多項式 f1 , f2 ∈ K[X]の S 多項式 Spoly(f1 , f2 ) は次のように定義される:

Spoly(f1 , f2 ) :=lcm(HT≺ (f1 ), HT≺ (f2 ))lcm(HT≺ (f1 ), HT≺ (f2 ))
f1 −
f2 .
HM≺ (f1 )HM≺ (f2 )(25)

ただし, 単項式 m1 , m2 に対して lcm(m1 , m2 ) はそれらの最小公倍単項式とし, その係数は 1 とする. F4 -style のアルゴリズムにおいて, (25) に現れる

f1 の倍多項式は left-side とよばれ, 同様に f2 の倍多項式は right-side とよばれる. Spoly(f1 , f2 ) の計算では, f1 , f2 をそれぞれ単項式倍したものの集合{mi fi : mi ∈ T(X)} の中から頭項が一致する項順序が最小の組 (m1 f1 , m2 f2 )を選び, その差を計算することでその頭項を消去している. これは互除法において最大の項を削除する計算の一般化である.
次に多項式集合による多項式の簡約について説明する.
定義 5.2. f1 , f2 ∈ K[X] としたときに, HT≺ (f2 ) で割り切れる f1 の項 Mが存在し, その係数を CM とする. このとき

f3 := f1 −CM M
f2
HM(f2 )とする. この操作を f1 の f2 による単項簡約とよび,

f1 −→ f3
f2

(26)

と書く.
多項式による単項簡約 (26) は多項式集合 F の元による 0 回以上の単項簡約に拡張することができ,
∗

→ f3
f1 −
F

(27)

18

のように表す. この操作は単に F による f1 の簡約とよぶ. また, (27) の f3に対して F による単項簡約を 1 回以上実行できないとき, f3 は f1 の F による剰余とよぶ.

Buchberger アルゴリズムで実行される多項式の簡約操作の計算効率を上げるアルゴリズムとして F4 -style のアルゴリズムが挙げられる. 第 5.2 節でF4 -style のアルゴリズムについて述べる. Buchberger アルゴリズムの詳細については [6] を参照されたい.

5.2

F4 -style のアルゴリズムとその計算量

グレブナー基底を効率よく解くアルゴリズムとして, J.-C. Faugére によって提案された F4 アルゴリズム [10] 及び F5 アルゴリズム [11] が存在する.

(以後, それぞれを単純に F4 , F5 とよぶ.) これら二つのアルゴリズムはグレ
ブナー基底の計算の高速化を図ったものである. F4 は Macaulay 行列 (定義5.3) の性質を利用することで多項式の簡約操作の効率化を行う. このようなアルゴリズムは F4 -style のアルゴリズムとよばれる. F5 では F4 -style のア
ルゴリズムに signature という概念を導入して不要な S 多項式の生成を排除している.

F4 -style のアルゴリズムの計算量は, 基本的に入力とする多項式集合 F が生成するイデアルが斉次の場合で評価されている. 非斉次の場合には, 新たに変数を一つ追加して F の各多項式を斉次化した上で計算量を評価する. そのため F の生成するイデアルが 0 次元のとき, 斉次化した多項式が生成するイ
デアルは一般に 1 次元となる.
以下でも特に断らない限り, 入力とする多項式集合 F が生成するイデアル
は 0 次元, 即ち零点が有限個の場合に限定して説明する. イデアルのグレブ
ナー基底計算は Macaulay 行列の行簡約化が基本となる.

5.2.1

F4 -style のアルゴリズム

F4 -style のアルゴリズムでは Macaulay 行列の部分行列を利用する:
定義 5.3. F = {f1 , · · · , fk } ⊂ K[X] はある d ∈ N に対して deg(f1 ), · · · , deg(fk ) ≤d 11 を満たすとする. m1 , m2 , · · · ∈ T(X) に対しては m1 ≻ m2 ≻ · · · が成り立つとする. さらに ti,j は deg(ti,j fi ) ≤ d を満たす全ての ti,j ∈ T(X) と∑し, ti,j fi = ℓ ci,j,ℓ mℓ (ci,j,ℓ ∈ K) のように表現するとする. このとき F の

11 deg(f ) は f の全次数である.
i
i

19

d 次の Macaulay 行列 Md (F ) を以下のように定義する:


m1
..
.


Md (F ) := ti,j fi  ci,j,1
..
.

m2
..
.
ci,j,2
..
.

···




...
.

F4 -style のアルゴリズムでは各次数 d ごとに, S 多項式の left-side, right-side,及び多項式集合の簡約で利用される多項式から構成される Macaulay 行列の部分行列を生成してグレブナー基底を計算する. 即ち, その部分行列に対して
行簡約操作 (ガウス消去, 掃き出し法など) を行うことで階段形を計算し, この形からグレブナー基底の元を抽出する [21].

F4 -style のアルゴリズムによる計算の特徴として, その計算は一般に大量のメモリを必要とすることが挙げられる. F4 -style のアルゴリズムでは, そのアルゴリズムの性質上, スパース（疎）な行列を扱うことになる12 . （これは,Macaulay 行列の部分行列である. ）巨大なスパース行列の処理を必要とする
別の代表的なアルゴリズムとして数体篩法がある. 数体篩法ではスパース行
列で表される線形方程式の解を求めることが目的であるため, 行列のスパー
ス性を保持したまま効率良く計算するアルゴリズム（Lanczos 法など）を効
果的に利用できる. しかし, グレブナー基底を計算する F4 -style のアルゴリ
ズムでは簡約した結果の行列が必要であるため, スパース性を保持したまま
効率良く計算することは一般的に難しい. F4 -style のアルゴリズムでは前処理として, 行列のスパース性を利用して行列のサイズを小さくするアルゴリ
ズム（structured Gaussian elimination）を利用することが推奨されている[10]. Magma などでの F4 の実装はブラックボックスであるため, その詳細は不明であるが, 簡約した行列を高速に計算するために, 最終的にはスパース性を犠牲にして実メモリ上で掃き出し法を実行すると考えられる. そのため,Magma で実装されている F4 のような効率的な実装でさえ使用するメモリ量は結果として膨大になると考えられる.

5.2.2

F4 -style のアルゴリズムの計算量

F4 -style のアルゴリズムで実際に使用する部分行列の大きさは, 入力される多項式集合の多項式の個数や次数のみからでは精密には評価できない. 従って, F4 -style のアルゴリズムの計算量は, Macaulay 行列の簡約操作の計算量と同じオーダーで上から評価される13 . (これは最悪計算量を見積もっている
12 スパースな行列を扱う理由として, 例えば, d を初期値からいくつか大きくしたときに, 簡約で利用される多項式に対応する行が一般に疎になる傾向があることが挙げられる.
13 F の計算量評価では, F による不要な計算の効果を考慮しない Macaulay 行列の行簡約
55
操作の計算量を見積もることになる. 一方, F4 -style のアルゴリズムの場合でも, ECDLP の特
殊性を考慮して部分行列のサイズをより詳細に評価する研究もある [14].

20ことを意味する.) よって, グレブナー基底の計算量はグレブナー基底の元の最大次数を D とすると, D 次までの Macaulay 行列の簡約操作の計算量となる.

D 次の Macaulay 行列 MD (F ) のサイズは斉次イデアルの場合には D 次の単項式の個数以下になり, それは, m 個の変数から重複を許して D 個を選
ぶ組み合わせの個数である. 行列のサイズを N とするとき, 掃き出しの計算
量は N ω であることから, F4 -style の計算量は以下のように見積もられる:
((
)ω )
m+D
O
.
m
一方, 既約なグレブナー基底の元の最大次数 D は生成元の次数を用いて評価されている. 現在の方針ではイデアルによって定まる Hilbert 多項式のdegree of regularity Dreg が D の上からの評価を与えるため, Dreg の大きさを評価することになる.
多項式集合 F が regular sequence とよばれる形になっていれば, Dreg はF に属する多項式の次数の和で抑えられるが, そうでない場合にはそれらの次数の積等で抑えることになる. F が regular sequence でないときは, そのイデアルの元で regular sequence になるものを抽出し, その差分を考えることで次数 Dreg を評価する.
実際に変数を x1 , · · · , xm とし, 1 次元斉次イデアル I が f1 , · · · , fk (k ≥m−1) で生成されているとする. ここで, di は fi の次数で d1 ≥ d2 ≥ · · · ≥ dkとする. k = m − 1 で f1 , · · · , fk が regular sequence であれば,Dreg ≤ d1 + · · · + dm−1 − m
である [20], [21]. しかし, regular sequence でない場合でも, 射影次元が 0 以
下であれば同様のことが成り立つ [21]. また, 非斉次の場合には斉次化を行う
ことで, グレブナー基底の元の最大次数が評価される.
一方で, イデアルの生成系を斉次化したものがイデアル自体の斉次化を生成する場合には, 斉次での評価がそのまま使える. また, F の多項式をランダムにとった場合には, ほとんどの場合に最初の m − 1 個が regular sequenceになる. そこで, 実際的な計算量として斉次化との計算量のギャップがないものと仮定し, かつ regular sequence の場合を想定して計算量の評価をする方向性もある. 詳細は異なるが本質的には [12], [14], などがこれに対応するものと考える.
以上より, 任意に与えられた F に対して, そのグレブナー基底を計算することなく, その Dreg を厳密に評価する方法は現時点では知られていない. そこで, F 自身の持つ代数的な性質を利用して Dreg を可能な限り厳密に評価する研究が進められている. このような背景から, 第 6.1 節で説明する first falldegree assumption (FFDA) の導入が議論されている.

21

5.3

FGLM とその計算量

5.3.1

グレブナー基底の項順序変換

体 K 上の多項式環 R = K[X] のイデアル I の零点をグレブナー基底を用いて求める方法として, I の辞書式順序に関するグレブナー基底を求めて, 変数の少ない多項式から順に零点を求めて代入していくという方法がある. この場合, 一般に辞書式順序グレブナー基底を I の生成系から直接 Buchberger
アルゴリズムや F4 などで求めるのは効率がよくない. よって, 全次数逆辞書式順序など, グレブナー基底が比較的求めやすい項順序に関するグレブナー
基底を求めておき, 辞書式順序など, 他の項順序に関するグレブナー基底を求
める, 項順序変換 (Change of Ordering) と呼ばれる方法がいくつか提案されている. FGLM [13] は 0 次元イデアルに対して線形代数を応用して項順序変換を行うアルゴリズムである.

5.3.2

FGLM アルゴリズム

イデアル I が 0 次元イデアルのときは, 剰余環 R/I が K 上の線形空間として有限次元であり, I の K における零点の個数が有限個である. 以下で,≺ に関するグレブナー基底 G による f の剰余を NF≺ (f, G) と書くことにする. FGLM アルゴリズムは Algorithm 1 で与えられる.

FGLM アルゴリズムの原理は単項式 h を ≺1 に関する頭項とする多項式がイデアル I の中に含まれるかを, 未定係数法により, h を ≺1 に関する昇順で取∑り替えながら調べていくというものである. 調べる多項式は fh = h+ t∈B λt tである. ここで B は, それまでに得られた G1 の元の頭項 (これは H に格納されている) のどれでも割り切れない単項式が格納されている. fh |λt =at ∈ Iとなるような at ∈ K(t ∈ B) が存在するとき, fh |λt =at が G1 に追加され, 存在しないとき h が B に追加される. ≺1 に関する簡約グレブナー基底を求めるには, h としてそれまでに得られた H のどの元でも割り切れないもののみを考えればよい. これが Algorithm 1 の 11 行目の意味である.

G が ≺ に関する I のグレブナー基底であることから
fh |λt =at ∈ I ⇔ NF≺ (fh |λt =at , G) = 0
である. NF の線形性により NF≺ (fh |λt =at , G) = E|λt =at を得る. E を R の単項式について整理するとE=∑

cs (λt ; t ∈ B)ss∈Sと書ける. ここで S は G に関する標準単項式集合 (G のどの先頭単項式でも割れないような単項式の集合) である. よって E = 0 は

cs (λt ) = 0(∀s ∈ S)

22

Algorithm 1 FGLM アルゴリズム
Input : 0 次元イデアル I の ≺ に関するグレブナー基底 G
Output : I の ≺1 に関する簡約グレブナー基底
1: G1 ← ∅; B ← ∅; N ← ∅; H ← ∅; h ← 1
2: loop3:

E ← NF≺ (h, G) +∑λt NF≺ (t, G)

t∈B

4:
5:
6:
7:
8:
9:

if E = 0 を満たす λt = at ∈ K (t ∈ B) が存在する then∑G1 ← G1 ∪ {h +at t}H ← H ∪ {h}

t∈B

else
B ← B ∪ {h}N ← N ∪ {x1 h, . . . , xm h}

10:

end if11:

N ← N ∩ {t | t は単項式で, すべての s ∈ H に対し s̸ |t}12:

if N = ∅ then

13:
14:

return G1
else

15:

h ← N 中で ≺1 に関して最小の単項式

16:N ← N \ {h}17:

end if

18: end loop

23となる. cs (λt ) は λt の一次式なので, E = 0 をみたす λt = at を探すことは線形方程式系の求解に帰着される.

5.3.3

FGLM アルゴリズムの計算量

FGLM における主な計算は, NF≺ (t, G) の計算と, fh |λt =at ∈ I をみたす
λt = at が存在するかどうか線形方程式系を解いて調べる計算である. これ以外の手間は, 単項式のリスト操作などであり無視できる. 以下で dimK R/Iを γ とおく. γ は I の零点の個数と等しい.

• NF≺ (h, G) の計算
h ̸= 1 のとき h = xi h′ と書けるので, NF≺ (h, G) = NF≺ (xi NF(h′ , G), G)
により, xi 倍写像 f 7→ NF≺ (xi f, G) の, R/I の線形空間としての基底 S に関する表現行列を求めておけば, 一つの NF≺ (h, G) は, 既に求めてあるはずの NF≺ (h′ , G) から手間 γ 2 で計算できる. この表現行列の計算は, γ 個の単項式 s ∈ S に関する NF≺ (xi s, G) の計算であるが, これを既に計算してある値を再利用しながら行うことで, xi 倍写像(i = 1, . . . , m) の表現行列を O(mγ 3 ) で行うことができる.
• 線形方程式の求解各ステップにおける λt の線形方程式系は高々 O(γ 3 ) で解けるが, それを単純にループの回数 (O(mγ) であることが示される) だけ繰り返すとO(mγ 4 ) となってしまう. しかし, 各 NF≺ (t, G) たちを s ∈ S の一次式
として三角化したものに置き換えて保持しておけば, 新たな NF≺ (h, G)
に対し E = 0 となる λt = at が存在するかどうかは, この三角基底による剰余計算により判定でき, 1 ステップ O(γ 2 ) となる. さらに, この剰余が 0 でないとき, この剰余を付け加えても三角基底という性質は保たれる. よって, ループの回数と合わせて, 線形方程式求解で必要となる手間は O(mγ 3 ) である.
以上により, FGLM アルゴリズムの計算量は O(mγ 3 ) となる.

Summation polynomial から構成される代数方程式系の場合, 変数は zi,jq(i = 1, . . . , m, j = 1, . . . , n′ ) の mn′ 個であり, 各 zi,j に対し zi,j− zi,j = 0′

がイデアルの生成系に入っているので, 解の個数は高々 q mn 個である. よっ′て γ は高々 q mn となり, FGLM による辞書式順序グレブナー基底への項順′

序変換の最悪計算量は O(mn′ q 3mn ) となる. しかし, ECDLP の場合は一般
的に γ は計算量的に無視できるほどに小さいことが知られている14 . 従って,
14 この γ は連立代数方程式の解の個数と等しいことから, ECDLP を指数計算法で解く場合
は, γ が大きいほど得られる relation の個数が増加する. これは指数計算法で連立代数方程式を解く回数が減ることにつながる. しかし, 現時点では γ を増加させて計算効率を上げるアルゴリ
ズムは発表されていない.

24

ECDLP を指数計算法で解く場合, F4 -style のアルゴリズムで必要とされる計算コストに比べて, FGLM のそれは無視できるほどに小さい.

ECDLP に関する指数計算法の研究動向

6

ECDLP に関する指数計算法の研究動向については [15] にまとめられており, 特にその 10.2 節では E(F2n ) 上の ECDLP を準指数時間で解く指数計算法の実現可能性について述べられている. その議論のキーワードとなっているのが first fall degree assumption である. この節では first fall degree

assumption について説明する. また, 素体 Fp における ECDLP への指数計算法の適用 [23] についても述べる.

6.1

First fall degree assumption (FFDA)

2012 年, Petit と Quisquater は first fall degree assumption (FFDA) とよ
ばれる仮定を導入することで, E(F2n ) 上の ECDLP を指数計算法で解くため′に必要な計算量が準指数時間 O(2C n

2/3

log n

) であることを示した [24]. 但し′

C は 2 未満の定数とする. さらに, 拡大次数 n がおよそ 2000 より大きい場
合は, 指数計算法の計算コストは generic algorithm のそれより小さくなることを示した. しかし ECDLP における first fall degree assumption の妥当性については議論が分かれている [15]. この節では first fall degree assumption
に関する近年の研究動向について述べる.

6.1.1

First fall degree assumption (FFDA) を仮定した計算量評価

ECDLP に対する指数計算法では一般的に FGLM の計算量は F4 -style の
計算量 CF4 より小さいため, point decomposition の計算量 Cdcmp は CF4 で評価される. さらに CF4 は degree of regularity Dreg で決定される.
この Dreg を近似する値として, Petit と Quisquater は first fall degree

Dfirst を導入した (この節でも X = {x1 , · · · , xm } であることに注意.):
定義 6.1. 多項式環 R := Fqn [X] に対して F := {f1 , · · · , fk } ⊂ R とする.
ある h1 , · · · , hk ∈ R に対して, Dfirst が以下の条件を満たす最小の次数であるとき, Dfirst を F の first fall degree とよぶ:•∑ki=1 hi fi ̸= 0,• deg(∑ki=1 hi fi ) < Dfirst ,• Dfirst = maxi (deg(fi ) + deg(hi )).

25(この節でも Z ′ = {z1,1 , · · · , zm,n′ } であることに注意.) さらに, first falldegree に対して以下の仮定を導入した:
仮定 6.2. f ∈ F2n [X] は各変数 xi に対して degxi f ≤ 2t − 1 を満たすとす
る. F2n を F2 -ベクトル空間としてみたときの部分ベクトル空間 V の次元をn′ とする. V を利用した f への Weil descent で生成される連立代数方程式2を構成する多項式集合を Ff ⊂ F2 [Z ′ ] とし, さらに Ff に全ての zi,j− zi,jを加えた集合を Ff,Frob とする. このとき Ff,Frob の Dreg ついて以下が成り立つ:

Dreg ≈ Dfirst .
Summation polynomial Sm+1 の xm に r ∈ F2n を代入した多項式 Sm+1 |xm+1 =rは仮定 6.2 の f の条件を満たす. そのためさらに以下の仮定を導入している:
仮定 6.3. f が summation polynomial から生成された多項式であっても仮定 6.2 は成り立つ.
仮定 6.2 の f を Sm+1 |xm+1 =r に対応させたときの Ff,Frob を FSm+1 ,Frobとする. このとき, Petit と Quisquater は FSm+1 ,Frob で与えらえる連立代数
方程式を解くことに適した方法として, ブロックグレブナー基底アルゴリズ
ムを主張しており, 仮定 6.3 のもとでそれを解くために必要な計算量 Cdcmp
は O((n′ )ωDfirst ) で, Dfirst ≈ m2 と見積もっている:

Cdcmp = O((n′ )ωm ).
2(28)

ただし, 2 < ω ≤ 3 は実行可能行列乗算指数とする.

(24) に (28) を代入して E(F2n ) 上の ECDLP を解くために必要な計算量
Ctotal (F2n ) を評価する:′′

O(2m + 2n m!(n′ )ωm + 2n ω ).
2

2

(29)

ここで 1/2 < α < 1 に対して n′ = nα , m = n1−α とする. このとき

m! ≈ n1−α log n1−α(30)が成り立つ [14]. 従って, (29), (30) より

Ctotal (F2n )=O(2t1 + 2t3 + 2t2 ),2(1−α)

(31)

t1

:= n

,

t2

:= nα + n1−α (1 − α) log n + ωn2(1−α) α log n,

t3:= ωnα .

よって最適化することで, (31) で α = 2/3 を代入することにより以下を得る:

Ctotal (F2n ) = O(2Cnただし定数 C は C < 2 を満たす.

2/3

log n

)

26

6.1.2

First fall degree assumption (FFDA) の妥当性

仮定 6.2, 6.3 は first fall degree assumption (FFDA) とよばれ, いくつかの文献では FFDA を支持する結果や, それを利用して F2n 上の ECDLP を解くために必要な計算量を見積もっている [19], [24], [27]. しかしそれらの文献において FFDA は証明されていない. さらにこれらの文献の数値実験で扱われた有限体 F2n の拡大次数 n の大きさは, [19] では n = 26, [24] では n = 20, [27] では n = 40 までとなっており, generic algorithm による

ECDLP に関する計算の記録 (表 1) に比べてずっと小さい.
FFDA が成り立たない場合は存在する. 例えば多項式集合 F1 ⊂ F[x1 , x2 ]と F2 ⊂ F[x3 , x4 ] が与えられたとして, F1 , F2 の degree of regularity をそれ
ぞれ Dreg,1 , Dreg,2 とし, 同様にそれぞれの first fall degree を Dfirst,1 , Dfirst,2とする. さらに以下が成り立つとする:

Dfirst,1 ≈ Dreg,1 << Dreg,2 ≈ Dfirst,2 .
これは F1 , F2 において FFDA が成り立っていることを意味する. しかし

F = F1 ∪ F2 ⊂ F[x1 , · · · , x4 ] について考えたとき, F の degree of regularity
は Dreg,2 であり, また first fall degree は Dfirst,1 であるため FFDA は成り
立たない.

FFDA の正当性に疑問を示す結果が存在する. 例えば [17] では, いくつかの n ≤ 40 に対して E(F2n ) 上の ECDLP を S3 を利用して解く実験を行っており, Dfirst と Dreg の差は n に依存する実験結果を与えた. 即ち, これはFFDA が成り立たないことを主張している.
上述のように FFDA は成り立つことも成り立たないことも厳密にはまだ証明されておらず, また十分大きな拡大体での数値実験の検証も実行されていない. しかし, summation polynomial と Weil descent を利用した ECDLPに関する指数計算法によって, 十分大きな拡大体での数値実験が現時点で成功していないことを考慮すると, FFDA は有効でないと推測される [15].

6.2

素体 Fp に関する ECDLP と指数計算法

ECDLP だけではなく, (1) のような一般の DLP を解く場合において, 巡回
群 G の位数が小さな素数の積で表される場合, 即ち相異なる素数 pi によって

#G =

k
∏

pei i

i=1

のように表されるとき, この G 上の DLP は Pohlig-Hellman のアルゴリズ
ムで

O

( k
∑
i=1

(ei (log #G +

√

)
pi ))

27

回の群演算で解かれることが知られている. 従って, 暗号で利用する巡回群の位数は素数となるように設定している.

2016 年, Petit らは素体上の楕円曲線 E(Fp ) における ECDLP を解く場合に, 巡回群の位数ではなく, 標数 p について以下の条件が成り立つときに有効と思われる指数計算法の因子基底の設定を提案した [23]:p − 1 =: ST, T :=k∏pj ≈ p1/m .

j=1

ただし, pi は与えられた定数 B 以下の素数とし15 , m は利用する summation

polynomal Sm+1 で与えられるとする. F∗p の乗法部分群で位数が T である
ものを V として因子基底 F を次のように設定する:

F = {πℓ ∈ E(Fp ) | x(πℓ ) ∈ V }.
このとき, x(πℓ ) は Fp におけるL(x) = 1 − xT(32)の根である. この L は以下の関数の合成関数として表すことができる,

Lj (x) =xpj (j = 1, · · · , k − 1),

Lk (x) = 1 − xpk ,L(x) =(Lk ◦ · · · ◦ L1 )(x).

このとき以下の多項式で与えられる連立代数方程式を解くことで relation を得ることができる:0=

Sm+1 (x1,1 , · · · , xm,1 , x(R)), (R = [a]P + [b]T ∈ E(Fp )),xi,j+1=

Lj (xi,j ) (i = 1, · · · , m; j = 1, · · · , k − 1),0=

Lk (xi,k ) (i = 1, · · · , m).

この提案方法の計算量の評価は与えられていない. また [23] ではこの提案方法を基にしたいくつかの工夫について述べられているが, 20-bit 程度の大きさの p に対する実験結果が報告されているだけで, 現時点では楕円曲線暗号の脅威とはなっていない.

7

まとめ
本稿では研究が近年盛んに行なわれている, summation polynomial と Weildescent を利用した, ECDLP に関する指数計算法について議論した. その内
15 i ̸= i′ に対して pi ̸= pi′ である必要はない.

28

容は, サーベイ論文 [15] を基に, この種の計算方法の概要を整理したものである. [15] では連立代数方程式を解く方法に関する記述が少ないが, この部分
は first fall degree assumption などの理解に必要な部分であるため, その主な計算方法として F4 -style のアルゴリズムと FGLM を組み合わせた方法に関する節を設けた. また [15] が公開された後に発表された, 素体上の楕円曲
線 E(Fp ) 上の ECDLP を考慮した指数計算法 [23] についても説明した.
第 6 節で述べたように E(F2n ) 上の ECDLP を解く指数計算法で, その計算量が準指数時間になると主張している文献がいくつか存在する. しかし

first fall degree assumption など, 利用している仮定の正当性は必ずしも保証されているとは限らない. Generic algorithm と ECDLP を解く指数計算法の比較で重要なのは, [15] でも述べられているように, 現時点で実際にどれくらいの大きさの有限体における ECDLP が解けているかである. 指数計算法の場合は, 限られた小さな有限体上の楕円曲線における実験しか報告例がない
ことから, 現時点では ECDLP を利用した暗号の安全性は generic algorithmの計算量によって評価されるべきである. また, 十分大きな有限体上におけるECDLP を指数計算法で解く場合に, 第 5.2.1 節で述べたように, F4 -style のアルゴリズムが膨大な量のメモリを必要とすることが障害となっている. このことを, ECDLP に関する指数計算法が現時点で有効でない一因として挙げる. しかしながら, ECDLP に関する指数計算法の研究動向は今後も注視する必要がある.

参考文献[1] D. J. Bernstein, S. Engels, T. Lange, R. Niederhagen, C. Paar,
P. Schwabe, and R. Zimmermann. Faster discrete logarithms on fpgas. IACR Cryptology ePrint Archive, Vol. 2016, p. 382, 2016.
[2] J. W. Bos, M. E. Kaihara, T. Kleinjung, A. K. Lenstra, and P. L.
Montgomery. Solving a 112-bit prime elliptic curve discrete logarithm
problem on game consoles using sloppy reduction. IJACT, Vol. 2, No. 3,
pp. 212–228, 2012.
[3] Certicom Research. Certicom ECC challenge (latest update: November 10, 2009 ). https://www.certicom.com/images/pdfs/challenge2009.pdf, 2009.
[4] H. Cohen.

A Course in Computational Algebraic Number Theory.

Springer, 1993.
[5] H. Cohen, G. Frey, R. Avanzi, C. Doche, T. Lange, K. Nguyen, and
F. Vercauteren. Handbook of Elliptic and Hyperelliptic Curve Cryptography. Chapman and Hall/CRC, 2005.

29[6] D. A. Cox, J. Little, and D. O’Shea.

Using Algebraic Geometry.

Springer, 1998.
[7] R. Crandall and C. Pomerance. Prime Numbers: A Computational
Perspective (2nd Edition). Springer, 2005.
[8] CRYPTREC.

CRYPTREC Report 2014, 2014.

http://www.

cryptrec.go.jp/report/c14\_eval\_web.pdf.
[9] C. Diem. On the discrete logarithm problem in elliptic curves. Compositio Mathematica, Vol. 147, pp. 75–104, 2011.
[10] J.-C. Faugère. A new eﬃcient algorithm for computing Gröbner bases(F4 ). J. Pure and Applied Algebra, Vol. 139, No. 1–3, pp. 61–88, 1999.
[11] J.-C. Faugère. A new eﬃcient algorithm for computing Gröbner bases
without reduction to zero (F5 ). In ISSAC 2002, Proceedings, pp. 75–83,
2002.
[12] J.-C. Faugère, P. Gaudry, L. Huot, and G. Renault. Using symmetries
in the index calculus for elliptic curves discrete logarithm. J. Cryptology, Vol. 27, No. 4, pp. 595–635, 2014.
[13] J.-C. Faugère, P. M. Gianni, D. Lazard, and T. Mora. Eﬃcient computation of zero-dimensional gröbner bases by change of ordering. J.
Symb. Comput., Vol. 16, No. 4, pp. 329–344, 1993.
[14] J.-C. Faugère, L. Perret, C. Petit, and G. Renault. Improving thecomplexity of index calculus algorithms in elliptic curves over binary
fields. In EUROCRYPT 2012, Proceedings, pp. 27–44, 2012.
[15] S. D. Galbraith and P. Gaudry. Recent progress on the elliptic curve
discrete logarithm problem. Des. Codes Cryptography, Vol. 78, No. 1,
pp. 51–72, 2016.
[16] P. Gaudry. Index calculus for abelian varieties of small dimension
and the elliptic curve discrete logarithm problem. J. Symb. Comput.,Vol. 44, No. 12, pp. 1690–1702, 2009.
[17] M.-D. A. Huang, M. Kosters, and S. L. Yeo. Last fall degree, hfe, andweil descent attacks on ECDLP. In CRYPTO 2015, Proceedings, PartI, pp. 581–600, 2015.
[18] T. Izu. Current status on solving ECDLP. In SCIS 2017, Proceedings,
2017.

30

[19] K. Karabina. Point decomposition problem in binary elliptic curves.
IACR Cryptology ePrint Archive, 2015. http://eprint.iacr.org/
2015/319.
[20] M. Kreuzer and L. Robbiano. Computational Commutative Algebra 2.
Spromger, 2005.
[21] D. Lazard. Gröbner-bases, gaussian elimination and resolution of systems of algebraic equations. In EUROCAL ’83, Proceedings, pp. 146–
156, 1983.
[22] E. W. Mayr and S. Ritscher. Dimension-dependent bounds for gröbner
bases of polynomial ideals. J. Symb. Comput., Vol. 49, pp. 78–94, 2013.
[23] C. Petit, M. Kosters, and A. Messeng. Algebraic approaches for theelliptic curve discrete logarithm problem over prime fields. In PKC
2016, Proceedings, Part II, pp. 3–18, 2016.
[24] C. Petit and J.J. Quisquater. On polynomial systems arising from a
Weil descent. In ASIACRYPT 2012, Proceedings, pp. 451–466, 2012.
[25] J. M. Pollard. Monte carlo methods for index computation (mod p).
Math. Comp., Vol. 32, pp. 918–924, 1978.
[26] I. A. Semaev. Summation polynomials and the discrete logarithm
problem on elliptic curves. IACR Cryptology ePrint Archive, 2004.
http://eprint.iacr.org/2004/031.
[27] I. A. Semaev.

New algorithm for the discrete logarithm problem

on elliptic curves.

IACR Cryptology ePrint Archive, 2015.

http://eprint.iacr.org/2015/310.
[28] D. Shanks. Class number, a theory of factorization and genera. In
Proc. Symp. Pure Math. 20, pp. 415–440, 1971.
[29] E. Wenger and P. Wolfger. Solving the discrete logarithm of a 113bit koblitz curve with an fpga cluster. In SAC 2014, Proceedings, pp.
363–379, 2014.
[30] E. Wenger and P. Wolfger. Harder, better, faster, stronger: elliptic
curve discrete logarithm computations on fpgas. J. Cryptographic Engineering, Vol. 6, No. 4, pp. 287–297, 2016.

付録４

CRYPTREC-EX-2603-2016

Cryptographic Multilinear Maps
A Status Report
Mehdi Tibouchi
NTT Secure Platform Laboratories
January 2017

Executive Summary
A few years ago, Garg, Gentry and Halevi (EUROCRYPT 2013) proposed the first candidate
construction of cryptographic multilinear maps, a primitive first envisioned a decade earlier
by Boneh and Silverberg (Contemp. Math. 2003) as a higher-dimensional generalization ofbilinear pairings on elliptic curves.
Boneh and Silverberg themselves had pointed out several interesting applications ofmultilinear maps, such as one-round multiparty key agreement, verifiable pseudorandomfunctions and efficient broadcast encryption. Furthermore, following the construction ofGarg et al., a flurry of new research uncovered even more far-reaching applications, including
long-awaited primitives like attribute-based encryption for all circuits and general functional
encryption, fruitful new ideas like witness encryption, and the startlingly powerful notionof indistinguishability obfuscation.
However, the candidate construction of Garg et al. was not provably secure. As aresult, part of the new research focused on clarifying its security, and on exploring alternate
techniques to achieve multilinear maps.
This document aims at giving a bird’s eye view of the main results so far, in termsof new definitions, candidate constructions and major applications, and to summarize
known attacks against existing schemes, discussing their current status as far as security isconcerned.
This is a very active and rapidly evolving area of research, so we cannot even comeclose to an exhaustive survey of existing literature, and although we have strived to take
into account some of the most recent published results as of late 2016, significant shifts in
our understanding of multilinear maps in the near future are not only impossible to ruleout but even likely to occur. Indeed, it has happened on several occasions already that a
newly proposed scheme has been broken, fixed and broken again within the span of a few
weeks.
With those caveats, here are some notable takeaways from the state of the art at thispoint in time:• There are three main constructions proposed for multilinear maps: the original
one from Garg, Gentry and Halevi (GGH13), a variant “over the integers” due to3

4

EXECUTIVE SUMMARY
Coron, Lepoint and Tibouchi (CLT13), and a “graph-induced” construction by Gentry,
Gorbunov and Halevi (GGH15).
• Although these constructions are conceptually inspired by fully homomorphic encryption schemes that can be proved secure under well-understood hardness assumptions,the multilinear map schemes themselves have no proof of security. (Note that thesame is true for bilinear pairings as well).
• Over each of the three constructions, there exists a polynomial time attack against thebasic Diffie–Hellman key multiparty exchange protocol. In fact, the conceptual counterpartof the CDH assumption fails to hold. As a result, most of the (stronger) assumptions
used to prove the existence of more interesting cryptographic notions like witness
encryption and indistinguishability obfuscation also fail to hold.
• However, this does not necessarily translate to a direct attack against the actual
instantiations of the primitives themselves. For indistinguishability obfuscation, inparticular, attacks are known against some instantiations, but countermeasures havebeen proposed to circumvent them. Thus, there are constructions of indistinguishability
obfuscation over GGH13, CLT13 and GGH15 against which no attack is known at thepresent time. Whether this will continue to hold is difficult to predict.
• Theoretically speaking, and assuming standard cryptographic hardness assumptions,
it is known that indistinguishability obfuscation and secure functional encryption are
essentially equivalent, and imply the existence of secure n-linear maps for polynomiallylarge n (both in the original sense of Boneh and Silverberg and in the sense of gradedencodings, as introduced by Garg et al.). This means that any alternate method toconstruct indistinguishability obfuscation or functional encryption would indirectly
yield secure multilinear maps. Unfortunately, no such method is known at present.
• Conversely, it has also been shown that 5-linear maps for which the (subexponential) DDH assumption holds are sufficient to obtain indistinguishability obfuscation.
This means that one can bootstrap constant-degree multilinear maps to arbitrary
polynomial degree, and also that we seem to be tantalizingly close to achieving
indistinguishability obfuscation (and hence everything else) from bilinear pairings, aprimitive that we are much more confident does exist. Closing the gap from degree 5
to degree 2, however, appears to be an elusive problem.
• There is no prospect of achieving practical levels of efficiency for any of the primitives
considered in this document in the foreseeable future.

Contents
Executive Summary

3

1 Introduction
1.1 From Diffie–Hellman to multilinear maps . . . . . . . . . . . . . . . . . . .
1.2 Multilinear maps from geometry? . . . . . . . . . . . . . . . . . . . . . . .
1.3 Fully homomorphic encryption and graded encoding schemes . . . . . . .
1.4 Some applications of multilinear maps . . . . . . . . . . . . . . . . . . . . .
1.5 Attacks against multilinear map constructions . . . . . . . . . . . . . . . .

7
7
8
10
12
15

2 Definitions and Constructions
2.1 Multilinear maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Graded encoding schemes . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Security definitions: the example of Diffie–Hellman key exchange . . . . . .
2.4 A concrete instantiation: the CLT13 graded encoding scheme . . . . . . .
2.5 GGH15 and the graph-induced approach . . . . . . . . . . . . . . . . . . .

17
17
18
20
22
26

3 Overview of Known Attacks
3.1 Zeroizing attacks: breaking Diffie–Hellman key exchange over GGH13 and
CLT13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Graph-induced cryptanalysis: breaking GGH15 key exchange . . . . . . . .
3.3 Attacks on obfuscation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

4 Conclusions and Perspectives
4.1 Status of multilinear map-based primitives . . . . . . . . . . . . . . . . . .
4.2 Future prospects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43
43
44

Bibliography

45

5

31
34
39

Chapter 1

Introduction
1.1

From Diffie–Hellman to multilinear maps

“We stand today on the brink of a revolution in cryptography,” wrote Diffie and Hellmanin their seminal New Directions paper from 1976 [DH76], which introduced the main ideasof public-key cryptography. In particular, they described the well-known key exchange
protocol which bears their name: Alice and Bob can derive a common secret by exchanging
messages publicly on an insecure channel. To do so, they agree on a group G (say a cyclic
subgroup of large prime order q in the multiplicative group F∗p of a finite field Fp ) and agenerator g of G. Then Alice and Bob choose random exponents a, b ∈ {0, . . . , q − 1}, andcompute the group elements
A = g a and B = g b
respectively. Alice sends A to Bob and Bob B to Alice, and they can then both computethe common group element g ab = Ab = B a . However, the problem of distinguishing g abfrom a random element of G given g, g a and g b is believed to be hard (for the group
G mentioned above, and many other groups like suitably chosen elliptic curves). As aresult, an eavesdropper learns no information about the common secret by intercepting thecommunication between the two parties.
As we well know, that idea, and the corresponding Decisional Diffie–Hellman (DDH)
hardness assumption, proved extremely fruitful. It can be used to construct semanticallysecure homomorphic encryption [ElG85], digital signatures [Sch91], efficient pseudorandomfunctions [NR04], CCA-secure encryption [CS03] and more. And it is cited as one of themain reason for Diffie and Hellman’s Turing award.
Nevertheless, some cryptographic primitives cannot be constructed from DDH. For
example, Papakonstantinou et al. were able to obtain a black-box separation result [PRV12]
between DDH and identity-based encryption (IBE). To construct IBE, a more powerfulsetting is necessary, and that setting emerged in the early 2000s, bringing about what would
be fair to call a second “revolution in cryptography”: the era of bilinear pairings.
The existence of efficiently computable bilinear pairings between certain families of
elliptic curve groups was first understood as a cryptanalytic liability [MVO93], but Joux
7

8

CHAPTER 1. INTRODUCTION

noticed that it could be used constructively to generalize Diffie–Hellman key exchange tothree parties in one round [Jou04]. Indeed, if G is a cyclic group of prime order q endowedwith a symmetric non degenerate bilinear pairing e : G × G → GT , Alice, Bob and Charlie
can use it to derive a common secret as follows. They choose a, b, c ∈ {0, . . . , q − 1} at
random and compute
A = g a , B = g b and C = g c
respectively, for some agreed upon generator g. They can then all compute the commonvaluee(g, g)abc = e(A, B)c = e(B, C)a = e(C, A)b
but an eavesdropper seeing A, B and C cannot distinguish that value from a random
element of GT , assuming the hardness of the decisional bilinear Diffie–Hellman (DBDH)
problem, which is believed to be hard over well-constructed pairing-friendly elliptic curves.
Using this new bilinear structure, Boneh and Franklin were then able to construct thefirst IBE scheme [BF03], opening up the path to numerous new cryptographic notions,
including public-key encryption with keyword search [BDOP04], attribute-based encryption(for boolean formulas) [GPSW06a] and homomorphic encryption for quadratic polynomials [BGN05]. It also led to more efficient constructions of previous primitives such as
signatures [BLS04], group signatures [BBS04], non-interactive zero-knowledge proofs [GS08]
and more. In short, the possibility offered by bilinear pairings to carry out not only linear
operations in the exponent of group elements but also one level of multiplication proved tobe particularly fecund. It also earned Joux, Boneh and Franklin the 2013 Gödel prize.
Soon after the cryptographic community realized the power of bilinear maps, Bonehand Silverberg [BS03] asked the natural question of whether this development could be
pursued further, in such a way that several levels of multiplications could be carried out inthe exponent of group elements. This would be possible using what they called cryptographic
multilinear maps.

1.2

Multilinear maps from geometry?

For cyclic groups G and GT of prime order q, a map e : Gn → GT is said to be a (symmetric)
n-linear map (or just a multilinear map when n is omitted) if for any a1 , . . . , an ∈ Z and
g1 , . . . , gn ∈ G, we havee(g1a1 , . . . , gnan ) = e(g1 , . . . , gn )a1 ···an ,and furthermore e is non-degenerate in the sense that e(g, . . . , g) is a generator of GT for
any generator g of G. For such a structure to be of cryptographic interest, one needs to beable to compute efficiently with it (in the sense that e itself and the group operations on G
and GT are efficiently computable), and it needs to satisfy some notion of security—the
most basic of which would be to ask that the discrete logarithm problem in G be hard(which implies that it is hard in GT as well). This is in essence how Boneh and Silverberg
define cryptographic multilinear maps [BS03].

1.2. MULTILINEAR MAPS FROM GEOMETRY?

9

They observed that if one can construct such cryptographic multilinear maps (satisfying
slightly stronger security notions that the basic discrete log one), a number of interesting
cryptographic consequences follow, beyond what can be done with bilinear pairings. In
particular, using an n-linear maps, one can obtain a one-round Diffie–Hellman-like key
exchange protocol between n + 1 parties, as a direct generalization of Joux’s protocol.
Indeed, if users U0 , . . . , Un want to derive a common secret, they can simply pick random
exponents a0 , . . . , an , compute the group elements Ai = g ai ∈ G and broadcast them.
They are then able to compute the common value e(g, . . . , g)a0 ...an : user Uj can obtainit as e(Aj+1 , . . . , An , A0 , . . . , Aj−1 )aj . However, under the obvious generalization of thedecisional Diffie–Hellman assumption, that value is indistinguishable from a random elementof GT given only the Ai ’s, making the protocol secure against eavesdroppers.
Other applications mentioned by Boneh and Silverberg include efficient unique signatures and broadcast encryption with short keys and optimal communication complexity. It
turns out that multilinear maps also imply much stronger cryptographic notions, including
indistinguishability obfuscation (see §1.4 below).
So do these multilinear maps exist? The question is especially natural in view of thefact that bilinear pairings on elliptic curves are a special case of a type of multilinear
structure that exists on very large classes of algebraic geometric objects. Roughly speaking,a geometric object (say a project algebraic variety) gives rises to certain groups called“cohomology groups,” together with multilinear maps between them known as cup-products.
An object of dimension d has cohomology groups of degrees 0 to 2d and degrees add up in
cup-products, so one could in principle construct a 2d-linear map from degree 1 to degree
2d from any d-dimensional object; in fact, elliptic curve pairings are essentially of that form.
However, it is unclear in general how to compute on those groups efficiently (or what thesuitable analogue of pairing-friendly elliptic curves would be).
Boneh and Silverberg carried out a detailed analysis of the most direct generalization of
elliptic curves to higher dimensions, namely abelian varieties. As for elliptic curves, their setof points is endowed with an efficiently computable group law, and that group is isomorphic
to degree 1 cohomology, so that one can actually compute inside that cohomology. This
makes it possible to define multilinear maps in various ways. Unfortunately, Boneh andSilverberg found that, unlike what happens with elliptic curves, the target group of thosemultilinear maps does not appear to lend itself to efficient arithmetic operations: what one
gets is essentially a higher tensor power of the multiplicative group. For example, over thefinite field Fp , the target group is essentially F∗p , except that g a is represented as the tuple(g a1 , . . . , g ad ) ∈ (F∗p )d for any (a1 , . . . , ad ) such that a = a1 · · · ad . Clearly, one cannot evenefficiently decide equality in that group without breaking the computational Diffie–Hellman
problem.
More generally, their paper shows that, under widely believed assumptions, it is impossible to construct n-linear maps from geometry whose target group is F∗p itself (as opposed toa higher tensor power, say) for any n > 2. This does not entirely rule out multilinear maps
from geometry (e.g. one could still conceivably have multilinear maps whose target groupwould lie in an elliptic curve or some other group with efficient arithmetic), but makes it
implausible enough that the problem has only been revisited on a handful of occasions

10

CHAPTER 1. INTRODUCTION

since then [RH09]. In any case, after Boneh and Silverberg’s paper, constructing multilinear
maps was considered intractable for at least a decade.

1.3

Fully homomorphic encryption and graded encoding
schemes

New ideas to tackle the problem of obtaining multilinear maps only came about after a third“revolution” swept the world of cryptography, mainly from the mid-2000s onwards: latticebased cryptography, ultimately leading to the construction by Gentry of a fully-homomorphic
encryption scheme [Gen09], which solved a major, 30-year old open problem [RAD78].
Before Gentry, some encryption schemes like those of ElGamal and Paillier [ElG85,
Pai99] had made it possible to carry out either additions or multiplications on ciphertexts.
The pairing-based scheme of Boneh, Goh and Nissim [BGN05] supported arbitrarily many
additions and one level of multiplications. In contrast, fully-homomorphic encryption (FHE)
makes it possible to carry out both additions and multiplications on ciphertexts, arbitrarily
many times (and as a result, any efficient function can be evaluated homomorphically on
ciphertexts).
A few years later, this led to the intuition that FHE ciphertexts behave a bit like theexponents of group elements in a multilinear map. More precisely, they behave similarly tothe exponents of group elements in what Garg, Gentry and Halevi call a graded encoding
scheme [GGH13a]. Roughly speaking, such a scheme is a family of efficient cyclic groups
G0 , . . . , Gn of the same prime order q together with efficient non-degenerate bilinear pairingse : Gi × Gj → Gi+j whenever i + j ≤ n. In other words, if we fix a family of generators gi
of the Gi ’s in such a way that gi+j = e(gi , gj ), we can add exponents within a given groupGi :gia · gib = gia+b
and multiply exponents from two groups Gi , Gj as long as i + j ≤ n:a·be(gia , gjb ) = gi+j.

This makes g1a somewhat similar to an “FHE encryption” of a.
Of course, there are a number of differences. First, FHE ciphertexts should be randomized. This is not a serious difficulty: one can allow for randomized representationsof group elements as well, and such representations are in fact permitted in Garg et al.’s
definition of a graded encoding scheme. However, one should still make it possible to test
the equality of two (randomized representations of) group elements in Gn , say; this cannot
be done publicly in an FHE scheme, as it would break semantic security. Nevertheless, thismay be doable once some limited information about the FHE secret key is made public.
Finally, a third difference is that one should not be able to invert the bilinear pairings, so
the representations of gia and gja cannot be of the same form when i 6= j. This can be dealt
with by introducing some secret multiplicative factor in ciphertexts that will appear at thepower i in the ciphertext corresponding to an element of Gi .

1.3. FULLY HOMOMORPHIC ENCRYPTION AND GRADED ENCODING SCHEMES

11

These intuitive ideas essentially describe how Garg, Gentry and Halevi’s GGH13
multilinear maps [GGH13a] are obtained based on (the large message space, somewhat
homomorphic variant of) Gentry’s FHE scheme [Gen09].
More precisely, Gentry’s scheme is defined over the cyclotomic ring R = Z[x]/(xm + 1)
for some m, with respect to a certain principal ideal I = hgi with small generator g. The
plaintext space consists of small elements in R/I (say polynomials with 0/1 coefficients)
and a message m is encrypted as c = m + r · g mod q ∈ Rq = R/qR for some small noiser. In contrast, a GGH13 encoding of m at level i is of the form:
ci =

m+r·g
mod q,
zi

where z is a secret masking element, and one can see that linear operations at a given level
as well as multiplications between levels work as expected (as long as the noise values r
remain appropriately small). Equality tests at level n are carried out using a zero-testing
parameter pzt of the form:
pzt = h · zn · g−1 mod q
where h is small: the idea is that pzt · cn ≡ h · (mg−1 + r) mod q will be small if and only
if m = 0, allowing to test for equality to zero, and then usual equality by linearity.
For Gentry’s scheme to be secure, the generator g of I has to be kept secret, although a“bad” basis of I consisting of large vectors can be published. Since pzt depends on g, we
can see that the zero-testing parameters reveals some information about the FHE secret key
as expected. This partial key leakage, which is inherent to the conceptual construction ofmultilinear maps from FHE, is the reason why we are not able to prove the scheme secure
even though the FHE scheme itself has a proof of security.
Soon after Garg et al. published their candidate construction, another FHE-inspired
construction was described by Coron, Lepoint and Tibouchi [CLT13a], related this time to
the FHE scheme “over the integers” of van Dijk et al. [vDGHV10] (or more precisely, on
the batch variant due to Cheon et al. [CCK+ 13]). The main ingredients of the construction
are essentially the same as those of [GGH13a], although a number of technical details aredifferent.
Later on, variants of those two constructions were proposed to address certain technicalissues, although with limited success [LSS14, CLT15]. In addition, a substantially different
construction (GGH15) was introduced by Gentry, Gorbunov and Halevi [GGH15], inspiredby the LWE-based FHE scheme of Gentry, Sahai and Waters [GSW13]. The functionality
achieved in GGH15 differs syntactically from that of GGH13 and CLT13: instead of being
arranged in a graded structure, the “groups” containing the encodings correspond to edges
on a directed acyclic graph, and two encodings can be multiplied together if and only iftheir associated edges are adjacent. It is not immediately obvious how to use that primitive
to construct the same cryptographic objects as with standard multilinear maps, but Gentry
et al. showed how it can be done in a number of specific instances, including multiparty
key exchange and obfuscation.

12

1.4

CHAPTER 1. INTRODUCTION

Some applications of multilinear maps

Multiparty Diffie–Hellman key exchange. As we have mentioned, the most direct
application of n-linear maps is a one-round protocol for (n + 1)-way Diffie–Hellman key
exchange. This protocol can also be instantiated in the graded encoding scheme setting of Garg
et al. [GGH13a]. Note however that since encodings are randomized, to derive a commonshared key, the parties need to be able to extract some deterministic value depending only on
the underlying “group element” that randomized encoding represent. This procedure is anextension of the zero-testing algorithm alluded to above, and is part of the formal definitionof a graded encoding scheme. See §2.2 for details, and §2.3 for a formal description of themultiparty Diffie–Hellman key exchange protocol over graded encoding schemes.
Attribute-based encryption for circuits. One of the great successes of pairing-based
cryptography is the realization of the notion of attribute-based encryption (ABE) [SW05,
GPSW06a]. In a (ciphertext-policy) ABE scheme, users have secret keys associated withcertain sets of attributes, and messages are encrypted with respect to policies which are
Boolean functions of the attributes. Thus, a user with attributes x and y can decrypt
ciphertexts associated with the policy x ∧ y, or the policy x ∨ z, but not the policy x ∧ z. A
major challenge in constructing ABE is the requirement that the scheme should achieve
collusion-resistance: if Alice has the attributes x, y and Bob has the attributes y, z, they should
not be able to decrypt a ciphertext with policy x ∧ z even when colluding together.
There are constructions of ABE based on bilinear pairings that support policies represented by arbitrary Boolean formulas of the attributes, or more generally by span programs [GPSW06b], but techniques based on pairings have so far failed to achieve ABE for
arbitrary polynomial-size Boolean circuits. One seems to encounter a fundamental limitationof bilinearity when trying to obtain collusion-resistance for arbitrary circuits, due to a classof attack known as backtracking [GGH+ 13c, §1].
On the other hand, over multilinear maps, relatively direct generalizations of the classicalpairing-based constructions of ABE yield ABE for all circuits right away, as shown by Garg
et al. [GGH+ 13c, GGHZ14]. Later on, Gorbunov, Vaikuntanathan and Wee were able
to construct attribute-based encryption for circuits from standard lattice assumptions aswell [GVW13], but the problem of a pairing-based realization remains open.
Witness encryption. Shortly after the first multilinear map candidate GGH13 was proposed, Garg, Gentry, Sahai and Waters introduced the intriguing and powerful new notionof witness encryption, and showed how it can be realized from multilinear maps [GGSW13]. A
witness encryption scheme is defined with respect to a certain NP language L, and consistsof two efficient algorithms: Encrypt(1λ , x, m) takes as input a security parameter, a string
x and a message m, and outputs a ciphertext c; Decrypt(c, w) takes as input a ciphertext
c and a string w, and outputs either a message m0 or ⊥. Correctness states that if x is
an instance of L and w is a witness of x ∈ L, then Decrypt(Encrypt(1λ , x, m), w) outputs
the same message m with probability 1. Soundness security states that the encryptions ofdistinct messages with respect to a string x ∈/ L are indistinguishable.

1.4. SOME APPLICATIONS OF MULTILINEAR MAPS

13

In other words, witness encryption makes it possible to encrypt messages with respect
to an instance x of the language L, and one can decrypt a ciphertext if one knows a witness
to the fact that x ∈ L. Security does not imply that knowing a witness is necessary to
decrypt in general. But depending on the language L, it may be the case that instances andnon-instances are computationally indistinguishable without a witness (consider e.g. thelanguage of Diffie–Hellman pairs over a DDH group), and soundness then implies a formof semantic security with respect to adversary who do not know the witness.
Witness encryption is a powerful notion; it implies strong forms of identity-based
encryption, and even ABE for all circuits in an essentially black-box way [GGSW13]. The
original instantiation was based on a hardness assumption that mimicked the construction
very closely, but constructions based on less ad hoc assumptions were later proposed aswell [GLW14, AJN+ 16].
Functional encryption. The notion of functional encryption is a far-reaching generalizationof ABE introduced by Boneh, Sahai and Waters [BSW11]. In a functional encryption scheme
defined with respect to a functionality F : K×X → {0, 1}∗ , a user secret key skk is associatedwith an element k the set K, and if a ciphertext c is an encryption of x ∈ X, the decryption
algorithm applied to skk and c returns F (k, x). For example, ciphertext-policy ABE is the
special case when elements k of K are sets of attributes, elements of X consist of a pair(m, f ) of a message and a predicate, and the functionality F (k, x) evaluates to m if f (k) istrue and to ⊥ otherwise.
A number of special cases of functional encryption have been described in the context
of pairing-based cryptography, such as predicate encryption for inner-products [KSW08,
OT09], spatial encryption [Ham11] and functional encryption for inner-product functionalities [ABDP15, BJK15], but they tend to be limited to functionalities that are “bilinear” insome sense.1
In contrast, one of the first results to emerge as a consequence of multilinear maps wasa construction of functional encryption for all circuits [GGH+ 13b]. That construction isin fact based on the indistinguishability obfuscator proposed in the same paper (see below),
so it relies on multilinear maps only in an indirect way in some sense. However, otherinstantiations based directly on multilinear maps (i.e. without obfuscation) have later been
described, starting with the scheme of Garg, Gentry, Halevi and Zhandry [GGHZ16].
Indistinguishability obfuscation. Perhaps the most impressive result that followed the
GGH13 multilinear map candidate was the description by Garg et al. [GGH+ 13b] of a
possible construction of indistinguishability obfuscation for all circuits. Program obfuscation,roughly speaking, aims at making it possible to publish programs whose functionality
depends on some secrets in such a way that even the source code of the program will notreveal those secrets. They are, in some sense, hidden in plain sight.
1

More general notions have also been achieved over lattices, such as leveled predicate encryption forcircuits [GVW15], and even some strong forms of functional encryption for circuits with a single-bit output [GKP+ 13]. Those notions, however, are weaker than the functional encryption schemes achieved frommultilinear maps.

14

CHAPTER 1. INTRODUCTION

Strong forms of obfuscation can be achieved for very limited classes of functionalities
using standard cryptographic techniques. For example, one can publish the source code ofa program that checks if its input is equal to a secret password (a so-called “point function”)
without revealing that password: simply put in the program the image of the password
under some one-way function. But being able to do the same with much more generalclasses of function is immensely powerful: for example, it allows to convert any symmetrickey encryption scheme to public-key (just publish as “public key” the obfuscated encryption
algorithm with an embedded symmetric key).
Unfortunately, as part of their study of various notions of obfuscation, Barak et al.
found that the most natural notion of program obfuscation (“black-box obfuscation”) is
in fact impossible to achieve for general programs [BGI+ 01, BGI+ 10]. However, they also
introduced weaker notions for which they could not obtain an impossibility result, including
indistinguishability obfuscation, which Goldwasser and Rothblum later showed to be, in a
precise technical sense, the best possible obfuscation [GR07].
An indistinguishability obfuscator O for a class C of circuits is a circuit transformation
which is functionality-preserving (i.e. for a circuit C ∈ C , O(C) is another circuit which
agrees with C on all inputs) and guarantees that for two circuits C1 , C2 ∈ C that arefunctionally equivalent (i.e. agree on all inputs), then O(C1 ) and O(C2 ) are computationallyindistinguishable. Note that it is not immediately clear what that notion could be usefulfor: for example, since point functions associated with distinct passwords are inequivalent,
there is no guarantee that applying an indistinguishability obfuscator to such a function
will hide the password.
Nevertheless, most readers of Barak et al. and Goldwasser–Rothblum would probably
have assumed that an impossibility result for indistinguishability obfuscation to be a lot
more likely than an instantiation, so Garg et al.’s construction [GGH+ 13b] came as a great
surprise. Moreover, their paper demonstrated that the notion is in fact actually extremely
powerful, since it was sufficient to achieve the long-awaited construction of functional
encryption. Following their work, a number of papers, such as [SW14], developed more
systematic techniques to use indistinguishability obfuscation, and it is now understood tobe powerful enough to construct, in the words of Bitansky and Vaikuntanathan, “almost
any known cryptographic object.” [BV15]
Relations between some of these notions. It is interesting to note that the more powerful notions described above, namely functional encryption and indistinguishability obfuscation, turn out to be essentially equivalent, and also equivalent to multilinear maps.
More precisely, as we have said, indistinguishability obfuscation (together with somestandard primitives like PRFs) implies (compact, multibit) functional encryption for all
circuits [GGH+ 13b], even with adaptive security [Wat15] (and in fact, there is a genericconversion from selective to adaptive security [ABSV15]). Conversely, (compact, multibit)
functional encryption for all circuits is sufficient to achieve indistinguishability obfuscation [AJ15, BV15]. In fact, recent candidate constructions of indistinguishability obfuscationsuch as [LV16, Lin16, AS16] have used some form of functional encryption as an intermediate building block.

1.5. ATTACKS AGAINST MULTILINEAR MAP CONSTRUCTIONS

15

In addition, it is now known that if n-linear maps satisfying certain DDH-like security
notions exist for some sufficiently large constant n (the current record is n = 5, obtainedby Lin in [Lin16] and Ananth and Sahai in [AS16]), then indistinguishability obfuscation/function encryption exist as well. And conversely, Albrecht et al. have shown thatindistinguishability obfuscation (again together with standard primitives like homomorphic
encryption and NIZK) is enough to construct multilinear maps [AFH+ 16].
This means that constructing multilinear maps, functional encryption and indistinguishability obfuscation are equivalent goals, and future constructions could be obtained
from any of those primitives.

1.5

Attacks against multilinear map constructions

If secure, we have seen that candidate constructions of multilinear maps have very interesting
consequences in cryptography (and we have only touched upon a few among many). The
actual security picture is far from clear, however.
Indeed, attacks have been demonstrated against all constructions so far, and we describe
a number of them in details in Chapter 3. The current situation is that, due to a longseries of attacks [CHL+ 15, CLT14, CGH+ 15, CFL+ 16, HJ16, CLLT16a], multiparty Diffie–
Hellman key exchange is broken over all of the proposed candidates. In addition, a numberof attacks have been demonstrated against several constructions of indistinguishability
obfuscation [MSZ16a, CGH16, ADGM16, CLLT17], but not all schemes are broken yet.
We can also mention that GGH13 and CLT13 are both broken in classical subexponential
time and quantum polynomial time. In the case of CLT13, it is because it relies on thehardness of factoring. In the case of GGH13, it is a consequence of recent progress on thecryptanalysis of some ideal lattice assumptions in the presence of very small noise [ABD16].

Chapter 2

Definitions and Constructions
2.1

Multilinear maps

2.1.1

The Boneh–Silverberg setting

Boneh and Silverberg introduced the notion of multilinear maps in a cryptographic setting [BS03]. The definition they adopted for their purposes was touched upon in §1.2. We
recall it more formally below.
Definition 1. Let G and GT be cyclic groups (denoted additively), and e : Gκ → GT a mapping
for some integer κ ≥ 1. We say that e is a κ-linear map (or simply a multilinear map) when thefollowing conditions hold:
1. G and GT are of the same prime order;
2. for any a1 , . . . , aκ ∈ Z and g1 , . . . , gκ ∈ G, we havee(a1 · g, . . . , aκ · g) = a1 · · · aκ · e(g, . . . , g);
3. if g is a generator of G, then e(g, . . . , g) is a generator of GT .

2.1.2

Efficient algorithms

Boneh and Silverberg called a multilinear map as above a cryptographic multilinear map when
the groups G and GT admit efficient group operations, when the map e itself is efficiently
computable, and when the scheme satisfies some notion of security like the hardness of
discrete logarithms in G. Since efficiency and security are asymptotic notions, they can
only make sense with respect to some instance generation algorithm.
Following [GGH12], one can capture these notions (minus the security, which can be
definitely independently by a suitable game) by saying that a multilinear map scheme is a tupleof algorithms (InstGen, add, neg, EncTest, map) for instance generation, group operations,membership testing and multilinear pairing, which can be described as follows.
17

18

CHAPTER 2. DEFINITIONS AND CONSTRUCTIONS

Instance generation. InstGen(1λ , 1κ ) is an efficient randomized algorithm that takes as
input the security parameter λ and the multilinearity degree κ, and outputs a description of
the groups G and GT , their order q, a description of the multilinear map e : Gκ → GT , anda string g ∈ {0, 1}∗ encoding a generator of G. The tuple (G, GT , q, e) is denoted by pp.
Membership testing. EncTest(pp, b, x) is an efficient, deterministic algorithm that takes
as input the parameters pp, a bit b and a string x ∈ {0, 1}∗ and decides whether x is avalid representation of an element of G (resp. GT ) when b = 0 (resp. b = 1). It is assumed
that representations are unique, so we simply denote validity by membership: x ∈ G(resp. x ∈ GT ).
Group operations. add(pp, b, x, y) is efficient, deterministic, and returns x + y when b = 0
and x and y are both elements of G (resp. b = 1 and x, y ∈ GT ). Note that this is sufficientto efficiently compute a · x for a ∈ Zq by double-and-add. Similarly, neg(pp, b, x) computes−x.
Multilinear map. map(pp, x1 , . . . , xκ ) is efficient, deterministic, and returns the target
group element e(x1 , . . . , xκ ) ∈ GT .

2.1.3

Symmetry vs. asymmetry

The multilinear maps describe above are symmetric in the sense that all the source groupare the same (or equivalently, are efficiently isomorphic). It is straightforward to extend thedefinition to multilinear maps of the form e : G1 ×· · ·×Gκ → GT where the groups Gi are allof the same prime order, but there does not necessarily exist efficient isomorphisms between
them. That setting occurs frequently with elliptic curves (for type II and type III pairings in
the sense of [GPS08]), and has been described for multilinear maps by Rothblum [Rot13].

2.2

Graded encoding schemes

As discussed in §1.3, the functionality achieved by constructions such as [GGH13a] and[CLT13a] differ from the Boneh–Silverberg definition above in at least two important aspects:• contrary to the Boneh–Silverberg setting where elements of the source group are
combined in one go to form an element of the target group, encodings are arranged
in several levels, and one can pair elements at level i and level j to obtain an element
at level i + j, and so on several times;• a single “exponent” can be represented at a given level by many different encodings.
The corresponding notion is captured by the definition of a graded encoding system, andits algorithmic description, as presented below.

2.2.1

Graded encoding system

We recall the formal definition of a κ-graded encoding system from [GGH13a]. For simplicity
we only consider the symmetric case below. See [GGH12, Appendix A] for the description

192.2. GRADED ENCODING SCHEMES

of a more general framework that can handle asymmetric multilinear maps and gradings
with respect to more complicated monoids.
(α)

Definition 2. A κ-graded encoding system for a ring R is a system of sets S = {Sv{0, 1}∗ : v ∈ N, α ∈ R}, with the following properties:(α)

1. For every v ∈ N, the sets {Sv∈: α ∈ R} are disjoint.

2. There are binary operations + and − (on {0, 1}∗ ) such that for every α1 , α2 ∈ R, every
(a )
(a )
(α +α )v ∈ N, and every u1 ∈ Sv 1 and u2 ∈ Sv 2 , it holds that u1 + u2 ∈ Sv 1 2 and(α −α )
u1 − u2 ∈ Sv 1 2 where α1 + α2 and α1 − α2 are addition and subtraction in R.
3. There is an associative binary operation × (on {0, 1}∗ ) such that for every α1 , α2 ∈ R,
(α )
(α )
every v1 , v2 with 0 ≤ v1 + v2 ≤ κ, and every u1 ∈ Sv1 1 and u2 ∈ Sv2 2 , it holds that
(α1 ·α2 )u1 × u2 ∈ Sv1 +v
where α1 · α2 is multiplication in R.
2

2.2.2

Efficient procedures

We also recall the definition of the procedures for manipulating encodings. As previously
we consider only the symmetric case.
Instance generation. The randomized InstGen(1λ , 1κ ) takes as inputs the parameters λand κ, and outputs (pp, pzt ), where pp is a description of a κ-Graded Encoding System as
above, and pzt is a zero-test parameter.
(α)

Ring sampler. The randomized samp(pp) outputs a “level-zero encoding” a ∈ S0 for anearly uniform element α ∈R R. Note that the encoding a does not need to be uniform in(α)
S0 .
Encoding. The (possibly randomized) enc(pp, i, a) takes as input a level-zero encoding(α)(α)
a ∈ S0 for some α ∈ R and a level i ≤ κ, and outputs a level-i encoding u ∈ Si for thesame α.
Rerandomization. The randomized reRand(pp, i, u) re-randomizes encodings relative to(α)
the same level i. Specifically, given an encoding u ∈ Sv , it outputs another encoding(α)(α)
u0 ∈ Sv . Moreover for any two u1 , u2 ∈ Sv , the output distributions of reRand(pp, i, u1 )and reRand(pp, i, u2 ) are nearly the same.
(α )Addition and negation. Given pp and two encodings relative to the same level, u1 ∈ Si 1(α )(α +α )(−α )and u2 ∈ Si 2 , we have add(pp, u1 , u2 ) ∈ Si 1 2 and neg(pp, u1 ) ∈ Si 1 . Below wewrite u1 + u2 and −u1 as a shorthand for applying these procedures.
(α )

(α )

Multiplication. For u1 ∈ Si 1 and u2 ∈ Sj 2 , we have mul(pp, u1 , u2 ) = u1 × u2 ∈(α ·α2 )

Si+j1

.
(0)

Zero-testing. The procedure isZero(pp, pzt , u) outputs 1 if u ∈ Sκ and 0 otherwise.
Extraction. The procedure extracts a random function of ring elements from their level-κ
encoding. Namely ext(pp, pzt , u) outputs s ∈ {0, 1}λ , such that:

20

CHAPTER 2. DEFINITIONS AND CONSTRUCTIONS(α)

1. For any α ∈ R and u1 , u2 ∈ Sκ , ext(pp, pzt , u1 ) = ext(pp, pzt , u2 ).
(α)

2. The distribution {ext(pp, pzt , u) : α ∈R R, u ∈ Sκ } is nearly uniform over {0, 1}λ .

2.2.3

Approximate graded encodings

As pointed out in [GGH13a], actual constructions only achieve a slightly relaxed definitionof isZero and ext, where isZero can still output 1 even for some non-zero encoding u withnegligible probability, and ext can extract different outputs when applied to encodings ofthe same elements, also with negligible probability. See [GGH12, §2.2.2 and A.2] for thecorresponding definitions.

2.3

Security definitions: the example of Diffie–Hellman key
exchange

The sheer number of subtly or wildly different hardness assumptions used for security
proofs in the field of pairing-based cryptography has been the object of many comments, forbetter or worse [Boy08, KM10]. Unsurprisingly, the more convoluted setting of multilinear
maps and graded encoding schemes has seen the use of an even broader range of potential
hard problems (see e.g. the discussion in [LV16, §1] for a discussion of the particular caseof obfuscation candidates). It seems difficult, at this stage, to point to a particular security
definition that could be singled out as the correct desirable security goal when trying toconstruct multilinear maps.
Nevertheless, one simple security definition has been emphasized in a number of
construction papers, including [GGH13a, CLT13a, LSS14, CLT15], namely the gradedencoding analogue of the decisional Diffie–Hellman assumption. Since it is so common, werecall it here, and add a few comments afterwards discussing the place of that assumption
within the literature.

2.3.1

The graded decisional Diffie–Hellman problem

In their original paper [GGH13a], Garg et al. introduced the graded decisional Diffie–Hellman
assumption (GDDH) as a security goal for graded encoding scheme. It is defined asfollows (this is the definition from [LSS14], which looks slightly different from the one
in [GGH13a, CLT13a], but is easily seen to be equivalent as long as reRand behavescorrectly).
Consider the following procedure, parametrized by λ and κ:
1. Run InstGen(1λ , 1κ ) to obtain (pp, pzt ).
2. Sample aj ← samp(pp) for 0 ≤ j ≤ κ.
3. Compute uj ← reRand(pp, 1, enc(pp, 1, aj )) for 0 ≤ j ≤ κ.
4. Sample b ← samp(pp).

2.3. SECURITY DEFINITIONS: THE EXAMPLE OF KEY EXCHANGE

21

Q
5. Compute the product encoding u∗ = a0 · κj=1 ui of the uj ’s by repeated applicationof the mul procedure (encoding at level κ).
6. Set v (0) = reRand(pp, κ, u∗ ).
7. Set v (1) = reRand(pp, κ, enc(pp, κ, b)).
8. Pick a bit β uniformly at random and set v ← v (β) .
The GDDH assumption asserts that an efficient adversary receiving as input the values(p∗, pzt , u0 , . . . , uκ , v) can only guess the bit β with an advantage negligible in the security
parameter λ.
Clearly, the GDDH assumption implies that the N -party key exchange protocol defined
below is passively secure.
Setup(1λ , 1N ). Output (pp, pzt ) ← InstGen(1λ , 1κ ) as the public parameter, with κ = N −1.
Publish(pp, i). Each party i samples a random ci ← samp(pp) as a secret value, andpublishes as the public value the corresponding level-1 encoding, computed as c0i ←reRand(pp, 1, enc(pp, 1, ci )).
Q
KeyGen(pp, pzt , i, ci , {c0j }j6=i ). Each party i computes c̃i = ci · j6=i c0j , and uses theextraction routine to locally compute the common secret s ← ext(pp, pzt , c̃i ).

2.3.2

Discussion

The GDDH assumption does capture the security of multiparty key exchange (almost
tautologically so!), but may not otherwise be a particularly useful security definition. The
hardness assumptions under which more interesting primitives like witness encryption (e.g.
in [GGSW13]) and indistinguishability obfuscation (e.g. in [PST14]) have been shown toexist are usually considerably more intricate, and not much has been done over multilinear
maps with Diffie–Hellman-like assumptions. As a recent result counter to that trend, albeit
in the Boneh–Silverberg setting rather than over graded encoding schemes, one can mention
the surprising construction by Lin of indistinguishability obfuscation from (subexponential)
DDH over 5-linear maps [Lin16].
Another issue with the GDDH assumption is that, unfortunately, proposed multilinear
candidates have turned out not to satisfy it: as we will see in the next chapter, attacks
have been found against multiparty Diffie–Hellman over the graded encoding schemes
from [GGH13a, CLT13a] and their variants! This is of course considered a serious problem.
A silver lining, however, is that GDDH is not as basic a problem as it sounds.
Indeed, one particular feature of the multiparty Diffie–Hellman scheme as describedabove is that it relies on the possibility for all users to publicly generate and rerandomize
their own encodings. In contrast, in many other schemes, including witness encryption
and indistinguishability obfuscation, the ability to generate encodings of new values isonly used by the same user that generates the system parameters. In those settings, itis thus possible to require secret information in enc and reRand, whereas only arithmetic

22

CHAPTER 2. DEFINITIONS AND CONSTRUCTIONS

operations and zero-testing/extraction remain public procedures. This leads to the definitionof what Albrecht et al. call secret-key graded encoding schemes [ACLL15], which tend to bemuch more difficult to attack than Diffie–Hellman key exchange. Nevertheless, attacks haveindeed been found in that setting as well (e.g. against constructions of indistinguishability
obfuscation [CGH+ 15, MSZ16a, CLLT17]), as we will see in the next chapter.

2.4

A concrete instantiation: the CLT13 graded encoding
scheme

The graded encoding schemes from [GGH13a] and [CLT13a] are very similar to each other,
but a thorough presentation of GGH13 requires somewhat more background material,
especially on algebraic number theory and Gaussian sampling on lattices. Therefore, forsimplicity’s sake, we only give a complete description of the CLT13 scheme. We refer backto §1.3 above for a conceptual-level description of GGH13, and to §2.4.3 below for a shortrundown of the main differences between GGH13 and CLT13.

2.4.1

The shape of CLT13 encodings

In the “integer-based” scheme of [CLT13a], a level-k encoding of a short integer vectorm = (mi ) ∈ Zn is an integer c such that for all 1 ≤ i ≤ n:c≡ri · gi + mizk(mod pi )(2.1)

where the ri ’s are ρ-bit random integers (specific to the encoding c), with the following
secret parameters: the pi ’s are η-bit prime integers, the gi ’s are
Qnα-bit primes, and thedenominator z is a random (invertible) integer modulo x0 = i=1 pi . The integer c istherefore well-defined modulo x0 , where x0 is made public. Since the pi ’s must remain
secret, the user cannot encode the vectors m ∈ Zn by CRT directly from (2.1); instead one
includes in the public parameters a set of ` level-0 encodings x0j of random vectors aj ∈ Zn ,and the user can generate a random level-0 encoding by computing a random subset sumof those x0j ’s.
From (2.1) we see that each integer mi is actually defined modulo gi . Therefore, the
CLT13 scheme encodes vectors m from the ring R = Zg1 × · · · × Zgn .

2.4.2

Detailed description of CLT13

System parameters. The main parameters are the security parameter λ and the required
multilinearity level κ ≤ poly(λ). Based on λ and κ, we choose the vector dimension n, thebit-size η of the primes pi , the bit-size α of the primes gi , the maximum bit-size ρ of therandomness used in encodings, and various other parameters that will be specified later; theconstraints that these parameters must satisfy are described in the next section. For integers
z, p we denote the reduction of z modulo p by (z mod p) or [z]p with −p/2 < [z]p ≤ p/2.

2.4. A CONCRETE INSTANTIATION: THE CLT13 GRADED ENCODING SCHEME

23

Instance generation. (pp, pzt ) ← InstGen(1λQ, 1κ ). This algorithm generates n secretrandom η-bit primes pi and computes x0 = ni=1 pi . It then generates a random invertible integer z modulo x0 , n random α-bit prime integers gi , and a secret matrix
A = (aij ) ∈ Zn×` , where each component aij is randomly generated in [0, gi ) ∩ Z. It
also generates an integer y, three sets of integers {xj }τj=1 , {x0j }`j=1 and {Πj }nj=1 , a zerotesting vector pzt , and a seed s for a strong randomness extractor; the shape of theseelements is detailed below in the respective algorithms where
 they intervene. The parameters pp = n, η, α, ρ, β, τ, `, y, {xj }τj=1 , {x0j }`j=1 , {Πj }nj=1 , s and pzt are finally output andmade public.
Sampling level-zero encodings. c ← samp(pp). Recall that the parameters pp containa set of ` integers x0j , where each x0j encodes at level-0 the column vector aj ∈ Zn of thesecret matrix A = (aij ) ∈ Zn×` . More precisely, the integers x0j are generated by Chineseremaindering, subject to the condition that:0x0j ≡ rij
· gi + aij(mod pi ) for 1 ≤ j ≤ `,(2.2)

0 ’s are randomly generated in (−2ρ , 2ρ ) ∩ Z.
where the rij
Using those values x0j , the randomized sampling algorithm samp(pp) works as follows:
it samples a random binary vector b = (bj ) ∈ {0, 1}` and outputs the level-0 encoding

c=

`
X

bj · x0j mod x0 .

j=1

From Equation (2.2), this gives c ≡the output c is a level-0 encoding:P`0
j=1 rij bjc ≡ ri · gi + miP`(mod pi ). As required,(mod pi )(2.3)· gi +

j=1 aij bj

of some vector m = A · b ∈ Zn which is a random subset-sum of the column vectors aj .
The sizes of the reductions [c]pi are then well controlled for all i:|ri · gi + mi | ≤ ` · 2ρ+α .
A left-over hash lemma argument ensures that m will be statistically close to uniform
over R = Zg1 × · · · × Zgn for suitably chosen parameters. See [CLT13a] for details.
Encodings at higher levels. ck ← enc(pp, k, c). To allow encoding at higher levels, alevel-one random encoding of the vector 1 was published as part of the public parameters
pp. That value is an integer y is generated in such a way that:y≡ri · gi + 1z

for random integers ri ∈ (−2ρ , 2ρ ) ∩ Z.

(mod pi )24

CHAPTER 2. DEFINITIONS AND CONSTRUCTIONSGiven a level-0 encoding c of m ∈ Zn as given by (2.3), a level-1 encoding of the samem can be obtained by computing c1 = c · y mod x0 . Indeed, we then have:
(1)

c1 ≡
(1)

ri

· gi + miz(mod pi )

(2.4)

(1)

for some integers ri , and we get |ri · gi + mi | ≤ ` · 22(ρ+α) for all i. More generally togenerate a level-k encoding we compute ck = c0 · y k mod x0 .
Note however that this element should not be published as is, since it would then be
possible to go back to the lower-level encoding c by simply dividing by y, thus inverting themultilinear map. Instead the level-1 encoding c1 should first be re-randomized into a newlevel-1 encoding c01 for the same vector m, but whose distribution is otherwise independentof the original c. This is done with the following algorithm.
Rerandomization. c0 ← reRand(pp, k, c). To allow rerandomization of encodings at levelk = 1, the public parameters pp contain a set of n integers Πj which are all level-1 random
encodings of zero:$ij · giΠj ≡(mod pi ) for 1 ≤ j ≤ n.
z
The matrix Π = ($ij ) ∈ Zn×n is a diagonally dominant matrix generated as follows: thenon-diagonal entries are randomly and independently generated in (−2ρ , 2ρ ) ∩ Z, while thediagonal entries are randomly generated in (n2ρ , n2ρ + 2ρ ) ∩ Z.
The parameters pp also contain a set of τ integers xj , each one of which is a level-1
random encoding of zero:xj ≡rij · giz(mod pi ) for 1 ≤ j ≤ τ ,and where the column vectors of the matrix (rij ) ∈ Zn×τ are randomly and independently
generated in the half-open parallelepiped spanned by the columns of the previous matrix
Π. This somewhat complicated choice is made to ensure a proper rerandomization.
Given a level-1 encoding c1 as given by (2.4), the procedure reRand rerandomizes it byadding a random subset-sum of the xj ’s and a linear combination of the Πj ’s:
c01 = c1 +

τ
X
j=1

bj · xj +nXb0j · Πj mod x0

(2.5)

j=1

where bj ← {0, 1}, and b0j ← [0, 2µ ) ∩ Z. One of the main technical difficulties of theconstruction of [CLT13a] is the proof that the distribution of c01 is nearly independent of
the input c1 (aside from the fact that both encodings correspond to the same vector m).
This is shown using a “left-over hash lemma over lattices”. We refer to the original paperfor details.
Adding and multiplying encodings. It is clear that one can homomorphically add
encodings. Moreover the product of κ level-1 encodings ui can be interpreted as an

2.4. A CONCRETE INSTANTIATION: THE CLT13 GRADED ENCODING SCHEME

25

encoding of the product. Namely, given level-one encodings uj of vectors mj ∈ Zn for1 ≤ j ≤ κ, with uj ≡ (rij · gi + mij )/z (mod pi ), the productu=κY

uj mod x0

j=1

satisfies:

κ
Q

u≡

ri · gi +(rij · gi + mij )

j=1

≡

zκ

Q
κ


mij mod gi

j=1zκ(mod pi )for some ri ∈ Z. This is a level-κ encodingQκ of the vector m obtained by componentwise
product of the vectors mj , as long as j=1 (rij · gi + mij ) < pi for all i. When computing
the product of κ level-1 encodings from reRand and one level-0 encoding from samp as inmultiparty Diffie–Hellman key exchange, one can easily check that |ri | ≤ (4n2 2µ+ρ+α )κ · ` ·2ρ+1 for all i.
?

Zero testing. isZero(pp, pzt , uκ ) = 0/1. Zero testing of top level encodings is carried out
with the parameter pzt obtained as follows as part of instance generation. First, an integer
matrix H = (hij ) ∈ Zn×n is randomly generated in such a way that H is invertible over
Z and both kHT k∞ ≤ 2β and k(H−1 )T k∞ ≤ 2β , for some parameter β; here k · k∞ is
the operator norm on n × n matrices with respect to the `∞ norm on Rn . A techniquefor generating such an H is presented in the appendix of [CLT13b]. Then, pzt ∈ Zn is
computed as:nX Y(pzt )j =hij · z κ · gi−1 mod pi ·pi0 mod x0 .
(2.6)
i=1

i0 6=iTo determine whether a level-κ encoding c is an encoding of zero or not, one computes
the vector ω = c · pzt mod x0 and tests whether kωk∞ is small: isZero(pp, pzt , c) returns 1
if kωk < x0 · 2−ν and 0 otherwise, for some parameter ν.
The authors of [CLT13a] show that suitable choices of β and ν can ensure that thiszero-testing procedure is then correct for all encodings c whose noise coefficients areappropriately bounded.
Extraction. sk ← ext(pp, pzt , c). To extract a random value depending only on the vector
m encoded in a level-κ encoding c, one proceeds as follows: multiply it by the zero-testing
parameter pzt modulo x0 , collect the ν most significant bits of each of the n components of
the resulting vector, and apply a strong randomness extractor (using the seed s from pp).
More formally:
ext(pp, pzt , c) = Extracts msbsν (c · pzt mod x0 )where msbsν extracts the ν most significant bits of the result. If two encodings c and c0
encode the same m ∈ Zn , one can show (using the precise result establishing the correctnessof zero-testing) that k(c − c0 ) · pzt mod x0 k∞ < x0 · 2−ν−λ , and therefore we expect thatω = c · pzt mod x0 and ω 0 = c0 · pzt mod x0 agree on their ν most significant bits, andtherefore extract to the same value. And conversely if the encoded values are distinct. We
refer to [CLT13a] for the nitty-gritty details.

26

2.4.3

CHAPTER 2. DEFINITIONS AND CONSTRUCTIONS

Differences with GGH13

Recall from §1.3 that the graded encoding scheme from [GGH13a] is defined over the
cyclotomic ring R = Z[x]/(xm + 1), with respect to a certain principal ideal I = hgi withsecret, small generator g. A vector m ∈ R with small coefficients is encoded at level k by
an element of the form:
m+r·g
ck =
mod q,
zk
where z is the secret masking element. This is essentially the same as (2.1) above.
A crucial difference, however, is the shape of the zero-testing parameter. In GGH13, it
is simply of the form:
pzt = h · zκ · g−1 mod qwith h small. Indeed, multiplying a level-κ encoding cκ of m gives:
pzt · cκ ≡ h · (mg−1 + r) mod q
which is small when m = 0, but large otherwise since g−1 is expected to be of full size
modulo q.
Adopting a similar zero-testing element pzt = hz κ /g mod x0 in the CLT13 setting,however, does not work. This is because multiplying that value with a level-κ encodingcκ yields an integer modulo x0 whose reductions modulo all of the prime factors pi of x0
are small. But since those prime factors must be kept secret, there is no way of checking
that directly. This is the reason whyQthe vector pzt in CLT13 has the different shape (2.6),
involving extra factors of the form j6=i pj .
Other differences between the GGH13 and CLT13 constructions mainly reside in thetechnical details of how various properties of the schemes (such as correct sampling andrerandomization) are proved in both settings. And of course, they have different properties
in terms of security.

2.5

GGH15 and the graph-induced approach

As mentioned in §1.3, the third main construction of multilinear maps after [GGH13a]and [CLT13a] is due to Gorbunov, Gentry and Halevi [GGH15] and differs substantiallyfrom the previous constructions even in syntactic terms. The primitive that the authors
achieve is not a graded-encoding scheme, but what they call a graph-induced encoding scheme.
In what follows, we recall the definition of that primitive, and give a description of thescheme they propose.

2.5.1

Graph-induced encoding scheme

The primitive constructed in [GGH15] is parametrized by a certain directed acyclic graph,and encodings are associated to edges (or more precisely, paths of edges) on that graph.
Encodings on the same path can be combined linearly, and multiplication is permitted
between encodings if and only if their associated paths are adjacent. These properties

2.5. GGH15 AND THE GRAPH-INDUCED APPROACH

27

are captured by saying that a graph-induced encoding scheme is a tuple (PrmGen, InstGen,
Sample, Enc, add, neg, mult, ZeroTest, Extract) of efficient algorithms described as follows.
These procedures are subject to some technical correctness conditions for which we refer
to [GGH15]; the paper also discusses possible variants that we do not address in thisdocument.
Parameter generation. PrmGen(1λ , G) takes as inputs the security parameter λ and theunderlying directed graph G, and outputs the global system parameters gp, including inparticular the graph G, a description of the plaintext ring R, and a distribution χ over R
from which plaintexts are sampled.
Instance generation. InstGen(gp) takes as inputs the system parameters and outputs thesecret and public parameters sp, pp.
Ring sampler. The randomized Sample(pp) algorithm outputs an element of the plaintext
ring R sampled according to the distribution χ.
v and a ring
Encoding. Enc(sp, p, α) takes as input the secret parameters, a path p = uelement α ∈ R in the range of Sample, and outputs an encoding up of α according to thepath p.
Addition, negation and multiplication. The arithmetic procedures add(pp, up , u0p ),neg(pp, up ) and mult(pp, up , u0p0 ) are deterministic and take as input the public parameters together with some encodings.
Negation takes an encoding up of some α ∈ R with respect to a path p, and returns
an encoding of −α relative to the same path p. Addition takes encodings up , u0p of someα, α0 ∈ R with respect to the same path p, and returns an encoding of α + α0 relative to p.
Finally, multiplication takes encodings up , u0p0 of α, α0 ∈ R with respect to paths p, p0 which
are consecutive (i.e. p = uv and p0 = vw), and returns an encoding of α · α0 withrespect to the composed path uw.
Zero-testing. The procedure ZeroTest(pp, u) is deterministic, and decides whether a given
encoding u is an encoding of 0 or not.
Extraction. The procedure Extract(pp, u) is deterministic, and returns a λ-bit string
depending only on the underlying plaintext α of the encoding u.

2.5.2

The GGH15 instantiation

We now describe the candidate graph-induced encoding scheme proposed by Gentry et
al. in [GGH15]. Their paper actually describes several variants; we focus here on thecommutative, ring based version, which is the one they use to achieve multiparty Diffie–
Hellman key exchange.
That scheme is defined over the cyclotomic ring R = Z[x]/(xn + 1). Plaintexts are small
elements s in that ring, sampled according to a Gaussian distribution χ. Public parametersconsist in particular of row vectors Av ∈ Rqm (where Rq = R/qR) associated to the vertices
v of the underlying graph. An encoding of s associated with a path u
v in the graph ism×mthen a matrix D ∈ Rwith small coefficients such that:
Au · D = s · Av + E(mod q)28

CHAPTER 2. DEFINITIONS AND CONSTRUCTIONS

for some small error vector E ∈ Rm . Such encodings D can be generated given some secret
trapdoor information generated along with the public vectors Av , using classical latticetechniques [GPV08, MP12]. Formally speaking, the graph-induced encoding procedures
can thus be described as follows.
Parameter generation. PrmGen(1λ , G) computes the system parameters gp, which consistof the graph G, the description of the cyclotomic ring R, the vector dimension m, themodulus q, the plaintext Gaussian distribution χ, a dispersion parameter σ used in trapdoor
sampling, and the number of most significant bits t used for zero-testing and extraction.
Instance generation. InstGen(gp) uses the trapdoor sampling algorithm of Micciancio
and Peikert [MP12] to generate the vectors Av for all vertices v in the underlying graph
G, together with the corresponding trapdoor information τv . The algorithm also samples
a seed and some extra information for randomness extraction. The vectors Av and theextraction information form the public parameters pp, whereas the trapdoors τv form thesecret parameters sp.
Ring sampler. The randomized Sample(pp) simply samples an element s ∈ R according
to the Gaussian distribution χ.
v,
Encoding. Enc(sp, p, s): to sample an encoding for s ∈ R along the path p = u
this algorithm first samples an error vector E ∈ Rm according to χm , and computes
V = s · Av + E. It then uses the trapdoor information τu and the Micciancio–Peikert
algorithm [MP12] to obtain a small matrix D ∈ Rqm×m such that D · Au = V over Rq . Thismatrix D is the required encoding.
Addition, negation and multiplication. Addition, negation and multiplication are thecorresponding operations directly on matrices. It is easy to see that they behave as expected.
Indeed, in the case of addition, if D1 and D2 are encodings of s1 , s2 relative to the same
path uv, so we can write:
A u · D 1 = s 1 · A v + E1

(mod q)A u · D 2 = s 2 · A v + E2

(mod q)we obtain:
Au · (D1 + D2 ) = (s1 + s2 ) · Av + E1 + E2

(mod q).

Similarly, two encodings D1 and D2 relative to path uv and vto get an encoding relative to path u
w. Namely given:
A u · D 1 = s 1 · A v + E1

(mod q)

A v · D2 = s 2 · A w + E 2(mod q)w can be multiplied

we obtain by multiplying the matrix encodings D1 and D2 :Au · D1 · D2 = (s1 · Av + E1 ) · D2

(mod q)= s1 · s2 · Aw + s1 · E2 + E1 · D2
= s1 · s2 · Aw + E

0(mod q)(mod q)2.5. GGH15 AND THE GRAPH-INDUCED APPROACH

29

for some new error vector E0 . Since s1 , E1 , E2 and D2 have small coefficients, E0 still has
small coefficients (compared to q), and therefore the product D1 · D2 is an encoding ofs1 · s2 for the path uw.
Zero-testing. The procedure ZeroTest(pp, D), for an encoding D relative to the pathuv, returns true if and only if kAu · Dk < q/2t+1 . The justification of that procedureis that Au · D = s · Av + E is small for s = 0, but not otherwise (because the matrix Av
itself is not small).
Extraction. The correctness of zero-testing shows that the t most significant bits of D
depend only on the underlying plaintext s. Therefore, we can carry out the extraction
procedure by applying a randomness extractor to those t bits.

Chapter 3

Overview of Known Attacks
3.1

Zeroizing attacks: breaking Diffie–Hellman key exchangeover GGH13 and CLT13

3.1.1

Notation and attack goals

The GGH13 and CLT13 schemes share a very similar structure; here we summarize thecommon features that are used in the attacks:• Each encoding is “associated” with the vector of small integers in the numerator. For
GGH13 this is a 1-vector consisting of a single algebraic integer,and for CLT13 this isa vector of n integers in Z. Below we write informally u ∼ (a1 , . . . , an ) to denote thefact that the encoding u is associated with the vector of ai ’s. Roughly speaking, thegoal of the attacks is to recover the vector (aj )j from the encoding u. Recovering thisvector (even if not in full) is usually considered a break of the scheme.
• An encoding of zero is associated with a vector divisible by the gj ’s, namely u ∼ (gj rj )jfor some rj ’s.
• Addition and multiplication of encodings acts entry-wise on the vector of integers in
the numerator. Importantly, the addition and multiplication of these vectors is done
over the integers, with no modular reduction. This is because a wrap-around in these
operations is an error condition, and so the parameters are always set to ensure thatit does not happen.
• If u ∼ (gj rj )j is an encodingof zero at the top level, then applying the zero-test to uPyields the integer w = j rj ρj , where the rj ’s are the multipliers from the numerator
vector and the ρj ’s are system parameters independent of u.
In other words, applying the zero-test to an encoding of zero yields the inner-product of
the associated vector (without the gj ’s) with a fixed secret vector. (In GGH13 thisQ is the1-vector (h), in CLT13 the vector is (p∗j hj )j , where we denote p∗j = x0 /pj = i6=j pi ).
Importantly, here too the inner product is over the integers, with no modular reduction.
31

32

3.1.2

CHAPTER 3. OVERVIEW OF KNOWN ATTACKS

Weak-DL attack on GGH13 and the Hu–Jia attack

The first published attack against the GGH13 scheme appears in the original paper itself[GGH13a]. It considers the following setting. Suppose one gets a level-t encoding of zerou0 ∼ (gr) and many other level-(κ − t) encodings um ∼ (am ). Multiplying u0 by any of
the um ’s yields a top-level encoding of zero u0 um ∼ (gram ), and applying the zero-testyields the algebraic integer wm = hram . Note that this almost recovers the numerators
am ’s; indeed we have them up to the common factor h0 = hr.
If we also knew the ideal Ig = gR that defines the plaintext space, then being able torecover the numerator up to a constant is enough to break many hardness assumptions.
For example, given an encoded matrix we could compute its determinant (modulo Ig ) up
to a constant, which would tell us whether or not the encoded matrix has full rank.
Typically, however, the ideal Ig is not explicitly given. Even in that case, however, Garg
et al. described how it can be recovered in certain cases using GCD computations. Roughly,
we can use GCD to identify and remove the common factor h0 , thereby getting the am ’s
themselves, except that these are all algebraic integers so we only have GCD in terms of
their ideals. Recovering the ideal Ia = aR is not always useful, e.g., if Ia and Ig are co-prime
then knowing Ia does not tell us anything about our plaintext coset a + Ig . However ifsome of the ui ’s are themselves encodings of zero, namely ai = gri , then given enoughideals Iai = gri R we could again use GCD calculations to recover the ideal Ig itself, andthen use that knowledge to attack the non-zero encodings among the ui ’s. This attack wascalled a “weak discrete-log attack” in [GGH13a]. It is easily seen to break the multilinear
analogue of assumptions like subgroup membership: see [GGH13a, §4.2].

3.1.3

The zeroizing attack of Cheon et al.

In [CHL+ 15], Cheon, Han, Lee, Ryu and Stehlé describe a major extension of the GGH13
zeroizing attack, which can be used to completely break multiparty Diffie–Hellman key
agreement over CLT13, and more generally any CLT13-based scheme in which a similarfamily of low-level encodings of zero are available. The attack recovers the factorization ofx0 , and then all secret information.
To mount the zeroizing attack of Cheon et al. [CHL+ 15], one needs three sets ofencoded inputs, which we denote by A = {Ai : i = 1, . . . , n}, B = {B0 , B1 }, andC = {Cj : j = 1, . . . , n} (with n the dimension of the numerator vectors). The A’s are
all random encoding of zeros, the B’s are the target of the attack, and the C’s are justhelper encodings of random vectors. The levels of these encodings are such that multiplying
Ai · Bσ · Cj yields a top-level encoding of zero for any i, σ, j. Below we denote the numerator
vectors associated with these encodings by
Ai ∼ (g1 ri,1 , . . . , gn ri,n ), Bσ ∼ (bσ,1 , . . . , bσ,n ), and Cj ∼ (cj,1 , . . . , cj,n ).
Multiplying Ai · Bσ · Cj yields a top-level encoding of zero, associated with the vector
Ai · Bσ · Cj ∼ (g1 ri,1 bσ,1 cj,1 , . . . , gn ri,n bσ,n cj,nP). Applying the zero-test we get a four-wiseinner product, yielding the integer wσ [i, j] = nk=1 ρk ri,k bσ,k cj,k . We can write this four-wise33

3.1. ZEROIZING ATTACKS: BREAKING GGH13 AND CLT13 KEY EXCHANGE
inner product in matrix form as
wσ [i, j] = (ri,1 . . . ri,n ) × 

ρ1 bσ,1cj,1
  ..  ×  . ,..

.
ρn bσ,ncj,nand denote the vector on the left by ai , the matrix in the middle by Bσ0 , and the vector on
the right by cj . For a fixed σ, let i, j range over 1, . . . , n. This yields an n × n matrix of
integers Wσ = [wσ [i, j]]i,j = A0 × Bσ0 × C 0 , where A0 has the ai ’s for rows and C 0 has the cj ’s
for columns. Since the ri,k ’s, bσ,k ’s, cj,k ’s and ρk ’s are all random (small) quantities, thenwith high probability the matrices are all invertible (over the rationals). Having computed
the matrices Wσ , the attacker now sets
W = W0 × W1−1 = (A0 B00 C 0 ) × (A0 B10 , C 0 )−1 = A0 × (B00 × B10−1) × A0−1.

Observe now that B ∗ = B00 × B10 −1 is a diagonal matrix with b0,j /b1,j on the diagonal,
and thus the eigenvalues of B ∗ are all the ratios b0,j /b1,j . And since W and B ∗ are similar
matrices, then also the eigenvalues of W are the b0,j /b1,j ’s. Hence once it computes W ,the attacker can find its eigenvalues (over the rationals) and obtain all the ratios b0,j /b1,j .
These ratios may be enough by themselves to break some hardness assumptions, but for
CLT13 it is possible to use them to factor x0 , thereby getting a complete break. Specifically,
since each ratio is rational it can be written as u/v = b0,j /b1,j with u, v co-prime integers.
Recalling now that B0 , B1 are two encodings at the same level (say, level t) with numerator
vectors (b0,1 , . . . , b0,n ) and (b1,1 , . . . , b1,n ), respectively, we get thatuB1 − vB0 = [CRT (ub1,1 − vb0,1 , . . . , ub1,n − vb0,n ) /z t ]x0 .
This means that the j-th CRT component is ub1,j − vb0,j = 0, and with high probability
the others are not, so we get gcd(x0 , uB1 − vB0 ) = pj .

3.1.4

The attack of Hu and Jia

The attack of Cheon et al. [CHL+ 15] relies crucially on the fact that CLT13 is defined overthe integers, and on the fact that finding the factorization of x0 suffices to break the scheme.
These aspects have no counterpart in GGH13 setting, and therefore the attack does not
apply (although it does apply to a matrix variant of GGH13: see [CGH+ 15]).
However, it turns out that the GGH13 version of multiparty Diffie–Hellman key exchange
is also insecure. This was shown by Hu and Jia [HJ16], using another attack that expands
upon the weak-DL attack above. One can sum up the attack as follows.
An eavesdropper in Diffie–Hellman key exchange sees encodings ui = ei y+ρi0 x0 +ρi1 x1 ,0 ≤ i ≤ κ, where x0 , x0 , y are level-1 encodings of 0, 0, 1 respectively, and the ei and ρij
are small.
The secret derived byQ
Qthe parties is obtained from the most significant bits of
pzt · ui , or equivalently h/g · ei .
The first step of Hu and Jia’s attack is the weak-DL computation. Applying zero-testing
to ui · x0 · y κ−2 , one gets:
vi = pzt · ui · x0 · y κ−2 mod q = ei b0 h + ξi g

34

CHAPTER 3. OVERVIEW OF KNOWN ATTACKS

for some small ξi (without modular reduction). Similarly, applying zero-testing to x0 · y κ−1 ,one obtains:˜ṽ = pzt · x0 · y κ−1 mod q = b0 h + ξgagain without modular reduction. As a result, ṽ −1 · vi ≡ ei (mod Ig ), where Ig is theprincipal ideal generated by g, as above. If we denote by wi a representative of ṽ −1 ·vi mod Ig ,then the product:
κ
κ
Y
Y
η :=
wi ≡
ei (mod Ig ).
i=0

i=0

Q
Thus, there exists some ζ0 ∈ R such that η = ei + ζg. This element ζ, however, is not apriori small, so we cannot directly solve the problem by taking the most significant bits of
η. Instead, Hu and Jia introduce some auxiliary zero-test values as follows:
Xi = pzt · x1 xi y κ−2

mod q = h(1 + ag)κ−2 b1 bi g

Y = pzt · x1 y κ−1 mod q = h(1 + ag)κ−1 b1 g.
Q
Then Y · η is congruent to Y · ei modulo
b1 g, and since X1 is a multiple of b1 g, η 0 =QY · η mod X0 is also congruent to Y · ei modulo b1 g. Thus:Y
y/x1 · η 0 mod q = pzt · y κ ·ei + ζ 0 · (1 + ag) mod q
Qfor some small ζ 0 . Thus, we have computed h/g · ei + small error mod q, which breaks
the Diffie–Hellman key exchange as required.

3.1.5

Other zeroizing attacks

Following the attack of Cheon et al. [CHL+ 15], several papers attempted to modify the
CLT13 construction in order to protect against the attack. However, the modified variants
turned out to be vulnerable to extensions of the same attack.
This includes in particular the “immunization technique” suggested by Boneh, Wu
and Zimmerman [BWZ14] and the countermeasure proposed by Garg, Gentry, Halevi
and Zhandry in [GGHZ14, §7], both of which can be broken by essentially extending thedimension of the matrices involved in Cheon et al.’s attack by a small factor, as describedin [CLT14, CGH+ 15]. This also includes the CLT15 graded encoded scheme, proposed byCoron, Lepoint and Tibouchi in [CLT15], which was broken soon after it was published by
Cheon, Fouque, Lee, Minaud and Ryu [CFL+ 16], again using a simple extension of Cheonet al.’s attack.

3.2

Graph-induced cryptanalysis: breaking GGH15 key
exchange

Diffie–Hellman key exchange is also insecure over GGH15 multilinear maps. The protocol
was broken by Coron, Lee, Lepoint and Tibouchi [CLLT16a], both in the basic case andwhen additional security defenses are implemented. Their attack also breaks the graphinduced variant of GGH13. We give a description of the basic attack below.

3.2. GRAPH-INDUCED CRYPTANALYSIS: BREAKING GGH15 KEY EXCHANGE

3.2.1

35

GGH15-based multiparty Diffie–Hellman

We first recall the structure of the multiparty Diffie–Hellman key exchange protocol over
GGH15 [GGH15]. We consider the protocol with k users. As illustrated in Figure 3.1 fork = 3 users, each user i for 1 ≤ i ≤ k has a directed path of vectors Ai,1 , . . . , Ai,k+1 , allsharing the same end-point A0 = Ai,k+1 . The i-th user will use the resulting chain to
extract the session key. Each user i has a secret exponent si . Each secret exponent si will
be encoded in each of the k chains; the encoding of si on the j-th chain for j 6= i will be
published, while the encoding of si on the i-th chain will be kept private by user i. Therefore
on the i-th chain only user i will be able to compute the session key. The exponents si
are encoded in a “round robin” fashion; namely the i-th secret si is encoded on the chainof user j at edge ` = i + j − 1, with index arithmetic modulo k. Only the vectors Ai,1
for 1 ≤ i ≤ k are made public to enable extraction of the session-key; the others are kept
private.
A1,1s1 , (D1,1 )A1,2s2 , D1,2

A1,3

s3 ,

D1

,3

A2,1

s3 , D2,1

A2,2

s1 , D2,2

A2,3

s2 , (D2,3 )sA3,1s2 , D3,1

A3,2

s3 , (D3,2 )

D 3,3
1,

A0

A3,3

Figure 3.1: Graph of a key agreement between 3 parties for GGH15. The vertices containrandom vectors Aij , and encodings are represented on the edges. Each party is represented
by a different color, keeps the encoding in parenthesis secret and publishes the two otherencodings.

3.2.2

The attack of Coron et al.

In [CLLT16a], Coron et al. show how an eavesdropper can recover the secret key derived
by the parties in the previous protocol in polynomial time. The attack proceeds in two
steps:
1. As a first step, the attacker will express one secret exponent s1 as a linear combination of the other secret exponents t1,` , using a variant of the attack of Cheon etal. [CHL+ 15]. However this does not immediately break the protocol, because thecoefficients of the linear combination are not small.
2. In the second step, which can be seen as a generalization of the techniques of Hu
and Jia [HJ16], the attacker will compute an equivalent of the private encoding of36

CHAPTER 3. OVERVIEW OF KNOWN ATTACKS
User 1 from the previous linear combination, by correcting the error due to the largecoefficients. This breaks the key-exchange protocol.

We now describe the first step in the particular case of 3 users, which illustrates the mainideas of the attack while avoiding some technical complications. We refer to [CLLT16a] forthe whole details. In the 3-user case, we have the following relations:
A1,1 · D1,1 = s1 · A1,2 + F1,1 (mod q)
A1,2 · D1,2 = s2 · A1,3 + F1,2 (mod q)
A1,3 · D1,3 = s3 · A0 + F1,3 (mod q)

A1,1 · C1,1,` = t1,` · A1,2 + E1,1,` (mod q)
A1,2 · C1,2,` = t2,` · A1,3 + E1,2,` (mod q)
A1,3 · C1,3,` = t3,` · A0 + E1,3,` (mod q)

A2,1 · D2,1 = s3 · A2,2 + F2,1 (mod q)
A2,2 · D2,2 = s1 · A2,3 + F2,2 (mod q)
A2,3 · D2,3 = s2 · A0 + F2,3 (mod q)

A2,1 · C2,1,` = t3,` · A2,2 + E2,1,` (mod q)
A2,2 · C2,2,` = t1,` · A2,3 + E2,2,` (mod q)
A2,3 · C2,3,` = t2,` · A0 + E2,3,` (mod q)

A3,1 · D3,1 = s2 · A3,2 + F3,1 (mod q)
A3,2 · D3,2 = s3 · A3,3 + F3,2 (mod q)
A3,3 · D3,3 = s1 · A0 + F3,3 (mod q)

A3,1 · C3,1,` = t2,` · A3,2 + E3,1,` (mod q)
A3,2 · C3,2,` = t3,` · A3,3 + E3,2,` (mod q)
A3,3 · C3,3,` = t1,` · A0 + E3,3,` (mod q)

where all encodings Ci,j,` and Di,j are public, except D1,1 which is private on Row 1, D2,3
is private on Row 2, and D3,2 is private on Row 3. The corresponding graph is illustrated
in Figure 3.1. Note that on each row we have used the same index ` for t1,` , t2,` and t3,` ,but on a given row one can obviously compute product of encodings for different indices.
In the first step of the attack, we show that we can express s1 as a linear combinationsof the t1,` ’s. For this we consider the rows 2 and 3, for which the encodings D2,2 and D3,3
corresponding to s1 are public. In the remaining of the attack, we always consider a fixedindex ` = 1 for the encodings corresponding to t3,` , and for simplicity we write t3 := t3,1 ,C1,3 := C1,3,1 , C2,1 := C2,1,1 and C3,2 := C3,2,1 .
Since we always work with the same t3 , on Row 2 we define the product encodingsĈ2,2,` := C2,1 · C2,2,` , and on Row 3 we define the product encodings Ĉ3,2,` := C3,1,` · C3,2 ;recall that we use a fixed index for t3 . Therefore we can write:
A2,1 · Ĉ2,2,` = t1,` · t3 · A2,3 + Ê2,2,`
A2,3 · C2,3,` = t2,` · A0 + E2,3,`(3.1)(mod q)A3,1 · Ĉ3,2,` = t2,` · t3 · A3,3 + Ê3,2,`
A3,3 · C3,3,` = t1,` · A0 + E3,3,`(mod q)(mod q)(mod q)for some small error vectors Ê2,2,` and Ê3,2,` .
For simplicity of notations, we first consider a fixed index i for the encodings corresponding to t1,i , and we write t1 := t1,i , Ĉ2,2 := Ĉ2,2,i and C3,3 := C3,3,i . Similarly weconsider a fixed index j for the encodings corresponding to t2,j and we write t2 := t2,j ,C2,3 := C2,3,j and Ĉ3,2 := Ĉ3,2,j . We use similar notations for the corresponding error
vectors.
All previous equations hold modulo q only. To get a result over R instead of only
modulo q, we compute the difference between two rows, for the same product of secret3.2. GRAPH-INDUCED CRYPTANALYSIS: BREAKING GGH15 KEY EXCHANGE

37

exponents. More precisely, we compute:(3.2)

ω = A2,1 · Ĉ2,2 · C2,3 − A3,1 · Ĉ3,2 · C3,3
= t1 · t3 · t2 · A0 + t1 · t3 · E2,3 + Ê2,2 · C2,3
− t2 · t3 · t1 · A0 − t2 · t3 · E3,3 − Ê3,2 · C3,3
= t1 · t3 · E2,3 + Ê2,2 · C2,3 − t2 · t3 · E3,3 − Ê3,2 · C3,3 .

(3.3)

Namely the latter equation holds over R (and not only modulo q) because all the termsin (3.3) have small coefficients; namely the only term t1 · t2 · t3 · A0 with large coefficientsmodulo q is canceled when doing the subtraction.
We have that ω is a vector of dimension m. Now an important step is to restrict ourselvesto the first component of ω. Namely in order to apply the same technique as in Cheon etal.’s attack, we would like to express ω as the product of two vectors, where the left vector
corresponds to User 1 and the right vector corresponds to User 2. However due to the“round-robin” fashion of exponent encodings, for this we would need to swap the productÊ3,2 · C3,3 appearing in (3.3), since Ê3,2 corresponds to User 2 while C3,3 corresponds toUser 1; this cannot be done if we consider the full vector ω. By restricting ourselves to thefirst component of ω, the product Ê3,2 · C3,3 becomes a simple scalar product that can beswapped; namely the scalar product of Ê3,2 by the first column vector C03,3 of the matrix
C3,3 . We obtain the scalar:ω = t1 · t3 · E2,3 + Ê2,2 · C02,3 − t2 · t3 · E3,3 − C03,3 · Ê3,2
where C02,3 and C03,3 are the first column vectors of C2,3 and C3,3 respectively, both ofdimension m; similarly E2,3 and E3,3 are the first components of E2,3 and E3,3 respectively.
We can now write ω as the scalar product of 2 vectors, the left one corresponding only
to User 1, and the right one corresponding only to User 2:hω = t1

Ê2,2

E3,3



t3 · E2,3i  C0
2,3 
C03,3 · 
 −t2 · t3  .
−Ê3,2

Note that the two vectors in the product have dimension 2m + 2.
As in the attack of Cheon et al. [CHL+ 15], we can now extend ω to a matrix byconsidering many left row vectors and many right column vectors. However instead of asquare matrix as in Cheon et al.’s attack, we consider a rectangular matrix with 2m + 3
rows and 2m + 2 columns. In (3.2), this is done by considering 2m + 3 public encodingsĈ2,2,i and C3,3,i corresponding to User 1, and similarly 2m + 2 encodings C2,3,j and Ĉ3,2,jcorresponding to User 2, for 1 ≤ i ≤ 2m + 3 and 1 ≤ j ≤ 2m + 2. More precisely wecompute as previously over R the following matrix elements, restricting ourselves to thefirst component:(W)ij = A2,1 · Ĉ2,2,i · C02,3,j − A3,1 · Ĉ3,2,j · C03,3,i

(3.4)

38

CHAPTER 3. OVERVIEW OF KNOWN ATTACKS

and as previously we can write:h(W)ij = t1,iÊ2,2,i
t3 · E2,3,ji  C0
2,3,j C03,3,i ·  −t2,j · t3  .
−Ê3,2,jE3,3,iWe obtain a (2m + 3) × (2m + 2) matrix W with:


 

...


W=
t1,i

Ê2,2,iE3,3,i .
.
C03,3,i 
· .

...
{z
A

|

} |

t3 · E2,3,jC02,3,j−t2,j · t3
−Ê3,2,j
{z
B


.. 
. 

}

where the matrix A has 2m + 3 rows vectors, each of dimension 2m + 2, and the matrix B
has 2m + 2 column vectors, each of dimension 2m + 2; hence B is a square matrix.
By doing linear algebra, we can find a vector u over R of dimension 2m + 3 such thatu · W = 0, which gives:(u · A) · B = 0 .
Heuristically with good probability the matrix B is invertible, which implies:u · A = 0.
Since the first column of the matrix A is the column vector given by the t1,i ’s, such vector
u gives a linear relation among the secret exponents t1,i .
Moreover, since the encodings D2,2 and D3,3 corresponding to s1 are public, we can
express s1 as a linear combination of the t1,i ’s, over R. Namely we can define as previously
the product encoding D̂2,2 := C2,1 · D2,2 , with:
A2,1 · D̂2,2 = s1 · t3 · A2,3 + F̂2,2(mod q)for some small error vector F̂2,2 , and we can now compute the same (W)ij as in (3.4) but
with D̂2,2 and D03,3 instead of Ĉ2,2,i and C03,3,i , where D03,3 is the first column of D3,3 . Moreprecisely, we compute for all 1 ≤ j ≤ 2m + 2:
ωj = A2,1 · D̂2,2 · C02,3,j − A3,1 · Ĉ3,2,j · D03,3
which gives as previously:hωj = s1

F̂2,2

F3,3



t3 · E2,3,ji  C0
2,3,j D03,3 · 
 −t2,j · t3  .
−Ê3,2,j39

3.3. ATTACKS ON OBFUSCATIONThis implies that we can replace any row vector [t1,i Ê2,2,i E3,3,i C03,3,i ] in the matrix A by
the row vector:[s1 F̂2,2 F3,3 D03,3 ](3.5)
where D03,3 is the first column of D3,3 , and F3,3 is the first component of F3,3 . Using theprevious technique, we can therefore obtain a linear relation between s1 and the t1,i ’s over
R. More precisely, with overwhelming probability, such a relation can be put in the form:µ · s1 =2m+2X

λi · t1,i

(3.6)

i=1

with µ ∈ Z and λ1 , . . . , λ2m+2 ∈ R. Indeed, we obtain such a relation by computing thekernel of the matrix analogous to W above in echelon form over the fraction field of R,
which gives the kernel of the corresponding matrix A (assuming that B is invertible). Unlessa minor of that matrix vanishes, which happens with only negligible probability, this gives
a relation where the coefficient of s1 is 1 and the other coefficients are in the fraction field
R ⊗Z Q of R. By clearing denominators, we get an expression of the form (3.6).
Then, by considering exactly one additional t1,i (say t1,2m+3 ) and carrying out the same
computations with indices i = 2, . . . , 2m + 3 instead of i = 1, . . . , 2m + 2, we get a second
relation:2m+3X
ν · s1 =λ0i · t1,i .
i=2

If the integers µ and ν are relatively prime, which happens with significant probability, we
can apply Bézout’s identity to obtain a linear relation in R where the coefficient of s1 is 1:
s1 =

2m+3
X

αi · t1,i ,

(3.7)

i=1

which completes this first attack step and our description.

3.3

Attacks on obfuscation

We conclude this chapter by a short discussion of proposed attacks against constructions ofindistinguishability obfuscation. Since a precise description of the constructions themselves
exceeds the scope of this document, we simply give a very rough idea of what the attacks
can achieve and of their limitations, without any attempt to provide technical details, forwhich we refer to the corresponding papers.

3.3.1

Attacks against obfuscation over CLT13

Candidate constructions of indistinguishability obfuscation from multilinear maps (aside
from more recent techniques via functional encryption) can be broadly divided into two
types: one the one hand, obfuscation for branching programs, that rely on Barrington’s

40

CHAPTER 3. OVERVIEW OF KNOWN ATTACKS

theorem to obfuscate circuits, and on the other hand, circuit-obfuscation constructions, thatwork directly on circuits. Limited attacks exist on both types of schemes when instantiatedover CLT13.
Attacks on branching program obfuscation. Recall that a branching program is acollection of pairs Ai,0 , Ai,1 , 1 ≤ i ≤ t, of d × d square matrices together with some input
assignment function inp : {1, . . . , t} → {1, . . . , n}. It computes the Boolean function on n
inputs bits given by:(Q
1 if ti=1 Ai,xinp(i) = Id
f (x1 , . . . , xn ) =.
0 otherwise
Roughly speaking, branching program obfuscation candidates such as the one described by
Garg et al. in [GGH+ 13b] work by taking such a branching program, randomizing it using
Kilian’s technique, increasing the dimension of the matrices with some diagonal padding,and then encoding the expanded randomized matrices element-wise using a multilinear
map.
In [CGH+ 15], Coron et al. showed that such a construction provides the necessary data
to apply the attack of Cheon et al. [CHL+ 15] in the particular case when the branching
program has a decomposable structure, i.e. when the successive matrices can be divided into
three groups, each depending on a different subset of input bits. This attack does not apply
to actual obfuscation candidates, however, because the branching programs produced byBarrigton’s theorem never have the required decomposable structure.
However, Coron, Lee, Lepoint and Tibouchi [CLLT16b, CLLT17] later showed how
to dramatically expand the scope of this attack, and make it practically relevant to an
actual obfuscation candidates when applied to a large class of functions. The key idea of
their attack is the observation that the order of matrices in a branching program can berearranged in an essentially arbitrary way by taking tensor products, at the cost of increasing
the dimension. This can be used to force branching programs into a decomposition suitable
to apply the previous attack, at least if the blow-up in matrix dimension is not too large.
As a result, they were able to break the original candidate obfuscator from [GGH+ 13b]when instantiated over CLT13 multilinear maps, as well as the so-called single-input versionsof many subsequent candidate obfuscators, including [MSW14, AGIS14, PST14, BGK+ 14,
BMSZ16], again over CLT13. A surprising feature of the attack of [CLLT16b, CLLT17] isthat, assuming the existence of certain classes of pseudorandom functions computed bybranching programs of short length, it can also break the obfuscator described in [GMM+ 16],
which is proved secure in the weak multilinear map model, a model that was believed tocapture all known classes of attacks on multilinear map constructions.
The attack of [CLLT16b, CLLT17] can only target functions satisfying a property called
input-partionability, however. And soon after the attack was made public, Fernando,
Rasmussen and Sahai proposed a generic countermeasure to protect against all attacks ofthat nature [FRS16]. It works by adding to the input of all functions a “signature structure”
that prevents input-partionability.

3.3. ATTACKS ON OBFUSCATION

41

Attacks on circuit-obfuscation. Coron et al. [CGH+ 15] also showed that the attackof Cheon et al. can be extended to partially break the circuit-obfuscation schemes ofZimmerman [Zim15] and Applebaum–Brakerski [AB15]. More precisely, the two papers
present a “simple” scheme (which is essentially the same in both papers) and more advanced
variants (which differ between the two papers). Coron et al. target the simple scheme, andshow that an attack similar to Cheon at al.’s can be applied to that scheme when obfuscating
simple enough circuits, such as point functions.
Note that this simple scheme uses so-called “composite-order” multilinear maps, whichcannot be instantiated over GGH13, so a CLT13-based instantiation is the only possible
concrete instantiation of that scheme known so far, and it is partially broken. However, themore advanced versions are not shown to be vulnerable.

3.3.2

Attacks against obfuscation over GGH13 and GGH15

Setting aside obfuscation candidates relying on composite order multilinear maps (whichcannot be instantiated over GGH13), the first attack against indistinguishability obfuscators over GGH13 was the annihilation attack introduced by Miles, Sahai and Zhandry
in [MSZ16a]. It is conceptually different from zeroizing attacks.
The attack targets a family of obfuscator that Miles et al. describe axiomatically, and that
captures in particular the constructions from [MSW14, AGIS14, PST14, BGK+ 14, BMSZ16].
One way of describing the general idea of the attack is to note that the zero-testing values
ωi arising from the evaluation
P a given branching program are ring elements that can be
expressed as polynomials j fij (r1 , . . . , r` )g j on the error factors rk involved in encodings.
And for a different but functionally equivalent branching program, one will find polynomials
fij0 6= fij in general. One can then for instance distinguish between two different but
functionally equivalent branching programs by finding a polynomial relation Q between thefi,0 ’s (i.e. Q(f1,0 , . . . , fm,0 ) = 0). Indeed, such a relation will ensure that Q(ω1 , . . . , ωm ) isalways in the ideal Ig for the first branching program, whereas this will typically happen
with only negligible probability for the second branching program, for which the polynomial
relation does not hold.
The attack of [MSZ16a] even applies to the dual-input versions of the schemes mentioned
above over GGH13. However, several subsequent multilinear map constructions have been
proved to be secure against this class of attack [GMS16, MSZ16b].
More recently, several extensions of the attack of [MSZ16a] have been proposed. Chen,
Gentry and Halevi [CGH16] show how to break the original obfuscation candidate ofGarg et al. [GGH+ 13b] over GGH13 using annihilation attacks. They also combine theannihilation technique with the attack of [CLLT16a] to break the construction of obfuscation
over GGH15 multilinear maps [GGH15]. Like [CLLT17], however, these attacks are limited
to input partitionable functions, and can thus be thwarted using the techniques of [FRS16].
One can also mention the work of Apon et al. [ADGM16], which introduces an efficiently
testable condition for breaking obfuscation over GGH13 using annihilation attacks, anduses it to attack a larger class of branching programs than [MSZ16a]. The constructions
that are provably secure against annihilation attacks [GMS16, MSZ16b] remain unaffected,
however.

Chapter 4

Conclusions and Perspectives
4.1

Status of multilinear map-based primitives

We present a snapshot of the current security status of major primitives based on multilinear
maps at the time of this writing. The situation is likely to evolve rapidly, however. For an
up-to-date overview of current results, we refer the reader to Martin Albrecht’s excellent
resource entitled “Are Graded Encoding Schemes Broken Yet?” [Alb16].
Multiparty Diffie–Hellman key exchange. Over all proposed multilinear map candidates, multiparty Diffie–Hellman key exchange is broken. Over CLT13 multilinear maps,
it was broken by Cheon et al. [CHL+ 15], and later attempts to protect against the attack [BWZ14, GGHZ14, CLT15] were also broken by extensions of that attack [CLT14,
CGH+ 15, CFL+ 16]. Over GGH13 multilinear maps, it was broken by Hu and Jia [HJ16],
and that attack also applies to the optimized versions proposed in [LSS14, ACLL15]. Finally,
over GGH15 multilinear maps, it was broken by Coron et al. [CLLT16a].
Indistinguishability obfuscation. Attacks have been demonstrated against some candidate constructions of indistinguishability obfuscation over each of GGH13, CLT13 andGGH15, but not everything is broken. More precisely, the annihilation attack of Miles, Sahai
and Zhandry [MSZ16a] and its extensions [CGH16, ADGM16] broke almost all indistinguishability obfuscators over GGH13 existing at the time, but later on, constructions were
proposed that are provably secure against it [GMS16, MSZ16b]. The zeroizing attack ofCoron et al. [CLLT16b, CLLT17] broke almost all indistinguishability obfuscators over
CLT13 existing at the time in the single-input setting. However, dual-input constructions areunaffected. Moreover, the attack only affects input-partitionable functionalities, and can thus
be thwarted using the generic countermeasure of Fernando, Rasmussen and Sahai [FRS16].
Finally, Chen, Gentry and Halevi [CGH16] obtained an attack indistinguishability obfuscation over GGH15 [GGH15]. However, this attack also applies to input-partitionable
functionalities only, and is thus thwarted by [FRS16].
43

44

CHAPTER 4. CONCLUSIONS AND PERSPECTIVES

Other primitives. No specific cryptanalytic work so far has examined the security of othermultilinear map-based primitives like witness encryption. However, a reasonable expectationis that constructions relying on secret-key graded encodings, like witness encryption, arelikely to behave similarly to indistinguishability obfuscation, whereas constructions relying
on public-key encodings, like some constructions of ABE, are likely to fall prey to the samekind of attacks as Diffie–Hellman key exchange.
Note also that indistinguishability obfuscation is sufficient to obtain provably secure
multilinear maps [AFH+ 16], so theoretically speaking, as long as indistinguishability obfuscation exists, everything, including multiparty Diffie–Hellman, can be instantiated securely.
Of course, the efficiency of such a giant pyramid construction is guaranteed to be atrocious.

4.2

Future prospects

As we have seen, the whole multilinear map edifice is standing on shaky ground, and its
security situation is quite precarious. Further progress on the cryptanalytic side is likely, andcould easily bring about the unravelling of the last few remaining candidate constructionsof indistinguishability obfuscation. And even if one believes that those schemes will stay
secure, it is fair to say that the current situation, in which we have to rely on multilinear map
constructions that were found to not even satisfy their original, basic security definition, is
unsatisfactory. Progress is also being made on the construction side, however, and it could
ultimately yield to much more solid foundations. This could come from several directions.
Indistinguishability obfuscation. The conditions needed to obtain indistinguishability
obfuscation are becoming less and less stringent. Although early candidate constructions
required multilinear maps with polynomially large degrees satisfying very strong security
assumptions, this has recently been reduced to conservative assumptions over n-linear maps
for n as low as 5 [Lin16, AS16]. If n could be reduced further, one might eventually be able
to dispense with multilinear maps altogether and obtain everything from pairings.
Functional encryption. Compact functional encryption for relatively limited classes offunctions would also suffice to obtain indistinguishability obfuscation and hence everythingelse. And current techniques are not very far off from achieving it from LWE [GKP+ 13,
GVW15].
New multilinear maps. Since low-degree multilinear maps are now known to suffice forindistinguishability obfuscation, and hence essentially all applications, geometry-based
techniques, which were originally ruled out by Boneh and Silverberg, might be usefully
revisited, as has been done on a few occasions [RH09].
In any event, the field of multilinear maps can certainly expect many interesting developments in the months and years to come.

Bibliography[AB15]

Benny Applebaum and Zvika Brakerski. Obfuscating circuits via compositeorder graded encoding. In Yevgeniy Dodis and Jesper Buus Nielsen, editors,
TCC 2015, Part II, volume 9015 of LNCS, pages 528–556, Warsaw, Poland,
March 23–25, 2015. Springer, Heidelberg, Germany.

[ABD16]

Martin R. Albrecht, Shi Bai, and Léo Ducas. A subfield lattice attack on overstretched NTRU assumptions - cryptanalysis of some FHE and graded encoding
schemes. In Matthew Robshaw and Jonathan Katz, editors, CRYPTO 2016,
Part I, volume 9814 of LNCS, pages 153–178, Santa Barbara, CA, USA, August 14–18, 2016. Springer, Heidelberg, Germany.

[ABDP15]

Michel Abdalla, Florian Bourse, Angelo De Caro, and David Pointcheval.
Simple functional encryption schemes for inner products. In Jonathan Katz,
editor, PKC 2015, volume 9020 of LNCS, pages 733–751, Gaithersburg, MD,
USA, March 30 – April 1, 2015. Springer, Heidelberg, Germany.

[ABSV15]

Prabhanjan Ananth, Zvika Brakerski, Gil Segev, and Vinod Vaikuntanathan.
From selective to adaptive security in functional encryption. In Rosario
Gennaro and Matthew J. B. Robshaw, editors, CRYPTO 2015, Part II, volume9216 of LNCS, pages 657–677, Santa Barbara, CA, USA, August 16–20, 2015.
Springer, Heidelberg, Germany.

[ACLL15]

Martin R. Albrecht, Catalin Cocis, Fabien Laguillaumie, and Adeline Langlois.
Implementing candidate graded encoding schemes from ideal lattices. In Tetsu
Iwata and Jung Hee Cheon, editors, ASIACRYPT 2015, Part II, volume 9453 of
LNCS, pages 752–775, Auckland, New Zealand, November 30 – December 3,
2015. Springer, Heidelberg, Germany.

[ADGM16] Daniel Apon, Nico Döttling, Sanjam Garg, and Pratyay Mukherjee. Cryptanalysis of indistinguishability obfuscations of circuits over GGH13. Cryptology
ePrint Archive, Report 2016/1003, 2016. http://eprint.iacr.org/2016/
1003.
45

46

BIBLIOGRAPHY[AFH+ 16]

Martin R. Albrecht, Pooya Farshim, Dennis Hofheinz, Enrique Larraia, andKenneth G. Paterson. Multilinear maps from obfuscation. In Eyal Kushilevitz
and Tal Malkin, editors, TCC 2016-A, Part I, volume 9562 of LNCS, pages 446–
473, Tel Aviv, Israel, January 10–13, 2016. Springer, Heidelberg, Germany.

[AGIS14]Prabhanjan Vijendra Ananth, Divya Gupta, Yuval Ishai, and Amit Sahai.
Optimizing obfuscation: Avoiding Barrington’s theorem. In Gail-Joon Ahn,
Moti Yung, and Ninghui Li, editors, ACM CCS 14, pages 646–658, Scottsdale,
AZ, USA, November 3–7, 2014. ACM Press.

[AJ15]

Prabhanjan Ananth and Abhishek Jain. Indistinguishability obfuscation fromcompact functional encryption. In Rosario Gennaro and Matthew J. B. Robshaw, editors, CRYPTO 2015, Part I, volume 9215 of LNCS, pages 308–326,
Santa Barbara, CA, USA, August 16–20, 2015. Springer, Heidelberg, Germany.

[AJN+ 16]

Prabhanjan Ananth, Aayush Jain, Moni Naor, Amit Sahai, and Eylon Yogev.
Universal constructions and robust combiners for indistinguishability obfuscation and witness encryption. In Matthew Robshaw and Jonathan Katz, editors,
CRYPTO 2016, Part II, volume 9815 of LNCS, pages 491–520, Santa Barbara,
CA, USA, August 14–18, 2016. Springer, Heidelberg, Germany.

[Alb16]

Martin Albrecht. Are graded encoding schemes broken yet? Regularly updated
webpage, 2016. http://malb.io/are-graded-encoding-schemes-brokenyet.html.

[AS16]

Prabhanjan Ananth and Amit Sahai. Projective arithmetic functional encryption and indistinguishability obfuscation from degree-5 multilinear maps.
Cryptology ePrint Archive, Report 2016/1097, 2016. http://eprint.iacr.
org/2016/1097.

[BBS04]Dan Boneh, Xavier Boyen, and Hovav Shacham. Short group signatures. In
Matthew Franklin, editor, CRYPTO 2004, volume 3152 of LNCS, pages 41–55,
Santa Barbara, CA, USA, August 15–19, 2004. Springer, Heidelberg, Germany.

[BDOP04]

Dan Boneh, Giovanni Di Crescenzo, Rafail Ostrovsky, and Giuseppe Persiano.
Public key encryption with keyword search. In Christian Cachin and Jan
Camenisch, editors, EUROCRYPT 2004, volume 3027 of LNCS, pages 506–522,
Interlaken, Switzerland, May 2–6, 2004. Springer, Heidelberg, Germany.

[BF03]Dan Boneh and Matthew K. Franklin. Identity based encryption from the Weilpairing. SIAM Journal on Computing, 32(3):586–615, 2003.

[BGI+ 01]

Boaz Barak, Oded Goldreich, Russell Impagliazzo, Steven Rudich, Amit Sahai,
Salil P. Vadhan, and Ke Yang. On the (im)possibility of obfuscating programs.
In Joe Kilian, editor, CRYPTO 2001, volume 2139 of LNCS, pages 1–18, Santa
Barbara, CA, USA, August 19–23, 2001. Springer, Heidelberg, Germany.

BIBLIOGRAPHY

47[BGI+ 10]

Boaz Barak, Oded Goldreich, Russell Impagliazzo, Steven Rudich, Amit Sahai,
Salil P. Vadhan, and Ke Yang. On the (im)possibility of obfuscating programs.
Journal of the ACM, 59(2):6:1–6:48, 2010.

[BGK+ 14]

Boaz Barak, Sanjam Garg, Yael Tauman Kalai, Omer Paneth, and Amit Sahai.
Protecting obfuscation against algebraic attacks. In Phong Q. Nguyen andElisabeth Oswald, editors, EUROCRYPT 2014, volume 8441 of LNCS, pages
221–238, Copenhagen, Denmark, May 11–15, 2014. Springer, Heidelberg,
Germany.

[BGN05]

Dan Boneh, Eu-Jin Goh, and Kobbi Nissim. Evaluating 2-DNF formulas on
ciphertexts. In Joe Kilian, editor, TCC 2005, volume 3378 of LNCS, pages
325–341, Cambridge, MA, USA, February 10–12, 2005. Springer, Heidelberg,
Germany.

[BJK15]Allison Bishop, Abhishek Jain, and Lucas Kowalczyk. Function-hiding inner product encryption. In Tetsu Iwata and Jung Hee Cheon, editors, ASIACRYPT 2015, Part I, volume 9452 of LNCS, pages 470–491, Auckland, New
Zealand, November 30 – December 3, 2015. Springer, Heidelberg, Germany.

[BLS04]Dan Boneh, Ben Lynn, and Hovav Shacham. Short signatures from the Weilpairing. Journal of Cryptology, 17(4):297–319, September 2004.

[BMSZ16]

Saikrishna Badrinarayanan, Eric Miles, Amit Sahai, and Mark Zhandry. Postzeroizing obfuscation: New mathematical tools, and the case of evasive circuits.
In Marc Fischlin and Jean-Sébastien Coron, editors, EUROCRYPT 2016, PartII, volume 9666 of LNCS, pages 764–791, Vienna, Austria, May 8–12, 2016.
Springer, Heidelberg, Germany.

[Boy08]

Xavier Boyen. The uber-assumption family (invited talk). In Steven D. Galbraith and Kenneth G. Paterson, editors, PAIRING 2008, volume 5209 of
LNCS, pages 39–56, Egham, UK, September 1–3, 2008. Springer, Heidelberg,
Germany.

[BS03]Dan Boneh and Alice Silverberg. Applications of multilinear forms to cryptography. Contemporary Mathematics, 324:71–90, 2003.

[BSW11]Dan Boneh, Amit Sahai, and Brent Waters. Functional encryption: Definitions
and challenges. In Yuval Ishai, editor, TCC 2011, volume 6597 of LNCS, pages
253–273, Providence, RI, USA, March 28–30, 2011. Springer, Heidelberg,
Germany.

[BV15]

Nir Bitansky and Vinod Vaikuntanathan. Indistinguishability obfuscation fromfunctional encryption. In Venkatesan Guruswami, editor, 56th FOCS, pages
171–190, Berkeley, CA, USA, October 17–20, 2015. IEEE Computer Society
Press.

48

BIBLIOGRAPHY[BWZ14]Dan Boneh, David J. Wu, and Joe Zimmerman. Immunizing multilinear maps
against zeroizing attacks. Cryptology ePrint Archive, Report 2014/930, 2014.
http://eprint.iacr.org/2014/930.

[CCK+ 13]

Jung Hee Cheon, Jean-Sébastien Coron, Jinsu Kim, Moon Sung Lee, Tancrède
Lepoint, Mehdi Tibouchi, and Aaram Yun. Batch fully homomorphic encryption over the integers. In Thomas Johansson and Phong Q. Nguyen, editors,
EUROCRYPT 2013, volume 7881 of LNCS, pages 315–335, Athens, Greece,
May 26–30, 2013. Springer, Heidelberg, Germany.

[CFL+ 16]

Jung Hee Cheon, Pierre-Alain Fouque, Changmin Lee, Brice Minaud, andHansol Ryu. Cryptanalysis of the new CLT multilinear map over the integers.
In Marc Fischlin and Jean-Sébastien Coron, editors, EUROCRYPT 2016, PartI, volume 9665 of LNCS, pages 509–536, Vienna, Austria, May 8–12, 2016.
Springer, Heidelberg, Germany.

[CGH+ 15]

Jean-Sébastien Coron, Craig Gentry, Shai Halevi, Tancrède Lepoint, Hemanta K. Maji, Eric Miles, Mariana Raykova, Amit Sahai, and Mehdi Tibouchi.
Zeroizing without low-level zeroes: New MMAP attacks and their limitations.
In Rosario Gennaro and Matthew J. B. Robshaw, editors, CRYPTO 2015, Part I,
volume 9215 of LNCS, pages 247–266, Santa Barbara, CA, USA, August 16–20,
2015. Springer, Heidelberg, Germany.

[CGH16]

Yilei Chen, Craig Gentry, and Shai Halevi. Cryptanalyses of candidate branching program obfuscators. Cryptology ePrint Archive, Report 2016/998, 2016.
http://eprint.iacr.org/2016/998.

[CHL+ 15]

Jung Hee Cheon, Kyoohyung Han, Changmin Lee, Hansol Ryu, and Damien
Stehlé. Cryptanalysis of the multilinear map over the integers. In Elisabeth
Oswald and Marc Fischlin, editors, EUROCRYPT 2015, Part I, volume 9056 of
LNCS, pages 3–12, Sofia, Bulgaria, April 26–30, 2015. Springer, Heidelberg,
Germany.

[CLLT16a] Jean-Sébastien Coron, Moon Sung Lee, Tancrède Lepoint, and Mehdi Tibouchi.
Cryptanalysis of GGH15 multilinear maps. In Matthew Robshaw and Jonathan
Katz, editors, CRYPTO 2016, Part II, volume 9815 of LNCS, pages 607–628,
Santa Barbara, CA, USA, August 14–18, 2016. Springer, Heidelberg, Germany.
[CLLT16b] Jean-Sébastien Coron, Moon Sung Lee, Tancrède Lepoint, and Mehdi Tibouchi.
Zeroizing attacks on indistinguishability obfuscation over CLT13. Cryptology
ePrint Archive, Report 2016/1011, 2016. http://eprint.iacr.org/2016/
1011.
[CLLT17]

Jean-Sébastien Coron, Moon Sung Lee, Tancrède Lepoint, and Mehdi Tibouchi.
Zeroizing attacks on indistinguishability obfuscation over CLT13. In PKC 2017,
LNCS. Springer, Heidelberg, Germany, 2017. To appear.

BIBLIOGRAPHY

49[CLT13a]Jean-Sébastien Coron, Tancrède Lepoint, and Mehdi Tibouchi. Practicalmultilinear maps over the integers. In Ran Canetti and Juan A. Garay, editors,
CRYPTO 2013, Part I, volume 8042 of LNCS, pages 476–493, Santa Barbara,
CA, USA, August 18–22, 2013. Springer, Heidelberg, Germany.

[CLT13b]Jean-Sébastien Coron, Tancrède Lepoint, and Mehdi Tibouchi. Practical multilinear maps over the integers. Cryptology ePrint Archive, Report 2013/183,
2013. http://eprint.iacr.org/2013/183.

[CLT14]Jean-Sébastien Coron, Tancrède Lepoint, and Mehdi Tibouchi. Cryptanalysisof two candidate fixes of multilinear maps over the integers. Cryptology ePrint
Archive, Report 2014/975, 2014. http://eprint.iacr.org/2014/975.

[CLT15]Jean-Sébastien Coron, Tancrède Lepoint, and Mehdi Tibouchi. New multilinear
maps over the integers. In Rosario Gennaro and Matthew J. B. Robshaw,
editors, CRYPTO 2015, Part I, volume 9215 of LNCS, pages 267–286, Santa
Barbara, CA, USA, August 16–20, 2015. Springer, Heidelberg, Germany.

[CS03]

Ronald Cramer and Victor Shoup. Design and analysis of practical public-key
encryption schemes secure against adaptive chosen ciphertext attack. SIAM
Journal on Computing, 33(1):167–226, 2003.

[DH76]

Whitfield Diffie and Martin E. Hellman. New directions in cryptography. IEEE
Transactions on Information Theory, 22(6):644–654, 1976.

[ElG85]

Taher ElGamal. A public key cryptosystem and a signature scheme based on
discrete logarithms. IEEE Transactions on Information Theory, 31:469–472, 1985.

[FRS16]

Rex Fernando, Peter M. R. Rasmussen, and Amit Sahai. Preventing CLT
zeroizing attacks on obfuscation. Cryptology ePrint Archive, Report 2016/1070,
2016. http://eprint.iacr.org/2016/1070.

[Gen09]Craig Gentry. Fully homomorphic encryption using ideal lattices. In Michael
Mitzenmacher, editor, 41st ACM STOC, pages 169–178, Bethesda, MD, USA,May 31 – June 2, 2009. ACM Press.

[GGH12]

Sanjam Garg, Craig Gentry, and Shai Halevi. Candidate multilinear maps
from ideal lattices. Cryptology ePrint Archive, Report 2012/610, 2012. http://eprint.iacr.org/2012/610.

[GGH13a]Sanjam Garg, Craig Gentry, and Shai Halevi. Candidate multilinear maps
from ideal lattices. In Thomas Johansson and Phong Q. Nguyen, editors,
EUROCRYPT 2013, volume 7881 of LNCS, pages 1–17, Athens, Greece, May 26–
30, 2013. Springer, Heidelberg, Germany.

[GGH+ 13b] Sanjam Garg, Craig Gentry, Shai Halevi, Mariana Raykova, Amit Sahai,
and Brent Waters. Candidate indistinguishability obfuscation and functional

50

BIBLIOGRAPHY
encryption for all circuits. In 54th FOCS, pages 40–49, Berkeley, CA, USA,
October 26–29, 2013. IEEE Computer Society Press.

[GGH+ 13c] Sanjam Garg, Craig Gentry, Shai Halevi, Amit Sahai, and Brent Waters.
Attribute-based encryption for circuits from multilinear maps. In Ran Canetti
and Juan A. Garay, editors, CRYPTO 2013, Part II, volume 8043 of LNCS, pages
479–499, Santa Barbara, CA, USA, August 18–22, 2013. Springer, Heidelberg,
Germany.
[GGH15]

Craig Gentry, Sergey Gorbunov, and Shai Halevi. Graph-induced multilinear
maps from lattices. In Yevgeniy Dodis and Jesper Buus Nielsen, editors,
TCC 2015, Part II, volume 9015 of LNCS, pages 498–527, Warsaw, Poland,
March 23–25, 2015. Springer, Heidelberg, Germany.

[GGHZ14]

Sanjam Garg, Craig Gentry, Shai Halevi, and Mark Zhandry. Fully secure
attribute based encryption from multilinear maps. Cryptology ePrint Archive,
Report 2014/622, 2014. http://eprint.iacr.org/2014/622.

[GGHZ16]

Sanjam Garg, Craig Gentry, Shai Halevi, and Mark Zhandry. Functional
encryption without obfuscation. In Eyal Kushilevitz and Tal Malkin, editors,
TCC 2016-A, Part II, volume 9563 of LNCS, pages 480–511, Tel Aviv, Israel,
January 10–13, 2016. Springer, Heidelberg, Germany.

[GGSW13] Sanjam Garg, Craig Gentry, Amit Sahai, and Brent Waters. Witness encryption
and its applications. In Dan Boneh, Tim Roughgarden, and Joan Feigenbaum,
editors, 45th ACM STOC, pages 467–476, Palo Alto, CA, USA, June 1–4, 2013.
ACM Press.
[GKP+ 13]

Shafi Goldwasser, Yael Tauman Kalai, Raluca A. Popa, Vinod Vaikuntanathan,and Nickolai Zeldovich. Reusable garbled circuits and succinct functional
encryption. In Dan Boneh, Tim Roughgarden, and Joan Feigenbaum, editors,
45th ACM STOC, pages 555–564, Palo Alto, CA, USA, June 1–4, 2013. ACM
Press.

[GLW14]

Craig Gentry, Allison B. Lewko, and Brent Waters. Witness encryption frominstance independent assumptions. In Juan A. Garay and Rosario Gennaro,
editors, CRYPTO 2014, Part I, volume 8616 of LNCS, pages 426–443, Santa
Barbara, CA, USA, August 17–21, 2014. Springer, Heidelberg, Germany.

[GMM+ 16] Sanjam Garg, Eric Miles, Pratyay Mukherjee, Amit Sahai, Akshayaram Srinivasan, and Mark Zhandry. Secure obfuscation in a weak multilinear map
model. In Martin Hirt and Adam D. Smith, editors, TCC 2016-B, Part II, volume
9986 of LNCS, pages 241–268, Beijing, China, October 31 – November 3, 2016.
Springer, Heidelberg, Germany.

BIBLIOGRAPHY

51[GMS16]

Sanjam Garg, Pratyay Mukherjee, and Akshayaram Srinivasan. Obfuscation
without the vulnerabilities of multilinear maps. Cryptology ePrint Archive,
Report 2016/390, 2016. http://eprint.iacr.org/2016/390.

[GPS08]

Steven D. Galbraith, Kenneth G. Paterson, and Nigel P. Smart. Pairings forcryptographers. Discrete Applied Mathematics, 156(16):3113–3121, 2008.

[GPSW06a] Vipul Goyal, Omkant Pandey, Amit Sahai, and Brent Waters. Attribute-based
encryption for fine-grained access control of encrypted data. In Ari Juels,
Rebecca N. Wright, and Sabrina De Capitani di Vimercati, editors, ACM CCS
06, pages 89–98, Alexandria, Virginia, USA, October 30 – November 3, 2006.
ACM Press. Available as Cryptology ePrint Archive Report 2006/309.
[GPSW06b] Vipul Goyal, Omkant Pandey, Amit Sahai, and Brent Waters. Attribute-based
encryption for fine-grained access control of encrypted data. Cryptology ePrint
Archive, Report 2006/309, 2006. http://eprint.iacr.org/2006/309.
[GPV08]Craig Gentry, Chris Peikert, and Vinod Vaikuntanathan. Trapdoors for hardlattices and new cryptographic constructions. In Richard E. Ladner andCynthia Dwork, editors, 40th ACM STOC, pages 197–206, Victoria, British
Columbia, Canada, May 17–20, 2008. ACM Press.

[GR07]

Shafi Goldwasser and Guy N. Rothblum. On best-possible obfuscation. In
Salil P. Vadhan, editor, TCC 2007, volume 4392 of LNCS, pages 194–213,
Amsterdam, The Netherlands, February 21–24, 2007. Springer, Heidelberg,
Germany.

[GS08]

Jens Groth and Amit Sahai. Efficient non-interactive proof systems for bilinear
groups. In Nigel P. Smart, editor, EUROCRYPT 2008, volume 4965 of LNCS,
pages 415–432, Istanbul, Turkey, April 13–17, 2008. Springer, Heidelberg,
Germany.

[GSW13]

Craig Gentry, Amit Sahai, and Brent Waters. Homomorphic encryption fromlearning with errors: Conceptually-simpler, asymptotically-faster, attributebased. In Ran Canetti and Juan A. Garay, editors, CRYPTO 2013, Part I,
volume 8042 of LNCS, pages 75–92, Santa Barbara, CA, USA, August 18–22,
2013. Springer, Heidelberg, Germany.

[GVW13]Sergey Gorbunov, Vinod Vaikuntanathan, and Hoeteck Wee. Attribute-based
encryption for circuits. In Dan Boneh, Tim Roughgarden, and Joan Feigenbaum, editors, 45th ACM STOC, pages 545–554, Palo Alto, CA, USA, June 1–4,
2013. ACM Press.

[GVW15]Sergey Gorbunov, Vinod Vaikuntanathan, and Hoeteck Wee. Predicate encryption for circuits from LWE. In Rosario Gennaro and Matthew J. B. Robshaw,
editors, CRYPTO 2015, Part II, volume 9216 of LNCS, pages 503–523, Santa
Barbara, CA, USA, August 16–20, 2015. Springer, Heidelberg, Germany.

52

BIBLIOGRAPHY[Ham11]

Mike Hamburg. Spatial encryption. Cryptology ePrint Archive, Report
2011/389, 2011. http://eprint.iacr.org/2011/389.

[HJ16]

Yupu Hu and Huiwen Jia. Cryptanalysis of GGH map. In Marc Fischlin
and Jean-Sébastien Coron, editors, EUROCRYPT 2016, Part I, volume 9665 of
LNCS, pages 537–565, Vienna, Austria, May 8–12, 2016. Springer, Heidelberg,
Germany.

[Jou04]

Antoine Joux. A one round protocol for tripartite Diffie-Hellman. Journal of
Cryptology, 17(4):263–276, September 2004.

[KM10]

Neal Koblitz and Alfred Menezes. The brave new world of bodacious assumptions in cryptography. Notices of the American Mathematical Society, 57:357–365,
2010.

[KSW08]Jonathan Katz, Amit Sahai, and Brent Waters. Predicate encryption supporting
disjunctions, polynomial equations, and inner products. In Nigel P. Smart,
editor, EUROCRYPT 2008, volume 4965 of LNCS, pages 146–162, Istanbul,
Turkey, April 13–17, 2008. Springer, Heidelberg, Germany.

[Lin16]

Huijia Lin. Indistinguishability obfuscation from DDH on 5-linear maps
and locality-5 PRGs. Cryptology ePrint Archive, Report 2016/1096, 2016.
http://eprint.iacr.org/2016/1096.

[LSS14]

Adeline Langlois, Damien Stehlé, and Ron Steinfeld. GGHLite: More efficient
multilinear maps from ideal lattices. In Phong Q. Nguyen and Elisabeth
Oswald, editors, EUROCRYPT 2014, volume 8441 of LNCS, pages 239–256,
Copenhagen, Denmark, May 11–15, 2014. Springer, Heidelberg, Germany.

[LV16]

Huijia Lin and Vinod Vaikuntanathan. Indistinguishability obfuscation from
DDH-like assumptions on constant-degree graded encodings. In Irit Dinur,
editor, 57th FOCS, pages 11–20, New Brunswick, NJ, USA, October 9–11, 2016.
IEEE Computer Society Press.

[MP12]

Daniele Micciancio and Chris Peikert. Trapdoors for lattices: Simpler, tighter,faster, smaller. In David Pointcheval and Thomas Johansson, editors, EUROCRYPT 2012, volume 7237 of LNCS, pages 700–718, Cambridge, UK, April 15–
19, 2012. Springer, Heidelberg, Germany.

[MSW14]Eric Miles, Amit Sahai, and Mor Weiss. Protecting obfuscation against
arithmetic attacks. Cryptology ePrint Archive, Report 2014/878, 2014.
http://eprint.iacr.org/2014/878.

[MSZ16a]Eric Miles, Amit Sahai, and Mark Zhandry. Annihilation attacks for multilinear
maps: Cryptanalysis of indistinguishability obfuscation over GGH13. In
Matthew Robshaw and Jonathan Katz, editors, CRYPTO 2016, Part II, volume9815 of LNCS, pages 629–658, Santa Barbara, CA, USA, August 14–18, 2016.
Springer, Heidelberg, Germany.

BIBLIOGRAPHY

53[MSZ16b]

Eric Miles, Amit Sahai, and Mark Zhandry. Secure obfuscation in a weakmultilinear map model: A simple construction secure against all known attacks.
Cryptology ePrint Archive, Report 2016/588, 2016. http://eprint.iacr.
org/2016/588.

[MVO93]

Alfred Menezes, Scott A. Vanstone, and Tatsuaki Okamoto. Reducing elliptic
curve logarithms to logarithms in a finite field. IEEE Transactions on Information
Theory, 39:1639–1646, 1993.

[NR04]

Moni Naor and Omer Reingold. Number-theoretic constructions of efficientpseudo-random functions. Journal of the ACM, 51(2):231–262, 2004.

[OT09]

Tatsuaki Okamoto and Katsuyuki Takashima. Hierarchical predicate encryption for inner-products. In Mitsuru Matsui, editor, ASIACRYPT 2009, volume
5912 of LNCS, pages 214–231, Tokyo, Japan, December 6–10, 2009. Springer,
Heidelberg, Germany.

[Pai99]

Pascal Paillier. Public-key cryptosystems based on composite degree residuosity
classes. In Jacques Stern, editor, EUROCRYPT’99, volume 1592 of LNCS,
pages 223–238, Prague, Czech Republic, May 2–6, 1999. Springer, Heidelberg,
Germany.

[PRV12]Periklis A. Papakonstantinou, Charles W. Rackoff, and Yevgeniy Vahlis. How
powerful are the DDH hard groups? Cryptology ePrint Archive, Report
2012/653, 2012. http://eprint.iacr.org/2012/653.

[PST14]

Rafael Pass, Karn Seth, and Sidharth Telang. Indistinguishability obfuscationfrom semantically-secure multilinear encodings. In Juan A. Garay and Rosario
Gennaro, editors, CRYPTO 2014, Part I, volume 8616 of LNCS, pages 500–517,
Santa Barbara, CA, USA, August 17–21, 2014. Springer, Heidelberg, Germany.

[RAD78]

Ron L. Rivest, Leonard M. Adleman, and Michael L. Dertouzos. On databanks and privacy homomorphisms. In Richard A. DeMillo, editor, Foundationsof Secure Computation, pages 169–180. Academic Press, 1978.

[RH09]

Wayne Raskind and Ming-Deh Huang. A multilinear generalization of theTate pairing. Talk at the Fq9 conference, University College Dublin, July 2009.
https://maths.ucd.ie/~gmg/Fq9Talks/Raskind.pdf.

[Rot13]

Ron Rothblum. On the circular security of bit-encryption. In Amit Sahai, editor,
TCC 2013, volume 7785 of LNCS, pages 579–598, Tokyo, Japan, March 3–6,
2013. Springer, Heidelberg, Germany.

[Sch91]

Claus-Peter Schnorr. Efficient signature generation by smart cards. Journal of
Cryptology, 4(3):161–174, 1991.

54

BIBLIOGRAPHY[SW05]

Amit Sahai and Brent R. Waters. Fuzzy identity-based encryption. In Ronald
Cramer, editor, EUROCRYPT 2005, volume 3494 of LNCS, pages 457–473,
Aarhus, Denmark, May 22–26, 2005. Springer, Heidelberg, Germany.

[SW14]

Amit Sahai and Brent Waters. How to use indistinguishability obfuscation:
deniable encryption, and more. In David B. Shmoys, editor, 46th ACM STOC,
pages 475–484, New York, NY, USA, May 31 – June 3, 2014. ACM Press.

[vDGHV10] Marten van Dijk, Craig Gentry, Shai Halevi, and Vinod Vaikuntanathan. Fully
homomorphic encryption over the integers. In Henri Gilbert, editor, EUROCRYPT 2010, volume 6110 of LNCS, pages 24–43, French Riviera, May 30 –June 3, 2010. Springer, Heidelberg, Germany.
[Wat15]

Brent Waters. A punctured programming approach to adaptively securefunctional encryption. In Rosario Gennaro and Matthew J. B. Robshaw,
editors, CRYPTO 2015, Part II, volume 9216 of LNCS, pages 678–697, Santa
Barbara, CA, USA, August 16–20, 2015. Springer, Heidelberg, Germany.

[Zim15]

Joe Zimmerman. How to obfuscate programs directly. In Elisabeth Oswald andMarc Fischlin, editors, EUROCRYPT 2015, Part II, volume 9057 of LNCS, pages
439–467, Sofia, Bulgaria, April 26–30, 2015. Springer, Heidelberg, Germany.

付録５

学会等での主要攻撃論文発表等一覧
目次
1.

具体的な暗号の攻撃に関する発表 ................................................................................... 156

2.

Eurocrypt 2016 の発表.................................................................................................. 159

2.1.

Eurocrypt 2016 の発表（1 日目） ................................................................................ 159

2.2.

Eurocrypt 2016 の発表（2 日目） ................................................................................ 159

2.3.

Eurocrypt 2016 の発表（3 日目） ................................................................................ 159

3.

Crypto 2016 の発表 ....................................................................................................... 160

3.1.

Crypto 2016 の発表（2 日目） ..................................................................................... 160

3.2.

Crypto 2016 の発表（3 日目） ..................................................................................... 160

3.3.

Crypto 2016 の発表（4 日目） ..................................................................................... 161

4.

FDTC 2016 の発表 ......................................................................................................... 162

5.

CHES 2016 の発表 ........................................................................................................ 162

5.1.

CHES 2016 の発表（1 日目） ...................................................................................... 162

5.2.

CHES 2016 の発表（2 日目） ...................................................................................... 163

5.3.

CHES 2016 の発表（3 日目） ...................................................................................... 163

6.

PROOFS 2016 の発表 .................................................................................................... 163

7.

IWSEC 2016 の発表 ...................................................................................................... 164

7.1.

IWSEC 2016 の発表（2 日目） .................................................................................... 164

8.

ACM CCS 2016 の発表 ................................................................................................. 164

8.1.

ACM CCS 2016 の発表（1 日目） ................................................................................ 164

9.

Asiacrypt 2016 の発表 .................................................................................................. 165

9.1.

Asiacrypt 2016 の発表（1 日目） ................................................................................. 165

9.2.

Asiacrypt 2016 の発表（2 日目） ................................................................................. 165

9.3.

Asiacrypt 2016 の発表（3 日目） ................................................................................. 166

10.

CT-RSA 2017 の発表 ................................................................................................. 166

10.1.

CT-RSA 2017 の発表（1 日目） ................................................................................ 166

10.2.

CT-RSA 2017 の発表（3 日目） ................................................................................ 166

11.

FSE 2017 の発表 ....................................................................................................... 167

11.1.

FSE 2017 の発表（1 日目） ...................................................................................... 167

11.2.

FSE 2017 の発表（2 日目） ...................................................................................... 167

11.3.

FSE 2017 の発表（3 日目） ...................................................................................... 168

12.

PKC 2017 の発表 ....................................................................................................... 168

12.1.

PKC 2017 の発表（2 日目） ..................................................................................... 168

155

1.

具体的な暗号の攻撃に関する発表
表 1 に具体的な暗号の攻撃に関する発表のリストをカテゴリー別に示す。★は電子政府

推奨暗号の安全性に直接関わる技術動向、☆はその他の注視すべき技術動向である。
表 1 具体的な暗号の攻撃に関する発表

公開鍵暗号
Provably Weak Instances of Ring-LWE Revisited [Eurocrypt 2016]
Faster Algorithms for Solving LPN [Eurocrypt 2016]
New Complexity Trade-Offs for the (Multiple) Number Field Sieve Algorithm☆
in Non-Prime Fields [Eurocrypt 2016]
Cryptanalysis of the New CLT Multilinear Maps over the Integers[Eurocrypt 2016]
Cryptanalysis of GGH Map [Eurocrypt 2016]
Recovering Short Generators of Principal Ideals in Cyclotomic Rings[Eurocrypt 2016]
Improved Progressive BKZ Algorithms and their Precise Cost Estimation by
Sharp Simulator [Eurocrypt 2016]
Practical, Predictable Lattice Basis Reduction [Eurocrypt 2016]
A subfield lattice attack on overstretched NTRU assumptions: Cryptanalysis
of some FHE and Graded Encoding Schemes [Crypto 2016]

☆
☆

★
★
★

頁
－
－
159
－
－

－
－
－
－

A Practical Cryptanalysis of the Algebraic Eraser [Crypto 2016]－

Cryptanalysis of GGH15 Multilinear Maps [Crypto 2016]
Annihilation
AttacksforMultilinear
Maps:
Cryptanalysis
ofIndistinguishability Obfuscation over GGH13 [Crypto 2016]
Extended Tower Number Field Sieve: A New Complexity for the Medium
Prime Case [Crypto 2016]
A General Polynomial Selection Method and New Asymptotic Complexities
for the Tower Number Field Sieve Algorithm [Asiacrypt 2016]
On the Security of Supersingular Isogeny Cryptosystems [Asiacrypt 2016]
Optimization of LPN Solving Algorithms [Asiacrypt 2016]
Cryptographic applications of capacity theory: On the optimality of
Coppersmith’s method for univariate polynomials [Asiacrypt 2016]
A Key Recovery Attack on MDPC with CCA Security Using Decoding Errors[Asiacrypt 2016]
Gauss Sieve Algorithm on GPUs [CT-RSA 2017]
A Tool Kit for Partial Key Exposure Attacks on RSA [CT-RSA 2017]
Improved Key Recovery Algorithms from Noisy RSA Secret Keys with Analog
Noise [CT-RSA 2017]－

On the Bit Security of Elliptic Curve Diffie-Hellman [PKC 2017]

156

－
160
165
－
－
－
－
－
166
166
168

☆

Extended Tower Number Field Sieve with Application to Finite Fields ofArbitrary Composite Extension Degree [PKC 2017]
Provably Secure NTRU Instances over Prime Cyclotomic Rings [PKC 2017]

ブロック暗号

★

169
169
頁

Provable Security Evaluation of Structures against Impossible Differential
and Zero Correlation Linear Cryptanalysis [Eurocrypt 2016]－

Polytopic Cryptanalysis [Eurocrypt 2016]159

Improved Differential-Linear Cryptanalysis of 7-round Chaskey with
Partitioning [Eurocrypt 2016]
Reverse-Engineering the S-Box of Streebog, Kuznyechik and STRIBOBr1[Eurocrypt 2016]－－★

A 270 Attack on the Full MISTY1 [Crypto 2016]160★

New Insights on AES-Like SPN Ciphers [Crypto 2016]

161☆

Another View of the Division Property [Crypto 2016]
Automatic Search of Meet-in-the-Middle and Impossible Differential Attacks[Crypto 2016]
On the Division Property of SIMON48 and SIMON64 [IWSEC 2016]
On the Practical (In-)Security of 64-bit Block Ciphers Collision Attacks on
HTTP over TLS and OpenVPN [ACM CCS 2016]
Message-Recovery Attacks on Feistel-Based Format Preserving Encryption[ACM CCS 2016]
Nonlinear Invariant Attack - Practical Attack on Full SCREAM, iSCREAM,
and Midori64 [Asiacrypt 2016]
Trick or Tweak: On the (In)security of OTR’s Tweaks [Asiacrypt 2016]
Applying MILP Method to Searching Integral Distinguishers Based on
Division Property for 6 Lightweight Block Ciphers [Asiacrypt 2016]
Impossible-Differential and Boomerang Cryptanalysis of Round-Reduced
Kiasu-BC [CT-RSA 2017]
Optimal Differential Trails in SIMON-like Ciphers [FSE 2017]

161

★
☆
☆
☆
☆

☆

ストリーム暗号

★
★
★

☆

164
164
164
165
－
166
－
168
頁

Cryptanalysis of the FLIP Family of Stream Ciphers [Crypto 2016]－

Significantly Improved Multi-bit Differentials for Reduced Round Salsa and
ChaCha [FSE 2017]

168頁

ハッシュ関数／メッセージ認証コード★

161

Freestart collision for full SHA-1 [Eurocrypt 2016]
Breaking Symmetric Cryptosystems using Quantum Period Finding [Crypto
2016]
Linear Structures: Applications to Cryptanalysis of Round-Reduced Keccak[Asiacrypt 2016]

159

The first collision for full SHA-1 [https://shattered.io/]28

Weak Keys for AEZ, and the External Key Padding Attack [CT-RSA 2017]
SymSum: Symmetric-Sum Distinguishers Against Round Reduced SHA3[FSE 2017]

－

157

162
165

167

暗号利用モード／認証暗号頁

Universal Forgery and Key Recovery Attacks on ELmD AuthenticatedEncryption Algorithm [Asiacrypt 2016]
Statistical Fault Attacks on Nonce-Based Authenticated Encryption Schemes[Asiacrypt 2016]
Conditional Cube Attack on Round-Reduced ASCON [FSE 2017]

167

Cube-like Attack on Round-Reduced Initialization of Ketje Sr [FSE 2017]167

サイドチャネル攻撃☆
☆

☆

Correlated Extra-Reductions Defeat Blinded Regular Exponentiation[CHES 2016]
CacheBleed: A Timing Attack on OpenSSL Constant Time RSA [CHES 2016]
Side-Channel Analysis Protection and Low-Latency in Action - case study of
PRINCE and Midori [Asiacrypt 2016]
Characterisation and Estimation of the Key Rank Distribution in the Context
of Side Channel Evaluations [Asiacrypt 2016]
Taylor Expansion of Maximum Likelihood Attacks for Masked and Shuffled
Implementations [Asiacrypt 2016]
Unknown-Input Attacks in the Parallel Setting: Improving the Security of the
CHES 2012 Leakage-Resilient PRF [Asiacrypt 2016]
A Tale of Two Shares: Why Two-Share Threshold Implementation Seems
Worthwhile—and Why it is Not [Asiacrypt 2016]
A Bounded-Space Near-Optimal Key Enumeration Algorithm for Multisubkey Side-Channel Attacks [CT-RSA 2017]
Ridge-Based Profiled Differential Power Analysis [CT-RSA 2017]
My Traces Learn What You Did in the Dark: Recovering Secret Signals
Without Key Guesses [CT-RSA 2017]

☆
☆

☆

☆

162
163
－
－
－
－
－
－
－
－
頁

Differential fault analysis of SHA3-224 and SHA3-256 [FDTC 2016]
A Design Methodology for Stealthy Parametric Trojans and Its Application to
Bug Attacks [CHES 2016]

その他の攻撃☆

－頁

故障利用攻撃
☆

－

162
163
頁

Lucky Microseconds: A Timing Attack on Amazon’s s2n Implementations of
TLS [Eurocrypt 2016]
An Analysis of OpenSSL’s Random Number Generator [Eurocrypt 2016]
Backdoors in Pseudorandom Number Generators: Possibility andImpossibility Results [Crypto 2016]
Cryptanalysis of a Theorem: Decomposing the Only Known Solution to the
Big APN Problem [Crypto 2016]
Memory-Efficient Algorithms for Finding Needles in Haystacks [Crypto 2016]
Efficiently Computing Data-Independent Memory-Hard Functions [Crypto
2016]
Algebraic Security Analysis of Key Generation with Physical Unclonable
Functions [PROOFS 2016]
Cliptography: Clipping the Power of Kleptographic Attacks [Asiacrypt 2016]
A New Algorithm for the Unbalanced Meet-in-the-Middle Problem [Asiacrypt
2016]

158

159
160
160
－
161
－
163
－
166

2.

Eurocrypt 2016 の発表

2.1. Eurocrypt 2016 の発表（1 日目）
Polytopic Cryptanalysis [Eurocrypt 2016]
Tyge Tiessen
差分暗号解析は、2 つの平文の違いと各々の対応する暗号文の違いとの統計的な依存関係を利用しているが、その拡張としてより多くのテキストの相互依存関係を利用する多面的暗号解析を導入した。不可能差分解析に関しては従来よりも優位性があり、縮退版 DES、および縮退版 AES に関して部分的に既存攻撃を凌ぐ結果を得た。

2.2. Eurocrypt 2016 の発表（2 日目）
New Complexity Trade-Offs for the (Multiple) Number Field Sieve Algorithm in NonPrime Fields [Eurocrypt 2016]
Palash Sarkar and Shashank Singh
位数 Q=pn, n>1 の有限体における数体篩法(NFS: Number Field Sieve)の新しい多項式選
択アルゴリズムを提案する。p=LQ(2/3, cp), c𝑝 ∈ [3.39, 20.91]の場合の NFS は、他の多項式
選択アルゴリズムによる NFS/MNFS(Multiple NFS: 複数数体篩)よりも小さい計算量となる。
本多項式選択アルゴリズムを使用した MNFS は本多項式選択アルゴリズムを使用した NFS よ
りも小さい計算量となる。c𝑝 ∈ (0, 1.12] ∪ [1.45, 3.15]の場合は、本多項式選択アルゴリズムを使用した MNFS の計算量は、Conjugation を使用した MNFS の計算量と同じであり、それ以外の場合は、本多項式選択アルゴリズムを使用した MNFS の計算量は、あらゆる既存方式よりも小さくなる。
Freestart collision for full SHA-1 [Eurocrypt 2016]
Marc Stevens, Pierre Karpman and Thomas Peyrin
SHA-1 のフリースタート衝突ペアが具体的に示された。64GPU クラスタによる 10 日間の計算、およそ 257.5 回の圧縮関数呼び出しが攻撃に必要であった。2005 年の理論的衝突攻撃のブレークスルー以来の進歩、特に Crypto 2015 における Karpman らの 76 段 SHA-1 をより高速化するテクニックを使い、また、Eurocrypt 2013 の Stevens の最適な攻撃条件を得る
結果を利用した。著者らは、産業界に SHA-1 の利用を止めるよう勧告している。

2.3. Eurocrypt 2016 の発表（3 日目）
Lucky Microseconds: A Timing Attack on Amazon’s s2n Implementations of TLS[Eurocrypt 2016]
Martin R. Albrecht and Kenneth G. Paterson
s2n は 2015 年 6 月にリリースされたアマゾンによる TLS プロトコルの実装である。リリース時には、3 つの外部評価とテストを実施したと発表されたが、CBC モード暗号スイートにおいてタイミング攻撃に弱く、設定によっては平文回復につながることが示された。攻撃159

は 2 つの部分からなり、第 1 の部分は s2n に実装されている Lucky 13 対策に対しても有効となる新たな版の Lucky 13 攻撃であり、第 2 の部分は、Lucky 13 に対する付加的な対策として s2n に実装されたランダム化された遅延を扱っている。

An Analysis of OpenSSL’s Random Number Generator [Eurocrypt 2016]
Falko Strenzke
OpenSSL 暗号ライブラリの乱数生成における様々な脆弱性が示された。エントロピーの低い状態ではその出力に低エントロピー秘密情報を漏らす。また、状態にエントロピーを付加する関数は有効に機能せず、結果として期待されるエントロピーレベルに到達しない。更に、設計の欠陥により正しく種が与えられたとしても意図された 256 ビットのセキュリティではなく、240 ビットのエントロピーに制限されてしまう。

3.

Crypto 2016 の発表

3.1. Crypto 2016 の発表（2 日目）
Backdoors in Pseudorandom Number Generators: Possibility and Impossibility
Results [Crypto 2016]
Jean Paul Degabriele, Kenneth G Paterson, Jacob C. N. Schuldt and Joanne Woodage
Dodis らによる落とし戸付疑似乱数生成の設定を見直し、これまで考えられていたよりも強力な落とし戸を仕込むことができることを示した。特に、一つの生成出力が与えられれば、
ビッグブラザーは初期状態、即ちすべての出力を回復することができる落とし戸付疑似乱数生成の効率的な構成を与えた。また、Dodis らの ACM-CSS 2013 の意味における、入力を持つ頑強な落とし戸付疑似乱数生成を構成した。肯定的な結果としては、状態サイズに対して比較的大きな k に対しては、ビッグブラザーは k 個以上の適切にリフレッシュされた状態を回復することは不可能であることを示した。
A 270 Attack on the Full MISTY1 [Crypto 2016]
Achiya Bar-On and Nathan Keller
64 ビットブロック暗号 MISTY1 に対する鍵回復攻撃が発表された。NTT の藤堂氏の結果を改良したものであり、解読計算量は約 270 にまで下がっているが、解読に必要なデータ量は264 であり、まだ現実的な脅威とは言えない。本結果は事前にプレプリントで公表されており、CRYPTREC はホームページにて解読に必要なデータ量・計算量の表および「解読に必要なデータ量が膨大であることから現実的な脅威ではないと考えられる」という見解を公表済である。

3.2. Crypto 2016 の発表（3 日目）
Extended Tower Number Field Sieve: A New Complexity for the Medium Prime Case
[Crypto 2016]
Taechan Kim and Razvan Barbulescu

160離散対数問題解読における多項式選択ステップの改良により、解読計算量を削減できることを示した。対象とした基礎体は中程度の大きさの素数の拡大体であり、Q=pn に対して、
数体篩法の場合、計算量を LQ(1/3, (96/9)1/3)から LQ(1/3, (48/9)1/3)に下げ、複数数体篩法の場合、LQ(1/3, 2.15)から LQ(1/3, 1.71)に下げた。CRYPTREC 暗号リストで利用している素体ではないため CRYPTREC に直接的な影響はないが、ペアリング暗号等の条件に当てはまる体を利用している場合には注意が必要である。

New Insights on AES-Like SPN Ciphers [Crypto 2016]
Bing Sun, Meicheng Liu, Jian Guo, Longjiang Qu and Vincent Rijmen
本論文では S-box と MDS 行列の両方を詳しく調べることにより AES 風 SPN 暗号の識別性質に注目し安全性に関する新しい洞察を記述する。選択暗号文攻撃モードにおいて、5 ラウ
ンド AES はランダム置換と識別可能であることを示した。本結果は秘密鍵設定における縮退 AES に対する最も長い識別であり、AES に対する 5 ラウンド識別は、選択暗号文攻撃モードにおいてのみ可能であるため、選択平文攻撃モードにおける縮退 AES のセキュリティマ
ージンは、選択暗号文攻撃モードのそれとは異なるかもしれない。
Another View of the Division Property [Crypto 2016]
Christina Boura and Anne Canteaut
パリティ集合の概念の導入により、Eurocrypt 2015 において藤堂により導入された
division 性質に対する新しいアプローチを与える。初めに、この新しい概念により、任意
階の division 性質を定式化し特徴づける。次に、division 性質を一般化したパリティ集合の性質を考慮することにより、ブロック暗号の識別を構成することを検討する。最後にこのタイプの攻撃に対する Sbox の耐性を分析し、Sbox とその逆の代数的正規化との関連を示し、この攻撃に対する Sbox の設計基準を示す。

3.3. Crypto 2016 の発表（4 日目）
Automatic Search of Meet-in-the-Middle and Impossible Differential Attacks[Crypto 2016]
Patrick Derbez and Pierre-Alain Fouque
本論文では、非常に大きなクラスのブロック暗号－バイト指向からビット指向、SPN、
Feistel、Lai-Massey ブロック暗号－に対する最良の中間一致および不可能差分総当たりを行う一般的なアルゴリズムを記述する。これまでのツールのように、暗号の最良差分／線型パスを見つけ、これらのパスを用いた攻撃は暗号解析者に委ねるのではなく、暗号と鍵スケ
ジュールアルゴリズムを考慮することにより、自動的に最良の攻撃を見つけるツールである。本ツールにより、AES、mCRYPTON、SIMON、IDEA、KTANTAN、PRINCE、ZORRO 等多くの攻撃を改良した。本ツールは暗号設計者がより良い解析を得るために使うことができる。
Memory-Efficient Algorithms for Finding Needles in Haystacks [Crypto 2016]
Itai Dinur, Orr Dunkelman, Nathan Keller and Adi Shamir
指数的に多い N=2n のイベントの集まり(干し草の山)の中から、興味深いイベント(針)を探す問題、特に N の干し草がほぼ一様分布であり針が非常に高い確率 p>>1/N の場合を考える。探索アルゴリズムがこの分布からサンプリングすることしかできない場合、このイベン

161

トを見つける既知の最良時間／空間トレードオフは O(M)空間が与えられた場合 O(1/Mp 2)時間を必要とする。本論文では分布がランダムな入力にある決定的関数 f を適用して定義される状況において、もっと速く針を探索するアルゴリズムを開発する。このような分布は N個の頂点を持ち、ほとんどすべての頂点は O(1)の祖先を持つが、探している頂点は O(pN)の祖先を持つランダム有向グラフでモデル化される。一定の空間が与えられた場合に、NestedRho と名付けた新しい探索方式を提案する。新アルゴリズムは、1/N < p < 1 において、既知最良の O(1/p2)アルゴリズムよりも速く、N-0.75 < p < N-0.5 の任意の p に対して、√N 因子も時間計算量を改良する。より大きな空間がある場合、並行衝突探索アルゴリズムと組み合わせることに更に時間計算量を下げることができる。

Breaking Symmetric Cryptosystems using Quantum Period Finding [Crypto 2016]
Marc Kaplan, Gaetan Leurent, Anthony Leverrier and Maria Naya-Plasencia
本論文では、攻撃者が異なる量子状態の重ね合わせにおける暗号プリミティブを実装しているクエリにアクセスできる攻撃を考える。このモデルにおいて共通鍵暗号を攻撃するために、Simon のアルゴリズムと呼ばれる(最も単純な区間探索量子アルゴリズム)量子手続
きの応用を検討する。いくつかの古典的な衝突探索に基づいた攻撃は Simon のアルゴリズ
ムにより劇的に高速化される。古典設定においては衝突探索は Ω(2n/2)問合せが必要だが、ある隠された周期で衝突が起こるときは、量子モデルでは O(n)問合せで発見される。このセキュリティモデルにおいては、最も広く使われている認証利用モードと認証暗号（例えば、CBC-MAC、PMAC、GMAC、GCM、OCB）は完全に解読されることを示す。本攻撃は多くの CAESAR
候補(CLOC、AEZ、COPA、OTR、POET、OMD、Minalpher)にも適用可能である。Simon のアルゴ
リズムはスライド攻撃にも適用することができ、古典的な共通鍵暗号解析テクニックの量子モデルにおける指数的高速化につながる。

4.

FDTC 2016 の発表

Differential fault analysis of SHA3-224 and SHA3-256 [FDTC 2016]
Pei Luo, Yunsi Fei, Liwei Zhang and A. Adam Ding
米国ノースイースタン大学のグループによる、米国標準ハッシュ関数 SHA3 への差分故障解析であり、シングルバイト故障モデルの提案とそれによる効率的な攻撃方法を示した。
SHA-3 のダイジェスト長{224,256,384,512}のうち、SHA3-384,SHA3-512 の差分故障利用攻撃は既に発表されていたが、SHA3-224,SHA3-256 は本発表が初 （SHA3-256 は推奨候補暗号リスト掲載の暗号)。

5.

CHES 2016 の発表

5.1. CHES 2016 の発表（1 日目）
Correlated Extra-Reductions Defeat Blinded Regular Exponentiation [CHES 2016]
Margaux Dugardin, Sylvain Guilley, Jean-Luc Danger, Zakaria Najm and Olivier Rioul

162

エクストラリダクション（extra-reduction）をサイドチャンネル情報として、べき乗剰余を用いた非対称計算に対する新しい理論的かつ実用的なサイドチャネル攻撃を示した。
この攻撃は、2 つの連続したモンゴメリモジュラ乗算演算のエクストラリダクション間に存在するバイアスを利用する。論文では RSA の実装への詳細適用が示されているが、ECC の実装へも適用可であるとしている。

5.2. CHES 2016 の発表（2 日目）
CacheBleed: A Timing Attack on OpenSSL Constant Time RSA [CHES 2016]
Yuval Yarom, Daniel Genkin and Nadia Heninger
キャッシュ・タ イミング攻 撃に耐性をも つソフト ウェア実装のテ クニックで ある“scatter-gather”実装に対して“CacheBleed”と名付けた新たなキャッシュ・タイミング攻撃を提案している。この攻撃は、インテル社によるマイクロプロセッサのマイクロアーキ
テクチャである“Sandy Bridge”マイクロアーキテクチャのキャッシュバック競合（cachebank conflict）を利用する。インテル Xeon E5-2430 上で、OpenSSL バージョン 1.0.2f のモジュラ冪剰余ルーチンの“scatter-gather ”実装に対して攻撃を行い、4096 ビット RSAに対して 16000 回の復号処理を観測することでプライベート鍵の攻撃に成功した。

5.3. CHES 2016 の発表（3 日目）
A Design Methodology for Stealthy Parametric Trojans and Its Application to Bug
Attacks [CHES 2016]
Samaneh Ghandali, Georg T., Daniel Holcomb and Christof Paar
追加のロジックを必要とせず、トランジスタレベルのパラメータを操作することで、特定のターゲット回路にハードウェアのステルス型トロイの木馬を導入する手法を示した。従来とは異なり、特定のシーケンスに対して故障を発生させるトリガーベースのトロイの木
馬を初めて実現した。遺伝的アルゴリズムを用いてパス上の全てのゲートに遅延を分散させ、トリガー入力がなされた時にパス遅延フォルトが発生し、他の入力に対してはタイミン
グ基準を満たす。32 ビット乗算回路にこのステルス型トロイの木馬を適用し、Biham らによって導入されたバグ攻撃を拡張し、ECDH 鍵合意プロトコルへの攻撃を示した。

6.

PROOFS 2016 の発表

Algebraic Security Analysis of Key Generation with Physical Unclonable Functions[PROOFS 2016]
Matthias Hiller, Michael Pehl, Gerhard Kramer and Georg Sigl
Physical Unclonable Function（PUF）を用いた鍵生成方法について、秘密データとヘルパーデータの生成プロセスを表す統一的な代数的表現（algebraic core）を導入した。これを用いてこれまで提案された PUF を用いた鍵生成手法を分析し、新たなセキュリティ設計
基準を提示した。このセキュリティ設計基準を満たさないアプローチはアルゴリズムレベ
ルで秘密漏えいを発生する。

163

7.

IWSEC 2016 の発表

7.1. IWSEC 2016 の発表（2 日目）
On the Division Property of SIMON48 and SIMON64 [IWSEC 2016]
Zejun Xiang, Wentao Zhang and Dongdai Lin
SIMON に対する Division Property を用いた integral 解析について、ビット毎独立に検討することと左半分と右半分を全体として検討することのトレードオフ（つまりは、timememory と distinguisher の正確性のトレードオフ）を実現する新手法を提案する。SIMON の状態を細かく区切り、循環シフトと AND 演算における division property の伝播を検討する。さらに、2 つの異なる状態を選び、division property の伝播における異なる状態の影
響を検討する。その結果、異なる状態は integral distinguisher の長さの大きな差につながる循環シフトにおける division property の伝播に影響を与えることが分かった。本手法を SIMON に適用することで、著者らは SIMON48 及び SIMON64 について、藤堂らの結果より 1 ラウンド改良された 12 ラウンドの distinguisher を見つけている。

8.

ACM CCS 2016 の発表

8.1. ACM CCS 2016 の発表（1 日目）
On the Practical (In-)Security of 64-bit Block Ciphers Collision Attacks on HTTP
over TLS and OpenVPN [ACM CCS 2016]
Karthikeyan Bhargavan and Gaetan Leurent
128ビット以上のブロックサイズを持つAESが広く使われている一方、3DES や Blowfishなどの 64ビットブロック暗号も TLS, SSL, および IPsec などのプロトコルの中でいまだ多くのアルゴリズムがサポートされている。特に CBC モードを用いて利用する場合、
232 ブロックのデータの暗号化を行うと衝突攻撃が無視できない確率で成功してしまうことは既知のことである。しかし、このような攻撃を実際に成功させるのは難しいであろうと考えられ、実際に具体的な影響のある衝突攻撃なども示されていなかった。この論文では、具体的に攻撃が成功することを実際に示した。攻撃には 785GBのデータを要し、時間にして19-38時間を要した。これらの攻撃の実現の容易さは、RC4 が使われている場合の攻撃の容易さに比べ、それほど大きなかい離はない。攻撃を回避するためには、64ビット
ブロック暗号を無効にする・送信する暗号文数が、攻撃者が攻撃に必要となる暗号文数となる前に鍵を更新するなどの案が提示されている。また、この攻撃を受けての各大手ベン
ダの対応なども紹介された。
Message-Recovery Attacks on Feistel-Based Format Preserving Encryption [ACM
CCS 2016]
Mihir Bellare, Viet Tung Hoang and Stefano Tessaro
NIST standard により提唱されている Feistel タイプの共通鍵暗号を用いた Format

164

Preserving Encryption に対する generic attack を示した。攻撃に際しては、この論文で提示している message-recovery security の攻撃モデルに沿い、Formal Preserving
Encryption で指定されている形式に沿って実装されている Feistel タイプの共通鍵暗号に対して、left-half attack, right-half attack, full recovery attack を行った。結果、distinguisher の存在を示すのみならず、message recovery が可能となる解析方法を示した。具体的に短いサイズの message(例えば，4bit メッセージなど) であれば完全にメッセージを推定できるとしている。攻撃には、221 のサンプル(FF1 NIST standard の場合)、 225 のサンプル(FFT3 NIST standard の場合) を必要とする。この解析を回避するためには、送信対象となるメッセージのビット数に対してラウンド数を増やすことであるとしている。発表者らはすでに NIST にこの結果を報告しているとのこと。

9.

Asiacrypt 2016 の発表

9.1. Asiacrypt 2016 の発表（1 日目）
A General Polynomial Selection Method and New Asymptotic Complexities for the
Tower Number Field Sieve Algorithm [Asiacrypt 2016]
Palash Sarkar and Shashank Singh
Kim らが扱っていない素数べき Q=pn の場合の拡張塔数体篩法を扱い、NFS の場合 LQ(1/3,(64/9)1/3)、MNFS の場合 LQ(1/3, 1.88)を得た。これまでの最小計算量は、それぞれ LQ(1/3,(96/9)1/3)および LQ(1/3, 2.12)であった。

Linear Structures: Applications to Cryptanalysis of Round-Reduced Keccak[Asiacrypt 2016]
Jian Guo, Meicheng Liu and Ling Song
ハッシュ関数 Keccak に対して、シンガポールの Guo らは、線型構造という技術を導入し、より少ない計算量で 4 段 Keccak の原像攻撃に成功したが、フルスペックの 24 段 Keccak の
安全性を脅かすには至っていない。原像攻撃の計算量は、SHAKE128 の場合 2106、KECCAK224/256 の場合、各々2213/251 である。

9.2. Asiacrypt 2016 の発表（2 日目）
Nonlinear Invariant Attack – Practical Attack on Full SCREAM, iSCREAM, andMidori64 [Asiacrypt 2016]
Yosuke Todo, Gregor Leander and Yu Sasaki
非線型不変攻撃という新しいタイプの攻撃を導入し、SCREAM、iSCREAM、Midori64 に適用した。これらの攻撃は少数の平文-暗号文ペアと最小限の計算コストしか使用しない。ベースとなるブロック暗号への非線型不変攻撃は、CBC モードや CTR モードでの暗号文単独攻撃に拡張される。ナンス尊重モデルにおいて認証暗号 SCREAM および iSCREAM の平文は暗号文
のみから回復される。弱鍵モデルにおいて、Midori64-CBC 等で、単独暗号文攻撃により平文が回復される。

165

9.3. Asiacrypt 2016 の発表（3 日目）
A New Algorithm for the Unbalanced Meet-in-the-Middle Problem [Asiacrypt 2016]
Ivica Nikolić and Yu Sasakin ビットのアンバランスな関数のペア（一方はもう一方の R 倍コストがかかる）の衝突探索は、T を時間計算量、M を空間計算量、N=2n とした時、TM=N のトレードオフに従う良く知られた標準アルゴリズムにより解かれる中間一致問題の例である。アンバランス交互配置と van Oorschot-Wiener 並行衝突探索の 2 つのアイディアを組み合わせることにより、M がR 以下であれば、T2M=R2N に従うアルゴリズムを構成する。本アルゴリズムは、アンバランスな衝突探索において空間計算量を削減する未解決問題を解決する。
Applying MILP Method to Searching Integral Distinguishers Based on Division
Property for 6 Lightweight Block Ciphers [Asiacrypt 2016]
Zejun Xiang, Wentao Zhang and Zhenzhen Bao
FSE 2016 において藤堂らはビットベースの division property による攻撃を SIMON32 に適用したが、時間・メモリ計算量が大きくなるため、32 ビット以下のブロック長の暗号にしか適用することができなかった。本論文では、混合整数線型計画法を拡張し、ブロックサ
イズが 32 ビット以上の暗号に適用する。SIMON、SIMECK、PRESENT、RECTANGLE、Lblock、
TWINE に対して攻撃を行い、SIMON32, 48, 64, 96, 128 に対して各々14-, 16-, 18, 22-,26- 段の整識別を見つけることができた。

10. CT-RSA 2017 の発表
10.1. CT-RSA 2017 の発表（1 日目）
A Tool Kit for Partial Key Exposure Attacks on RSA [CT-RSA 2017]
Atsushi Takayasu and Noboru Kunihiro
本論文では、RSA 暗号の鍵漏洩攻撃の一般的な攻撃シナリオを定式化し、そのシナリオに対する攻撃を示す。本攻撃は Ernst らの攻撃(Eurocrypt 2005)、高安-國廣(SAC 2014、ICISC
2014)等の最先端攻撃を特別な場合として含み、Sarkar-Maitra(ICISC)、HINEK(J.Math.
Cryptology 2008)等の既知の最良攻撃を凌ぐ結果を与える。本結果は一般化や既存結果より良い結果を与えるのみならず、一般的なシナリオに沿っているため RSA 変形版の安全性解析ツールキットとして、Coppersmith 法を知らなくとも使うことができる。

10.2. CT-RSA 2017 の発表（3 日目）
Improved Key Recovery Algorithms from Noisy RSA Secret Keys with Analog Noise[CT-RSA 2017]
Noboru Kunihiro and Yuki Takahashi
離散的なノイズを含む RSA の秘密鍵から元の鍵を回復する問題を考える。CHES 2014 で提166案されたノイズを含むアナログデータから鍵を回復する 2 つのアルゴリズムの内の一つは、ノイズの分布が未知でも機能するが、特にノイズの分散がアンバランスの場合には最適ではない。本論文では、分布がアンバランスなアナログノイズから秘密鍵を回復する新しいア
ルゴリズムを提示する。初めに一般的なアルゴリズム、およびその成功条件を示し、次に、ノイズ分布の分散が事前にわかっているという条件のもとで、アンバランスなノイズ分布に適したアルゴリズムを構築する。本アルゴリズムの成功条件を明に示し、既知の結果よりも優れている、即ちより多くのノイズが含まれている場合でも鍵を回復することを示し、最適性も示す。更に分散の値を使わない鍵回復アルゴリズムを示す。本アルゴリズムは初めに観測データから EM アルゴリズムを利用してノイズ分布の分散を見積もり、見積もった分散を基に初めのアルゴリズムから鍵を回復する。より多くのノイズを含む場合に、既存のアルゴリズムよりも鍵回復に成功することを示す。

11. FSE 2017 の発表
11.1. FSE 2017 の発表（1 日目）
SymSum: Symmetric-Sum Distinguishers Against Round Reduced SHA3 [FSE2017]
Dhiman Saha, Sukhendu Kuila and Dipanwita Roy Chowdhury
特別に構成された入力セットに対する SHA3 のメッセージダイジェストの合計に示される
大変興味深い特性を示し、それらを用いて SHA3 ファミリーの新たな Distinguisher を提案した。
“SymSum”と名付けられたこの Distinguisher は SHA3 の 9 段を識別し、従来知られていた Distinguisher である“ZeroSum”よりも 4 倍ほど優れている。

11.2. FSE 2017 の発表（2 日目）
Conditional Cube Attack on Round-Reduced ASCON [FSE 2017]
Zheng Li, Xiaoyang Dong and Xiaoyun Wang
認証暗号コンペである CAESAR において第 3 ラウンド候補に進んだ ASCON への攻撃である。これまで ASCON への攻撃としては、Differential-Linear 攻撃でフルスペック 12 段中
4/5 段まで、Cube-like 攻撃でフルスペック 12 段、中 5/6 段までの攻撃が知られていた。著者らは Huang らが提案した条件付きキューブ攻撃を一般化し、フルスペック 12 段中、7 段の攻撃まで成功した。鍵サイズ 128 ビットに対して 7 段で 2103.9 の計算時間で、更に弱鍵であれば 277 の計算時間まで削減可能である。ただし、いずれもフルスペック 12 段の ASCON への脅威とは至っていない。
Cube-like Attack on Round-Reduced Initialization of Ketje Sr [FSE 2017]
Xiaoyang Dong, Zheng Li, Xiaoyun Wang and Ling Qin
Keccak ベースの認証暗号 Ketje Sr への Cube-like 攻撃を行った。Ketje Sr は、認証暗号コンペである CAESAR において第 3 ラウンド候補まで進んだ Ketje の第一推奨である。攻撃の結果、7 段の Ketje Sr v1 と v2（v2 は CAESAR の第 3 ラウンドコンペで示された版）に167

対して、それぞれ 2117、297 の計算量で攻撃可能であることを示した（v1 より v2 の方が弱くなっている）。その他、Ketje Jr v1,v2 や Ketje Minor/Major v1,v2 などの攻撃も試みている。ただし、いずれもフルスペック 13 段に対しての脅威とは至っていない。

11.3. FSE 2017 の発表（3 日目）
Significantly Improved Multi-bit Differentials for Reduced Round Salsa and
ChaCha [FSE 2017]
Arka Rai Choudhuri and Subhamoy Maitra
Salsa は eSTREAM コンペに提案された 20 段／256 ビット鍵のストリーム暗号で、12 段の短縮版も存在する。ChaCha は Salsa の一つのバリアントで 20 段／256 ビット鍵のストリーム暗号であり、ChaCha20-Poly1305 AEAD が TLS1.3 で採用されようとしている。Salsa、
ChaCha はこれまで各々20 段中、8 段、7 段までの攻撃が成功していたが、この論文ではある種の差分-線形攻撃によって解読成功段数は伸ばすことができていないが、解読に必要な計算時間の削減に成功した。
Optimal Differential Trails in SIMON-like Ciphers [FSE 2017]
Zhengbin Liu, Yongqiang Li and Mingsheng Wang
SIMON-like なブロック暗号の最適な差分軌跡（Trails）を探索するアルゴリズムを提案している。まず SIMON-like なラウンド関数の差分確率のより正確な上界を示した。これに基づき、松井による探索アルゴリズムを応用し、最適な差分軌跡の探索アルゴリズムを提案している。提案探索アルゴリズムにより、SIMON32/48/64/96/128 の 12/16/19/28/37
段の最適な差分軌跡（Differential trails）の確率を示した（各々、2-34、2-50、2-64、296、2-128）。同様に SIMON のバリアントである SIMECK についての最適な差分軌跡の確率示
すと共に、SIMON、SIMECK の差分（Differentials）の確率も示した。

12. PKC 2017 の発表
12.1. PKC 2017 の発表（2 日目）
On the Bit Security of Elliptic Curve Diffie–Hellman ［PKC 2017］
Barak Shani
素体上で定義された楕円曲線の楕円 Diffie-Hellman 鍵交換プロトコルのビットセキュリ
ティを初めて示した。Diffie-Hellman 鍵の x 座標の最上位ビットの約 5/6 を求める計算量と、鍵全体を求める計算量が同等であることを示した。また 5/6 の下位ビットについても同様の結果を示した。これらは楕円曲線 HNP(Elliptic curve Hidden Number Problem)より導かれる。また拡大体上の楕円曲線について既知の手法を改善し、Diffie-Hellman 鍵の x座標または y 座標の 1 成分を（基礎体において）計算することは、鍵全体を求める計算量と同等であることを示した。

168

Extended Tower Number Field Sieve with Application to Finite Fields of Arbitrary
Composite Extension Degree [PKC 2017]
Taechan Kim and Jinhyuck Jeong
Crypto 2016でKim、Barbulescuによって示されたexTNFS （Extended tower number
field sieve）アルゴリズムの一般化を提案している。exTNFSは有限体F(Q) (p : 素数，
Q=pn）に対しての離散対数問題を計算する最先端アルゴリズムであり、n = ηκ、gcd（η, κ）＝1の時に適用されるが、一般化により最良の漸近複雑度を維持しつつ任意の合成数nに対して適用可能とした。nが合成数の時、離散対数をLQ（1/3，1.71）で計算できることを示した。これはAsiacrypt 2016でSarkar、Singhによって示されたnが2のべき乗の合成数の時の最速値LQ（1/3，1.88）より速くなっている。
Provably Secure NTRU Instances over Prime Cyclotomic Rings [PKC 2017]
Yang Yu, Guangwu Xu and Xiaoyun Wang
格子暗号 NTRUEncrypt は IEEE で標準化されているが、古典的な NTRUEncrypt は強力な安全性の保証がなかった。Eurocrypt 2011 で Stehlé と Steinfeld が NTRUEncrypt の変形を提案したが、環 Z [X] /（Xn + 1）の n が 2 のべき乗に限定される等の制限があった。この論文では環の選択に、より柔軟性をもつものとして、n を奇素数とする素数円環（Prime
Cyclotomic Ring）、すなわち Z [X] /（Xn-1+···+ X + 1）とし、標準モデルで IND-CPA の安全性をもつ変形 NTRUEncrypt を示した。

169

170

CRYPTREC Report 2016
(暗号技術評価委員会報告 CRYPTREC-RP-0002-2016)
不許複製 禁無断転載
発行日2017 年 6 月 30 日

第1版

発行者
・〒184-8795
東京都小金井市貫井北 町四丁目 2 番 1 号
国立研究開発 法人 情報通信研究機構（サイバーセキュリティ研究所 セキュリティ基盤研究室 ）NATIONAL INSTITUTE OFINFORMATIONAND COMMUNICATIONS TECHNOLOGY

4-2-1 NUKUI-KITAMACHI,KOGANEITOKYO,184-8795 JAPAN・〒113-6591
東京都文京区本駒込二丁目 28 番 8 号
独立行政法人 情報処理推進機構（技術本部 セキュリティセンター 暗号グループ）
INFORMATION-TECHNOLOGY PROMOTION AGENCY, JAPAN
2-28-8 HONKOMAGOME,BUNKYO-KU
TOKYO,113-6591 JAPAN