ISSN2188－1200

2023 年度採択分 九州大学マス・フォア・インダストリ研究所 共同利用研究集会

現代暗号に対する安全性
解析・攻撃の数理

編集 : 國廣昇，池松泰彦，
伊豆哲也，穴田啓晃，

縫田光司

九州大学マス・フォア・インダストリ研究所

MI Lecture Note Vol.94 : Kyushu University2023年度採択分 九州大学マス・フォア・インダストリ研究所 共同利用研究集会

現代暗号に対する安全性解析・攻撃の数理

編集：國廣昇，池松泰彦，伊豆哲也，穴田啓晃，縫田光司AAbout MI Lecture Note Series
The Math-for-Industry (MI) Lecture Note Series is the successor to the COE Lecture
Notes, which were published for the 21st COE Program “Development of Dynamic
Mathematics with High Functionality,” sponsored by Japan’s Ministry of Education,
Culture, Sports, Science and Technology (MEXT) from 2003 to 2007. The MI Lecture Note Series has published the notes of lectures organized under the following two
programs: “Training Program for Ph.D. and New Master’s Degree in Mathematics as
Required by Industry,” adopted as a Support Program for Improving Graduate School
Education by MEXT from 2007 to 2009; and “Education-and-Research Hub for
Mathematics-for-Industry,” adopted as a Global COE Program by MEXT from 2008 to2012.
In accordance with the establishment of the Institute of Mathematics for Industry (IMI)in April 2011 and the authorization of IMI’s Joint Research Center for Advanced andFundamental Mathematics-for-Industry as a MEXT Joint Usage / Research Center in
April 2013, hereafter the MI Lecture Notes Series will publish lecture notes and proceedings by worldwide researchers of MI to contribute to the development of MI.
October 2022
Kenji Kajiwara
Director, Institute of Mathematics for Industry

Mathematics of Security Analysis for Modern Cryptography
MI Lecture Note Vol.94, Institute of Mathematics for Industry, Kyushu University
ISSN 2188-1200
Date of issue: January 11, 2024
Editors: N oboru Kunihiro, Yasuhiko Ikematsu, Tetsuya Izu, Hiroaki Anada, Koji Nuida
Publisher:
Institute of Mathematics for Industry, Kyushu University
Graduate School of Mathematics, Kyushu University
Motooka 744, Nishi-ku, Fukuoka, 819-0395, JAPANTel +81-(0)92-802-4402, Fax +81-(0)92-802-4405
URL https://www.imi.kyushu-u.ac.jp/

B

はじめに
情報通信の発達により，暗号技術への期待がより一層高まっている．暗号を長期的に安全に使用するためには，アドホックな安全性解析ではなく，数理的な基盤にしっかり立脚した
精密な安全性評価が必要である．暗号の安全性評価において，様々な，なおかつ、本質的に重要な場面で数理的な側面が登場する．本研究集会は，「現代暗号に対する安全性解析・攻撃の数理」というテーマに関して，最新成果を紹介するとともに，研究討議を行うことを目的として開催された．以下では，本研究集会で扱ったテーマについて述べる．
近年になり量子計算機の脅威が現実になりつつある．このような状況下で，現在使われている暗号の量子計算機に対する厳密な安全性評価が必須である．さらに，量子計算機を用いても破られない暗号（耐量子計算機暗号）の研究も進んでいる．格子問題や多次多変数問題，
符号問題，同種写像問題などの数学的に定義された問題の困難さが用いられており，安全性評価が必須である．
現実社会での脅威，例えばサイドチャネル攻撃に対しても安全性を担保できなくてはな
らない．秘密鍵が持つ代数的な性質と統計量を組み合わせることにより秘密鍵を復元する攻撃もあり，数理的な側面が大きい．サイドチャネル攻撃に対する安全性評価に加えて，ハードウェアにまで踏み込んだ安全性評価も重要な研究テーマである．
現在の暗号技術は，公開鍵暗号技術と共通鍵暗号技術の両方の組み合わせにより実現している．送信者と受信者間で鍵共有ができれば，共通鍵暗号を利用できるため，共通鍵暗号の安全性評価は，常に重要である．共通鍵暗号の安全性評価では，混合整数線形計画法などの数理的な道具が活用されている．
本研究集会の主たる目的は，暗号の安全性解析を中心に据え，安全性解析に対する様々な数学的アプローチを共有することである．その目的を達成させるため，日本及び海外から産業界と学界の研究者を集め，暗号の安全性解析の最近の結果についての招待講演を行った．
本会議録は，研究集会の成果物として，すべての講演の短い要約及びスライドを含んだものである．
研究代表者 國廣昇
筑波大学システム情報系
謝辞
本ワークショップは，2023 年度九州大学 IMI 研究所共同利用研究 一般研究-研究集会(I)の助成を受けて行われました．暗号の安全性解析の研究者が一同に集まる場は非常に貴重であり，このような機会を頂けたことに感謝いたします．

i

2023

9.20 22水

現代暗号に対する
安全性解析・攻撃の数理

2023年度九州大学マス・フォア・インダストリ研究所 共同利用・共同研究

一般研究-研究集会（）

参加
無料

金

ハイブリッド開催 JR博多シティ9階会議室1

事前申込制

講演者

研究代表者

林 優一（奈良先端科学技術大学院大学）
上野 嶺 (東北大学)
Abdul Rahman Taleb (CryptoExperts and Sorbonne University)
井上 明子（NEC）
藤堂 洋介（NTT）
大西 健斗（三菱電機）
山口 純平（富士通）
草川 恵太（Technology Innovation Institute）
伊東 燦（NTT）

國廣 昇（筑波大学）

組織委員
池松 泰彦（九州大学・IMI）
伊豆 哲也（富士通）
穴田 啓晃（青森大学）
縫田 光司（九州大学・IMI）

共催機関
九州大学マス・フォア・インダストリ研究所
JST CREST「ポスト量子社会が求める高機能暗号の数理 基盤創出と展開」
富士通株式会社

https://joint.imi.kyushu-u.ac.jp/post-9072/

ii

現代暗号に対する安全性解析・攻撃の数理
開催日程：9/20(水) - 9/22(金)開催場所：JR 博多シティ 9 階会議室 1

9/20（水）
13:00-13:10 Opening

Session 1: ハードウェアの安全性
13:10-14:10 林優一（奈良先端科学技術大学院大学）
現代暗号を含むハードウェアからの電磁的情報漏えいの数理【アブストラクト】
本講演では、現代暗号を含むハードウェアからの電磁的情報漏えいメカニズムに着目し、漏えい源となる暗号モジュールから電磁波を通じてモジュール内部の秘密鍵が機器外部に漏えいする過程を数理モデルにより説明する。また、電磁気学の相反性から、機器外部から到来した電磁波によって暗号モジュールから秘密鍵が漏えいする過程も同様のモデルで説明できることを概説する。
14:25-15:25 上野嶺 (東北大学)
メモリ暗号化のための暗号技術とハードウェアアーキテクチャ【アブストラクト】
CPU の外部に配置されるメインメモリは盗聴や改ざんなどの脅威に晒されうるため，それに対抗するためにメモリ暗号化が用いられる．特に近年では，不揮発メモリ (NVM) の高性
能化や大容量化に伴い，データセンタや IoT 機器，さらに現代の CPU において省消費電力化や高性能化を目的として不揮発メモリ (NVM) の採用例が増えている．一方で，NVM は
そのデータの永続性から盗聴や改ざんのリスクが DRAM に比べて高まる．そこで，大容量の NVM をリアルタイムで暗号化・認証するメモリ暗号化技術が強く求められる．本講演では，セキュア NVM のための暗号化技術およびそのハードウェアアーキテクチャについて，講演者らによる最新の成果を交えながら概説する．

iii

15:40-16:40

Abdul Rahman Taleb (CryptoExperts and Sorbonne University)

Towards Achieving Provable Side-Channel Security in Practice
Abstract:
Physical side-channel attacks are powerful attacks that exploit a device's physicalemanations to break the security of cryptographic implementations. Many countermeasures
have been proposed against these attacks, especially the widely-used and efficient masking
countermeasure. Nevertheless, proving the security of masked implementations ischallenging. Current techniques rely on empirical approaches to validate the security of such
implementations. On the other hand, the theoretical community introduced leakage models
to provide formal proofs of the security of masked implementations. Meanwhile, theseleakage models rely on physical assumptions that are difficult to satisfy in practice, and theliterature lacks a clear framework to implement proven secure constructions on a physicaldevice while preserving the proven security.

9/21(木)
Session 2: 共通鍵暗号の安全性
10:00-11:00 井上明子（NEC）
共通鍵暗号の認証暗号利用モードの安全性と攻撃について【アブストラクト】
認証暗号は平文の秘匿と暗号文の改ざん検知が同時に実現できる共通鍵暗号方式である.
その安全性は, 2000 年に秘匿と改ざん検知の 2 つとして正式に定義されたが, その後, これらの安全性を満たす認証暗号が実装上の過失により破れる場合があることや, 認証暗号を用いるプロトコルが, 秘匿と改ざん検知以上の安全性を認証暗号に要求している場合があることが攻撃により示されている. 本発表では, ブロック暗号等の固定長入出力暗号部品を用いた認証暗号構成を中心の話題として, 基本的な認証暗号の安全性及びそれに対する攻撃, そして上記のように基本の安全性を超えた攻撃や, それらを考慮した認証暗号の拡張された安全性について紹介する.

11:15-12:15 藤堂洋介（NTT）
キャッシュランダム化関数の安全性モデルと SCARF の設計・安全性評価【アブストラクト】

iv

キャッシュ攻撃とはキャッシュとメモリの遅延差を利用したサイドチャネル攻撃である。
キ ャ ッ シュ攻 撃 を 防ぐ方 法 と してキ ャ ッ シュラ ン ダ ム化が 注 目 されて い る 。 Usenix
Security2023 で、キャッシュランダム化関数の安全性モデル、調整可能暗号を用いた設計理論、具体的な関数 SCARF を設計・発表した。本講演では、この安全性モデルの解説、実際の SCARF の設計プロセス、SCARF に対する具体的な暗号解読の取り組みを紹介する。

Session 3: 量子計算機に対する安全性
13:45-14:45 大西健斗（三菱電機）
効率的な近似量子フーリエ変換を利用した Shor アルゴリズム【アブストラクト】
本発表では，素因数分解問題を解く Shor アルゴリズムの効率化手法について議論する．現在利用されている主な公開鍵暗号として，RSA 暗号や楕円曲線暗号があり，素因数分解問
題や離散対数問題に安全性の基盤を置いている．Shor アルゴリズムは，これらの問題を多項式時間で解く量子アルゴリズムである．現在の公開鍵暗号が危殆化する時期を見積もる
ため，Shor アルゴリズムの計算コスト評価は極めて重要である．本発表では，近似量子フーリエ変換に基づく Shor アルゴリズムについて議論する．特に，本発表では，将来実現しうる大規模な耐故障性量子計算機を考慮し，耐故障性を持つ Shor アルゴリズムについて計
算コストの削減方法を議論する．

15:00-16:00 山口純平（富士通）
素因数分解問題に対する新しい量子アルゴリズム SQIF の実装と解析【アブストラクト】
2022 年 12 月に Shor よりも少ない量子ビットで素因数分解可能とする
新しい量子アルゴリズム SQIF(Sublinear-resource Quantum Integer Factorization)が提案された．SQIF は平方差法をベースとしており，特に平方差法の関係式計算を組み合わせ最適化問題に帰着し， その近似解を量子アルゴリズム QAOA を用いて計算することで関係式を得る．本講演では，2023 年 5 月の CSEC で発表した「格子と最適化手法を用いた素因数分解法の実験報告」の詳細を紹介する．まず SQIF の詳細を紹介し，関係式が数個しか計算できないという問題点を指摘する．次に，十分な数の関係式が計算可能な拡張 SQIF を提案
し，その実験結果を紹介する．実験を大規模にするため QAOA の代わりに古典的なアニーリング計算を使用し， 11 から 55 ビットの合成数の素因数分解に成功した．最後に，2048
ビット合成数の分解に必要な量子ビット数および計算量の見積もりを与える．

v

16:10-16:40 田口 廉 (東京大学)
バイナリ ECDLP を解く Shor のアルゴリズムにおける楕円曲線加算の量子リソース削減【アブストラクト】
離散対数問題を多項式時間で解く Shor のアルゴリズムの実装に係る量子リソース評価の研究が数多く行われており，バイナリ楕円曲線では量子逆元計算が主要な計算であることが知られている．その中でも我々は Toffoli ゲート数と深さの面でより有効な量子 FLT 逆元計算に着目する．我々は，既存の量子 FLT 逆元計算アルゴリズムを純粋に改良する量子 FLT
逆元計算アルゴリズムを提案し，量子ビット数をさらに削減できることを示す.

9/22(金)Session 4: サイドチャネル攻撃に対する安全性
10:00-11:00 草川恵太（TII）
格子ベースの鍵カプセル化方式に対するサイドチャネル攻撃を利用した鍵回復攻撃【アブストラクト】
量子計算機の開発の進展を受け、耐量子計算機暗号（PQC）の標準化や実装が盛んになっている。大きな影響を持つ NIST の PQC 標準化では、サイズ・速度・安全性といった観点か
ら鍵カプセル化方式（KEM）として格子暗号の Kyber が選ばれた。一方、標準化される暗号は様々な機器で実装されることから、サイドチャネル攻撃耐性も重要視される。本発表では Kyber を中心とした格子暗号に対するサイドチャネル攻撃を利用した鍵回復攻撃を、紹介する。特に、サイドチャネル攻撃を用いて平文判定オラクルや復号オラクルを構築した後の、攻撃の効率化について紹介する。
11:20-12:20 伊東燦（NTT）
深層学習に基づくサイドチャネル攻撃とその対策【アブストラクト】
暗号モジュールから副次的に発生する消費電力・漏洩電磁波（サイドチャネル情報）を用いることで、暗号モジュール内の秘密鍵を推定する攻撃をサイドチャネル攻撃という。本講演では、近年高い注目を集めているニューラルネットワークを用いたサイドチャネル攻撃（DL-SCA)について解説を行う。DL-SCA では、あらかじめ攻撃対象モジュールのサイドチ
ャネル情報について学習することで、従来よりも強力な攻撃が可能なことが知られている。
また、サイドチャネル攻撃に対する代表的な対策手法であるマスキング対策と、その理論的な安全性についても紹介し、マスキング対策が DL-SCA に対しても有効であることを説明する。

vi

12:20-12:30 Closing
13:00-15:00 Free Discussion

vii

目

次

現代暗号を含むハードウェアからの電磁的情報漏えいの数理林

優一（奈良先端科学技術大学院大学）
���������������������� 1

メモリ暗号化のための暗号技術とハードウェアアーキテクチャ
上野嶺（東北大学）������������������������������ 29

Towards Achieving Provable Side-Channel Security in Practice

Abdul Rahman Taleb（CryptoExperts and Sorbonne University）
���������� 47

共通鍵暗号の認証暗号利用モードの安全性と攻撃について

井上明子（NEC）�������������������������������� 77

キャッシュランダム化関数の安全性モデルと SCARF の設計・安全性評価

藤堂洋介（NTT）�������������������������������� 107

効率的な近似量子フーリエ変換を利用した Shor アルゴリズム

大西健斗（三菱電機）
������������������������������ 139

素因数分解問題に対する新しい量子アルゴリズム SQIF の実装と解析

山口純平（富士通）
������������������������������� 167

バイナリ ECDLP を解く Shor のアルゴリズムにおける楕円曲線加算の量子リソース削減
田口廉（東京大学）������������������������������ 185

格子ベースの鍵カプセル化方式に対するサイドチャネル攻撃を利用した鍵回復攻撃

草川恵太（TII） �������������������������������� 205

深層学習に基づくサイドチャネル攻撃とその対策
伊東燦（NTT）�������������������������������� 239

viii

IMI Workshop: Mathematics of Security Analysis for Modern Cryptography
September 20-22, 2023, JR Hakata City, Fukuoka, Japan

Mathematics of Electromagnetic Information
Leakage Including Modern Cryptography
Hayashi Yuichi
Nara Institute of Science and Technology
yu-ichi@is.naist.jp
This talk focuses on the mechanism of electromagnetic information leakage from hardware, including modern cryptography, and explains the process of leakage of a secret
key inside a module to the outside of a device through electromagnetic waves using
a mathematical model. The same model can also explain the process of secret key
leakage due to intentional electromagnetic interference based on the electromagnetic
reciprocity theorem.

1

現代暗号に対する安全性解析・攻撃の数理

現代暗号を含むハードウェアからの電磁的情報漏えいの数理

林

優一（NAIST）

暗号処理ハードウェアへの物理攻撃
 物理攻撃 暗号処理,tへの物理的アクセスに基づく攻撃 暗号アルゴリズム設計段階で考慮されない攻撃：安全と言われているアルゴリズムでも解読される可能性がある ハードウェア実装の安全性が不可欠
送信者
平文

暗号処理HW

暗号鍵

暗文

暗号
アルゴリズム
盗聴
盗聴

復号
アルゴリズム
改ざん

改ざん

攻撃者
Ϯ

2

受信者

復号鍵

盗聴

改ざん

平文

この講演で着目するポイント①漏えい電磁信号※ϭによる脅威

電磁計測

解析

②意図的な電磁妨害※Ϯによる脅威

電磁妨害

解析

→サイドチャネル攻撃、dDW^d→故障利用攻撃※ϭ電流・電圧・電磁界などを総称してここでは電磁信号と呼ぶ※Ϯレーザー照射含む（最終的には基板上の電磁気的な変化を引き起こすため）ϯ

マクスウェルの方程式

ϰ

3

The EM Side–Channel(s)ϱ

Get your hands off my laptop: physical sidechannel key-extraction attacks on PCs

ϲ4

Screaming Channels: When Electromagnetic
Side Channels Meet Radio TransceiversŚƚƚƉƐ͗ͬͬǁǁǁ͘ǇŽƵƚƵďĞ͘ĐŽŵͬǁĂƚĐŚ͍ǀсϬ/ĂĨE,Ϯt,ǆŬϳ

Eavesdropping a (Ultra-)High-Definition Video Display
from an 80 Meter Distance Under Realistic Circumstanceϴ5

A Threat for Tablet PCs in Public Space: Remote
Visualization of Screen Images Using EM EmanationϵTransient IEMI Threats for Cryptographic DevicesϭϬ

6Inaudible Attack on Smart Speakers With
Intentional Electromagnetic InterferenceϭϭEcho TEMPEST: EM Information Leakage Induced
by IEMI for Electronic Devices

ϭϮ7電子機器における電磁放射と電磁妨害
送信電波

情報技術装置
デジタル機器

/^D機器
電子レンジ

自然ノイズ

テレビ、ラジオ
無線機など

静電気、雷

家庭用機器

自動車関連

掃除機、電気掃除機
電磁環境に強くなる
イミュニティ（ノイズ耐性）向上

機器システム

妨害波を抑えるエミッション対策
ϭϯ

電子機器に求められる電磁両立性
電磁両立性

D

;ůĞĐƚƌŽŵĂŐŶĞƚŝĐŽŵƉĂƚŝďŝůŝƚǇͿ

両立する

D^

D/

;ůĞĐƚƌŽŵĂŐŶĞƚŝĐ/ŶƚĞƌĨĞƌĞŶĐĞͿ;ůĞĐƚƌŽŵĂŐŶĞƚŝĐ^ƵƐĐĞƉƚŝďŝůŝƚǇͿ

自他のシステムに
電磁的障害を与えない

自他のシステムから
電磁的影響を受けないϭϰ

8電子機器に求められるノイズ規制/（国際電気標準会議）/dh（国際電気通信連合）/^K（国際標準化機構）/^WZ（国際無線障害特別委員会）
/Z（国際無線通信諮問委員会）/dd（国際電信電話諮問会議）
各国代表の審議に基づく勧告を受けて、各国が国内法を整備したり自主規制を行う

勧告
欧州E（欧州規格）
hの統一規格D指令などをクリアした製品にマーク（安全マーク）の添付が許される

日本
米国s/（情報処理装置等電 &（連邦通信委員会）
波障害自主規制協議会） E^/（米国規格協会）
D/>（米軍仕様書）
/^WZ勧告に沿ってϭϵϴϱ年
米軍の規格。世界的に規策定された業界の自主規
格が決まっていない分野
制で参考にされるϭϱ

製品出荷のためのEMC試験

ϭϲ9

規格を満たした電子機器

ϭϳ

電磁放射を発生させる３要因モデル^ŽƵƌĐĞ
◼

情報システムを動作させるために必要な所望の信号◼ 情報システム内部の保護すべき電気信号◼ 情報システムが通信に用いる伝送信号WĂƚŚ◼

ディファレンシャルモードからコモンモードへの変換◼ 情報システム内部の電気信号を漏洩成分に変換ŶƚĞŶŶĂ
◼

情報システムの物理構造により構成されるアンテナϭϴ10電子機器から電磁放射メカニズムϭϵ^ŽƵƌĐĞ

ϮϬ

11信号源のスペクトル

周期や信号の立ち上がりによって放射されるスペクトルが異なる
Dと基礎技術͕工学図書
Ϯϭ

暗号回路の動作に伴い発生する信号
処理対象となるビット列
暗号>^/から生ずる過渡電流など

ϬϭϭϬϭϬϬϬ

秘密鍵

暗号モジュールϬϭϭϬϭϭϭϭ
データ毎に変化

データによらず不変ϮϮ

12

データ毎に変化PCとキーボード間で伝送される信号
入力キーによって信号パターンが変化するため、打鍵情報の特定が可能ϮϯPCとディスプレイ間で伝送される信号ǁǁǁ͘ŵĂǆŝŵŝŶƚĞŐƌĂƚĞĚ͘ĐŽŵϮϰ

13

マイクロプロービングによる局所電磁波攻撃◼ 暗号モジュールの表面に磁界プローブを接近させることにより，特定の箇所からの漏洩情報を正確に観測 従来対策の想定（攻撃者が観測する電磁波のモデル）を越えた攻撃が可能マイコンのバス上の充放電（0→1と1→0）を区別可能

近年，局所的な漏洩電磁波を用いた高度な攻撃（局所電磁波攻撃）の報告が多くなされている
Ϯϱ

E. Peeters, VLSI J 2007ŽƵƉůŝŶŐƉĂƚŚϮϲ

14

電子機器の設計「電流は配線に沿って流れる」と考えて機器を設計でも実際は・・・・
Ϯϳ

容量・誘導結合Ϯϴ

15

線路間カップリングの様子
マイクロストリップライン
基板

Ϯϵ

複雑な基板からの電磁放射ĞƐŝŐŶƉĂƚƚĞƌŶに基づ
きシミュレーション
モデルを作成ĞƐŝŐŶƉĂƚƚĞƌŶ

^ŝŵƵůĂƚŝŽŶŵŽĚĞůĨŽƌĞůĞĐƚƌŝĐĂůĚĞǀŝĐĞ

実機からの電磁放射をシミュ
レーション
ϯϬ

DĞŵŝƐƐŝŽŶŵĂƉƵƐŝŶŐƐŝŵƵůĂƚŝŽŶ
16

複雑な基板におけるカップリングの様子ϯϭŶƚĞŶŶĂ

ϯϮ

17電界と磁界の発生

Dと基礎技術͕工学図書
ϯϯ

モノポール・ダイポールアンテナ

hEZ^dE/E'E&/E/E'd,/Es/^/>
EdEE^/EzKhZ^/'E͕,ĞŶƌǇt͘Kƚƚ͕ϭϵϵϴϯϰ

18

ループアンテナhEZ^dE/E'E&/E/E'd,/Es/^/>
EdEE^/EzKhZ^/'E͕,ĞŶƌǇt͘Kƚƚ͕ϭϵϵϴϯϱ

波動インピーダンス特性

Dと基礎技術͕工学図書
ϯϲ

19

（例）暗号モジュールからの漏えいϯϳ

暗号モジュールからの漏えい電磁波評価系

ϯϴ20^ŽƵƌĐĞ

暗号モジュールから発生する過渡電流の周波数特性ϰϬ21ŽƵƉůŝŶŐƉĂƚŚ

寄生インダクタンスによる不平衡成分の発生ϰϮ

22ŶƚĞŶŶĂ

接続線路により構成されるアンテナ生ϰϰ

23

接続する線路によって異なるアンテナ特性ϰϱ

アンテナ特性を決定する要因ϰϲ24

EMI放射モデルを用いた情報漏洩のメカニズム：接続されたケーブルと基板サイズに応じた共振

銅線(250mm) を接続し，給電部（セミリジット）75mmの位置でCM電流を測定
ϰϳ

基板サイズによって変化するアンテナ特性ϰϴ

25

EMI放射モデルを用いた情報漏洩のメカニズム：
基板により発生する平行平板共振
平行平板共振周波数の理論値 (m, nの次数は3まで)
Cavity Resonances (The Poles of Equation)

ϰϵ

基板における平行平板共振の周波数特性ϱϬ26

機器外部に発生する漏えい電磁波ϱϭ

機器の物理構造の違いが生む漏えい波形の変化
機器を構成する基板や接続線路の長さが変化すると漏えい信号のスペクトルに変化が生ずる

基板のサイズが変化した場合

接続線路の長さが変化した場合

ϱϮ27

物理法則上回避不可能な攻撃検知ϱϯ

まとめ 暗号モジュールを含む電子デバイスから電磁波を通じた情報漏えいに着目
 電磁波の漏えい過程を「ソース」「パス」「アンテナ」のϯ要素に分解し、それらの組み合わせ
で電磁波による情報の漏えいが生じることを説明した 電磁波の計測時にはかならず「侵襲」が発生するので、計測の気配（寄生結合）をセンシング
することにより、物理法則上回避不可能な対策手法を構築できる可能性を示したϱϰ

28

IMI Workshop: Mathematics of Security Analysis for Modern Cryptography
September 20-22, 2023, JR Hakata City, Fukuoka, Japan

メモリ暗号化のための暗号技術とハードウェアアーキテク
チャ
上野 嶺

東北大学
rei.ueno.a8@tohoku.ac.jp

Memory encryption is essential to realize the privacy and trust of date stored in main
memory, which is placed outside the CPU. Especially in recent years, with the advanced
performance and greater capacity of Non-Volatile Memory (NVM), adoption of NVM
has grown in data centers, IoT devices, and modern CPUs for power eﬃciency andperformance improvement. However, NVM poses a higher risk of eavesdropping andtampering/data manipulation due to its data non-volatility, than DRAM. Therefore,a memory encryption mechanism, which is capable of encryption and authentication
for large-capacity NVM with real-time processing, is strongly demanded. In this presentation, we will provide an overview of cryptographic primitives for secure NVM,
incorporating the latest ﬁndings from the presenters.
References[1] Institute of Mathematics for Industry, Kyushu University Web Page:
http://www.imi.kyushu-u.ac.jp/[2] Dimetre Triadis, Philip Broadbridge, Kenji Kajiwara and Ken-ichi Maruno, Integrable Discrete
Model for One-dimensional Soil Water Inﬁltration, Stud. Appl. Math. 140(4)(2018) 483–507.
doi:10.1111/sapm.12208

29

!

メモリ暗号化のための暗号技術とハードウェアアーキテクチャ
上野嶺
東北大学

電気通信研究所

現代コンピュータとメモリ"! 現代のコンピュータは高速な動作が可能だがメインメモリへのアクセスが相対的に遅く処理速度低下の原因になる! メインメモリへのアクセス回数を減らすためにキャッシュをCPUコアの近くに配置アクセス! 一度使用したデータはキャッシュに保管し以降はキャッシュからロード! 記憶素子のアクセス速度と容量はトレードオフの関係にある! メインメモリはCPU外部に配置されるためCPU上のデータよりも容易に盗聴・改ざんが可能

On-chipCPU
core 2CPU
core 1CPU
core nProcessing
unit

高

LLC
Main memory(e.g., DRAM)

Write Pending Queue (WPQ)
Off-chip

現代コンピュータの典型的なシステムモデル30

小L2 cache

Last Level Cache (LLC)! メモリ暗号化の主な動機

Register
L1 cacheL1 cacheL2 cache

Main memory

容量

速度

低

Storage(e.g., HDD, SSD)

大

メモリの階層構造

Cold boot attack#[HSH+09]! メインメモリ (DRAM) はコンデンサに蓄えた電荷で情報を記憶する! 電源を切っても情報はすぐに消失せず残留する! 冷却することで残留時間が伸びる! DRAMを（冷却して）取り外してダンプすることでデータを盗聴可能! ストレージ暗号化をバイパス可能! AESやRSA，格子暗号などの秘密鍵回復の成功例も報告

時間

実際にDRAMを冷却して取り外す様子

電源遮断後のDRAMデータの変化[HSH+09] J. A. Halderman et al., “Lest we remember: cold-boot attacks on encryption keys,”
Communication of the ACM, vol. 52, pp. 91‒98, 2009. （図は同文献より引用）

不揮発メモリ・永続メモリの台頭! 不揮発メモリ (NVM) の高性能化・大容量化に伴い活用例が増加! データの保持に電力が不要なので省エネルギー化に大きく貢献! メインメモリ，あるいはメインメモリとストレージの中間層として活PM用した高性能CPUも開発された (NVDIMMやIntel Optane PMなど)

Intel Optane Persistent Memory の概要! ただしDRAMよりも盗聴や改ざんが遥かに容易に! Intel Optane Persistent Memory は AES‒XTS による暗号化をサポート

図の引用：https://www.intel.co.jp/content/www/jp/ja/products/docs/memory-storage/optane-persistent-memory/optane-persistent-memory-200-series-brief.html

31$

本講演の内容%! （不揮発）メモリ暗号化のための脅威・安全性モデルとメモリ暗号化のための主要暗号プリミティブを紹介! 講演者らのグループが開発したメモリ暗号化スキームELMを解説 [1]! ELMを実際のCPUで安全かつ実用的に運用するためのハードウェアアーキテ
クチャを解説 [2, 3] (本公開版では割愛)! Disclaimer: TEEメモリ暗号化とは（関連はあるが）異なるトピック! TEEでは仮想攻撃者は悪意ある特権ユーザやOS（CPU内部の存在）などだが，本講演では外部からメモリデータの盗聴・改ざんを試みる攻撃者を仮定! Remote attestationやEnclaveなどは今回は扱わない! NECセキュアプラットフォーム研究所との共同研究成果を含みます[1] Akiko Inoue, Kazuhiko Minematsu, Maya Oda, Rei Ueno, and Naofumi Homma, “ELM: A Low-Latency and Scalable
Memory Encryption Scheme,” IEEE Transactions on Information Forensics and Security, Vol. 17, pp. 2628‒2643, 2022.
[2] 羽田大倫, 上野嶺, 本間尚文, 井上明子, 峯松一彦, “分離カウンタを用いたセキュアNVMの効率的な復旧保証,” 情報処理学会研究報告,
Vol. 2022-ARC-250, No. 15, pp. 1‒9, 2023.
[3] 羽田大倫, 上野嶺, 本間尚文, 井上明子, 峯松一彦, “更新並列化可能認証木に基づく高速なセキュア不揮発性メモリの実現,” 情報処理学
会研究報告, Vol. 2022-ARC-250, No. 15, pp. 1‒9, 2022.

メモリ暗号化のシステムモデル! コンピュータは信頼できるOn-chip領域と信頼できないOff-chip領域に分割される! 攻撃者はOn-chip領域のデータは全く盗聴・改ざんできない! 攻撃者はOff-chip領域のデータを任意に盗聴・改ざんできる! メモリ暗号化の目的はOff-chipに格納されるデータの機密性と完全性の保証

On-chipCPU
core 2CPU
core 1
Processingunit
L1 cacheL2 cache

Last Level Cache (LLC)

Trustedarea! On-chipデータは全面的に信頼する
Untrusted! メモリ暗号化も安全に行われる
area! On-chip領域は安全な計算環境と数千ビットのレジスタを提供する! このレジスタに秘密鍵やナンスを格納

32&

Write Pending Queue (WPQ)
Off-chip
Main memoryCPUcore nメモリ暗号化のための暗号技術'! メモリ暗号化では通常，共通鍵暗号を使用! メモリデータはCPU上に読み込まれるときに復号・検証して，メモリに書き込むときに暗号化すればよい（On-chipの秘密鍵のみで処理が完結する）! メモリデータの秘匿性と完全性を実現する主要暗号技術! ナンスベースメッセージ認証符号 (MAC) および認証暗号 (AE)
N
K

M

N

MAC

K

T

N

M

AE.EncC

K

AE.DecM

T

C

T

K: 秘密鍵，N: ナンス，M: メッセージ/平文，C: 暗号文，T: タグ（本講演ではAEのAssociated Dataは考慮しない）

共通鍵暗号の利用の検討1(! メモリ全域に対してMACを一回計算! メモリアクセスの度にメモリ全域へのフルアクセスが必要! リアルタイム処理が不可能

T=
MACK(M[1], ..., M[n], N)

M[1]
M[2]
M[3]

T
N

M[4]
...
M[n]

Trusted on-chip area

Untrusted off-chip memory

33

安全性

OK

計算量（遅延）O(n)On-chip
メモリ量

O(1)Off-chipメモリ
オーバーヘッドなし共通鍵暗号の利用の検討2)! 各データブロックに対してMACを計算! On-chip に Off-chip と同等の量のデータを格納しなければならない! これが可能ならそもそもOn-chipに平文を格納すればよい

T[i] = MACK(M[i], N[i])
T[1]

N[1]

M[1]

T[2]

N[2]

M[2]

T[3]

N[3]

M[3]

T[4]

N[4]

M[4]

...

...

...

T[n]

N[n]

M[n]

Trusted on-chip area

安全性

OK

計算量（遅延）O(1)On-chip
メモリ量

O(n)Off-chipメモリ
オーバーヘッドなし

Untrusted off-chip memory

共通鍵暗号の利用の検討3!*! 計算したタグとナンスをOff-chipに格納する! リプレイ攻撃を防げない! 検証はOn-chip上のナンス (Root-of-Trust) に紐付けることが絶対に必要
T[i] = MACK(M[i], N[i])（秘密鍵のみ）Trusted on-chip area

M[1]

T[1]

N[1]

M[2]

T[2]

N[2]

M[3]

T[3]

N[3]

M[4]

T[4]

N[4]

...

...

...

M[n]

T[n]

N[n]

Untrusted off-chip memory

34

安全性

脆弱性あり

計算量（遅延）O(1)On-chip
メモリ量

O(1)（秘密鍵のみ）Off-chipメモリ
オーバーヘッドO(n)メモリ認証木!!

! リアルタイムでの暗復号および認証を実現! あるアドレスにアクセスするときは関連するタグのみを検証! 現実的なOn-chipメモリ量でリプレイ攻撃対策を実現
T[i+1]
N[i+1]
Troot
Nroot

...

...
T[j]
N[j]

Trustedon-chip area

T[1]
N[1]
T[2]

M[1]

安全性

OK

計算量（遅延）O(bd)= O(b logbn)

On-chip
メモリ量

O(1)Off-chipメモリ
オーバーヘッドO(bd-1)

M[2]
M[3]
M[4]

N[2]

...

...

T[i]

M[n]

N[i]

d: 木の深さ，b: 木の分岐数 (Arity)

Untrusted off-chip memory

メモリ認証木!"! リアルタイムでの暗復号および認証を実現! あるアドレスにアクセスするときは関連するタグのみを検証! 現実的なOn-chipメモリ量でリプレイ攻撃対策を実現
T[i+1]
N[i+1]
Troot
Nroot

...

...
T[j]
N[j]

Trustedon-chip area

T[1]
N[1]
T[2]

M[1]
M[2]
M[3]
M[4]

N[2]

...
T[i]
N[i]

...
M[n]

安全性

OK

計算量（遅延）O(bd)= O(b logbn)

On-chip
メモリ量

O(1)Off-chipメモリ
オーバーヘッドO(bd-1)

d: 木の深さ，b: 木の分岐数 (Arity)

Untrusted off-chip memory35

Merkle tree!#

! 最も代表的な認証木構造! メモリ暗号化以外でもたびたび使われる（ハッシュベース署名など）! 暗号化にはカウンターモードAESを利用するのが一般的! カウンターに対して認証木を作ることで効率化（BMT: Bonsai MT）
TR

Trusted on-chip area
Untrusted off-chip memory

Hash

T[13]

T[14]

Hash

Hash

T[9]

T[10]

T[11]

T[12]

Hash

Hash

Hash

Hash

C[1]

C[2]

C[3]

C[4]

C[5]

C[6]

C[7]

C[8]

Merkle treeの（メモリ暗号化における）欠点!$! 更新（書き込み）が並列化できないため更新に大きな遅延がかかる! 中間/ルートノードの計算にはその子ノードの計算完了を待つ必要がある! 大容量を守るために木が深くなるほどに致命的TR

Trusted on-chip area
Untrusted off-chip memory

C[1]

Hash

T[13]

T[14]

Hash

Hash

T[14] の計算が完了するまで計算開始できない

T[9]

T[10]

T[11]

T[12]

Hash

Hash

Hash

Hash

C[2]

C[3]

C[4]

C[5]

C[6]

36

C[7]

T[11] の計算が完了するまで計算開始できないC[8]Parallelizable Authentication Tree (PAT)!%! 子ノードのタグではなくナンスをMACを用いて認証する木! 親ノードのナンスがMACのナンスで，子ノードのナンスは検証対象データ! ナンスはNVMにそのまま格納できるため，更新も並列化可能
Trusted on-chip area

NR

Untrusted off-chip memory

TR
MAC

T[13]

N[13]

T[13]

MAC
T[9]

N[9]

N[13]

MAC
T[10]

MAC

T[11]

N[10]

MAC

N[11]

T[12]

MAC

N[12]

MAC

N[1]

N[2]

N[3]

N[4]

N[5]

N[6]

N7]

N[8]

C[1], T[1]C[2], T[2]C[3], T[4]C[4], T[4]C[5], T[5]C[6], T[6]C[7], T[7]C[8], T[8]平文はAEで暗号化され，その暗号文とタグは木と別に格納される（BMTと同じ）

Parallelizable Authentication Tree (PAT)! 子ノードのタグではなくナンスをMACを用いて認証する木! 親ノードのナンスがMACのナンスで，子ノードのナンスは検証対象データ! ナンスはNVMにそのまま格納できるため，更新も並列化可能
Trusted on-chip area

NR

Untrusted off-chip memory

TR

MACの入力となるナンスはメ
モリにそのまま格納されるため更新も並列化可能

MAC
T[13]

N[13]

T[13]

MAC
T[9]

N[9]

N[13]

MAC
T[10]

MAC

N[10]

T[11]

MAC

N[11]

T[12]

MAC

N[12]

MAC

N[1]

N[2]

N[3]

N[4]

N[5]

N[6]

N7]

N[8]

C[1], T[1]C[2], T[2]C[3], T[4]C[4], T[4]C[5], T[5]C[6], T[6]C[7], T[7]C[8], T[8]37!&

本研究グループのアプローチ!'! メモリ暗号化に最適化された新たなPATインスタンス ELM を提案! Encryption for Large Memory! 低遅延AEおよびMACである Flat‒OCB
および PXOR‒MAC を提案（BCベース）! 遅延・On-chipメモリ量の観点からIntel SIT
より大容量メモリに対しスケーラブル! 現実世界で安全かつ効率的にELMを運用するためのハードウェア
アーキテクチャを提案（本資料では割愛）

図の引用：https://commons.wikimedia.org/wiki/File:Ulmus_glabra_Lutescens_02.jpg!(

ELMの紹介38

既存PAT: Intel SGX Integrity Tree (SIT)!)! 代表的なTEEメモリ暗号化スキームだが不揮発メモリ暗号化の文脈でも最もメジャーなPATインスタンスの一つ [Gue16]! MAC: Inner-product MAC（汎用ハッシュを用いたWegman‒Carter MAC）
! AE: カウンターモードAESとInner-product MACの汎用結合! メモリアドレスをImplicitナンスとして利用! ナンスデータ量を削減! Splicing（データ位置を入れ替える攻撃）対策! Explicitナンスはアップカウンターで実現[Gue16] S. Gueron, “A Memory Encryption Engine Suitable for General Purpose
Processors ,” IACR ePrint Archive 2016/204.（図は同文献より引用）

SITのMAC

補足! SITは128 MBの保護領域に特化している! より大きな領域の保護がOn-chipメモリオーバーヘッドの観点から非常に困難! Inner-product MACの鍵長が入力ビット長に対して線形なため! 汎用ハッシュをGHASH風にする（AES‒GCMを利用する）ことも考えられるが，追加で遅延・回路面積が必要になる! その他の既存PATについて! コンピュータアーキテクチャ分野の論文ではAESカウンターモードとHMACを想定して評価しているが，具体的な暗号や実装は考慮されないことが多い! 暗号化とHMACにかかる遅延は過去の論文に習って決め打ちしている! 160，80，40，あるいは20クロックサイクルと仮定されることが多い
ためおそらくSHA1 HMACを想定している（講演者の予想）

39"*

Key technique: Incremental cryptography"!

! 高効率なメモリ暗号化のために MAC の Incrementality を活用! メッセージブロックの一部がアップデートされた場合に，旧タグ，旧メッセー
ジブロック，新旧ナンス，新メッセージブロックのみから新たなタグを計算! メモリ書き込みでは通常1ブロックごとに処理を行い，すべてのメッセージブ
ロックが同時に更新されることはほとんどない
M[1]

M[1]

M[2]

M’[2]

M[3]

M[3]

M[4]

M[4]

...

ブロック暗号 (BC) ベースMACのBCコール回数

Tag generationand verification

O(n)

...

Non-incremental
update

O(n)

M[n]

M[n]

Incremental
updateO(1)アップデート前

アップデート後

ELM: Encryption for Large Memory! 可能な限り低遅延なAEとMACを用いたPAT! Flat‒OCB: メモリ暗号化に特化してOCBを改良したAESベースAE! PXOR‒MAC: IncrementalityとRate-1を備えたAESベースMAC! 大きなNVMを効率的に保護! 鍵長は保護領域 n に対してO(1)! AESへの安全性帰着! 想定：深さdの木を使用するときはd個のMAC/AEハードウェアで並列処理が可能! dは利用可能なハードウェアリソースあるいはメモリ帯域幅に従って決定! その上で木の分岐数b（MACの入力長に対応）と葉ノードのAEのブロック長
l をmax(MACの遅延，AEの遅延) が最小となるように決定

40""

AEの利用の検討：OCB"#! ISO/IEC にもインスタンスがリストされている代表的な Rate-1 AE! 暗号化/復号に必要なBCコール回数が入力ブロック数と（ほぼ）同じ! 例えばEncryption-then-MACなどの汎用結合は暗号化した後に暗号文に対してMACを計算するのでRate-1ではない! 並列化可能 (Parallelizable)：暗号化/復号処理は並列化可能! パイプラインやマルチコアによる低遅延実装が可能
0128
0128

N

M[1]
Z[1]

L
EK

EK

L

!

EK

（Z[i] はLと!から決定的に計算）

EK

EK

"
Z[n]

EK

EK

Z[n-1]

Z[2]
C[1]

...

M[n]
Z[-n]

Z[n-1]

Z[2]Z[1]M[n-1]

M[2]C[n-1]

C[2]

C[n]

T

OCB暗号化フロー（平文ビット長が128の倍数のとき）

Flat-OCBの設計思想! Rate-1（入力ブロック数とほぼ同等のBCコール数で暗号化とタグ生成を実現）! 暗号化モードとMACを組み合わせた汎用結合では達成不可! 例えばGCMやCCMは暗号文に対してGHASHやCMACを適用するため
Rate-1ではない（GF(2128) 乗算はBCコール一回相当とみなす）! 既存のメジャーなPATは汎用結合を用いていた! 既存のOCBはこれを満たしている! 並列化可能 (Parallelizable) かつ低遅延 (Low depth)! Depth: 暗号化とタグ生成までに必要な並列化できないBCコールの数! OCB暗号化はナンス処理（Initialization）と暗号化処理でdepth 2! OCB復号はナンス処理と暗号化処理とタグ生成でdepth 3! 暗復号の両方でdepth 2を達成したい! メモリ暗号化の文脈に特化することで何か最適化できないか

41"$

Flat-OCBの仕様"%! AEではメッセージ長を特定する処理にコストを割くことが多い! メモリ暗号化では基本的に固定（あるいは128の倍数）と仮定してよい! メッセージ長特定の処理を簡易化して復号depthを2に! ナンス処理では完全なBCは不要なのでナンス処理 FK を低遅延化! 4ラウンドAESか，depth 1の GF(264) 乗算だけで安全に実現可能
Z[0]
0128

N

EK
M[1]

Z[0]
Z[1]

EK

FK

L

!

（Z[i] = 2i L

EK

!）

EK

EK

Z[n-1]

Z[2]
C[1]

...

2i L
EK
2i L

Z[n-1]
C[n-1]

C[2]M[n]Z[n-1]

Z[n-1]

Z[2]Z[1]M[n-1]

M[2]

C[n]

T

Flat-OCB暗号化フロー（平文ビット長が128の倍数のときのみ利用可能）

AEの比較

m: 入力ブロック数，n: (T)BC ビット長

42"&

PXOR-MACの設計仕様と思想"'! BCベース，256ビット鍵 (K, K')，ナンスベース! 低遅延：Rate-1かつdepth 1（並列化可能）! Incrementality: タグ更新が O(1) で可能! PMACあるいはXOR-MACをベースに実現
M[2]

M[1]
0128

2K'

1K'

EK
L

nK'

nK'

EK

N

M[n]

EK

L

EK

EK

...

0128

T

Incremental update"(! 旧タグ Told, 旧メッセージ Mold[i], 旧ナンス Nold が利用可能なとき，新メッセージ Mnew[i], 新ナンス Nnew に対する新タグ Tnew をAES
コール4回のみで計算可能
Nold

Mold[i]

L

nK'

iK'
EK

Nnew

Mnew[i]
nK'

iK'

EK

EK

Told

L
EK
Tnew

43

Incremental update")! 旧タグ Told, 旧メッセージ Mold[i], 旧ナンス Nold が利用可能なとき，新メッセージ Mnew[i], 新ナンス Nnew に対する新タグ Tnew をAES
コール4回のみで計算可能
Toldが含むMold[i]とNoldの寄与分をキャンセル
Nold

Mold[i]

L

nK'

iK'
EK

Nnew

Mnew[i]
nK'

iK'

EK

L

EK

EK

Told

Tnew

Incremental update#*! 旧タグ Told, 旧メッセージ Mold[i], 旧ナンス Nold が利用可能なとき，新メッセージ Mnew[i], 新ナンス Nnew に対する新タグ Tnew をAES
コール4回のみで計算可能
Mnew[i]とNnewの寄与分を加算
Nold

Mold[i]

L

nK'

iK'
EK

Nnew

Mnew[i]
nK'

iK'

EK

EK

Told

L
EK
Tnew

44

ハードウェア実装#!

! 10クロックサイクルの遅延で1ブロック/1サイクルのスループット! 動作周波数はモダンなCPUよりも高い（Nangate 15nmでの評価）

Flat-OCB

PXOR-MAC

Intel SITとELMのアルゴリズムレベル比較! 様々な木パラメータに対して遅延と保護領域サイズを評価

分岐 リーフ数 サイズ! Updateは検証も含む! max(AEの遅延, MACの遅延)をクロックサイクルで評価! ELMは大容量を低遅延で保護可能! SIT はオンチップ容量のオー
バーヘッドも無視できない

45

木の深さ

#"

まとめ
! （不揮発）メモリ暗号化は現代のコンピュータの高性能化とセキュリ
ティを両立するための重要な基盤技術! リアルタイム保護そのものの難しさと，その運用や実装においても様々な困難がある! 今回の講演ではメモリ認証木の最適化を紹介! 大容量NVMの保護における遅延とスケーラビリティを大きく改善

46##

IMI Workshop: Mathematics of Security Analysis for Modern Cryptography
September 20-22, 2023, JR Hakata City, Fukuoka, Japan

Towards Achieving Provable Side-Channel Securityin Practice
Abdul Rahman Taleb
CryptoExperts and Sorbonne University
abdul.taleb@cryptoexperts.com
Physical side-channel attacks are powerful attacks that exploit a device’s physical emanations to break the security of cryptographic implementations. Many countermeasures
have been proposed against these attacks, especially the widely-used and eﬃcient masking countermeasure. Nevertheless, proving the security of masked implementations ischallenging. Current techniques rely on empirical approaches to validate the securityof such implementations. On the other hand, the theoretical community introduced
leakage models to provide formal proofs of the security of masked implementations.
Meanwhile, these leakage models rely on physical assumptions that are diﬃcult to satisfy in practice, and the literature lacks a clear framework to implement proven secure
constructions on a physical device while preserving the proven security.

47

Towards Achieving Provable Side-Channel
Security in Practicehttps://eprint.iacr.org/2023/1198

Abdel Rahman Taleb
CryptoExperts, France

Sorbonne Université, CNRS, LIP6, F-75005 Paris, France
Mathematics of Security Analysis for Modern Cryptography
20/09/2023

Side-Channel Attacks
Device (e.g. Smartcard)

Side-Channel « Eavesdropping »(late 1990s)

Secret Key

Exe

cut

Black box oracle

ion

Tim

e
n

onsumtio

Power C

Plaintext

Encryption
Algorithm

Ciphertext

Electromagnetic

ache

ory C

Mem

2

48

Radiation…

Countermeasure

Masking Chari et al. [CRYPTO’99], Goubin and Patarin [CHES’99]

each observation comes with noise
Number of observations grows ⟹ harder to retrieve the secret

Secrets a and b

Secret Variable x ∈ 𝔽𝔽2 (Þeld)Encodeab

Encode

s.t.

x1

a1

𝔽𝔽2
$

c1

+

lues

va
random

n−1

…
xn−1

to
rvation1 obseb+at
egsharesSecret Vector x ⃗ = (x1, …, xn) ∈ 𝔽𝔽 n2

$

c

+

b1

ations…

𝔽𝔽2
secretxn ← x − x1… − xn−1nbinatio

recom

…

an

n observ b !!
get a +

to

cn

+

bn
3

Countermeasure

Intuitively, a gadget is considered « secure » if an
attacker needs at least n observations to retrieve thesecrets

Gadgets

Operations over masked variables in 𝔽𝔽 n2

Operations over variables 𝔽𝔽2
Atomic

gates

a, b

+

a+b

(a1, …, an), (b1, …, bn)

G+(c1, …, cn) s.t. c1 + … + cn = a + b

a, b

×

a×b

(a1, …, an), (b1, …, bn)

G×(c1, …, cn) s.t. c1 + … + cn = a × b

randomrr$(a1, …, an)

𝔽𝔽2

4

49

Grefresh

new fresh shares(c1, …, cn) s.t. c1 + … + cn = a

ic

f atomoformedadgets s
G
re
a
gate
n-sh

Gadgets

ExampleIntuitively, a gadget is considered « secure » if an
attacker needs at least n observations to retrieve thesecrets

Grefresh

G+1

G+2

a1 a2 b1 b2

a1 a2 b1 b2

a1 a2

r

+

+

+

+

+

+

c1

c2

c1

c2

c1

c2

By observing c1,
the attacker retrieves a

No single observation can
retrieve a or b

No single observation can
retrieve a

BAD EXAMPLE

GOOD EXAMPLE

GOOD EXAMPLE

5Security of Masked Implementations

Empirical Approach

Leakage detection using
statistical analysis
Masked Implementation

Infer security level
Mounting well-known
attacks from the literature

How to have formal security guarantees ?

650Security of Masked Implementations

Leakage Models

Theoretical view of masked implementations

Formally deÞne side-channel attackersÕ capabilities

QuantiÞed security levels based on leakage models

7

Leakage Models
Easy to use

Security Reduction
Duc et al. [EUROCRYPT14]

t-Probing Modelt intermediatevariables leaktheir values

p-Random Probing Modeleach intermediatevariable leaks withprobability p

δ-Noisy Leakage Modeleach intermediatevariable leaks aδ-noisy functionof its value

851

Close to reality ofphysical leakage

Leakage Models

Each operation leaks
during execution

Physical Assumptions
Sequential executionof operations

x1 ⃗

x2 ⃗

x3 ⃗

x4 ⃗

op. 1

op. 2

op. 3

op. 4

Leakage only on

Leakage only on

Leakage only on

Leakage only on

x1 ⃗

x3 ⃗

x2 ⃗

x4 ⃗

Data Independence Assumption: each operation
leakage only depends on its inputs

9

Physical noise occurs
during side-channel
acquisitions

Leakage Models

Physical Assumptions
Sequential executionof operations

x1 ⃗

x2 ⃗

x3 ⃗

x4 ⃗

op. 1

op. 2

op. 3

op. 4

Noise 1

Noise 2

Noise 3Noise 4

Noise Independence Assumption: each noise isindependent of the others

1052

Leakage Models

Practical Issues• No proper methodology to implement proven secure constructions on physical devices,while preserving security from the leakage models• Physical Assumptions usually not satisÞed in practice11

Leakage Models

Practical Issues

write x1 ⃗CPU registerx1 ⃗write x2 ⃗Transition eﬀect

Physical eﬀects break thedata independence
assumption

Leakage depends
on x1 ⃗ ⊕ x2 ⃗

12

53

x2 ⃗

Leakage Models

Practical Issues

deterministic function d (⃗ x ⃗)Leakage trace (or vector) y ⃗ for+

Noise z ⃗ drawn from somemultivariate distribution (usually
Gaussian 𝒩𝒩( 0 ,⃗ Σ))an operation

Multivariate noise break thenoise independence
assumption

Noises during successive
operations include dependency

13

Contributions• Propose a methodology to turn a masking scheme proven secure in the random probing(or noisy leakage) model into a physical implementation satisfying provable security inpractice• Address issues with physical assumptions• Propose a novel test to (in)validate data independence on a physical implementation• Integrate the loss of noise independence in the analysis, quantifying the implied loss of
security• Highlight design goals to achieve provable side-channel security in practice• Discuss main limitations and issues, to Þnally bridge the gap between theory and practiceonce and for all

1454

Technical Background

Random Probing Model
Grefresha1 a2

p(p, ε) − random probing security

r
f (p)

p

p

Examples

s
es

cc

Su

W set of wires

||
p

+

Independent from secrets ?

+

yes

c1

Simulation Success

c2

no

Su

re

ilu

Fa

Pr({a1}) = p(1 − p)4{a2, r}Pr({a2, r}) = p 2(1 − p)3{a1, a2}Pr({a1, a2}) = p 2(1 − p)3

s

es

cc

p

{a1}

Simulation Failure with proba. ε

Choice: no leak on output
shares, inputs of the next circuit

15

Technical BackgroundNoisy Leakage Modelread x1 ⃗write y1 ⃗InternalStateexecute op. 1

Leaks f1( x1 ,⃗ ρ1)

fi is a noisy function with 2 inputs⋮
sensitive input xi ⃗read xk ⃗write yk ⃗execute op. k

Leaks fk( xk ⃗, ρk)random string ρito model noisefi is parametrized (i.e. δ-noisy
function)

16

55

Technical BackgroundNoisy Leakage Modelread x1 ⃗fi is parametrized (i.e. δ-noisy
execute op. 1

write y1 ⃗Internal
State

Leaks f1( x1 ,⃗ ρ1)⋮
read xk ⃗write yk ⃗execute op. kfunction)

δ: « distance between X and
X | f(X) »Low

Leaks fk( xk ⃗, ρk)High physicalnoise

Low physicalnoise

Low leakage

High leakage

17

Technical Background

Security Reduction(p, ε)-random probing security⟹

δ-noisy leakage security(δ = f(p), details later)Why ?

δ-noisy leakage adversary reduces to a random probing adversary with leakage
probability f −1(δ)

Circuit secure against p-random probing adversary, is also secure against δ-noisy leakage
adversary for p = f −1(δ)
18

56

High

Methodology

Overview

Implement abstract
gates on a device

Enforce and test data
independence

Characterize the leakage
distribution

Compile theimplementation

Estimate the noisy
leakage parameter δtolerated by the device

Relax noise
indepencence

19

Methodology

Overview

Implement abstract
gates on a device

Enforce and test data
independence

Characterize the leakage
distribution

Compile theimplementation

Estimate the noisy
leakage parameter δtolerated by the device

Relax noise
indepencence20

57

Implementing Abstract Gates• Operation in the noisy leakage model:• read input from memory• execute operation• write output into memory

21

Implementing Abstract Gates
Assembly implementation

C signature interface

Abstract circuit implementation

22

58

Methodology

Overview

Implement abstract
gates on a device

Enforce and test data
independence

Characterize the leakage
distribution

Compile theimplementation

Estimate the noisy
leakage parameter δtolerated by the device

Relax noise
indepencence

23

Data Independence

Enforcing• Leakage of an operation must only depend on its inputs• Physical defaults (e.g. transitions) break this assumption• How to enforce it on a physical device ?
• data whitening

24

59

Data Independence

Data Whitening
operation _1(a1, b1)

Example: call same operation withrandom inputs

whitening()
operation _2(a2, b2)clean data path andregisters fromprevious calls

Eﬀectiveness depends on CPU
micro-architecture

whitening()⋮

25

Data Independence

Data Whitening

operation _1(a1, b1)
operation _1(r1, r2)
operation _1(r3, r4)

whitening()
operation _2(a2, b2)

operation _2(r5, r6)

whitening()

operation _2(r7, r8)⋮
How to test if it works ?

2660

Data Independence

Testing

operation _1(a1, b1)
whitening()
operation _2(a2, b2)
whitening()

during operation _2, residual
leakage of operation _1 might bepresent

Relax data independence totolerate residual linear leakage but
not joint leakage on previous
operation’s inputs

Additively split leakage toseparate operation signals

27

Data Independence

Testing

operation _1(a1, b1)
whitening()
operation _2(a2, b2)
whitening()

Leakage trace starting at
operation _1 and ending after
operation _2

Full leakage trace⃗ , b ) + d ⃗(a , b ) + N ⃗⃗ 1, b1, a2, b2) = d1 (a
y (a
1 1
2 2 2

We need to ensure that the leakage
trace satisÞes the above form
We assume it is the case, and thenvalidate / invalidate our assumption
28

61

Noise independent of
inputsData Independence

Proposed Statistical Test

Fix a set of values (a1, b1, a2, b2)
Execute the following blocks several times

operation _1(a1, b1)
whitening()
operation _2(a2, b2)
whitening()

operation _1(a1, b1)
whitening()
operation _2(0,0)
whitening()

operation _1(0,0)
whitening()
operation _2(a2, b2)
whitening()

Set of traces T(1,1)

Set of traces T(1,0)

Set of traces T(0,1)

under our assumption
for each trace y ⃗ in the set, we computey ′⃗ = y ⃗ − T(1,0) − T(0,1) to obtain a new set T′(1,1)

under our assumption⃗ , b ) + d ⃗(0,0) + 0 ⃗Average trace T(1,0) = d1 (a1 12(Noise = 0 ⃗ since it is gaussian of mean vector 0 )⃗under our assumption⃗
Average trace T(0,1) = d1 (0,0)+ d2⃗(a2, b2) + 0 ⃗(Noise = 0 ⃗ since it is gaussian of mean vector 0 )⃗⃗ , b ) − d ⃗(0,0) − d ⃗(0,0) − d ⃗(a , b ) = 𝒩𝒩( 0 ,⃗ Σ) − d (0,0)⃗− d1 ⃗(0,0)
y ′⃗ = d1(a1, b1) + d2(a2, b2) + 𝒩𝒩( 0 ,⃗ Σ) − d1 (a
1 1
2
1
2 2 2
2
29

Data Independence

Proposed Statistical Test

Fix a set of values (a1, b1, a2, b2)

Under our assumption, the new set of traces T′(1,1) contains traces⃗of the form − d1 (0,0)− d2⃗(0,0) + 𝒩𝒩( 0 ,⃗ Σ)

traces that do not depend on any input (Multivariate Gaussian noise+ constant vectors)

Does our assumption hold ?

30

62Data Independence

Proposed Statistical Test
Fix a set of values (a1, b1, a2, b2)

Fix another set of values (a′1, b′1, a′2, b′2)

Compute the new set of traces T′(1,1)

Compute the new set of traces T′(2,2)
Perform T-Test to compare sample groups

Identical

Diﬀerent

Our assumption holds, all samples are of the form⃗
− d1 (0,0)− d2⃗(0,0) + 𝒩𝒩( 0 ,⃗ Σ)

Our assumption does not describe well the
leakage, some dependencies still remain on the
inputsThere is joint leakage on the inputs of the operations

31

Data Independence

Proposed Statistical Test

• After several executions of the test with diﬀerent inputs, the assumption can be (in)validated• We argue that the absence of dependency for adjacent operations guarantees the absence of dependency for nonadjacent ones

• We perform our test with a chipwhisperer, on an STM32F3 MCU based on an ARM Cortex-M4, with 8-bit operations

32

63

Data Independence

Proposed Statistical Test

33

Methodology

Overview

Implement abstract
gates on a device

Enforce and test data
independence

Characterize the leakage
distribution

Compile theimplementation

Estimate the noisy
leakage parameter δtolerated by the device

Relax noise
indepencence

34

64

Leakage Distribution

Characterization• A well-studied problem in the literature• The leakage of an operation with input x ⃗ takes the form y ⃗ = d (⃗ x )⃗ + 𝒩𝒩( 0 ,⃗ Σ)• Procedure:• Acquire a set of traces for the considered operation• Estimate the deterministic functions d (⃗ ⋅ ) ( di( ⋅ ) for each time sample i )• Acquire a new set of traces and remove the deterministic part (i.e. y ⃗ − d (⃗ x )⃗ )• Compute the covariance matrix Σ from the resulting traces

35

Leakage Distribution

Characterization

For each time sample i, di( x ⃗) =mα ⋅ h ( x ⃗)
∑ i i
j=1

αi are coeﬃcients to be estimatedhi are functions that depend on
the bits of the input x ⃗We can use linear regression to estimate the coeﬃcients

36

65

Methodology

Overview

Implement abstract
gates on a device

Enforce and test data
independence

Characterize the leakage
distribution

Compile theimplementation

Estimate the noisy
leakage parameter δtolerated by the device

Relax noise
indepencence

37

Noise Independence

Relaxation• Leakage models require noise independence assumption• Diﬃcult to ensure in practice• Multivariate noise induces dependencies between operations• Relax noise independence instead of enforcing it• Split the noise occurring at each time sample among the diﬀerent operations• Need to take into account the noisiness level (lower noise ⟹ higher information leakage)• An attacker with access to the split noise, can easily recover the original noise ⟹ easy security
reduction

38

66

Noise Independence

Trivial Relaxation
start

operation _1

Y ⃗ = S1 ⃗ + S2 ⃗ + S3 ⃗ + S4 ⃗ + S5 ⃗ + N ⃗operation _2
Leakagetrace Y ⃗end

operation _3
operation _4
operation _5

each Si is only the leakage of

operation _i (data independence
assumption)

Split N ⃗ among the operations
instead of having time-separated
noises for each operation

N ⃗ = N1 ⃗ + N2 ⃗ + N3 ⃗ + N4 ⃗ + N5 ⃗ such that Ni ⃗ =

1 ⃗
N
5

Drawback: more operations ⟹ less noise on each operation ⟹ moreleakage ⟹ lower security level in the leakage models
39

Noise Independence

Attempt at an Optimized Relaxation
start

operation _1
operation _2

Leakagetrace Y ⃗end

operation _3

Y ⃗ = S1 ⃗ + S2 ⃗ + S3 ⃗ + S4 ⃗ + S5 ⃗ + N ⃗Each Si ⃗ has most leakage during operation _i, thenresidual weaker leakage during next operations

operation _4
operation _5

Need more noise in Ni ⃗ during the execution of operation _i

Can be expressed as an optimization problem: how torewrite N ⃗ = N1 ⃗ + … + N5 ⃗, such as to minimize theinformation leakage (e.g. Signal-to-Noise ratio) of thediﬀerent operations ?
40

67

Methodology

Overview

Implement abstract
gates on a device

Enforce and test data
independence

Characterize the leakage
distribution

Compile theimplementation

Estimate the noisy
leakage parameter δtolerated by the device

Relax noise
indepencence41

Noisy Leakage Parameter(p, ε)-random probing security⟹• Mainly two metrics for δ• Statistical distance• Average relative error

42

68

δ-noisy leakage security

Noisy Leakage Parameter(p, ε)-random probing security⟹

δ-noisy leakage security• Mainly two metrics for δ• Statistical distance• Average relative error

43

Noisy Leakage Parameter(p, ε)-random probing security⟹• When ARE noisy functions ⟹ p ≈ δ• When SD noisy functions ⟹ p ≈ | 𝒳𝒳 | ⋅ δ

4469

δ-noisy leakage security

Noisy Leakage Parameter(p, ε)-random probing security⟹

δ-noisy leakage security• When ARE noisy functions ⟹ p ≈ δ• When SD noisy functions ⟹ p ≈ | 𝒳𝒳 | ⋅ δ• Random probing model: worst-case model• ARE: worst-case metric• SD: average-case metric

45

Noisy Leakage Parameter

Critical operations:

expected value•• conditional probability
max
•

46

70

Noisy Leakage Parameter• After the leakage characterization, the conditional probability can be computed• We also estimate the expected values using Monte-Carlo convergence method

47

Noisy Leakage Parameter(p, ε)-random probing security⟹

δ-noisy leakage security• When ARE noisy functions ⟹ p ≈ δ• When SD noisy functions ⟹ p ≈ | 𝒳𝒳 | ⋅ δhere | 𝒳𝒳 | = 216

Very highlevels!

Each ARE and SD value is computed using the inferred deterministic function, and thenoise covariance matrix
48

71Methodology

Overview

Implement abstract
gates on a device

Enforce and test data
independence

Characterize the leakage
distribution

Compile theimplementation

Estimate the noisy
leakage parameter δtolerated by the device

Relax noise
indepencence49

Wrapping up• Implement random probing secure gadgets tolerating a leakage probability p, based on δ computed on
the physical device• Best gadgets from the state of the art tolerate p ≈ 2−7 ⟹ MCU chip not adapted for provable sidechannel security!

ARE and SD values after adding artiÞcial noise to side-channel traces on the chipσ : standard deviation of added noise
σsignal ≈ 2−85072

Conclusion

Left out from the presentation
51

Conclusion• Methodology exhibits all steps to use provably secure gadgets on physical devices• Novel test for data independence• The Þrst attempt in the literature to directly tackle the noise independence assumption
and relax it• Noise levels are critical for security levels → tested component showcases the results but
is not suited for the use-case• How to achieve high physical noise when designing hardware?
• Can we make leakage models and security proofs tighter?
• Can we solve the remaining limitations of the approach ?
5273

Future Works• Many future works!

• Many questions are raised to completely bridge the gap between theory and practice• Extend the approach to hardware implementations• Integrate potential data/noise dependence in the security proofs instead of enforcing/relaxing them.

• Find components which satisfy the required noise and security levels• Apply the noise relaxation technique on real-life devices• parallel implementations ?
•…
53

Our main goal is to popularize the research topic and make room formany future advances
https://eprint.iacr.org/2023/1198

5474

ありがとうございました !
Any questions ?

55

75

IMI Workshop: Mathematics of Security Analysis for Modern Cryptography
September 20-22, 2023, JR Hakata City, Fukuoka, Japan

共通鍵暗号の認証暗号利用モードの安全性と攻撃について
井上 明子

NEC
a inoue@nec.com
認証暗号は平文の秘匿と暗号文の改ざん検知が同時に実現できる共通鍵暗号方式である. その安全性は, 2000 年に秘匿と改ざん検知の 2 つとして正式に定義されたが, その後, これらの安全性を満たす認証暗号が実装上の過失により破れる場合があることや,
認証暗号を用いるプロトコルが, 秘匿と改ざん検知以上の安全性を認証暗号に要求している場合があることが攻撃により示されている. 本発表では, ブロック暗号等の固定長入出力暗号部品を用いた認証暗号構成を中心の話題として, 基本的な認証暗号の安全性及びそれに対する攻撃, そして上記のように基本の安全性を超えた攻撃や, それらを考慮した認証暗号の拡張された安全性について紹介する.

77

現代暗号に対する安全性解析・攻撃の数理 f

共通鍵暗号の認証暗号利用モードの安全性と攻撃について
1(&セキュアシステムプラットフォーム研究所 井上明子

© NEC Corporation 2023

今回の発表内容◆ 認証暗号の*,)7&2)%を例にとって以下を話します◆ 認証暗号とは◼ 基本の安全性秘匿改ざん検知◼ &2)%の構成設計思想◼ 攻撃主張された安全性の誤りの証明 #$&16

◆ 拡張された安全性ナンス誤用◼ 1RQFHPLVXVHUHVLVWDQFH◼ 1RQFHPLVXVHUHVLOLHQFH◼ &2)%の1RQFHPLVXVHUHVLVWDQFHの攻撃◼ &2)%の1RQFHPLVXVHUHVLOLHQFHの証明 #,(7,QIR6HF

◆ その他の拡張された安全性の紹介◼ 耐未検証平文漏洩安全性耐漏洩安全性.H\FRPPLWWLQJVHFXULW\© NEC Corporation 2023

78

認証暗号 $XWKHQWLFDWHG(QFU\SWLRQZLWK$VVRFLDWHG'DWD◆ 入力データの暗号化と改ざん検知が同時に実現できる共通鍵暗号方式 >5RJ@◼ 𝑀𝑀平文𝐶𝐶暗号文𝐾𝐾秘密鍵𝑁𝑁1RQFH 初期ベクトル 𝑇𝑇認証タグ𝐴𝐴$VVRFLDWHG'DWD $'◼ 暗号化関数 𝐸𝐸𝐸𝐸𝐸𝐸𝐾𝐾 𝑁𝑁, 𝐴𝐴, 𝑀𝑀 = 𝐶𝐶, 𝑇𝑇◼ 復号関数𝐷𝐷𝐷𝐷𝐷𝐷𝐾𝐾 𝑁𝑁 ′ , 𝐴𝐴′ , 𝐶𝐶 ′ , 𝑇𝑇 ′ = ൝

𝑀𝑀 (改ざんが検知されない場合)⊥ (改ざんが検知された場合)◼ 1,67による軽量認証暗号標準化コンペ 1,67/LJKWZHLJKW&U\SWRJUDSK\1,67/Z& が開催された• 件の応募のうち年月にファイナリスト件が選出年月に$VFRQが標準化されることが発表された

𝑁𝑁, 𝐴𝐴, 𝑀𝑀
$OLFH



𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲
𝐶𝐶, 𝑇𝑇© NEC Corporation 2023

𝑁𝑁 ′ , 𝐴𝐴′ , 𝐶𝐶 ′ , 𝑇𝑇 ′𝑁𝑁, 𝐴𝐴, 𝐶𝐶, 𝑇𝑇(YH

𝑁𝑁 ′ , 𝐴𝐴′ , 𝐶𝐶 ′ , 𝑇𝑇 ′𝑫𝑫𝑫𝑫𝑫𝑫𝑲𝑲

%RE

𝑀𝑀/⊥

認証暗号の実現方法◆ 対象固定長入出力の暗号プリミティブを組み合わせる方法 暗号利用モード ◆ ブロック暗号◼ 𝐸𝐸: 0,1

𝑘𝑘

× 0,1

𝑛𝑛

→ 0,1

𝑛𝑛

◼ 固定長入出力の鍵付き置換𝐸𝐸𝐾𝐾 は 0,1 𝑛𝑛 上の置換となる◼ 安全性ランダム置換と判別困難◆ 7ZHDNDEOHブロック暗号 7%&

𝑀𝑀

𝑘𝑘

𝑛𝑛

෨ 0,1 𝑘𝑘 × 𝟎𝟎, 𝟏𝟏 𝒕𝒕𝒕𝒕 × 0,1 𝑛𝑛 → 0,1 𝑛𝑛◼ 𝐸𝐸:◼ ブロック暗号の入力に7ZHDN 公開調整値 を含めた鍵付き置換
𝐸𝐸෨𝐾𝐾𝑻𝑻𝑻𝑻 は 0,1 𝑛𝑛 上の置換となる◼ 7ZHDNが異なる7%&はそれぞれ独立なブロック暗号と見なせる◼ ブロック暗号を用いたモードとしても実現可能

𝑀𝑀

𝑘𝑘

𝑛𝑛

𝐾𝐾

𝐸𝐸

𝑛𝑛

𝐶𝐶

𝑛𝑛

𝐶𝐶

𝐾𝐾 𝑻𝑻𝑻𝑻

𝐸𝐸෨

𝑡𝑡𝑡𝑡◆ 認証暗号の安全性を暗号プリミティブの安全性に帰着させて安全性証明を行う
© NEC Corporation 2023

79

認証暗号の安全性◆ 暗号化の安全性 35,9

◆ 改ざん検知の安全性 $87+

◼ (QFクエリを行う攻撃者が𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲 とランダムオラクル＄を判別できる確率で評価◼ 同じナンスは繰り返さない 1RQFHUHVSHFWLQJ

𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲
𝑁𝑁, 𝐴𝐴, 𝑀𝑀

RU◼ 𝑬𝑬𝑬𝑬𝒄𝒄𝑲𝑲 と𝑫𝑫𝑫𝑫𝑫𝑫𝑲𝑲 にアクセスする攻撃者が
𝑫𝑫𝑫𝑫𝑫𝑫𝑲𝑲 から ⊥ 以外を受け取る確率で評価◼ (QFクエリでは 1RQFHUHVSHFWLQJ＄

𝐶𝐶, 𝑇𝑇

𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲
𝑁𝑁, 𝐴𝐴, 𝑀𝑀

𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲RU𝐶𝐶, 𝑇𝑇

𝑫𝑫𝑫𝑫𝑫𝑫𝑲𝑲

𝑁𝑁 ′ , 𝐴𝐴′ ,𝐶𝐶 ′ , 𝑇𝑇 ′𝑀𝑀′ RU⊥◆ 認証暗号全体の安全性を35,9$87+で評価する場合もある© NEC Corporation 2023*,)7&2)%>%&,@◆ 1,67/Z& ファイナリストの件のうちのつ◼ ブロック暗号*,)7 >%33@ と&2)%モードの組み合わせ◆ &2)% &2PELQHG)HHG%DFN PRGH
◼ &+(6にて&KDNUDERUWLらによって提案 >&,01@◼ 若干スペックが異なるバージョン -R&版 >&,01@1,67/Z&版 >%&,@があるが
今回は1,67/Z&版に着目して解析する

𝐸𝐸𝐾𝐾 秘密鍵 𝐾𝐾 が入力された𝑛𝑛ビット入出力ブロック暗号
𝐺𝐺 秘密情報なし線形写像

𝑛𝑛/2 ELWV© NEC Corporation 2023

80*,)7&2)%◆ 構造◼ 図ナンス 𝑁𝑁 を用いて𝑛𝑛ビット$'𝐴𝐴 と2𝑛𝑛ビット平文 𝑀𝑀 = 𝑀𝑀 1 || 𝑀𝑀 2 を処理• 𝑁𝑁を暗号化した値のうち𝑛𝑛/2ビットの値 𝐿𝐿 を取得𝐿𝐿 はその後の$'処理と平文処理で利用• 暗号化結果 𝑌𝑌 0 は線形写像 𝐺𝐺 によって変換され$'ブロックと;25• 𝐿𝐿 を用いた 𝑛𝑛/2 ビットのマスク値を;25した値を暗号化$'処理終了• 暗号化処理も$'処理と同様暗号文導出はステート 𝑌𝑌 ⋅ との;25最後のステートがタグとなる• 𝐷𝐷𝐷𝐷𝑐𝑐𝐾𝐾 𝑁𝑁, 𝐴𝐴, 𝐶𝐶, 𝑇𝑇 は暗号化と逆向きの処理最後のステートと入力タグの一致不一致で改ざんを検知◼ ポイント• 𝑛𝑛/2ビットマスクを更新しながらマスク値をブロック暗号入力前に;25した形でシリアルに$'平文を処理• 線形写像 𝐺𝐺 によってステートが更新 𝐺𝐺 の条件𝐼𝐼 が単位行列のとき行列 𝐺𝐺 及び 𝐺𝐺 ⊕ 𝐼𝐼 のランクがほぼ)XOO𝐸𝐸𝐾𝐾 秘密鍵 𝐾𝐾 が入力された𝑛𝑛ビット入出力ブロック暗号
𝐺𝐺 秘密情報なし線形写像

𝑛𝑛/2 ELWV© NEC Corporation 2023

&2)%の特徴◆ レート回のブロック暗号呼び出しでブロック平文処理が可能◼ 現行1,67標準*&0&&0はレート ブロック平文処理に回のブロック暗号呼び出し必要◼ 𝑮𝑮の導入によりブロック暗号ベース

)HHGEDFN型の構成でもレートを達成• 例𝐺𝐺が単位行列のとき安全な認証暗号にならないことを示す

𝑛𝑛/2 ELWV© NEC Corporation 202381&2)%の特徴◆ レート 回のブロック暗号呼び出しでブロック平文処理が可能◼ 現行1,67標準*&0&&0はレート ブロック平文処理に回のブロック暗号呼び出し必要◼ 𝑮𝑮の導入によりブロック暗号ベース

)HHGEDFN型の構成でもレートを達成• 例𝐺𝐺が単位行列のとき安全な認証暗号にならないことを示す• 暗号化方式 &)% &LSKHUWH[W)HHG%DFN モード 的な方式&)%は&3$安全なので35,9は大丈夫そう → $87+は"𝑛𝑛/2 ELWV© NEC Corporation 2023

𝑪𝑪 𝟏𝟏

𝑪𝑪 𝟐𝟐

&2)%の特徴◆ レート 回のブロック暗号呼び出しでブロック平文処理が可能◼ 現行1,67標準*&0&&0はレート ブロック平文処理に回のブロック暗号呼び出し必要◼ 𝑮𝑮の導入によりブロック暗号ベース

)HHGEDFN型の構成でもレートを達成• 例𝐺𝐺が単位行列のとき安全な認証暗号にならないことを示す• 暗号化方式 &)% &LSKHUWH[W)HHG%DFN モード 的な方式&)%は&3$安全なので35,9は大丈夫そう → $87+は"• $87+において攻撃者は(QFクエリで取得した暗号文タグを利用して'HFクエリできる• 図の様に 𝑁𝑁, 𝐴𝐴, 𝑀𝑀 をクエリして 𝐶𝐶, 𝑇𝑇 を受け取り 𝑁𝑁, 𝐴𝐴, 𝐶𝐶 ′ , 𝑇𝑇 VW 𝐶𝐶 ′ 1 ≠ 𝐶𝐶 1 𝐶𝐶 ′ 2 = 𝐶𝐶 2 をクエリすれば攻撃成功

𝑛𝑛/2 ELWV© NEC Corporation 2023

𝑪𝑪 𝟏𝟏

𝑪𝑪 𝟐𝟐

82

&2)%の特徴◆ レート 回のブロック暗号呼び出しでブロック平文処理が可能◼ 現行1,67標準*&0&&0はレート ブロック平文処理に回のブロック暗号呼び出し必要◼ 𝑮𝑮の導入によりブロック暗号ベース

)HHGEDFN型の構成でもレートを達成• 例𝐺𝐺が単位行列のとき安全な認証暗号にならないことを示す• 暗号化方式 &)% &LSKHUWH[W)HHG%DFN モード 的な方式&)%は&3$安全なので35,9は大丈夫そう → $87+は"• $87+において攻撃者は(QFクエリで取得した暗号文タグを利用して'HFクエリできる• 図の様に 𝑁𝑁, 𝐴𝐴, 𝑀𝑀 をクエリして 𝐶𝐶, 𝑇𝑇 を受け取り 𝑁𝑁, 𝐴𝐴, 𝐶𝐶 ′ , 𝑇𝑇 VW 𝐶𝐶 ′ 1 ≠ 𝐶𝐶 1 𝐶𝐶 ′ 2 = 𝐶𝐶 2 をクエリすれば攻撃成功

𝑛𝑛/2 ELWV© NEC Corporation 2023

𝑪𝑪 𝟏𝟏

𝑪𝑪 𝟐𝟐

復
号
で
は

&2)%の特徴◆ レート 回のブロック暗号呼び出しでブロック平文処理が可能◼ 現行1,67標準*&0&&0はレート ブロック平文処理に回のブロック暗号呼び出し必要◼ 𝑮𝑮の導入によりブロック暗号ベース

)HHGEDFN型の構成でもレートを達成• 例𝐺𝐺が単位行列のとき安全な認証暗号にならないことを示す• 暗号化方式 &)% &LSKHUWH[W)HHG%DFN モード 的な方式&)%は&3$安全なので35,9は大丈夫そう → $87+は"• $87+において攻撃者は(QFクエリで取得した暗号文タグを利用して'HFクエリできる• 図の様に 𝑁𝑁, 𝐴𝐴, 𝑀𝑀 をクエリして 𝐶𝐶, 𝑇𝑇 を受け取り 𝑁𝑁, 𝐴𝐴, 𝐶𝐶 ′ , 𝑇𝑇 VW 𝐶𝐶 ′ 1 ≠ 𝐶𝐶 1 𝐶𝐶 ′ 2 = 𝐶𝐶 2 をクエリすれば攻撃成功◼ 𝑌𝑌 ⋅ が未知のとき暗復の両方で 緑部分 を攻撃者が任意の値に操作できないことが必要
𝑛𝑛/2 ELWV© NEC Corporation 2023

𝑪𝑪 𝟏𝟏

𝑪𝑪 𝟐𝟐

83

復
号
で
は

&2)%の特徴◆ レート 回のブロック暗号呼び出しでブロック平文処理が可能◼ 現行1,67標準*&0&&0はレート ブロック平文処理に回のブロック暗号呼び出し必要◼ 𝑮𝑮の導入によりブロック暗号ベース

)HHGEDFN型の構成でもレートを達成• 例𝐺𝐺が単位行列のとき安全な認証暗号にならないことを示す• 暗号化方式 &)% &LSKHUWH[W)HHG%DFN モード 的な方式&)%は&3$安全なので35,9は大丈夫そう → $87+は"• $87+において攻撃者は(QFクエリで取得した暗号文タグを利用して'HFクエリできる• 図の様に 𝑁𝑁, 𝐴𝐴, 𝑀𝑀 をクエリして 𝐶𝐶, 𝑇𝑇 を受け取り 𝑁𝑁, 𝐴𝐴, 𝐶𝐶 ′ , 𝑇𝑇 VW 𝐶𝐶 ′ 1 ≠ 𝐶𝐶 1 𝐶𝐶 ′ 2 = 𝐶𝐶 2 をクエリすれば攻撃成功◼ 𝑌𝑌 ⋅ が未知のとき暗復の両方で 𝑺𝑺 ⋅を攻撃者が任意の値に操作できないことが必要• 暗号化時 𝑺𝑺 ⋅ = 𝑮𝑮 𝑌𝑌 ⋅ ⊕ 𝑀𝑀 ⋅• 復号時

𝑛𝑛/2 ELWV 𝑺𝑺 ⋅ = 𝐺𝐺 𝑌𝑌 ⋅ ⊕ 𝑌𝑌 ⋅ ⊕ 𝐶𝐶 ⋅ = 𝑮𝑮 ⊕ 𝑰𝑰 𝑌𝑌 ⋅ ⊕ 𝐶𝐶 ⋅© NEC Corporation 2023

⇒ 𝑮𝑮 の条件が導出される
𝑺𝑺 𝟐𝟐

𝑺𝑺 𝟏𝟏

&2)%の特徴◆ 省ステートサイズ 鍵長 ビット 𝟏𝟏. 𝟓𝟓𝟓𝟓

◼ ステートサイズ暗号方式を実装する際に必要なメモリサイズ◼ 1.5𝑛𝑛 の内訳ブロック暗号ステート 𝑛𝑛 ビット マスク 𝑛𝑛/2 ビット◼ 一般にマスク値はブロック暗号の入出力サイズと同じ◼ マスクの長さが𝑛𝑛/2ビットであることが驚きの構成これにより省ステートサイズを達成◆ 安全性35,9は𝒏𝒏/𝟐𝟐ビット$87+は𝒏𝒏/𝟐𝟐 − 𝐥𝐥𝐥𝐥𝐥𝐥(𝒏𝒏)ビット安全性
𝑛𝑛/2 ELWV© NEC Corporation 202384&2)%への35,9攻撃$NLNR,QRXH7HWVX,ZDWD.D]XKLNR0LQHPDWVX$QDO\]LQJWKH3URYDEOH6HFXULW\%RXQGVRI*,)7&2)%DQG3KRWRQ%HHWOH
$&16

&2)%への従来攻撃◼ >.KDD@：𝐿𝐿 = 0𝑛𝑛/2 の時にに全てのマスクが 0𝑛𝑛/2 になることを利用した$87+への攻撃◼ >.KDE@：異なる 𝑁𝑁 における 𝐿𝐿のコリジョンを利用した$87+への攻撃◼ >.KD@：𝐿𝐿 の値を推測して'HFクエリを繰り返す$87+への攻撃• -R&版&2)%の安全性バウンドと矛盾する攻撃安全性証明の誤りを示した◼ >,0@：ステート衝突を利用した$87+への攻撃◆ これらの攻撃はいずれも1,67/Z&版の&2)%で主張される安全性バウンドとは矛盾せず主張バウンドが ほぼ タイトであることを示す攻撃◆ 本発表では35,9への攻撃提案により1,67/Z&版&2)%の主張バウンドに誤りがあることを証明する◼ 注安全性レベルを無効化するような攻撃ではない
© NEC Corporation 2023

85

35,9への攻撃アイディア◆ 攻撃者は裸のブロック暗号の入出力がつ得られれば即攻撃可能◼ 攻撃者が 𝑋𝑋, 𝑌𝑌 VW 𝐸𝐸𝐾𝐾 𝑋𝑋 = 𝑌𝑌 を入手したとする

𝑛𝑛/2 ELWV© NEC Corporation 2023

35,9への攻撃アイディア◆ 攻撃者は裸のブロック暗号の入出力がつ得られれば即攻撃可能◼ 攻撃者が 𝑋𝑋, 𝑌𝑌 VW 𝐸𝐸𝐾𝐾 𝑋𝑋 = 𝑌𝑌 を入手したとする◼ 攻撃者は(QFクエリで 𝑋𝑋 をナンス 𝑁𝑁 として使用可能 ⇒ 𝑌𝑌 0 = 𝑌𝑌 となる

𝑛𝑛/2 ELWV𝑿𝑿© NEC Corporation 2023

𝒀𝒀86

35,9への攻撃アイディア◆ 攻撃者は裸のブロック暗号の入出力がつ得られれば即攻撃可能◼ 攻撃者が 𝑋𝑋, 𝑌𝑌 VW 𝐸𝐸𝐾𝐾 𝑋𝑋 = 𝑌𝑌 を入手したとする◼ 攻撃者は(QFクエリで 𝑋𝑋 をナンス 𝑁𝑁 として使用可能 ⇒ 𝑌𝑌 0 = 𝑌𝑌 となる◼ 𝑳𝑳 = 𝐦𝐦𝐦𝐦𝐛𝐛𝒏𝒏/𝟐𝟐 𝒀𝒀 が既知

✔



𝑿𝑿

© NEC Corporation 2023

𝑛𝑛/2 ELWV

𝒀𝒀

35,9への攻撃アイディア◆ 攻撃者は裸のブロック暗号の入出力がつ得られれば即攻撃可能◼ 攻撃者が 𝑋𝑋, 𝑌𝑌 VW 𝐸𝐸𝐾𝐾 𝑋𝑋 = 𝑌𝑌 を入手したとする◼ 攻撃者は(QFクエリで 𝑋𝑋 をナンス 𝑁𝑁 として使用可能 ⇒ 𝑌𝑌 0 = 𝑌𝑌 となる◼ 𝑳𝑳 = 𝐦𝐦𝐦𝐦𝐛𝐛𝒏𝒏/𝟐𝟐 𝒀𝒀 が既知 ⇒ 全てのマスク値が攻撃者にとって既知となる

✔



𝑿𝑿

© NEC Corporation 2023

𝑛𝑛/2 ELWV

✔

✔

𝒀𝒀

87

✔

35,9への攻撃アイディア◆ 攻撃者は裸のブロック暗号の入出力がつ得られれば即攻撃可能◼ 攻撃者が 𝑋𝑋, 𝑌𝑌 VW 𝐸𝐸𝐾𝐾 𝑋𝑋 = 𝑌𝑌 を入手したとする◼ 攻撃者は(QFクエリで 𝑋𝑋 をナンス 𝑁𝑁 として使用可能 ⇒ 𝑌𝑌 0 = 𝑌𝑌 となる◼ 𝑳𝑳 = 𝐦𝐦𝐦𝐦𝐛𝐛𝒏𝒏/𝟐𝟐 𝒀𝒀 が既知 ⇒ 全てのマスク値が攻撃者にとって既知となる◼ 攻撃者は 𝐴𝐴 を操作 𝐴𝐴 = 𝑋𝑋 ⊕ 𝐺𝐺 𝑌𝑌 ⊕ 3𝐿𝐿 || 0𝑛𝑛/2 し 𝑋𝑋 1 = 𝑋𝑋 及び 𝑌𝑌 1 = 𝑌𝑌 となるようにできる
✔



𝑿𝑿

© NEC Corporation 2023

𝑛𝑛/2 ELWV

✔

𝑿𝑿

𝒀𝒀

✔

✔

𝒀𝒀

35,9への攻撃アイディア◆ 攻撃者は裸のブロック暗号の入出力がつ得られれば即攻撃可能◼ 攻撃者が 𝑋𝑋, 𝑌𝑌 VW 𝐸𝐸𝐾𝐾 𝑋𝑋 = 𝑌𝑌 を入手したとする◼ 攻撃者は(QFクエリで 𝑋𝑋 をナンス 𝑁𝑁 として使用可能 ⇒ 𝑌𝑌 0 = 𝑌𝑌 となる◼ 𝑳𝑳 = 𝐦𝐦𝐦𝐦𝐛𝐛𝒏𝒏/𝟐𝟐 𝒀𝒀 が既知 ⇒ 全てのマスク値が攻撃者にとって既知となる◼ 攻撃者は 𝐴𝐴 を操作 𝐴𝐴 = 𝑋𝑋 ⊕ 𝐺𝐺 𝑌𝑌 ⊕ 3𝐿𝐿 || 0𝑛𝑛/2 し 𝑋𝑋 1 = 𝑋𝑋 及び 𝑌𝑌 1 = 𝑌𝑌 となるようにできる
✔



𝑿𝑿

© NEC Corporation 2023

𝒀𝒀

𝑛𝑛/2 ELWV

✔

✔

✔

𝑿𝑿

𝑿𝑿

𝒀𝒀

88

𝒀𝒀

35,9への攻撃アイディア◆ 攻撃者は裸のブロック暗号の入出力がつ得られれば即攻撃可能◼ 攻撃者が 𝑋𝑋, 𝑌𝑌 VW 𝐸𝐸𝐾𝐾 𝑋𝑋 = 𝑌𝑌 を入手したとする◼ 攻撃者は(QFクエリで 𝑋𝑋 をナンス 𝑁𝑁 として使用可能 ⇒ 𝑌𝑌 0 = 𝑌𝑌 となる◼ 𝑳𝑳 = 𝐦𝐦𝐦𝐦𝐛𝐛𝒏𝒏/𝟐𝟐 𝒀𝒀 が既知 ⇒ 全てのマスク値が攻撃者にとって既知となる◼ 攻撃者は 𝐴𝐴 を操作 𝐴𝐴 = 𝑋𝑋 ⊕ 𝐺𝐺 𝑌𝑌 ⊕ 3𝐿𝐿 || 0𝑛𝑛/2 し 𝑋𝑋 1 = 𝑋𝑋 及び 𝑌𝑌 1 = 𝑌𝑌 となるようにできる◼ 5HDOZRUOG 𝐶𝐶 1 = 𝑀𝑀 1 ⊕ 𝑌𝑌𝐶𝐶 2 = 𝑀𝑀 2 ⊕ 𝑌𝑌 が確率で得られる◼ ,GHDOZRUOG𝐶𝐶 1 と𝐶𝐶 2 はランダム ⇒ 上記が起こる確率は 1/22𝑛𝑛
✔



𝑿𝑿

© NEC Corporation 2023

𝑛𝑛/2 ELWV

✔

✔

𝑿𝑿

𝒀𝒀

𝑿𝑿

𝒀𝒀

✔

𝒀𝒀

35,9への攻撃手順◼ 任意の 𝑁𝑁, 𝐴𝐴, 𝑀𝑀 VW 𝐴𝐴 = 𝑛𝑛 𝑀𝑀 = 2𝑛𝑛 を(QFクエリして 𝐶𝐶, 𝑇𝑇 をゲット

𝑛𝑛/2 ELWV© NEC Corporation 2023

89

35,9への攻撃手順◼ 任意の 𝑁𝑁, 𝐴𝐴, 𝑀𝑀 VW 𝐴𝐴 = 𝑛𝑛 𝑀𝑀 = 2𝑛𝑛 を(QFクエリして 𝐶𝐶, 𝑇𝑇 をゲット
◼ 攻撃者は青の値を計算可能だが赤部分は計算できない

𝑛𝑛/2 ELWV

𝑴𝑴 𝟏𝟏
𝒀𝒀 𝟏𝟏



© NEC Corporation 2023

2 ⋅ 3𝐿𝐿||0𝑛𝑛/2
𝑋𝑋 2

𝑪𝑪 𝟏𝟏

𝒀𝒀 𝟐𝟐

𝑴𝑴 𝟐𝟐

𝑪𝑪 𝟐𝟐

35,9への攻撃手順◼ 任意の 𝑁𝑁, 𝐴𝐴, 𝑀𝑀 VW 𝐴𝐴 = 𝑛𝑛 𝑀𝑀 = 2𝑛𝑛 を(QFクエリして 𝐶𝐶, 𝑇𝑇 をゲット
◼ 攻撃者は青の値を計算可能だが赤部分は計算できない◼ ああ部分に着目すると(𝑋𝑋 2 , 𝑌𝑌 2 ) の中で攻撃者が未知の値は 𝐦𝐦𝐦𝐦𝐦𝐦𝒏𝒏/𝟐𝟐 𝑿𝑿 𝟐𝟐

𝑛𝑛/2 ELWV

𝑴𝑴 𝟏𝟏
𝒀𝒀 𝟏𝟏



© NEC Corporation 2023

2 ⋅ 3𝐿𝐿||0𝑛𝑛/2
𝑋𝑋 2

𝑪𝑪 𝟏𝟏

90

𝒀𝒀 𝟐𝟐

𝑴𝑴 𝟐𝟐

𝑪𝑪 𝟐𝟐

𝐥𝐥𝐥𝐥𝐛𝐛𝒏𝒏/𝟐𝟐 𝑿𝑿 𝟐𝟐

だけ

𝒀𝒀 𝟐𝟐

35,9への攻撃手順◼ 任意の 𝑁𝑁, 𝐴𝐴, 𝑀𝑀 VW 𝐴𝐴 = 𝑛𝑛 𝑀𝑀 = 2𝑛𝑛 を(QFクエリして 𝐶𝐶, 𝑇𝑇 をゲット
◼ 攻撃者は青の値を計算可能だが赤部分は計算できない◼ ああ部分に着目すると(𝑋𝑋 2 , 𝑌𝑌 2 ) の中で攻撃者が未知の値は 𝐦𝐦𝐦𝐦𝐦𝐦𝒏𝒏/𝟐𝟐 𝑿𝑿 𝟐𝟐◼ 𝐦𝐦𝐦𝐦𝐦𝐦𝒏𝒏/𝟐𝟐 𝑿𝑿 𝟐𝟐の取り得る値 2𝑛𝑛/2 個を試して前スライドの攻撃が通るか確認する

𝑛𝑛/2 ELWV

𝑴𝑴 𝟏𝟏
𝒀𝒀 𝟏𝟏



だけ

© NEC Corporation 2023

2 ⋅ 3𝐿𝐿||0𝑛𝑛/2
𝑋𝑋 2

𝑪𝑪 𝟏𝟏

𝒀𝒀 𝟐𝟐

𝑴𝑴 𝟐𝟐

𝒀𝒀 𝟐𝟐

𝐥𝐥𝐥𝐥𝐛𝐛𝒏𝒏/𝟐𝟐 𝑿𝑿 𝟐𝟐

𝑪𝑪 𝟐𝟐35,9への攻撃手順◼ 任意の 𝑁𝑁, 𝐴𝐴, 𝑀𝑀 VW 𝐴𝐴 = 𝑛𝑛 𝑀𝑀 = 2𝑛𝑛 を(QFクエリして 𝐶𝐶, 𝑇𝑇 をゲット
◼ 攻撃者は青の値を計算可能だが赤部分は計算できない◼ ああ部分に着目すると(𝑋𝑋 2 , 𝑌𝑌 2 ) の中で攻撃者が未知の値は 𝐦𝐦𝐦𝐦𝐦𝐦𝒏𝒏/𝟐𝟐 𝑿𝑿 𝟐𝟐◼ 𝐦𝐦𝐦𝐦𝐦𝐦𝒏𝒏/𝟐𝟐 𝑿𝑿 𝟐𝟐だけの取り得る値 2𝑛𝑛/2 個を試して前スライドの攻撃が通るか確認する◼ 5HDOZRUOG：高い確率で度攻撃が成功する◼ ,GHDOZRUOG：攻撃が成功する確率は 1/21.5𝑛𝑛
𝑛𝑛/2 ELWV

𝑴𝑴 𝟏𝟏
𝒀𝒀 𝟏𝟏



© NEC Corporation 2023

2 ⋅ 3𝐿𝐿||0𝑛𝑛/2
𝑋𝑋 2

𝑪𝑪 𝟏𝟏

91

𝒀𝒀 𝟐𝟐

𝑴𝑴 𝟐𝟐

𝑪𝑪 𝟐𝟐

𝐥𝐥𝐥𝐥𝐛𝐛𝒏𝒏/𝟐𝟐 𝑿𝑿 𝟐𝟐

𝒀𝒀 𝟐𝟐

提案攻撃と&ODLPHG%RXQGとの矛盾◆ 提案攻撃の成功確率： 𝑞𝑞𝑒𝑒 /2𝑛𝑛/2𝑞𝑞𝑒𝑒 攻撃者による(QFクエリの回数 ◼ &2)%の35,9安全性はQビットだった一見矛盾なさそうだが…?

© NEC Corporation 2023

提案攻撃と&ODLPHG%RXQGとの矛盾◆ 提案攻撃の成功確率： 𝑞𝑞𝑒𝑒 /2𝑛𝑛/2𝑞𝑞𝑒𝑒 攻撃者による(QFクエリの回数 ◼ &2)%の35,9安全性はQビットだった一見矛盾なさそうだが…?

◆ &ODLPHG%RXQG

𝜎𝜎𝑒𝑒 (QFクエリの総アクセスブロック数
𝑞𝑞𝑑𝑑 'HFクエリ数
𝜎𝜎𝑑𝑑 'HFクエリの総アクセスブロック数
𝑞𝑞 ′ = 𝑞𝑞𝑒𝑒 + 𝑞𝑞𝑑𝑑 + 𝜎𝜎𝑒𝑒 + 𝜎𝜎𝑑𝑑

© NEC Corporation 2023

92

提案攻撃と&ODLPHG%RXQGとの矛盾◆ 提案攻撃の成功確率： 𝑞𝑞𝑒𝑒 /2𝑛𝑛/2𝑞𝑞𝑒𝑒 攻撃者による(QFクエリの回数 ◼ &2)%の35,9安全性はQビットだった一見矛盾なさそうだが…?

◼ 𝜎𝜎𝑑𝑑 = 𝑞𝑞𝑑𝑑 = 0 𝜎𝜎𝑒𝑒 ≈ 𝑞𝑞𝑒𝑒 として簡略化

𝜎𝜎𝑒𝑒 (QFクエリの総アクセスブロック数
𝑞𝑞𝑑𝑑 'HFクエリ数
𝜎𝜎𝑑𝑑 'HFクエリの総アクセスブロック数
𝑞𝑞 ′ = 𝑞𝑞𝑒𝑒 + 𝑞𝑞𝑑𝑑 + 𝜎𝜎𝑒𝑒 + 𝜎𝜎𝑑𝑑

𝑶𝑶

𝒒𝒒𝟐𝟐𝒆𝒆𝟐𝟐𝒏𝒏◼ &2)%に対する 上記制約を満たす 任意の攻撃の成功確率は赤で抑えられる

VXFFHVV SURERIDWWDFN◆ &ODLPHG%RXQG© NEC Corporation 2023

𝑶𝑶

𝒒𝒒𝟐𝟐𝒆𝒆
𝟐𝟐𝒏𝒏

2𝑛𝑛/2

𝑞𝑞𝑒𝑒

提案攻撃と&ODLPHG%RXQGとの矛盾◆ 提案攻撃の成功確率： 𝑞𝑞𝑒𝑒 /2𝑛𝑛/2𝑞𝑞𝑒𝑒 攻撃者による(QFクエリの回数 ◼ &2)%の35,9安全性はQビットだった一見矛盾なさそうだが…?

◼ 𝜎𝜎𝑑𝑑 = 𝑞𝑞𝑑𝑑 = 0 𝜎𝜎𝑒𝑒 ≈ 𝑞𝑞𝑒𝑒 として簡略化

𝜎𝜎𝑒𝑒 (QFクエリの総アクセスブロック数
𝑞𝑞𝑑𝑑 'HFクエリ数
𝜎𝜎𝑑𝑑 'HFクエリの総アクセスブロック数
𝑞𝑞 ′ = 𝑞𝑞𝑒𝑒 + 𝑞𝑞𝑑𝑑 + 𝜎𝜎𝑒𝑒 + 𝜎𝜎𝑑𝑑

𝑶𝑶

𝒒𝒒𝟐𝟐𝒆𝒆𝟐𝟐𝒏𝒏◼ &2)%に対する 上記制約を満たす 任意の攻撃の成功確率は赤で抑えられる◼ しかし 𝟎𝟎 < 𝒒𝒒𝒆𝒆 < 𝟐𝟐𝒏𝒏/𝟐𝟐 のとき𝒒𝒒𝒆𝒆 /𝟐𝟐𝒏𝒏/𝟐𝟐 > 𝒒𝒒𝟐𝟐𝒆𝒆 /𝟐𝟐𝒏𝒏 ⇒ 矛盾
© NEC Corporation 2023

93



VXFFHVV SURERIDWWDFN◆ &ODLPHG%RXQG

𝑶𝑶



𝒒𝒒𝒆𝒆
𝟐𝟐𝒏𝒏/𝟐𝟐𝑶𝑶

𝒒𝒒𝟐𝟐𝒆𝒆
𝟐𝟐𝒏𝒏

2𝑛𝑛/2

𝑞𝑞𝑒𝑒

攻撃による影響◆ 主張されている安全性バウンドが正しくない ⇒ 安全性証明を修正する必要◼ 𝑶𝑶 𝒒𝒒𝟐𝟐𝒆𝒆 /𝟐𝟐𝒏𝒏 ≈ 𝑛𝑛ビットの乱数が𝑞𝑞𝑒𝑒 個あるとき少なくともこのうちペアで衝突が起こる確率• 誕生日のパラドックスに因んでバースデーバウンドと呼ばれるモードの安全性バウンドでは頻出◼ 従来の安全性証明ではステート𝑛𝑛ビットの衝突は考慮できていたが 今回の攻撃のような
𝑞𝑞𝑒𝑒 に対して線形に成功確率が上がっていくケースを考慮できていなかったのが原因◼ 攻撃提案後誤りが修正された安全性バウンドがアップされた𝜎𝜎(QFクエリの総アクセスブロック数◆ &2)%全バージョンのうち今回の攻撃は1,67/Z&版のみに適用可能◼ 他バージョンはナンスがビットのため今回のような攻撃は不可能
◼ 他バージョンでは 𝑶𝑶 𝒒𝒒𝒆𝒆 /𝟐𝟐𝒏𝒏/𝟐𝟐 の項が含まれている© NEC Corporation 2023

従来の安全性を超えた安全性要件ナンス誤用

94ナンス誤用設定
35,9◆ 35,9$87+は(QFクエリで
1RQFHUHVSHFWLQJである必要があった◆ 実装のミス等で同じナンスを誤って用いることがあり得る→ ナンス誤用しても安全な方式への需要◆ 1RQFHPLVXVHUHVLVWDQFH >56@𝐶𝐶, 𝑇𝑇

𝑵𝑵, 𝐴𝐴, 𝑀𝑀◼ *&0 ナンス誤用のクエリ回で攻撃者はタグ生成に用いる鍵を求められる

𝑵𝑵, 𝐴𝐴, 𝑀𝑀◼ &2)%35,9$87+共に2  で攻撃可能

𝑫𝑫𝑫𝑫𝑫𝑫𝑲𝑲

𝑁𝑁 ′ , 𝐴𝐴′ ,𝐶𝐶 ′ , 𝑇𝑇 ′𝐶𝐶, 𝑇𝑇© NEC Corporation 2023

&2)%の1RQFHPLVXVHUHVLVWDQFH◆ 𝑂𝑂 1 で35,9攻撃可能◼ 同じナンスと$'異なる平文で回(QFクエリ• 任意の 𝑁𝑁, 𝐴𝐴, 𝑀𝑀1 VW 𝐴𝐴 = 𝑛𝑛 𝑀𝑀1 = 2𝑛𝑛 を(QFクエリ → 𝐶𝐶1 , 𝑇𝑇1 をゲット

• 任意の 𝑁𝑁, 𝐴𝐴, 𝑀𝑀2 VW 𝑀𝑀2 = 2𝑛𝑛𝑀𝑀2 1 ≠ 𝑀𝑀1 1 を(QFクエリ → 𝐶𝐶2 , 𝑇𝑇2 をゲット

1

1

(QFクエリ回目
1

1

1

1

1

2

2

(QFクエリ回目
2© NEC Corporation 2023

𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲RU$87+
𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲◆ 1RQFHPLVXVHUHVLVWDQWでない認証暗号の例

＄

同じナンスをリピート可◼ 従来の35,9$87+の定義から
1RQFHUHVSHFWLQJを取り去る



RU

𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲

2

2

2
2

95

1

2

𝑀𝑀′ RU⊥&2)%の1RQFHPLVXVHUHVLVWDQFH◆ 𝑂𝑂 1 で35,9攻撃可能◼ 同じナンスと$'異なる平文で回(QFクエリ• 任意の 𝑁𝑁, 𝐴𝐴, 𝑀𝑀1 VW 𝐴𝐴 = 𝑛𝑛 𝑀𝑀1 = 2𝑛𝑛 を(QFクエリ → 𝐶𝐶1 , 𝑇𝑇1 をゲット

• 任意の 𝑁𝑁, 𝐴𝐴, 𝑀𝑀2 VW 𝑀𝑀2 = 2𝑛𝑛𝑀𝑀2 1 ≠ 𝑀𝑀1 1 を(QFクエリ → 𝐶𝐶2 , 𝑇𝑇2 をゲット

◼ 赤部分特に 𝒀𝒀[𝟏𝟏] までは回の(QFクエリで同じ値であることを利用して判別• 𝑀𝑀1 1 ⊕ 𝐶𝐶1 1 𝑀𝑀2 1 ⊕ 𝐶𝐶2 1 を計算し𝑌𝑌 1 の値が衝突するかチェック• 5HDOでは確率で衝突するが,GHDOでは高い確率で衝突しない

1

1(QFクエリ回目
1

1

1

1

1

2

2

(QFクエリ回目
2© NEC Corporation 2023

2

2

2

1

2

2

&2)%の1RQFHPLVXVHUHVLVWDQFH◆ 𝑂𝑂 1 で$87+攻撃可能◼ 同じナンスと$'異なる平文で回(QFクエリ• 任意の 𝑁𝑁, 𝐴𝐴, 𝑀𝑀1 VW 𝐴𝐴 = 𝑛𝑛 𝑀𝑀1 = 2𝑛𝑛 を(QFクエリ → 𝐶𝐶1 , 𝑇𝑇1 をゲット

• 任意の 𝑁𝑁, 𝐴𝐴, 𝑀𝑀2 VW 𝑀𝑀2 = 2𝑛𝑛𝑀𝑀2 1 ≠ 𝑀𝑀1 1 を(QFクエリ → 𝐶𝐶2 , 𝑇𝑇2 をゲット

1

1

(QFクエリ回目
1

1

1

1

1

2

2

(QFクエリ回目
2© NEC Corporation 2023

2

2

2
2

96

1

2

&2)%の1RQFHPLVXVHUHVLVWDQFH◆ 𝑂𝑂 1 で$87+攻撃可能◼ 同じナンスと$'異なる平文で回(QFクエリ• 任意の 𝑁𝑁, 𝐴𝐴, 𝑀𝑀1 VW 𝐴𝐴 = 𝑛𝑛 𝑀𝑀1 = 2𝑛𝑛 を(QFクエリ → 𝐶𝐶1 , 𝑇𝑇1 をゲット

• 任意の 𝑁𝑁, 𝐴𝐴, 𝑀𝑀2 VW 𝑀𝑀2 = 2𝑛𝑛𝑀𝑀2 1 ≠ 𝑀𝑀1 1 を(QFクエリ → 𝐶𝐶2 , 𝑇𝑇2 をゲット

◼ 攻撃者は 青部分 を計算可能つの(QFクエリを「乗り換える」ような以下の'HFクエリが可能• 𝑁𝑁 ′ , 𝐴𝐴′ , 𝐶𝐶 ′ , 𝑇𝑇 ′ VW 𝑁𝑁 ′ = 𝑁𝑁𝐴𝐴′ = 𝐴𝐴𝐶𝐶 ′ = 𝐶𝐶1 1 || 𝐶𝐶 ′ 2 𝐶𝐶 ′ 2 = 𝐺𝐺 𝑌𝑌1 [2] ⊕ 𝑌𝑌1 2 ⊕ 𝐺𝐺 𝑌𝑌2 2 ⊕ 𝑌𝑌2 2 ⊕ 𝐶𝐶2 2 𝑇𝑇 ′ = 𝑇𝑇2• これは非自明な復号関数入力の偽造で十分高い確率で受理される

1

1(QFクエリ回目
1

1

1

1

1

2

2

𝑪𝑪𝑪[𝟐𝟐]を操作して乗り換え(QFクエリ回目
2© NEC Corporation 2023

2

1

2

2

2

2

“Resistance” から “Resilience” への緩和
◆ 現状1RQFHPLVXVHUHVLVWDQFHを持つ認証暗号はレート以下 → 非効率◆ 1RQFHPLVXVHUHVLVWDQFHより弱い耐ナンス誤用安全性の提案
1RQFHPLVXVHUHVLOLHQFH 105/ >$'/@◼ 105/35,9◼ 105/$87+• 攻撃者はナンス誤用2.な𝑬𝑬𝑬𝑬𝒄𝒄𝑲𝑲 にクエリ可能• 攻撃者はナンス誤用2.な𝑬𝑬𝑬𝑬𝒄𝒄𝑲𝑲 にクエリ可能• ナンス誤用しない(QFクエリによって
𝑬𝑬𝑬𝑬𝒄𝒄𝑲𝑲 と$を判別できる確率で評価• その下で𝑫𝑫𝑫𝑫𝒄𝒄𝑲𝑲 から⊥以外を受け取る確率で評価• 'HFクエリでは誤用していないナンスのみ使用可能• 𝑬𝑬𝑬𝑬𝒄𝒄𝑲𝑲 と𝑬𝑬𝑬𝑬𝒄𝒄𝑲𝑲 $ で同一のナンスはクエリ禁止

𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲

𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲

𝑵𝑵, 𝐴𝐴, 𝑀𝑀
𝐶𝐶, 𝑇𝑇© NEC Corporation 2023

𝑵𝑵, 𝐴𝐴, 𝑀𝑀

RU

𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲＄

𝐶𝐶, 𝑇𝑇

𝑵𝑵, 𝐴𝐴, 𝑀𝑀

𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲RU97

𝐶𝐶, 𝑇𝑇

𝑫𝑫𝑫𝑫𝑫𝑫𝑲𝑲

𝑵𝑵′ , 𝐴𝐴′ ,𝐶𝐶 ′ , 𝑇𝑇 ′𝑀𝑀′ RU⊥1RQFHPLVXVHUHVLOLHQFH◆ 105/を持つ認証暗号 ナンスを誤用しても誤用していないナンスを使う
クエリに関しては安全性を担保可能◼ *&0の105/$87+の例ナンス誤用のクエリ回でタグ生成に用いる鍵が漏洩→ 誤用していないナンスのクエリにも攻撃可能→ *&0は 1RQFHPLVXVHUHVLOLHQFHでない◆ &2)%105/35,9$87+共に 𝑶𝑶 𝟐𝟐𝒏𝒏/𝟒𝟒 の安全性が証明できる◼ 安全性は低いが一定のレベルが証明できることを示した
𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲

𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲

𝑵𝑵, 𝐴𝐴, 𝑀𝑀
𝐶𝐶, 𝑇𝑇© NEC Corporation 2023

𝑵𝑵, 𝐴𝐴, 𝑀𝑀

RU

𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲＄

𝐶𝐶, 𝑇𝑇

𝑵𝑵, 𝐴𝐴, 𝑀𝑀

𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲RU𝐶𝐶, 𝑇𝑇&2)%の1RQFHPLVXVHUHVLOLHQFH証明$NLNR,QRXH&KXQ*XR.D]XKLNR0LQHPDWVX
1RQFHPLVXVHUHVLOLHQFHRI5RPXOXV1DQG*,)7&2)%
,(7,QI6HFXU   98

𝑫𝑫𝑫𝑫𝑫𝑫𝑲𝑲

𝑵𝑵′ , 𝐴𝐴′ ,𝐶𝐶 ′ , 𝑇𝑇 ′𝑀𝑀′ RU⊥

準備7%&の安全性 >/5:@◆ 理想状態「7ZHDNDEOH 8QLIRUP5DQGRP3HUPXWDWLRQ」 との判別確率で定義◼ (𝒏𝒏, 𝒕𝒕𝒕𝒕)7ZHDNDEOHSHUPXWDWLRQ෨ 0,1 𝑡𝑡𝑡𝑡 × 0,1 𝑛𝑛 → 0,1 𝑛𝑛 が 7ZHDNDEOHSHUPXWDWLRQとは
𝑃𝑃:
任意の7ZHDN𝑇𝑇𝑇𝑇 ∈ 0,1 𝑡𝑡𝑡𝑡 に対して 𝑃𝑃෨ 𝑇𝑇𝑤𝑤,⋅ が 0,1 𝑛𝑛 上の置換となる関数◼ 73HUP 𝒏𝒏, 𝒕𝒕𝒕𝒕 
入出力𝑛𝑛ビット7ZHDN𝑡𝑡𝑡𝑡ビットの7ZHDNDEOHSHUPXWDWLRQ全体の集合◼ (𝒏𝒏, 𝒕𝒕𝒕𝒕)7ZHDNDEOH8QLIRUP5DQGRP3HUPXWDWLRQ 7853 
73HUP 𝑛𝑛, 𝑡𝑡𝑡𝑡 から一様ランダムに選ばれた 𝑛𝑛, 𝑡𝑡𝑡𝑡 7ZHDNDEOHSHUPXWDWLRQ◼ 7%&の7ZHDNDEOH3VHXGR5DQGRP3HUPXWDWLRQ安全性 7353安全性 
攻撃者が(QFクエリとして任意の平文と7ZHDNをクエリできるときの7853との判別困難確率© NEC Corporation 2023

準備モードによる7%&の構成方法◆ ブロック暗号の入力 入出力にマスク値を足すことで安全な7%&が構成できる◆ 安全性はブロック暗号の入出力の衝突確率によって評価できる◼ ;(>5RJ@の例𝐸𝐸෨𝐾𝐾𝑁𝑁,𝑖𝑖 𝑀𝑀 = 𝐸𝐸𝐾𝐾 𝑀𝑀 ⊕ 2𝑖𝑖 𝐸𝐸𝐾𝐾 𝑁𝑁

𝑖𝑖 ∈ 1,2, …

◼ 同一の𝑁𝑁異なる𝑖𝑖でのブロック暗号入力衝突を見つける• 攻撃者は 𝐶𝐶 の衝突により入力衝突を検出できる◼ 𝑀𝑀 ⊕ 2𝑖𝑖 𝐸𝐸𝐾𝐾 𝑁𝑁 = 𝑀𝑀′ ⊕ 2𝑖𝑖 𝐸𝐸𝐾𝐾 𝑁𝑁 より 𝐸𝐸𝐾𝐾 𝑁𝑁 の値を求めることで
他の7ZHDNに対する出力結果をクエリなしで予測可能となり7853との判別が可能になる′𝑀𝑀

2𝑖𝑖 𝐸𝐸𝐾𝐾 𝑁𝑁

𝐸𝐸𝐾𝐾◼ 安全性はブロック暗号の入出力長の半分 バースデーバウンド◆ マスクの長さがQビット未満の場合◼ 攻撃者はマスクが足されていない部分を確率で衝突させるようにクエリができる◼ 安全性はマスク値の長さの半分となる© NEC Corporation 2023

99𝐶𝐶&2)%の1RQFHPLVXVHUHVLOLHQFH◆ 証明概要+\EULGDUJXPHQWを用いる

© NEC Corporation 2023

&2)%の1RQFHPLVXVHUHVLOLHQFH◆ 証明概要+\EULGDUJXPHQWを用いる◼ ああ部分を7%&と見なす• マスク値がQビットなのでQビット安全性の7%&となる

𝑛𝑛/2 ELWV© NEC Corporation 2023

入出力 𝐴𝐴, 𝑌𝑌 1
7ZHDN(𝑁𝑁, 0,1 )𝑆𝑆 1

入出力 𝑆𝑆 1 , 𝑌𝑌 2
7ZHDN(𝑁𝑁, 1,1 )

100

𝑆𝑆 2

𝑌𝑌 3

入出力 𝑆𝑆 2 , 𝑌𝑌 3
7ZHDN(𝑁𝑁, 1, 2 )&2)%の1RQFHPLVXVHUHVLOLHQFH◆ 証明概要+\EULGDUJXPHQWを用いる◼ ああ部分を7%&と見なす• マスク値がQビットなのでQビット安全性の7%&となる◼ ああ部分を7853で置き換えて得られる認証暗号の1RQFHPLVXVH UHVLOLHQFHを証明• 35,9はSHUIHFWVHFXULW\$87+はQビット安全性が 証明できる• 7853により7ZHDNを変える度に一様ランダムに置換が選ばれる 7ZHDNが異なるクエリの情報は攻撃には寄与しない ことが担保されているため証明は比較的煩雑になりにくい◼ 全体としてQビット安全性が証明できる
𝑛𝑛/2 ELWV෩ 𝑵𝑵, 𝟎𝟎,𝟏𝟏
𝑷𝑷

𝐴𝐴


© NEC Corporation 2023

入出力 𝐴𝐴, 𝑌𝑌 1
7ZHDN(𝑁𝑁, 0,1 )෩ 𝑵𝑵, 𝟏𝟏,𝟏𝟏
𝑷𝑷

𝑆𝑆 1

𝑆𝑆 2

入出力 𝑆𝑆 1 , 𝑌𝑌 2
7ZHDN(𝑁𝑁, 1,1 )෩ 𝑵𝑵, 𝟏𝟏,𝟐𝟐
𝑷𝑷

𝑌𝑌 3

入出力 𝑆𝑆 2 , 𝑌𝑌 3
7ZHDN(𝑁𝑁, 1, 2 )&2)%の1RQFHPLVXVHUHVLOLHQFH&2)%>𝑃𝑃@◆ つまり以下が成立◼あ𝑃𝑃• 左辺&2)%の105/35,9安全性• 右辺第一項7%&J;(FRIE

𝑃𝑃

部分 の7353安全性• 右辺第二項J;(FRIE を7853に置き換えて得られる認証暗号 L*& の105/35,9安全性෨
L*&>𝑃𝑃@• 105/$87+でも同様

𝑃𝑃～◼ &2)%とL*&の判別確率をJ;(FRIEの安全性で上界している◆ +\EULGDUJXPHQWを用いる上での注意点◼ 105/35,9ゲームの攻撃者$が7353ゲームの攻撃者%でシミュレートできる必要がある◼ 7353ゲームでは攻撃者の7ZHDNリピートに関する制約はない

◼ $のゲームがナンス誤用を含んでいても%でシミュレートができるため
+\EULGDUJXPHQWが使える© NEC Corporation 2023

101

𝑃𝑃

&2)%の1RQFHPLVXVHUHVLOLHQFHまとめと課題◆ 105/35,9$87+共に 𝑶𝑶 𝟐𝟐𝒏𝒏/𝟒𝟒 の安全性を持つことを証明した◼ 𝑛𝑛/2ビットマスクを持つ7%&を使って+\EULGDUJXPHQWを用いた◆ 課題示したバウンドがタイトかどうかはオープン◼ 計算量𝑂𝑂 2𝑛𝑛/4 の攻撃は示せていない◼ 上記のような攻撃ができてタイトであることが証明できるかもしれないし
更によい1RQFHPLVXVHUHVLOLHQFHバウンドが証明できるかもしれない◼ 後者なら今回のような+\EULGDUJXPHQWを使えないはずなので
恐らく証明は煩雑なものになるのでは© NEC Corporation 2023

従来の安全性を超えた安全性要件その他

102583 5HOHDVHRI8QYHULILHG3ODLQWH[W >$%/@◆ 攻撃者が未検証平文にアクセスできる設定での安全性◼ 通常の認証暗号では復号関数で改ざんが検知された場合の出力は単一のエラー• 改ざんが検知された時の復号平文は攻撃者は取得できない設定◼ メモリ制約のある実行環境では未検証平文全体の格納は困難 ⇒ 583設定下での安全性の需要◆ 583設定下の$87+,17583 ,QWHJULW\ XQGHU583◼ 認証暗号の関数を定義しなおす• 暗号化関数𝐸𝐸𝐸𝐸𝑐𝑐𝐾𝐾 𝑁𝑁, 𝐴𝐴, 𝑀𝑀 = 𝐶𝐶, 𝑇𝑇• 復号関数𝐷𝐷𝐷𝐷𝐷𝐷𝐾𝐾 𝑁𝑁, 𝐴𝐴, 𝐶𝐶, 𝑇𝑇 = 𝑀𝑀 検証なしに復号結果を出力• 検証関数𝑉𝑉𝑉𝑉𝑉𝑉𝐾𝐾 𝑁𝑁, 𝐴𝐴, 𝐶𝐶, 𝑇𝑇 = ൝⊤ (改ざんが検知されない場合)⊥ (改ざんが検知された場合)◼ (QF'HF9HUクエリできる攻撃者が𝑉𝑉𝑉𝑉𝑟𝑟𝐾𝐾 から ⊤ を受け取る確率で評価◼ (QFクエリでは1RQFHUHVSHFWLQJ

𝑬𝑬𝑬𝑬𝑬𝑬𝑲𝑲
𝑁𝑁, 𝐴𝐴, 𝑀𝑀

𝐶𝐶, 𝑇𝑇

𝑫𝑫𝑫𝑫𝑫𝑫𝑲𝑲

𝑁𝑁, 𝐴𝐴,
𝐶𝐶, 𝑇𝑇𝑀𝑀𝑽𝑽𝑽𝑽𝑽𝑽𝑲𝑲

𝑁𝑁, 𝐴𝐴,
𝐶𝐶, 𝑇𝑇⊤ RU⊥◼ 'HF9HUクエリではナンス制限なし© NEC Corporation 2023

&2)%の場合◆ 1RQFHPLVXVHUHVLVWDQFHでの攻撃がほぼそのまま,17583への攻撃となる◼ ,17583での'HFクエリにナンス制限はないため1RQFHPLVXVHUHVLVWDQFHでの攻撃におけるナンス誤用(QFクエリを,17583ゲームの'HFクエリで再現できれば2.
• (QFクエリ回'HFクエリ回もしくは'HFクエリ回でナンス誤用クエリを再現する• 右の'HFクエリと同じ9HUクエリ
により高い確率で⊤が取得可能

© NEC Corporation 2023

103

従来の安全性を超えた安全性要件その他
◆ /HDNDJHUHVLOLHQWVHFXULW\◼ サイドチャネル情報等攻撃者がブラックボックス以上の情報を取得することができる場合でも安全性を担保できる• 通常の認証暗号に対してマスキング等を施すことでも達成できるが非効率になり得る• モードでも何らかの仮定を置いて漏洩情報ありYHU35,9$87+を持ったより効率的な認証暗号を構成できないか？

◼ 安全性定義は複数存在する• 漏洩ありオラクルアクセスにおける/HIWRU5LJKW判別ゲーム• 漏洩ありオラクルアクセスが可能な攻撃者の漏洩なしオラクル5HDORU,GHDO判別ゲーム◆ .H\FRPPLWWLQJVHFXULW\◼ 攻撃者が秘密鍵を含めて入力を選択できるとき𝐸𝐸𝐸𝐸𝑐𝑐𝐾𝐾 𝑁𝑁, 𝐴𝐴, 𝑀𝑀 = 𝐸𝐸𝐸𝐸𝑐𝑐𝐾𝐾′ 𝑁𝑁 ′ , 𝐴𝐴′ , 𝑀𝑀′ = 𝐶𝐶, 𝑇𝑇 なる
相異なる(QF入力つを見つけることが困難 という安全性• 暗号化関数の出力 暗号文 タグ の衝突困難性◼ 0HVVDJH)UDQNLQJといった(QGWR(QGプロトコルで必要であることから近年注目されつつある• ((プロトコルにおいて.H\FRPPLWWLQJVHFXULW\がない認証暗号を用いた場合
悪意のあるメッセージを受け取ったときの通報機能が機能しなくなる恐れがある© NEC Corporation 2023

本発表のまとめ◆ 認証暗号の基本的な安全性と拡張された安全性について紹介した◼ 秘匿 35,9 改ざん検知 $87+ ◼ 1RQFHPLVXVHUHVLVWDQFHUHVLOLHQFH◼ ,17583/HDNDJHUHVLOLHQFH.H\FRPPLWWLQJVHFXULW\◆ &2)%◼ 1,67/Z&版に対して主張された安全性バウンドを破る攻撃を紹介◼ 1RQFHPLVXVHUHVLOLHQFHについて𝑂𝑂 2𝑛𝑛/4 の安全性が示せることを証明

© NEC Corporation 2023

104

参考文献
◆ >5RJ@5RJDZD\3$XWKHQWLFDWHGHQFU\SWLRQZLWKDVVRFLDWHGGDWD&&6
◆ >%1@%HOODUH01DPSUHPSUH&$XWKHQWLFDWHGHQFU\SWLRQ5HODWLRQVDPRQJQRWLRQVDQGDQDO\VLVRIWKHJHQHULF
FRPSRVLWLRQSDUDGLJP$6,$&5<37
◆ >%&,@%DQLN6&KDNUDERUWL$,ZDWD70LQHPDWVX.1DQGL03H\ULQ76DVDNL<6LP607RGR<*,)7&2)%Y6XEPLVVLRQWRWKH1,67/LJKWZHLJKW&U\SWRJUDSK\SURMHFW ◆ >%33@%DQLN63DQGH\6.3H\ULQ76DVDNL<6LP607RGR<*,)7$VPDOOSUHVHQW WRZDUGVUHDFKLQJWKHOLPLWRIOLJKWZHLJKWHQFU\SWLRQ&+(6
◆ >&,01@&KDNUDERUWL$,ZDWD70LQHPDWVX.1DQGL0%ORFNFLSKHUEDVHGDXWKHQWLFDWHGHQFU\SWLRQ+RZ
VPDOOFDQZHJR"&+(6
◆ >&,01@&KDNUDERUW\$,ZDWD70LQHPDWVX.1DQGL0%ORFNFLSKHUEDVHGDXWKHQWLFDWHGHQFU\SWLRQ+RZ
VPDOOFDQZHJR"-RXUQDORI&U\SWRORJ\  – -XO ◆ >.KDD@.KDLUDOODK0:HDNNH\VLQWKHUHNH\LQJSDUDGLJP$SSOLFDWLRQWR&20(7DQGPL[)HHG,$&57UDQV6\PP
&U\SWRO  –  ◆ >.KDE@.KDLUDOODK02EVHUYDWLRQVRQWKHWLJKWQHVVRIWKHVHFXULW\ERXQGVRI*,)7&2)%DQG+\(1$&U\SWRORJ\H3ULQW $UFKLYH5HSRUW  ◆ >.KD@.KDLUDOODK06HFXULW\RI&2)%DJDLQVW&KRVHQ&LSKHUWH[W$WWDFNV,$&57UDQV6\PP&U\SWRO  
–  © NEC Corporation 2023

参考文献
◆ >,0@,QRXH$0LQHPDWVX.*,)7&2)%LVWLJKWO\ELUWKGD\VHFXUHZLWKHQFU\SWLRQTXHULHV&U\SWRORJ\H3ULQW$UFKLYH5HSRUW  ◆ >56@5RJDZD\36KULPSWRQ7$SURYDEOHVHFXULW\WUHDWPHQWRIWKHNH\ZUDSSUREOHP(852&5<37
◆ >$'/@$VKXU7'XQNHOPDQ2/X\N[$%RRVWLQJDXWKHQWLFDWHGHQFU\SWLRQUREXVWQHVVZLWKPLQLPDOPRGLILFDWLRQV&5<372
◆ >/5:@/LVNRY05LYHVW5/:DJQHU'$7ZHDNDEOH%ORFN&LSKHUV&5<372
◆ >5RJ@5RJDZD\3(IILFLHQW,QVWDQWLDWLRQVRI7ZHDNDEOH%ORFNFLSKHUV DQG5HILQHPHQWVWR0RGHV2&%DQG30$&
$6,$&5<37

◆ >$%/@($QGUHHYD$%RJGDQRY$/X\N[%0HQQLQN10RXKDDQG.<DVXGD+RZWR6HFXUHO\5HOHDVH
8QYHULILHG3ODLQWH[WLQ$XWKHQWLFDWHG(QFU\SWLRQ$6,$&5<37

© NEC Corporation 2023

105

IMI Workshop: Mathematics of Security Analysis for Modern Cryptography
September 20-22, 2023, JR Hakata City, Fukuoka, Japan

キャッシュランダム化関数の安全性モデルと SCARF の設計・安全性評価
藤堂 洋介

NTT 社会情報研究所
yosuke.todo@ntt.com
キャッシュ攻撃とはキャッシュとメモリの遅延差を利用したサイドチャネル攻撃である[1, 2]。キャッシュ攻撃を防ぐ方法としてキャッシュランダム化が注目されている [3, 4,
5, 6, 7, 8, 9, 10]。Usenix Security2023 で、キャッシュランダム化関数の安全性モデル、調整可能暗号を用いた設計理論、具体的な関数 SCARF を設計・発表した [11]。本講演
では、この安全性モデルの解説、実際の SCARF の設計プロセス、SCARF に対する具体的な暗号解読の取り組みを紹介する。

References[1] Daniel J Bernstein. Cache-timing attacks on AES. 2005.
[2] Dag Arne Osvik, Adi Shamir, and Eran Tromer. Cache attacks and Countermeasures: The Caseof AES. IACR Cryptol. ePrint Arch., page 271, 2005.
[3] Moinuddin K. Qureshi. CEASER: Mitigating Conﬂict-Based Cache Attacks via Encrypted-Address
and Remapping. In 51st Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2018, Fukuoka, Japan, October 20-24, 2018, pages 775–787. IEEE Computer Society, 2018.
[4] Moinuddin K. Qureshi. New attacks and defense for encrypted-address cache. In Srilatha Bobbie
Manne, Hillery C. Hunter, and Erik R. Altman, editors, Proceedings of the 46th International
Symposium on Computer Architecture, ISCA 2019, Phoenix, AZ, USA, June 22-26, 2019, pages
360–371. ACM, 2019[5] Gururaj Saileshwar and Moinuddin K. Qureshi. MIRAGE: Mitigating Conﬂict-Based Cache Attacks with a Practical Fully-Associative Design. In Michael Bailey and Rachel Greenstadt, editors,
30th USENIX Security Symposium, USENIX Security 2021, August 11-13, 2021, pages 1379–1396.
USENIX Association, 2021.
[6] Wei Song, Boya Li, Zihan Xue, Zhenzhen Li, Wenhao Wang, and Peng Liu. Randomized LastLevel Caches Are Still Vulnerable to Cache Side-Channel Attacks! But We Can Fix It. In 42ndIEEE Symposium on Security and Privacy, SP 2021, San Francisco, CA, USA, 24-27 May 2021,
pages 955–969. IEEE, 2021.
[7] Qinhan Tan, Zhihua Zeng, Kai Bu, and Kui Ren. PhantomCache: Obfuscating Cache Conﬂicts
with Localized Randomization. In 28th Annual Network and Distributed System Security Symposium, NDSS 2021, virtually, February 21-25, 2021. The Internet Society, 2021.
[8] Jan Philipp Thoma, Christian Niesler, Dominic A. Funke, Gregor Leander, Pierre Mayr, Nils
Pohl, Lucas Davi, and Tim Güneysu. ClepsydraCache - Preventing Cache Attacks with TimeBased Evictions. CoRR, abs/2104.11469, 2021.
[9] Zhenghong Wang and Ruby B. Lee. New cache designs for thwarting software cache-based sidechannel attacks. In Dean M. Tullsen and Brad Calder, editors, 34th International Symposium on
Computer Architecture (ISCA 2007), June 9-13, 2007, San Diego, California, USA, pages 494–505.
ACM, 2007.
[10] Mario Werner, Thomas Unterluggauer, Lukas Giner, Michael Schwarz, Daniel Gruss, and Stefan Mangard. ScatterCache: Thwarting Cache Attacks via Cache Set Randomization. In Nadia
Heninger and Patrick Traynor, editors, 28th USENIX Security Symposium, USENIX Security
2019, Santa Clara, CA, USA, August 14-16, 2019, pages 675–692. USENIX Association, 2019.
[11] Federico Canale, Tim Güneysu, Gregor Leander, Jan Philipp Thoma, Yosuke Todo, and Rei Ueno,
SCARF – A Low-Latency Block Cipher for Secure Cache-Randomization.. USENIX Security 2023.

107

[機密性1/Confidentiality1]

現代暗号に対する安全性解析・攻撃の数理

キャッシュランダム化関数の安全性モデルとSCARFの設計・安全性評価
NTT社会情報研究所
藤堂

洋介

1

[機密性1/Confidentiality1]

アジェンダ• 今日の概要• キャッシュ攻撃– キャッシュ攻撃とその脅威– キャッシュランダム化とその効果• キャッシュランダム化関数の安全性モデル– どのような関数が求められるのか– 攻撃者モデル• 衝突モデル• Enc-then-Decモデル• SCARFの設計と安全性評価– 設計技術の概要紹介– 暗号解析結果の紹介

2108

[機密性1/Confidentiality1]

一応、自己紹介• 藤堂 洋介 (Yosuke Todo)– NTT社会情報研究所– 略歴• 2012.3 神戸大学 修士• 2012.4 NTT入社• 2017.3 神戸大学 博士(工学)• 2019.7 RUB(独)客員研究員(2020.10まで)– 最近の研究テーマ• 共通鍵暗号プリミティブの安全性評価理論• 目的特化型の共通鍵暗号の設計3[機密性1/Confidentiality1]

今日の概要• Usenix Security 2023で発表した
SCARF – A Low-Latency Block Cipher
for Secure Cache-Randomizationの解説をします。
• 本研究は、
RUBのFederico, Tim, Gregor, Jan
東北大の上野先生との共同研究です。

4109

[機密性1/Confidentiality1]

キャッシュメモリ
低遅延小容量レジスタ
1次キャッシュ
2次キャッシュ
3次キャッシュ

高遅延
大容量

メモリ
SSD・HDD

毎回メモリにアクセスしていては遅延が大きくCPUの性能が上がらない。
メモリと演算機の間にキャッシュを導入することで、性能の底上げを図る。
今ではキャッシュメモリも階層化（１次、２次、３次キャッシュ）されている。
5[機密性1/Confidentiality1]

Set-associative キャッシュ• 現代のキャッシュシステムのほとんどは Set-associative※– キャッシュインデックスは複数の Way を持つ– 同じインデックスを持つデータはMemory address
同じ行（キャッシュセット）に格納
Tag
Index
– 同じインデックスのデータがWay
LLCの数以上にロードされるとデータ
Index
Way 0
Way 1
がキャッシュから追い出される

Way 3

0

Tag

Data

Tag

Data

Tag

Data

Tag

Data

1

Tag

Data

Tag

Data

Tag

Data

Tag

Data

2

Tag

Data

Tag

Data

Tag

Data

Tag

...
※ Wayの数が1つだとDirect map
Index（キャッシュセット）の数が1つだとFull-associativeと呼ばれる
Set-associativeはこの中間の構成を指す．

Way 2

...

...

...

...

Data

1022

Tag

Data

Tag

Data

Tag

Data

Tag

Data

1023

Tag

Data

Tag

Data

Tag

Data

Tag

Data

6

110

[機密性1/Confidentiality1]

キャッシュ攻撃

Hit!!

アクセス遅延差を計測
攻撃者は攻撃対象がキャッシュ内のデータを取得したか否かを判定できる。
→ この特徴を利用して脆弱性を引き起こす。
cacheMiss!!

キャッシュ攻撃と関連した脆弱性• 暗号実装に対する鍵回復攻撃•––

例えばAESのソフト実装に対するキャッシュ攻撃
どのS-boxの値を使ったのかが漏洩し、そこから鍵回復攻撃につなげられるリスク–––

最近のCPUは先読み(投機的実行)処理を行い、無駄になるかもしれない計算をCPUが勝手に実行
無駄になれば、当然、そのデータは外部に出さない・・・しかしキャッシュには残ってしまう・・・
投機的実行処理と組み合わせ、本来漏れてはいけない情報を奪い取る。

投機的実行処理との組み合わせ(Spectre, Meltdown, Downfallなど)

7[機密性1/Confidentiality1]

キャッシュ攻撃の種類

Hit!!

cache

アクセス遅延差を計測
攻撃者は攻撃対象がキャッシュ内のデータを取得したか否かを判定できる。
→ この特徴を利用して脆弱性を引き起こす。

Miss!!

キャッシュ攻撃とはメモリアクセスとキャッシュアクセスの遅延差を利用した攻撃• Flush型キャッシュ攻撃––•

Flush+Reload型キャッシュ攻撃など
現実環境としては、かなりキツい前提条件が成り立つ必要があるが、それが成り立つなら効率的。

競合型キャッシュ攻撃––

Prime+Probe型キャッシュ攻撃など
Flush型のような前提条件を必要とせず、どこでも実行可能。
Flush型が動くなら、そっちの方が精度が良い。

8111

[機密性1/Confidentiality1]

Flush型キャッシュ攻撃プログラムを動かすのでアドレスください。

（攻撃するんで）アドレスください。

• 攻撃者とVictimが同一のアドレス空間を触れる状況を前提• 普通は、なかなか成立しない– 無理やりVictimのアドレスを触れば落ちる• 一部、VMなどの環境では現実で起こりえる• Flush型が動くならキャッシュ攻撃は結構簡単で精度も良い
9[機密性1/Confidentiality1]

競合型キャッシュ攻撃プログラムを動かすのでアドレスください。

（攻撃するんで）アドレスください。

• 攻撃者とVictimが別のアドレス空間を割り当てられる。
– 自然な設定• アドレス空間は異なっていてもキャッシュ空間は共有。
• キャッシュ空間の取り合い(競合)に基づくキャッシュ攻撃。
• 攻撃の仮定が少なく基本、どのような環境でも動く。
– ただし精度はFlush型ほどよくない。

10

112

[機密性1/Confidentiality1]

競合型キャッシュ攻撃• Victimと攻撃者がキャッシュを共有していると仮定– 攻撃者は Victim があるキャッシュセットにアクセスしたかどうかを推定
1. 攻撃者は対象キャッシュセットを自分のデータで埋める
2. 一定時間待つ（Victimがアクセスしたらキャッシュセットが変化）
3. 攻撃者は対象キャッシュセットに再アクセスし読み込み時間を計測
Index

Way 0

Way 1

Way 2

Way 3

0

Tag

Data

Tag

Data

Tag

Data

Tag

Data

1

Tag

Data

Tag

Data

Tag

Data

Tag

Data

2

Tag

Data

Tag

Data

Tag

Data

Tag

...

...

...

...

Data

...

1022

Tag

Data

Tag

Data

Tag

Data

Tag

Data

1023

Tag

Data

Tag

Data

Tag

Data

Tag

Data

11

[機密性1/Confidentiality1]

競合型キャッシュ攻撃• Victimと攻撃者がキャッシュを共有していると仮定– 攻撃者は Victim があるキャッシュセットにアクセスしたかどうかを推定
1. 攻撃者は対象キャッシュセットを自分のデータで埋める
2. 一定時間待つ（Victimがアクセスしたらキャッシュセットが変化）
3. 攻撃者は対象キャッシュセットに再アクセスし読み込み時間を計測
Index

Way 0

Way 1

Way 2

Way 3

0

Tag

Data

Tag

Data

Tag

Data

Tag

Data

1

Tag

Data

Tag

Data

Tag

Data

Tag

Data

2

Tag

Data

Tag

Data

Tag

Data

Tag

...

...

...

...

Data

...

1022

Tag

Data

Tag

Data

Tag

Data

Tag

Data

1023

Tag

Data

Tag

Data

Tag

Data

Tag

Data

12

113

[機密性1/Confidentiality1]

競合型キャッシュ攻撃• Victimと攻撃者がキャッシュを共有していると仮定– 攻撃者は Victim があるキャッシュセットにアクセスしたかどうかを推定
1. 攻撃者は対象キャッシュセットを自分のデータで埋める
2. 一定時間待つ（Victimがアクセスしたらキャッシュセットが変化）
3. 攻撃者は対象キャッシュセットに再アクセスし読み込み時間を計測
Index

Way 0

Way 1

Way 2

Way 3

0

Tag

Data

Tag

Data

Tag

Data

Tag

Data

1

Tag

Data

Tag

Data

Tag

Data

Tag

Data

2

Tag

Data

Tag

Data

Tag

Data

Tag

...

...

...

...

Data

...

1022

Tag

Data

Tag

Data

Tag

Data

Tag

Data

1023

Tag

Data

Tag

Data

Tag

Data

Tag

Data

13

[機密性1/Confidentiality1]

競合型キャッシュ攻撃• Victimと攻撃者がキャッシュを共有していると仮定– 攻撃者は Victim があるキャッシュセットにアクセスしたかどうかを推定
1. 攻撃者は対象キャッシュセットを自分のデータで埋める
2. 一定時間待つ（Victimがアクセスしたらキャッシュセットが変化）
3. 攻撃者は対象キャッシュセットに再アクセスし読み込み時間を計測
Index

Way 0

Way 1

Way 2

Way 3

0

Tag

Data

Tag

Data

Tag

Data

Tag

Data

1

Tag

Data

Tag

Data

Tag

Data

Tag

Data

2

Tag

Data

Tag

Data

Tag

Data

Tag

...

...

...

...

Data

...

1022

Tag

Data

Tag

Data

Tag

Data

Tag

Data

1023

Tag

Data

Tag

Data

Tag

Data

Tag

Data

14

114

[機密性1/Confidentiality1]

キャッシュランダム化という解決策• 競合型キャッシュ攻撃を実行するためには、
どのキャッシュセットを触っているのか認識する必要がある。
– Victimが触るか識別したいアドレスがどのIndexを用いるのか認識する必要– 認識したうえで、同一のIndexを持つ
キャッシュセットを埋める必要• ランダム化関数 FK を用いてインデックスをランダム化する。
– データはランダム化された候補イン
デックスのどこかに配置される– CPUアーキテクチャの変更が少ない• ただ、ランダムってなに？

Memory address
Tag

Index

LLC

EK

Index

Way 0

Offset

ki
Way 2

Way 1

Way 3

0

Tag

Data

Tag

Data

Tag

Data

Tag

Data

1

Tag

Data

Tag

Data

Tag

Data

Tag

Data

2

Tag

Data

Tag

Data

Tag

Data

Tag

...

...

...

...

...

Data

1022

Tag

Data

Tag

Data

Tag

Data

Tag

Data

1023

Tag

Data

Tag

Data

Tag

Data

Tag

Data

15

[機密性1/Confidentiality1]

既存研究～低遅延ブロック暗号の転用• 例えば低遅延ブロック暗号PRINCEを使う– 平文に メモリアドレス を入力

OffsetTag– 暗号文の10ビットをIndex'として利用– 暗号文の48ビットをTag’として保存– メモリアドレスではOffsetだった部分は保存しておかないと復号できなくなるので、暗号文の残り6ビット分は、何らかの手段で保存

EK

C
Tag'

– 問題点

Index

Index'• 6ビット追加保存は決してnegligibleではない• そもそも安全性的にブロック暗号の利用はオーバーキルではないか？
16

115

[機密性1/Confidentiality1]

なぜ、ブロック暗号はオーバーキルなのか？
• ランダム化の目的は、VictimのIndex’と一致する物理アドレスを自分のアドレス空間から選択できないようにするため
OffsetTag

Index• ブロック暗号の設計ゴールはSPRP。

– Index’を見える仮定で識別不可能性。
– 見えるどころか選択も可能。
– 本音では、Ideal cipherですら、あってほしい。

EK

C
Tag'

• キャッシュランダム化関数は、
平文は見える（選択できる）が暗号文は見えない！！

Index'– SPRP？Ideal cipher？そんなもんは要らん！！

17[機密性1/Confidentiality1]

最初の発想 ~専用58ビットブロック暗号を作る• ６ビットの運用ロスは回避可能– 仕様的には問題はない• どのように安全性を定義するか– 攻撃者は暗号文を観測できない– Reduced-roundにする？
– でも、どれだけ？

• このモデルでは部分暗号文衝突の確率を用いて安全性を定義は可能

Tag1 || Index1

Tag2 || Index2

EK

EK

C1

C2

Tag1'

Index1'?
=

Index2'

Tag2'– ただ理論的に定義出来ても、それでいい感じに作れるかは別問題– （研究の超初期は、切詰差分攻撃とこのモデルを真剣に議論していた）– 遅延削減・ラウンド数削減に向けた最適化の議論はこのモデルでは難しそう
18116

[機密性1/Confidentiality1]

Tweakableブロック暗号はどうだろうか？
• そもそもTagをランダム化するモチベーションはない。

– Index部分が平文で、Tag部分はTweakだとみなせばいいのでは？

• 48-bit tweak 10-bit block Tweakableブロック暗号– かなり変態的パラメータだが設計目標は定まる。

• 安全性モデルは定義可能か？

– 部分衝突→衝突に変わる。
– 切詰差分などという議論はいらない。
– しかも、よくあるSPRPっぽい定義が可能

Tag1

Index1

Index2EK

EKIndex'1?
=

Tag2

Index'2

19[機密性1/Confidentiality1]

安全性定義※Even/Odd Permutationを用いた識別攻撃は除外

20

117

[機密性1/Confidentiality1]

気持ち• 攻撃者は常にペア((x1,T1), (x2,T2))でクエリする。
• 攻撃者は暗号文を見れない• 暗号文は見れないが、ペアの暗号文が一致したかどうかの0/1の情報はオラクルから学ぶことができる。
• 実は、ちょっとインチキがある・・・– 本当はペアではなく、セットでも実行は可能。
– セットの場合、セット内に一切衝突がないか、少なくとも衝突が一つあるかが分かる。
– ただ、これを定式化するのは難しいので無視することにした。

21[機密性1/Confidentiality1]

これを作りたいんだけど・・・

Tag1

Index1

Index2EK

EKIndex'1?
=

Tag2

Index'2

じっと眺める・・・
22

118

[機密性1/Confidentiality1]

これを作りたいんだけど・・・

Index1

Index2

EK

EK­1

Tag1

Tag2

෪𝐾𝐾 (96ビットTweakの𝐸𝐸
10ビットTBC)

これって、こういうことでは？
23[機密性1/Confidentiality1]

Enc-then-Decモデル• Index 1をTweak T1で暗号化し、Tweak T2で復号したものがIndex 2• 攻撃者に96-bit tweak 10-bit TBCを直接触らせることにしよう。
– 衝突モデルのオラクルから構成可能• 共通鍵暗号学者の直観が叫んでいる…

段数半分でいいんでね？

Tag1

Index1

Index2

EK

EK­1

Tag2

෪𝐾𝐾 (96ビットTweakの𝐸𝐸
10ビットTBC)

119

24

[機密性1/Confidentiality1]

安全性定義２※Even/Odd Permutationを用いた識別攻撃は除外

25[機密性1/Confidentiality1]

気持ち• 攻撃者は(x,T1,T2)をでクエリする。
• Tweak T1で暗号化し、Tweak T2で復号した結果を返す。
෪𝐾𝐾 の半分の段数の中間暗号文ということにする。
• 真の暗号文は𝐸𝐸– ここが見えないのは、ブロック暗号にとって当たり前の話。

෪𝐾𝐾 そのものは安全なTBCにはならない。
• 𝐸𝐸– 例えば、T1=T2でクエリすればIdentity mapである。

– 𝐸𝐸𝑇𝑇−1∘ 𝐸𝐸𝑇𝑇1 or Π −1
𝑇𝑇2 ∘ Π 𝑇𝑇1 の二つのWorldの識別不可能性で定義する。
2• Realは、二つの連結による段数水増し効果を期待。
• Idealは、そもそもがtweakable random permutation。

– IdealもT1=T2なら、Identity mapであり、この二つが識別不可能なら、確かに設計された暗号は、あるべきように、理想的と言える。
26120

[機密性1/Confidentiality1]

SCARFの作り方

27[機密性1/Confidentiality1]

SCARFの設計目標は決まった• パラメータについて– 48-bit tweak– 10-bit block• 安全性について– 安全性レベルは80-bit level– 𝐸𝐸𝑇𝑇 単体では80-bit安全に到達しない−1– 𝐸𝐸෫
𝑇𝑇 ,𝑇𝑇 = 𝐸𝐸𝑇𝑇 ∘ 𝐸𝐸𝑇𝑇 となり、初めて80-bit安全に到達。
1 2

2• 性能について1– 超低遅延、CPUの動作を可能な限り邪魔せずオーバーヘッドを抑えるため• PRINCEなどのよくある低遅延ブロック暗号の倍速を目指す。

– 逆像が計算可能/復号可能、書き戻し（Write-back）できることが必要なため
28

121

[機密性1/Confidentiality1]

SCARFの設計目標は決まった・・・が• 実はそんなに作るのは簡単ではない。
• 何が難しい？

– ブロック長があまりにも短すぎる。
• 鍵を巻き込むコストが高い。

– 段数水増し効果を得るには細工が必要。

• 暗号化して復号する。
• 副鍵が一致すると段数２段分、消えてしまう・・・

29[機密性1/Confidentiality1]

まずは基本構造をどうするか• SPN構造

R

R

R– ブロック長が10-bitしかないと、よく知られる鍵排他的論理和で秘密情報を足すと80-bitを入れるには最低でも8段必要。
– 中間一致攻撃とかを考慮すると、これで低遅延(段数削減)はかなり厳しい。
– 鍵排他的論理和以外の方法で秘密情報を入れるのも手だが（例、加算器とか）、可逆にする必要性があるため制約が多く、低遅延な入れ方が出来ない。
– SPN構造は低遅延暗号の鉄板構造であるが、ここまでブロック長が短いと向
かない。

30

122

[機密性1/Confidentiality1]

まずは基本構造をどうするか• Feistel構造F– 5-bitな鍵依存F関数を作ればよい– SPN構造と異なり、F関数自体は可逆である必要がないので、低遅延で多くの鍵ビットを巻き込むことも理論的に可能• 問題は、それで安全なのか・・・という話– 一般にFeistel構造は１段あたりの非線形性がSPN構造より乏しく、高遅延になりがちである。
– 私の知る限り、Feistel構造を採用した低遅延暗号は存在しない。

31[機密性1/Confidentiality1]

SCARFの構造32

123

[機密性1/Confidentiality1]

SCARFの構造• Feistel構造とSPN構造を混ぜたような構造。
• MISTY構造の変種ともいえる。
• MISTY構造のようにSboxを配置する– ２段のSboxの並列実行が可能で、暗号化に関しては、SPN構造と同効率• MISTY構造では単なるXOR部分に超低遅延で大量の鍵を巻き込むG関数を配置

33[機密性1/Confidentiality1]

まずG関数を設計• Bit rotation + AND gate

– Bit rotationはcost 0– AND gateは最も低遅延なgateの一つ• 数学的な構造– 追加のAND gateを無視すると鍵固定のもとで線形関数– 異なる鍵で、同一の写像が生成されることはない。

• 追加のAND gate

– 上記の、異なる鍵で同一の写像が生成されない性質は引き継がれる。
– XOR-tree構造での最適化、XOR gate一個分足してもコスト増が少ないため。
34124

[機密性1/Confidentiality1]

XORツリーのハードウェア実装• Q1: 8入力XORと9入力XORでは遅延に大きな差がある– A1: YES! 2入力XORゲートの深さ(直列接続されるゲートの数)が変わるため• Q2: 8入力XORと7入力XORでは遅延はあまり変わらない– A2: NO! 論理合成の自由度が大きく変わるため有意な差がある• ゲートの深さだけでは評価できない要因が大きな影響を与える
A1

A1

A2 A3

A4 A5

A6

A7

A2

Z
A1 to ZとA2 to Zの遅延には差がある（信号の立ち上がりと立ち下がりでも違う）

Z
A1–A7は信号到着時間が異なる（到着が遅い入力ポートには短い遅延を割り当てる必要があるが，8入力XORだと自由度が少ない）

35[機密性1/Confidentiality1]

より詳細な設計の詰め方• S-boxの設計– G関数は1段での鍵の巻き込み量を増やす
目的で低遅延に最適化されている。
– ただし、G関数のみでは安全にならない。
• 次数が低すぎる。
• 数学的構造が残りすぎている。

– 非線形なS-boxを足したいが、それで高遅延になっては意味がない。
– G関数のパス(赤色)は避けようのない
critical pathとなっているため、
このcritical pathが維持される範囲で強いS-boxを用意し配置する。

36

125

[機密性1/Confidentiality1]

S-boxの設計

•

4

= 2−3
32
12
線形相関 𝑐𝑐 = ± = 2−1.41504
32• 差分確率 𝑝𝑝 =• 代数次数 4

37[機密性1/Confidentiality1]

Enc-then-Dec構造による脆弱性の最小化• No Last-Round Cancellation– 𝑅𝑅𝑘𝑘−1′ ∘ 𝑅𝑅𝑘𝑘 という状況は避けようがない。
– この関数がidentity mapになるのは k=k’のときに限られる。
– Tweak長は30 bitsよりも長いためlast-round cancellationを起こすtweak pairsの存在は否定できない。

• No Last-Two-Round Cancellation−1– 𝑅𝑅𝑘𝑘−1′ ∘ 𝑅𝑅𝑘𝑘 ′ ∘ 𝑅𝑅𝑘𝑘2 ∘ 𝑅𝑅𝑘𝑘1
1

2– この関数がidentity mapになるのは 𝑘𝑘1′ , 𝑘𝑘2′ = (𝑘𝑘1 , 𝑘𝑘2 )のときに限られる。
– Tweak長は60 bitsよりも短いため、そのようなペアはないようにTweak keyscheduleを設計したい。
38

126

[機密性1/Confidentiality1]

安全性モデルを意識したTweakey schedule• 多くのTBCはLinear tweak(ey) scheduleを採用– Tweak(ときどき秘密鍵)を線形に混ぜながら副鍵を生成していく• SCARF的には、これはよろしくない。

– 線形だと、Last round cancellationが簡単に出来てしまう。
TKS
R

R

R

R

R

R

R

R

R-1

R-1

R-1

R-1

R-1

R-1

R-1

R-1

TKS
𝟐𝟐 個のΔTにおいてLast roundは消滅し、鍵の推測なしで、それが得られる。
𝟏𝟏𝟏𝟏

39

[機密性1/Confidentiality1]

安全性モデルを意識したTweakey schedule• Nonlinear tweak(ey) scheduleにする– Tweakey schedule自体をブロック暗号のように設計する。
– Last Two RoundsがTweakと置換になるようにする。
– これにより、No Last Two-Round Cancellationの性質が全体でも成立する。
TKS
R

R

R

R

R

R

R

R

R-1

R-1

R-1

R-1

R-1

R-1

R-1

R-1

TKS
40

127

[機密性1/Confidentiality1]

SCARFの全体像• 入力

ラウンド関数 (R1)

– 10ビット平文– 240ビット鍵– 48ビットTweak• 7+1ラウンド– アンロールドハードウェア
での実装を想定– 最終段は鍵加算位置を変更

最終ラウンド関数 (R2)

• TKS

– データランダム部より遅延しない範囲で設計
41[機密性1/Confidentiality1]

ハードウェア性能評価• Nangate Open Cell Library を用いてSCARFと既存の代表的な低遅延暗号を合成・評価– 全てアンロールド実装– 合成条件や設計スタイルは可能な限り統一した– 平文，鍵，Tweak，暗号文を格納するためのレジスタの遅延・面積を含む• SCARFは既存暗号に比べてほぼ半分の遅延と面積を達成– SCARFは現代のキャッシュシステムに適合するよう設計されているため，
キャッシュランダム化の実装に関するオーバーヘッドは無し• 既存のブロック暗号を使用した
場合のオーバーヘッドは不明（必ず必要にはなる）

42

128

[機密性1/Confidentiality1]

システムレベルシミュレーション• SCARFとPrinceを用いてキャッシュランダム化を実装した場合のCPUの性能をgem5シミュレータ※を使って評価– キャッシュランダム化にかかると想定した遅延• SCARF: 1サイクル• Prince: 2サイクル

ベンチマークプログラムの実行時間（キャッシュランダム化無しの場合からの増分・減分で評価）– CPUの詳細は論文を参照• SCARFは全てのプログラム
をPrinceより高速に実行※ gem5：CPUの動作をサイクルレベルでシミュレーションするソフトウェア．コンピュータアーキテクチャ分野の研究で標準的に使われている．

43[機密性1/Confidentiality1]

SCARFの安全性

44129

[機密性1/Confidentiality1]

SCARFは本当に安全なのか？
• 従来のTBCとは、かなり構造が違うので、第三者解析が望まれる。

[機密性1/Confidentiality1]

Birthday queryからFull queryを学ぶ• 攻撃者はN+1個のTweak (𝑇𝑇0 , 𝑇𝑇1 , … , 𝑇𝑇𝑁𝑁 )を選ぶ。
• 𝐸𝐸෨𝑇𝑇 ,𝑇𝑇 に対してfull code bookをqueryする。
0𝑗𝑗– Query complexityは𝑁𝑁 × 210• 任意の(𝑖𝑖, 𝑗𝑗)に対して、𝐸𝐸෨𝑇𝑇𝑖𝑖 ,𝑇𝑇𝑗𝑗 = 𝐸𝐸෨𝑇𝑇0 ,𝑇𝑇𝑗𝑗 ∘ 𝐸𝐸෨𝑇𝑇−1
が成立する。
0 ,𝑇𝑇𝑖𝑖– 𝐸𝐸෨𝑇𝑇𝑖𝑖 ,𝑇𝑇𝑗𝑗 に対しては𝑁𝑁 2 × 210 の情報を学べる。

𝐸𝐸𝑇𝑇0

𝐸𝐸𝑇𝑇−1𝑖𝑖

𝐸𝐸𝑇𝑇0

𝐸𝐸𝑇𝑇−1𝑗𝑗
46

130

[機密性1/Confidentiality1]

統計的解読法• 差分解読法• 線形解読法• Boomerang• Differential-Linear

47[機密性1/Confidentiality1]

統計的解読法• 普段の私たち– 普通のブロック暗号の場合、ブロック長は128ビットや64ビット– 差分確率や線形確率などを正確に計算することは計算量的に不可能。
– ラウンド関数の差分確率などを計算し、独立や鍵平均を仮定し、差分特性確率や、Differential effectを評価する。

• SCARFの場合– ブロック長は10-bitしかない。
– それなら、10-bit lookup tableを鍵やTweakをランダムに生成し、実験的に評価することが可能。

48

131

[機密性1/Confidentiality1]

差分解読法

49

[機密性1/Confidentiality1]

線形解読法

50

132

[機密性1/Confidentiality1]

Boomerang51[機密性1/Confidentiality1]

Differential-Linear

52

133

[機密性1/Confidentiality1]

Multiple-tweak attack• ブロック長が10-bitしかないため、ブロック長が確率の限界となるような解読法を走らせてランダムと識別するのは難しそう。
• Tweak長や鍵長がブロック長よりもはるかに大きいことを利用した攻撃が怖い。

– Tweakey scheduleが非線形で、Tweakがactiveな場合、Tweakey scheduleの差分特性確率や線形特性確率は十分に小さくなるように設計されている。
– これはRelated-tweak attackは難しいことを意味する。
– 単に、多くのTweakを利用する、Multiple-tweak attackが脅威と言える。

53[機密性1/Confidentiality1]

Multiple-tweak differential attack• 攻撃シナリオ• 攻撃者は入力差分α、出力差分βを満足するx, T1, T2の確率の偏りを評価する。
– ランダムでも発生する確率は1/1023ある。
– 偏りを評価する、つまり– およそ、𝜀𝜀 −2 のクエリを行えば、識別が可能なはず。

54

134

[機密性1/Confidentiality1]

Multiple-tweak differential attack• x, T1, T2をランダムに取る場合– Birthday queryで学ぶtrickが使えない。
– SCARFは240 queryまでしか認めていないため𝜀𝜀 = 2−20 程度で頭打ちとなる。

• xをFull code book聞いて、T1とT2を単一セットから選ぶ– Birthday queryで学ぶtrickが使える。
– 𝑁𝑁 2 × 29 pairsを学ぶ。
– 例えばN=223 のとき、255 pairsを収集でき、この偏りを実験的に評価する。

55[機密性1/Confidentiality1]

実験結果

56

135

[機密性1/Confidentiality1]

考察• 一般的にα=βで、左側Branchがゼロのときに強い偏りが出る。
– 言い換えると、強い偏りを持つのは、25 − 1 = 31個程度である。

• 4+4段までは優位な偏りが多く観察される。

• 5+5段の場合、α=βかつ左側Branchがゼロなら、ある程度の偏りを持つ。
• 6+6段の場合、優位な偏りは観測されなかった。

57[機密性1/Confidentiality1]

考察、収集可能なデータ数について• SR1を用いた場合––––衝突が発生し一致を学べる確率をランダムに仮定
240 のquery complexityだと221+21+9 = 251 程度まで学べる。
今回の実験は、223+23+9 = 255 とSR1の設定よりも多くのデータを利用している。
SR1の設定でMultiple-tweak differentialが動く可能性は低い。

• SR2を用いた場合– 240 のquery complexityだと229+29+9 = 267 程度まで学べる。
– 5+5までは識別可能になるだろう。
– 6+6は？
•••••2+2 → 3+3、や4+4→5+5ではBiadが2−5 ほど劣化
3+3 → 4+4は2^-10ほど劣化
仮に、6+6は2^-10ほど劣化するなら、攻撃出来ないだろう。
仮に、6+6は2^-5ほど劣化なら、ギリギリ識別可能かもしれない。
識別できたとしても、8+8を攻撃するには、2+2段分の鍵回復が必要だが非自明。

58

136

[機密性1/Confidentiality1]

Multiple-tweak linear attack?

• 差分で出来るなら線形でも出来るのでは？
• ただ、拡張は簡単ではない。

– 線形の場合、Tweakが変わると確率のPositive/Negativeが変わる。
– Positiveか、Negativeかは、鍵に依存して決定されるため、攻撃者には予測が出来ない。
– その場合、分散値の差で識別する必要がある。
– PRESENTの線形解読法のモデルを利用すると、KPモデルで• Real• Random– おそらく、Nを大きくしても、この二つは識別できない・・・
59[機密性1/Confidentiality1]

さいごに• SCARF (Secure CAche Randomization Function)– （隠れた意味）
scarfは動詞で「ガツガツ食べる」という意味がある。
SCARFは副鍵を無理やり暴飲暴食しているという様も表す。

• なんでUsenix Securityだったの？

– CRYPTO, Eurocrypt, Asiacryptだと、落ちそうだったから（笑）
– キャッシュ攻撃の攻撃者モデルを、暗号学的に落とし込むところは、色々と雑な議論をしている。

• 現実のセキュリティと、暗号という理想論を、何のしこりもなく奇麗に橋渡しをするのは、やはり難しい。
• IACRだと、SCARFの安全性が現実のセキュリティに帰着していないから意味がな
い・・・とか面倒くさいこと言うやつ、絶対いる。
• セキュリティ会議の、大丈夫そうならOK、という”雑さ”が嬉しい。
60

137

IMI Workshop: Mathematics of Security Analysis for Modern Cryptography
September 20-22, 2023, JR Hakata City, Fukuoka, Japan

効率的な近似量子フーリエ変換を利用した Shor アルゴリ
ズム
大西 健斗

三菱電機株式会社情報技術総合研究所
Onishi.Kento@ap.MitsubishiElectric.co.jp
本発表では，素因数分解問題を解く Shor アルゴリズムの効率化手法について議論する．
現在利用されている主な公開鍵暗号として，RSA 暗号や楕円曲線暗号があり，素因数分解問題や離散対数問題に安全性の基盤を置いている．Shor アルゴリズムは，これらの問題を多項式時間で解く量子アルゴリズムである．現在の公開鍵暗号が危殆化する時期を見積もるため，Shor アルゴリズムの計算コスト評価は極めて重要である．本発
表では，近似量子フーリエ変換に基づく Shor アルゴリズムについて議論する．特に，本発表では，将来実現しうる大規模な耐故障性量子計算機を考慮し，耐故障性を持つShor アルゴリズムについて計算コストの削減方法を議論する．

139

九大,0,研究集会＠-5博多シティ

効率的な近似量子フーリエ変換を利用した6KRUアルゴリズム
三菱電機株式会社
情報技術総合研究所
大西 健斗© Mitsubishi Electric Corporation

自己紹介
おおにし けんと

大西 健斗
所属三菱電機株式会社 情報技術総合研究所
出身東京大学大学院 情報理工学系研究科
数理情報学専攻 暗号数理情報学研究室

博士論文 

公開鍵暗号に対するサイドチャネル攻撃および量子攻撃の安全性評
価～

公開鍵暗号に対するサイドチャネル情報が誤り付きで得られた場合の秘密鍵復元手法の研究

～

6KRUアルゴリズムの効率化を踏まえた，公開鍵暗号の安全性評価

～

敵対的SDWFK攻撃 画像認識$,システムへの攻撃手法の一つに対する$,システムの安全性評価© Mitsubishi Electric Corporation

140

2

目次
 研究背景既存研究>5&@の制御付き剰余乗算の構成
研究成果近似4)7を利用した6KRUアルゴリズムの改良まとめ© Mitsubishi Electric Corporation

3

目次
 研究背景既存研究>5&@の制御付き剰余乗算の構成
研究成果近似4)7を利用した6KRUアルゴリズムの改良まとめ© Mitsubishi Electric Corporation

141

4

研究背景
現在利用されている以下の公開鍵暗号は，量子計算機を利用した6KRUアルゴリズム>6KR@により危殆化
・56$暗号>56$@ 安全性の基盤素因数問題
・楕円曲線暗号>0LO.RE@ 安全性の基盤離散対数問題
例えば，合成数𝑁𝑁の素因数分解にかかる時間計算量は，・古典計算機log 𝑁𝑁の準指数時間 >//03@・量子計算機log 𝑁𝑁の多項式時間

しかし，現在の量子計算機の規模はあまり大きくないため，
現状，上記暗号を破る6KRUアルゴリズムは実現していない
暗号の危殆化時期を見積もるため，精密な6KRUアルゴリズムの計算量評価が極めて重要>//03@/HQVWUDHWDO7KH1XPEHU)LHOG6LHYH672& 
>6KR@6KRU$OJRULWKPVIRU4XDQWXP&RPSXWDWLRQ'LVFUHWH/RJDULWKPVDQG
)DFWRULQJ)2&6

© Mitsubishi Electric Corporation

5

量子計算機の現状,%0，*RRJOHなどが，将来の量子計算機の実現に向けた開発競争を行っている
例えば，,%0は年に，量子ビットの「2VSUH\」をリリース

KWWSVMSQHZVURRPLEPFRP,%08QYHLOV4XELW3OXV4XDQWXP
3URFHVVRUDQG1H[W*HQHUDWLRQ,%04XDQWXP6\VWHP7ZRより,%0は，今後，量子計算機のさらなる規模拡大を計画
・年中量子ビット デバイス名「&RQGRU」
・年中量子ビット デバイス名「)ODPLQJR」
・年中量子ビット デバイス名「.RRNDEXUUD」
・年以降万量子ビット

KWWSVMSQHZVURRPLEPFRP,%08QYHLOV1HZ5RDGPDSWR3UDFWLFDO
4XDQWXP&RPSXWLQJ(UD3ODQVWR'HOLYHU4XELW6\VWHPより

今後，量子計算機の+:の開発競争が，さらに激化する© Mitsubishi Electric Corporation

1426

将来の危殆化のイメージ
計算コスト

量子アルゴリズムの改良による計算量の低減危殆化
この年代を知りたい

量子計算機の計算能力の向上


年代

[[[

© Mitsubishi Electric Corporation

7

量子計算機の構成モデル
・-RQHVら>-9)@のモデルでは，量子計算機は層で構成
・論理量子ビット 誤りがほぼない量子ビット を，多数の物理量子ビット 誤りがとても多い量子ビット で構成＊/D\HU3K\VLFDO
物理量子ビットを+:により実現する層＊/D\HU9LUWXDO
物理量子ビットの演算を行う層＊/D\HU4(&
誤り訂正により，論理量子ビットを実現する層＊/D\HU/RJLFDO
任意の量子計算を実現する層＊/D\HU$SSOLFDWLRQ
所望の量子アルゴリズムを実現する層

物理層
量子ビットの実現

誤り訂正

実計算
今回の対象

>-9)@-RQHVHWDO/D\HUHG$UFKLWHFWXUHIRU4XDQWXP&RPSXWLQJ35;
8
© Mitsubishi Electric Corporation

143現状の量子計算機
・,%0や*RRJOHが開発している量子計算機は，
1,64 1RLV\,QWHUPHGLDWH6FDOH4XDQWXP&RPSXWHUと呼ばれる
・物理量子ビットのみ実現＊/D\HU3K\VLFDO
物理量子ビットを+:により実現する層＊/D\HU9LUWXDO
物理量子ビットの演算を行う層

物理層
量子ビットの実現

量子ビットの誤りが極めて多いため，誤り訂正が必要
このまま量子ビット数だけ増大しても，6KRUアルゴリズムは実現しない© Mitsubishi Electric Corporation

9

量子計算機モデルでの誤り訂正＊/D\HU4(&
誤り訂正により，論理量子ビットを実現する層→表面符号>)6*@により実現
しかし，一部の量子演算 量子ゲート しか利用できない
これらの量子ゲートのみでは，6KRUアルゴリズムは実現不可＊/D\HU/RJLFDO
任意の量子計算を実現する層→'LVWLOODWLRQ>)6*@により実現
全ての量子ゲートが，近似的に利用可能となる
新たに利用可能となる量子ゲートの計算コストは極めて大きい
6KRUアルゴリズムの計算コスト評価のためには，計算コストの高い量子ゲートでの計算量評価が重要>)6*@)RZOHUHWDO+LJK7KUHVKROG8QLYHUVDO4XDQWXP&RPSXWDWLRQRQWKH6XUIDFH
10&RGH35$
© Mitsubishi Electric Corporation

144計算量評価指標
よく利用される主な計算量指標
・量子ビット数
・量子ゲート数・回路深さ 量子ゲートを並列に同時実行した際の計算ステップ数
しかし，どれか一つを減らすと，他の計算量が大きくなる→回路の評価指標として，.4なる指標>6WH@がある
KQ = 量子ビット数 × 回路深さ

上記の量子回路が正確な出力を行う確率は、 各ゲートの精度→.4を小さくすると、量子計算の早期実現につながる >-9)@KQ

本発表では，回路深さ及び.4の最小化を行う>6WH@6WHDQH2YHUKHDGDQG1RLVH7KUHVKROGRI)DXOW7ROHUDQW4XDQWXP(UURU&RUUHFWLRQ35$

11© Mitsubishi Electric Corporation

量子計算のイメージ ・量子計算は，複数の数値の重ね合わせ状態 量子状態 で演算
具体例 量子ビットで表現される，|0ۧ, |1ۧの重ね合わせ
𝑎𝑎0 |0ۧ + 𝑎𝑎1 |1ۧ, where 𝑎𝑎0 , 𝑎𝑎1 ∈ ℂ and 𝑎𝑎0 2 + 𝑎𝑎1 2 = 1
𝑎𝑎0 2 , 𝑎𝑎1 2 は，それぞれ，|0ۧ, |1ۧを出力する確率であり，𝑎𝑎0以上の量子状態を 𝑎𝑎 と表記する
1・𝑛𝑛量子ビットでは，|0ۧ, |1ۧ, … |2𝑛𝑛 − 1ۧを表現可能
それぞれの量子状態の係数を𝑎𝑎0 , 𝑎𝑎1 , … , 𝑎𝑎2𝑛𝑛 −1 としたとき，量子状態は，2𝑛𝑛 次元ベクトル 𝑎𝑎0 , 𝑎𝑎1 , … , 𝑎𝑎2𝑛𝑛 −1 T Tは転置 で表記・量子アルゴリズムは，量子ゲートにより，＊量子状態の各数値＊各量子状態の係数 出力確率を操作し，所望の出力を得る

12© Mitsubishi Electric Corporation145

量子計算のイメージ 
量子アルゴリズムは，量子及び量子ビットゲートに分解，実行される
主な量子ゲートは以下の通り
量子ビットゲート
・量子ビット反転𝑋𝑋 = 0 1 , 𝑌𝑌 = 0 −i

1 0
i 0
1
1 0
1 0
・位相操作𝑍𝑍 =, 𝑆𝑆 =, 𝑇𝑇 =
0
0 −1
0 i
1 1
1
・量子状態の重ね合わせ𝐻𝐻 = 2
1 −1

量子ビットゲート

制御127 &127 ゲート

1
0
0
0

0
1
0
0

0
0
0
1

0
0
1
0

0
exp i𝜋𝜋/4|00ۧ → |00ۧ|01ۧ → |01ۧ|10ۧ → |11ۧ|11ۧ → |10ۧ以上の量子ゲートセットで，任意の量子回路を記述可能
𝑇𝑇ゲートの計算コストが極めて大きい /D\HUで実現されるため
𝑇𝑇ゲートに関する計算コストを小さくすることが重要

13© Mitsubishi Electric Corporation

6KRUアルゴリズム

現在利用されている公開鍵暗号の安全性の基盤となっている，
素因数分解問題や離散対数問題を効率的に解くアルゴリズム
具体例 合成数𝑁𝑁の素因数分解回路 >6KR@
2 log 𝑁𝑁 TXELW |0ۧ

log 𝑁𝑁 TXELW |1ۧ

𝐻𝐻 ⊗2 log 𝑁𝑁

|𝑗𝑗ۧ

,4)7

𝑎𝑎 𝑗𝑗 mod 𝑁𝑁

上記の量子回路を含め，現在までに提案された実装法は・量子状態の重ね合わせ
・剰余べき乗算 6KRUアルゴリズム内の主要部分
・逆量子フーリエ変換 ,4)7で構成される
精密な計算量評価には，効率的な剰余べき乗算の構成が必要不可欠

14© Mitsubishi Electric Corporation

146量子算術回路の歴史
6KRUアルゴリズムの提案から約年間，以下の研究トレンドで遷移
現在は、計算コストの大きい𝑇𝑇ゲートを削減する量子回路について，研究が進められている
年

年
年

年

6KRUアルゴリズムが提案される

6KRUの回路の実装法を模索
量子算術回路の基礎が完成
TXELWの接続性を考えた量子回路の構成法がトレンドに/11'HWF
新規の量子算術回路の研究は下火だが、可逆回路の応用先としての研究が行われた
ただし、小規模回路が主な研究テーマ

𝑇𝑇ゲートを減らす量子算術回路の研究がトレンドに

15© Mitsubishi Electric Corporation

剰余べき乗算の計算コスト 誤り訂正を考慮せず
・量子及び量子ビットゲートに量子回路を分解
・すべてのゲートのコストを等価と扱う→主要な既存研究の計算コストは以下 𝑛𝑛 = log 𝑁𝑁 ，以降も同様
計算方法

5LSSOH&DUU\>&'.0@&DUU\/RRNDKHDG>'.56@)RXULHU%DVLV>5&@

論理
量子ビット数

ゲート数

回路深さ GHSWK

3𝑛𝑛

𝑂𝑂 𝑛𝑛3

𝑂𝑂 𝑛𝑛35𝑛𝑛
2𝑛𝑛

𝑂𝑂 𝑛𝑛2 log 𝑛𝑛
𝑂𝑂 𝑛𝑛3

𝑂𝑂 𝑛𝑛2 log 𝑛𝑛
𝑂𝑂 𝑛𝑛2

計算方法の違いは以下の通り 下の手法ほど，ゲートの並列度が高い
・5LSSOH&DUU\ビットごとに繰り上がり FDUU\ を計算する
・&DUU\/RRNDKHDG&DUU\を先に計算する・)RXULHU%DVLV)RXULHU基底上で計算を行う
誤り訂正を考慮しなければ，>5&@の計算コストが最小
16© Mitsubishi Electric Corporation147剰余べき乗算の計算コスト 誤り訂正を考慮
・スライドSの量子ゲートに量子回路を分解
・𝑇𝑇ゲートのコストに着目する
以降，𝑇𝑇ゲート数を𝑇𝑇FRXQW，𝑇𝑇ゲートの回路深さを𝑇𝑇GHSWKと呼ぶ→主要な既存研究の計算コストは以下の通り
計算方法
5LSSOH&DUU\>&'.0@&DUU\/RRNDKHDG>'.56@)RXULHU%DVLV>5&@

論理
量子ビット数
3𝑛𝑛
5𝑛𝑛
2𝑛𝑛

𝑇𝑇FRXQW

𝑇𝑇GHSWK𝑂𝑂 𝑛𝑛2 log 𝑛𝑛

𝑂𝑂 𝑛𝑛2 log 𝑛𝑛

𝑂𝑂 𝑛𝑛3

𝑂𝑂 𝑛𝑛3 log 𝑛𝑛

𝑂𝑂 𝑛𝑛3

𝑂𝑂 𝑛𝑛2 log 𝑛𝑛>5&@では，𝑇𝑇FRXQW，𝑇𝑇GHSWKがともにlog 𝑛𝑛倍10の近似に，Θ log 𝑛𝑛 個の𝑇𝑇ゲートが∵位相ゲートP 𝜃𝜃 =0 exp i𝜃𝜃
必要 >56@>56@5RVVDQG6HOLQJHU2SWLPDO$QFLOOD)UHH&OLIIRUG7 $SSUR[LPDWLRQRI=5RWDWLRQV17
4XDQWXP,QIRUPDWLRQ &RPSXWDWLRQ  –
© Mitsubishi Electric Corporation

計算時間を見積もった関連研究※前提条件が違うので，直接の比較は不可
5LSSOH&DUU\ >*(@・ELW56$を破るため，時間の攻撃時間を要する
・上記攻撃に，万個の物理量子ビットを利用
・様々な近似計算テクニックを利用しており，
量子ビット数及び𝑇𝑇FRXQWを増大させる代わりに，𝑇𝑇GHSWKが減少&DUU\/RRNDKHDG >2RQ@・>-9)@に基づき，解読可能時期と解読時間を算出
・ELW56$は，年に，時間で攻撃可能
・ELW56$は，年に，日で攻撃可能)RXULHU%DVLV >5&@・計算時間の見積もりは行われていない>*(@*LGQH\ DQGEkerå+RZWR)DFWRU%LW56$,QWHJHUVLQ+RXUV8VLQJ
0LOOLRQ1RLV\4XELWV4XDQWXP
>2RQ@2RQLVKL6HFXULW\(YDOXDWLRQRI3XEOLF.H\&U\SWRJUDSK\DJDLQVW6LGH&KDQQHO$WWDFNVDQG4XDQWXP$WWDFNV'RFWRUDO7KHVLV
>5&@5LQHV DQG&KXDQJ+LJK3HUIRUPDQFH4XDQWXP0RGXODU0XOWLSOLHUVHSULQWDU;LY18
© Mitsubishi Electric Corporation

148

研究対象
計算方法
5LSSOH&DUU\>&'.0@&DUU\/RRNDKHDG>'.56@)RXULHU%DVLV>5&@

論理
量子ビット数
3𝑛𝑛
5𝑛𝑛
2𝑛𝑛

𝑇𝑇FRXQW

𝑇𝑇GHSWK𝑂𝑂 𝑛𝑛2 log 𝑛𝑛

𝑂𝑂 𝑛𝑛2 log 𝑛𝑛

𝑂𝑂 𝑛𝑛3

𝑂𝑂 𝑛𝑛3 log 𝑛𝑛

𝑂𝑂 𝑛𝑛3

𝑂𝑂 𝑛𝑛2 log 𝑛𝑛

・最終的には，6KRUアルゴリズムの精密な計算量評価のため，どの手法が効率的なのかを明確にしたい

・5LSSOH&DUU\に基づく方法及び&DUU\/RRNDKHDGに基づく方法は，多数の既存研究が存在する
・)RXULHU%DVLVに基づく方法では，あまり研究が進められていない)RXULHU%DVLVに基づく方法は，どの程度効率化が可能か？
19© Mitsubishi Electric Corporation

目次
 研究背景既存研究>5&@の制御付き剰余乗算の構成
研究成果近似4)7を利用した6KRUアルゴリズムの改良まとめ20© Mitsubishi Electric Corporation149剰余べき乗算の分解
剰余べき乗算|𝑗𝑗ۧ|𝑥𝑥ۧ → |𝑗𝑗ۧ|𝑥𝑥𝑎𝑎 𝑗𝑗 mod 𝑁𝑁ൿ

6KRUアルゴリズムの亜種>(+@により，
1.5𝑛𝑛個に分解

制御つき乗算|0ۧ|𝑥𝑥ۧ if 𝑐𝑐 = 0,|𝑐𝑐ۧ|𝑥𝑥ۧ → ቊ|1ۧ|𝑎𝑎𝑥𝑥𝑥𝑥𝑥 𝑁𝑁ۧ otherwise

2個に分解制御なし 乗算|𝑥𝑥ۧ|𝑦𝑦ۧ → |𝑥𝑥ۧ| 𝑦𝑦 + 𝑎𝑎𝑎𝑎 mod 𝑁𝑁ۧ

|0ۧ|0ۧ|𝑥𝑥 ۧ|0ۧ|0ۧ|𝑥𝑥 ۧ|𝑐𝑐ۧ|𝑥𝑥 ۧ|0ۧ → ቊ→ቊ|1ۧ|𝑥𝑥 ۧ|𝑎𝑎𝑎𝑎 ۧ|1ۧ|𝑥𝑥 ۧ|0ۧ|0ۧ|0ۧ|𝑥𝑥 ۧ|0ۧ|𝑥𝑥 ۧ|0ۧ|0ۧ|0ۧ|𝑥𝑥 ۧ→ቊ→ቊ→ቊ
|1ۧ|𝑎𝑎𝑎𝑎 ۧ|𝑥𝑥 ۧ|1ۧ|𝑎𝑎𝑎𝑎 ۧ|0ۧ|1ۧ|𝑎𝑎𝑎𝑎 ۧ|0ۧ

量子フーリエ変換上での，乗算回路の計算コストを削減[EH17] Ekerå and Håstad4XDQWXP$OJRULWKPVIRU&RPSXWLQJ6KRUW'LVFUHWH/RJDULWKPV21
DQG)DFWRULQJ56$,QWHJHUV34&U\SWR
© Mitsubishi Electric Corporation既存研究>5&@の乗算回路
・0RQWJRPHU\乗算を利用して乗算を計算|𝑥𝑥ۧ|0ൿ → |𝑥𝑥ۧ|𝑎𝑎𝑎𝑎𝑅𝑅−1 mod 𝑁𝑁ൿ
計算を簡単にするため，𝑅𝑅としてはのべき乗 2𝑚𝑚 が利用される
なお，本文献では，𝑚𝑚 = log 𝑛𝑛を利用
・各位相ゲートの近似精度を𝜀𝜀とした下で，計算コストを評価→計算コストの多くが量子フーリエ変換 4)7 に由来する

近似精度が𝜀𝜀の場合の，乗算回路のコスト見積もり
演算
0XOWLSOLFDWLRQ
5HGXFWLRQ
8QFRPSXWDWLRQ
合計𝑇𝑇FRXQW

4.5𝑛𝑛2 log 1/𝜀𝜀3𝑛𝑛2 log 1/𝜀𝜀

1.5𝑛𝑛2 log 1/𝜀𝜀9𝑛𝑛2 log 1/𝜀𝜀150

𝑇𝑇GHSWK

3𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀6𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀

3𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀12𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀22

© Mitsubishi Electric Corporation

量子フーリエ変換 4)7・𝑛𝑛ビットの4)7は，＊𝑛𝑛 𝑛𝑛 − 1 /2個の制御付き位相ゲート＊𝑂𝑂 𝑛𝑛𝑛𝑛𝑛 𝑛𝑛 の回路深さを必要とする・下式により，量子状態|𝑦𝑦ۧを変換
2𝑛𝑛 −1|𝑥𝑥 ۧ → ෍ exp 2𝜋𝜋i
𝑦𝑦=0

𝑥𝑥𝑥𝑥
|𝑦𝑦ۧ
2𝑛𝑛

具体例 量子ビットの量子フーリエ変換

10
𝑃𝑃𝑗𝑗 = 0 exp 2𝜋𝜋i/2𝑗𝑗

並列実行
𝑇𝑇GHSWKは𝑂𝑂 log 𝑛𝑛

23© Mitsubishi Electric Corporation

4)7上での加算 >'UD@量子状態|𝑥𝑥ۧに対する古典値𝑎𝑎の加算 加算結果|𝑥𝑥 + 𝑎𝑎ۧ は以下の通り
2𝑛𝑛 −1|𝑥𝑥ۧ → ෍ exp 2𝜋𝜋i𝑦𝑦=02𝑛𝑛 −1→ ෍ exp 2𝜋𝜋i𝑦𝑦=02𝑛𝑛 −1

𝑥𝑥𝑥𝑥
|𝑦𝑦ۧ
2𝑛𝑛

4)7

𝑥𝑥𝑥𝑥
𝑎𝑎𝑦𝑦
exp
2𝜋𝜋i
|𝑦𝑦ۧ 位相ゲートの適用
2𝑛𝑛
2𝑛𝑛
𝑘𝑘

𝑥𝑥 + 𝑎𝑎 𝑦𝑦= ෍ exp 2𝜋𝜋i
|𝑦𝑦ۧ
2𝑛𝑛
𝑦𝑦=0

→ |𝑥𝑥 + 𝑎𝑎ۧ𝑎𝑎𝑦𝑦
2

exp 2𝜋𝜋i 𝑛𝑛 = ς𝑛𝑛−1
𝑘𝑘=0 exp 2𝜋𝜋i𝑎𝑎2𝑦𝑦
2𝑛𝑛 𝑘𝑘𝑘𝑘
ZKHUH𝑦𝑦 = σ𝑛𝑛−1
𝑘𝑘=0 2 𝑦𝑦𝑘𝑘 DQG𝑦𝑦𝑘𝑘 ∈ 0,1

LQYHUVH4)7>'UD@'UDSHU$GGLWLRQRQD4XDQWXP&RPSXWHUHSULQW DU;LY TXDQWSK
24© Mitsubishi Electric Corporation

1514)7上での制御つき加算
・量子状態|𝑐𝑐ۧ ∈ |0ۧ, |1ۧ に応じて，
量子状態|𝑥𝑥ۧに古典値𝑎𝑎を加算する演算 加算結果|𝑥𝑥 + 𝑐𝑐𝑐𝑐ۧ
・𝑛𝑛個の制御つき位相ゲートにより構成
2𝑛𝑛 −1|𝑐𝑐 ۧ|𝑥𝑥 ۧ → |𝑐𝑐 ۧ ෍ exp 2𝜋𝜋i𝑦𝑦=02𝑛𝑛 −1→ |𝑐𝑐 ۧ ෍ exp 2𝜋𝜋i𝑦𝑦=02𝑛𝑛 −1= |𝑐𝑐 ۧ ෍ exp 2𝜋𝜋i𝑦𝑦=0→ |𝑐𝑐 ۧ|𝑥𝑥 + 𝑐𝑐𝑐𝑐ۧ

𝑥𝑥𝑥𝑥
|𝑦𝑦ۧ
2𝑛𝑛

4)7

𝑥𝑥𝑥𝑥
𝑐𝑐𝑐𝑐𝑐𝑐exp 2𝜋𝜋i 𝑛𝑛 |𝑦𝑦ۧ 制御つき位相ゲートの適用
𝑛𝑛22
𝑥𝑥 + 𝑐𝑐𝑐𝑐 𝑦𝑦
|𝑦𝑦ۧ
2𝑛𝑛

exp 2𝜋𝜋i

𝑐𝑐𝑐𝑐𝑦𝑦2𝑛𝑛= ς𝑛𝑛−1
𝑘𝑘=0 exp 2𝜋𝜋i

𝑎𝑎2𝑘𝑘
𝑐𝑐𝑦𝑦𝑘𝑘2𝑛𝑛

𝑘𝑘
ZKHUH𝑦𝑦 = σ𝑛𝑛−1
𝑘𝑘=0 2 𝑦𝑦𝑘𝑘 DQG𝑦𝑦𝑘𝑘 ∈ 0,1

LQYHUVH4)7以上の制御付き加算を繰り返すことで，0RQWJRPHU\乗算を実現
25© Mitsubishi Electric Corporation

0XOWLSOLFDWLRQ>5&@4)7領域上で，剰余演算を行わない乗算の結果を出力|𝑥𝑥ۧ|0ൿ → |𝑥𝑥ۧ|0ۧ𝜙𝜙 ※以降，4)7領域のレジスタは𝜙𝜙を記載
𝑛𝑛−1→ |𝑥𝑥ۧ|𝑎𝑎𝑎𝑎ۧ𝜙𝜙 = ห𝑥𝑥𝑛𝑛−1 𝑥𝑥𝑛𝑛−2 … 𝑥𝑥1 𝑥𝑥0 ൿ ቮ෍ 𝑥𝑥𝑘𝑘 2𝑘𝑘 𝑎𝑎 mod 𝑁𝑁 ං
𝑘𝑘=0

𝜙𝜙

制御つき位相ゲートは，制御ビットと標的ビットを入れ替えても変化なし→制御ビットをスケジューリングすることで，4)7と乗算を同時に実行計算量は， 4)7
0XOW・𝑇𝑇FRXQW1.5𝑛𝑛2 log 1/𝜀𝜀 + 3𝑛𝑛2 log 1/𝜀𝜀 = 4.5𝑛𝑛2 log 1/𝜀𝜀・𝑇𝑇GHSWK3𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀26

© Mitsubishi Electric Corporation

152

5HGXFWLRQ>5&@
0RQWJRPHU\5HGXFWLRQを実行 ステップで構成|𝑎𝑎𝑎𝑎ۧ𝜙𝜙 → |𝑎𝑎𝑎𝑎𝑁𝑁 −1 mod 2𝑚𝑚+1 ൿ|𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ𝜙𝜙 を計算

・(VWLPDWLRQ 第レジスタの計算(𝑁𝑁 − 1)/2の制御つき減算を𝑚𝑚回実施

・([WUDFW 4)7回分、計算量の主要項,4)7及び4)7で、第レジスタの最上位ビットを取得
・&RUUHFWLRQ 第レジスタの調整＊第レジスタの最上位ビットを、第レジスタの最上位ビットへ＊第レジスタの最上位ビットがのとき、第レジスタに𝑁𝑁を足す
計算結果 |𝑥𝑥ۧ|𝑎𝑎𝑎𝑎ۧ𝜙𝜙 → |𝑥𝑥ۧ|𝑎𝑎𝑎𝑎𝑁𝑁 −1 mod 2𝑚𝑚+1 ൿ|𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ𝜙𝜙

計算量は以下の通り＊𝑇𝑇FRXQW2 × 1.5𝑛𝑛2 log 1/𝜀𝜀 = 3𝑛𝑛2 log 1/𝜀𝜀＊𝑇𝑇GHSWK2 × 3𝑛𝑛log 1/𝜀𝜀 = 6𝑛𝑛log 1/𝜀𝜀27

© Mitsubishi Electric Corporation

8QFRPSXWDWLRQ >5&@

補助ビット 前ページ第レジスタ の値を削除
0XOWLSOLFDWLRQと同様，制御なしかけ算回分で実装可能|𝑥𝑥ۧ|𝑎𝑎𝑎𝑎𝑁𝑁 −1 mod 2𝑚𝑚+1 ൿ|𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ𝜙𝜙→ |𝑥𝑥ۧ|𝑎𝑎𝑎𝑎𝑁𝑁 −1 mod 2𝑚𝑚+1 ൿ𝜙𝜙 |𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ𝜙𝜙→ |𝑥𝑥ۧ|0ۧ𝜙𝜙 |𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ
→ |𝑥𝑥ۧ|0ۧ|𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ

第レジスタに𝑚𝑚次元の4)7
計算量は微小・第レジスタの𝑎𝑎𝑁𝑁 −1 倍を第レジスタから減算
・第レジスタに𝑛𝑛次元の,4)7
計算量は、・𝑇𝑇FRXQW𝑛𝑛𝑛𝑛 × 3log 1/𝜀𝜀 + 1.5𝑛𝑛2 log 1/𝜀𝜀
∼ 1.5𝑛𝑛2 log 1/𝜀𝜀・𝑇𝑇GHSWK3𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀

第レジスタのすべての量子ビットに𝐻𝐻ゲートを適用
計算量は微小※第レジスタの値は，𝑎𝑎𝑎𝑎 −1 mod 2𝑚𝑚+1 倍の逆操作により消去

28© Mitsubishi Electric Corporation

153

目次
 研究背景既存研究>5&@の制御付き剰余乗算の構成
研究成果近似4)7を利用した6KRUアルゴリズムの改良まとめ
本節の内容は，以下の研究成果に基づく

大西健斗，國廣昇効率的な近似量子フーリエ変換を利用した6KRU
アルゴリズム，4,7，．

29© Mitsubishi Electric Corporation

本研究の成果既存研究 >5&@
素朴な近似4)7への取り換え
𝑇𝑇FRXQWがに減少

素朴な近似4)7を利用した構成

改良版近似4)7の提案
𝑇𝑇GHSWKがに減少

改良版近似4)7を利用した構成.4を最小にするスケジューリング方法の提案.4がに減少 𝑇𝑇GHSWKは増加.4を最小化した構成

30© Mitsubishi Electric Corporation

154

既存研究>5&@の乗算回路 再掲
・0RQWJRPHU\乗算を利用して剰余積を計算|𝑥𝑥ۧ|0ൿ → |𝑥𝑥ۧ|𝑎𝑎𝑎𝑎𝑅𝑅−1 mod 𝑁𝑁ൿ
計算を簡単にするため，𝑅𝑅としてはのべき乗 2𝑚𝑚 が利用される
なお，本文献では，𝑚𝑚 = log 𝑛𝑛を利用
・各位相ゲートの近似精度を𝜀𝜀とした下で，計算コストを評価→計算コストの多くが量子フーリエ変換 4)7 に由来する

近似精度が𝜀𝜀の場合の，乗算回路のコスト見積もり
演算
0XOWLSOLFDWLRQ
5HGXFWLRQ
8QFRPSXWDWLRQ
合計𝑇𝑇FRXQW

𝑇𝑇GHSWK

4.5𝑛𝑛2 log 1/𝜀𝜀

3𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀9𝑛𝑛2 log 1/𝜀𝜀12𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀3𝑛𝑛2 log 1/𝜀𝜀
1.5𝑛𝑛2 log 1/𝜀𝜀6𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀

3𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀31

© Mitsubishi Electric Corporation

本研究の成果𝑜𝑜 𝑛𝑛 の補助ビットを追加し、回路深さが𝑜𝑜 𝑛𝑛𝑛𝑛𝑛 𝑛𝑛 の近似4)7を構築→6KRUアルゴリズム全体のコスト削減に成功

4)7を近似4)7に置き換え 𝑇𝑇FRXQWが減少
近似4)7の効率化 𝑇𝑇GHSWKが減少

近似精度が𝜀𝜀の場合の，乗算回路のコスト見積もり

演算
0XOWLSOLFDWLRQ

5HGXFWLRQ
8QFRPSXWDWLRQ
合計𝑇𝑇FRXQW

3𝑛𝑛2 log 1/𝜀𝜀

3𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀
3𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀3𝑛𝑛2 log 1/𝜀𝜀𝑇𝑇FRXQWが倍に、𝑇𝑇GHSWKがに減少
155

𝑇𝑇GHSWK

3𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀

16𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀
3𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀6𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀32

© Mitsubishi Electric Corporation素朴な近似4)7
近似精度が𝜀𝜀のとき、位相が𝜀𝜀以下の制御𝑃𝑃log 1 =𝜀𝜀10
ゲートを省略
0 exp 2𝜋𝜋i𝜀𝜀以降のスライドで，量子ビット番号と呼ぶ
既存研究>5&@では，別種の位相エラーがあっても計算可能→近似4)7による計算コスト削減も可能

33© Mitsubishi Electric Corporation

素朴な近似4)7への置き換え
・番号𝑎𝑎の量子ビットは、𝑎𝑎 < 𝑏𝑏なる番号𝑏𝑏の量子ビットに，制御𝑅𝑅𝑏𝑏−𝑎𝑎+1 ゲートを適用→各量子ビットのゲート数が平均𝑛𝑛/2個から平均log 1/𝜀𝜀 個へ減少
近似4)7の𝑇𝑇FRXQWは、主要項でなくなるため，
0RQWJRPHU\乗算の𝑇𝑇FRXQWがに減少
近似精度が𝜀𝜀の場合の，制御付き乗算回路の𝑇𝑇FRXQW
演算>5&@素朴な4)7

0XOWLSOLFDWLRQ

4.5𝑛𝑛2 log 1/𝜀𝜀3𝑛𝑛2 log 1/𝜀𝜀5HGXFWLRQ
8QFRPSXWDWLRQ

合計

3𝑛𝑛2 log 1/𝜀𝜀

1.5𝑛𝑛2 log 1/𝜀𝜀9𝑛𝑛2 log 1/𝜀𝜀156

𝑜𝑜 𝑛𝑛2 log 1/𝜀𝜀𝑜𝑜 𝑛𝑛2 log 1/𝜀𝜀3𝑛𝑛2 log 1/𝜀𝜀



34

© Mitsubishi Electric Corporation効率的な近似4)7  >160@近似4)7の並列部分を加算回路に置き換え，
さらなる𝑇𝑇FRXQWの削減に成功>160@1DPHWDO$SSUR[LPDWH4XDQWXP)RXULHU7UDQVIRUPZLWK𝑂𝑂 𝑛𝑛 log 𝑛𝑛
1SM 4XDQWXP,QIRUPDWLRQ  

7JDWHV35© Mitsubishi Electric Corporation

効率的な近似4)7  >160@
・番号𝑎𝑎の量子ビットは、𝑎𝑎 < 𝑏𝑏なる番号𝑏𝑏の量子ビットに，制御𝑅𝑅𝑏𝑏−𝑎𝑎+1 ゲートを適用
つまり，量子ビット𝑎𝑎と𝑏𝑏の値がともにのときのみ位相が変化→ 番号𝑎𝑎の量子ビット ∧ 番号𝑏𝑏の量子ビット を𝑘𝑘𝑚𝑚−1− 𝑏𝑏−𝑎𝑎 に格納
𝑘𝑘𝑚𝑚−1− 𝑏𝑏−𝑎𝑎 がならば，制御𝑅𝑅𝑏𝑏−𝑎𝑎+1 を適用

・𝑘𝑘𝑚𝑚−1− 𝑏𝑏−𝑎𝑎 に加え，さらに補助量子状態を準備し，これらの補助量子状態上で，以下の演算を行う
1

2𝑚𝑚 −1

෍ exp −2𝜋𝜋𝜋2𝑚𝑚 𝑗𝑗=0
→

1

2𝑚𝑚

𝑚𝑚−2

𝑗𝑗
|𝑗𝑗ۧ |𝑘𝑘𝑚𝑚−2 … 𝑘𝑘1 𝑘𝑘0 ۧ
2𝑚𝑚
𝑙𝑙−𝑚𝑚

ෑ exp 𝑘𝑘𝑙𝑙 × 2𝜋𝜋𝜋 × 2
𝑙𝑙=02𝑚𝑚 −1

෍ exp −2𝜋𝜋𝜋𝑗𝑗=0𝑗𝑗|𝑗𝑗ۧ |𝑘𝑘𝑚𝑚−2 … 𝑘𝑘1 𝑘𝑘0 ۧ
2𝑚𝑚
36© Mitsubishi Electric Corporation157効率的な近似4)7  >160@
1

2𝑚𝑚
→
=
=

2𝑚𝑚 −1

෍ exp −2𝜋𝜋𝜋
𝑗𝑗=012𝑚𝑚 −1𝑗𝑗|𝑗𝑗ۧ |𝑘𝑘𝑚𝑚−2 … 𝑘𝑘1 𝑘𝑘0 ۧ
2𝑚𝑚

加算

𝑗𝑗
෍ exp −2𝜋𝜋𝜋 𝑚𝑚 | 𝑗𝑗 + 𝑘𝑘𝑚𝑚−2 … 𝑘𝑘1 𝑘𝑘0 mod 2𝑚𝑚 ۧ |𝑘𝑘𝑚𝑚−2 … 𝑘𝑘1 𝑘𝑘0 ۧ
𝑚𝑚
2
2
𝑗𝑗=0

2𝑚𝑚 −1

𝑚𝑚−2

𝑗𝑗=0

𝑙𝑙=0

𝑗𝑗
2𝑙𝑙 𝑘𝑘𝑙𝑙
෍ exp −2𝜋𝜋𝜋 𝑚𝑚 exp 2𝜋𝜋i ෍ 𝑚𝑚 |𝑗𝑗ۧ |𝑘𝑘𝑚𝑚−2 … 𝑘𝑘1 𝑘𝑘0 ۧ
2
2
2𝑚𝑚
1

1

2𝑚𝑚

𝑚𝑚−2

ෑ exp 𝑘𝑘𝑙𝑙
𝑙𝑙=02𝑚𝑚 −1× 2𝜋𝜋𝜋 × 2𝑙𝑙−𝑚𝑚

෍ exp −2𝜋𝜋𝜋𝑗𝑗=0

位相ゲートの積𝑗𝑗|𝑗𝑗ۧ |𝑘𝑘𝑚𝑚−2 … 𝑘𝑘1 𝑘𝑘0 ۧ
2𝑚𝑚|𝑘𝑘𝑚𝑚−2 … 𝑘𝑘1 𝑘𝑘0 ۧは，前半の量子状態に関わらず，|0ۧに初期化可能以上より、位相ゲートの積が正しく計算できる

37© Mitsubishi Electric Corporation

近似4)7の改良
・>160@では，𝑇𝑇FRXQWを減らすため，>*LG@の加算回路を利用→近似精度が𝜀𝜀のとき，最小位相の位相ゲートが𝑅𝑅log 1/𝜀𝜀 より，＊𝑇𝑇FRXQW8𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀＊𝑇𝑇GHSWK2𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀
＊補助量子ビット2log 1/𝜀𝜀 ≪ 𝑛𝑛

・この加算回路を>'.56@に取り換えると，回路深さが減少※加算回路自体の回路深さが小さくなるため＊𝑇𝑇FRXQW32𝑛𝑛log 1/𝜀𝜀＊𝑇𝑇GHSWK8𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀 ≪ 2𝑛𝑛log 1/𝜀𝜀
＊補助量子ビット4.5log 1/𝜀𝜀 ≪ 𝑛𝑛
近似4)7の時間計算量は、他の回路部分と比べ無視できる
実際に，計算量はどうなるか？

38© Mitsubishi Electric Corporation

158

0XOWLSOLFDWLRQ>5&@ 再掲
4)7領域上で，剰余演算を行わない乗算の結果を出力|𝑥𝑥ۧ|0ൿ → |𝑥𝑥ۧ|0ۧ𝜙𝜙 ※以降，4)7領域のレジスタは𝜙𝜙を記載
𝑛𝑛−1→ |𝑥𝑥ۧ|𝑎𝑎𝑎𝑎ۧ𝜙𝜙 = ห𝑥𝑥𝑛𝑛−1 𝑥𝑥𝑛𝑛−2 … 𝑥𝑥1 𝑥𝑥0 ൿ ቮ෍ 𝑥𝑥𝑘𝑘 2𝑘𝑘 𝑎𝑎 mod 𝑁𝑁 ං
𝑘𝑘=0

𝜙𝜙

制御つき位相ゲートは，制御ビットと標的ビットを入れ替えても変化なし→制御ビットをスケジューリングすることで，4)7と乗算を同時に実行計算量は， 4)7
0XOW・𝑇𝑇FRXQW1.5𝑛𝑛2 log 1/𝜀𝜀 + 3𝑛𝑛2 log 1/𝜀𝜀 = 4.5𝑛𝑛2 log 1/𝜀𝜀・𝑇𝑇GHSWK3𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀39

© Mitsubishi Electric Corporation

0XOWLSOLFDWLRQ 本研究

既存研究
制御ビットをスケジューリングすることで，4)7と乗算を並列実装
本研究近似4)7と0XOWLSOLFDWLRQを分離，近似4)7のコストを無視
計算量は、 近似4)70XOW
・𝑇𝑇FRXQW32𝑛𝑛log 1/𝜀𝜀 + 3𝑛𝑛2 log 1/𝜀𝜀 ≈ 3𝑛𝑛2 log 1/𝜀𝜀・𝑇𝑇GHSWK3𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀40

© Mitsubishi Electric Corporation

159

5HGXFWLRQ>5&@ 再掲
0RQWJRPHU\5HGXFWLRQを実行 ステップで構成|𝑎𝑎𝑎𝑎ۧ𝜙𝜙 → |𝑎𝑎𝑎𝑎𝑁𝑁 −1 mod 2𝑚𝑚+1 ൿ|𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ𝜙𝜙 を計算
・(VWLPDWLRQ 第レジスタの計算(𝑁𝑁 − 1)/2の制御つき減算を𝑚𝑚回実施

・([WUDFW 4)7回分、計算量の主要項,4)7及び4)7で、第レジスタの最上位ビットを取得
・&RUUHFWLRQ 第レジスタの調整＊第レジスタの最上位ビットを、第レジスタの最上位ビットへ＊第レジスタの最上位ビットがのとき、第レジスタに𝑁𝑁を足す
計算結果 |𝑥𝑥ۧ|𝑎𝑎𝑎𝑎ۧ𝜙𝜙 → |𝑥𝑥ۧ|𝑎𝑎𝑎𝑎𝑁𝑁 −1 mod 2𝑚𝑚+1 ൿ|𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ𝜙𝜙

計算量は以下の通り＊𝑇𝑇FRXQW2 × 1.5𝑛𝑛2 log 1/𝜀𝜀 = 3𝑛𝑛2 log 1/𝜀𝜀＊𝑇𝑇GHSWK2 × 3𝑛𝑛log 1/𝜀𝜀 = 6𝑛𝑛log 1/𝜀𝜀41

© Mitsubishi Electric Corporation

5HGXFWLRQ 本研究

0RQWJRPHU\5HGXFWLRQを実行 ステップで構成|𝑎𝑎𝑎𝑎ۧ𝜙𝜙 → |𝑎𝑎𝑎𝑎𝑁𝑁 −1 mod 2𝑚𝑚+1 ൿ|𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ𝜙𝜙 を計算
・(VWLPDWLRQ 第レジスタの計算(𝑁𝑁 − 1)/2の制御つき減算を𝑚𝑚回実施

時間計算量が大幅減少
・([WUDFW 4)7回分、計算量の主要項,4)7及び4)7で、第レジスタの最上位ビットを取得
・&RUUHFWLRQ 第レジスタの調整＊第レジスタの最上位ビットを、第レジスタの最上位ビットへ＊第レジスタの最上位ビットがのとき、第レジスタに𝑁𝑁を足す

𝑇𝑇FRXQW

𝑇𝑇GHSWK(VWLPDWLRQ([WDFW&RUUHFWLRQ

合計

3𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀64𝑛𝑛log 1/𝜀𝜀3𝑛𝑛log 1/𝜀𝜀

3𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀3log𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀

16𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀3log 1/𝜀𝜀

16𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀42

© Mitsubishi Electric Corporation

160

8QFRPSXWDWLRQ >5&@ 再掲
補助ビット 前ページ第レジスタ の値を削除
0XOWLSOLFDWLRQと同様，制御なしかけ算回分で実装可能|𝑥𝑥ۧ|𝑎𝑎𝑎𝑎𝑁𝑁 −1 mod 2𝑚𝑚+1 ൿ|𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ𝜙𝜙→ |𝑥𝑥ۧ|𝑎𝑎𝑎𝑎𝑁𝑁 −1 mod 2𝑚𝑚+1 ൿ𝜙𝜙 |𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ𝜙𝜙→ |𝑥𝑥ۧ|0ۧ𝜙𝜙 |𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ
→ |𝑥𝑥ۧ|0ۧ|𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ

第レジスタに𝑚𝑚次元の4)7
計算量は微小・第レジスタの𝑎𝑎𝑁𝑁 −1 倍を第レジスタから減算
・第レジスタに𝑛𝑛次元の,4)7
計算量は、・𝑇𝑇FRXQW𝑛𝑛𝑛𝑛 × 3log 1/𝜀𝜀 + 1.5𝑛𝑛2 log 1/𝜀𝜀
∼ 1.5𝑛𝑛2 log 1/𝜀𝜀・𝑇𝑇GHSWK3𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀

第レジスタのすべての量子ビットに𝐻𝐻ゲートを適用
計算量は微小※第レジスタの値は，𝑎𝑎𝑎𝑎 −1 mod 2𝑚𝑚+1 倍の逆操作により消去

43© Mitsubishi Electric Corporation

8QFRPSXWDWLRQ 本研究

補助ビットの値を削除
0XOWLSOLFDWLRQと同様、制御なしかけ算回分で、実装可能|𝑥𝑥ۧ|𝑎𝑎𝑎𝑎𝑁𝑁 −1 mod 2𝑚𝑚+1 ൿ|𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ𝜙𝜙→ |𝑥𝑥ۧ|𝑎𝑎𝑎𝑎𝑁𝑁 −1 mod 2𝑚𝑚+1 ൿ𝜙𝜙 |𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ𝜙𝜙→ |𝑥𝑥ۧ|0ۧ𝜙𝜙 |𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ
→ |𝑥𝑥ۧ|0ۧ|𝑎𝑎𝑎𝑎2−𝑚𝑚 mod 𝑁𝑁ۧ

第レジスタに𝑚𝑚次元の4)7
計算量は微小・第レジスタの𝑎𝑎𝑁𝑁 −1 倍を第レジスタから減算
・第レジスタに𝑛𝑛次元の,4)7
計算量は、・𝑇𝑇FRXQW𝑛𝑛𝑛𝑛 × 3log 1/𝜀𝜀 + 32𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀
∼ 3𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀・𝑇𝑇GHSWK3𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀

第レジスタのすべての量子ビットに𝐻𝐻ゲートを適用
計算量は微小※第レジスタの値は，𝑎𝑎𝑎𝑎 −1 mod 2𝑚𝑚+1 倍の逆操作により消去

44© Mitsubishi Electric Corporation

161本研究の成果 再掲
𝑜𝑜 𝑛𝑛 の補助ビットを追加し、回路深さが𝑜𝑜 𝑛𝑛𝑛𝑛𝑛 𝑛𝑛 の近似4)7を構築→6KRUアルゴリズム全体のコスト削減に成功

4)7を近似4)7に置き換え 𝑇𝑇FRXQWが減少
近似4)7の効率化 𝑇𝑇GHSWKが減少

近似精度が𝜀𝜀の場合の，乗算回路のコスト見積もり

演算
0XOWLSOLFDWLRQ

5HGXFWLRQ
8QFRPSXWDWLRQ
合計𝑇𝑇FRXQW

3𝑛𝑛2 log 1/𝜀𝜀

3𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀
3𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀3𝑛𝑛2 log 1/𝜀𝜀𝑇𝑇FRXQWが倍に、𝑇𝑇GHSWKがに減少

𝑇𝑇GHSWK

3𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀

16𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀
3𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀6𝑛𝑛𝑛𝑛𝑛 1/𝜀𝜀45

© Mitsubishi Electric Corporation

6KRUアルゴリズムのコスト
6KRUアルゴリズムでは，𝑂𝑂 𝑛𝑛−3 の近似精度が必要∵乗算回路を3𝑛𝑛回繰り返し，位相ゲート数が𝑂𝑂 𝑛𝑛3 となるから→近似精度𝜀𝜀を𝜀𝜀 ∼ 𝑛𝑛−3 とする
6KRUアルゴリズムの計算コスト

演算
0XOWLSOLFDWLRQ
5HGXFWLRQ
8QFRPSXWDWLRQ
合計𝑇𝑇FRXQW

27𝑛𝑛3 log 𝑛𝑛

27 𝑛𝑛𝑛𝑛𝑛 𝑛𝑛 2

27 𝑛𝑛log 𝑛𝑛 2
27𝑛𝑛3 log 𝑛𝑛

𝑇𝑇GHSWK

27𝑛𝑛2 log 𝑛𝑛

48𝑛𝑛2 loglog 𝑛𝑛
27𝑛𝑛2 log 𝑛𝑛
54𝑛𝑛2 log 𝑛𝑛

46© Mitsubishi Electric Corporation

162

.4の最小化 ・今までの議論計算時間の最小化
・ここからの議論ゲートの要求精度の最小化

回路深さ 4量子ビット数.

上記の量子回路が正確な出力を行う確率は、 各ゲートの精度→.4を小さくすると、量子計算の早期実現につながる >-9)@KQ.4の小さいスケジューリング方法とは？
47© Mitsubishi Electric Corporation.4の最小化 
2RQLVKLらの手法>278@に従い、最適化
・計算コストの大きい𝑇𝑇ゲートに着目し、以下のKQ 𝑇𝑇 を最小化
KQ 𝑇𝑇 = 量子ビット数 × 𝑇𝑇 − depth

・上式の最小化のため，最大並行実行𝑇𝑇ゲート数𝑛𝑛 𝑇𝑇 を最適化
・𝑇𝑇ゲートのGLVWLOODWLRQに必要な量子ビット数を𝑐𝑐𝑔𝑔 + 1とする※+1は𝑆𝑆ゲートに必要な補助量子ビット

このとき，𝑇𝑇GHSWKの主要項に着目すると，・量子ビット数2𝑛𝑛 + 𝑐𝑐𝑔𝑔 + 1 𝑛𝑛 𝑇𝑇
・𝑇𝑇GHSWK

27𝑛𝑛3 log𝑛𝑛+ 27𝑛𝑛2 log 𝑛𝑛
𝑛𝑛𝑇𝑇>278@2RQLVKL HWDO(IILFLHQW&RQVWUXFWLRQRID&RQWURO0RGXODU$GGHURQD&DUU\48/RRNDKHDG$GGHU8VLQJ5HODWLYH3KDVH7RIIROL*DWHV,(((7R4(–
© Mitsubishi Electric Corporation

163

.4の最小化 
KQ 𝑇𝑇 = 2𝑛𝑛 + 𝑐𝑐𝑔𝑔 + 1 𝑛𝑛 𝑇𝑇
27𝑛𝑛2 log 𝑛𝑛

最小化の対象27𝑛𝑛3 log𝑛𝑛+ 27𝑛𝑛2 log 𝑛𝑛
𝑛𝑛 𝑇𝑇

𝑐𝑐𝑔𝑔 + 1 𝑛𝑛 𝑇𝑇 +

計算時間

𝒏𝒏𝑻𝑻

KQ 𝑇𝑇

𝑛𝑛 2/(𝑐𝑐𝑔𝑔 + 1)

2𝑛𝑛2
+ 𝑛𝑛 𝑐𝑐𝑔𝑔 + 3
𝑛𝑛 𝑇𝑇
𝐊𝐊𝐐𝐐𝑻𝑻

54𝑛𝑛3 log 𝑛𝑛 𝑐𝑐𝑔𝑔 + 3

𝑛𝑛

27𝑛𝑛3 log 𝑛𝑛 𝑐𝑐𝑔𝑔 + 3



49

© Mitsubishi Electric Corporation

目次
 研究背景既存研究>5&@の制御付き剰余乗算の構成
研究成果近似4)7を利用した6KRUアルゴリズムの改良まとめ50© Mitsubishi Electric Corporation

164

まとめ
>5&@の6KRUアルゴリズムを改良
 素朴な近似4)7の利用により、𝑇𝑇FRXQWがに減少
 改良版近似4)7の利用により、𝑇𝑇GHSWKがに減少
 スケジューリング方法の工夫により、KQ 𝑇𝑇 がに減少
以上により、6KRUアルゴリズム回路全体の計算時間の削減を行った演算>5&@
本研究

最小化の対象6KRUアルゴリズムの計算コスト
𝑇𝑇FRXQW
81𝑛𝑛3 log 𝑛𝑛
27𝑛𝑛3 log 𝑛𝑛

計算時間

𝒏𝒏𝑻𝑻

KQ 𝑇𝑇

𝑛𝑛 2/(𝑐𝑐𝑔𝑔 + 1)

𝐊𝐊𝐐𝐐𝑻𝑻

𝑇𝑇GHSWK
108𝑛𝑛2 log 𝑛𝑛
54𝑛𝑛2 log 𝑛𝑛

54𝑛𝑛3 log 𝑛𝑛 𝑐𝑐𝑔𝑔 + 3

𝑛𝑛

27𝑛𝑛3 log 𝑛𝑛 𝑐𝑐𝑔𝑔 + 3

51© Mitsubishi Electric Corporation

参考文献 
>&'.0@&XFFDUR6$'UDSHU7*.XWLQ6$DQG0RXOWRQ'3$1HZ4XDQWXP5LSSOH&DUU\$GGLWLRQ&LUFXLWHSULQW DU;LY TXDQWSK
>'UD@'UDSHU7*$GGLWLRQRQD4XDQWXP&RPSXWHUHSULQW DU;LY TXDQWSK

>'.56@'UDSHU7*.XWLQ6$5DLQV(0DQG6YRUH.0$/RJDULWKPLF'HSWK4XDQWXP&DUU\/RRNDKHDG$GGHU4XDQWXP,QIRUPDWLRQ &RPSXWDWLRQ  –
>(+@Ekerå0DQGHåstad-4XDQWXP$OJRULWKPVIRU&RPSXWLQJ6KRUW'LVFUHWH/RJDULWKPVDQG)DFWRULQJ56$,QWHJHUV34&U\SWRSS–
>)6*@)RZOHU$*6WHSKHQV$0DQG*URV]NRZVNL3+LJK7KUHVKROG8QLYHUVDO
4XDQWXP&RPSXWDWLRQRQWKH6XUIDFH&RGH3K\VLFDO5HYLHZ$  
>*LG@*LGQH\&+DOYLQJWKH&RVWRI4XDQWXP$GGLWLRQ4XDQWXP
>*(@*LGQH\& DQGEkerå0+RZWR)DFWRU%LW56$,QWHJHUVLQ+RXUV8VLQJ0LOOLRQ1RLV\4XELWV4XDQWXP
>-9)@-RQHV1&9DQ0HWHU5)RZOHU$*0F0DKRQ3/.LP-/DGG7'DQG
<DPDPRWR</D\HUHG$UFKLWHFWXUHIRU4XDQWXP&RPSXWLQJ3K\VLFDO5HYLHZ;  
>.RE@.REOLW]1(OOLSWLF&XUYH&U\SWRV\VWHPV0DWKHPDWLFVRIFRPSXWDWLRQ  
–
>//03@/HQVWUD$./HQVWUD-U+:0DQDVVH06DQG3ROODUG-07KH1XPEHU)LHOG6LHYH672&SS–

52© Mitsubishi Electric Corporation

165参考文献 >0LO@0LOOHU968VHRI(OOLSWLF&XUYHVLQ&U\SWRJUDSK\&5<372SS–

>160@1DP<6X<DQG0DVORY'$SSUR[LPDWH4XDQWXP)RXULHU7UDQVIRUPZLWK𝑂𝑂 𝑛𝑛 log 𝑛𝑛 7JDWHV1SM 4XDQWXP,QIRUPDWLRQ  

>2RQ@2RQLVKL.6HFXULW\(YDOXDWLRQRI3XEOLF.H\&U\SWRJUDSK\DJDLQVW6LGH
&KDQQHO$WWDFNVDQG4XDQWXP$WWDFNV'RFWRUDO7KHVLV
>278@2RQLVKL.7DQDND78QR66DWRK79DQ0HWHU5DQG.XQLKLUR1
(IILFLHQW&RQVWUXFWLRQRID&RQWURO0RGXODU$GGHURQD&DUU\/RRNDKHDG$GGHU8VLQJ
5HODWLYH3KDVH7RIIROL*DWHV,(((7UDQVDFWLRQVRQ4XDQWXP(QJLQHHULQJ–
>5&@5LQHV5DQG&KXDQJ,+LJK3HUIRUPDQFH4XDQWXP0RGXODU0XOWLSOLHUVHSULQW
DU;LY
>56$@5LYHVW5/6KDPLU$DQG$GOHPDQ/$0HWKRGIRU2EWDLQLQJ'LJLWDO
6LJQDWXUHVDQG3XEOLF.H\&U\SWRV\VWHPV&RPPXQLFDWLRQVRIWKH$&0  –
>56@5RVV1-DQG6HOLQJHU32SWLPDO$QFLOOD)UHH&OLIIRUG7 $SSUR[LPDWLRQRI=
5RWDWLRQV4XDQWXP,QIRUPDWLRQ &RPSXWDWLRQ  –
>6KR@6KRU3:$OJRULWKPVIRU4XDQWXP&RPSXWDWLRQ'LVFUHWH/RJDULWKPVDQG
)DFWRULQJ)2&6SS–
>6WH@6WHDQH$02YHUKHDGDQG1RLVH7KUHVKROGRI)DXOW7ROHUDQW4XDQWXP(UURU&RUUHFWLRQ3K\VLFDO5HYLHZ$  
53© Mitsubishi Electric Corporation

166

IMI Workshop: Mathematics of Security Analysis for Modern Cryptography
September 20-22, 2023, JR Hakata City, Fukuoka, Japan

素因数分解問題に対する新しい量子アルゴリズム SQIF の実装と解析
山口 純平

富士通株式会社
j-yamaguchi@fujitsu.com

2022 年 12 月に Shor アルゴリズムよりも少ない量子ビットで素因数分解可能とする新しい量子アルゴリズム SQIF(Sublinear-resource Quantum Integer Factorization) が提案された [1]．SQIF は平方差法をベースとしており，特に平方差法の関係式計算を組み合わせ最適化問題に帰着し，その近似解を量子アルゴリズム QAOA を用いて計算する
ことで関係式を得る．本講演では，2023 年 5 月の CSEC 研究会で発表した「格子と最適化手法を用いた素因数分解法の実験報告」[2] の詳細を紹介する．まず SQIF の詳細を紹介し，関係式が数個しか計算できないという問題点を指摘する．次に，十分な数の関係式が計算可能な拡張 SQIF を提案し，その実験結果を紹介する．実験を大規模にするため QAOA の代わりに古典的なアニーリング計算を使用し，11 から 55 ビットの合成数の素因数分解に成功した．最後に，2048 ビット合成数の分解に必要な量子ビット数および計算量の見積もりを与える．
References[1] Bao Yan, et al. “Factoring integers with sublinear resources on a superconducting quantum processor.” arXiv preprint arXiv:2212.12372, 2022.
[2] 山口純平，伊豆哲也，國廣昇，“格子と最適化手法を用いた素因数分解法の実験報告”，研究報告イ
ンターネットと運用技術（IOT），2023-IOT-6-22，pp. 1–8，2023．

167

現代暗号に対する安全性解析・攻撃の数理

素因数分解問題に対する新しい量子アルゴリズム64,)の実装と解析
年月日 木
富士通株式会社 富士通研究所
データ＆セキュリティ研究所
山口 純平© 2023 Fujitsu Limited

背景56$暗号 ○ 現在広く使用されている公開鍵暗号○ 56$暗号（素因数分解問題）○ 楕円曲線暗号（離散対数問題）○…

○ 古典計算機に対する計算量評価○ 米国：1,67日本：&5<375(&などが実施○ &5<375(&の予測によると 56$の分解は早くても年以降

 &5<375(&報告書暗号技術検討会 年度報告書 &5<375(&53



168© 2023 Fujitsu Limited背景56$暗号 ○ 量子計算機に対する計算量評価

6KRUアルゴリズムの評価○ 我々の見積もり 誤りなし量子計算機を仮定 ><<7@○ ビット合成数の分解には、深さ約 ×ゲート数 ×量子ビット数  が必要○ 解読に要する時間 約日● 年に*RRJOH社が公開した量子計算機6\FDPRUHをベースに試算● 6\FDPRUH量子ビットの処理性能でゲート数約深さ約サンプル数の計算に約秒→  × ××約日→ 現在の量子計算技術ではここまで長時間に渡った量子計算は困難なため、当面は解読不可能○ >*(@の見積もり 誤りあり量子計算機を仮定○ ビット合成数の分解には、約万量子ビットで時間→ ここまで大規模な量子計算機の実現はまだまだ先のため、当面は解読不可能><<7@ <DPDJXFKL-<DPD]DNL07DEXFKL$+RQGD7,]X7 .XQLKLUR1  (VWLPDWLRQRI6KRU V&LUFXLWIRUELW,QWHJHUVEDVHGRQ4XDQWXP6LPXODWRU ŦƕƜƓƗƒƏƒƊƜŃƈųƕƌƑƗŃŤƕƆƋƌƙƈ>*(@*LGQH\&Ekerå0  +RZWRIDFWRUELW56$LQWHJHUVLQKRXUVXVLQJPLOOLRQQRLV\TXELWV4XDQWXP
© 2023 Fujitsu Limited

新たな量子素因数分解アルゴリズムの発見＠年月○ 主張64,)は6KRUアルゴリズムよりも少ないVXEOLQHDU個の量子ビットで素因数分解可能※6XEOLQHDUUHVRXUFHV4XDQWXP,QWHJHU)DFWRUL]DWLRQ

2 log 𝑁𝑁○ 主張特に、ELW合成数 𝑁𝑁 は log≈ 372 量子ビットで素因数分解可能
log 𝑁𝑁→ 2VSUH\ 量子ビット で実行可能なレベルのため、64,)の早急な評価が求められる<DQ%DRHWDO)DFWRULQJLQWHJHUVZLWKVXEOLQHDUUHVRXUFHVRQDVXSHUFRQGXFWLQJTXDQWXPSURFHVVRUDU;LY SUHSULQWDU;LY  

169© 2023 Fujitsu Limited

我々の反論 年月

山口純平，伊豆哲也，國廣昇，”格子と最適化手法を用いた素因数分解法の実験報告”，
研究報告インターネットと運用技術（,27），,27，SS，．

大規模な実験により以下の点を明らかにした <DQらの主張より多くの量子ビットが必要 64,)はその計算量も膨大となる

実験結果 1素因数分解対象の合成数

実験結果

6KRU 2 log 𝑁𝑁 + 2
OLQHDU個
64,)

我々の見積もり64,) 2 log 𝑁𝑁Τlog log 𝑁𝑁<DQらの見積もりVXEOLQHDU

ビット合成数なら…

ビット合成数なら…

× 量子ビット必要 !! 6KRU 

約2.31 × 1012 回の最適化計算が必要
回当たり秒としても約万年© 2023 Fujitsu Limited

本講演の流れ 64,)の概要の紹介
 我々の結果の紹介

170© 2023 Fujitsu Limited64,)の概要
Yan et al., “Factoring integers with sublinear resources on a superconducting quantum processor”
KWWSVDU[LYRUJSGISGI© 2023 Fujitsu Limited64,)の概要○ 64,)の処理手順
古典計算機

合成数𝑁𝑁

平方差法の
関係式収集

最近ベクトル
問題に帰着※Schnorrの方法
を使用

量子計算機

組合せ最適
化問題に変換

最適化計算
近似解計算

古典計算機

近似解から
関係式を計算

素因数計算<DQらは4$2$ 4XDQWXP$SSUR[LPDWH2SWLPL]DWLRQ$OJRULWKP を適用
ただし、古典的な最適化VROYHUも使用可能

𝑝𝑝, 𝑞𝑞○ 64,)のポイント○ 素因数分解問題を組合せ最適化問題に帰着し、その近似解さえ計算できれば良い→ 64,)の本質は組合せ最適化問題の近似解を高速に計算する点○ <DQらは量子最適化アルゴリズム4$2$を用いることで高速に近似解を計算できると主張○ ただし、大きな合成数に対して4$2$がうまくワークするかは実験しないとわからない○ 一方で、64,)は近似解で十分なので 量子計算機のノイズに強い 、1,64デバイスしか使用できない現代では大きなメリット○ 6KRUアルゴリズムと比較したときの64,)のメリット量子ビットが少ない、量子回路が浅い、ノイズに強い

Schnorr, “Factoring integers by CVP algorithms.”

171© 2023 Fujitsu Limited

平方差法の関係式収集 

平方差法とは○ 平方差法の手順

 合成数 𝑁𝑁 に対して、𝑋𝑋 2 = 𝑌𝑌 2 mod 𝑁𝑁 を満たす 𝑋𝑋, 𝑌𝑌 を見つける 平方差と呼ぶ
→ 𝑋𝑋 + 𝑌𝑌 𝑋𝑋 − 𝑌𝑌 = 0 mod 𝑁𝑁 を満たすため、 𝑋𝑋 ± 𝑌𝑌 が高い確率で1の素因数STの倍数になっている
gcd 𝑋𝑋 ± 𝑌𝑌, 𝑁𝑁 を計算する。素因数が得られない場合はに戻る。

○ 手順での平方差の計算方法

L 右に示す「関係式」をたくさん収集する
LL 関係式を組み合わせて平方差を計算する

関係式

𝑒𝑒

𝑒𝑒

𝑒𝑒 ′

𝑒𝑒 ′

𝑒𝑒 ′

𝑝𝑝1 1,𝑗𝑗 ⋯ 𝑝𝑝𝑘𝑘𝑘𝑘,𝑗𝑗 = 𝑝𝑝00,𝑗𝑗 𝑝𝑝11,𝑗𝑗 ⋯ 𝑝𝑝𝑘𝑘𝑘𝑘,𝑗𝑗 mod 𝑁𝑁○ 具体例1    N  𝑝𝑝14 = 43  N番目の素数
𝑝𝑝0 , … , 𝑝𝑝𝑘𝑘 の組を因子基底 と呼ぶ

LL③④の積を取ると指数部分が全て偶数にL以下のように関係式が収集できているとする
25 ∗ 3 ∗ 56 = 2 ∗ 33 ∗ 432 mod 𝑁𝑁① 23 ∗ 35 = −171 mod 𝑁𝑁
4 ∗ 53 = 31 ∗ 131 mod 𝑁𝑁⇒
24 ∗ 56 = 32 ∗ 432 mod 𝑁𝑁
②2
両辺の積
1
4
1
𝑋𝑋 = 22 ∗ 53 , 𝑌𝑌 = 3 ∗ 43 指数部分をしたもの③ 3 ∗ 5 = −2 ∗ 43 mod 𝑁𝑁
5231に対して、𝑋𝑋 2 = 𝑌𝑌 2 mod 𝑁𝑁 平方差④ 2 ∗ 5 = −3 ∗ 43 mod 𝑁𝑁

手順によりgcd 𝑋𝑋 + 𝑌𝑌, 𝑁𝑁 = 37
gcd 𝑋𝑋 − 𝑌𝑌, 𝑁𝑁 = 53が計算される© 2023 Fujitsu Limited

平方差法の関係式収集 

組合せはどうやって見つけるか？ 関係式を何個収集すればよいか？

○ $ 以下の行列 𝐑𝐑 の行ベクトルに対して、一次従属になる組合せを見つければよい→ 掃き出し法で計算可能

関係式
23 ∗ 35 = −171 mod 𝑁𝑁
24 ∗ 53 = 31 ∗ 131 mod 𝑁𝑁
31 ∗ 54 = −2 ∗ 431 mod 𝑁𝑁
25 ∗ 52 = −33 ∗ 431 mod 𝑁𝑁

𝑖𝑖 個目の関係式において、素数 𝑝𝑝𝑗𝑗 の指数が奇数のとき LM 成分 
偶数のときを取る行列

行列 𝐑𝐑
111000100000000
001101000000000
111101000000001
111101000000001
    …

次従属
実際は掃き出し法で計算○ $ 因子基底の数Nに対して、N個以上計算すればよい



172

© 2023 Fujitsu Limited

平方差法の関係式収集 

関係式を計算する方法 ○ 古くからある方法 年f
○ 'L[RQ法、二次篩法、…

○ 6FKQRUUの方法 64,)の基○ 平方差法の関係式収集問題を最短ベクトル問題 693 最近ベクトル問題 &93 の近似解計算問題に帰着○ それを///%.=HQXPHUDWLRQで求解 693&93に対する一般的な求解法○ 実際に ビット合成数の素因数分解に成功○ 1 

関係式収集&93の近似
解計算問題

数え上げ法

///%.=

関係式計算

HQXPHUDWLRQ

掃き出し法
素因数計算



© 2023 Fujitsu Limited

平方差法の関係式収集 

関係式を計算する方法 ○ 64,)○ 6FKQRUU法のうち、&93の近似解の計算方法を「組み合わせ最適化問題に変換」して「最適化計算」で求解に変更

6FKQRUU法

関係式収集&93の近似
解計算問題

関係式収集

&93の近似
解計算問題

数え上げ法

///%.=

HQXPHUDWLRQ

関係式計算

掃き出し法
素因数計算

関係式計算

掃き出し法
素因数計算

変更

64,)

///%.=

組み合わせ
最適化問題



173

最適化計算
4$2$

© 2023 Fujitsu Limited

&93の近似解計算問題に帰着 

格子 /DWWLFH○ 基底ベクトルの整数係数の線型和で表されるベクトルの集合 下図の ● の集合

𝐛𝐛1 + 𝐛𝐛2

2𝐛𝐛1 + 𝐛𝐛2

基底ベクトル 𝐛𝐛2

基底ベクトル 𝐛𝐛1

© 2023 Fujitsu Limited&93の近似解計算問題に帰着 

最短ベクトル問題 6936KRUWHVW9HFWRU3UREOHP○ *LYHQ 基底ベクトル 𝐛𝐛1 , … , 𝐛𝐛𝑛𝑛
○ )LQG 長さが最小の 非零な 格子ベクトル 格子次元 𝑛𝑛 が大きいときは解くのが難しい

基底ベクトル 𝐛𝐛2

基底ベクトル 𝐛𝐛1

最短ベクトル𝐛𝐛1 − 𝐛𝐛2


174

© 2023 Fujitsu Limited

&93の近似解計算問題に帰着 

最近ベクトル問題 &93&ORVHVW9HFWRU3UREOHP○ *LYHQ 基底ベクトル 𝐛𝐛1 , … , 𝐛𝐛𝑛𝑛 と ターゲット 𝐭𝐭○ )LQG ターゲットに最も近い格子ベクトル 格子次元 𝑛𝑛 が大きいときは解くのが難しい
ターゲット 𝐭𝐭

基底ベクトル 𝐛𝐛2

最近ベクトル−3𝐛𝐛1 + 2𝐛𝐛2

基底ベクトル 𝐛𝐛1

© 2023 Fujitsu Limited&93の近似解計算問題に帰着 

関係式収集を&93の近似解計算問題に帰着する方法○ 目標関係式○ 帰着方法

𝑒𝑒1,𝑗𝑗𝑝𝑝1

𝑒𝑒𝑘𝑘,𝑗𝑗⋯ 𝑝𝑝𝑘𝑘′′𝑒𝑒0,𝑗𝑗𝑒𝑒1,𝑗𝑗= 𝑝𝑝0 𝑝𝑝1′
𝑒𝑒𝑘𝑘,𝑗𝑗⋯ 𝑝𝑝𝑘𝑘を収集する N因子基底の数

mod 𝑁𝑁○ 格子次元を 𝑛𝑛 ≤ 𝑘𝑘 で設定し、基底ベクトルとターゲットを以下とする&93の近似解計算問題に帰着する
基底ベクトル

6FKQRUU法

𝐁𝐁𝑛𝑛,𝑐𝑐 =64,)○ ポイント𝐁𝐁𝑛𝑛,𝑐𝑐 =ターゲット

log 𝑝𝑝1
00
𝑁𝑁 𝑐𝑐 log 𝑝𝑝1

𝑓𝑓 1
0
0
𝑐𝑐
10 log 𝑝𝑝1

0
⋱

0
0

log 𝑝𝑝𝑛𝑛0⋯ 𝑁𝑁 𝑐𝑐 log 𝑝𝑝𝑛𝑛

0
0
0
⋱
0
𝑓𝑓 𝑛𝑛
⋯ 10𝑐𝑐 log 𝑝𝑝𝑛𝑛

※𝑓𝑓 1 , … , 𝑓𝑓 𝑛𝑛 は, 1,1,2,2,3,3, ⋯ の置換

𝐭𝐭 =
𝐭𝐭 =

0
⋮
0
𝑁𝑁 𝑐𝑐 log 𝑁𝑁

0⋮0
10𝑐𝑐 log 𝑁𝑁○ &93の近似解は高確率で関係式をつ与える 次ページで説明 → 素因数分解にはたくさんの近似解が必要○ 格子次元 𝑛𝑛 が&93の近似解計算の計算量を決定する○ ただし 𝑛𝑛 は大きい方が高確率で関係式を与えるので計算量とのトレードオフとなる


175© 2023 Fujitsu Limited

&93の近似解計算問題に帰着 

近似解が関係式を与える理由 と その具体例
𝑁𝑁 = 1961
𝑘𝑘 = 14 𝑝𝑝14 = 43

近似解を与える理由
𝑥𝑥1
近似解 ⋮ ∈ ℤ𝑛𝑛 計算できたと仮定
𝑥𝑥𝑛𝑛

𝑓𝑓 1
0
0
𝑐𝑐
10 log 𝑝𝑝1

0
⋱
0
⋯

0
0
𝑓𝑓 𝑛𝑛
𝑐𝑐
10 log 𝑝𝑝𝑛𝑛

𝑥𝑥1
⋮ ≈
𝑥𝑥𝑛𝑛

𝐁𝐁3,1.5 =0⋮0𝑐𝑐
10 log 𝑁𝑁

1
0
0
22

最終成分の比較により
𝑥𝑥𝑥𝑥
𝑥𝑥1 log 𝑝𝑝1 + ⋯ + 𝑥𝑥𝑛𝑛 log 𝑝𝑝𝑛𝑛 ≈ log 𝑁𝑁 ⟺ 𝑝𝑝1 1 ⋯ 𝑝𝑝𝑛𝑛 𝑛𝑛 ≈ 𝑁𝑁
𝑥𝑥

𝑛𝑛が大きいほど良い近似が得られる
一方、近似解計算コストは増加
−𝑥𝑥

具体例

1
0
0
22

0
1
0
35

0
1
0
35

0
0
2
51

0
0
𝐭𝐭 =
2
51
3
5 =
0

0
0
0
240

3
5
0
241

3
の近似解 5
0
≈

0
0
0
240

最終成分の比較により
23 35 50 = 1944 ≈ 𝑁𝑁 = 1961𝑢𝑢 ≔ ς𝑥𝑥𝑖𝑖>0 𝑝𝑝𝑖𝑖 𝑖𝑖 , 𝑣𝑣 ≔ ς𝑥𝑥𝑖𝑖 <0 𝑝𝑝𝑖𝑖 𝑖𝑖 に対して
𝑢𝑢
≈ 𝑁𝑁 ⟺ 𝑢𝑢 − 𝑣𝑣𝑣𝑣 ≈ 0

𝑢𝑢 ≔ 23 35 , 𝑣𝑣 ≔ 1 に対して
𝑢𝑢 − 𝑣𝑣𝑣𝑣 = 1944 − 1961 = −17

以下の式が高い確率で関係式を与える
𝑢𝑢 = 𝑢𝑢 − 𝑣𝑣𝑣𝑣 𝑚𝑚𝑚𝑚𝑚𝑚 𝑁𝑁

この近似解は以下の関係式を与えている
23 ∗ 35 = −171 𝑚𝑚𝑚𝑚𝑚𝑚 1961𝑣𝑣

定義より 𝑝𝑝1 , … , 𝑝𝑝𝑛𝑛
で素因数分解される 𝑛𝑛 ≤ 𝑘𝑘

に近いので高い確率で 𝑝𝑝0 , … , 𝑝𝑝𝑘𝑘
で素因数分解される近似解が良いほど確率が高くなる© 2023 Fujitsu Limited&93の近似解計算問題に帰着 

6FKQRUU法で用いられる693&93解法○ ///アルゴリズム /HQVWUD/HQVWUD/RYDV]年○ 693 の近似解を求める 格子次元に関する 多項式時間アルゴリズム
𝑛𝑛−1○ 最短ベクトルの 2倍以内の近似が得られる○ %.=アルゴリズム 6FKQRUU年○ 693 の近似解を求めるアルゴリズム○ パラメータによって近似度と計算量のトレードオフを実現できる

格子ベクトルを短く・互いに直交に近くなるように変換する効果があり、数え上げ法や組合せ最適化問題の計算量を下げる効果があるため、それらの前処理としてよく使用される○ %DEDL アルゴリズム %DEDL年○ &93の近似解を求めるアルゴリズム○ ///アルゴリズムを併用した場合最近ベクトルの 2○ 数え上げ法 HQXPHUDWLRQ

3 𝑛𝑛
倍以内の近似が得られる
2○ 693&93の解を全数探索 指数時間計算量 で数え上げる方法○ 近似解をたくさん計算可能176© 2023 Fujitsu Limited

組合せ最適化問題に変換 %DEDLアルゴリズム○ 入出力○ ,QSXW 格子の基底 𝐁𝐁 = 𝐛𝐛1 , … , 𝐛𝐛𝑛𝑛 ターゲットベクトル 𝐭𝐭○ 2XWSXW &93の近似解 𝒚𝒚 ただし 𝐁𝐁𝐁𝐁 − 𝐭𝐭 ≤ 2𝑛𝑛/2 𝐁𝐁𝐳𝐳 − 𝐭𝐭 𝐳𝐳: 任意の整数ベクトル○ ポイント○ 係数を最も近い整数値に四捨五入することで&93の近似解を計算する 厳密な解と比較して指数倍のズレを許容○ 例次元の場合のイメージ
𝑦𝑦○ 下図通り，𝒚𝒚 = 𝑦𝑦12 = 21 が計算され，ターゲットに近い格子点 160与えられた&93

𝐛𝐛2 = 4, 20%DEDLの手順(24, 40)𝐭𝐭 = (28, 29)(20, 20)

4
20

36
24
2
=
を得る 厳密解
ではない
20
40
1
①直交線を引く×③ 最も近い格子点に〇四捨五入
𝑦𝑦2 = ‫ڿ‬29/20‫ = ۂ‬1

𝐭𝐭 = (28, 29)②直交線に垂線をおろす④ ずらす⑤ 直交線を引く

𝐛𝐛1 = 16, 0×〇 ⑥四捨五入 𝑦𝑦1 = 2© 2023 Fujitsu Limited

組合せ最適化問題に変換 

拡張%DEDLアルゴリズム○ アイデア○ %DEDLにおいて、四捨五入 択 を両端の整数 択 に拡張→ 択が格子次元個

2𝑛𝑛 個の選択肢の中からより良い解を計算する最適化問題に変換される○ 特に、自明な解は%DEDLの解を与えるため自然な拡張になっている○ 前ページの例

2

−𝑧𝑧

2

4 2 − 𝑧𝑧1
16 4
1
○ 𝐻𝐻 𝑧𝑧1 , 𝑧𝑧2 = 16
− 𝐭𝐭 =
𝐛𝐛𝑜𝑜𝑜𝑜 %DEDLの解
𝑧𝑧2 + 𝐛𝐛𝑜𝑜𝑜𝑜 − 𝐭𝐭
0 20 1 + 𝑧𝑧2
0 20○ 𝑧𝑧1 , 𝑧𝑧2 = 0, 0 は%DEDLと同じ解を与えるが、 1, 1 は%DEDLより良い近似解 厳密解 を与える与えられた&93

𝐛𝐛2 = 4, 20(24, 40)𝐭𝐭 = (28, 29)(20, 20)

拡張%DEDLの手順①直交線を引く〇③ 両端の整数に拡張〇
𝑦𝑦2 = 1 + 𝑧𝑧2
𝑧𝑧2 ∈ 0,1

𝐭𝐭 = (28, 29)②直交線に垂線をおろす④ ずらす⑤ 直交線を引く

𝐛𝐛1 = 16, 0



177

〇

〇 ⑥拡張𝑦𝑦1 = 2 − 𝑧𝑧1© 2023 Fujitsu Limited

最適化計算○ 最適化計算の目標○ 拡張%DEDLで計算された 2𝑛𝑛 個の選択肢の中からより良い近似解を計算する○ 最適化VROYHUについて○ <DQらは量子アルゴリズム4$2$を適用している 𝑛𝑛 次元格子に対して 𝑛𝑛 量子ビット使用○ 一方で、古典計算を用いた最適化手法であるアニーリング計算等でも代用可能である→ 量子計算が64,)の本質というわけではない© 2023 Fujitsu Limited<DQらの主張 と 64,)の実験結果○ 主張

 合成数1に対して、64,)を用いることで 𝑂𝑂 log 𝑁𝑁 / log log 𝑁𝑁 量子ビットで関係式を計算可能○ ただし、𝑛𝑛 = ‫ڿ‬log 𝑁𝑁 / log log 𝑁𝑁‫ ۂ‬に対して 𝑘𝑘 = 2𝑛𝑛2 である つまり 𝑝𝑝0 , 𝑝𝑝1 , … , 𝑝𝑝2𝑛𝑛2 を因子基底とする関係式を計算可能

 特に1がビット合成数のときは、 ≈ 2 ∗ log 𝑁𝑁 / log log 𝑁𝑁 量子ビットで素因数分解 に挑戦 可能○ 実験による主張の裏付け○ 以下の合成数に対して、𝑛𝑛 量子ビットを使用した64,) 量子計算機4$2$ で数個の関係式を計算することに成功○ 𝑁𝑁1 = 1961 ELW 𝑁𝑁2 = 48567227 ELW 𝑁𝑁3 = 261980999226229 ELW○ 𝑁𝑁2の場合の数値例

実際に番目の近似解 ] を4$2$で計算し、関係式 5 ∗ 119 = 2 ∗ 41 ∗ 43 ∗ 47 ∗ 73 mod 𝑁𝑁2 を得ている

Yan et al., “Factoring integers with sublinear resources on a superconducting quantum processor.”178© 2023 Fujitsu Limited我々の結果の紹介
山口純平，伊豆哲也，國廣昇，”格子と最適化手法を用いた素因数分解法の実験報告”，
研究報告インターネットと運用技術（,27），,27，SS，．

© 2023 Fujitsu Limited64,)の問題点 と 我々の研究成果○ 問題点○ 64,)で求められる関係式は数個程度で、64,)のみで素因数分解に成功する数の関係式を求めることはできていない○ 特に論文中に列挙されている 𝑁𝑁2 = 48567227 ELW に関する個の関係式のうち、

64,)4$2$で求めたものは個であり残りの個はおそらく古典計算機で計算している○ 実験の数が少ない○ 計算量について触れられていない○ 成果① 素因数分解に十分な数の関係式を計算できるように64,)を拡張② 拡張64,)を用いてビット合成数の素因数分解に成功

組合せ最適化VROYHUで、量子アニーリング計算を古典的にシミュレートした計算機
量子計算は不使用○ ただし大規模実験を可能にするため、最適化VROYHUに富士通の第三世代'LJLWDO$QQHDOHUを使用③ この実験結果をもとに、ビット合成数に対する拡張64,)に必要な量子ビット数、計算量の見積もりを与えた→ 64,)だけで関係式を十分集めるには<DQらの見積もりであるより多くの量子ビットが必要ということがわかった



179

© 2023 Fujitsu Limited

①64,)の拡張 ○ 問題点関係式が数個程度しか計算できない○ 解決策以下を組み合わせる 置換を取り換えることで別の&93を生成し、それを解くことで他の関係式を収集
 置換がなくなったときは、格子の次元をしてに戻る○ イメージ&93 つ目
1000
10𝐭𝐭 =𝐁𝐁 =002
22 35 51

↓ 64,)
関係式

0
0
0
240

&93 つ目
1000
20𝐭𝐭 =𝐁𝐁 =001
22 35 51

↓ 64,)
関係式&93 つ目
2000
10𝐭𝐭 =𝐁𝐁 =001
22 35 51

0
0
0
240

↓ 64,)
関係式

0
0
0
240

格子次元

の置換は通りしかない&93 つ目
01
10𝐁𝐁 = 0
0
0
0
22 35

0
0
2
0
51

0
0
0 𝐭𝐭 =262↓ 64,)
関係式

0
0
0
240

※素因数分解に成功するだけの関係式が集まった時点で終了する※対角成分は, 1,1,2,2,3,3,4,4, ⋯ の前半𝑛𝑛個の置換と定義されている○ 解決策のポイント○ できるだけ小さな次元の&93から関係式を収集するので、4$2$に必要な量子ビット数を抑えることができる○ 異なる&93の生成方法は他にも様々あるが 例𝑓𝑓 を変える 、今回の目的は64,)の解析であるため64,)に近い設定とした
© 2023 Fujitsu Limited①64,)の拡張 ○ 工夫点 新しい関係式が W回連続 得られなかった場合も、格子次元を する○ イメージ&93 Q次元7個目
00
0
𝑓𝑓𝑇𝑇 1&93 0Q次元7個目
⋮
⋱
0
…
𝐁𝐁 =
0𝑓𝑓 𝑛𝑛 0 𝐭𝐭 =0
0 𝑓𝑓𝑇𝑇+𝑡𝑡 10
0
𝑇𝑇
&93
⋮
⋱𝑐𝑐 log 𝑝𝑝 0𝑐𝑐
0 Q次元7W個目
𝑐𝑐
10
log
𝑁𝑁
10
𝑛𝑛
𝐁𝐁10
= log 𝑝𝑝1 0 ⋯ 𝑓𝑓𝑇𝑇+𝑡𝑡
𝐭𝐭
=
0 𝑛𝑛
0
0
0 1 𝑓𝑓𝑇𝑇+𝑡𝑡
0
𝑐𝑐
⋮
𝑐𝑐
10
10
log 𝑝𝑝1 0⋯ 10𝑐𝑐⋱
log 𝑝𝑝𝑛𝑛 0
𝐭𝐭 =log 𝑁𝑁↓
𝐁𝐁 =00
𝑓𝑓𝑇𝑇+𝑡𝑡 𝑛𝑛
010𝑐𝑐 log 𝑁𝑁
10𝑐𝑐 log 𝑝𝑝1 ⋯ 10𝑐𝑐 log 𝑝𝑝𝑛𝑛 関係式得られず

格子次元

↓64,)
すべての&93から新しい関係式得られず↓
この形の関係式はもうない RU確率が小さすぎる&93 Q次元個目
0
𝑓𝑓1 1
0
0
0
⋱
𝑓𝑓1 𝑛𝑛
0
𝐁𝐁 =
0
0
0
0
10𝑐𝑐 log 𝑝𝑝1 ⋯ 10𝑐𝑐 log 𝑝𝑝𝑛𝑛

000𝐭𝐭 =
𝑓𝑓1 𝑛𝑛 + 1
10𝑐𝑐 log 𝑝𝑝𝑛𝑛+1

0⋮010𝑐𝑐 log 𝑁𝑁

𝑛𝑛 ← 𝑛𝑛 + 1 として新しい関係式を探索′′′
𝑒𝑒𝑘𝑘,𝑗𝑗
𝑒𝑒0,𝑗𝑗𝑒𝑒1,𝑗𝑗𝑒𝑒1,𝑗𝑗𝑒𝑒𝑛𝑛+1,𝑗𝑗
𝑝𝑝1 ⋯ 𝑝𝑝𝑛𝑛+1 = 𝑝𝑝0 𝑝𝑝1 ⋯ 𝑝𝑝𝑘𝑘 mod 𝑁𝑁′′′
𝑒𝑒𝑘𝑘,𝑗𝑗
𝑒𝑒0,𝑗𝑗𝑒𝑒1,𝑗𝑗𝑒𝑒1,𝑗𝑗𝑒𝑒𝑛𝑛,𝑗𝑗
𝑝𝑝1 ⋯ 𝑝𝑝𝑛𝑛 = 𝑝𝑝0 𝑝𝑝1 ⋯ 𝑝𝑝𝑘𝑘 mod 𝑁𝑁



180

© 2023 Fujitsu Limited

①64,)の拡張 ○ 拡張64,)アルゴリズム と 指標 つ
合成数 𝑁𝑁
開始時の格子次元 𝑛𝑛因子基底の数 𝑘𝑘&93を生成置換をランダムに生成///
拡張%DEDLアルゴリズム

失敗した場合は初めに戻る
ただし、以下の場合は格子次元を 𝑛𝑛 ← 𝑛𝑛 + 1
・置換を使い切った場合
・𝑡𝑡 回連続で新しい関係式が得られなかった場合

組み合わせ最適化問題を生成

指標１
最適化計算が何回呼び出されたか、が計算量の指標になる

最適化計算
近似解計算

関係式計算
掃き出し法素因数分解



素因数分解に成功した場合は素因数を出力して終了
指標
アルゴリズム終了時点での格子次元 𝑛𝑛 が必要な量子ビット数の指標になる© 2023 Fujitsu Limited②'$を用いた実験 ○ 実験方法○ ELW合成数をランダムにつずつ生成し、拡張64,) 最適化VROYHU '$ を用いて1の素因数STを計算※実験を大規模にするため、○ 計算量の指標、量子ビット数の指標を評価する
今回は4$2$ではなく古典的なアニーリング計算機を使用'$ )XMLWVXの第三世代 'LJLWDO$QQHDOHU○ 実験のパラメータ設定について



181

© 2023 Fujitsu Limited

②'$を用いた実験 ○ 実験結果生成したELWすべての合成数の素因数分解に成功
1 ビット数 得られた関係式の数 最適化呼出回数& 格子次元 𝒏𝒏𝒆𝒆
































































































1 ビット数 得られた関係式の数 最適化呼出回数& 格子次元 𝒏𝒏𝒆𝒆
















  







































































≒約日


























© 2023 Fujitsu Limited③ビット合成数に対する量子ビット数の見積もり○ 見積もり結果 ただし、'$と4$2$が同程度の近似解求解性能があると仮定○ 漸近的な振る舞いが 𝑦𝑦 = 𝑎𝑎 log 𝑁𝑁Τlog log 𝑁𝑁 𝑏𝑏 の形で見積もれると仮定する <DQらの見積もりは D E ○ 両辺対数を取って ELW合成数の結果からDEを最小二乗法で見積もると 𝑎𝑎 = 2−12.554 , 𝑏𝑏 = 5.5531 となる→ VXEOLQHDUではない○ 1がビット合成数のとき、量子ビット数は ≈ 6.70 × 108 !! 6KRU となる

○ <DQらの見積もり・6KRUとの比較実行に必要な量子ビット数

120

6KRUに必要な量子ビット数 OLQHDU
2 log 𝑁𝑁 + 2

10080

拡張64,)に必要な量子ビット数実験による𝑛𝑛𝑒𝑒 の値

6040

漸近的な振る舞い 𝑦𝑦 =

20
0

0

10

20

30

40

合成数のビット長


182

50

1
212.554

log 𝑁𝑁Τlog log 𝑁𝑁 5.5531<DQらの見積もり VXEOLQHDU
2 log 𝑁𝑁Τlog log 𝑁𝑁
60© 2023 Fujitsu Limited

③ビット合成数に対する計算量 最適化の呼び出し回数 の見積もり○ 見積もり結果

計算量 C (最適化計算の呼び出し回数)○ 量子ビット数と同様に 𝑦𝑦 = 𝑎𝑎 log 𝑁𝑁Τlog log 𝑁𝑁 𝑏𝑏 の形で見積もると、𝑎𝑎 = 2−5.4165 , 𝑏𝑏 = 6.1650 となる○ 1がビット合成数のとき、計算量は ≈ 2.31 × 1012 今回の設定の場合、約年 となる
30000

𝑦𝑦 =

25000
20000

1
log 𝑁𝑁Τlog log 𝑁𝑁 6.1650
25.4165

15000
10000
5000
0

11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55
合成数のビット数© 2023 Fujitsu Limited

見積もりに対する考察○ 必要な量子ビット数が<DQらの見積もりより多くなる原因○ 合成数1が大きくなったとき、帰着する&93の次元も大きくなり、良い近似解が得られにくくなるため○ 具体的には以下のつの理由が考えられる

 &93の次元が大きくなるにつれ、最適化VROYHU 今回は'$ で得られる近似解の質が下がる 組合せ爆発
 &93の次元が大きくなるにつれ、拡張%DEDLが含む近似解の質が下がる

最適化VROYHUの計算時間を長くする格子基底簡約を強力にすることで一時的に解決可能だが、合成数が大きくなると同じ状況になると考えられる※Yanらは拡張%DEDL＋4$2$が&93の次元によらず同程度の近似解を計算できると仮定→ 次元の増加の影響を考慮していないため、量子ビット数の見積もりが甘くなっている○ 拡張64,)の設定について○ 下記は量子ビット数や計算量に大きな影響を与えると考えられる

今回はこれらを決め打ちしたが、より正確な見積もりを与えるにはこれらを変えたときの実験が必要で、今後の課題である○ 繰り返し回数 𝑡𝑡 より大きく設定することで、必要な量子ビット数が下がり、計算量が大きくなると考えられる○ 最適化VROYHU 特に4$2$を使用した実験が重要



183

© 2023 Fujitsu Limited

まとめ○ <DQらの主張

 64,)※は6KRUアルゴリズムよりも少ないVXEOLQHDU個の量子ビットで素因数分解可能
2 log 𝑁𝑁 特に、ELW合成数は log≈ 372 量子ビットで素因数分解可能
log 𝑁𝑁○ 我々の成果① 素因数分解に十分な数の関係式を計算できるように64,)を拡張② ①を用いてビット合成数の素因数分解に成功○ ただし大規模実験を可能にするため、最適化VROYHUに富士通の第三世代'LJLWDO$QQHDOHU '$ を使用③ この実験結果をもとに、ビット合成数に対する拡張64,)に必要な量子ビット数、計算量の見積もりを与えた→ 64,)のみで十分な関係式を集めるには<DQらの見積もりである量子ビットより多く必要 具体的には、 6.70 × 108 量子ビット
計算量 最適化計算の呼び出し回数 は 2.31 × 1012 と非常に大きく、量子ビット数と合わせて考慮すべき○ 今後の課題○ 見積もりは実験パラメータに大きく依存するため、より正確な見積もりを与えるにはより多くの実験が必要○ 特に、繰り返し回数 𝑡𝑡 を変えたときの実験や、4$2$を適用したときの実験が重要© 2023 Fujitsu Limited

Thank you© 2023 Fujitsu Limited

184

IMI Workshop: Mathematics of Security Analysis for Modern Cryptography
September 20-22, 2023, JR Hakata City, Fukuoka, Japan

バイナリ ECDLP を解く Shor のアルゴリズムにおける楕
円曲線加算の量子リソース削減
田口 廉

東京大学大学院情報理工学系研究科
rtaguchi-495@g.ecc.u-tokyo.ac.jp

Shor のアルゴリズムは，素因数分解問題・離散対数問題を多項式時間で解く量子アルゴリズムであり，その実装に係る量子リソース評価の研究が数多く行われている．本講演で扱うバイナリ楕円曲線上の離散対数問題を解く Shor のアルゴリズムにおいては，
量子逆元計算が主要な計算であることが知られている．その中でも我々はより Toﬀoli
ゲート数と深さの少ない量子 FLT 逆元計算に着目する．量子 FLT 逆元計算アルゴリズ
ムには 2 つの既存手法があり，それぞれ量子ビット数が少ない，深さが少ないという特徴がある．我々は，これら 2 手法をそれぞれ純粋に改良する 2 つの量子 FLT 逆元計
算アルゴリズムと，量子ビット数をさらに削減する量子 FLT 逆元計算アルゴリズムを
紹介する．

185

!"#$%&'()*+,-./012345657869:;<!"#$%&'()*+,-./01*2345$67
89:;<=>?@A2BC$DEFGH!"# $%&'()*+,-%&'()*./.01/21.3!"#$%&'()*+,-./01!"#$%&'$()*!"#$%&' ()*+, -./012345!6789%& ' :;<=>-./012345+&,-./012()*+,!!!?@ABACAD E:;<=>!!!FGHI

456789:;<=>?@A
BCDEFGHJKLHFGMNOPQR!"#$%&'()*+,-./0!

186

23456!IJKLM8NOPQRSTH?UVWXYZ[\]

NOP!
^_`"

!"

NOP!
"aP " !

#$

"aP " !
=>?@AB^_`"

6789S-TUV*WX':;<=>5!"#$%&$'&$()*+,-./01$%&$2/3,1$45/3)60/*$76)038$60$9**):3);$<=-+,8>"789:,6789YZ[\%&]^-_`IJKLbc8d!67abcdefgheijkl':;<#$5!67<mnnmopqorrstuvwx':;<q5!67:rytstr%&:;<=>z{|L./0P}~4€Å

‚ƒ„ƒH6789…†‡ˆ‰#187

;<=>789:
efgh:ij?kVWlm4n8op]AIJKL" (ŠS-6789" !! -‹}ŠS-6789'ŒçŽj67895" èê‘rm’“89efgh:ij?kqArst<IJKL%u` # *8D" ! # $" % $ " # &$ ! # ' (& ) !!! * ' ) !#!! +ŒçŽj67891”•Å–—#˜-™š› , % -./* 0//* 01/* 23$;<=>789:)?@+ABCD
6789S-xœù 4 $$ * "$ * 5 $! * "! ) !!!! PžŸ4 # 5 % ($" * "" + ) !!!! ¤¥¦…žŸ$" % 6! # 6 # $$ # $! # &"" % $! # $" 6 # $" # "!

$%456789:;<=>%&'(12©

3456789:

%&'

¡\¢~£

¡Å

&! ' &") *"!
(! ' ("!!! S-§¨z{PQR

JKL1|ªFGI\[%

188

EF/GHI
34BCD7EF>GHIJKLM|ª´µ®!˜ênnêrm¶¬®'˜·¸5!;–·˜¶¬®';–·˜5!¹‚
S-|ªj«¬­-®¯¬°±²³;<=7%&'(>?@A"#*+,-./,012++34567#$%8!"#$%&'()%!"CDE<$=>?NOPQ8
9:;<$=>?@AB*FGHI,-HJ12FK4L557M4?8!"M4?&'()2?>M<:;NOPQ8+,-./,012++34567M4?89!"CDE@AB&

JKLM3NOPQRSTSUV#2ºheijkl!‹»heijklY¼O#–—#˜-™š½ÅŒçŽj6789' , % -./* 0//* 01/* 23-51¾[¿ÀÁ>Å=è??p¸=˜-|ª´µ®*!;–·˜!¹‚YÂ 2ºheijklÃÆ¿- , 1¾[¿ÇÈ
vwxyz# % +,- {z|}~€Å./0‚ ƒl„nÅ.0‚

ÉÉq=?@p¸=˜-;–·˜!¹‚YÄ ‹»heijklÃÆ¿- , 1¾[¿ÇÈ

vwxyz# % +,- {zƒl„nÅ./1‚ …†Å.-2‚

189'

JKWMQ3XQSTSUV#ÊËÌheijklY¼O#ÍÎÏMYÐÑÒÓI\Ô|ª6789Õ{heijklY¼O#–—#˜-™š½ÅŒçŽj6789' , % -./* 0//* 01/* 23-51¾[¿ÀÁn„‡ˆ‰€`[Š\V‹Œ?çŽUUèÂ ÊËÌheijklÃ QêH8‘’“”Š\V|}~€`[•–()*+,-./0123456

vwxyz# % +,- { ——˜™.3š›ƒœzùz341-+ ~€žŸêH ùz54662 ~€(YZ!" #$%&'()*" +,-./0-12345#$%6789:;<=>6789:;?" @/0AB/C2345#$%6789:;<DE6789:;
F" GHI6789:;
J" KL
J"!" =>6789:;MDE6789:;
J"*" GHI6789:;
N" O<PMQR
)*

190

YZ
!" #$%&'()*" +,-./0-12345#$%6789:;<=>6789:;?" @/0AB/C2345#$%6789:;<DE6789:;
F" GHI6789:;
J" KL
J"!" =>6789:;MDE6789:;
J"*" GHI6789:;
N" O<PMQR))[5N\]^BLM! " #$%V$7 ) !#!"#$ PžŸ¡\¢~1Ô7 %$ YÖ×Å789:;<=>?@=ABC

7!

"#$ %$%-" -0/ % /# ' /$ ' /! ?

#’oØÙ@Ã7 !
#’oØÙ?Ã7 !

%" %$

* 7!

%& '%( %$¡¢W£¤8ê¥’¦§

%% %$

* 7!

7 %$ % 7 !

* 8 * 7!

%& %$%& '%( '%" %$"#$ %!

% 7!

"#% %$ !

YÚÛz{

YÚÛz{
)!

191

[5N\]^BWM! " #$%VÜÝÃ7 % 7 !
#’oØÙ@Ã#’oØÙ?Ã

%) %$

*+"

ÞÝÃ7 !

7

!%

7

!% %$

7

%$

&

&

*+"

!%
(

!%

(

!% '% %$

97 !

97 !
"

!%

%*+" %$

%( %$

97 !

"#% %$

% 7!

%" %$

%*

% 7 ! %!
%& '%( %!%(

% 7!

%*+"

97 !

97 !

%*+" %$%( %$%& '%( '%" %!%"

% 7!

97 !

%" %$

%*

% 7 ! %$)* % &+(+ , + -.

%& '%( %$% 7!

%& '%( '%" %$

% &'(

)"

YZ
!" #$%&'()*" +,-./0-12345#$%6789:;<=>6789:;?" @/0AB/C2345#$%6789:;<DE6789:;
F" GHI6789:;
J" KL
J"!" =>6789:;MDE6789:;
J"*" GHI6789:;
N" O<PMQR)#

192

&!789 _/!"`a^B/>b'c
5"Õ{'Étuoßtà:;:"áâ{'Étuoßtà:!

QRST0UVWX4YZ&

5" # $%& CDEFGHAIJKLM5"â{'èms
:

<

DE7

FG
HI&J

KLED

/0

M

N

N

OP0

M

M

N

P0

N

N

N

n„‡¨©gªh%|}~€*[«]AT§¬­§?®P[¯°

:<
;

)$

!"[5N\]^Bdef>ghM6i5jSSO[5NV#’oØÙ@Ã7

7#’oØÙ?Ã

*+"
!%
*+"
%
!
%$
*+"

!%

7

%$

(
!%
&
%
! %$

7

(

!% %$

7

97 !

%*+" %$*+"*+" !%
%*+"
!% ;
!7
%$%$

97 !

%( %$
&

% 7!

&%
7!%! %$%$

7%*% 7 ! %$ '= % -*0* 8 * 35(%& '%( %!(

!%

193

±¢V©gªh[´U
­§[²³

%*

7 !; %$

97 !

%( %$

%& '%( %$

7! ;

% 7!

%& '%( %$±¢V©gªh[²U
­§[²³
)%

EFklmAlnop
3456 #’oØÙ@Ã7 !

%) %$

* 7!

%& '%(

%" %$

* 7!

%% %$

%& '%( '%"* 8 * 7!

%& %$

%$ !
%$
#’oØÙ?Ã7 !
*7
ã >- % 0& * 0$ * 0! * 0" * 0' * 0( * 0) * 0* * 0* # 0( * 0* # 0( # 0! % -.0?
› -.0 -ÕMäåæ

TH¶·¸:;/ % -4 ;!4 < 4 ;0 % => µ=8TH¶·¸ ?

¹¡8 - @ A @ B ?UVWèºA 1 @ C4 D E B µº»W ;1 % ;2 ' ;32ºheijkl-hçahÃ-.0-ç-ÕMäåæYÜÝ¢IÔ|ªj«¬­YÈ ½)&

qr`adef>gh>Å=è??p¸=˜-ÕMäåæ @& % -*0*A*1*-.*/0*.A*-01*-.;* @+ % -.0#’oØÙ@-z{Ã>0*A*1*-.*/0*.A*-01? › áèz{…é ¡Å› áè…H[Õ{…é ¡Å#’oØÙ?-z{Ã -.;*-.0
â{YêëÔìI[¯c­dY78í

¼O2ºheijklÕMäåæ @& % -*0*/*.*B*-1*03*2A*-;1* @+ % -.0 YZ[Å0*.*-1*2A*-;1 Ãáèz{…é ¡Å› #’oØÙ@-z{/*B*03*-.0
Ãáè…H[Õ{…é ¡Å › #’oØÙ?-z{â{YêëÔìI[¯c­dY79í
)'194

Alnopm!">b'cMst/uvV!7 !

!+" %$.
-z{1, C --ÕMäåæ @, ,-&YZ[Å',ÃÛ*5# ;!4 < 4 ;0 8¼½è¾a¦§’¿ÀÁACµ F CèÂ¼’\VCµ G C

7î

,

,

ï×¿7 ! " %$ * 8 * 7 ! - %$ % 7 !

!+" %$

YÚð1z{½Åñ-ò­®

!" ! #$%&'()* "# $ % & '! $ #( +ó[ÕMäåæÃô‚Põ4Ôáèz{…é¡ÅöP÷H[)(

YZ!" #$%&'()*" +,-./0-12345#$%6789:;<=>6789:;?" @/0AB/C2345#$%6789:;<DE6789:;
F" GHI6789:;
J" KL
J"!" =>6789:;MDE6789:;
J"*" GHI6789:;
N" O<PMQR!*

195

!"[5N\]^Bdef>ghMwwx5SyO[5NV[\]^__`7]D#’oØÙ@Ãaab]_c`7]D#’oØÙ@Ã

7

*+"
!%
*+"
%
!
%$

7

7

*+"

!%

%$

7

*+"
!%
*+"
%
!
%$

7

*+"

!%

%$

97 !

%*+" %$*+"*+" !%
%*+"
!% ;
!7
%$%$

97 !

%*

% 7 ! %$ '= % -*0* 8 * 35%*+" %$%*% 7 ! %$ '= % -*0* 8 * 35*+"!%%*+" %$
*+"
%
!
!
%$

7 7 ;

±¢V©gªh[´U
­§[²³

%*

7 !; %$±¢V©gªh[²U
­§[²³

%*

7 !; %$!)

qrz{def>gh! ÉÉq=?@p¸=˜Ã >Å=è??p¸=˜-#’oØÙ@1”•Åòø¬ù-¯c­dYú[ë½ÜÝÃûü-ÕMäåæ
¼O‹»heijkl——˜™.3š‡™nÅ3zÃ8©gªh[ÄV³]žŸÅÆ9:;<=>ÅH Ã8©gªh[ÄV³]/ NOPQ+
34RST+-UVWXYI?
TZ6[\5

!!

196

YZ
!" #$%&'()*" +,-./0-12345#$%6789:;<=>6789:;?" @/0AB/C2345#$%6789:;<DE6789:;
F" GHI6789:;
J" KL
J"!" =>6789:;MDE6789:;
J"*" GHI6789:;
N" O<PMQR!"

qr|}Idef>ghL
ÅÆ9:;<=>%ÇÈ©gªh`Å2*'

I " 4!

-(

I "14!
!

-

I "14!

)

I "14!

5 ! "# =T0defghiXj,

I "14!

I " 4!8ÉÊË %ÇÈ©gªh`ÅÑ*'I " 4!

(

I "14!

')(-)

II""14!4! I "14!

,

I "14!

'+

(*

/0

'.+

')(

I " 1 4! I " 1 4! I " 1 4! I " 1 4! I " 1 4!
,

I " 4![¦§¢ÌÍSI " 4![Î¢W¢Ï»WÐV
'+

(*

/0

'.+

I " 1 4! I " 1 4! I " 1 4! I " 1 4!

]^BCD7EFP_`Zabcd 0 34RSTefg!#

197

qr|}Idef>ghW
)

-

(

(* 4!

I " 4! J I " 4! J I " 4! J I ""7 ! %$

"/
%
")/

%$
%$
777!!!;%$

'+ 4!

J I"

8¥?ÉÊË %ÇÈ©gªh`Åã*

"#%
$
%&

%$
%$
777!!!;%$#(.

%$
77!!;%$

0

7 !;%$

ÒÓÔ¦§£Õ’Ö×Ø’Ù\VÚÛ

"
%&
$
0
(.

%$
77!!; %$

ÜÝ8|}IJKLT§9:;<=>[Þß]Aàá’ÇÈ©gªhá¢W×ØXâ?
ä†À?åÀ]àáS’ÙA8ÚÛ
Íæ
!$

YZ
!" #$%&'()*" +,-./0-12345#$%6789:;<=>6789:;?" @/0AB/C2345#$%6789:;<DE6789:;
F" GHI6789:;
J" KL
J"!" =>6789:;MDE6789:;
J"*" GHI6789:;
N" O<PMQR
!%

198

YZ
!" #$%&'()*" +,-./0-12345#$%6789:;<=>6789:;?" @/0AB/C2345#$%6789:;<DE6789:;
F" GHI6789:;
J" KL
J"!" =>6789:;MDE6789:;
J"*" GHI6789:;
N" O<PMQR!&~/€Å#ÕMäåæÃ ô‚'˜·¸5Yýþ1½Åæ-ÿ…
áè{ë*'|ª´µ®*5Pýþ1HÅ!$, % -./* 0//* 01/* 23$ö"Ã˜·¸!|ª´µ®!;–·˜!¹‚'S#5$$%Ã#&ê'-heijkl(ë

!'

199

!"#$%&'()*+,-./01234
0:< % &'=!67;K1 918/
k

)*
k

l

0

m

:

< % (=="77;K1 !/
18/
cn
l

)*
cn

0

o

:

< % (>=";7;K1 !/
18/
cc
p

)*
cc
q

çèáéêë†ìµè¾a§³`µŠ\VTH¶·¸[íî< % ?-&

0:;K1$#! !7
18/
cq

)*
c_

k

o

çè@ïð°è¾a§³`”Š\VTH¶·¸[íî!"Q‚ƒ„/def>gh…/~ !! " #$%"

# % -05 !ë†µñòóôáéê’è¾a§µŠ\VTH¶·¸*
!"#

$%&'(

)*"!

+,

rs123456

cqtclmtoq__tll_

ctnl_tccptcpo_notooptkun[\]^__`7]D

cqtclmtoq_

qtnkp

ctnl_tmomtpku_notomctmpo

vw123456

cqtclmtoq_

ctkml

ctnputp_qtnpn_cntkoktk_naab]_c`7]D

cqtclmtoq_

ctkml

ctcnctcnmtmc__qctlqmtkquaab]_c`xKy_pptuoctuon

ctcml

q__tqopt_q_

qo_tncltonp:;$ ˜·¸¤Ò€<=$ ˜·¸!|ª´µ®¤Ò€)Ô|ª´µ®!;–·˜!¹‚PÈ÷)Ô;–·˜!¹‚PÈ÷
"*

200

Q‚ƒ„/def>gh…/~ †! " '(#‡
# % +,- %ë†µñòóô@ïðVTH¶·¸*
!"#

$%&'(

rs123456--./0.0/123

cntpmnmmtumct_k_tponz ptnnntppotq_n

)*"!

+,

[\]^__`7]D_out_qmtlno

cot_lumktucctuqqt__oz pt_pqtmlct_ku

vw123456--./0.0/1234./533

mmtllptnkqtpnnaab]_c`7]D_out_qmtlno

ktcql

uctmuutnmutmm_ cnt_cltc_ptnuoaab]_c`xKy

cntcmutqkutmqu

otncm

cqtnkct_pntopp c_tkuqtquptlno

ptnmqtklktuop:;$ |ª´µ®!;–·˜!¹‚*•…H4˜·¸!È÷

<=$ ;–·˜!¹‚*•…H4˜·¸!|ª´µ®!È÷")

YZ!" #$%&'()*" +,-./0-12345#$%6789:;<=>6789:;?" @/0AB/C2345#$%6789:;<DE6789:;
F" GHI6789:;
J" KL
J"!" =>6789:;MDE6789:;
J"*" GHI6789:;
N" O<PMQR"!

201

~M!"ˆ‰Š‹VGHhi! # % -054 /554 /254 +,-?UVWè——˜™.3š›ƒœõöÅÆ9:;<=>á÷ø
! TH¶·¸Sèù # ?UVW“ðá\A”8[ØVA$žŸêH8ÄØ]AÇÈ©gªh`% Æ¿- , 1¾[¿Ô+,…~\!-…¤-¯c­dPýþ‡ˆ‰9=123456~€ÅRS‚ƒ'„…†c{=|}T0~€ÅRS‚ƒ'„…†??'@A"BC<DEFGHIJKL
MNOP! " #$%! " &%%! " &'%! " ()#

#+$%*

&+($%

%+%-$

)+,&%

'%*
-)'

#+#'*
#+%-'

#+,%#
#+$-'

&+')&

??'@A"BC<DEFGHIJKL

%+,&$

MNOP

67#8!9:;<=>?$%&'(@A! " #$%! " &%%! " &'%! " ()#

#+-()

%+*%*

%+-$%

'+($$

#+#()
#+#,&

#+$,)
#+$%&

#+--'
#+-'&

,+*#(
%+--'

BCDEF<GHI=>?$%&'(@A""Q‚ƒ„/def>gh…/~M! " '(#V‡ˆ‰9=123456~€ÅRS‚ƒ'„ŽDE7èZ'„ŽKLEDèZ'„ŽŠ‹=…†ê< % ?-&‘
RS‚ƒ'

DE7

KLED

Š‹

c_tkuqtquptlnoaab]_c`xKy

otncm

cntcmutqkutmqu

cqtnkct_pntopp

vw123456

ptmuu__ptlpltocu

mmtllptnkqtpnn

ptnmqtklktuop

)*Œç

qtkkp

quptqlqtl_n

kqtulqt_qmtumu

cutuuktocutck_"QW8 # ?UVW|}~€`“ú[•–"——˜™.3š›ƒœá÷ø¢Wèn„‡ˆ‰€`[(û?üå¢WVA”88ƒl„nˆ‰€`¬…†SýT"ÅÆ9:;<=>á÷ø¢Wè|}~€`Sþÿ£¤á\»ÌµÂ8!8|}<"‰ªSQWýT
# #$%À8›ƒœµè——˜™.3š›ƒœÚÀƒl„nˆ‰€`[ý¨¢W
543,5 |}~€[•–

"#

202

YZ
!" #$%&'()*" +,-./0-12345#$%6789:;<=>6789:;?" @/0AB/C2345#$%6789:;<DE6789:;
F" GHI6789:;
J" KL
J"!" =>6789:;MDE6789:;
J"*" GHI6789:;
N" O<PMQR"$Œmç./-|ª!"#§¨z{YÕMäå-0ùî123#¼O2ºheijkl D >Å=è??p¸=˜-˜·¸YÒŸ)|ª´µ®!;–·˜!¹‚YÇÈ#¼O‹»heijkl D ÉÉq=?@p¸=˜-˜·¸!|ª´µ®YÒŸ);–·˜!¹‚YÇÈ#¼OÊËÌheijkl D y;<!¸=˜Æ¿-ÍÎÏM-ÿ…
()*+,-./0123456
ýþ-|ª´µ®*Y45

"%

203

Žè
!;–·˜¶¬®6¹‚P78÷H[ÕMäåæ-9:!ÊËÌheijkl…úZ½Å;<¯c­d*-¦=>Þ!èê‘rm’“891²?¬@­I\|ª6789Õ{heijkl-NO

"&

204

IMI Workshop: Mathematics of Security Analysis for Modern Cryptography
September 20-22, 2023, JR Hakata City, Fukuoka, Japan

格子ベースの鍵カプセル化方式に対するサイドチャネル攻撃を利用した鍵回復攻撃
草川 恵太

Technology Innovation Institutekeita.xagawa@tii.ae
量子計算機の開発の進展を受け、耐量子計算機暗号（PQC）の標準化や実装が盛んになっている。大きな影響を持つ NIST の PQC 標準化では、サイズ・速度・安全性といった観点から鍵カプセル化方式（KEM）として格子暗号の Kyber が選ばれた。一方、標準化される暗号は様々な機器で実装されることから、サイドチャネル攻撃耐性も重要視される。本発表では Kyber を中心とした格子暗号に対するサイドチャネル攻撃を利用した鍵回復攻撃を、紹介する。特に、サイドチャネル攻撃を用いて平文判定
オラクルや復号オラクルを構築した後の、攻撃の効率化について紹介する。

205

!"#$%&'(")*"#+,'-./011'2"0##+#3',
4'(-%'.)&'%("0330.4#"050+1#3"
2033+.'-60#',"789#
7'+30":050;0 <"!"#$ =>??@&%'()*+*,-./))*0$!"*)./)1!"!2!%.3 45-6!*,5$6(-.7%1%$5'( 4%)!%5!""#$%!"#$!"#$%!"#$%&'%(%)%&'(! "#$#%)*+,-. /0%1.&! "#$#%&''23! "#"(%')*+,-.-/0%1,,-2345-,%1,645474)
4567! 89:;<=>? 89:;<@ABCDEFG;@HIJK! 9:LMNOPLQERSTUVWXYZJK!

!""#" #$%&'()(*+,-''(./01(',-'201030$

206

!"#$%&&'&()*+,)-$.)/01)2-+#((%/3$=%1>?.)>),4%-@3*.)%.)3A5,/%6)*@)4"=%B-7,4%A)0C@)*-2)@0%3443*A%
765,/%4+)%-@3*.)/ '$) 21%.*5$'+%4$)./.,%!.89:::

!

!

'!
/);*#.*;.89<=>?%'.@89A'!B

4!""#" #$%&'()(*+,-''(./01(',-'201030$#4)5*%! "#$%&'()$*&#! +,-./#'.01! 2*'34)5/##36./#/678*8! 9+,./#'.+49+,! +374%3)&:3%7./$$/);.(8*#<.=6/*#$3>$4)53);*#<.&%/)63! +374%3)&:3%7./$$/);.(8*#<.'3)%7=$*&#.&%/)63

5!""#" #$%&'()(*+,-''(./01(',-'201030$

207

67!89&+:;"<+=2%>(+0>+!(%5*%2*&!"#$%&'()*+ !"#$%&'()**+,&'-).&#/0&1'23,)4.$%)*+"3/!&,5)3+.6/7*)3#)8#,-./0,'1"2"1"'3456&78-&.9/:;<=("#$%&'()>+ !"#$%&'()**+,&'-).&#/9+:+*)%/7+:3)*$8&/7*)3#)8#,-.?&&'1"2"1"'3456&78-&.9?@A@BC@DE*"#$%&'()F+ 7*)*&%&../;).5'-).&#/9+:+*)%/7+:3)*$8&/7*)3#)8#&G.?&&'1"2"1"'&%G$H4&I>"#$%&'JJJ+'JJJ'
JJ.?&&'1"2"1"'#1AKLM

6!""#" #$%&'()(*+,-''(./01(',-'201030$?@$,A?+%B3B%B+,-C)2! ?/83'.&#.-&'(63.@/$$*)3! 1A$/*#3'.A7./==67*#<.01!"# $&.+49+,! ,BB*)*3#$
!"#!

!$#!

!%&!

'"(

"(%)*+$"%)*+!"#$%!#&'(

)**

'+,(

-+)

').

(/.

((.

!"#$%!#-+)

'')0

(0**

'*))

,(.

00.

,0.

!"#$%!#'*(0

'&+)

,'+)

'&+)

0(.

&/.

0+.

123#$%!#(*0) "#$%&

(&+

,)0

(&+

44'*/*,(.

'0.

(&0*.

56789(&&'/

,(

,(

,(

'('.

'+*.

'+*.

!"#$%&'()*&+,-./01-&2"*3456&78$&9"#$&:;<4$=>6&?<@A&7%B$C&0)($&DEF@<E=G@6&5&H&@<<<IJK6LM&+DK$N&"($&D%&OPB$NM&+Q$$3N&"($&D%&8P8C$N
RS&N# T&:QU&VU&QD%W>M&RRS&I$3D"%&&!""#" #$%&'()(*+,-''(./01(',-'201030$

208

7

,A?+%5*+?@$,A?

,A?+D ,)-+A5/%E&FG%('05+?)/H%5'&I*+,$%-.
D),8$!<E8)AFGA<
H,*3?68)A<E8*4FI<J)*3?68GAF*4<EIK!

%9@'!A<B>E)'$61@%9B/012334&*"567#$+.

'!

@%9A89B>C%)@D#B<>?%'$61@89A'!B

8)AF%H,*3?68)A<<%L" 8)AF%H,*3?68)A<#F%M8I<<N+)@)%O%*3,%3**)66%4-%J)*3?6 -@3*.)8!""#" #$%&'()(*+,-''(./01(',-'201030$

209

JK,-. LJKMMNOO,PQNRS"T?PUNVW+
789"A"BC!"#DE78FGFHIJ"

48%9$"8&:"7;#<,&=>?@@A.&

H,*3?68)APQ<R

YZ$%& 56%1&JC;;O%5,%[ZB
5W%9IH%56%Z\C;9O%83,G%6->)<! *4SH,*8)AFQPD8Q<<0")&$"5B,#C6";&D<7&EF3! IST8Q<]TTI$^F_`;\B$aFbcd$aFTIbM"#F_`B$eFcd$eFf\"$g%TMF%TYZ

J)*3?68GAF*4<R%$= QUVJ)*8GAF*4<]`+3,G@0$eFhg%HQ?.5*54%[)i)*45-,"= 5W%H,*8)AFQUPD8QU<<S*4(= 4+),%@)47@,%IST8QU<
X= ).6)%@)47@,%ISTU86F*4<%-@%!

9!""#" #$%&'()(*+,-''(./01(',-'201030$,-C)2+'5+.0F5*+X+1&B+?@$,A?
!+G"7&#,&H<6,8&I.&

JK2!LJ.&

M6)%G)G5*34)G%YZ$%&

M6)%YZ$%&

1&JC;;O%5,%:[ZB%56%,-4%?@-2),j]DB9"(g1&JC;;O%5,%:[ZB%56%?@-2),]TTI$^F%)4*g

J)G5*34)G%?@--W6];f_f"(FBc"(FkT"(g!""#" #$%&'()(*+,-''(./01(',-'201030$

XGI-?EY&G(ZOONU&I"("*U&"%3&-"B$(N)%&:.,/10/[-!?<?E>
X09\9?EY&0]$%U&9ZU&\D"U&"%3&9D&:7%N8(PQB?<??>XI^?EY&I"("* "%3&^&:-_0?<?E>
X`J?EY&`"(O)N"&"%3&JaCND%b :.-/7c!?<?Ed;==>

210

:;

!"#+%5*+K2%/G)&+Y,?KZ:"KZJ=K[=)/%E& %5*+!'*)$"H%55)G+#5%G-&'&:9;<=>?@.A;BCDE'F GHI:9;?@.A;BC(F JKE%L;?9.AGHMN?GHCCO;B 79B67LE$OP?GHCE9Q>9E79B67LE$OPH?>A;BCER7E!

C3)/=8$%DE
*4

C3)$%

QU

,#)

*4U

)F=GHGHI

I:!

!""#" #$%&'()(*+,-''(./01(',-'201030$

211

='2)/(+#((%/3+YKC(%'5+*3+>20I+(2%/)&[!
C3)/=8$%DE
C3)$%

*4

QU

,#)

*4U

)F=GHGHI

I:4!""#" #$%&'()(*+,-''(./01(',-'201030$

605$='2)/(+#((%/3+Y7IEG)I)5(+K2%/G)[

!

!

!

C3)/=8$%DE
*4

C3)$%

QU

,#)

*4U

)F=GHGHI

I:5!""#" #$%&'()(*+,-''(./01(',-'201030$

212,)-$?'&I%(/H+K2%/G)+Y,?K[
I)0CB56>34*+%Z@3*.)R

I[OCIBZ%3/35,64%IHB)=/=F%A)0%)Q*+3,/)%NK%W5Q)G%6)*@)4/ '$) 21%.<HI
4$)./.,%!.89:::%9'!
F1%.<bZ$NN<=>?%'$61@89A'!B!

F1%.<='!A.<bZ$NN
JKL<=>?%'$61@89A'!B<=.:G.<bZ$NN

4(%'9.<=.:G.<bZ$NN:6!""#" #$%&'()(*+,-''(./01(',-'201030$:G%'5()\($"H)/3'54+K2%/G)+Y:"K[
9.35,4)Q4C;+)*A5,/%Z@3*.)R

I[OC9;Z%3/35,64%9IH

IHB%NK%YZ%3,G%IH%NK%W5Q)G%6)*@)4/ '$) 21%.M4I4$)./.,%!.89:::

E%IBZ%*+)*A6%IUlSI'()**
E%\)%*3,%*+)*A%T8QU<lST8Q'()**<
E%\)%*3,%5>?.)>),4%9;Z%-W%9IH!

'!A.NbZ$NN
JKL

N=>?%'@89A'!B
N=.:G.NbZ$NN[)WR%Z\C9;O%]Z9#$g:7!""#" #$%&'()(*+,-''(./01(',-'201030$

213

J%FG(-+=)/%E&FG%('05+K2%/G)+YJ=K[
Y37.40%J)*3?67.345-,%Z@3*.)R

I[OCYJZ%3/35,64%IHBK9IH

IHB%NK%YZ$%&/ '$) 21%.O?I4$)./.,%!.89:::

J)*3?67.345-,%5/,-@)6%4+)%23.5G540%4)64
YJZ%3.N306%@)47@,6%T8QU<)=/=R%]c1Mm"$g%Y1O%4-%6A5?%n5Wo%-W%YZ$%&

!

'!
<

<=>?%'$61@89A'!B
N=>?%'@89A'!B<>P@N=B;W=%9;Z%" YJZ%" JZ:<!""#" #$%&'()(*+,-''(./01(',-'201030$!"#$%&'$"(!"#!""#$%

214

:,A+D :FCG'/$,)-+A5/2-E('05*+,$%-.
D),8$!<E8)AFGA<
H,*8)AF><E*4@%9A89B>C%)@D#B%9J)*8GAF*4<E>K!

'!>E)'@%9AQB'!

Q>?%'@89A'!B/0123E4&*"567#$+.&
8)AF%H,*8)AF>+<<%L" 8)AF%H,*8)AF>#<<:9!""#" #$%&'()(*+,-''(./01(',-'201030$,-C)2B":#:,A$]P^+Y,$:,A$]P^+'5+J7:!+^_X+=2%>([
E0%0K'3'%#J

81.='4FLM"3F'F*@J J *#.KLMNO&'(#!S$!]%gK8%,-.m$<%%NK%& S%(("ep/S%;kJ8$K"Fq< -2)@%]r(Fm(g,-.

M%S%4O m%)F%s%S%4k m%W%m%G)*>?#8t<*4S8*#F*,<%S%8*>?#+8M<F*>?08s<<

N'.=,4F.3@J"

M",N99O.&
OV#!,!,F%6F%GVp/,F%kSO6mG)A%S%8OFk<F%GA%S%6

8MUFsU<%S%8G)*>?#+8*#<F%G)*>?08*,<<
tU%S%*>?#8sUCMU6<

(

!

"

#

$

&

%

#

&

!

)

*
&

!""#" #$%&'()(*+,-''(./01(',-'201030$

"

1

'2
+,-./0

'

215

3

12

$

!

+,-./0!;!"`""L#WZY#/01aP[+b$! RS%$K&$P<)&$<&5<Q96$"&5&R&%&S&G$!]%g%S%u3+m3#Qm3,Q,mh%R%31 5,%$!v:7-45),4%@5,/%>-G7.-%4+)%5G)3.%8Q,-.m$<)Q=%% !"# ' ( ) % * % !"$ ' ( ) +% ' (!

)Q=%+% !"% ' , ) +% ! % !"$ ' , ) % ! ' ,

"

#

$

&

%

f)4%

3%S%3+m3#Qm3,Q,mhm3,--Q,-w%S%w+mw#Qmw,Q,mhmw,--Q,-*%S%*+m*#Qm*,Q,mhm*,--Q,-!:!""#" #$%&'()(*+,-''(./01(',-'201030$%cC+`+/+'5+!"`""L#WZY#/01aP[

2

23

23.

235

"

23.77

!

44

"4

46

"6

4.

".

!

45

4.77

"5

".77

<EOE<'S<(GS<)G)STS<)**G)**UEOEU'SU(GSU)G)STSU)**G)**;EOE;'S;(GS;)G)STS;)**G)**# $ % & ' $ ("#$%%&'' %) " '") &'( $ *+ , -)!!

!""#" #$%&'()(*+,-''(./01(',-'201030$216

%cC+`+/+'5+!"`""L#WZY#/01aP[
2

23

23.

235

23.77

24

52.77 52.78 52.75

526

44

"4

26

24

52.77 52.78

52.

46

"6

2.

26

24

52.77

525

4.

".

25

2.

26

24

"

528

!

!

45

"5

"
2.77

2.78

2.75

2.7.

24

4.77

".77

<EOE<'S<(GS<)G)STS<)**G)**UEOEU'SU(GSU)G)STSU)**G)**;EOE;'S;(GS;)G)STS;)**G)**# $ % & ' $ ("#$%%&'' %) " '") &'( $ *+ , -)!4!""#" #$%&'()(*+,-''(./01(',-'201030$,-C)2B":#:,A$]P^+Y,$:,A$]P^+'5+J7:!+^_X+=2%>([
E0%0K'3'%#J

81.='4FLM"3F'F*@J J *#.KLMNO&'(#!S$!]%gK8%,-.m$<%%NK%& S%(("ep/S%;kJ8$K"Fq<%-2)@%]r(Fm(g,-.

M%S%4O m%)F%s%S%4k m%W%m%G)*>?#8t<*4S8*#F*,<%S%8*>?#+8M<F*>?08s<<

N'.=,4F.3@J"

M",N99O.&
OV#!,!,F%6F%GVp/,F%kSO6mG)A%S%8OFk<F%GA%S%6

8MUFsU<%S%8G)*>?#+8*#<F%G)*>?08*,<<
tU%S%*>?#8sUCMU6<

(

!

"

#

$

&

%

#

&

!

)

*
&

!""#" #$%&'()(*+,-''(./01(',-'201030$

"

1

'2
+,-./0

'

217

3

12

$

!

+,-./0!5"d=<+/)5()2)* C'5%2-+*'&(2'CF('05
P)Q.R?CDNGSMTE.&:3%.UVWMXWY&'(k.7)R%kJ8$K"Fq<?CDNGSM#EZ.[.53/'8.&B.#.)&*#.B6*=8

5/

5,

5#

+

#

,

/

0

-

.
!6

!""#" #$%&'()(*+,-''(./01(',-'201030$"d=<+/)5()2)* C'5%2-+*'&(2'CF('05
P)Q.R?CDNGSMTE.&:3%.UVWMXWY&'(k.7)R%kJ8$K"Fq<
95,AR%;kJ8$K"Fq<?CDNGSM#EZ.[.53/'8.&B.#.)&*#.B6*=8R?CDNGSM#EZ.?CDNGSM#E.\ #GS

5/

5,

5#

+

+,-

#

,

/

!"

!#

!$

%

$

#

"

(./0

/./0

(*./0

)'./0

(*./0

/./0

(./0

-

.

0

!7

!""#" #$%&'()(*+,-''(./01(',-'201030$

218,-C)2B":#:,A$]P^+Y,$:,A$]P^+'5+J7:!+^_X+=2%>([
E0%0K'3'%#J

81.='4FLM"3F'F*@J J *#.KLMNO&'(#!S$!]%gK8%,-.m$<%%NK%& S%(("ep/S%;kJ8$K"Fq<%-2)@%]r(Fm(g,-.

M%S%4O m%)F%s%S%4k m%W%m%G)*>?#8t<*4S8*#F*,<%S%8*>?#+8M<F*>?08s<<

N'.=,4F.3@J"

M",N99O.&
OV#!,!,F%6F%GVp/,F%kSO6mG)A%S%8OFk<F%GA%S%6

8MUFsU<%S%8G)*>?#+8*#<F%G)*>?08*,<<
tU%S%*>?#8sUCMU6<

(

!

"

#

$

&

#

&

%

!

)

*
&

"

!""#" #$%&'()(*+,-''(./01(',-'201030$

1

'2

3

12

$

+,-./0+,-./0!

'!</0IEN+*)/0IEN+/022)/(5)&&./01 DE2 3 4 DE) 5 6) 7 +89:;<=* DE4) 3 4&! DE) 5 ./01

xS(("e>/;<=* DE4&! 3 4) DE) 5 ./01

9* 8" )

"89* )>/;<=* ;<=* )* ) <?> " @ "89*+,

$&

$! !

y1 S%G)*>?#8#<%-@%G)*>?#8$<%
S%#%-@%$qqz*>?#83<%W-@%3%5,%]C$qqXF$qqXg
S%#%5W%Ca("%{S%3%{S%a("
67,
S%$%-=N=
670

+
#

+
5670
567,
!8

!""#" #$%&'()(*+,-''(./01(',-'201030$

219

67,

/022)/(5)&&69//,:;9 9<=)">?6@+A<BC<=)">?6@#A<9<+<BC<#..">?6@2A<DBC<2<1E<F5#..0G#..0H
9<+<1D<5I/,<J9<2<J9<I/,
9<#<BKLK"9BEVEOE@9;W=(?XCFEYEOE,,(/2"(3ZEOE3>S@

+
#

670
+
5670
567,

sUCMU6
S%4kmWmym)8C84Om)m)(<6
S 48O6mG<mWmym)8C84Om)m)(<6S%y m%84G%m%W%m%)8 | )6%m%)(6<}L%y m%)@@=%-(%3[EOEB3 SE9AE\EOEBZ SEKESEVE?;(A;)CEOE?;W=('?[CA;W=0?\CC
4"%3?[HA\HCEOE?@9;W=('?;(CAE@9;W=0?;)CCXHEOE;W=(?\H#[H>C

1W%)@@%56%6>3..F%4+),%9IH%56%*-@)@*4=[HEOE[S91AE\HEOE8S92 ]^E>_R7BE91A92!9!""#" #$%&'()(*+,-''(./01(',-'201030$":#+&)/F2'(E0%0K'3'%#J

81.='4FLM"3F'F*@J J *#.KLMNO&'(#!S$!]%gK8%,-.m$<%%NK%& S%(("ep/S%;kJ8$K"Fq<%-2)@%]r(Fm(g,-.

M%S%4O m%)F%s%S%4k m%W%m%G)*>?#8t<*4S8*#F*,<%S%8*>?#+8M<F*>?08s<<

OE!"#'.$%+3(J""M",N99O.&
OV#!,!,F%6F%GVp/,F%kSO6mG)A%S%8OFk<F%GA%S%6$=%8OFk<%L" 8OF%@3,G-><R%BfCf\H"=%8MFs<%L" 8@3,G->F%@3,G-><R%BfCf\H

(

!

"

#

$

&

%

#

&

!

)

*
&

!""#" #$%&'()(*+,-''(./01(',-'201030$

"

1

'2
+,-./0

'

220

3

12

$

!

+,-./04;#)%*+,-.$"/0-1(234!""#$%,.#$:"K+%4%'5&(+,-C)2$]P^+!"#$%&'!+G"72TUVW;&E!L.
```/8"%&]Ts"#g%W-@%I0w)@Cz$"%[-7,GC".&-) $ 4) ) 8A) &'( 7 +B
C-;-,65G)@%*#S*>?#+87F#<F%*,S*>?084<$ 5Z:ER897E *DE 7D &'(:9;?@.A;BCDE>IC-&56/6789:;9<=7$"%>*$%7%$<:?$"%>*&7%#<<@9?=?%>*$7;9A89+<?>B$?/

t1U%S%*>?#84%C 7%61<
tMU%S%*>?#8C7%6M<J)4)@>5,)%61 w0%*+)*A5,/%t1U
!"#$!

+
#

"#$"
'2

3

!""#" #$%&'()(*+,-''(./01(',-'201030$

12

$

!

+,-./0

567,

5670

+

670

XJe?<Y&JZbZ$%D%FfZ*DBB"% "%3&e"Z3$%"P :g0c+?<?<>
X^7,h?@Y&^U&7B)U&,$%)U&!"#"]"N]DU&J)**"&:g+7g0/[-!?<?@>

221

67,

4!

d)H%1'02+0>+eC9+fZ+F`$^Qg><7&!+G"72TUV&H<6,82I&]c1Mm"$g.&;-,65G)@%MS8C"^qF#<F%s%S%"#a4%Q1
t1U%S%*>?#8"^q%61 m%"#a%4<
tMU%S%*>?#8"^q%6M<J)4)@>5,)%61 w0%*+)*A5,/%5W%
tU%S0…010…0 -@%0…000…0%&'($! )(%*+(!

+#%&'($"
567,

5670

+

670

!""#" #$%&'()(*+,-''(./01(',-'201030$

67,

XJe?<Y&JZbZ$%D%FfZ*DBB"% "%3&e"Z3$%"P :g0c+?<?<>
X^7,h?@Y&^U&7B)U&,$%)U&!"#"]"N]DU&J)**"&:g+7g0/[-!?<?@>

44,.#$:"K+D h;P,&T&:F?;4U<>U&e&T&?<iB&H!U&8" T&8*Q"#:,>U&8$ T&8*Q%:e>(%x7)@5)6%G)4)@>5,)%6A1<5,%]C(Fm(gBO,+NF5/G+H#NF#G/H

BO#(

BO'#NF5/G5,H

BO#'+NF5#G+H+NF#G,H

BO#,

BO(

#N/

,

#

+

#

+

+

#

#,

#(

#'

*

'

(
45

!""#" #$%&'()(*+,-''(./01(',-'201030$

222

,.#$:"K+D h;F)2-+Y/05(*B[,&T&:F?;4U<>U&e&T&?<iB&H!U&8" T&8*Q"#:,>U&8$ T&8*Q%:e>(%x7)@5)6%G)4)@>5,)%6A1<5,%]C(Fm(g!"#$%&#'()*$#+,*&#8~:$S(<BO,

6A S%6V-'! +36%"zq"%*-)WW5*5),46
E%~:7)@0%S%z$"%%~:$%S%$z(q!"#$%&#'()*$#+,*&
D#?%'"8%.1@ R-.F.G.@2ASB.TK.UVWXYZD.[2%5"%1
#K

U#

#K

OBC<1 1E<F+G,--HN<=)"1=)<*.: 4P<Q9,+IR39#NF#G/H

BO#(

BO'#NF5/G5,H

BO#'

OBC<1 1E<F+G,--HN<=)"1=)<*6: 4P<Q9,+IR39?%'"8%.1? R-.F.G.@SA2B.TK.UVWXYZD.[2%5"%1+NF5/G+H+NF5#G+H+NF#G,H

BO#,

BO(

#N/

,

#

+

#

+

+

#

#,

#(

#'

*

'

(
46

!""#" #$%&'()(*+,-''(./01(',-'201030$:G%'5()\($"H)/3'54+K2%/G)+Y:"K[+>20I+!"#/Q9X"Q",$&E3?&G+&*34.

*34\+34%N)%,))GR%;+)*A5,/%5W%t1U%lS%$%3,G%-4+)@6U%S%#!

'!
)*"1-.!5$'%<>?%'$61@89A'!B

F1"),.6*T%5A.EH.%!'#

P<)&$<&#Q9X"Q",$&E3?
$= O..%#%-@%[3,G->

1,%/),)@3.F%3..%#%-@%)+ 56%w)44)@"= O..%#%-@%)1 W-@%5 5,%]#F"zzg(= O..%#%-@%)+

47!""#" #$%&'()(*+,-''(./01(',-'201030$

223@)%25'54+&C 1'%+eD9/8"%&]'Mcm"(g%5,6?5@)G%w0%]ZMI'"$g.&MS8C"^qF#<%W-@%5S#
MS8"^q%Q,-.51F#<%W-@%5€#s%S%"#a4
t+US%*>?#8"^q%61 m%"#a%4<
tMU%S%*>?#8"^q%6M<%&'($! )(%*+(!

+#%&'($"
567,

5670

+

!""#" #$%&'()(*+,-''(./01(',-'201030$

670

67,

XJe?<Y&JZbZ$%D%FfZ*DBB"% "%3&e"Z3$%"P :g0c+?<?<>
X!,^h?EY&!"%"#"U&,$%)U&^U&7B)U&!"#"]"N]DU&J)**"&:!0J.+?<?E:E>>
X1,_!?@Y&1NZ*DU&,$*Z("U&_Z3)U&!"#"bD&:+07+&?<?@>

4<

5+67*787&9$:;<-17-=!""#$%

224

KE('I'i'54+h;F)2')&,&T&:F?;4U<>U&e&T&?<iB&H!U&8" T&8*Q"#:,>U&8$ T&8*Q%:e>~:$%S%(!"#$%&#'()*$#+,*&

BO,:R%*3,%N)%@)G7*)%~x7)@5)6!"#$%&#,-&),.&#+,*&l%'+)%G564@5w745-,%-W%6A1 56%;kJ8$K"Fq<+NF5/G+H#NF#G/H

BO#(

BO'#NF5/G5,H

'($

!"

!#

!$

%

$

#

"

+,-

(./0

/./0

(*./0

)'./0

(*./0

/./0

(./0

BO#'

+NF5#G+H+NF#G,H

BO#,

BO(

#N/

,

#

+

#

+

+

#

#,

#(

#'

*

'

(
49

!""#" #$%&'()(*+,-''(./01(',-'201030$

AB4B<+AYh;P[,&T&:F?;4U<>U&e&T&?<iB&H!U&8" T&8*Q"#:,>U&8$ T&8*Q%:e>

'($

!"

!#

!$

%

$

#

"

+,-

(./0

/./0

(*./0

)'./0

(*./0

/./0

(./0

3

%

%

%

%

%

%

)

H8~:$<%
S%(q(KqX%m%"$KqX%S%"=eaX(==BO,+NF5/G+H#NF#G/H

BO#(

BO'#NF5/G5,H

H8~:7)@0<Sz$"H8~:$<S$z"aBO#'+NF5#G+H+NF#G,H

BO#,

BO(

#N/

,

#

+

#

+

+

#

#,

#(

#'

*

'

(
5;

!""#" #$%&'()(*+,-''(./01(',-'201030$

225

L;"Sa^PW+d=8+C-+OF>>I%5+"0*'54,&T&:?<iU<>U&8" T&8*Q"#:,>U&8$ D%&l?Um;n

'($

!"

!#

!$

%

$

#

"

+,-

(./0

/./0

(*./0

)'./0

(*./0

/./0

(./0

3

0

0

%

)

)

%

%

H8~:$<
S%X^KqX%m%(""KqX%m%"(zKqX%S%"=zq"zH8~:7)@0<Sz$"H8~:$<S$($";)O&#NF5/G+H;)O0+#NF5/G5#H

;)O+

#

*

;)O,

#NF5/G5,H+NF#G/H

'

;)O-

+

#'

;)O(
#

+

#,

#(

+NF,G/H

#

+

(

,

Xj0kh?@Y&jD%U&0]$%bU&k]"%bU&-"%U&JZU&"%3&fD%b&:g+7g0/[-!?<?@>]BBQNSddbDB]ZOM8)*dgJ"j[d_$PFIDN*"B8]FgBB"8#F)%Fc7+!F_.IN!""#" #$%&'()(*+,-''(./01(',-'201030$

5:KE)5+:20CG)I<+I02)+0E('I'i%('05
'($

!"

!#

!$

%

$

#

"

+,-

(./0

/./0

(*./0

)'./0

(*./0

/./0

(./0

3

0

0

)

)

)

0

0

a
a

!""#" #$%&'()(*+,-''(./01(',-'201030$#'#

3%,&)"&8";#(,&;65B&$";$;Y@P@19DB.a.U#```bB+a

H8~:7)@0<Sz$"H8~:$<S$"Xab+3,,-,%k-7,G%L%$$ez%\CHU`_a#

H8~:$<%S%X$XKqX%m%"z#KqX%S%"=X(^z

T7WW>3,%k-7,G%L%$"$q%\Z4]^UD_

+

#

#

+

'

*

+

a

a

#

+

#

+

#,

#(

(

,

Xj0kh?@Y&jD%U&0]$%bU&k]"%bU&-"%U&JZU&"%3&fD%b&:g+7g0/[-!?<?@>XGI?EY&GZ)&"%3&Io(B$%NN)% :-j0(PQB)?<?E>

226

5!

>-=6=$!(076=$7&$!%1%,,-,!""#$%.)*F/'54+h;F)2,&T&:F?;4U<>U&e&T&?<iB&H!U&8" T&8*Q"#:,>U&8$ T&8*Q%:e>~:$%S%(%!"#$%&#'()*$#+,*&BO,

6A S%6V-'! +36%"zq"%*-)WW5*5),46

E%~:7)@0%S%z$"%%~:$%S%$z(q!"#$%&#'()*$#+,*&+NF5/G+H#NF#G/H

BO#(

BO'#NF5/G5,H:R%;3,%N)%@)G7*)%~:7)@0l
E ')64%5,%?3@3..).

BO#'+NF5#G+H+NF#G,H

BO#,

BO(

#N/

,

#

+

#

+

+

#

#,

#(

#'

*

'

(
55

!""#" #$%&'()(*+,-''(./01(',-'201030$

227

:$E%2%GG)G+()&(/8"%&=Z['\VI]HH1\VI]"$5A.&=Z['\VIA.

MS8C"^qF#<F%s%S%"#a84+m4#Qm4,Q,m4/Q/</Q9X"Q",$&J^2E3?

t1U%S%*>?#8"^q%61 m%"#a%4<%@"GSADAUA`B
tMU%S%*>?#8"^q%6M<

3<,;#8"7&E29%7%XX"X&$";$
E%~:%S%"~:$*)5.8"zqK9<L$z(qK9!"#$%&#'()*$#+,*&

E%J)4)@>5,)%6+GSG6/ w0%*+)*A5,/
tU%lS%0000 0…0KhK1111 0…0%&'($&)%*+(!&%&'($$)%*+(!$'@3G)C-WW%w)4N)),%"T 3,G%~4@3*)6%&'($%)%*+(!%%&'($#)%*+(!#+#%&'($"
567,

5670

+

670

67,

X^7,h?@Y&^U&7B)U&,$%)U&!"#"]"N]DU&J)**"&:g+7g0/[-!?<?@>&')(&%B(ZCQ(
56
X!,^h?EY&!"%"#"U&,$%)U&^U&7B)U&!"#"]"N]DU&J)**"&:!0J.+?<?E:E>>
X//fh?EY&/"p$%3("%U&/"WDU&fqg%W$(NU&`]"ND%U&0]"BB)Q"3]P"P&:!0J.+?<?E:?>>!""#" #$%&'()(*+,-''(./01(',-'201030$

L..=a^XW+KC&)21%('05+05+:%2%GG)G+d=8+'5+L;"Sa^PW,&T&:?<iU<>U&8" T&8*Q"#:,>U&8$ D%&l?Um;n

'($

!"

!#

!$

%

$

#

"

+,-

(./0

/./0

(*./0

)'./0

(*./0

/./0

(./0

3

0

0

%

)

)

%

%

#NF5/G+H;)O0

H8~:$<
S%X^KqX%m%(""KqX%m%"(zKqX%S%"=zq"z
1W%86A+F6A#<S8C(F#<F%~:"S>3Q8G5/FG+<SX
H8~:"<
S%X$K"#, m%h%m%($K"#, S%"=e#^^h
H8~:X<
S%X$K",0 m%h%m%($K",0 S%I_V`UIa&b&I!""#" #$%&'()(*+,-''(./01(',-'201030$;)O&#NF5/G5#H;)O,#NF5/G5,H

+

*

#

+

#,

#(

;)O+

#

+NF,G/H

'

;)O-

+

#'

;)O(

+NF#G/H

#

+

(

,

Xj0kh?@Y&jD%U&0]$%bU&k]"%bU&-"%U&JZU&"%3&fD%b&:g+7g0/[-!?<?@>
57]BBQNSddbDB]ZOM8)*dgJ"j[d_$PFIDN*"B8]FgBB"8#F)%Fc7+!F_.IN
X//fh?EY&/"p$%3("%U&/"WDU&fqg%W$(NU&`]"ND%U&0]"BB)Q"3]P"P&:!0J.+?<?E:?>>228

L..=a^XW9&+d=8+Y%5*+I02)[,&T&:?<iU<>U&8" T&8*Q"#:,>U&8$ D%&l?Um;n~:9%S%(%!"#$%&#'()*$#+,*&;)O&

6A S%6V-'! +36%"zq"%*-)WW5*5),46

E%~:7)@0S"~:$*)5.8"zqK9<L$z(qK9!"#$%&#'()*$#+,*&+NF#G/H

;)O,

;)O+

#NF5/G5,H+NF5#G+H

;)O(

;)O0

M6)%f\H%N54+%T5,4%]JJD["#g%4-%*->?.)>),4%?3@453.%I[O!""#" #$%&'()(*+,-''(./01(',-'201030$+NF5/G+H#+NF,G/H

'

;)O-

#

+

#

+

#

+

#,

#(

#'

*

(

,

X//fh?EY&/"p$%3("%U&/"WDU&fqg%W$(NU&`]"ND%U&0]"BB)Q"3]P"P&:!0J.+?<?E:?>>
5<
XffG/?<Y&f"8]*"%F+)C$3U&fZ8"NU&G)%bU&/)NND&:0/[-!1&?<?<>

Lj?^XW+^$E0&'('05%G+I'&I%(/H+%((%/3Y-@%)Q3>?.)R

1W%N)%*3,%*+)*A t+U%3,G%t#,IUR%f)4%3%S%"#a;-,65G)@%MS83w%m%3*%Q#,IF#<F%sS34
W-@%wF%*%5,%uC$F#Fm$v#$

t+US*>?#84%C 3w6+ m%3*6#,I<
t#,IUS*>?#84%C 3*6+ C 3w6#,I<""#$

tMU%S%*>?#83w6M m%3*6#,IUM<
8-@%6N3?%w%3,G%*%W-@%$"a%{%i<]DB"(g%G)65/,6%/--G%4)646

"!

c!W

#$

#%

#&

!

&

%

$

#

#

#

#

#

#

#

#%

#

#

#

#

#

#

+

#&

#

#

#

#

#

+

+

!

#

#

#

#

+

+

+

&

#

#

#

+

+

+

+

%

#

#

+

+

+

+

+

$

#

+

+

+

+

+

+

0<$". t#,IU%>5/+4%w)%$%%XGI?EY&GZ)&"%3&Io(B$%NN)% :-j0(PQB)?<?E>
58!""#" #$%&'()(*+,-''(./01(',-'201030$

229

Lj?^XW+^$E0&'('05%G+I'&I%(/H+%((%/3
1W%N)%*3,%*+)*A t+U%3,G%t#,IUR%

H8~:"<S$#$K"#,mhm(X##K"#,LX=^#a"z]DB"(g%G)65/,6%/--G%4)646%8Y5/=$$m$(<

H8~:<%L%$"#z=(

dFV

""#$

"!
#$

#%

#&

!

&

%

$

#$

#+

I

I

V

I

#+

#+

#%

#+

V

.

-

.

V

:

#&

:

.

0

0

0

-

I

!

:

-

0

/

0

-

I

&

:

-

0

0

0

.

I

%

I

V

.

-

.

V

:

$

:

:

:

I

:

#+

#+

!""#" #$%&'()(*+,-''(./01(',-'201030$*WR%
T7WW>3,%k-7,G%$G5>=%L%$"$q%\Z4]^UD_b+3,,-,%k-7,G%L%$$ez%\CHU`_
0<$". \)%,))G%4-%*+)*AtU lS%10…0?0…0 -@%00…0?0…0
1W%N)%*3,%*+)*A%", *36)6%5,%-,)%x7)@0F%
4+),%H8~:<%{%$z(q%K%"%S%^qa\77?^U`A&Fc^U`_

XGI?EY&GZ)&"%3&Io(B$%NN)% :-j0(PQB)?<?E>
59
X//fh?EY&/"p$%3("%U&/"WDU&fqg%W$(NU&`]"ND%U&0]"BB)Q"3]P"P&:!0J.+?<?E:?>>
X!,^h?EY&!"%"#"U&,$%)U&^U&7B)U&!"#"]"N]DU&J)**"&:!0J.+?<?E:E>>

L!@S^XW+E%'2f'&)$E%2%GG)G+%((%/3[7,%]DB"(g%5,%9C?3@3..).
;+)*A t+UFhF%tT5#U%3,G%t#,IUFhF%t#,IUT5#U
0<$". 1W%9%S%"F%N)%,))G%4-%*+)*A%tU lS%
000…0??0…0, 010…0??0…0
100…0??0…0, 110…0??0…0

Å%q%x7)@5)6%4-%G)4)@>5,)%"9%?-6545-,6
H8~:<%{%"q*)5.8"zqK"9<%0<$".
1W%N)%*3,%*+)*A%"T *36)6%5,%-,)%x7)@0F%
4+),%H8~:<%{%"(*)5.8"zqK9<\77?^U`A&Fc^U`_!""#" #$%&'()(*+,-''(./01(',-'201030$

X+9k?EY&+]")U&9DZU&k])Z&:.-/7c!?<?E>
6;
X//fh?EY&/"p$%3("%U&/"WDU&fqg%W$(NU&`]"ND%U&0]"BB)Q"3]P"P&:!0J.+?<?E:?>>
X!,^h?EY&!"%"#"U&,$%)U&^U&7B)U&!"#"]"N]DU&J)**"&:!0J.+?<?E:E>>

230

?*+-1@-A6$51%A,-=!""#$%A>>)/(+0>+7IE)2>)/(+:"+K2%/G)
b;O%-@3*.)%>5/+4%w)%5>?)@W)*4e'e&‚W R%3**7@3*0%-W%4+)%-@3*.)‚# R%3**7@3*0%-W%)3*+%*-)WW=%\Z4]^U`_‚# S%‚W,K-.,H8~)@@<%S%z$"%8$%C ‚#<0.999999

0.999997…

0.0013…

0.99999

0.99997…

0.013…

0.99990.9997…

0.131…

0.999

0.9974…

1.310…

0.99

0.9745…

13.017…

0.95

0.8768…

63.061…

0.90

0.7633…

121.144…

0.80

0.5645…

222.973…

G76$"&D<75"&5<;$S8~)@@%W@->%z$"<^X)CC~)@@S$(R%*-64%L%"#,+KV~)@@S$%%R%*-64%L%"##KI
8\5..%w)%@)G7*)G%w0%f\H%N54+%+5,46<

LNd"77O

X+0kh?EY&+]$%U&0]$%bU&k]"%bU&GZ)U&\D"%b&:!0J.+?<?E:@>>
6!

!""#" #$%&'()(*+,-''(./01(',-'201030$

231

d00&('54+#//F2%/‚W R%3**7@3*0%-W%4+)%-@3*.)

HQ?)@5>),43.%@)67.4%]Mc'm""g

J%f<7#$+&^<$"&)#$B&$&$7%5";.
-.!

.() ) ( + /*+,0 *. ( + ./ -0*
1 /K#g"X#B<<8&5<Q9%7#;<,
w0%&ff%8,)/3452)%.-/%.5A).5+--G<
22331 &4 65 ) + /-*+2 789 & : %* ; 65 F%N+)@)%%* 56%6C4+%4@3*)F%& : %* ; 65 56%3%9JY%4@35,)G%w0%&&%

e'

J^

0KK

SW

0.999

0.99999 by 5100% by 2

HW

0.998

0.99999 by 5100% by 2

MaskedSW

0.960

0.99999 by 11

100% by 5~'@3*)6%S%4%%~:7)@0

X,^!h??Y&,$%)U&^U&!"%"#"U&7B)U&!"#"]"N]DU&J)**"&:!0J.+?<??:@>>
64!""#" #$%&'()(*+,-''(./01(',-'201030$

L!"Sa^XW+!(2%()4*$7%$"(+.&>%;$&3B"5g#,(.&'F bUB<JLEc Ud e5b ]JB_Ef4
gh55O','(

5_9;.E0E;R9KKFEUdE(EY697J9>(F :9B9;BE977FEUQR;.>EUdEiK<>BE;_9;.JLjk
gh67O(4&'(^0,F 5R779;BE]7RLjE;R9KKJ;J9LB>
gh89:;<O,4g97740ST

l7RWEcAE]9E;<LE;RW=6B9E;B'!mE;B( ]JB_E
6'=HA6(=HA6)=HA6%=HA8=HE>FBF'FEX'=HO;W=(?8=H#?6'=H>'STS6%=H>%CC(FEX9HEO*,FE>'>(>)>% J>E;R779;BEF X''HEX'(HEOE*'

f4O*F//AEf(O*F/-0AE%?g977CO',E

X+0kh?EY&+]$%U&0]$%bU&k]"%bU&GZ)U&\D"%b&:!0J.+?<?E:@>>65!""#" #$%&'()(*+,-''(./01(',-'201030$

232

L!"Sa^XW+!'IFG%('05+Y8%CG)Bg+%5*+U["DKXY;<=9#/#,<1E<FYZ[U,#H<2E=<XY>?@$(9#-/.<1E<F\]^U,,H

Bs]b;`m"(g‚W~4@3*)6~)@@~4@3*)6~)@@#=eez%84S(<(e(q=z#=$#$qXz=$#=z$#=ez#%84S^<

e$az=##="z(a^X=z#=$z#=e##%84S$$<$XX((=(#=(e^^^(=e#="z&ff]b;`m"(g‚W~4@3*)6~)@@~4@3*)6~)@@#=eea%84S"<

(#^"

L#=##

$qq(=(#=#X#=eq#%84Sz<

^qa#

L#=##

(X"X=e#=#z

X+0kh?EY&+]$%U&0]$%bU&k]"%bU&GZ)U&\D"%b&:!0J.+?<?E:@>>
66!""#" #$%&'()(*+,-''(./01(',-'201030$

B5(0%=-'$"CD!""#$%

233

,-C)2$QgUI0w)@C^qaR%
p,S;kJ8$K"FX< -2)@%]r"Fm"g,-.F%6Vp,/

E3?2G%;"8&!H4.
H8~:<%S%^qa%%H8~:$<%S%$^^q

3h1NUiV]jO

E29%7%XX"X&E3?2G%;"8&!H4.
~:%{S%((*)5.8"zqK9<
9S"R%~:%{S$$z"
9SXR%~:%{S%z^q

'($

!#

!$

%

$

#

+,-

(.(/

0.(/

/.(/

0.(/

(.(/

3#+-

%

%

)

)

E@YZDBGU#`DUV

)

R9-

(

(

'

R90

R9.

R9/
(

'

5,

5#

!""#" #$%&'()(*+,-''(./01(',-'201030$

h

12A"AB3.4CD4D4E'2A"A.4C(AF!

'

(

+

#

'

,

6<

=K+`+^]g$:%2%GG)G+:"K
I0w)@C^qaR%
p,S;kJ8$K"FX< -2)@%]r"Fm"g,-.F%6Vp,/

E3?2G%;"8&!H4.
H8~:<%S%^qa%%H8~:$<%S%$^^q

3h1NUiV]jO

E29%7%XX"X&E3?2G%;"8&!H4.
~:%< ((*)5.8"zqK9<
9S"R%~:%< $$z"
9SXR%~:%< z^q

'($

!#

!$

%

$

#

+,-

(.(/

0.(/

/.(/

0.(/

(.(/

3#+-

%

%

)

)

E@YZDBGU#`DUV

)

R9-

(

R9/
(

'

5,

5#

!""#" #$%&'()(*+,-''(./01(',-'201030$

1?2G%;"8&!H4.
9S"zqR%~:%< e12A"AB3.4CD4D4E'2A"A.4C(AF!

(

'

R90

R9.

'

(

+

#

'

,

68

234

=K+`+^]g$:%2%GG)G+:"K
I0w)@C^qaR%
p,S;kJ8$K"FX< -2)@%]r"Fm"g,-.
6Vp,/

*!6

*!4
!; !: !! !4!!66!; !: !! !4

*!.
!!66

!; !: !! !4!!66

0%$67%X&1?2G%;"8&!H4.
~:%S%e%85,%4+)%N-@64%*36)<
D#.?%'"8%.1@ R-.F.G.@2ASASB.TK.`.[2%5"%1U#.?%'"8%.1? R-.F.G.@SA2ASB.TK.`.[2%5"%1_4`#.?%'"8%.1E R-.F.G.@SASA2B.TK.`.[2%5"%1

_6

_.

_5

_.77

69

!""#" #$%&'()(*+,-''(./01(',-'201030$

Lj66R^XW+!"#$@=:"+Y=K$d%&)*+,.#[*W=%"zqC?3@3..).%9;ZCw36)G%I[OR~:%S%e%85,%4+)%N-@64%*36)<#($&),(!&MS8C7F#F#<F%s%S%384+m4#Qm4,Q,m4/Q/<
t1U%S%*>?#87%61 m%3%4<
tMU%S%*>?#87%6M<?G;"7:%$#<,&U.&#($%),(!%#($$),(!$#($#),(!#+#%&'($"
567,

5670

+

670

67,

&-%,))G%4-%|xKX%{%7%6M {%xKX
6&#;&DX"-#GX"
XGcc\?EY&GZ)U&c"O)#)WU&cDCNN)%U&\)]"%NN)%&:.-/7c!?<?Ed?A5>
7;!""#" #$%&'()(*+,-''(./01(',-'201030$

235

Lj66R^XW+!"#$@=:"+Y=K$d%&)*+,.#[*W=%"zqC?3@3..).%9;ZCw36)G%I[OR~:%S%e%85,%4+)%N-@64%*36)<[;"&K1E3&$<&5B"5g&"77<7

*!6

*!4
!; !: !! !4!!66!; !: !! !4

*!.
!!66

!; !: !! !4!!66

1?2G%;"8&!H4&%(%#,;$&!+G"72kl`.
H8~:<%S%^%8b+3,,-,%k-7,G<
L-9"7#Q",$.
$"%4@3*)6%W-@%$64%>36A5,/%I0w)@C^qa
ƒS#=eezR%$#%4@3*)6

_4

_6

_.

_5

_.77

XGcc\?EY&GZ)U&c"O)#)WU&cDCNN)%U&\)]"%NN)%&:.-/7c!?<?Ed?A5>
7:!""#" #$%&'()(*+,-''(./01(',-'201030$!FII%2-

236

!FII%2! 2*'34)5/##36./#/678*8! J5@)*4%3443*A! 1,G5@)*4%3443*A! +374%3)&:3%7./$$/);.(8*#<.D-]E.=6/*#$3>$4)53);*#<.&%/)63! 9)@W)*4%9;Z! 9)@W)*4%BsC9;Z! 1>?)@W)*4%9;Z! +374%3)&:3%7./$$/);.(8*#<.'3)%7=$*&#.&%/)63! 9)@W)*4%JZ! ;-G5,/74!""#" #$%&'()(*+,-''(./01(',-'201030$

237

IMI Workshop: Mathematics of Security Analysis for Modern Cryptography
September 20-22, 2023, JR Hakata City, Fukuoka, Japan

深層学習に基づくサイドチャネル攻撃とその対策
伊東 燦

NTT 社会情報研究所
akira.itoh@ntt.com
暗号モジュールから副次的に発生する消費電力・漏洩電磁波（サイドチャネル情報）を用いることで、暗号モジュール内の秘密鍵を推定する攻撃をサイドチャネル攻撃という。本講演では、近年高い注目を集めているニューラルネットワークを用いたサイド
チャネル攻撃（DL-SCA）について解説を行う。DL-SCA では、攻撃対象モジュールのサイドチャネル情報についてあらかじめ学習することで、従来よりも強力な攻撃が可能なことが知られている。また、サイドチャネル攻撃に対する代表的な対策手法であるマスキング対策と、その理論的な安全性についても紹介し、マスキング対策が DL-SCAに対しても有効であることを説明する。

239

深層学習に基づくサイドチャネル攻撃とその対策

伊東燦 （177社会情報研究所）

サイドチャネル攻撃とは◼ チップから漏洩する電磁波、消費電力から秘密情報を盗み取る攻撃•

漏洩する情報をサイドチャネル情報と呼ぶ•

通常は、暗号モジュール（暗号化処理を行うチップ）から秘密鍵を窃取

モジュール

消費
電力

電磁波

処理
時間

秘密
鍵

サイドチャネル攻撃
1

Copyright NTT CORPORATION

240

サイドチャネル攻撃の種類◼ 単純電力電磁波解析（6LPSOH3RZHU(0$QDO\VLV63$6(0$）
計測

0 10 000 1 0 1 001 01

RSA暗号が実装されたボード◼ 統計処理を用いた攻撃（相関電力電磁波解析など

攻撃対象
モジュール

𝑡𝑡
大量のサイドチャネル情報

秘密鍵
統計処理
2

Copyright NTT CORPORATION

サイドチャネル攻撃の種類◼ 単純電力電磁波解析（6LPSOH3RZHU(0$QDO\VLV63$6(0$）
計測

0 10 000 1 0 1 001 01

RSA暗号が実装されたボード◼ 統計処理を用いた攻撃（相関電力電磁波解析など

攻撃対象
モジュール

𝑡𝑡
大量のサイドチャネル情報

秘密鍵
統計処理
3

Copyright NTT CORPORATION

241

プロファイリング型サイドチャネル攻撃プロファイリングフェーズ

学習済みパラメータ

𝑡𝑡
𝑡𝑡
同じ型番 の
攻撃対象の深層学習
サイドチャネル
サイドチャネルモジュール
モジュール
モデルの学習情報
情報

攻撃フェーズ

学習済み
モデル

秘密
鍵

◼ 深層学習に基づく6&$（'/6&$）
従来の攻撃と比べてより強力な攻撃が可能•›

数倍から数十倍強力

専門知識があまりなくても実行可能•›

波形の前処理などがほとんど必要ない
4

Copyright NTT CORPORATIONDL-SCAの現状◼ 学習と攻撃のデバイスが違っても攻撃に問題はないのか？
•

機械学習のドメイン適応を用いることで解消可能なことが示されている•

ただし，うまく行かない場合もある◼ 攻撃可能な暗号は？
•

共通鍵は$(6，公開鍵は56$，(&&，格子ベース暗号などが報告•

ただし現状の主な対象は$(6（ほぼほぼ$(6›$(6以外への攻撃については，今後増えていくと思われる◼ 性能指標は適切か？
•よく使われる目的関数である負の対数尤度と，攻撃成功確率の関係は現在進行系の研究課題◼ '/6&$に対しても意味のある対策はあるのか？
•

従来のマスキング対策は，意味がある対策になることが実験的・理論的にわかってきてる5

Copyright NTT CORPORATION

242

DL-SCAの現状◼ 学習と攻撃のデバイスが違っても攻撃に問題はないのか？
•

機械学習のドメイン適応を用いることで解消可能なことが示されている•

ただし，うまく行かない場合もある◼ 攻撃可能な暗号は？
•

共通鍵は$(6，公開鍵は56$，(&&，格子ベース暗号などが報告•

ただし現状の主な対象は$(6（ほぼほぼ$(6›$(6以外への攻撃については，今後増えていくと思われる

今回は$(6への攻撃を対象として以下の２つに着目◼ 性能指標は適切か？
•よく使われる目的関数である負の対数尤度と，攻撃成功確率の関係は現在進行系の研究課題◼ '/6&$に対しても意味のある対策はあるのか？
•

従来のマスキング対策は，意味がある対策になることが実験的・理論的にわかってきてる6

Copyright NTT CORPORATION

本講演の内容$(6への攻撃を題材として以下の二つについて解説◼ '/6&$の損失関数と、攻撃成功確率の間の関係>@• '11で一般的な負の対数尤度（1HJDWLYH/RJ/LNHOLKRRG1//）と攻撃成功確率（6XFFHVV5DWH65）の間の関係に着目• 65が1//から推定できることを説明◼ マスキング対策の安全性>@• サイドチャネル攻撃で一般的なマスキング対策が、'/6&$にも有効である
ことを説明>@$NLUD,WR5HL8HQRDQG1DRIXPL +RPPD13HUFHLYHG,QIRUPDWLRQ5HYLVLWHG1HZ0HWULFVWR(YDOXDWH6XFFHVV5DWHRI6LGH&KDQQHO$WWDFNV7&+(6
>@$NLUD,WR5HL8HQRDQG1DRIXPL +RPPD2QWKH6XFFHVV5DWHRI6LGH&KDQQHO$WWDFNVRQ
0DVNHG,PSOHPHQWDWLRQV,QIRUPDWLRQ7KHRUHWLFDO%RXQGVDQG7KHLU3UDFWLFDO8VDJH$&0&&6
Copyright NTT CORPORATION243

7

AESへのDL-SCA

8

Copyright NTT CORPORATION

深層学習による推論◼ 波形から中間値の推定に深層学習（'/ を使用•

画像分類の場合•

6&$の場合•'/6&$では

車 犬

鳥 猫

Sboxの出力0123 4 5 6𝑡𝑡›

プロファイリングフェーズでもっともらしい確率分布を学習›

攻撃フェーズで、学習により得た確率分布で中間値を推定

Copyright NTT CORPORATION

244

255

9

CPU（ソフトウェア）上のAESへの攻撃の場合
平文

128 bits

SubBytes
ShiftRows
MixColumns

平文の行列

鍵

鍵の行列

バイト目 バイト目
バイト目

鍵

128 bits
SubBytes
ShiftRows
MixColumns

SubBytes（1バイトごとの置換）

S­box

鍵

SubBytes
ShiftRows

電力波形の様子

鍵

バイトごとに漏洩

暗号文

AESの暗号化アルゴリズム
Copyright NTT CORPORATION

バイトごとの攻撃に分解可能

10

漏洩

消費電力

一バイトごとのサイドチャネル攻撃

平文を変えたときの中間値の値のパターンから鍵の値を絞り込む

Copyright NTT CORPORATION

245

11

𝑡𝑡

NNを使った攻撃のイメージ◼ 推定する部分鍵が２ビットの場合（鍵候補はつ）
波形：

出
力
確
率





波形：

波形：




出
力
確
率





 

出

力



確
率

12

Copyright NTT CORPORATION

NNを使った攻撃のイメージ◼ 推定する部分鍵が２ビットの場合（鍵候補はつ）
波形：

出
力
確
率





波形：

波形：




出
力
確
率





 





出

力



確
率


乗算



13

Copyright NTT CORPORATION

246

NNを使った攻撃のイメージ◼ 推定する部分鍵が２ビットの場合（鍵候補はつ）
波形：

出
力
確
率





波形：

波形：




出
力
確
率





 

出

力



確
率















乗算


14

Copyright NTT CORPORATION

NNを使った攻撃のイメージ◼ 推定する部分鍵が２ビットの場合（鍵候補はつ）
波形：

出
力
確
率





波形：

波形：




出
力
確
率





 

出

力



確
率

















Copyright NTT CORPORATION

247





乗算


15

NNを使った攻撃のイメージ◼ 推定する部分鍵が２ビットの場合（鍵候補はつ）
波形：

出
力
確
率





波形：

波形：




出
力
確
率





 























Copyright NTT CORPORATION

出

力



確
率






乗算 

16

NNを使った攻撃のイメージ◼ 推定する部分鍵が２ビットの場合（鍵候補はつ）
波形：

出
力
確
率








出
力
確
率





 

出

力



確
率














Copyright NTT CORPORATION

波形：

波形：






248




一番大きい
N を正解と予想




17

負の対数尤度（Negative log likelihood:NLL)◼ 確率の積の対数を取ってマイナスしたもの• 𝜃𝜃：モデルパラメータ• 𝑞𝑞𝜃𝜃 𝑧𝑧 𝑥𝑥 ：条件付き確率（モデル）対数を内側に入れる• 対数を取ることでアンダーフローを防げる◼ 確率が大きいほど、1//は小さい

アタックフェーズ

プロファイリングフェーズ
入力：学習データ 𝑥𝑥1 , 𝑧𝑧1 , 𝑥𝑥2 , 𝑧𝑧2 , … , 𝑥𝑥𝑚𝑚 , 𝑧𝑧𝑚𝑚
（ただし，𝑧𝑧𝑖𝑖 = 𝑆𝑆(𝑡𝑡𝑖𝑖 ⊕ 𝑘𝑘)）
出力：1//を最小とするパラメータ𝜃𝜃෠

入力：データ 𝑥𝑥1 , 𝑡𝑡1 , 𝑥𝑥2 , 𝑡𝑡2 , … , 𝑥𝑥𝑚𝑚′ , 𝑡𝑡𝑚𝑚′
学習済みパラメータ𝜃𝜃෠
出力：1//を最小とする部分鍵𝑘𝑘෠
18

Copyright NTT CORPORATIONDL-SCAの安全性評価

19

Copyright NTT CORPORATION

249

デバイスへのDL-SCAの評価方法

波形𝑡𝑡

～
回攻撃を実施

攻撃


SR

学習

1//が小さくなるようにパラメータ更新

モデルの学習波形𝑡𝑡



学習済みモデル 秘密鍵フィードバック#traces• 6XFFHVV5DWH 65 ：𝑚𝑚波形使ったときに，
正解鍵𝐾𝐾を当てられる確率◼ 学習と攻撃、65の計算を繰り返し最適な
ハイパーパラメータパラメータを決定
20

Copyright NTT CORPORATION

デバイスへのDL-SCAの評価方法

波形𝑡𝑡

～
回攻撃を実施

攻撃


SR

学習

1//が小さくなるようにパラメータ更新

モデルの学習波形

𝑡𝑡

学習済みモデル 秘密鍵フィードバック#traces• 目的関数である1//と65の関係性がよくわかってない›

1//が小さい方が，65が大きくなるという根拠がない›

普通に考えると，65を直接小さくしたほうが良いのでは？

• 65の計算コストが高い›

1//から推定できるとよい

1//と65の間の関係を明らかにすることが重要
21

Copyright NTT CORPORATION

250通信路モデル◼ サイドチャネル攻撃は次のような通信路とみなせる
復号器
（攻撃者）

S
符号器
•

通信路（サイドチャネル）

復号器は何でも良いことに注意

𝑚𝑚の指数は𝑚𝑚個の組のこと（例：𝑇𝑇 𝑚𝑚 = 𝑇𝑇1 , 𝑇𝑇2 , … , 𝑇𝑇𝑚𝑚 ）攻撃者はサイドチャネル情報𝑋𝑋 𝑚𝑚 を受信して，鍵𝐾𝐾を推定›

サイドチャネルを用いて，中間値𝑍𝑍を送信していると解釈• GHChériseyらは，通信理論の結果から，次式を証明›

𝑚𝑚は波形数，𝐼𝐼(𝑍𝑍; 𝑋𝑋)は相互情報量，SR m は任意の攻撃を使った場合の最大の攻撃成功確率

Copyright NTT CORPORATION

22の意味◼ 与えられた65に対して，何ビット受信する必要があるかを表現
鍵が２ビットのときの

のグラフ

2

• 65 のとき• すべての鍵のビット（２ビット）が必要• 65 のとき• 当てずっぽうなので，ビットでよい

1
0

0

0.25

1

攻撃成功確率（SR）

必要な情報量（鍵のビット数）を表現

一波形あたりで伝送可能な中間値のビット数
23

Copyright NTT CORPORATION

251

式の使い方◼ 相互情報量が与えられると，攻撃に必要な波形数がわかる• 例：１波形あたり𝐼𝐼 𝑍𝑍; 𝑋𝑋 = 0.1ビットが伝送可能なとき，あるバイトの部分鍵への攻撃が成功（65 ）する
ために必要な波形数𝑚𝑚◼ ガウスノイズのときは，相互情報量は615がわかると計算可能
攻
撃
に
必
要
な
波
形
数

0.5
0

0

SNR

1

500
0

0

SNR

1

• ガウスノイズじゃないときは，他の何らかの推定手法を用いる
24

Copyright NTT CORPORATION

クロスエントロピーによるSRの概算◼ 1//はクロスエントロピー（&URVV(QWURS\&( に（概）収束◼ 相互情報量𝐼𝐼(𝑍𝑍; 𝑋𝑋)に関して，𝐼𝐼 𝑍𝑍; 𝑋𝑋 ≥ 𝐻𝐻 𝑍𝑍 − CE(𝜃𝜃)が成立• 1//（&( が小さくできるためには，波形に中間値の情報が乗ってる必要がある• 見方を変えると，𝐻𝐻 𝑍𝑍 − CE(𝑞𝑞𝜃𝜃 )はモデルが取り出せる情報量を意味していそう• そこで，𝐻𝐻 𝑍𝑍 − CE(𝑞𝑞𝜃𝜃 )を知覚情報PI𝑞𝑞𝜃𝜃 𝑍𝑍; 𝑋𝑋 と呼ぶ◼ 7&+(6で0DVXUHらは，次が成り立ってるのではないかと予想

25

Copyright NTT CORPORATION

252

NNの通信路モデル
復号器（11を利用）S
符号器

通信路（サイドチャネル）◼ このモデルにおいて，0DVXUHらが述べていることは次のこと• 11が１波形あたりから取り出せる中間値の情報量はおそらく• したがって，攻撃成功確率65は次式で抑えられるのではないか• 実験的には成り立ってそうなことを確認
26

Copyright NTT CORPORATION

逆温度による変換と予想の反例
𝛽𝛽𝑞𝑞𝜃𝜃 (𝑧𝑧 ∣ 𝑥𝑥)𝛽𝛽𝑞𝑞𝜃𝜃 𝑧𝑧 𝑥𝑥

𝑞𝑞𝜃𝜃 (𝑧𝑧 ∣ 𝑥𝑥)𝛽𝛽 ≫ 1𝛽𝛽 ≪ 1

実は，SRは𝛽𝛽に対して変化しないのに対して，CE（NLL)は変化する

𝛽𝛽

NLL

0.1
0.7933

ソフトウェア実装の$(6への攻撃結果
1
0.7789

Attackresult

10
1.565

27

Copyright NTT CORPORATION253

𝜷𝜷に対するCEの挙動◼ 特殊な状況を除いて，&(（1// は𝛽𝛽に対して凸関数
部分鍵が8ビットのとき

部分鍵が8ビットのとき

0
𝐻𝐻(𝑍𝑍)

0

0

逆温度𝛽𝛽

逆温度𝛽𝛽

• 3,が小さい分布𝑞𝑞𝜃𝜃 𝑧𝑧 𝑥𝑥 でも，𝛽𝛽の変換で3,が大きくなる可能性がある›

7&+(6で，我々は𝛽𝛽に対して最小となる&(を(IIHFWLYH&(（(&(）と定義

28

Copyright NTT CORPORATION

実験結果$6&$'データセット（ソフトウェア$(6 の場合の結果&( 1//

攻撃結果(&(推定された値

学習曲線

65 に必要な波形数$(6の7KUHVKROGLPSOHPHQWDWLRQの場合の結果&( 1//

攻撃結果

攻撃結果を
1//から
推定できそう

推定結果(&(

Copyright NTT CORPORATION

65 に必要な波形数

学習曲線

254

29

DL-SCAへの対策

30

Copyright NTT CORPORATIONDL-SCAへの対策◼ '/6&$は従来の攻撃より強力• 未対策のマイコン実装の$(6では，３波形程度で鍵が推定可能◼ '/6&$への対策は意味があるのか？
• 実験的にはマスキング対策は効果がありそうな事がわかっている›

マスキングは証明可能安全な対策• ただし，理論的には安全ではない！
›

従来の証明（(XURFU\SW ）では，大雑把にいえば，サイドチャネル情報の615が中間値のビット数𝑛𝑛に対して，指数的に小さくないと意味がない»›

ノイズの量が、ビット数に対して指数的に大きくないとマスキング対策は意味がない

マイコン実装では，明らかに上回っているので，マスキング対策が意味がないことになる

どうにか現実と理論のギャップを埋めたい！
31

Copyright NTT CORPORATION

255

マスキングの例：Threshold Implementation (TI)
◼ 7,は代表的な一次マスキングスキーム• シェアの場合：• &RUUHFWQHVV：シェアから関数を復元可能• 1RQFRPSOHWHQHVV：関数復元にはすべてのシェアが必要• 8QLIRUPLW\：マスク値の確率に偏りがない（一様分布）
32

Copyright NTT CORPORATION

マスキング実装への攻撃：TIの場合
消費電力◼ 7,への攻撃では，個別に漏れるシェアの情報の連結が必須

消費電力

S­box

33

Copyright NTT CORPORATION

256

マスキング実装への攻撃：TIの場合
漏洩

消費電力

◼ 7,への攻撃では，個別に漏れるシェアの情報の連結が必須

消費電力

S­box

34

Copyright NTT CORPORATION

マスキング実装への攻撃：TIの場合
漏洩

推定

消費電力

◼ 7,への攻撃では，個別に漏れるシェアの情報の連結が必須

消費電力

S­box

35

Copyright NTT CORPORATION

257

マスキング実装への攻撃：TIの場合
漏洩

推定

S­box

消費電力

◼ 7,への攻撃では，個別に漏れるシェアの情報の連結が必須

消費電力

漏洩

36

Copyright NTT CORPORATION

マスキング実装への攻撃：TIの場合
漏洩

推定

漏洩
消費電力

S­box

消費電力

◼ 7,への攻撃では，個別に漏れるシェアの情報の連結が必須

推定
Copyright NTT CORPORATION

シェアに分割することで攻撃難易度が上昇しそう

258

37

マスキングされている場合の通信路◼ マスキングされている場合は，通信路は次のようになる

S

復号器
（攻撃者）

マスキング

符号器

通信路（サイドチャネル）𝑋𝑋• 𝑑𝑑はシェアの数• 同時に漏洩している場合を考えるとややこしいので，各シェアに関する情報が個別に漏れていると仮定• シェアを増やして、𝐼𝐼(𝑍𝑍; 𝑋𝑋)が減れば、送れる情報量が減って安全ということ
このとき，シェアの数を増やしたらどのくらい安全になるか？

Copyright NTT CORPORATION38

得られた結果◼ &&6で𝐼𝐼(𝑍𝑍; 𝑋𝑋)が次で抑えられることを示した• 各シェアについて𝐼𝐼 𝑆𝑆𝑖𝑖 ; 𝐿𝐿𝑖𝑖

各シェアの相互情報量の積< 1/(2 ln 2) ≈ 0.72なら，シェアを増やすほど安全

𝑑𝑑 = 1のとき

65 を達成するために必要な波形数
Copyright NTT CORPORATION259

𝑑𝑑 = 2のとき

39

まとめ◼ '/6&$について紹介◼ '/6&$の現状の問題を紹介◼ 最近の研究成果について紹介• 損失関数と攻撃成功確率の間の関係• マスキング対策による安全性の向上

40

Copyright NTT CORPORATION260

MI レクチャーノートシリーズ刊行にあたり
本レクチャーノートシリーズは、文部科学省 21 世紀 COE プログラム「機能数理学の構築と展開」（H15-19 年度）において作成した COE Lecture Notesの続刊であり、文部科学省大学院教育改革支援プログラム「産業界が求める数学博士と新修士養成」（H19-21 年度）および、同グローバル COE プログラ
ム「マス・フォア・インダストリ教育研究拠点」（H20-24 年度）において行われた講義の講義録として出版されてきた。平成 23 年 4 月のマス・フォア・イ
ンダストリ研究所（IMI）設立と平成 25 年 4 月の IMI の文部科学省共同利用・共同研究拠点として「産業数学の先進的・基礎的共同研究拠点」の認定を受け、今後、レクチャーノートは、マス・フォア・インダストリに関わる国内外の研究者による講義の講義録、会議録等として出版し、マス・フォア・インダ
ストリの本格的な展開に資するものとする。
2022 年 10 月
マス・フォア・インダストリ研究所
所長

梶原 健司

2023年度採択分 九州大学マス・フォア・インダストリ研究所 共同利用研究集会

現代暗号に対する安全性解析・攻撃の数理
発
編
発

行
集
行

2024年 1 月 11 日
國廣 昇，池松泰彦，伊豆哲也，穴田啓晃，縫田光司
九州大学マス・フォア・インダストリ研究所
九州大学大学院数理学府〒819-0395 福岡市西区元岡744
九州大学数理・IMI 事務室
TEL 092-802-4402 FAX 092-802-4405
URL https://www.imi.kyushu-u.ac.jp/

印

刷

城島印刷株式会社〒810-0012 福岡市中央区白金 2 丁目 9 番 6 号
TEL 092-531-7102 FAX 092-524-4411

シリーズ既刊
Issue

Author／Editor

Title

Published

COE Lecture Note

Mitsuhiro T. NAKAO
Kazuhiro YOKOYAMA

Computer Assisted Proofs - Numeric and Symbolic Approaches 199pages

August 22, 2006

COE Lecture Note

M.J.Shai HARAN

Arithmetical Investigations - Representation theory, Orthogonal
polynomials and Quantum interpolations- 174pages

August 22, 2006

COE Lecture Note Vol.3

Michal BENES
Masato KIMURA
Tatsuyuki NAKAKI

Proceedings of Czech-Japanese Seminar in Applied Mathematics 2005
155pages

COE Lecture Note Vol.4

宮田

辺要素有限要素法による磁界解析 - 機能数理学特別講義 21pages May 15, 2007

COE Lecture Note Vol.5

Francois APERY

Univariate Elimination Subresultants - Bezout formula, Laurent series
and vanishing conditions - 89pages

September 25, 2007

COE Lecture Note Vol.6

Michal BENES
Masato KIMURA
Tatsuyuki NAKAKI

Proceedings of Czech-Japanese Seminar in Applied Mathematics 2006
209pages

October 12, 2007

COE Lecture Note Vol.7

若山 正人
中尾 充宏

九州大学産業技術数理研究センター キックオフミーティング
138pages

October 15, 2007

COE Lecture Note Vol.8

Alberto PARMEGGIANIIntroduction to the Spectral Theory of Non-Commutative Harmonic
Oscillators 233pages

January 31, 2008

COE Lecture Note Vol.9

Michael I.TRIBELSKY

Introduction to Mathematical modeling 23pages

February 15, 2008

COE Lecture Note Vol.10

Jacques FARAUT

Infinite Dimensional Spherical Analysis 74pages

March 14, 2008

COE Lecture Note Vol.11

Gerrit van DIJK

Gelfand Pairs And Beyond 60pages

August 25, 2008

COE Lecture Note Vol.12

Faculty of Mathematics,
Kyushu University

Consortium “MATH for INDUSTRY” First Forum 87pages

September 16, 2008

COE Lecture Note Vol.13

九州大学大学院
数理学研究院

プロシーディング「損保数理に現れる確率モデル」― 日新火災・九州大学 共同研究2008年11月 研究会 ― 82pages

February 6, 2009

健治

October 13, 2006

シリーズ既刊
Issue

Author／Editor

Title

Published

COE Lecture Note Vol.14

Michal Beneš,
Tohru Tsujikawa
Shigetoshi Yazaki

Proceedings of Czech-Japanese Seminar in Applied Mathematics 2008
77pages

February 12, 2009

COE Lecture Note Vol.15

Faculty of Mathematics,
Kyushu University

International Workshop on Verified Computations and Related Topics
129pages

February 23, 2009

COE Lecture Note Vol.16

Alexander Samokhin

Volume Integral Equation Method in Problems of Mathematical Physics February 24, 2009
50pages

COE Lecture Note Vol.17

矢嶋
及川
梶原
辻
福本

非線形波動の数理と物理 66pages

February 27, 2009

COE Lecture Note Vol.18

Tim Hoffmann

Discrete Differential Geometry of Curves and Surfaces 75pages

April 21, 2009

COE Lecture Note Vol.19

Ichiro Suzuki

The Pattern Formation Problem for Autonomous Mobile Robots―Special Lecture in Functional Mathematics― 23pages

April 30, 2009

COE Lecture Note Vol.20

Yasuhide Fukumoto
Yasunori Maekawa

Math-for-Industry Tutorial: Spectral theories of non-Hermitian
operators and their application 184pages

June 19, 2009

COE Lecture Note Vol.21

Faculty of Mathematics,
Kyushu University

Forum “Math-for-Industry”
Casimir Force, Casimir Operators and the Riemann Hypothesis
95pagesNovember 9, 2009

COE Lecture Note Vol.22

Masakazu Suzuki
Hoon Hong
Hirokazu Anai
Chee Yap
Yousuke Sato
Hiroshi Yoshida

The Joint Conference of ASCM 2009 and MACIS 2009:
Asian Symposium on Computer Mathematics Mathematical Aspects ofComputer and Information Sciences 436pages

December 14, 2009

COE Lecture Note Vol.23

荒川 恒男
金子 昌信

多重ゼータ値入門

February 15, 2010

COE Lecture Note Vol.24

Fulton B.Gonzalez

Notes on Integral Geometry and Harmonic Analysis

COE Lecture Note Vol.25

Wayne Rossman

Discrete Constant Mean Curvature Surfaces via Conserved Quantities
130pages

May 31, 2010

COE Lecture Note Vol.26

Mihai Ciucu

Perfect Matchings and Applications

July 2, 2010

徹
正行
健司
英一
康秀

111pages

66pages

125pages

March 12, 2010

シリーズ既刊
Issue

Author／Editor

Title

Published

COE Lecture Note Vol.27

九州大学大学院
数理学研究院

Forum “Math-for-Industry” and Study Group Workshop
Information security, visualization, and inverse problems, on the basisof optimization techniques 100pages

October 21, 2010

COE Lecture Note Vol.28

ANDREAS LANGERMODULAR FORMS, ELLIPTIC AND MODULAR CURVESLECTURES AT KYUSHU UNIVERSITY 2010 62pages

November 26, 2010

COE Lecture Note Vol.29

木田 雅成
原田 昌晃
横山 俊一

Magma で広がる数学の世界

December 27, 2010

COE Lecture Note Vol.30

原
松井
廣島

Mathematical Quantum Field Theory and Renormalization Theory
201pages

January 31, 2011

COE Lecture Note Vol.31

若山 正人
福本 康秀
高木
剛
山本 昌宏

Study Group Workshop 2010 Lecture & ReportFebruary 8, 2011

COE Lecture Note Vol.32

Institute of Mathematics
for Industry,
Kyushu University

Forum “Math-for-Industry” 2011
“TSUNAMI-Mathematical Modelling”
Using Mathematics for Natural Disaster Prediction, Recovery andProvision for the Future 90pages

September 30, 2011

COE Lecture Note Vol.33

若山 正人
福本 康秀
高木
剛
山本 昌宏

Study Group Workshop 2011 Lecture & Report

October 27, 2011

COE Lecture Note Vol.34

Adrian Muntean
Vladimír Chalupecký

Homogenization Method and Multiscale Modeling

COE Lecture Note Vol.35

横山 俊一
夫
紀恵
林
卓也

計算機代数システムの進展

COE Lecture Note Vol.36

Michal Beneš
Masato Kimura
Shigetoshi Yazaki

Proceedings of Czech-Japanese Seminar in Applied Mathematics 2010
107pages

COE Lecture Note Vol.37

若山 正人
高木
剛
Kirill Morozov
平岡 裕章
木村 正人
白井 朋之
西井 龍映
栄 伸一郎
穴井 宏和
福本 康秀

平成23年度 数学・数理科学と諸科学・産業との連携研究ワーク February 20, 2012
ショップ 拡がっていく数学 ～期待される “見えない力” ～154pages隆
卓
文生

157pages

128pages

140pages

72pages

210pages

October 28, 2011

November 30, 2011

January 27, 2012

シリーズ既刊
Issue

Author／Editor

Title

Published

COE Lecture Note Vol.38

Fumio Hiroshima
Itaru Sasaki
Herbert Spohn
Akito Suzuki

Enhanced Binding in Quantum Field Theory

COE Lecture Note Vol.39

Institute of Mathematics
for Industry,
Kyushu University

Multiscale Mathematics: Hierarchy of collective phenomena andinter­relations between hierarchical structures 180pages

March 13, 2012

COE Lecture Note Vol.40

井ノ口順一
太田 泰広
筧
三郎
梶原 健司
松浦
望

離散可積分系・離散微分幾何チュートリアル2012

March 15, 2012

COE Lecture Note Vol.41

Institute of Mathematics
for Industry,
Kyushu University

Forum “Math-for-Industry” 2012
“Information Recovery and Discovery”

COE Lecture Note Vol.42

佐伯
若山
山本

Study Group Workshop 2012 Abstract, Lecture & Report

178pages

November 19, 2012

COE Lecture Note Vol.43

Institute of Mathematics
for Industry,
Kyushu University

Combinatorics and Numerical Analysis Joint Workshop

103pages

December 27, 2012

COE Lecture Note Vol.44

萩原学

モダン符号理論からポストモダン符号理論への展望

107pages

January 30, 2013

COE Lecture Note Vol.45

金山

寛

Joint Research Workshop of Institute of Mathematics for Industry(IMI), Kyushu University“Propagation of Ultra-large-scale Computation by the Domaindecomposition-method for Industrial Problems (PUCDIP 2012)”
121pages

February 19, 2013

COE Lecture Note Vol.46

西井 龍映
栄 伸一郎
岡田 勘三
落合 啓之
小磯 深幸
斎藤 新悟
白井 朋之

科学・技術の研究課題への数学アプローチ―数学モデリングの基礎と展開― 325pages

February 28, 2013

COE Lecture Note Vol.47

SOO TECK LEE

BRANCHING RULES AND BRANCHING ALGEBRAS FOR THE
COMPLEX CLASSICAL GROUPS 40pages

March 8, 2013

COE Lecture Note Vol.48

溝口
脇
平坂
谷口
島袋

博多ワークショップ「組み合わせとその応用」 124pages

March 28, 2013

修
正人
昌宏

佳寛
隼人
貢
哲至
修

204pages

March 12, 2012

152pages

October 22, 2012

91pagesシリーズ既刊
Issue

Author／Editor

COE Lecture Note Vol.49

照井
小原
濱田
横山
穴井
横田

MI Lecture Note Vol.50

章
功任
龍義
俊一
宏和
博史

Title

Published

マス・フォア・インダストリ研究所 共同利用研究集会 II
数式処理研究と産学連携の新たな発展 137pages

August 9, 2013

Ken Anjyo
Hiroyuki Ochiai
Yoshinori Dobashi
Yoshihiro Mizoguchi
Shizuo Kaji

Symposium MEIS2013:
Mathematical Progress in Expressive Image Synthesis

October 21, 2013

MI Lecture Note Vol.51

Institute of Mathematics
for Industry, Kyushu
University

Forum “Math-for-Industry” 2013
“The Impact of Applications on Mathematics”

MI Lecture Note Vol.52

佐伯
岡田
髙木
若山
山本

Study Group Workshop 2013 Abstract, Lecture & Report
142pages

November 15, 2013

MI Lecture Note Vol.53

四方 義啓
櫻井 幸一
安田 貴徳
Xavier Dahan

平成25年度 九州大学マス・フォア・インダストリ研究所
共同利用研究集会 安全・安心社会基盤構築のための代数構造～サイバー社会の信頼性確保のための数理学～ 158pages

December 26, 2013

MI Lecture Note Vol.54

Takashi Takiguchi
Hiroshi Fujiwara

Inverse problems for practice, the present and the future

January 30, 2014

MI Lecture Note Vol.55

栄 伸一郎
溝口 佳寛
脇
隼人
渋田 敬史

Study Group Workshop 2013 数学協働プログラム Lecture & Report
98pages

February 10, 2014

MI Lecture Note Vol.56

Yoshihiro Mizoguchi
Hayato Waki
Takafumi Shibuta
Tetsuji Taniguchi
Osamu Shimabukuro
Makoto Tagami
Hirotake Kurihara
Shuya Chiba

Hakata Workshop 2014
~ Discrete Mathematics and its Applications ~March 28, 2014

MI Lecture Note Vol.57

Institute of Mathematics
for Industry, Kyushu
University

Forum “Math-for-Industry” 2014:“Applications + Practical Conceptualization + Mathematics = fruitful
Innovation” 93pages

October 23, 2014

MI Lecture Note Vol.58

安生健一
落合啓之

Symposium MEIS2014:
Mathematical Progress in Expressive Image Synthesis

November 12, 2014

修
勘三
剛
正人
昌宏

154pages

October 30, 2013

97pages

93pages

141pages

135pagesシリーズ既刊
Issue

Author／Editor

MI Lecture Note Vol.59

西井
岡田
梶原
髙木
若山
脇
山本

龍映
勘三
健司
剛
正人
隼人
昌宏

MI Lecture Note Vol.60

西浦博

MI Lecture Note Vol.61

Title

Published

Study Group Workshop 2014 数学協働プログラム
Abstract, Lecture & Report 196pages

November 14, 2014

平成26年度九州大学 IMI 共同利用研究・研究集会（I）
感染症数理モデルの実用化と産業及び政策での活用のための新たな展開 120pages

November 28, 2014

溝口 佳寛
Jacques Garrigue
萩原
学
Reynald Affeldt

研究集会
高信頼な理論と実装のための定理証明および定理証明器
Theorem proving and provers for reliable theory and implementations(TPP2014) 138pages

February 26, 2015

MI Lecture Note Vol.62

白井朋之

Workshop on “β-transformation and related topics”

March 10, 2015

MI Lecture Note Vol.63

白井朋之

Workshop on “Probabilistic models with determinantal structure”
107pages

August 20, 2015

MI Lecture Note Vol.64

落合
土橋

啓之
宜典

Symposium MEIS2015:
Mathematical Progress in Expressive Image Synthesis

September 18, 2015

MI Lecture Note Vol.65

Institute of Mathematics
for Industry, Kyushu
University

Forum “Math-for-Industry” 2015
“The Role and Importance of Mathematics in Innovation”

MI Lecture Note Vol.66

岡田 勘三
藤澤 克己
白井 朋之
若山 正人
脇
隼人
Philip Broadbridge
山本 昌宏

Study Group Workshop 2015 Abstract, Lecture & Report
156pages

MI Lecture Note Vol.67

Institute of Mathematics
for Industry, Kyushu
University

IMI-La Trobe Joint Conference“Mathematics for Materials Science and Processing”
66pages

February 5, 2016

MI Lecture Note Vol.68

古庄
小谷
新甫

英和
久寿
洋史

結び目と Grothendieck-Teichmüller 群
116pages

February 22, 2016

MI Lecture Note Vol.69

土橋
鍛治

宜典
静雄

Symposium MEIS2016:
Mathematical Progress in Expressive Image Synthesis

MI Lecture Note Vol.70

Institute of Mathematics
for Industry,
Kyushu University

Forum “Math-for-Industry” 2016
“Agriculture as a metaphor for creativity in all human endeavors”
98pagesNovember 2, 2016

MI Lecture Note Vol.71

小磯
二宮
山本

Study Group Workshop 2016 Abstract, Lecture & Report

November 21, 2016

深幸
嘉行
昌宏

59pages

124pages

74pages

October 23, 2015

November 5, 2015

82pages

143pages

October 24, 2016

シリーズ既刊
Issue

Author／Editor
朝雄
泉
文生

Title

Published

MI Lecture Note Vol.72

新井
小嶋
廣島

MI Lecture Note Vol.73

穴田 啓晃
Kirill Morozov
須賀 祐治
奥村 伸也
櫻井 幸一

Secret Sharing for Dependability, Usability and Security of Network
Storage and Its Mathematical Modeling 211pages

March 15, 2017

MI Lecture Note Vol.74

QUISPEL, G. Reinout W.
BADER, Philipp
MCLAREN, David I.
TAGAMI, Daisuke

IMI-La Trobe Joint Conference
Geometric Numerical Integration and its Applications

March 31, 2017

MI Lecture Note Vol.75

手塚
田上
山本

Study Group Workshop 2017 Abstract, Lecture & Report

MI Lecture Note Vol.76

宇田川誠一

Tzitzéica 方程式の有限間隙解に付随した極小曲面の構成理論―Tzitzéica 方程式の楕円関数解を出発点として― 68pages

August 4, 2017

MI Lecture Note Vol.77

松谷 茂樹
佐伯
修
中川 淳一
田上 大助
上坂 正晃
Pierluigi Cesana
濵田 裕康

平成29年度 九州大学マス・フォア・インダストリ研究所
共同利用研究集会（I）
結晶の界面，転位，構造の数理 148pages

December 20, 2017

MI Lecture Note Vol.78

瀧澤 重志
小林 和博
佐藤憲一郎
斎藤
努
清水 正明
間瀬 正啓
藤澤 克樹
神山 直之

平成29年度 九州大学マス・フォア・インダストリ研究所
プロジェクト研究 研究集会（I）
防災・避難計画の数理モデルの高度化と社会実装へ向けて
136pages

February 26, 2018

MI Lecture Note Vol.79

神山
畔上

平成29年度 AIMaP チュートリアル
最適化理論の基礎と応用 96pages

February 28, 2018

MI Lecture Note Vol.80

Kirill Morozov
Hiroaki Anada
Yuji Suga

IMI Workshop of the Joint Research Projects
Cryptographic Technologies for Securing Network Storage
and Their Mathematical Modeling 116pages

March 30, 2018

MI Lecture Note Vol.81

Tsuyoshi Takagi
Masato Wakayama
Keisuke Tanaka
Noboru Kunihiro
Kazufumi Kimoto
Yasuhiko Ikematsu

IMI Workshop of the Joint Research Projects
International Symposium on Mathematics, Quantum Theory,
and Cryptography 246pages

September 25, 2019

MI Lecture Note Vol.82

池森

令和 2 年度 AIMaP チュートリアル
新型コロナウイルス感染症にかかわる諸問題の数理
145pages

March 22, 2021

集
大助
昌宏

直之
秀幸

俊文

Mathematical quantum field theory and related topics

133pages

71pages

118pages

January 27, 2017

October 20, 2017

シリーズ既刊
Issue

Author／Editor

Title

Published

MI Lecture Note Vol.83

早川健太郎
軸丸 芳揮
横須賀洋平
可香谷 隆
林
和希
堺
雄亮

シェル理論・膜理論への微分幾何学からのアプローチとその建築曲面設計への応用 49pages

July 28, 2021

MI Lecture Note Vol.84

Taketoshi Kawabe
Yoshihiro Mizoguchi
Junichi Kako
Masakazu Mukai
Yuji Yasui

SICE-JSAE-AIMaP Tutorial
Advanced Automotive Control and Mathematics

December 27, 2021

MI Lecture Note Vol.85

Hiroaki Anada
Yasuhiko Ikematsu
Koji Nuida
Satsuya Ohata
Yuntao Wang

IMI Workshop of the Joint Usage Research Projects
February 9, 2022
Exploring Mathematical and Practical Principles of Secure Computationand Secret Sharing 114pages

MI Lecture Note Vol.86

濱田 直希
穴井 宏和
梅田 裕平
千葉 一永
佐藤 寛之
能島 裕介
加葉田雄太朗
一木 俊助
早野 健太
佐伯
修

2020年度採択分 九州大学マス・フォア・インダストリ研究所
共同利用研究集会
進化計算の数理 135pages

February 22, 2022

MI Lecture Note Vol.87

Osamu Saeki,
Ho Tu Bao,
Shizuo Kaji,
Kenji Kajiwara,
Nguyen Ha Nam,
Ta Hai Tung,
Melanie Roberts,
Masato Wakayama,
Le Minh Ha,
Philip Broadbridge

Proceedings of Forum “Math-for-Industry” 2021
-Mathematics for Digital Economy- 122pages

March 28, 2022

MI Lecture Note Vol.88

Daniel PACKWOOD
Pierluigi CESANA,
Shigenori FUJIKAWA,
Yasuhide FUKUMOTO,
Petros SOFRONIS,Alex STAYKOVPerspectives on Artificial Intelligence and Machine Learning inMaterials Science, February 4-6, 2022 74pages

November 8, 2022

110pagesシリーズ既刊
Issue

Author／Editor

Title

Published

MI Lecture Note Vol.89

松谷 茂樹
落合 啓之
井上 和俊
小磯 深幸
佐伯
修
白井 朋之
垂水 竜一
内藤 久資
中川 淳一
濵田 裕康
松江
要
加葉田雄太朗2022年度採択分 九州大学マス・フォア・インダストリ研究所
共同利用研究集会
材料科学における幾何と代数 III 356pages

December 7, 2022

MI Lecture Note Vol.90

中山
谷川
品野
近藤
石原
鍛冶
藤澤

尚子
拓司
勇治
正章
亨
静雄
克樹

2022年度採択分 九州大学マス・フォア・インダストリ研究所
共同利用研究集会
データ格付けサービス実現のための数理基盤の構築 58pages

December 12, 2022

MI Lecture Note Vol.91

Katsuki Fujisawa
Shizuo Kaji
Toru Ishihara
Masaaki Kondo
Yuji Shinano
Takuji Tanigawa
Naoko Nakayama

IMI Workshop of the Joint Usage Research Projects
Construction of Mathematical Basis for Realizing Data Rating Service
610pages

December 27, 2022

MI Lecture Note Vol.92

丹田
三宮
廣島

2022年度採択分 九州大学マス・フォア・インダストリ研究所
共同利用研究集会
時間・量子測定・準古典近似の理論と実験〜古典論と量子論の境界〜 150pages

Janualy 6, 2023

MI Lecture Note Vol.93

Philip Broadbridge
Luke Bennetts
Melanie Roberts
Kenji Kajiwara

Proceedings of Forum “Math-for-Industry” 2022
-Mathematics of Public Health and Sustainability-

June 19, 2023

聡俊文生

170pages九州大学マス・フォア・インダストリ研究所

九州大学大学院 数理学府
URL https://www.imi.kyushu-u.ac.jp/