CRYPTREC EX-3205-2022

軽量暗号の実装性能に関する調査及び評価（NIST軽量暗号コンペティションファイナリスト）

電気通信大学大学院情報理工学研究科
崎山一男

2022年12月

エグゼクティブサマリー
本報告は，米国 乎义乓乔 丨乎乡乴乩乯乮乡乬 义乮乳乴乩乴乵乴乥 乯书 乓乴乡乮乤乡乲乤乳 乡乮乤 乔乥乣乨乮乯乬乯乧乹丩が推進し，標準化を進めている乎义乓乔軽量暗号 丨乌乗乃为 乌乩乧乨乴乷乥乩乧乨乴 乃乲乹买乴乯乧乲乡买乨乹丩コンペティション 乛丱丹九でファ
イナリストに選定された丱丰方式丨乁乓乃乏乎丬 久乬乥买乨乡乮乴丬 乇义乆乔中乃乏乆乂丬 乇乲乡乩乮丱串丸中乁久乁乄丬 义乓乁乐丬乐乨乯乴乯乮中乂乥乥乴乬乥丬 乒乯乭乵乬乵乳丬 乓买乡乲乫乬乥丬 乔乩乮乹乊乡乭乢乵丬 乘乯乯乤乹乡乫丩 に対する実装性能評価に関する公開情報をまとめ考察を与えたものである．
ハードウェア実装性能の評価報告については，製品の異なる乆乐乇乁実装とライブラリの異なる乁乓义乃実装がある中で，最も多く使用されたプラットフォームのひとつは， 乘乩乬乩乮乸社の乁乲乴乩乸中丷である．図は， 乘乩乬乩乮乸 乁乲乴乩乸中丷上に実装されたファイナリスト丱丰方式のハードウェアの面積コストとスループット性能をプロットしたものである．細かい設定や測定の条件は考えずに報告された結果のみを用いているため，同じアルゴリズムでも同じ面積コストで異なるスループッ
ト性能をプロットしている場合もある．この図から， 乔乩乮乹乊乡乭乢乵の回路面積が小さいこと，逆に乓乐乁乒之乌久が比較的面積コストが大きくなることが読み取れる．また， 乁乓乃乏乎丬 久乬乥买乨乡乮乴丬乇义乆乔中乃乏乆乂丬 乒乯乭乵乬乵乳のプロットは広く分散しており，軽量実装から高速実装まで，乆乐乇乁実
装における設計の選択肢が多いアルゴリズムとなっていることがわかる．今後さらに研究が進

10,000Throughput [Mbps]

1,000

100

10

ASCON
GIFT-COFBPHOTON-Beetle
SPARKLE(SCHWAEMM)
Xoodyak

Elephant
ISAP
Romulus
TinyJambu

1
0

500

1,000

1,500

2,000

2,500

3,000

3,500

4,000

Area [LUTs]

図 乎义乓乔 軽量暗号コンペティションファイナリストの乘乩乬乩乮乸 乁乲乴乩乸中丷上の実装性能．乇乲乡乩乮丱串丸中乁久乁乄は，今回の調査で結果が見つからなかったためプロットはない．

表 乎义乓乔軽量暗号コンペティションファイナリストの乁乲乭 乃乯乲乴乥乸中乍丰上の実装性能 乛丱串九
Candidate
ASCON (ascon128v12)
Elephant (elephant160v1)
GIFT-COFB (giftcofb128v1)
Grain-128-AEAD (grain128aead)
ISAP (isapk128av20)
Photon-Beetle (photonbeetleaead128rate128v1)
Romulus (romulusn1v12)
Sparkle (schwaemm128128v1)
TinyJambu (tinyjambu128)
Xoodyak (xoodyakv1)

Latency [msec]
0.633
1069
6.25
82.54
161.9
42.39
17.16
0.76
0.394
0.599

Code Size [kByte]
29.4
14.4
15.1
15.8
14.5
15.4
17.0
14.9
13.7
14.3

み，新たなデータが公開された場合には，他のアルゴリズムにおいても同様の柔軟性が見られる
可能性はある．今回， 乇乲乡乩乮丱串丸中乁久乁乄については， 乘乩乬乩乮乸 乁乲乴乩乸中丷上の公開された実装結果は
見つけることができなかった．
軽量暗号のアプリケーションを考えると，低リソースプラットフォーム上での実装性能評価の価値は高い．表は，乁乲乭 乃乯乲乴乥乸中乍丰上のソフトウェア実装の結果の一部をまとめたものである

乛丱串九．括弧内の名称は，各アルゴリズムのプライマリメンバー 丨买乲乩乭乡乲乹 乭乥乭乢乥乲丩*1 のリファレ
ンスソフトウェアである．表では，レイテンシとコードサイズをまとめている． 乒乁乍の使用量
はコンパイル時の静的なメモリサイズのレポートから，どのアルゴリズムも約丱乫乂乹乴乥程度である．
レイテンシは，平文と乁乄を丰バイトから丳串バイトまで変化させた共通のテストベクトルを用いた際に，暗号化にかかった時間を平均したものである．表から，久乬乥买乨乡乮乴が最もレイテンシが高く， 乔乩乮乹乊乡乭乢乵， 乘乯乯乤乹乡乫， 乁乓乃乏乎丬 乓买乡乲乫乬乥が低レイテンシであることがわかる．コードサ
イズについては，乁乓乃乏乎が最も大きく，他の候補に大きな差はみられなかった．ただし，この結果はほんの一面であり，プラットフォームに適した最適化実装によりより良い結果が得られるものと考える．
このように，公開データを用いて比較の考察を与えることがあるが，厳密な公平性を調べているわけではない．また，実装性能の優劣は公開情報だけでは判断しづらい面があるため，以降はアルゴリズム毎に調査結果をまとめる．

*1 提出者が，NISTの要件（鍵128ビット以上，ノンス96ビット以上，タグ64ビット以上）に従ってアルゴリズムのパラメータを設定し，primary memberを一つ決める．

目次
1

はじめに

1

2

調査対象と性能評価環境

2串丮丱

概要 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮串串丮串

ハードウェアアクセラレータ 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮丳串丮丳

命令拡張 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮丵串丮临

ソフトウェア実装 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丵

ASCON

7

丳丮丱

概要 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮丷丳丮串

ハードウェアアクセラレータ 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮丷丳丮丳

命令拡張 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丱丷

丳丮临

ソフトウェア実装 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮丱丸Elephant21

临丮丱

概要 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

串丱

临丮串

ハードウェアアクセラレータ 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

串丱

临丮丳

命令拡張 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

串临

临丮临

ソフトウェア実装 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮串丵

GIFT-COFB

26

丵丮丱

概要 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

串丶

丵丮串

ハードウェアアクセラレータ 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

串丶

丵丮丳

命令拡張 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丰

丵丮临

ソフトウェア実装 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮丳丰Grain128-AEAD

31

丶丮丱

概要 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丱

丶丮串

ハードウェアアクセラレータ 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丱

丶丮丳

命令拡張 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳串

丶丮临

ソフトウェア実装 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丳

ISAP

34

丷丮丱

概要 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳临

丷丮串

ハードウェアアクセラレータ 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳临

丷丮丳

命令拡張 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丶

3

4

5

6

7

乩

ソフトウェア実装 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮丳丷PHOTON-Beetle

38

丸丮丱

概要 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丸

丸丮串

ハードウェアアクセラレータ 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丸

丸丮丳

命令拡張 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丹

丸丮临

ソフトウェア実装 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮丳丹Romulus41

丹丮丱

概要 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

临丱

丹丮串

ハードウェアアクセラレータ 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

临丱

丹丮丳

命令拡張 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

临临

丹丮临

ソフトウェア実装 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮临临SPARKLE

46

丷丮临
8

9

10

丱丰丮丱 概要 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮临丶丱丰丮串 ハードウェアアクセラレータ 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮临丶丱丰丮丳 命令拡張 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮临丷丱丰丮临 ソフトウェア実装 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮临丸11

TinyJambu

49丱丱丮丱 概要 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮临丹丱丱丮串 ハードウェアアクセラレータ 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮临丹丱丱丮丳 命令拡張 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮丵串丱丱丮临 ソフトウェア実装 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮丵串12

Xoodyak54

丱串丮丱 概要 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮丵临丱串丮串 ハードウェアアクセラレータ 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮丵临丱串丮丳 命令拡張 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮丵丹丱串丮临 ソフトウェア実装 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丶丰

乩乩

表目次
丳丮丱

乁乓乃乏乎の乆乐乇乁実装の結果 乛丱丰丬 串丶丬 串丰丬 串临九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮丷丳丮串乁乓乃乏乎の乆乐乇乁実装の結果丨つづき丩 乛丱丸九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮丸丳丮丳乇乲乯丙らによる乁乓乃乏乎の乁乓义乃実装の結果 乛丱丱九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丱丶

丳丮临

乄乯乢乲乡乵乮乩乧らによる乁乓乃乏乎の乁乓义乃実装の結果 乛丸九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丱丶

丳丮丵

久乬乳乡乤乥乫らによる乁乓乃乏乎の乁乓义乃実装の結果 乛丸九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丱丷

丳丮丶

乓乴乥乩乮乥乧乧乥乲と乐乲乩乭乡乳による乁乓乃乏乎中p命令拡張による乁乓乃乏乎の実装結果 乛串丳九 丮 丮

丱丸

丳丮丷

乃乨乥乮らによる命令拡張による乁乓乃乏乎の実装結果 乛丷九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丱丸

丳丮丸

乁乓乃乏乎のソフトウェア実装結果 乛丸九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丱丹

丳丮丹

乁乓乃乏乎の乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

串丰

丳丮丱丰

乁乓乃乏乎の乁乲乭 乃乯乲乴乥乸中乍丳と乁乖乒 乁乔乭乥乧乡上のレイテンシ評価 乛串丵九 丮 丮 丮 丮 丮 丮

串丰

临丮丱

久乬乥买乨乡乮乴の乆乐乇乁実装の結果 乛串九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

串丱

临丮串

久乬乥买乨乡乮乴の乆乐乇乁実装の結果（つづき） 乛丱丸九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

串丱

临丮丳

久乬乳乡乤乥乫らによる久乬乥买乨乡乮乴の乁乓义乃実装の結果 乛丹九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

串临

临丮临

乃乨乥乮らの命令拡張による久乬乥买乨乡乮乴の実装結果 乛丷九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

串临

临丮丵

久乬乥买乨乡乮乴の乁乲乭 乃乯乲乴乥乸中乍丰のレイテンシ評価 乛丱串九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

串临

丵丮丱

乇义乆乔中乃乏乆乂の乆乐乇乁実装の結果 乛丱丸九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

串丶

丵丮串

久乬乳乡乤乥乫らによる乇义乆乔中乃乏乆乂の乁乓义乃実装の結果 乛丹九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

串丹

丵丮丳

乃乡书乯乲乩乯らによる乇义乆乔中乃乏乆乂のハードウェア実装結果 乛丹九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丰

丵丮临

乃乨乥乮らの命令拡張による乇义乆乔中乃乏乆乂の実装結果 乛丷九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丰

丵丮丵

乇义乆乔中乃乏乆乂の乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丰

丶丮丱

乇乲乡乩乮丱串丸中乁久乁乄の乆乐乇乁実装の結果 乛串丷九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丱

丶丮串

久乬乳乡乤乥乫らによる乇乲乡乩乮丱串丸中乁久乁乄の乁乓义乃実装の結果 乛丹九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳串

丶丮丳

乓乿
乯乮乮乥乲乵买らの乇乲乡乩乮丱串丸中乁久乁乄の乁乓义乃実装丨低電力丩の結果 乛丹九 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳串

丶丮临

乓乿
乯乮乮乥乲乵买らによる乇乲乡乩乮丱串丸中乁久乁乄の乁乓义乃実装（高速）の結果 乛丹九 丮 丮 丮 丮 丮 丮 丮

丳串

丶丮丵

乃乨乥乮らの命令拡張による乇乲乡乩乮丱串丸中乁久乁乄の実装結果 乛丷九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丳

丶丮丶

乇乲乡乩乮丱串丸中乁久乁乄を乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丳

丶丮丷

乇乲乡乩乮中丱串丸乁久乁乄乶串の乁乲乭 乃乯乲乴乥乸中乍丳と乁乖乒 乁乔乭乥乧乡のレイテンシ評価 乛串丵九 丮

丳丳

丷丮丱

义乓乁乐の乆乐乇乁実装の結果 乛丱丸九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳临

丷丮串

久乬乳乡乤乥乫らによる义乓乁乐の乁乓义乃実装の結果 乛丹九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丶

丷丮丳

乓乴乥乩乮乥乧乧乥乲と乐乲乩乭乡乳による乁乓乃乏乎中p命令拡張による义乓乁乐の実装結果 乛串丳九 丮 丮 丮

丳丷

丷丮临

义乓乁乐の乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丷

丸丮丱

乐么乏乔乏乎中乂乥乥乴乬乥の乆乐乇乁実装の結果 乛丱丸九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丸

丸丮串

久乬乳乡乤乥乫らによる乐么乏乔乏乎中乂乥乥乴乬乥の乁乓义乃実装の結果 乛丹九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丳丹

乩乩乩

丸丮丳

乃乨乥乮らの命令拡張による乐么乏乔乏乎中乂乥乥乴乬乥の実装結果 乛丷九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

临丰

丸丮临

乐么乏乔乏乎中乂乥乥乴乬乥の乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九 丮 丮 丮 丮 丮 丮 丮 丮 丮

临丰

丹丮丱

乒乯乭乵乬乵乳の乆乐乇乁実装の結果 乛丱丸九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

临丱

丹丮串

久乬乳乡乤乥乫らによる乒乯乭乵乬乵乳の乁乓义乃実装の結果 乛丹九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

临丳

丹丮丳

乃乡书乯乲乩乯らによる乒乯乭乵乬乵乳の乁乓义乃実装の結果 乛丹九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

临临

丹丮临

乃乨乥乮らの命令拡張による乒乯乭乵乬乵乳の実装結果 乛丷九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

临临

丹丮丵

乒乯乭乵乬乵乳を乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

临丵

丱丰丮丱

乓乐乁乒之乌久の乆乐乇乁実装の結果 乛丱丸九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

临丶

丱丰丮串

久乬乳乡乤乥乫らによる乓乐乁乒之乌久の乁乓义乃実装の結果 乛丹九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

临丸

丱丰丮丳

乃乨乥乮らの命令拡張による乓买乡乲乫乬乥の実装結果 乛丷九丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

临丸

丱丰丮临

乓买乡乲乫乬乥の乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

临丸

丱丱丮丱

乔乩乮乹乊乡乭乢乵の乆乐乇乁実装の結果 乛串九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

临丹

丱丱丮串

乔乩乮乹乊乡乭乢乵の乆乐乇乁実装の結果（つづき） 乛丱丸九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

临丹

丱丱丮丳

久乬乳乡乤乥乫らによる乔乩乮乹乊乡乭乢乵の乁乓义乃実装の結果 乛丹九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丵串

丱丱丮临

乃乨乥乮らの命令拡張による乔乩乮乹乊乡乭乢乵の実装結果 乛丷九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丵丳

丱丱丮丵

乔乩乮乹乊乡乭乢乵の乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丵丳

丱丱丮丶

乔乩乮乹乊乡乭乢乵の乁乲乭 乃乯乲乴乥乸中乍丳と乁乖乒 乁乔乭乥乧乡上でのレイテンシ評価 乛串丵九 丮 丮 丮

丵丳

丱串丮丱

乘乯乯乤乹乡乫の乆乐乇乁実装の結果 乛串九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丵临

丱串丮串

乘乯乯乤乹乡乫の乆乐乇乁実装の結果（つづき） 乛丱丸九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丵临

丱串丮丳

久乬乳乡乤乥乫らによる乘乯乯乤乹乡乫の乁乓义乃実装の結果 乛丹九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丵丹

丱串丮临

乃乨乥乮らの命令拡張による乘乯乯乤乹乡乫の実装結果 乛丷九 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丶丰

丱串丮丵

乘乯乯乤乹乡乫の乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮 丮

丶丰

丱串丮丶

乘乯乯乤乹乡乫の乁乖乒 乁乔乭乥乧乡と乁乲乭 乃乯乲乴乥乸中乍丳上でのレイテンシ評価 乛串丵九 丮 丮 丮 丮丶丰乩乶1 はじめに
暗号アルゴリズムの選定においては，理論的安全性に加えて実装性能を評価することが求められている． 乎义乓乔軽量暗号コンペティションにおいても，ハードウェアやソフトウェアによる実装性能評価が求めれており，提案者だけでなく多くの研究者が実装評価結果を公表している．本報告は，学術論文や国際会議プロシーディングスなどを中心に，乎义乓乔軽量暗号コンペテ
ィションのファイナリスト丱丰方式丨乁乓乃乏乎丬 久乬乥买乨乡乮乴丬 乇义乆乔中乃乏乆乂丬 乇乲乡乩乮丱串丸中乁久乁乄丬 义乓乁乐丬乐乨乯乴乯乮中乂乥乥乴乬乥丬 乒乯乭乵乬乵乳丬 乓买乡乲乫乬乥丬 乔乩乮乹乊乡乭乢乵丬 乘乯乯乤乹乡乫丩の実装性能評価の結果を調査する．
乎义乓乔軽量暗号コンペティションでは，認証付き暗号（乁久为 乁乵乴乨乥乮乴乩乣乡乴乥乤 久乮乣乲乹买乴乩乯乮 乷乩乴乨乁乳乳乯乣乩乡乴乥乤 乄乡乴乡丩の暗号化と復号及びオプションとしてハッシュ関数の機能を考慮している．本
報告の実装性能評価においても，これらの性能を調査する．実装性能の指標として，コスト，処理性能及び物理攻撃安全性であるが，アルゴリズム間でそれらの性能を比較することは極めて困難である．コストと処理性能に関しては，インタフェース回路や最適化手法（高速化を狙った実装，面積を小さくする実装，処理性能と面積コストのバランスを考慮した実装など）により結果が大きく異なってくる．そういった意味では，暗号アルゴリズムのコア部分に絞って実装性能を評価するのではなく，実装するプラットフォームや使用環境との相性で評価するべきものと考える．さらに，物理攻撃安全性においては，暗号アルゴリズムにおける計算処理の違いも影響する
が，対策技術の特徴が結果に強く出ることが多いため，本報告では調査対象外とした．
本報告の主な調査対象は，暗号分野と暗号実装に関する学術論文や国際会議プロシーデ
ィ ン グスなどである． 乃乁久乓乁乒プロ ジェ ク ト で は， 乇乍乕 丨乇乥乯乲乧乥 乍乡乳乯乮 乕乮乩乶乥乲乳乩乴乹丩による乁乔么久乎乁ベンチマークシステム 乛丱九でのハードウェア実装性能評価が参考となったが，

乎义乓乔軽量暗号コンペティションではランキングのわかるデータは当該乗乥乢サイトで公開されていない（串丰串串年丱串月串丱日時点）．この乗乥乢サイトでは，ソースコードや技術報告書（テクニカルレポート）といった検証が必要と思われるデータが中心であることから，今回は乗乥乢サイトのデータは直接参照せず，１次情報として発表された論文や国際会議の実装性能評価結果を調査に用いることにした．また，乥乂乁乃乓 丨久乃乒乙乐乔 乂乥乮乣乨乭乡乲乫乩乮乧 乯书 乃乲乹买乴乯乧乲乡买乨乩乣 乓乹乳乴乥乭乳丩 乛丵九で公開されている結果は，ソフトウェア実装性能の測定データとして十分よくまとまっているため，
本報告では直接データは使用していない．
異なるアルゴリズムの実装性能調査する上で．暗号アルゴリズムの安全性に関するパラメー
タ，実装プラットフォーム，外部とのデータインタフェースや処理すべきデータといった実装性
能に影響する条件を明記することにした．また，軽量実装向きか高速実装向きかといったアルゴ
リズムの自体の特徴や，得意とする最適化の方針によって実装性能が大きく影響をうけるため，
本報告では，公開された情報から厳密な意味で比較を行うことはしない．実装性能評価は，それぞれの認証暗号アルゴリズムのほんの一面にすぎず，認証暗号の優劣を決定するものではないが，実使用で参考となるデータであると思われる．

丱2 調査対象と性能評価環境
2.1 概要本 報 告 の 調 査 の 対 象 は， 乎义乓乔軽 量 暗 号 フ ァ イ ナ リ ス ト の乁乓义乃実 装， 乆乐乇乁実 装 及 び
ソ フ ト ウ ェ ア 実 装 の 性 能 評 価 を 研 究 成 果 と し て ま と め た 公 開 出 版 物 と す る． 国 際 暗 号 学会义乁乃乒の乥乐乲乩乮乴ア ー カ イ ブ 乛丱临九や 国 際 会 議 プ ロ シ ー デ ィ ン グ ス 乛丱丵九， 乓买乲乩乮乧乥乲社 の乌乎乃乓丨乌乥乣乴乵乲乥 乎乯乴乥 乩乮 乃乯乭买乵乴乥乲 乓乣乩乥乮乣乥丩や学術論文誌 乛串串九及び米国電気電子学会义久久久の会議プロ
シーディングスや学術論文誌 乛丱丶九を中心とした．
本稿では実装性能を調査した結果を，ファイナリストの暗号アルゴリズム毎に以下の３つのカ
テゴリに分けて報告をする．

• ハードウェアアクセラレータ– コプロセッサ（乆乐乇乁実装）– コプロセッサ（乁乓义乃実装）• 命令拡張• ソフトウェア実装
ここで，ハードウェアアクセラレータは，いわゆる専用回路実装と呼ばれるものであり，処理に必要なデータを供給すれば結果を出力するものである．報告では，ハードウェアアクセラ
レータを乆乐乇乁実装と乁乓义乃実装に分けて調査する．軽量暗号の処理に限らないが，専用回路の処理においてインタフェース部がボトルネックとなる場合もあるため，入出力データのイン
タフェース部を含めて実装する必要がある． 乎义乓乔軽量暗号ファイナリストに実装性能を可能なかぎり公平に評価する目的で，乃乁久乓乁乒コンペティションで用いられた乃乁久乓乁乒 么乗 乁乐义乛丱丳九と乎义乓乔軽量暗号コンペティションで提案された乌乗乃 么乗 乁乐义 乛丱丳九が使用されることが多い
が，独自のインタフェースで評価した研究結果もみられる．
命令拡張では，認証暗号の処理性能を向上させるために命令を追加した乃乐乕のハードウェア
実装とそれに伴うソフトウェア性能の評価を行う．認証暗号の処理を汎用の乃乐乕のソフトウェ
アで処理する場合，複数の命令を組み合わせたプログラムコードを作成するが，新たに命令を追加することでプログラムが単純化され，より少ないサイクル数で実行が可能となる．暗号処理に向けた命令拡張はすでに义乮乴乥乬社の乁久乓中乎义 丨乁乤乶乡乮乣乥乤 久乮乣乲乹买乴乩乯乮 乓乴乡乮乤乡乲乤 乎乥乷 义乮乳乴乲乵乣乴乩乯乮乳丩で採用されている．
ソ フ ト ウ ェ ア 実 装 に は， さ ま ざ ま な プ ラ ッ ト フ ォ ー ム が 考 え ら れ る． 前 述 の と お り，乥乂乁乃乓の乗乥乢サイト 乛丵九から，主にハイエンド乃乐乕上の実装性能評価を得ることができる．そこで，本報告では乥乂乁乃乓にはなく，省電力乃乐乕である乁乲乭 乃乯乲乴乥乸中乍丰での実装性能評価を調査の中心とする．

串2.2 ハードウェアアクセラレータ
ハードウェアアクセラレータの調査において，高速実装や軽量実装といったアーキテクチャレ
ベルでの最適化は，乒乔乌 丨乒乥乧乩乳乴乥乲 乔乲乡乮乳书乥乲 乌乥乶乥乬丩において行われる．さらに，合成時のオプションとしてツールで最適化のオプションを選択することもできる． 乇乩乴乨乵乢などで，乒乔乌コードだけでなく，合成時のスクリプトを公開し，だれでも再現できるようにしている情報もいまでは珍しくない． 乆乐乇乁実装では，公開している情報をダウンロードすれば，著者らが主張と同じ
実装性能結果を得ることができる．一方で，乁乓义乃実装の場合はライブラリの種類が極めて多い
ことや，合成後の配置配線が実装性能をおおきく左右することなどから，合成条件や配置配線の結果を公開することは難しい．
軽量暗号ハードウェアを評価するインタフェース回路としては，主に２方式が提案されている． 乃乁久乓乁乒プロジェクトで提案された乃乁久乓乁乒 么乗 乁乐义 乛丱丳九と乎义乓乔軽量暗号コンペティ
ションで提案された乌乗乃 么乗 乁乐义 乛丱丷九である．いずれのインタフェースも暗号処理性能を評価する上で大きな違いはないが，入力されるデータを適切に処理するためには一般的にある程度のバッファメモリを用意する必要がある．その分，回路面積が増えることになるが，安定したデー
タ転送をハードウェア上で実現することが優先される．他にも，アクセラレータがバスに対して優先的にデータが送れるかといった，バスアービトレーションも考慮する必要がある．こういった詳細な検討は，実際のハードウェアのアーキテクチャを厳密に仕様策定する必要がある．文献

乛串临九のように，乃乁久乓乁乒 么乗 乁乐义の問題点を指摘し改良した報告もある．カスタムのインタフ
ェースを用いた結果や，インタフェースを明確に説明していない論文もある．

2.2.1 コプロセッサ（FPGA実装）
乎义乓乔軽量暗号ファイナリストの乆乐乇乁実装については，乃乁久乓乁乒コンペティション時の評価を含めて，これまでにいくつかの報告がある 乛丱丰丬 串丶丬 串丰丬 串临九． 乃乁久乓乁乒コンペティション時の実装評価結果は，厳密には乎义乓乔軽量暗号の仕様とは異なる場合があるが，実装性能に関する貴重な情報であるため本報告では掲載する．

乆乐乇乁上の回路規模（面積コスト）の単位は，統一されていない． 乘乩乬乩乮乸社の乆乐乇乁の場合
は， 乌乕乔 丨乌乯乯乫中乕买 乔乡乢乬乥丩数で評価することが一般的である． 乓买乡乲乴乡乮中丶丬 乁乲乴乩乸中丷及び乚乹乮乱中丷丰丰丰は， いずれも丶入力の乌乕乔であるとしている． 一方， 乁乬乴乥乲乡社では， 乃乹乣乬乯乮乥中乖の乁乌乍丨乁乤乡买乴乩乶乥 乌乯乧乩乣 乍乯乤乵乬乥丩や乃乹乣乬乯乮乥 丱丰の乌久 丨乌乯乧乩乣 久乬乥乭乥乮乴丩と呼ばれる複数の乌乕乔を含むモ
ジュールをビルディングブロックとしている．いずれも２入力乎乁乎乄ゲートを１単位とする乇久

丨乇乡乴乥 久乱乵乩乶乡乬乥乮乴丩に換算することは可能である．
乍乯乨乡乪乥乲乡乮乩らの串临临ページに及び報告 乛丱丸九は，複数の異なる乆乐乇乁に対して，入力データの違いによる認証暗号とハッシュ関数の処理性能を網羅的に比較している．インタフェースには乌乗乃么乗 乁乐义が用いられている．他にも乆乐乇乁実装に関する報告があるが，乍乯乨乡乪乥乲乡乮乩らの研究ほ丳ど全てのファイナリストの実装を深く研究した論文はない．本報告では， 乍乯乨乡乪乥乲乡乮乩らの膨大な実装性能評価の結果の中から，特に重要と思われる実装コストとスループット性能についてファイナリスト毎に調査を行った．なお，注目度が高いためか，乁乓乃乏乎を乆乐乇乁に実装した研究
成果数はファイナリストの中で最も多くなっている．

2.2.2 コプロセッサ（ASIC実装）
乁乓义乃実装に関する研究では，ゲート数やスループット性能に加えて，消費電力やエネルギー（電力量）効率の評価がより重要となる．リソースの限られた义乯乔デバイスなどを想定しているためである．バッテリーを持たないデバイスの場合には，消費電力が他の指標よりも重要となり，
バッテリー駆動のデバイスの場合にはデバイスの寿命に直結するエネルギー効率を議論するべきである．エネルギーは電力を時間積分したものであるため，デバイスの使用率や消費電力の管理手法によりエネルギー効率は大きく変わる．しかし，このような実使用下のフィールドテストによる評価は難しく，アプリケーションにも大きく依存するため，多くの文献では，暗号処理中に特化して電力とエネルギーを評価している．また，評価は認証暗号コアとインタフェースのみの評価となっている．理想的には，通信機能などを含め，認証暗号が組み込まれるデバイス全体の電力やエネルギー効率評価を行うべきであろう．

乁乓义乃実装では，使用するライブラリの特徴やレイアウトなどにより実装性能が大きく左右す
る．今回調査した限りでは，レイアウト後のシミュレーション結果も見られたが，乎义乓乔ファイ
ナリストの実装性能をシリコンチップ上で実測した研究はなかった．これは，乁乓义乃実装の場合
は評価基板上での動作確認を行うための工程が多いためである．なお，乆乐乇乁実装と同様，実装で使用されたインタフェース部の回路は乎义乓乔 么乗 乁乐义を含めいくつかあったが，丱 乫乇久程度の回路規模であった．
高スループットを得るために，本来１サイクルで実行する関数（ラウンド関数など）をまとめて実行するアンローリング型のアーキテクチャを設計し評価している研究もあった．暗号アルゴ
リズムによっては，アンローリングに適していないものもあるが，例えば乁乓乃乏乎に対してはア
ンローリングは柔軟に適用することができる．一般的に，アンロールするラウンド数が多くなるほど組み合わせ回路の面積が大きくなるため，全体の回路面積は大きくなる．また，組み合わせ回路のクリティカルパス遅延時間は長くなるため，最大動作周波数は低くなる．しかし，組み合わせ回路の規模は大きくなるものの，順序回路の規模は変わらない．また，組み合わせ回路を最適化することで，単純にアンロールした関数の遅延時間の足し算にはならず，最大動作周波数はそれほど低下しない．そのため，スループットの向上を狙うことができる．なお，アンローリン
グによって消費電力は増加するが，所望の処理を短い時間で実行することができるため，エネル
ギー効率を高められる場合がある．

乁乓乃乏乎中丶临中乢乩乴は，丶临ビットの算術論理ユニット丨乁乌乕丩にもとづきデーターパスを設計したものである．ソフトウェア実装のように，ラウンド処理を複数のサイクルに分けて実行するため，処理性能は低下するが，面積は小さくなる． 乁乓乃乏乎中乸中乬乯乷中乡乲乥乡は面積を小さくすることを狙临った実装である， 乁乓乃乏乎中丶临中乢乩乴よりもさらに小さいデーターパスを使い，丳丮丷丵之乇久のコンパ
クト実装を実現している． 乁乓乃乏乎中丶临中乢乩乴と乁乓乃乏乎中乸中乬乯乷中乡乲乥乡は，そちらも消費電力を低く抑えることができるが，乁乓乃乏乎中书乡乳乴と比べてエネルギー消費は大幅に増加することがわかる．
文献 乛丹九で久乬乳乡乤乥乫らは，ファイナリストの乁乓义乃実装におけるスループット性能とエネルギー
消費について報告している．インタフェース回路は考慮されておらず，コアのみの評価となっている．レイアウトは実施していない．
エネルギー効率については，著者らは以下の式を用いている．

久乮乥乲乧乹 久与乣乩乥乮乣乹 乛乢乩乴丯乊九 丽乔乨乲乯乵乧乨买乵乴 乛乢乩乴丯乳乥乣九乐乯乷乥乲 乛乗九この式からわかるとおり，丱ジュールのエネルギーで処理できるビット数は，スループット性能を高めるか消費電力を低くすれば良いことがわかる．スループット性能を高めるためには電力が必要であることから，最適なエネルギー効率は電力とスループットのトレードオフで決まることがわかる．設計段階では，先に述べたアンローリングなどのアーキテクチャレベルでのトレードオフの模索が効果的である．また，クロック周波数や供給電力を変更することでもエネルギー
効率の最適化ははかれる．

2.3 命令拡張
命令拡張は，ソフトウェア実装の柔軟性を維持しつつ，性能を格段に向上することができる魅力的な手法である． 乓乴乥乩乮乥乧乧乥乲と乐乲乩乭乡乳は， 乒义乓乃中乖 丨乒义丵乃乙 乃乯乲乥丩の命令拡張として乁乓乃乏乎中p命令の実装を報告している 乛串丳九． 乃乨乥乮乧らの研究では，ファイナリスト丱丰候補に対して乒义乓乃中乖の命令拡張の結果を示している 乛丷九．
命令拡張により，ハードウェアアクセラレータほどの処理性能を得ることは難しいが，プロ
グラムコードの修正だけで高速化できることや， 乃乐乕の周辺回路やインタフェースがそのまま使える．こういった長所はあるが，認証暗号機能を使わない場合や，特定のアルゴリズムに特化した命令の場合，無駄な回路となってしまうことがある． 义乮乴乥乬社の乃乐乕に搭載された乁久乓命
令乁久乓中乎义 丨乁乤乶乡乮乣乥乤 久乮乣乲乹买乴乩乯乮 乓乴乡乮乤乡乲乤 乎乥乷 义乮乳乴乲乵乣乴乩乯乮乳丩 のように，広いアプリケーシ
ョンで長期間の使用が見込める認証暗号アルゴリズムが登場した場合，命令拡張は極めて有望なソリューションといえる．

2.4 ソフトウェア実装
本報告では，ソフトウェア実装についてそれほど多くの調査結果は掲載していない． 乥乂乁乃乓丨久乃乒乙乐乔 乂乥乮乣乨乭乡乲乫乩乮乧 乯书 乃乲乹买乴乯乧乲乡买乨乩乣 乓乹乳乴乥乭乳丩で公開されている結果が，十分よくまとまっているためためである． ただし， 义乮乴乥乬 乘乥乯乮や乁乲乭 乃乯乲乴乥乸中乍丷といった処理性能の高い乃乐乕での結果が中心であり， 义乯乔デバイス向けの低消費電力の乃乐乕などの結果はない．そこ
で本稿では，低消費乃乐乕である乁乲乭 乃乯乲乴乥乸中乍丰上で，ファイナリストの処理性能を行なった文丵献 乛丱串九を調査することにする．
一般的に，ソフトウェアの処理性能は，丱バイトの処理に必要なサイクル数 丨乣乹乣乬乥乳丯乢乹乴乥丩で評
価かレイテンシで行う．認証暗号やハッシュの処理では，初期化における処理などとのオーバー
ヘッド時間が必要となる．したがって，処理するデータ長が短い場合には，処理性能は低くなる傾向になる．ファイナリストの中には，比較的この種のオーバーヘッドが重たいものも存在す
る．そのため，データ量の少ない処理を行うことが主であるようなアプリケーションを評価をする際には，丱バイトの処理に必要なサイクル数よりも，処理に必要なレイテンシを評価する方が適していると場合もある．
一方で，十分にな量のデータを処理する場合には，オーバーヘッドは無視できるため，認証暗号アルゴリズムのベストな処理性能を得ることができる．この場合には，スループット性能が重視されるべきであるため，丱バイトの処理に必要なサイクル数が適している．
ソフトウェアプログラムの性能を評価する際には，こういった入力データの量の違いによる結果を調査する必要がある． また， 乁久乁乄においては，平文丨乐乔为 乐乬乡乩乮乴乥乸乴丩丬 暗号文丨乃乔为乃乩买乨乥乲乴乥乸乴丩や乁乄丨乁乳乳乯乣乩乡乴乥乤 乄乡乴乡丩のサイズをそれぞれ分けて実装性能を評価するものが多い．
本報告では，できるかぎりデータの種類と入力データ量に関する情報を付記している．

丶

3 ASCON
3.1 概要乁乓乃乏乎の設計者（提出者）は以下のとおりである．
• 乃乨乲乩乳乴乯买乨 乄乯乢乲乡乵乮乩乧• 乍乡乲乩乡 久乩乣乨乬乳乥乤乥乲• 乆乬乯乲乩乡乮 乍乥乮乤乥乬• 乍乡乲乴乩乮 乓乣乨乬ä下乥乲
本方式に関する概要と仕様は以下の乕乒乌から参照できる．

• 乗乥乢サイト：https://ascon.iaik.tugraz.at• 仕様：https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/
documents/finalist-round/updated-spec-doc/ascon-spec-final.pdf

3.2 ハードウェアアクセラレータ
3.2.1 コプロセッサ（FPGA実装）
ここでは， 乃乁久乓乁乒コンペティションでの評価結果を含めて， 乁乓乃乏乎の乆乐乇乁実装の実装
性能について述べる．ファイナリストの中で研究報告の数は最も多い．表丳丮丱は，文献 乛丱丰丬 串丶丬

串丰丬 串临九での面積コストとスループット性能に関する研究報告の結果をまとめたものである．
乆乐乇乁の種類とインタフェースを併記している．
表丳丮丱の 中 で も っ と も コ ン パ ク ト な 実 装 は， 文 献 乛串丶九の 結 果 で 報 告 の あ る丶丸临 乌乕乔乳で ある． もっとも高速な実装は，文献 乛丱丰九で報告されており，約串丮丹 乇乢买乳の認証暗号の処理性能表丳丮丱为 乁乓乃乏乎の乆乐乇乁実装の結果 乛丱丰丬 串丶丬 串丰丬 串临九DesignPlatform

I/F

Area

Throughput

ASCON-128 [10]ASCON-128a [10]ASCON-128 [26]
ASCON-128a [26]Spartan-6

CAESARHW APICAESARHW API

1,402 LUTs
1,712 LUTs
684 LUTs
684 LUTs
1,898 LUTs
1,913 LUTs
1,051 ALMs
2,181 LUTs
2,188 LUTs
1,064 ALMs
6,325 LUTs

1,906.3 Mbps
2,884.3 Mbps
60.10 Mbps
119.16 Mbps
1683.2 Mbps
1116.4 Mbps
1295.6 Mbps
1032.5 Mbps
678.1 Mbps
898.0 Mbps-

ASCON-128 [20]ASCON-128 HASH [20]ASCON-128 [24]Spartan-6
Artix-7
Spartan-6
Cyclone-V
Artix-7
Spartan-6
Cyclone-V
Zynq-7000-6

LWC HW API

LWC HW API
CAESAR-based丷を丱丬丷丱串乌乕乔乳で達成できるとしている．また，ハッシュ関数として機能させた場合，乁乲乴乩乸中丷上で丱丮丰 乇乢买乳の処理を串丬丱丸丱 乌乕乔乳で達成できるとしている 乛串丰九．
インタフェースには，乃乁久乓乁乒プロジェクトで提案された乃乁久乓乁乒 么乗 乁乐义 乛丱丳九と乎义乓乔軽
量暗号コンペティションで提案された乌乗乃 么乗 乁乐义 乛丱丳九が使われている． 文献 乛串临九では，乃乁久乓乁乒 么乗 乁乐义を改良したインタフェースを用いている．先述のとおり，インタフェースの仕様は，ハードウェアモジュールの面積コストと処理性能に大きな影響を及ぼすため，表の数値だけで乁乓乃乏乎の性格な性能を評価することは難しい．しかし，少なくとも，軽量実装が可能なことや高い処理性能を実現できることは表丳丮丱の結果から読み取ることができる．実装性能のト
レードオフを模索できる柔軟性は乁乓乃乏乎の特徴といえる．
他の乆乐乇乁実装の結果としては， 乍乯乨乡乪乥乲乡乮乩らの報告 乛丱丸九が秀逸である．複数の異なる種類の乆乐乇乁に対して，入力データの違いによる認証暗号とハッシュ関数の処理性能を網羅的に比較している．研究結果は膨大であるため，面積コストとスループット性能に絞り結果の一部を
表丳丮串にまとめる．

表丳丮串为 乁乓乃乏乎の乆乐乇乁実装の結果丨つづき丩 乛丱丸九
DesignPlatform

Data

Area

Throughput

Ascon-GMU-v1

Artix-7

AD+PT(Long)

2,410 LUTs

6,297.6 Mbps

Hash(Long)--

Cyclone 10

AD+PT(Long)4,552 LEs

3,031.0 Mbps

Hash(Long)2,415 LEs

864.4 Mbps

AD+PT(Long)5,909 LUTs

2,158.1 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

2,410 LUTs

3,022.8 Mbps

ECP5

Artix-7

Cyclone 10

ECP5

Ascon-GMU-v2

AD+PT(64 Bytes)

1,574.4 Mbps

AD+PT(16 Bytes)

629.8 Mbps

Hash

-

-

AD+PT(1536 Bytes)

4,552 LEs

1,454.9 Mbps

AD+PT(64 Bytes)

757.8 Mbps

AD+PT(16 Bytes)

303.1 Mbps

Hash

-

-

AD+PT(1536 Bytes)

5,909 LUTs

1,035.9 Mbps

AD+PT(64 Bytes)

539.5 Mbps

AD+PT(16 Bytes)

215.8 Mbps

Hash

-

-

Artix-7

AD+PT(Long)

1,790 LUTs

4,366.2 Mbps

Hash(Long)--

Cyclone 10

AD+PT(Long)

3,113 LEs

2,284.7 Mbps

Hash(Long)

3,215 LEs

1,232.5 Mbps

AD+PT(Long)4,641 LUTs

1,666.3 Mbps

ECP5

Continued on next page丸

表 3.2 – continued from previous page

DesignPlatform

Artix-7

Data

Area

Throughput

Hash(Long)--

AD+PT(1536 Bytes)

1,790 LUTs

2,115.8 Mbps
1,237.7 Mbps

AD+PT(64 Bytes)

538.3 Mbps

AD+PT(16 Bytes)

Cyclone 10

ECP5

Ascon-GMU2-v1h

Artix-7

Hash

-

-

AD+PT(1536 Bytes)

3,113 LEs

1,107.1 Mbps

AD+PT(64 Bytes)

647.6 Mbps

AD+PT(16 Bytes)

281.7 Mbps

Hash

-

-

AD+PT(1536 Bytes)

4,641 LUTs

807.5 Mbps

AD+PT(64 Bytes)

472.3 Mbps

AD+PT(16 Bytes)

205.4 Mbps

Hash

-

AD+PT(Long)

1,375 LUTs

Hash(Long)
Cyclone 10

ECP5

AD+PT(Long)2,415 LEs

1,605.4 Mbps

Hash(Long)

4,161 LEs

1,173.5 Mbps

AD+PT(Long)

2,928 LUTs

1,006.3 Mbps

AD+PT(1536 Bytes)

541.8 Mbps
1,375 LUTs

AD+PT(64 Bytes)

Cyclone 10

Ascon-GMU2-v2h

Artix-7

AD+PT(16 Bytes)

430.8 Mbps

Hash(1536 Bytes)

1,321.7 Mbps

Hash(64 Bytes)

812.1 Mbps

Hash(16 Bytes)

368.0 Mbps

AD+PT(1536 Bytes)

2,415 LEs

786.9 Mbps

AD+PT(64 Bytes)

541.6 Mbps

AD+PT(16 Bytes)

274.1 Mbps

Hash(1536 Bytes)

840.9 Mbps

Hash(64 Bytes)

516.7 Mbps

AD+PT(1536 Bytes)

234.1 Mbps
2,928 LUTs

493.2 Mbps

AD+PT(64 Bytes)

339.5 Mbps

AD+PT(16 Bytes)

171.8 Mbps

Hash(1536 Bytes)

527.1 Mbps

Hash(64 Bytes)

323.9 Mbps

Hash(16 Bytes)

146.7 Mbps

AD+PT(Long)

2,126 LUTs

Hash(Long)
Cyclone 10

1,236.9 Mbps
851.3 Mbps

Hash(16 Bytes)
ECP52,523.4 Mbps
1,358.8 Mbps

Hash(Long)
Artix-7-

AD+PT(Long)3,744.0 Mbps
2,139.4 Mbps

3,215 LEs

2,157.0 Mbps

Continued on next page丹

表 3.2 – continued from previous page

DesignPlatform

ECP5

Data

Area

Throughput

Hash(Long)--

AD+PT(Long)3,764 LUTs

1,427.5 Mbps
815.7 Mbps

Hash(Long)
Artix-7

Cyclone 10

ECP5

Ascon-GMU2-v3h

Artix-7

AD+PT(1536 Bytes)

2,126 LUTs

1,163.2 Mbps

AD+PT(16 Bytes)

544.6 Mbps

Hash(1536 Bytes)

2,077.6 Mbps

Hash(64 Bytes)

1,248.0 Mbps

Hash(16 Bytes)

554.7 Mbps

AD+PT(1536 Bytes)

3,215 LEs

ECP5

670.1 Mbps

AD+PT(16 Bytes)

313.7 Mbps

Hash(1536 Bytes)

1,196.9 Mbps

Hash(64 Bytes)

719.0 Mbps

Hash(16 Bytes)

319.5 Mbps

AD+PT(1536 Bytes)

3,764 LUTs

Cyclone 10ECP5696.1 Mbps

AD+PT(64 Bytes)

443.5 Mbps

AD+PT(16 Bytes)

207.6 Mbps

Hash(1536 Bytes)

792.1 Mbps

Hash(64 Bytes)

475.8 Mbps

Hash(16 Bytes)

211.5 Mbps

AD+PT(Long)2,493 LUTs

3,029.3 Mbps
1,817.6 Mbps

AD+PT(Long)

4,161 LEs

1,955.8 Mbps

Hash(Long)--

AD+PT(Long)4,925 LUTs

1,305.6 Mbps

Hash(Long)
Artix-7

1,051.8 Mbps

AD+PT(64 Bytes)

Hash(Long)
Cyclone 10

1,825.6 Mbps

AD+PT(64 Bytes)

AD+PT(1536 Bytes)

783.4 Mbps
2,493 LUTs

1,470.0 Mbps

AD+PT(64 Bytes)

876.0 Mbps

AD+PT(16 Bytes)

386.7 Mbps

Hash(1536 Bytes)

1,762.5 Mbps

Hash(64 Bytes)

1,038.6 Mbps

Hash(16 Bytes)

454.4 Mbps

AD+PT(1536 Bytes)

4,161 LEs

949.1 Mbps

AD+PT(64 Bytes)

565.5 Mbps

AD+PT(16 Bytes)

249.7 Mbps

Hash(1536 Bytes)

1,137.9 Mbps

Hash(64 Bytes)

670.6 Mbps

Hash(16 Bytes)

293.4 Mbps

AD+PT(1536 Bytes)

4,925 LUTs

633.6 Mbps

Continued on next page丱丰

表 3.2 – continued from previous page

DesignAscon-Graz-v1

Platform

Artix-7

Data

Area

AD+PT(64 Bytes)

377.5 Mbps

AD+PT(16 Bytes)

166.7 Mbps

Hash(1536 Bytes)

759.6 Mbps

Hash(64 Bytes)

447.6 Mbps

Hash(16 Bytes)

195.8 Mbps

AD+PT(Long)1,465 LUTs

Hash(Long)
Cyclone 10

AD+PT(Long)

AD+PT(Long)

2,517 LEs

Cyclone 10

ECP5

Ascon-Graz-v2

Artix-7

AD+PT(1536 Bytes)

2,544 LUTs

1,465 LUTs

552.5 Mbps

AD+PT(16 Bytes)

301.8 Mbps

Hash(1536 Bytes)

850.1 Mbps

Hash(64 Bytes)

528.6 Mbps

Hash(16 Bytes)

242.1 Mbps

AD+PT(1536 Bytes)

2,517 LEs

556.6 Mbps

AD+PT(64 Bytes)

409.0 Mbps

AD+PT(16 Bytes)

223.4 Mbps

Hash(1536 Bytes)

629.2 Mbps

Hash(64 Bytes)

391.3 Mbps

Hash(16 Bytes)

179.2 Mbps

AD+PT(1536 Bytes)

2,544 LUTs

233.4 Mbps

AD+PT(64 Bytes)

171.5 Mbps

AD+PT(16 Bytes)

93.7 Mbps

Hash(1536 Bytes)

263.8 Mbps

Hash(64 Bytes)

164.1 Mbps

Hash(16 Bytes)

75.1 Mbps

AD+PT(Long)

1,541 LUTs

AD+PT(Long)

AD+PT(Long)

AD+PT(1536 Bytes)

2,272.0 Mbps
973.7 Mbps

2,634 LEs

1,529.1 Mbps
655.3 Mbps

2,603 LUTs

Hash(Long)
Artix-7752.0 Mbps

AD+PT(64 Bytes)

Hash(Long)
ECP5

474.2 Mbps
271.0 Mbps

Hash(Long)
Cyclone 10

1,131.0 Mbps
646.3 Mbps

Hash(Long)
Artix-7

1,528.0 Mbps
873.1 Mbps

Hash(Long)
ECP5

Throughput

683.1 Mbps
292.8 Mbps

1,541 LUTs

1,108.6 Mbps

AD+PT(64 Bytes)

712.8 Mbps

AD+PT(16 Bytes)

336.6 Mbps

Hash(1536 Bytes)

948.0 Mbps

Hash(64 Bytes)

589.5 Mbps
Continued on next page丱丱

表 3.2 – continued from previous page

DesignPlatform

Data

Area

Hash(16 Bytes)
Cyclone 10

ECP5

Ascon-Graz-v3

Artix-7

AD+PT(1536 Bytes)

269.9 Mbps
2,634 LEs

479.7 Mbps

AD+PT(16 Bytes)

226.5 Mbps

Hash(1536 Bytes)

638.0 Mbps

Hash(64 Bytes)

396.7 Mbps

Hash(16 Bytes)

181.7 Mbps

AD+PT(1536 Bytes)

2,603 LUTs

214.3 Mbps

AD+PT(16 Bytes)

101.2 Mbps

Hash(1536 Bytes)

285.0 Mbps

Hash(64 Bytes)

177.2 Mbps

Hash(16 Bytes)

81.2 Mbps

AD+PT(Long)

2,142 LUTs

AD+PT(Long)

AD+PT(Long)

AD+PT(1536 Bytes)

3,716 LEs

3,305 LUTs

Ascon-Graz-v4

Artix-7

2,142 LUTs

1,260.1 Mbps
857.6 Mbps

AD+PT(16 Bytes)

428.8 Mbps

Hash(1536 Bytes)

1,564.2 Mbps

Hash(64 Bytes)

961.8 Mbps

Hash(16 Bytes)

436.1 Mbps

AD+PT(1536 Bytes)

3,716 LEs

687.5 Mbps

AD+PT(64 Bytes)

467.9 Mbps

AD+PT(16 Bytes)

233.9 Mbps

Hash(1536 Bytes)

853.4 Mbps

Hash(64 Bytes)

524.7 Mbps

AD+PT(1536 Bytes)

237.9 Mbps
3,305 LUTs

399.2 Mbps

AD+PT(64 Bytes)

271.7 Mbps

AD+PT(16 Bytes)

135.8 Mbps

Hash(1536 Bytes)

495.5 Mbps

Hash(64 Bytes)

304.7 Mbps

Hash(16 Bytes)

138.1 Mbps

AD+PT(Long)2,249 LUTs

Hash(Long)
Cyclone 10815.0 Mbps
509.4 Mbps

Hash(16 Bytes)
ECP51,403.6 Mbps
877.3 Mbps

AD+PT(64 Bytes)

Cyclone 10

2,572.8 Mbps
1,608.0 Mbps

Hash(Long)
Artix-7

333.3 Mbps

AD+PT(64 Bytes)

Hash(Long)
ECP5

746.1 Mbps

AD+PT(64 Bytes)

Hash(Long)
Cyclone 10

Throughput

AD+PT(Long)3,296.0 Mbps
1,648.0 Mbps

3,730 LEs

1,738.4 Mbps

Continued on next page丱串

表 3.2 – continued from previous page

DesignPlatform

Data

Area

Hash(Long)
ECP5

AD+PT(Long)

869.2 Mbps
3,379 LUTs

Cyclone 10

ECP5

Ascon-Graz-v5

Artix-7

AD+PT(1536 Bytes)

2,249 LUTs

1,004.5 Mbps

AD+PT(16 Bytes)

462.6 Mbps

Hash(1536 Bytes)

1,603.1 Mbps

Hash(64 Bytes)

985.7 Mbps

Hash(16 Bytes)

446.9 Mbps

AD+PT(1536 Bytes)

3,730 LEs

529.8 Mbps

AD+PT(16 Bytes)

244.0 Mbps

Hash(1536 Bytes)

845.5 Mbps

Hash(64 Bytes)

519.9 Mbps

Hash(16 Bytes)

235.7 Mbps

AD+PT(1536 Bytes)

3,379 LUTs

Cyclone 10ECP5481.9 Mbps

AD+PT(64 Bytes)

301.6 Mbps

AD+PT(16 Bytes)

138.9 Mbps

Hash(1536 Bytes)

481.3 Mbps

Hash(64 Bytes)

296.0 Mbps

Hash(16 Bytes)

134.2 Mbps

AD+PT(Long)

2,797 LUTs

AD+PT(Long)

AD+PT(Long)

AD+PT(1536 Bytes)

2,400.0 Mbps
1,600.0 Mbps

4,905 LEs

1,281.9 Mbps
854.6 Mbps

4,646 LUTs

Hash(Long)
Artix-7

846.6 Mbps

AD+PT(64 Bytes)

Hash(Long)
ECP51,605.2 Mbps

AD+PT(64 Bytes)

Hash(Long)
Cyclone 10

989.6 Mbps
494.8 Mbps

Hash(Long)
Artix-7

Throughput

889.8 Mbps
593.2 Mbps

2,797 LUTs

1,173.3 Mbps

AD+PT(64 Bytes)

775.8 Mbps

AD+PT(16 Bytes)

376.5 Mbps

Hash(1536 Bytes)

1,555.4 Mbps

Hash(64 Bytes)

948.1 Mbps

Hash(16 Bytes)

426.7 Mbps

AD+PT(1536 Bytes)

4,905 LEs

626.7 Mbps

AD+PT(64 Bytes)

414.4 Mbps

AD+PT(16 Bytes)

201.1 Mbps

Hash(1536 Bytes)

830.8 Mbps

Hash(64 Bytes)

506.4 Mbps

Hash(16 Bytes)

227.9 Mbps

AD+PT(1536 Bytes)

4,646 LUTs

435.0 Mbps

Continued on next page丱丳

表 3.2 – continued from previous page

DesignAscon-Graz-v6

Platform

Artix-7

Cyclone 10

ECP5

Ascon-VT-v1

Artix-7

Area

Throughput

AD+PT(64 Bytes)

287.6 Mbps

AD+PT(16 Bytes)

139.6 Mbps

Hash(1536 Bytes)

576.7 Mbps

Hash(64 Bytes)

351.5 Mbps

Hash(16 Bytes)

158.2 Mbps

AD+PT

-

-

Hash

-

-

AD+PT

-

-

Hash

-

-

AD+PT(Long)5,346 LUTs

827.9 Mbps

Hash(Long)

496.8 Mbps

AD+PT(1536 Bytes)

402.4 Mbps

AD+PT(64 Bytes)

245.3 Mbps

AD+PT(16 Bytes)

110.4 Mbps

Hash(1536 Bytes)

482.7 Mbps

Hash(64 Bytes)

292.2 Mbps

Hash(16 Bytes)

130.7 Mbps

AD+PT(Long)

1,913 LUTs

1,491.2 Mbps

Hash(Long)--

AD+PT(Long)

2,432 LEs

1,130.4 Mbps

Hash(Long)

-

-

ECP5

AD+PT(Long)

3,130 LUTs

543.4 Mbps

Hash(Long)--

Artix-7

AD+PT(1536 Bytes)

1,913 LUTs

735.4 Mbps

Cyclone 10

Cyclone 10

ECP5

Ascon-VT-v2

Data

Artix-7

AD+PT(64 Bytes)

560.1 Mbps

AD+PT(16 Bytes)

320.7 Mbps

AD+PT(1536 Bytes)

2,432 LEs

AD+PT(64 Bytes)

424.6 Mbps

AD+PT(16 Bytes)

243.1 Mbps

AD+PT(1536 Bytes)

3,130 LUTs

204.1 Mbps

AD+PT(16 Bytes)

116.9 Mbps

AD+PT(Long)

1,928 LUTs

AD+PT(Long)

AD+PT(Long)2,695 LEs

AD+PT(1536 Bytes)
AD+PT(64 Bytes)

1,158.7 Mbps
733.9 Mbps

3,041 LUTs

508.1 Mbps
321.8 Mbps

Hash(Long)
Artix-7

1,475.4 Mbps
934.4 Mbps

Hash(Long)
ECP5

268.0 Mbps

AD+PT(64 Bytes)

Hash(Long)
Cyclone 10557.5 Mbps

1,928 LUTs

726.9 Mbps
544.3 Mbps

Continued on next page丱临

表 3.2 – continued from previous page

DesignPlatform

Data

Area

AD+PT(16 Bytes)

304.7 Mbps

Hash(1536 Bytes)

910.4 Mbps

Hash(64 Bytes)

572.1 Mbps
264.5 Mbps

Hash(16 Bytes)
Cyclone 10

ECP5

Throughput

AD+PT(1536 Bytes)

2,695 LEs

570.9 Mbps

AD+PT(64 Bytes)

427.5 Mbps

AD+PT(16 Bytes)

239.3 Mbps

Hash(1536 Bytes)

715.0 Mbps

Hash(64 Bytes)

449.3 Mbps

Hash(16 Bytes)

207.7 Mbps

AD+PT(1536 Bytes)

3,041 LUTs

250.3 Mbps

AD+PT(64 Bytes)

187.5 Mbps

AD+PT(16 Bytes)

104.9 Mbps

Hash(1536 Bytes)

313.5 Mbps

Hash(64 Bytes)

197.0 Mbps

Hash(16 Bytes)

91.1 Mbps

LWC HW APIを用いている．認証暗号の性能は暗号化時のものである．

表丳丮串において，乄乥乳乩乧乮の項目は乒乔乌コードの名前であり，設計者とバージョンの違いがわかるようになっている． 乄乡乴乡には入力データの種類があり，例えば乁乄丫乐乔丨乌乯乮乧丩は，十分にデータ長の長い乁乄と乐乔に対して，暗号化処理を行なう場合を意味する．括弧内がバイト数の場合
は，入力長を意味する．同じ乆乐乇乁実装でも，入力長の違いによりスループット性能が異なることがわかる．最も高速な結果では，串丬临丱丰 乌乕乔乳で丶 乇乢买乳を超える報告がある．これは乁乲乴乩乸中丷上
で，入力が乁乄丫乐乔丨乌乯乮乧丩の場合の結果である*2．

3.2.2 コプロセッサ（ASIC実装）
乇乲乯丙らは，丹丰 乮乭 乕乍乃 乬乯乷中之ライブラリを用いて乁乓乃乏乎の専用回路 丨乁乓义乃丩としての性能を調べた 乛丱丱九．その結果を表丳丮丳にまとめる．
インタフェース部の回路（鍵レジスタと丶临ビットのバスインタフェース）はおよそ丰丮丸丷から丱丮丱丸 乫乇久のゲートサイズである． 乁乓乃乏乎中书乡乳乴は，高スループットの実装を狙った実装である． 乁乓乃乏乎中书乡乳乴 丱 乲乯乵乮乤は，アンロールなしの実装を意味している．他にも， 串丬丳丬丶ラウンド
分を丱サイクルで実行する乁乓乃乏乎中书乡乳乴 串 乲乯乵乮乤乳丬 丳 乲乯乵乮乤乳丬 丶 乲乯乵乮乤乳の結果をまとめる．今回の乇乲乯丙らの結果から，面積コストと処理性能のトレードオフがみられる．表丳丮丳の結果では，アンロール数が多くなるほど，高い処理性能は高くなり，乁乓乃乏乎中书乡乳乴 丶 乲乯乵乮乤乳で約丱丳 乇么乺のス*2 実際に高スループット性能を達成するためには，データの入出力がボトルネックにならないことが条件である

丱丵表丳丮丳为 乇乲乯丙らによる乁乓乃乏乎の乁乓义乃実装の結果 乛丱丱九
DesignI/F

Area

Throughput
@fmax

Power
@1MHz

EnergyASCON-fast 1 roundnocustomno
customno
customno
customno
customno
custom7.08 kGE
7.95 kGE
10.61 kGE
11.48 kGE
14.26 kGE
15.13 kGE
24.93 kGE
25.80 kGE
4.99 kGE
5.86 kGE
2.57 kGE
3.75 kGE

5,524 Mbps

43 µW

33 µJ/byte

8,425 Mbps

72 µW

27 µJ/byte

10,407 Mbps

102 µW

25 µJ/byte

13,218 Mbps

184 µW

23 µJ/byte

72 Mbps

32 µW

1,397 µJ/byte

14 Mbps

15 µW

5,706 µJ/byte

ASCON-fast 2 rounds
ASCON-fast 3 rounds
ASCON-fast 6 rounds
ASCON-64-bit
ASCON-x-low-area

ループット性能が見られている．なお，乁乓乃乏乎中书乡乳乴 丶 乲乯乵乮乤乳では消費電力は最大であるが，処理時間が短くなるためエネルギー効率は最も良くなっていることがわかる．
表丳丮丳に記載の乁乓乃乏乎中丶临中乢乩乴は， 丶临ビットの算術論理ユニット丨乁乌乕丩にもとづいてデーターパスを設計したものである．ソフトウェア実装のように，ラウンド処理を複数のサイクルに分けて実行するため処理性能は低下するが，面積コストは下がる． 乁乓乃乏乎中乸中乬乯乷中乡乲乥乡は面積を小さくすることを狙った実装である， 乁乓乃乏乎中丶临中乢乩乴よりもさらにデーターパスを軽量化し，丳丮丷丵乫乇久のコンパクト実装を実現している． 乁乓乃乏乎中丶临中乢乩乴と乁乓乃乏乎中乸中乬乯乷中乡乲乥乡は，どちらも消費電力を低く抑えることができるが，乁乓乃乏乎中书乡乳乴と比べてエネルギー効率は大幅に増加することがわかる．処理時間が長くなるためである．

乄乯乢乲乡乵乮乩乧らは文献 乛丸九で，乃乁久乓乁乒プロジェクトで使われた乃乁久乓乁乒 么乡乲乤乷乡乲乥 乁乐义 乛丱丳九を想定したコプロセッサ実装の結果を紹介している． インタフェース回路は， 乃乁久乓乁乒 么乗

乁乐义である．表丳丮串にまとめた乇乲乯丙らの結果と比較して面積コストが若干高くなっているが，これは乃乁久乓乁乒 么乗 乁乐义の構成が原因と考える．このように，乁乓乃乏乎の回路規模は，インタフ
ェース回路の影響を大きくうけていることがわかる．
表丳丮临为 乄乯乢乲乡乵乮乩乧らによる乁乓乃乏乎の乁乓义乃実装の結果 乛丸九
DesignASCON-128 1 round
ASCON-128 2 rounds
ASCON-128 3 rounds
ASCON-128 6 rounds
ASCON-128a 1 round
ASCON-128a 2 rounds
ASCON-128a 4 rounds

I/F

CAESARHW APICAESARHW APIArea

Throughput
@fmax

Power

Energy9.42 kGE
12.99 kGE
16.59 kGE
27.28 kGE
9.68 kGE
13.25 kGE
20.38 kGE

4,888 Mbps
8,482 Mbps
10,343 Mbps
12,261 Mbps
7,326 Mbps
11,743 Mbps
16,675 Mbps--

他にも，久乬乳乡乤乥乫らは，乇乆 串串 乮乭 乃乍乏乓 丨乇乆串串乆乄乸丩で合成した乁乓乃乏乎の乁乓义乃実装につい丱丶て，スループット性能とエネルギー効率を報告している 乛丹九．インタフェースは考慮されておらず，コア部のみの実装性能評価となっている．表丳丮丵にその結果をまとめる．
表丳丮丵为 久乬乳乡乤乥乫らによる乁乓乃乏乎の乁乓义乃実装の結果 乛丸九
DesignI/F

Area

ASCON-128 (Enc.)

no11 kGEASCON-128(Enc.)

no11 kGE

Data

Throughput@fmax

EnergyEfficiency

Short/PT
Short/ADShort/PT+AD
Long/PT
Long/AD
Long/PT+AD

39.1 Mbps
37.8 Mbps
70.4 Mbps
522.0 Mbps
522.0 Mbps
531.9 Mbps

407.2 Mbit/mJ
371.7 Mbit/mJ
640.8 Mbit/mJ
2,614.7 Mbit/mJ
2,531.3 Mbit/mJ
2,600.4 Mbit/mJ

表中の乓乨乯乲乴丯乐乔は，入力丨乐乔丩のデータ長が短い場合で，丱丶バイトのデータを間隔を空けて送信する想定である． 乐乔のみあるいは乁乄のみの場合においては，临丰 乍乢乳程度の処理性能がでていることがわかる． 乐乔丫乁乄の評価では丷丰 乍乢买乳程度となっている．
入力データが乌乯乮乧の場合では， 丱丵丳丶バイトの連続した入力データの処理を想定している．

乓乨乯乲乴と比べて，スループット性能は高くなり，丵丰丰 乍乢买乳を超えている．
エネルギー効率については，著者らは以下の式を用いている．

久乮乥乲乧乹 久与乣乩乥乮乣乹 乛乢乩乴丯乊九 丽乔乨乲乯乵乧乨买乵乴 乛乢乩乴丯乳乥乣九乐乯乷乥乲乛乗九

例えば，表丳丮丵の１行目のデータに対する電力（平均）は， 丳丹.丱/临丰丷.串 丽 丰.丰丹丶丰となるため，

丹丶µ乗と算出できる．また，１ビットの処理に必要なエネルギーを求める場合は，エネルギー効率と処理データ数を用いて，丱串丸/临丰丷.串 丽 丰.丳丱临临となるため，丰丮丳丱临临µ乊丯乢乩乴（串丮丵丱µ乊丯乢乹乴乥丩と算出できる． 乇乲乯丙らによる乁乓义乃実装 乛丱丱九で報告されているエネルギー消費の値と比べると大きな違いがあることがわかる．どちらの性能評価も合成結果後のシミュレーションによる見積もりであることが原因として考えられる．電力やエネルギー効率の正確な測定には，レイアウト後の正確なシミュレーションや実チップでの測定が不可欠と考える．

3.3 命令拡張乓乴乥乩乮乥乧乧乥乲と乐乲乩乭乡乳は， 乒义乓乃中乖 丨乒义丵乃乙 乃乯乲乥丩に乁乓乃乏乎中p命令を追加し， 命令拡張による実装性能評価を報告している 乛串丳九． 乁乓乃乏乎中pは乁乓乃乏乎のビルディングブロックであり，乁乓乃乏乎中p命令を実装することでソフトウェアの柔軟性を維持しつつ，処理性能の向上が得られるとしている． 論文では， 丶丵 乮乭 乕乍乃 乬乯乷 乬乥乡乫乡乧乥ライブラリ丨乵乭乣丰丶丵乌乌丱乐丱丰乍丩を用いて， 乁乓乃乏乎中p命令を追加した乒义乓乃中乖プロセッサのソフトウェア処理性能が報告されている．
表丳丮丶は，その結果を乁乓乃乏乎を認証暗号として用いた場合とハッシュ関数として用いた場合に分けてまとめたものである．

乁乓乃乏乎中乃は， 乁乓乃乏乎中p命令を使わない乃言語プログラムをオプション丨中乏丳丬 中乏乳丩付きでコ丱丷表丳丮丶为 乓乴乥乩乮乥乧乧乥乲と乐乲乩乭乡乳による乁乓乃乏乎中p命令拡張による乁乓乃乏乎の実装結果 乛串丳九
DesignArea overhead

ASCON-C (-O3)
ASCON-C (-Os)
ASCON-ASM + Acc.
ASCONHASH-C (-O3)
ASCONHASH-C (-Os)
ASCONHASH-ASM + Acc.

4.7 kGE
4.7 kGE

Cycles/Byte
64 Byte 1,536 Byte

Long

164.3
269.7
4.2
306.9
423.3
4.6

108.3
183.5
2.1
203.8
261.3
2.5

110.6
187.1
2.2
208.0
268.0
2.6

Binary size
11,716 Byte
2,104 Byte
888 Byte
20,244 Byte
1528 Byte
484 Byte

ンパイルした場合の結果である．
． 乁乓乃乏乎中乁乓乍 丫 乁乣乣丮は，拡張命令乁乓乃乏乎中pを用いている．
プログラムは，アセンブリ言語で記述している．処理性能（丱バイト処理に必要なサイクル数：乃乹乣乬乥乳丯乂乹乴乥丩は，３つの入力データ長にわけて測定している．
乁乓乃乏乎中p命令を乒乓义乃中乖プロセッサに追加することで， 临丮丷 乫乇久の論理回路が追加で必要となることがわかる．命令拡張により，認証付き暗号，ハッシュ関数のどちらの処理性能も大幅に向上し，１バイトあたりに必要なサイクル数は大幅に少なくなることがわかる．結果として，

丵丰〜丸丰倍の性能向上が临丮丷 乫乇久の追加回路で得られていることは特筆に値する．また，命令拡張により必要なプログラムサイズ丨乒乁乍丩の削減にも寄与している丮乃乨乥乮乧らもファイナリスト丱丰候補に対して乒义乓乃中乖の命令拡張による実装性能評価の結果を発表している 乛丷九． 乓乴乥乩乮乥乧乧乥乲と乐乲乩乭乡乳による研究とは，特定のアルゴリズムに特化した命令拡張ではない点で大きく異なる．また，乆乐乇乁丨之乩乮乴乥乸中丷丩上の実装結果となる．表丳丮丷は，論文の結果を乃乹乣乬乥乳丯乂乹乴乥に変換しまとめたものである． 乄乥乳乩乧乮の項目において，乒乖丳串乇乃は乒义乓乖乃中乖のオリジナルのコアであり，丫以降は命令拡張の種類を意味する．研究で用いられた乒乖丳串乇乃コアの面積コストは丳丬丳丰丳 乌乕乔乳であり，性能評価で用いられた入力データ長はいずれも丱串丸バイトである．
表丳丮丷为 乃乨乥乮らによる命令拡張による乁乓乃乏乎の実装結果 乛丷九
DesignArea

Cycles/Byte

Binary size

ASCON RV32GC (Enc.)
ASCON RV32GC+Zbkb/x (Enc.)
ASCON RV32GC+Zbkb/x+ν032 (Enc.)
ASCON RV32GC (Dec.)
ASCON RV32GC+Zbkb/x (Dec.)
ASCON RV32GC+Zbkb/x+ν032 (Enc.)

3,303 LUTs
3,764 LUTs
4,234 LUTs
3,303 LUTs
3,764 LUTs
4,234 LUTs

336.0
252.5
131.1
269.7
255.4
134.1

-

乓乴乥乩乮乥乧乧乥乲と乐乲乩乭乡乳による研究と比べて大きな性能向上はないものの，面積コストを抑えた汎用的な命令拡張で，数倍の性能向上が得られることがわかる．

3.4 ソフトウェア実装
文献 乛丸九で，著者らは乁乍乄丬 义乮乴乥乬丬 乁乲乭プロセッサに乁乓乃乏乎を実装した際の実装性能の評価

丱丸結果を報告している．
表丳丮丸为 乁乓乃乏乎のソフトウェア実装結果 乛丸九
DesignPlatform
1 ByteASCON-128

Cycles/Byte
32 Byte 64 Byte

AMD Ryzen 7 1700
14.5
Intel Xeon E5-2609 v4
17.3
Arm Cortex-A53(Armv8)
18.3
69.8
Arm Cortex-A15(Armv7)
ASCON-128(*)
Intel Core i5-6300U
367
23
17.6
Intel Core i5-4200U
521
32
23.9
Arm Cortex-A7(NEON)
2705
99
73.2
Arm Cortex-A7(Armv7)
1871
115
86.6
2189
133
97.9
Arm1176JZF-S(Armv6)
ASCON-128a
AMD Ryzen 7 1700
12.0Intel Xeon E5-2609 v4
14.1
Arm Cortex-A57(Armv8)
15.1
60.3
Arm Cortex-A15(Armv7)
ASCON-128a(*)
Intel Core i5-6300U
365
19
13.5
Intel Core i5-4200U
519
27
18.8
2705
83
57.6
Arm Cortex-A7(NEON)
Arm Cortex-A7(Armv7)
1911
102
71.3
2267
120
84.4
Arm1176JZF-S(Armv6)(*)はECRYPTベンチマーキング(eBACS)からの引用である [5]

Long
8.6
10.5
11.0
34.6
11.4
15.8
47.9
57.2
65.3
5.7
6.9
7.3
23.8
7.8
10.6
32.6
41.2
50.2

処理性能の高い乃乐乕では，メッセージ長が乌乯乮乧の場合において， 丱バイトあたり丱丰サイクル未満の結果が得られている． 乁乲乭乶丷や乁乲乭乶丶では，およそ丱丯丵から丱丯临倍程度の性能となっていることがわかる．メッセージ長の短い場合の評価結果，特に丱バイトの場合において必要なサイ
クル数が大幅に増加しており，性能が低い印象を与えるが，実際のレイテンシは無視できるほど低い値になる．
文献 乛丱串九で，日良らはアルゴリズムの提出者が作成したリファレンスコードを低消費電力のプ
ロセッサーである乁乲乭 乃乯乲乴乥乸中乍丰に移植し，実装性能としてレイテンシと乒乏乍サイズ（コードサイズ）を評価している． 乃乐乕の動作周波数は临丸乍么乺である．測定では，平文と乁乄を丰バイトから丳串バイトまで変化させ，暗号化と復号にかかるレイテンシを分けて測定している．テストベ
クトルは，平文と乁乄のそれぞれ串バイトずつ変化させた丱丷×丱丷＝串丸丹通りの組み合わせで構成されている．表中の結果は，この串丸丹通りのテストベクトルの全ての処理にかかるレイテンシの総和となっている．カッコ内の数値はテストベクトル実行した際の１回の処理に必要なレイテンシの平均値である．表丳丮丹に結果をまとめる．
また，文献 乛串丵九では，乁乲乭 乃乯乲乴乥乸中乍丳と乁乖乒 乁乔乭乥乧乡 丱串丸でのソフトウェア実装性能を評価している． 丱丶バイトの乁乄と丱丶バイトの入力データに対して，暗号化／復号の処理性能を評価している．動作周波数は，乁乲乭 乃乯乲乴乥乸中乍丳では丸临乍么乺，乁乖乒 乁乔乭乥乧乡 丱串丸では丱丶乍么乺である．
表丳丮丱丰にこれらの結果をまとめる．
テストベクトルや動作周波数が異なるため一概に述べることは難しいが，いずれの結果でも数丱丹表丳丮丹为 乁乓乃乏乎の乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九
Designascon128av12
ascon128v12
ascon80pqv12

0 to 32Bytes
Encryption [msec]
153(0.529)183(0.633)185(0.640)0 to 32 Bytes
Decryption [msec]
155(0.536)185(0.640)188(0.650)ROM[kByte]30.6

Code[kByte]
28.6

31.4

29.4

31.3

29.3

表丳丮丱丰为 乁乓乃乏乎の乁乲乭 乃乯乲乴乥乸中乍丳と乁乖乒 乁乔乭乥乧乡上のレイテンシ評価 乛串丵九
DesignPlatform

ASCON-128 (Enc.)
ASCON-128 (Dec.)
ASCON-128 (Enc.)
ASCON-128 (Dec.)

AVR ATmega@16 Mhz
Arm Cortex-M3@84 MHz

16-byte AD +16-byte Msg. [msec]
5.84
5.86
0.30
0.31

ROM
[Byte]
9,732
4,764

RAM
[Byte]
157
181
196
121

十バイト程度のデータであれば，数乭乳乥乣程度での処理が可能であることがわかる．文献 乛串丵九では，コードサイズが最適化されていることが読み取れる．さらに実装性能を上げるためには，認証アルゴリズムの特徴を理解し乃乐乕に合わせた最適化を図る必要があると考える．

串丰

4 Elephant
4.1 概要久乬乥买乨乡乮乴の設計者（提出者）は以下のとおりである．
• 乔乩乭 乂乥乹乮乥• 乙乵 乌乯乮乧 乃乨乥乮• 乃乨乲乩乳乴乯买乨 乄乯乢乲乡乵乮乩乧• 乂乡乲乴 乍乥乮乮乩乮乫
本方式に関する概要と仕様は以下の乕乒乌から参照できる．

• 乗乥乢サイト：https://www.esat.kuleuven.be/cosic/elephant/• 仕様：https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/
documents/finalist-round/updated-spec-doc/elephant-spec-final.pdf

4.2 ハードウェアアクセラレータ
4.2.1 コプロセッサ（FPGA実装）
久乬乥买乨乡乮乴の乆乐乇乁実 装 に つ い て は， 乎义乓乔主 催 の乌乩乧乨乴乷乥乩乧乨乴 乃乲乹买乴乯乧乲乡买乨乹 乗乯乲乫乳乨乯买串丰串串での乁乢乤乵乬乧乡乤乩乲らの報告がある 乛串九． 乁乲乴乩乸中丷上に乌乗乃 么乗 乁乐义を用いた実装で，丱丵丳丶バ
イ ト の デ ー タ を 暗 号 化 し た 際 に串丱临 乍乢买乳の ス ル ー プ ッ ト を 達 成 し て い る （表临丮丱）． ま た，

乍乯乨乡乪乥乲乡乮乩らの報告 乛丱丸九を表临丮串にまとめる．同じ丱丬串丹丱 乌乕乔乳の面積コストで文献 乛串九とスルー
プット性能が異なる結果が見られるが，その理由は不明である．
表临丮丱为 久乬乥买乨乡乮乴の乆乐乇乁実装の結果 乛串九
DesignPlatform

I/F

Area

Throughput

Elephant [2]Artix-7

LWC HW API

1,291 LUTs

214.3 Mbps

表临丮串为 久乬乥买乨乡乮乴の乆乐乇乁実装の結果（つづき） 乛丱丸九
DesignPlatform

Data

Area

Throughput

Elephant-v1

Artix-7

AD+PT(Long)

1,291 LUTs

282.9 Mbps

Hash(Long)--

AD+PT(Long)

2,056 LEs

201.5 Mbps

Hash(Long)--

AD+PT(Long)2,368 LUTs

120.5 Mbps

Cyclone 10

ECP5Continued on next page串丱

表 4.2 – continued from previous page

DesignPlatform

Artix-7

Data

Area

Throughput

Hash(Long)--

AD+PT(1536 Bytes)

1,291 LUTs

139.8 Mbps
103.9 Mbps

AD+PT(64 Bytes)

66.8 Mbps

AD+PT(16 Bytes)
Cyclone 10

ECP5

Elephant-v2

Artix-7

AD+PT(1536 Bytes)

2,056 LEs

AD+PT(64 Bytes)

74.0 Mbps

AD+PT(16 Bytes)

47.5 Mbps

AD+PT(1536 Bytes)

2,368 LUTs

59.5 Mbps

AD+PT(64 Bytes)

44.3 Mbps

AD+PT(16 Bytes)

28.4 Mbps

AD+PT(Long)

1,884 LUTs

864.5 Mbps

Hash(Long)--

Cyclone 10

AD+PT(Long)2,729 LEs

540.4 Mbps

Hash(Long)

-

-

ECP5

AD+PT(Long)

3,073 LUTs

408.4 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

1,884 LUTs

426.8 Mbps

Artix-7

Cyclone 10

AD+PT(64 Bytes)

313.1 Mbps

AD+PT(16 Bytes)

194.7 Mbps

AD+PT(1536 Bytes)

2,729 LEs

AD+PT(64 Bytes)

Artix-7

Cyclone 10

ECP5

Artix-7

Cyclone 10

ECP5

AD+PT(1536 Bytes)

266.8 Mbps
195.7 Mbps

AD+PT(16 Bytes)
ECP5

Elephant-v3

99.6 Mbps

121.7 Mbps
3,073 LUTs

201.6 Mbps

AD+PT(64 Bytes)

147.9 Mbps

AD+PT(16 Bytes)

92.0 Mbps

AD+PT(Long)

1,717 LUTs

810.1 Mbps

Hash(Long)--

AD+PT(Long)2,504 LEs

499.2 Mbps

Hash(Long)--

AD+PT(Long)

2,901 LUTs

357.9 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

1,717 LUTs

400.1 Mbps

AD+PT(64 Bytes)

294.3 Mbps

AD+PT(16 Bytes)

184.2 Mbps

AD+PT(1536 Bytes)

2,504 LEs

246.5 Mbps

AD+PT(64 Bytes)

181.3 Mbps

AD+PT(16 Bytes)

113.5 Mbps

AD+PT(1536 Bytes)

2,901 LUTs

176.7 Mbps

AD+PT(64 Bytes)

13-

AD+PT(16 Bytes)

81.4 Mbps
Continued on next page

串串

表 4.2 – continued from previous page

DesignPlatform

Data

Area

Throughput

Elephant-v4

Artix-7

AD+PT(Long)

1,901 LUTs

990.1 Mbps

Hash(Long)--

Cyclone 10

AD+PT(Long)

3,050 LEs

593.3 Mbps

Hash(Long)

-

-

ECP5

AD+PT(Long)

3,157 LUTs

367.6 Mbps

Hash(Long)--

Artix-7

Cyclone 10

ECP5

Elephant-v5

Artix-7

Cyclone 10

ECP5

Artix-7

Cyclone 10

ECP5

AD+PT(1536 Bytes)

483.4 Mbps

AD+PT(64 Bytes)

308.1 Mbps

AD+PT(16 Bytes)

149.6 Mbps

AD+PT(1536 Bytes)

3,050 LEs

289.7 Mbps

AD+PT(64 Bytes)

184.6 Mbps

AD+PT(16 Bytes)

89.7 Mbps

AD+PT(1536 Bytes)

3,157 LUTs

179.5 Mbps

AD+PT(64 Bytes)

114.4 Mbps

AD+PT(16 Bytes)

55.5 Mbps

AD+PT(Long)2,645 LUTs

1,543.1 Mbps

Hash(Long)--

AD+PT(Long)3,926 LEs

902.3 Mbps

Hash(Long)--

AD+PT(Long)4,145 LUTs

640.6 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

2,645 LUTs

752.2 Mbps

AD+PT(64 Bytes)

468.8 Mbps

AD+PT(16 Bytes)

222.2 Mbps

AD+PT(1536 Bytes)

3,926 LEs

439.8 Mbps

AD+PT(64 Bytes)

274.1 Mbps

AD+PT(16 Bytes)

129.9 Mbps

AD+PT(1536 Bytes)

4,145 LUTs

312.3 Mbps

AD+PT(64 Bytes)

194.6 Mbps

AD+PT(16 Bytes)

92.3 Mbps

LWC HW APIを用いている．認証暗号の性能は暗号化時のものである．

乁乲乴乩乸中丷上で，串丬丶临丵 乌乕乔の面積コストで最大丱丮丵 乇乢买乳程度のスループット性能を達成している．論文での報告数は少ないが，乁乓乃乏乎と同様，面積コストとハードウェア性能のトレードオ
フが模索できる柔軟性を有しているといえる．

4.2.2 コプロセッサ（ASIC実装）
文献 乛丹九での久乬乥买乨乡乮乴の乁乓义乃実装は以下のとおりである． 久乬乳乡乤乥乫らは， 乇乆 串串 乮乭 乃乍乏乓串丳丨乇乆串串乆乄乸丩で合成した乁乓义乃実装について，スループット性能とエネルギー消費について報告している．インタフェース回路は考慮されておらず，コアのみの評価となっている．表临丮丳にその結果をまとめる．他の候補と比べて，比較的高いスループット性能を有していることがわかる．
また，エネルギー効率の評価結果も良い．
表临丮丳为 久乬乳乡乤乥乫らによる久乬乥买乨乡乮乴の乁乓义乃実装の結果 乛丹九
Design

I/F

Area

Data

Throughput@fmax

EnergyEfficiency

Short/PT
14.2 Mbps
74.8 Mbit/mJ
Short/PT
14.2 Mbps
79.7 Mbit/mJ
Short/PT+AD
24.0 Mbps
133.5 Mbit/mJ
Long/PT
52.2 Mbps
258.2 Mbit/mJ
17.3 kGE
Long/AD52.2 Mbps
460.2 Mbit/mJ
Elephant (Enc.)
noLong/PT+AD
70.9 Mbps
341.0 Mbit/mJ
ライブラリ：GF 22 nm CMOS(GF22FDx)，インタフェース回路含まず
Short：16バイトデータを長い時間を空けて処理，Long：1536バイトのデータを処理．

Elephant (Enc.)

no17.3 kGE

4.3 命令拡張表临丮临は，乃乨乥乮乧らによる乒义乓乃中乖の命令拡張における久乬乥买乨乡乮乴の実装結果である 乛丷九．命令拡張により，串临丰倍を超える高速化が達成できていることがわかる．別の見方をすれば，既存の命令セットで久乬乥买乨乡乮乴を高速化に処理することが難しいともいえる．
表临丮临为 乃乨乥乮らの命令拡張による久乬乥买乨乡乮乴の実装結果 乛丷九
DesignArea

Cycles/Byte

Elephant RV32GC (Enc.)
Elephant RV32GC+Zbkb/x (Enc.)
Elephant RV32GC+Zbkb/x+ν032 (Enc.)
Elephant RV32GC (Dec.)
Elephant RV32GC+Zbkb/x (Dec.)
Elephant RV32GC+Zbkb/x+ν032 (Dec.)
入力データ長は128バイトである．

3,303 LUTs
3,764 LUTs
3,938 LUTs
3,303 LUTs
3,764 LUTs
3,938 LUTs

125,343.8
3,137.1
508.7
125,344.3
3,146.8
508.4

表临丮丵为 久乬乥买乨乡乮乴の乁乲乭 乃乯乲乴乥乸中乍丰のレイテンシ評価 乛丱串九
Design0 to 32Bytes
Encryption [msec]
111095(38.39)309186(1069)
36,2768(1,255)0 to 32 Bytes
ROM
Code
Decryption [msec] [kByte] [kByte]elephant200v1
11095
17.0
14.9
(38.39)elephant160v1
30918716.4
14.4(1069)
elephant176v1
36,2769
16.4
14.4(1,255)RAMの使用量はコンパイル時の静的解析で約1 kByte程度，動作周波数は48MHz
レイテンシは289通りの入力データでの値でカッコ内は平均値．

串临

4.4 ソフトウェア実装
文献 乛丱串九では，久乬乥买乨乡乮乴についても軽量デバイス丨乁乲乭 乃乯乲乴乥乸中乍丰丩に実装し処理時のレイテンシを測定した．表临丮丵に示す通り処理性能は他の候補と比べて低い．高速化のためには，アクセラレータや命令拡張といったハードウェアのサポートが必要と考える．また，ハードウェア実装における性能評価の結果がよいことから，久乌乥买乨乡乮乴はハードウェア実装に向いたアルゴリズ
ムと思われる．

串丵5 GIFT-COFB
5.1 概要乇义乆乔中乃乏乆乂の設計者（提出者）は以下のとおりである．
• 乓乵乢乨乡乤乥乥买 乂乡乮乩乫• 乔乨乯乭乡乳 乐乥乹乲乩乮• 乁乶乩乫 乃乨乡乫乲乡乢乯乲乴乩• 乙乵 乓乡乳乡乫乩• 乔乥乴乳乵 义乷乡乴乡• 乓乩乡乮乧 乍乥乮乧 乓乩乭• 之乡乺乵乨乩乫乯 乍乩乮乥乭乡乴乳乵• 乙乯乳乵乫乥 乔乯乤乯• 乍乲乩乤乵乬 乎乡乮乤乩
本方式に関する概要と仕様は以下の乕乒乌から参照できる．

• 乗乥乢サイト：https://www.isical.ac.in/~lightweight/COFB/• 仕様：https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/
documents/finalist-round/updated-spec-doc/gift-cofb-spec-final.pdf

5.2 ハードウェアアクセラレータ
5.2.1 コプロセッサ（FPGA実装）
乍乯乨乡乪乥乲乡乮乩らによる乆乐乇乁実装の報告 乛丱丸九を表丵丮丱にまとめる． 乁乲乴乩乸中丷上で，丱丬丰丰丰 乌乕乔乳程
度の軽量実装から丳 乇乢买乳を超える高速実装までさまざまな結果が得られていることがわかる．．

表丵丮丱为 乇义乆乔中乃乏乆乂の乆乐乇乁実装の結果 乛丱丸九
DesignPlatform

Data

Area

Throughput

GIFT-COFB-GMU-v1

Artix-7

AD+PT(Long)

1,223 LUTs

821.1 Mbps

Hash(Long)--

AD+PT(Long)

1,903 LEs

499.0 Mbps

Hash(Long)--

AD+PT(Long)

2,727 LUTs

332.3 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

1,223 LUTs

407.4 Mbps

Cyclone 10

ECP5

Artix-7

Cyclone 10

AD+PT(64 Bytes)

346.2 Mbps

AD+PT(16 Bytes)

235.4 Mbps

AD+PT(1536 Bytes)

1,903 LEs

247.6 Mbps

AD+PT(64 Bytes)

210.4 Mbps

AD+PT(16 Bytes)

143.1 Mbps
Continued on next page串丶

表 5.1 – continued from previous page

DesignGIFT-COFB-GMU-v2

Platform

Data

Area

Throughput

ECP5

AD+PT(1536 Bytes)

2,727 LUTs

164.9 Mbps

Artix-7

Cyclone 10

ECP5

Artix-7

Cyclone 10

ECP5

GIFT-COFB-GMU-v3

Artix-7

140.1 Mbps

AD+PT(16 Bytes)

95.3 Mbps

AD+PT(Long)

1,380 LUTs

1,590.9 Mbps

Hash(Long)--

AD+PT(Long)

2,111 LEs

954.0 Mbps

Hash(Long)--

AD+PT(Long)2,628 LUTs

639.9 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

1,380 LUTs

787.4 Mbps

AD+PT(64 Bytes)

639.4 Mbps

AD+PT(16 Bytes)

402.5 Mbps

AD+PT(1536 Bytes)

2,111 LEs

472.2 Mbps

AD+PT(64 Bytes)

383.4 Mbps

AD+PT(16 Bytes)

241.4 Mbps

AD+PT(1536 Bytes)

2,628 LUTs

316.7 Mbps

AD+PT(64 Bytes)

257.2 Mbps

AD+PT(16 Bytes)

161.9 Mbps

AD+PT(Long)

1,641 LUTs

2,897.5 Mbps

Hash(Long)--

Cyclone 10

AD+PT(Long)2,523 LEs

1,533.7 Mbps

Hash(Long)

-

-

ECP5

AD+PT(Long)

3,059 LUTs

869.6 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

1,641 LUTs

1,427.8 Mbps

Artix-7

Cyclone 10

ECP5

GIFT-COFB-GMU-v4

AD+PT(64 Bytes)

Artix-7

Cyclone 10

ECP5

Artix-7

AD+PT(64 Bytes)

1,071.3 Mbps

AD+PT(16 Bytes)

601.4 Mbps

AD+PT(1536 Bytes)

2,523 LEs

755.7 Mbps

AD+PT(64 Bytes)

567.1 Mbps

AD+PT(16 Bytes)

318.3 Mbps

AD+PT(1536 Bytes)

3,059 LUTs

428.5 Mbps

AD+PT(64 Bytes)

321.5 Mbps

AD+PT(16 Bytes)

180.5 Mbps

AD+PT(Long)

1,730 LUTs

3,029.3 Mbps

Hash(Long)--

AD+PT(Long)2,609 LEs

1,575.5 Mbps

Hash(Long)--

AD+PT(Long)3,311 LUTs

812.7 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

1,730 LUTs

1,489.7 Mbps

Continued on next page串丷

表 5.1 – continued from previous page

DesignPlatform

Cyclone 10

ECP5

GIFT-COFB-GMU-v5

Artix-7

Area

AD+PT(64 Bytes)

1,079.8 Mbps

AD+PT(16 Bytes)

580.1 Mbps

AD+PT(1536 Bytes)

2,609 LEs

774.8 Mbps

AD+PT(64 Bytes)

561.6 Mbps

AD+PT(16 Bytes)

301.7 Mbps

AD+PT(1536 Bytes)

3,311 LUTs

399.6 Mbps

AD+PT(64 Bytes)

289.7 Mbps

AD+PT(16 Bytes)

155.6 Mbps
2,051 LUTs

2,922.7 Mbps

Hash(Long)--

AD+PT(Long)4,828 LEs

1,097.6 Mbps

Hash(Long)

-

-

ECP5

AD+PT(Long)3,821 LUTs

777.9 Mbps

Hash(Long)--

Artix-7

AD+PT(1536 Bytes)

2,051 LUTs

1,429.1 Mbps

Cyclone 10

ECP5

Artix-7

Cyclone 10

ECP5

Artix-7

AD+PT(64 Bytes)

947.9 Mbps

AD+PT(16 Bytes)

461.5 Mbps

AD+PT(1536 Bytes)

4,828 LEs

356.0 Mbps

AD+PT(16 Bytes)

173.3 Mbps

AD+PT(1536 Bytes)

3,821 LUTs

ECP5

Artix-7

380.4 Mbps

AD+PT(64 Bytes)

252.3 Mbps

AD+PT(16 Bytes)

122.8 Mbps

AD+PT(Long)

2,363 LUTs

2,816.0 Mbps

Hash(Long)--

AD+PT(Long)

6,630 LEs

951.6 Mbps

Hash(Long)--

AD+PT(Long)--

Hash(Long)--

AD+PT(1536 Bytes)

2,363 LUTs

1,369.5 Mbps
840.6 Mbps

AD+PT(16 Bytes)
Cyclone 10536.7 Mbps

AD+PT(64 Bytes)

AD+PT(64 Bytes)

GIFT-COFB-VT-v1

Throughput

AD+PT(Long)

Cyclone 10

GIFT-COFB-GMU-v6

Data

AD+PT(1536 Bytes)

380.5 Mbps
6,630 LEs

462.8 Mbps

AD+PT(64 Bytes)

284.0 Mbps

AD+PT(16 Bytes)

128.6 Mbps

AD+PT(1536 Bytes)--

AD+PT(64 Bytes)--

AD+PT(16 Bytes)--

AD+PT(Long)

1,041 LUTs

733.3 Mbps

Hash(Long)--Continued on next page串丸

表 5.1 – continued from previous page

DesignPlatform

Data

Area

Throughput

Cyclone 10

AD+PT(Long)

1,877 LEs

491.7 Mbps

Hash(Long)--

AD+PT(Long)2,214 LUTs

304.8 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

1,041 LUTs

364.3 Mbps

ECP5

Artix-7

Cyclone 10

ECP5

AD+PT(64 Bytes)

317.1 Mbps

AD+PT(16 Bytes)

225.6 Mbps

AD+PT(1536 Bytes)

1,877 LEs

244.3 Mbps

AD+PT(64 Bytes)

212.6 Mbps

AD+PT(16 Bytes)

151.3 Mbps

AD+PT(1536 Bytes)

2,214 LUTs

151.4 Mbps

AD+PT(64 Bytes)

131.8 Mbps

AD+PT(16 Bytes)

93.8 Mbps

LWC HW APIを用いている．認証暗号の性能は暗号化時のものである．

5.2.2 コプロセッサ（ASIC実装）
文 献 乛丹九で の乇义乆乔中乃乏乆乂の乁乓义乃実 装 の 結 果 を 表丵丮串に 示 す． ま た， 文 献 乛丶九で の乇义乆乔中乃乏乆乂の乁乓义乃実装は表丵丮丳のとおりである． 乓乔乍 丹丰 乮乭ライブラリで合成した際の面積と，
丱丰乍么乺での電力とエネルギーを測定している．表には掲載しなかったが，乔乓乍乃 串丸 乮乭ライブ
ラリと乨乩乧乨中乬乥乡乫乡乧乥 乎乡乮乇乡乴乥 临丵 乮乭の結果もあわせて紹介している． 乇义乆乔中乃乏乆乂中乓久乒中乓は，
ビットシリアル実装において乳乷乡买中乡乮乤中乲乯乴乡乴乥 乛临丬 丳九と呼ばれる手法を用いて面積最小を狙ったものであり，乇义乆乔中乃乏乆乂中乓久乒中乆はパイプライン処理でのアイドルサイクルを無くし高速化したものである．
表丵丮串为 久乬乳乡乤乥乫らによる乇义乆乔中乃乏乆乂の乁乓义乃実装の結果 乛丹九
Design

I/F

Area

Data

Throughput@fmax

EnergyEfficiency

Short/PT
25.4 Mbps
299.2 Mbit/mJ
Short/AD
30.5 Mbps
354.0 Mbit/mJ
Short/PT+AD
50.4 Mbps
587.4 Mbit/mJ
Long/PT
156.6 Mbps 1,258.9 Mbit/mJ
GIFT-COFB (Enc.)no8.1 kGE
Long/AD156.6 Mbps 1,265.7 Mbit/mJ
Long/PT+AD
159.6 Mbps 1,278.9 Mbit/mJ
ライブラリ：GF 22 nm CMOS(GF22FDx)，インタフェース回路含まず
Short：16バイトデータを長い時間を空けて処理，Long：1536バイトのデータを処理

GIFT-COFB (Enc.)no8.1 kGE串丹表丵丮丳为 乃乡书乯乲乩乯らによる乇义乆乔中乃乏乆乂のハードウェア実装結果 乛丹九
DesignI/F

Area

Latency
CyclesPower
Energy@10 MHz

GIFT-COFB (Enc.)
custom3,927 GE400
156.3 µW 6.254 nJ
GIFT-COFB-SER-S (Enc.) custom
1,443 GE54,78450.11 µW 275.8 nJ
GIFT-COFB-SER-F (Enc.) custom
1,485 GE
51,32862.15 µW 311.9 nJ
ライブラリ：STM 90 nm，128ビットADと1,024bitメッセージを処理

5.3 命令拡張表丵丮临は，乃乨乥乮乧らによる乒义乓乃中乖の命令拡張における乇义乆乔中乃乏乆乂の実装結果である 乛丷九．表中の丨乆乓丩と丨乂乓丩はそれぞれ丌乸中乳乬乩乣乩乮乧と乢乩乴中乳乬乩乣乩乮乧を意味する．いずれの実装でも串命令拡張により串丰倍を超える性能向上がえられていることがわかる．
表丵丮临为 乃乨乥乮らの命令拡張による乇义乆乔中乃乏乆乂の実装結果 乛丷九
DesignArea

Cycles/Byte

GIFT-COFB(BS) RV32GC (Enc.)
GIFT-COFB(BS) RV32GC+Zbkb/x (Enc.)
GIFT-COFB(BS) RV32GC+Zbkb/x+ν032 (Enc.)
GIFT-COFB(BS) RV32GC (Dec.)
GIFT-COFB(BS) RV32GC+Zbkb/x (Dec.)
GIFT-COFB(BS) RV32GC+Zbkb/x+ν032 (Dec.)
GIFT-COFB(FS) RV32GC (Enc.)
GIFT-COFB(FS) RV32GC+Zbkb/x (Enc.)
GIFT-COFB(FS) RV32GC+Zbkb/x+ν032 (Enc.)
GIFT-COFB(FS) RV32GC (Dec.)
GIFT-COFB(FS) RV32GC+Zbkb/x (Dec.)
GIFT-COFB(FS) RV32GC+Zbkb/x+ν032 (Dec.)
入力データ長は128バイトである．

3,303 LUTs
3,764 LUTs
3,906 LUTs
3,303 LUTs
3,764 LUTs
3,906 LUTs
3,303 LUTs
3,764 LUTs
4,370 LUTs
3,303 LUTs
3,764 LUTs
4,370 LUTs

5372.0328.5
217.0
5371.4328.9
217.3
5372.0327.2
263.8
5371.4326.2
262.8

5.4 ソフトウェア実装
表丵丮丵为 乇义乆乔中乃乏乆乂の乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九
Design0 to 32Bytes
Encryption [msec]
1806(6.25)

0 to 32 Bytes
ROM
Code
Decryption [msec] [kByte] [kByte]
giftcofb128v1
1807
17.1
15.1
(6.25)
RAMの使用量はコンパイル時の静的解析で約1 kByte程度，動作周波数は48MHz
レイテンシは289通りの入力データでの値でカッコ内は平均値．

文献 乛丱串九での，乇义乆乔中乃乏乆乂の乁乲乭 乃乯乲乴乥乸中乍丰実装の結果を示す．約丶 乭乳乥乣のレイテンシ性
能は他の候補と比べて低いとはいえないが，十分実用的な処理性能はあるといえる．

丳丰6 Grain128-AEAD
6.1 概要乇乲乡乩乮丱串丸中乁久乁乄の設計者（提出者）は以下のとおりである．
• 乍乡乲乴乩乮 么乥乬乬• 乊乯乮乡乴乨乡乮 乓ö乮乮乥乲乵买• 乔乨乯乭乡乳 乊乯乨乡乮乳乳乯乮• 么乩乲乯乴乡乫乡 乙乯乳乨乩乤乡• 乗乩乬乬乩 乍乥乩乥乲• 乁乬乥乸乡乮乤乥乲 乍乡乸乩乭乯乶

本方式に関する概要と仕様は以下の乕乒乌から参照できる．

• 乗乥乢サイト：https://grain-128aead.github.io/• 仕様：https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/
documents/finalist-round/updated-spec-doc/grain-128aead-spec-final.pdf

6.2 ハードウェアアクセラレータ
6.2.1 コプロセッサ（FPGA実装）
表丶丮丱は，岡部による乇乲乡乩乮丱串丸中乁久乁乄の乆乐乇乁実装の結果である 乛串丷九． 乆乐乇乁デバイスの性能が比較的低いこともあり，スループット値はそれほど高くはない．また，インタフェース回路部がないためと思われるが，面積コストは小さい値となっている．
表丶丮丱为 乇乲乡乩乮丱串丸中乁久乁乄の乆乐乇乁実装の結果 乛串丷九
DesignPlatform

I/F

Area

Throughput

Grain128-AEAD

Spartan-3
Spartan-6

nono

161 LUTs
174 LUTs

150.2 Mbps
196.8 Mbps

なお，乍乯乨乡乪乥乲乡乮乩らの報告 乛丱丸九に乇乲乡乩乮丱串丸中乁久乁乄は含まれてない．

6.2.2 コプロセッサ（ASIC実装）
文献 乛丹九での久乬乳乡乤乥乫らによる乇乲乡乩乮丱串丸中乁久乁乄の乁乓义乃実装性能評価の結果は表丶丮串のとおりである． 乘乯乯乤乹乡乫や乔乩乮乹乊乡乭乢乵と比べてエネルギー効率はかなり低い値となっている．これは，スループット性能に起因するものであるため，低い動作周波数を用いて比較した場合では，これほどの差はでないと予想する．

乓乿乯乮乮乥乲乵买らの乁乓义乃実装の結果 乛串丱九を表丶丮丳と丶丮临にまとめる． 使用したライブラリは， 乓乔乍乩乣乲乯乥乬乥乣乴乲乯乮乩乣乳 丶丵 乮乭 丨乳乴乭丰丶丵乶丵丳丶丩である．表丶丮丳は，低電力実装の結果である．インタフェースはカスタムに最適化したものを使用している． 乕乮乲乯乬乬数を，丱 丨乕乮乲乯乬乬なし丩から丶临まで変化させ，合計で丷種類を実装している．電力値は，低電力トランジスタ么乖乔を使用し，丱丰丰 乫么乺で丳丱表丶丮串为 久乬乳乡乤乥乫らによる乇乲乡乩乮丱串丸中乁久乁乄の乁乓义乃実装の結果 乛丹九
Design

I/F

Area

Data

Throughput@fmax

EnergyEfficiency

Short/PT
6.0 Mbps
66.5 Mbit/mJ
Short/AD
6.0 Mbps
70.8 Mbit/mJ
Short/PT+AD
9.6 Mbps
106.8 Mbit/mJ
Long/PT
17.4 Mbps
258.2 Mbit/mJ
4.3 kGE
Long/AD17.4 Mbps
230.1 Mbit/mJ
Grain128-AEAD (Enc.)
noLong/PT+AD
17.7 Mbps
255.8 Mbit/mJ
ライブラリ：GF 22 nm CMOS(GF22FDx)，インタフェース回路含まず
Short：16バイトデータを長い時間を空けて処理，Long：1536バイトのデータを処理．
Grain128-AEAD (Enc.)no4.3 kGE表丶丮丳为 乓乿乯乮乮乥乲乵买らの乇乲乡乩乮丱串丸中乁久乁乄の乁乓义乃実装丨低電力丩の結果 乛丹九
DesignGrain128-AEAD (Enc.)

I/F

Unroll

Area

Power

custom

1
2
4
8
16
32
64

2,337 GE2,511 GE2,862 GE3,594 GE
5,053 GE
7,950 GE
13,800 GE

0.26 µW
0.30 µW
0.32 µW
0.35 µW
0.39 µW
0.46 µW
0.63 µW

表丶丮临为 乓乿乯乮乮乥乲乵买らによる乇乲乡乩乮丱串丸中乁久乁乄の乁乓义乃実装（高速）の結果 乛丹九
DesignGrain128-AEAD (Enc.)

I/F

UnrollArea

Throughput

Powercustom

1
2
4
8
16
32
64

2,645 GE2,695 GE
3,199 GE4,448 GE
7,118 GE9,206 GE
16,958 GE

1.25 Gbps
2.32 Gbps
4.16 Gbps
8.68 Gbps
16.64 Gbps
24.96 Gbps
33.6 Gbps

0.25 mW@2.5 GHz
0.23 mW@2.32 GHz
0.29 mW@2.08 GHz
0.67 mW@2.17 GHz
1.55 mW@2.08 GHz
1.78 mW@1.56 GHz
2.76 mW@1.05 GHz動作させた時の数値である．最も電力の低いもので丰丮串丶 µ乗である．使用したライブラリにより電力値は大きく変わるが，インタフェースを含めた値としては極めて小さいと考える．
表丶丮临は，高速実装の結果である．アンロール数が大きくなるほど，面積コストと電力は大きくなるが，スループット性能も向上することがわかる．アンロール数が丶临の場合で，丳丰 乇乢买乳を超える結果となっている．この時， 丸丬丰丰丰バイトのデータを約丵 乮乊のエネルギーで処理できるとしている．低電力実装も高速実装も，合成後のシミュレーションの結果であるため，特に電力とエネルギー効率に関しては，実チップでの検証が必要と思われる．

6.3 命令拡張表丶丮丵は，乃乨乥乮乧らによる乒义乓乃中乖の命令拡張における乇乲乡乩乮丱串丸中乁久乁乄の実装性能評価の結果である 乛丷九．拡張した命令が乇乲乡乩乮丱串丸中乁久乁乄の処理の短縮に繋がらなかったため，スループット

丳串性能の向上は他のアルゴリズムと比べて小さい．
表丶丮丵为 乃乨乥乮らの命令拡張による乇乲乡乩乮丱串丸中乁久乁乄の実装結果 乛丷九
DesignArea

Cycles/Byte

Grain128-AEADv2 RV32GC (Enc.)
Grain128-AEADv2 RV32GC+Zbkb/x (Enc.)
Grain128-AEADv2 RV32GC+Zbkb/x+ν032 (Enc.)
Grain128-AEADv2 RV32GC (Dec.)
Grain128-AEADv2 RV32GC+Zbkb/x (Dec.)
Grain128-AEADv2 RV32GC+Zbkb/x+ν032 (Dec.)
入力データ長は128バイトである．

3,303 LUTs
3,764 LUTs
4,271 LUTs
3,303 LUTs
3,764 LUTs
4,271 LUTs

685.0
670.5
500.6
677.0
663.3
493.3

6.4 ソフトウェア実装
文献 乛丱串九での， 乇乲乡乩乮丱串丸中乁久乁乄の乁乲乭 乃乯乲乴乥乸中乍丰実装の結果を表丶丮丶に示す． また，文献乛串丵九で報告されている乁乖乒 乁乔乭乥乧乡 丱串丸と乁乲乭 乃乯乲乴乥乸中乍丳でのソフトウェア実装の結果を表丶丮丷に示す．表丶丮丶の結果と比べて，レイテンシ値は低くなっているが，これはアルゴリズムとプラットフォームを考慮した最適実装がなされたためと思われる．
表丶丮丶为 乇乲乡乩乮丱串丸中乁久乁乄を乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九
Design0 to 32Bytes
Encryption [msec]
23854(82.54)0 to 32 Bytes
ROM
Code
Decryption [msec] [kByte] [kByte]
grain128aead
23,831
17.8
15.8(82.46)RAMの使用量はコンパイル時の静的解析で約1 kByte程度，動作周波数は48MHz
レイテンシは289通りの入力データでの値でカッコ内は平均値．

表丶丮丷为 乇乲乡乩乮中丱串丸乁久乁乄乶串の乁乲乭 乃乯乲乴乥乸中乍丳と乁乖乒 乁乔乭乥乧乡のレイテンシ評価 乛串丵九
DesignPlatform

Grain-128AEADv2 (Enc.)
Grain-128AEADv2 (Dec.)
Grain-128AEADv2 (Enc.)
Grain-128AEADv2 (Dec.)

AVR ATmega@16 Mhz
Arm Cortex-M3@84 MHz丳丳

16-byte AD +16-byte Msg. [msec]
7.81
7.83
0.59
0.59

ROM
[kByte]
6,098
6,680

RAM
[Byte]
145
147
224
232

7 ISAP7.1 概要义乓乁乐の設計者（提出者）は以下のとおりである．
• 乃乨乲乩乳乴乯买乨 乄乯乢乲乡乵乮乩乧• 乂乡乲乴 乍乥乮乮乩乮乫• 乍乡乲乩乡 久乩乣乨乬乳乥乤乥乲• 乒乯乢乥乲乴 乐乲乩乭乡乳• 乓乴乥书乡乮 乍乡乮乧乡乲乤• 乔乨乯乭乡乳 乕乮乴乥乲乬乵乧乧乡乵乥乲• 乆乬乯乲乩乡乮 乍乥乮乤乥乬
本方式に関する概要と仕様は以下の乕乒乌から参照できる．

• 乗乥乢サイト：https://isap.iaik.tugraz.at/• 仕様：https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/
documents/finalist-round/updated-spec-doc/isap-spec-final.pdf

7.2 ハードウェアアクセラレータ
7.2.1 コプロセッサ（FPGA実装）
乍乯乨乡乪乥乲乡乮乩らの乆乐乇乁実装の結果 乛丱丸九を表丷丮１にまとめる．最大で約丸丳丰 乍乢买乳のスループッ
ト性能が得られていることがわかる．面積コストと処理性能は他のアルゴリズムと比べ良い結果とはなっていない．

表丷丮丱为 义乓乁乐の乆乐乇乁実装の結果 乛丱丸九
DesignPlatform

Data

Area

Throughput

ISAP-v1

Artix-7

AD+PT(Long)3,491 LUTs

829.6 Mbps

Hash(Long)--

AD+PT(Long)4,589 LEs

544.2 Mbps

Hash(Long)--

AD+PT(Long)

6,701 LUTs

262.6 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

3,491 LUTs

389.4 Mbps

Cyclone 10

ECP5

Artix-7

Cyclone 10

AD+PT(64 Bytes)

163.9 Mbps

AD+PT(16 Bytes)

60.1 Mbps

AD+PT(1536 Bytes)

4,589 LEs

255.4 Mbps

AD+PT(64 Bytes)

107.5 Mbps

AD+PT(16 Bytes)

39.4 Mbps
Continued on next page丳临

表 7.1 – continued from previous page

Design

ISAP-v2

Platform

Data

Area

Throughput

ECP5

AD+PT(1536 Bytes)

6,701 LUTs

123.3 Mbps

Artix-7

Cyclone 10

ECP5

Artix-7

Cyclone 10

ECP5

ISAP-v3

Artix-7

51.9 Mbps

AD+PT(16 Bytes)

19.0 Mbps

AD+PT(Long)

2,157 LUTs

609.5 Mbps

Hash(Long)--

AD+PT(Long)

3,852 LEs

415.7 Mbps

Hash(Long)--

AD+PT(Long)5,708 LUTs

207.1 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

2,157 LUTs

290.6 Mbps

AD+PT(64 Bytes)

140.7 Mbps

AD+PT(16 Bytes)

53.8 Mbps

AD+PT(1536 Bytes)

3,852 LEs

198.2 Mbps

AD+PT(64 Bytes)

95.9 Mbps

AD+PT(16 Bytes)

36.7 Mbps

AD+PT(1536 Bytes)

5,708 LUTs

98.8 Mbps

AD+PT(64 Bytes)

47.8 Mbps

AD+PT(16 Bytes)

18.3 Mbps

AD+PT(Long)

2,182 LUTs

808.1 Mbps

Hash(Long)--

Cyclone 10

AD+PT(Long)

3,767 LEs

567.0 Mbps

Hash(Long)

-

-

ECP5

AD+PT(Long)

5,703 LUTs

282.2 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

2,182 LUTs

378.5 Mbps

Artix-7

Cyclone 10

ECP5

ISAP-v4

AD+PT(64 Bytes)

Artix-7

Cyclone 10

ECP5

Artix-7

AD+PT(64 Bytes)

156.3 Mbps

AD+PT(16 Bytes)

56.8 Mbps

AD+PT(1536 Bytes)

3,767 LEs

265.5 Mbps

AD+PT(64 Bytes)

109.6 Mbps

AD+PT(16 Bytes)

39.8 Mbps

AD+PT(1536 Bytes)

5,703 LUTs

132.1 Mbps

AD+PT(64 Bytes)

54.6 Mbps

AD+PT(16 Bytes)

19.8 Mbps

AD+PT(Long)--

Hash(Long)--

AD+PT(Long)

3,026 LEs

551.1 Mbps

Hash(Long)--

AD+PT(Long)3,623 LUTs

238.9 Mbps

Hash(Long)--

AD+PT(1536 Bytes)--

Continued on next page丳丵

表 7.1 – continued from previous page

DesignPlatform

Cyclone 10

ECP5

Data

Area

Throughput

AD+PT(64 Bytes)--

AD+PT(16 Bytes)--

AD+PT(1536 Bytes)

3,026 LEs

261.3 Mbps

AD+PT(64 Bytes)

119.3 Mbps

AD+PT(16 Bytes)

44.2 Mbps

AD+PT(1536 Bytes)

3,623 LUTs

113.3 Mbps

AD+PT(64 Bytes)

51.7 Mbps

AD+PT(16 Bytes)

19.2 Mbps

LWC HW APIを用いている．認証暗号の性能は暗号化時のものである．

7.2.2 コプロセッサ（ASIC実装）
文献 乛丹九での义乓乁乐の乁乓义乃実装の結果は表丷丮串のとおりである．スループット性能が高くないため，エネルギー効率もファイナリストの中では高くない．
表丷丮串为 久乬乳乡乤乥乫らによる义乓乁乐の乁乓义乃実装の結果 乛丹九
Design

I/F

Area

Data

Throughput@fmax

EnergyEfficiency

Short/PT
12.5 Mbps
49.9 Mbit/mJ
ISAP (Enc.)
no15.4 kGE
Short/AD
18.5 Mbps
70.8 Mbit/mJ
Short/PT+AD
23.2 Mbps
93.5 Mbit/mJ
Long/PT
156.6 Mbps 548.8 Mbit/mJ
ISAP (Enc.)
no15.4 kGE
Long/AD156.6 Mbps 863.0 Mbit/mJ
Long/PT+AD
195.0 Mbps 682.1 Mbit/mJ
ライブラリ：GF 22 nm CMOS(GF22FDx)，インタフェース回路含まず
Short：16バイトデータを長い時間を空けて処理，Long：1536バイトのデータを処理．

7.3 命令拡張乓乴乥乩乮乥乧乧乥乲と乐乲乩乭乡乳による乒义乓乃中乖の命令拡張としての乁乓乃乏乎中p命令の実装を報告している
乛串丳九は，义乓乁乐中乁中丱串丸乁と义乓乁乐中乁中丱串丸に適用できる．表丷丮丳は，その実装性能評価をまとめたものである．入力データ長により異なるが，命令拡張により临丰倍から丸丰倍程度の性能向上が得られていることがわかる．また，命令拡張後の义乓乁乐中乁中丱串丸乡中乁乓乍 丫 乁乣乣丮において，丶临バイトのデータ処理の場合は，乌乯乮乧の場合と比べて１バイトあたりに必要なサイクル数が約丷倍となっている．入力データ長が短くなるようなアプリケーションでは命令拡張による効果は低いといえる．

丳丶表丷丮丳为 乓乴乥乩乮乥乧乧乥乲と乐乲乩乭乡乳による乁乓乃乏乎中p命令拡張による义乓乁乐の実装結果 乛串丳九乄乥乳乩乧乮

乁乲乥乡 乯乶乥乲乨乥乡乤乃乹乣乬乥乳丯乂乹乴乥乂乩乮乡乲乹 乳乩乺乥丶临 乂乹乴乥

丱丬丵丳丶 乂乹乴乥乌乯乮乧义乓乁乐中乁中丱串丸乡中乃 丨中乏丳丩中丱丬丱丸临丮丳

丳丸丶丮丹

丳丵串丮丳

丱丱丬丰丵串 乂乹乴乥义乓乁乐中乁中丱串丸乡中乃 丨中乏乳丩

中串丬丰串临丮丱

丶丱丶丮丰

丵丵临丮丸

丳丬丷临临 乂乹乴乥义乓乁乐中乁中丱串丸乡中乁乓乍 丫 乁乣乣丮临丮丷 乫乇久

串丹丮丱

丵丮串

临丮串

丱丬丸临临 乂乹乴乥义乓乁乐中乁中丱串丸中乁乓乍 丫 乁乣乣丮临丮丷 乫乇久

丷丳丮丶

丷丮丷

丵丮丰

串丬丵串串 乂乹乴乥

7.4 ソフトウェア実装
文献 乛丱串九での义乓乁乐の乁乲乭 乃乯乲乴乥乸中乍丰上の実装結果を示す．
表丷丮临为 义乓乁乐の乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九
Design0 to 32Bytes
Encryption [msec]
2,791(9.66)
11,414(39.49)46794(161.9)39,4973(1,366)0 to 32 Bytes
ROM
Code
Decryption [msec] [kByte] [kByte]
isapa128av20
2,793
16.5
14.5
(9.66)
isapa128v20
11,41616.5
14.5(39.50)isapk128av20
46796
16.6
14.5
(161.9)isapk128v20
39,4975
16.6
14.5(1,366)RAMの使用量はコンパイル時の静的解析で約1 kByte程度，動作周波数は48MHz
レイテンシは289通りの入力データでの値でカッコ内は平均値．

丳丷8 PHOTON-Beetle
8.1 概要乐么乏乔乏乎中乂乥乥乴乬乥の設計者（提出者）は以下のとおりである．
• 乚乨乥乮乺乨乥乮 乂乡乯• 乍乲乩乤乵乬 乎乡乮乤乩• 乁乶乩乫 乃乨乡乫乲乡乢乯乲乴乩• 乔乨乯乭乡乳 乐乥乹乲乩乮• 乎乩乬乡乮乪乡乮 乄乡乴乴乡• 之乡乮 乙乡乳乵乤乡• 乊乩乡乮 乇乵乯
本方式に関する概要と仕様は以下の乕乒乌から参照できる．

• 乗乥乢サイト：https://www.isical.ac.in/~lightweight/beetle/• 仕様：https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/
documents/finalist-round/updated-spec-doc/photon-beetle-spec-final.pdf

8.2 ハードウェアアクセラレータ
8.2.1 コプロセッサ（FPGA実装）
乍乯乨乡乪乥乲乡乮乩らの乆乐乇乁実装の結果 乛丱丸九を表丸丮丱にまとめる．

表丸丮丱为 乐么乏乔乏乎中乂乥乥乴乬乥の乆乐乇乁実装の結果 乛丱丸九
DesignPlatform

Data

Area

PHOTON-Beetle-v1

Artix-7

AD+PT(Long)

2,065 LUTs

Hash(Long)
Cyclone 10

AD+PT(Long)

AD+PT(Long)

3,602 LEs

Cyclone 10

AD+PT(1536 Bytes)

526.4 Mbps
160.6 Mbps

3,294 LUTs

Hash(Long)
Artix-7

747.0 Mbps
227.8 Mbps

Hash(Long)
ECP5

Throughput

425.7 Mbps
129.8 Mbps

2,065 LUTs

370.4 Mbps

AD+PT(64 Bytes)

311.0 Mbps

AD+PT(16 Bytes)

207.1 Mbps

Hash(1536 Bytes)

228.6 Mbps

Hash(64 Bytes)

249.0 Mbps

Hash(16 Bytes)

345.2 Mbps

AD+PT(1536 Bytes)
AD+PT(64 Bytes)

3,602 LEs

261.0 Mbps
219.2 Mbps

Continued on next page丳丸

表 8.1 – continued from previous page

DesignPlatform

Data

Area

AD+PT(16 Bytes)

146.0 Mbps

Hash(1536 Bytes)

161.1 Mbps

Hash(64 Bytes)

175.5 Mbps
243.3 Mbps

Hash(16 Bytes)
ECP5

Throughput

AD+PT(1536 Bytes)

3,294 LUTs

211.1 Mbps

AD+PT(64 Bytes)

177.3 Mbps

AD+PT(16 Bytes)

118.0 Mbps

Hash(1536 Bytes)

130.3 Mbps

Hash(64 Bytes)

141.9 Mbps

Hash(16 Bytes)

196.7 Mbps

LWC HW APIを用いている．認証暗号の性能は暗号化時のものである．

8.2.2 コプロセッサ（ASIC実装）
文献 乛丹九での乐么乏乔乏乎中乂乥乥乴乬乥の乁乓义乃実装は表丸丮串のとおりである．
表丸丮串为 久乬乳乡乤乥乫らによる乐么乏乔乏乎中乂乥乥乴乬乥の乁乓义乃実装の結果 乛丹九
Design

I/F

Area

Data

Throughput@fmax

EnergyEfficiency

Short/PT
42.6 Mbps
265.9 Mbit/mJ
Short/AD
42.6 Mbps
265.5 Mbit/mJ
Short/PT+AD
78.4 Mbps
413.9 Mbit/mJ
Long/PT
522.0 Mbps 1,065.2 Mbit/mJ
PHOTON-Beetle (Enc.)
no12.6 kGE
Long/AD
522.0 Mbps 1,035.5 Mbit/mJ
Long/PT+AD
531.9 Mbps 1,065.8 Mbit/mJ
ライブラリ：GF 22 nm CMOS(GF22FDx)，インタフェース回路含まず
Short：16バイトデータを長い時間を空けて処理，Long：1536バイトのデータを処理．
PHOTON-Beetle (Enc.)

no12.6 kGE

8.3 命令拡張
表丸丮丳は乃乨乥乮乧らによる乒义乓乃中乖の命令拡張における乐么乏乔乏乎中乂乥乥乴乬乥の実装結果である 乛丷九．
命令拡張による処理性能の向上はあまりないことがわかる．

8.4 ソフトウェア実装
表丸丮临に文献 乛丱串九での乐么乏乔乏乎中乂乥乥乴乬乥の乁乲乭 乃乯乲乴乥乸中乍丰上の実装結果を示す．本評価の中では，レイテンシ性能は悪い方であるが，最適化により改善されると思われる．

丳丹表丸丮丳为 乃乨乥乮らの命令拡張による乐么乏乔乏乎中乂乥乥乴乬乥の実装結果 乛丷九
DesignArea

Cycles/Byte

PHOTON-Beetle RV32GC (Enc.)
PHOTON-Beetle RV32GC+Zbkb/x (Enc.)
PHOTON-Beetle RV32GC+Zbkb/x+ν032 (Enc.)
PHOTON-Beetle RV32GC (Dec.)
PHOTON-Beetle RV32GC+Zbkb/x (Dec.)
PHOTON-Beetle RV32GC+Zbkb/x+ν032 (Dec.)
入力データ長は128バイトである．

3,303 LUTs
3,764 LUTs
4,271 LUTs
3,303 LUTs
3,764 LUTs
4,271 LUTs

685.0
670.5
500.6
677.0
663.3
493.3

表丸丮临为 乐么乏乔乏乎中乂乥乥乴乬乥の乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九
Design0 to 32Bytes
Encryption [msec]
12,251(42.39)29,655(102.6)0 to 32 Bytes
ROM
Decryption [msec] [kByte]
photonbeetleaead128rate128v1
12,25317.5(42.40)photonbeetleaead128rate32v1
29,65817.6(102.6)RAMの使用量はコンパイル時の静的なメモリサイズで約1 kByte程度である．

临丰

Code
[kByte]15.4
15.5

9 Romulus
9.1 概要乒乯乭乵乬乵乳の設計者（提出者）は以下のとおりである．
• 乔乥乴乳乵 义乷乡乴乡• 乍乵乳乴乡书乡 之乨乡乩乲乡乬乬乡乨• 之乡乺乵乨乩乫乯 乍乩乮乥乭乡乴乳乵• 乔乨乯乭乡乳 乐乥乹乲乩乮• 乃乨乵乮 乇乵乯
本方式に関する概要と仕様は以下の乕乒乌から参照できる．

• 乗乥乢サイト：https://romulusae.github.io/romulus/• 仕様：https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/
documents/finalist-round/updated-spec-doc/romulus-spec-final.pdf

9.2 ハードウェアアクセラレータ
9.2.1 コプロセッサ（FPGA実装）
乍乯乨乡乪乥乲乡乮乩らの乆乐乇乁実装の結果 乛丱丸九を表丹丮丱にまとめる．

表丹丮丱为 乒乯乭乵乬乵乳の乆乐乇乁実装の結果 乛丱丸九
DesignPlatform

Data

Area

Throughput

Romulus-v1

Artix-7

AD+PT(Long)

953 LUTs

637.2 Mbps

Hash(Long)--

AD+PT(Long)

1,735 LEs

398.6 Mbps

Hash(Long)

-

-

ECP5

AD+PT(Long)

1,998 LUTs

224.0 Mbps

Hash(Long)--

Artix-7

AD+PT(1536 Bytes)

953 LUTs

315.7 Mbps

Cyclone 10

Cyclone 10

ECP5

AD+PT(64 Bytes)

261.7 Mbps

AD+PT(16 Bytes)

209.4 Mbps

AD+PT(1536 Bytes)

1,735 LEs

197.5 Mbps

AD+PT(64 Bytes)

163.7 Mbps

AD+PT(16 Bytes)

131.0 Mbps

AD+PT(1536 Bytes)
AD+PT(64 Bytes)

1,998 LUTs

111.0 Mbps
92.0 Mbps

Continued on next page临丱

表 9.1 – continued from previous page

DesignPlatform

Data

Area

AD+PT(16 Bytes)
Romulus-v2

Artix-7

1,280 LUTs

1,095.7 Mbps

Hash(Long)--

Cyclone 10

AD+PT(Long)

2,086 LEs

725.5 Mbps

Hash(Long)

-

-

ECP5

AD+PT(Long)

2,353 LUTs

419.8 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

1,280 LUTs

542.0 Mbps

Cyclone 10

ECP5

Artix-7

Cyclone 10

ECP5

Artix-7

Cyclone 10

ECP5

Romulus-v4

73.6 Mbps

AD+PT(Long)

Artix-7

Romulus-v3

Throughput

AD+PT(64 Bytes)

434.8 Mbps

AD+PT(16 Bytes)

326.1 Mbps

AD+PT(1536 Bytes)

2,086 LEs

358.9 Mbps

AD+PT(64 Bytes)

287.9 Mbps

AD+PT(16 Bytes)

215.9 Mbps

AD+PT(1536 Bytes)

2,353 LUTs

207.7 Mbps

AD+PT(64 Bytes)

166.6 Mbps

AD+PT(16 Bytes)

125.0 Mbps

AD+PT(Long)

1,824 LUTs

1,085.8 Mbps

Hash(Long)--

AD+PT(Long)

2,407 LEs

70-

Hash(Long)--

AD+PT(Long)

3,847 LUTs

397.2 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

1,824 LUTs

535.6 Mbps

AD+PT(64 Bytes)

408.9 Mbps

AD+PT(16 Bytes)

281.1 Mbps

AD+PT(1536 Bytes)

2,407 LEs

345.3 Mbps

AD+PT(64 Bytes)

263.6 Mbps

AD+PT(16 Bytes)

181.3 Mbps

AD+PT(1536 Bytes)

3,847 LUTs

195.9 Mbps

AD+PT(64 Bytes)

149.6 Mbps

AD+PT(16 Bytes)

102.9 Mbps

Artix-7

AD+PT(Long)
Hash(Long)--

Cyclone 10

AD+PT(Long)

3,409 LEs

558.5 Mbps

Hash(Long)--

AD+PT(Long)

5,086 LUTs

298.9 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

2,602 LUTs

394.4 Mbps

ECP5

Artix-7

2,602 LUTs

802.6 Mbps

AD+PT(64 Bytes)

282.8 Mbps

AD+PT(16 Bytes)

176.8 Mbps
Continued on next page临串

表 9.1 – continued from previous page

DesignPlatform

Data

Area

Throughput

Cyclone 10

AD+PT(1536 Bytes)

3,409 LEs

274.5 Mbps

AD+PT(64 Bytes)

196.8 Mbps
123.0 Mbps

AD+PT(16 Bytes)
ECP5

Romulus-v5

AD+PT(1536 Bytes)

105.3 Mbps

AD+PT(16 Bytes)

65.8 Mbps

AD+PT(Long)

887 LUTs

27.9 Mbps

Hash(Long)--

AD+PT(Long)

1,960 LEs

17.0 Mbps

Hash(Long)--

AD+PT(Long)

1,961 LUTs

1-

Hash(Long)--

AD+PT(1536 Bytes)

887 LUTs

13.8 Mbps

Cyclone 10

ECP5

Cyclone 10

AD+PT(64 Bytes)

11.8 Mbps

AD+PT(16 Bytes)

10.2 Mbps

AD+PT(1536 Bytes)

ECP5

146.9 Mbps

AD+PT(64 Bytes)

Artix-7

Artix-7

5,086 LUTs

1,960 LEs

8.4 Mbps

AD+PT(64 Bytes)

7.2 Mbps

AD+PT(16 Bytes)

6.2 Mbps

AD+PT(1536 Bytes)

1,961 LUTs

4.9 Mbps

AD+PT(64 Bytes)

4.2 Mbps

AD+PT(16 Bytes)

3.6 Mbps

LWC HW APIを用いている．認証暗号の性能は暗号化時のものである．

9.2.2 コプロセッサ（ASIC実装）
文献 乛丹九での乐么乏乔乏乎中乂乥乥乴乬乥の乁乓义乃実装は表丹丮串のとおりである．
表丹丮串为 久乬乳乡乤乥乫らによる乒乯乭乵乬乵乳の乁乓义乃実装の結果 乛丹九
Design

I/F

Area

Data

Throughput@fmax

EnergyEfficiency

Short/PT
31.0 Mbps
257.6 Mbit/mJ
Short/AD
31.0 Mbps
256.7 Mbit/mJ
Short/PT+AD
61.6 Mbps
520.7 Mbit/mJ
Long/PT
156.6 Mbps 1,033.0 Mbit/mJ
Romulus (Enc.)no9.8 kGE
Long/AD156.6 Mbps 1,956.0 Mbit/mJ
Long/PT+AD
212.8 Mbps 1,364.2 Mbit/mJ
ライブラリ：GF 22 nm CMOS (GF22FDx)，インタフェース回路含まず
Short：16バイトデータを長い時間を空けて処理，Long：1536バイトのデータを処理．

Romulus (Enc.)no9.8 kGE

文献 乛丶九での乒乯乭乵乬乵乳の乁乓义乃実装の結果は表丹丮丳のとおりである．

临丳表丹丮丳为 乃乡书乯乲乩乯らによる乒乯乭乵乬乵乳の乁乓义乃実装の結果 乛丹九
DesignI/F

Area

Latency
CyclesRomulus (Enc.)

custom

1,778 GE55,431

Power
Energy@10 MHz82.28 µW

456.1 nJ

ライブラリ：STM 90 nm，128ビットADと1,024bitメッセージを処理

9.3 命令拡張表丹丮临は乃乨乥乮乧ら に よ る乒义乓乃中乖の 命 令 拡 張 に お け る乒乯乭乵乬乵乳の 実 装 結 果 で あ る 乛丷九． 表 中の乆乓と乔乂は，それぞれ丌乸中乳乬乩乣乩乮乧と乬乯乯乫中乵买 乴乡乢乬乥乳を意味する．命令拡張により一定の高速化が達成できているといえる．特に乔乂実装では，丳丰倍程度の高速化が得られている．
表丹丮临为 乃乨乥乮らの命令拡張による乒乯乭乵乬乵乳の実装結果 乛丷九
DesignArea

Cycles/Byte

Romulus(TB) RV32GC (Enc.)
Romulus(TB) RV32GC+Zbkb/x (Enc.)
Romulus(TB) RV32GC+Zbkb/x+ν032 (Enc.)
Romulus(TB) RV32GC (Dec.)
Romulus(TB) RV32GC+Zbkb/x (Dec.)
Romulus(TB) RV32GC+Zbkb/x+ν032 (Dec.)
Romulus(FS) RV32GC (Enc.)
Romulus(FS) RV32GC+Zbkb/x (Enc.)
Romulus(FS) RV32GC+Zbkb/x+ν032 (Enc.)
Romulus(FS) RV32GC (Dec.)
Romulus(FS) RV32GC+Zbkb/x (Dec.)
Romulus(FS) RV32GC+Zbkb/x+ν032 (Dec.)
入力データ長は128バイトである．

3,303 LUTs
3,764 LUTs
3.998 LUTs
3,303 LUTs
3,764 LUTs
3.998 LUTs
3,303 LUTs
3,764 LUTs
4,205 LUTs
3,303 LUTs
3,764 LUTs
4,205 LUTs

7956.01665.5256.97953.01667.5258.2
1383.11589.7315.21385.4
1589.4322.3

9.4 ソフトウェア実装
表丹丮丵に文献 乛丱串九での乒乯乭乵乬乵乳の乁乲乭 乃乯乲乴乥乸中乍丰上の実装結果を示す． 丱丰 乭乳乥乣を超えるレイ
テンシであり，他の候補と比べて悪い結果である．さらなる最適化の余地があるか検討が必要と
考える．

临临

表丹丮丵为 乒乯乭乵乬乵乳を乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九
Design0 to 32Bytes
Encryption [msec]
3,214(11.12)4,185(14.48)4,943(17.10)4,959(17.16)6,126(21.20)6,376(22.06)0 to 32 Bytes
ROM
Code
Decryption [msec] [kByte] [kByte]romulusn3v12
3,216
19.5
16.9
(11.13)romulusm3v12
4,188
19.7
17.1
(14.49)romulusn2v12
4,944
19.7
17.1
(17.11)romulusn1v12
4,962
19.6
17.0
(17.17)romulusm1v12
6,128
19.5
17.0
(21.20)romulusm2v12
6,378
19.8
17.2
(22.07)
RAMの使用量はコンパイル時の静的解析で約1 kByte程度，動作周波数は48MHz
レイテンシは289通りの入力データでの値でカッコ内は平均値．

临丵10 SPARKLE
10.1 概要乓乐乁乒之乌久の設計者（提出者）は以下のとおりである．
• 乃乨乲乩乳乴乯书 乂乥乩乥乲乬乥• 乁乬乥乫乳乥乩 乕乤乯乶乥乮乫乯• 乁乬乥乸 乂乩乲乹乵乫乯乶• 乖乥乳乳乥乬乩乮 乖乥乬乩乣乨乫乯乶• 乌乵乡乮 乃乡乲乤乯乳乯 乤乯乳 乓乡乮乴乯乳• 乑乩乮乧乪乵 乗乡乮乧• 乊乯乨乡乮乮 乇乲乯ß乳乣乨ä乤乬• 乁乭乩乲 乍乯乲乡乤乩• 乌é乯 乐乥乲乲乩乮• 乁乥乩乮 乒乥乺乡乥乩 乓乨乡乨乭乩乲乺乡乤乩

方式に関する概要と仕様は以下の乕乒乌から参照できる．

• 乗乥乢サイト：https://sparkle-lwc.github.io/• 仕様：https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/
documents/finalist-round/updated-spec-doc/sparkle-spec-final.pdf

10.2 ハードウェアアクセラレータ
10.2.1 コプロセッサ（FPGA実装）
乍乯乨乡乪乥乲乡乮乩らの乆乐乇乁実装の結果 乛丱丸九を表丱丰丮丱にまとめる．

表丱丰丮丱为 乓乐乁乒之乌久の乆乐乇乁実装の結果 乛丱丸九
DesignPlatform

Data

Area

Throughput

SCHWAEMM-v1

Artix-7

AD+PT(Long)

3,071 LUTs

813.2 Mbps

Hash(Long)--

AD+PT(Long)

4,713 LEs

492.4 Mbps

Hash(Long)--

AD+PT(Long)4,685 LUTs

399.6 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

3,071 LUTs

396.8 Mbps

Cyclone 10

ECP5

Artix-7

Cyclone 10

ECP5

AD+PT(64 Bytes)

255.1 Mbps

AD+PT(16 Bytes)

94.9 Mbps

AD+PT(1536 Bytes)

4,713 LEs

240.3 Mbps

AD+PT(64 Bytes)

154.5 Mbps

AD+PT(16 Bytes)

57.5 Mbps

AD+PT(1536 Bytes)

4,685 LUTs

195.0 Mbps

Continued on next page临丶

表 10.1 – continued from previous page

DesignSCHWAEMM-v2

Platform

Artix-7

Data

Area

AD+PT(64 Bytes)

125.3 Mbps

AD+PT(16 Bytes)

46.7 Mbps

AD+PT(Long)

3,740 LUTs

AD+PT(Long)

5,773 LEs

Hash(Long)
ECP5

AD+PT(Long)

AD+PT(1536 Bytes)

5,947 LUTs

ECP5

384.2 Mbps
240.1 Mbps

3,740 LUTs

382.1 Mbps

AD+PT(64 Bytes)

245.6 Mbps

AD+PT(16 Bytes)

91.4 Mbps

Hash(1536 Bytes)

481.2 Mbps

Hash(64 Bytes)

346.7 Mbps

Hash(16 Bytes)
Cyclone 10516.5 Mbps
322.8 Mbps

Hash(Long)
Artix-7

783.1 Mbps
489.4 Mbps

Hash(Long)
Cyclone 10

Throughput

184.9 Mbps

AD+PT(1536 Bytes)

5,773 LEs

252.0 Mbps

AD+PT(64 Bytes)

162.0 Mbps

AD+PT(16 Bytes)

60.3 Mbps

Hash(1536 Bytes)

317.3 Mbps

Hash(64 Bytes)

228.6 Mbps

Hash(16 Bytes)

121.9 Mbps

AD+PT(1536 Bytes)

5,947 LUTs

187.5 Mbps

AD+PT(64 Bytes)

120.5 Mbps

AD+PT(16 Bytes)

44.9 Mbps

Hash(1536 Bytes)

236.1 Mbps

Hash(64 Bytes)

170.1 Mbps

Hash(16 Bytes)

90.7 Mbps

LWC HW APIを用いている．認証暗号の性能は暗号化時のものである．

10.2.2 コプロセッサ（ASIC実装）
文献 乛丹九での乓乐乁乒之乌久の乁乓义乃実装は表丱丰丮串のとおりである．

10.3 命令拡張
表丱丰丮丳は， 乃乨乥乮乧らによる乒义乓乃中乖の命令拡張における乓买乡乲乫乬乥の実装性能評価の結果である

乛丷九．

临丷

表丱丰丮串为 久乬乳乡乤乥乫らによる乓乐乁乒之乌久の乁乓义乃実装の結果 乛丹九
Design

I/F

Area

Data

Throughput@fmax

EnergyEfficiency

Short/PT
43.0 Mbps
141.3 Mbit/mJ
Short/AD
43.0 Mbps
141.6 Mbit/mJ
Short/PT+AD
80.0 Mbps
253.7 Mbit/mJ
Long/PT
1,740.0 Mbps 1,581.7 Mbit/mJ
39.5 kGE
Long/AD
1,740.0 Mbps 1,956.0 Mbit/mJ
Sparkle (Enc.)
noLong/PT+AD 1,773.0 Mbps 1,492.1 Mbit/mJ
ライブラリ：GF 22 nm CMOS (GF22FDx)，インタフェース回路含まず
Short：16バイトデータを長い時間を空けて処理，Long：1536バイトのデータを処理．
Sparkle (Enc.)

no39.5 kGE

表丱丰丮丳为 乃乨乥乮らの命令拡張による乓买乡乲乫乬乥の実装結果 乛丷九
DesignArea

Cycles/Byte

Sparkle RV32GC (Enc.)
Sparkle RV32GC+Zbkb/x (Enc.)
Sparkle RV32GC+Zbkb/x+ν032 (Enc.)
Sparkle RV32GC+Zbkb/x+ν132 (Enc.)
Sparkle RV32GC+Zbkb/x+ν232 (Enc.)
Sparkle RV32GC (Dec.)
Sparkle RV32GC+Zbkb/x (Dec.)
Sparkle RV32GC+Zbkb/x+ν032 (Dec.)
Sparkle RV32GC+Zbkb/x+ν132 (Dec.)
Sparkle RV32GC+Zbkb/x+ν232 (Dec.)
入力データ長は128バイトである．

3,303 LUTs
3,764 LUTs
3.998 LUTs
3.986 LUTs
3.963 LUTs
3,303 LUTs
3,764 LUTs
3.998 LUTs
3.986 LUTs
3.963 LUTs

234.6
100.6
76.0
75.9
40.8
234.8
100.9
76.2
76.2
41.2

10.4 ソフトウェア実装
表丱丰丮临に文献 乛丱串九での乓乐乁乒之乌久の乁乲乭 乃乯乲乴乥乸中乍丰実装の結果を示す．本評価において，ファイナリスト中では低レイテンシの結果が得られている．
表丱丰丮临为 乓买乡乲乫乬乥の乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九
Design0 to 32Bytes
Encryption [msec]
221(0.76)
269(0.93)
333(1.152)353(1.221)

0 to 32 Bytes
ROM
Code
Decryption [msec] [kByte] [kByte]
schwaemm128128v1
222
16.9
14.9
(0.77)
schwaemm256128v1
269
17.1
15.1
(0.93)
schwaemm192192v1
313
17
15
(1.083)schwaemm256256v1
354
17.2
15.1
(1.225)RAMの使用量はコンパイル時の静的なメモリサイズで約1 kByte程度である．

临丸

11 TinyJambu
11.1 概要乔乩乮乹乊乡乭乢乵の設計者（提出者）は以下のとおりである．
• 么乯乮乧乪乵乮 乗乵• 乔乡乯 么乵乡乮乧
本方式に関する概要と仕様は以下の乕乒乌から参照できる．

• 乗乥乢サイト：乮丯乡
• 仕様：https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/
documents/finalist-round/updated-spec-doc/tinyjambu-spec-final.pdf

11.2 ハードウェアアクセラレータ
11.2.1 コプロセッサ（FPGA実装）
乔乩乮乹乊乡乭乢乵の乆乐乇乁実 装 に つ い て は， 乎义乓乔主 催 の乌乩乧乨乴乷乥乩乧乨乴 乃乲乹买乴乯乧乲乡买乨乹 乗乯乲乫乳乨乯买串丰串串での乁乢乤乵乬乧乡乤乩乲らの報告がある 乛串九． 乁乲乴乩乸中丷上に乌乗乃 么乗 乁乐义を用いた実装で，丱丵丳丶バ
イトのデータを暗号化した際に串丵丰 乍乢买乳程度のスループットとなっている（表丱丱丮丱）．また，他の乆乐乇乁実装の結果として，乍乯乨乡乪乥乲乡乮乩らの報告 乛丱丸九を表丱丱丮串にまとめる．同じ丵丹丱 乌乕乔乳の面
積コストで文献 乛串九とスループット性能が異なる異なる結果が見られるが，その理由は不明である．
表丱丱丮丱为 乔乩乮乹乊乡乭乢乵の乆乐乇乁実装の結果 乛串九
DesignPlatform

I/F

Area

Throughput

TinyJambu

Artix-7

LWC HW API

591 LUTs

250.4 Mbps

表丱丱丮串为 乔乩乮乹乊乡乭乢乵の乆乐乇乁実装の結果（つづき） 乛丱丸九
DesignPlatform

Data

Area

Throughput

TinyJAMBU-GMU-v1

Artix-7

AD+PT(Long)

591 LUTs

354.7 Mbps

Hash(Long)--

AD+PT(Long)

856 LEs

262.4 Mbps

Hash(Long)--

AD+PT(Long)

720 LUTs

166.4 Mbps

Hash(Long)--

Cyclone 10

ECP5Continued on next page临丹

表 11.2 – continued from previous page

DesignPlatform

Data

Area

Throughput

Artix-7

AD+PT(1536 Bytes)

591 LUTs

176.1 Mbps

AD+PT(64 Bytes)

151.3 Mbps
105.1 Mbps

AD+PT(16 Bytes)
Cyclone 10

ECP5

TinyJAMBU-GMU-v2

Artix-7

130.3 Mbps

AD+PT(64 Bytes)

112.0 Mbps

AD+PT(16 Bytes)

77.8 Mbps

AD+PT(1536 Bytes)

720 LUTs

82.6 Mbps

AD+PT(64 Bytes)

71.0 Mbps

AD+PT(16 Bytes)

49.3 Mbps
564 LUTs

186.4 Mbps

Hash(Long)--

Cyclone 10

AD+PT(Long)

841 LEs

136.5 Mbps

Hash(Long)

-

-

ECP5

AD+PT(Long)

908 LUTs

89.3 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

564 LUTs

92.6 Mbps

Cyclone 10

ECP5

Artix-7

Cyclone 10

ECP5

Artix-7

Cyclone 10

ECP5

TinyJAMBU-TJT-v1

856 LEs

AD+PT(Long)

Artix-7

TinyJAMBU-GMU-v3

AD+PT(1536 Bytes)

Artix-7

AD+PT(64 Bytes)

80.0 Mbps

AD+PT(16 Bytes)

56.1 Mbps

AD+PT(1536 Bytes)

841 LEs

67.8 Mbps

AD+PT(64 Bytes)

58.5 Mbps

AD+PT(16 Bytes)

41.0 Mbps

AD+PT(1536 Bytes)

908 LUTs

44.3 Mbps

AD+PT(64 Bytes)

38.3 Mbps

AD+PT(16 Bytes)

26.8 Mbps

AD+PT(Long)

537 LUTs

12.6 Mbps

Hash(Long)--

AD+PT(Long)

817 LEs

8.7 Mbps

Hash(Long)--

AD+PT(Long)

1,277 LUTs

4.9 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

537 LUTs

6.3 Mbps

AD+PT(64 Bytes)

5.4 Mbps

AD+PT(16 Bytes)

3.8 Mbps

AD+PT(1536 Bytes)

817 LEs

4.3 Mbps

AD+PT(64 Bytes)

3.7 Mbps

AD+PT(16 Bytes)

2.6 Mbps

AD+PT(1536 Bytes)

1,277 LUTs

2.4 Mbps

AD+PT(64 Bytes)

2.1 Mbps

AD+PT(16 Bytes)

1.5 Mbps

AD+PT(Long)

446 LUTs

104.3 Mbps

Continued on next page丵丰

表 11.2 – continued from previous page

DesignPlatform

Cyclone 10

ECP5

Artix-7

Cyclone 10

ECP5

TinyJAMBU-TJT-v2

Artix-7

Cyclone 10

ECP5

Artix-7

Cyclone 10

ECP5

TinyJAMBU-TJT-v3

Artix-7

Cyclone 10

ECP5

Artix-7

Cyclone 10

Data

Area

Throughput

Hash(Long)--

AD+PT(Long)

686 LEs

72.2 Mbps

Hash(Long)--

AD+PT(Long)

580 LUTs

4-

Hash(Long)--

AD+PT(1536 Bytes)

446 LUTs

51.8 Mbps

AD+PT(64 Bytes)

44.4 Mbps

AD+PT(16 Bytes)

30.8 Mbps

AD+PT(1536 Bytes)

686 LEs

35.8 Mbps

AD+PT(64 Bytes)

30.8 Mbps

AD+PT(16 Bytes)

21.3 Mbps

AD+PT(1536 Bytes)

580 LUTs

19.9 Mbps

AD+PT(64 Bytes)

17.0 Mbps

AD+PT(16 Bytes)

11.8 Mbps

AD+PT(Long)

461 LUTs

438.3 Mbps

Hash(Long)--

AD+PT(Long)

777 LEs

273.0 Mbps

Hash(Long)--

AD+PT(Long)

689 LUTs

174.5 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

461 LUTs

217.5 Mbps

AD+PT(64 Bytes)

186.0 Mbps

AD+PT(16 Bytes)

128.0 Mbps

AD+PT(1536 Bytes)

777 LEs

135.5 Mbps

AD+PT(64 Bytes)

115.9 Mbps

AD+PT(16 Bytes)

79.7 Mbps

AD+PT(1536 Bytes)

689 LUTs

86.6 Mbps

AD+PT(64 Bytes)

74.1 Mbps

AD+PT(16 Bytes)

51.0 Mbps

AD+PT(Long)

576 LUTs

1,396.4 Mbps

Hash(Long)--

AD+PT(Long)

1,021 LEs

929.1 Mbps

Hash(Long)--

AD+PT(Long)

1,092 LUTs

671.4 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

576 LUTs

691.1 Mbps

AD+PT(64 Bytes)

561.1 Mbps

AD+PT(16 Bytes)

353.1 Mbps

AD+PT(1536 Bytes)
AD+PT(64 Bytes)

1,021 LEs

459.9 Mbps
373.3 Mbps

Continued on next page丵丱

表 11.2 – continued from previous page

DesignPlatform

Data

Area

AD+PT(16 Bytes)
ECP5

AD+PT(1536 Bytes)

Throughput
234.9 Mbps

1,092 LUTs

332.3 Mbps

AD+PT(64 Bytes)

269.8 Mbps

AD+PT(16 Bytes)

169.8 Mbps

LWC HW APIを用いている．認証暗号の性能は暗号化時のものである．

11.2.2 コプロセッサ（ASIC実装）
久乬乳乡乤乥乫らによる乔乩乮乹乊乡乭乢乵の乁乓义乃実装性能評価の結果は表丱丱丮丳のとおりである 乛丹九． 丱丶バ
イトデータを長い時間をかけて処理する場合 丨乓乨乯乲乴丩に対して，乔乩乮乹乊乡乭乢乵はファイナリストの中で最もエネルギー効率の高い結果が得られたと報告している．また，丱丵丳丶バイトのデータを連続して処理をする場合 丨乌乯乮乧丩に対しても，乘乯乯乤乹乡乫の次に高いエネルギー効率が得られたとしている．
表丱丱丮丳为 久乬乳乡乤乥乫らによる乔乩乮乹乊乡乭乢乵の乁乓义乃実装の結果 乛丹九
DesignI/F

Area

TinyJambu (Enc.)no3.6 kGE

Data

Throughput@fmax

EnergyEfficiency

Short/PT
33.1 Mbps
831.0 Mbit/mJ
Short/AD35.3 Mbps
885.0 Mbit/mJ
Short/PT+AD
60.0 Mbps
1,335.0 Mbit/mJ
Long/PT
191.4 Mbps 2,808.4 Mbit/mJ
Long/AD
191.4 Mbps 4,429.8 Mbit/mJ
Long/PT+AD
248.2 Mbps 3,453.0 Mbit/mJ
ライブラリ：GF 22 nm CMOS (GF22FDx)，インタフェース回路含まず
Short：16バイトデータを長い時間を空けて処理，Long：1536バイトのデータを処理．

11.3 命令拡張
表丱丱丮临は， 乃乨乥乮乧らによる乒义乓乃中乖の命令拡張における乔乩乮乹乊乡乭乢乵の実装結果である 乛丷九．提案された命令拡張により，２倍以上の処理性能が可能であることがわかる．

11.4 ソフトウェア実装
表丱丱丮丵は， 文 献 乛丱串九で の乔乩乮乹乊乡乭乢乵の乁乲乭 乃乯乲乴乥乸中乍丰上 の 実 装 結 果 で あ る． ま た， 文 献

乛串丵九で報告されている乁乖乒 乁乔乭乥乧乡 丱串丸と乁乲乭 乃乯乲乴乥乸中乍丳でのソフトウェア実装の結果を表丱丱丮丶に示す．

丵串表丱丱丮临为 乃乨乥乮らの命令拡張による乔乩乮乹乊乡乭乢乵の実装結果 乛丷九
DesignArea

Cycles/Byte

TinyJambu RV32GC (Enc.)
TinyJambu RV32GC+Zbkb/x (Enc.)
TinyJambu RV32GC+Zbkb/x+ν032 (Enc.)
TinyJambu RV32GC+Zbkb/x+ν132 (Enc.)
TinyJambu RV32GC (Dec.)
TinyJambu RV32GC+Zbkb/x (Dec.)
TinyJambu RV32GC+Zbkb/x+ν032 (Dec.)
TinyJambu RV32GC+Zbkb/x+ν132 (Dec.)
入力データ長は128バイトである．

3,303 LUTs
3,764 LUTs
3.953 LUTs
3.863 LUTs
3,303 LUTs
3,764 LUTs
3.953 LUTs
3.863 LUTs

311.3
262.3
149.4
149.4
315.9
265.9
152.8
152.8

表丱丱丮丵为 乔乩乮乹乊乡乭乢乵の乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九
Design0 to 32Bytes
Encryption [msec]
114(0.394)128(0.443)
1,338(4.630)0 to 32 Bytes
ROM
Code
Decryption [msec] [kByte] [kByte]tinyjambu128
115
15.7
13.7
(0.398)tinyjambu256
129
15.7
13.7
(0.446)tinyjambu192
1,339
15.7
13.7
(4.633)
RAMの使用量はコンパイル時の静的解析で約1 kByte程度，動作周波数は48MHz
レイテンシは289通りの入力データでの値でカッコ内は平均値．

表丱丱丮丶为 乔乩乮乹乊乡乭乢乵の乁乲乭 乃乯乲乴乥乸中乍丳と乁乖乒 乁乔乭乥乧乡上でのレイテンシ評価 乛串丵九
DesignPlatform

TinyJAMBU-128 (Enc.)
TinyJAMBU-128 (Dec.)
TinyJAMBU-128 (Enc.)
TinyJAMBU-128 (Dec.)

AVR ATmega@16 Mhz
Arm Cortex-M3@84 MHz丵丳

16-byte AD +16-byte Msg. [msec]
10.20
10.20
0.34
0.34

ROM
[kByte]
3,890
2,096

RAM
[Byte]
117
119
140
140

12 Xoodyak
12.1 概要乘乯乯乤乹乡乫の設計者（提出者）は以下のとおりである．
• 乊乯乡乮 乄乡乥乭乥乮• 乇乩乬乬乥乳 乖乡乮 乁乳乳乣乨乥• 乓乥乴乨 么乯下乥乲乴• 乒乯乮乮乹 乖乡乮 之乥乥乲• 乍乩乣乨乡ë乬 乐乥乥乴乥乲乳• 乓乩乬乶乩乡 乍乥乬乬乡

本方式に関する概要と仕様は以下の乕乒乌から参照できる．

• 乗乥乢サイト：https://keccak.team/xoodyak.html• 仕様：https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/
documents/finalist-round/updated-spec-doc/xoodyak-spec-final.pdf

12.2 ハードウェアアクセラレータ
12.2.1 コプロセッサ（FPGA実装）
乘乯乯乤乹乡乫の乆乐乇乁実 装 に つ い て は， 乎义乓乔主 催 の乌乩乧乨乴乷乥乩乧乨乴 乃乲乹买乴乯乧乲乡买乨乹 乗乯乲乫乳乨乯买串丰串串での乁乢乤乵乬乧乡乤乩乲らの報告がある 乛串九． 乁乲乴乩乸中丷上に乌乗乃 么乗 乁乐义を用いた実装で，丱丵丳丶バ
イトのデータを暗号化した際に丱丮丷 乇乢买乳を超えるスループットを達成している（表丱串丮丱）．極めて高速な実装結果といえる．
表丱串丮丱为 乘乯乯乤乹乡乫の乆乐乇乁実装の結果 乛串九
DesignPlatform

I/F

Area

Throughput

Xoodyak

Artix-7

LWC HW API

1,808 LUTs

1717.9 Mbps

ま た， 他 の乆乐乇乁実 装 の 結 果 と し て， 乍乯乨乡乪乥乲乡乮乩ら の 報 告 乛丱丸九を 表丱串丮串に ま と め る． 同じ丱丬丸丰丱 乌乕乔乳の面積コストで文献 乛串九とスループット性能が異なる異なる結果が見られるが，

久乬乥买乨乡乮乴と乔乩乮乹乊乡乭乢乵と同様，その理由は不明である．

表丱串丮串为 乘乯乯乤乹乡乫の乆乐乇乁実装の結果（つづき） 乛丱丸九
DesignPlatform

Data

Area

Throughput

Xoodyak-GMU-v1

Artix-7

AD+PT(Long)

1,808 LUTs

2,150.7 Mbps

Hash(Long)
Cyclone 10

AD+PT(Long)

1,280.0 Mbps
3,135 LEs

1,351.0 Mbps

Continued on next page丵临

表 12.2 – continued from previous page

DesignPlatform

Data

Area

Hash(Long)
ECP5

Artix-7

Cyclone 10

ECP5

Xoodyak-GMU-v2

Artix-7

AD+PT(Long)

804.1 Mbps
3,172 LUTs

557.2 Mbps

AD+PT(1536 Bytes)

996.2 Mbps

AD+PT(64 Bytes)

626.2 Mbps

AD+PT(16 Bytes)

286.3 Mbps

Hash(1536 Bytes)

1,261.4 Mbps

Hash(64 Bytes)

946.1 Mbps

Hash(16 Bytes)

530.7 Mbps

AD+PT(1536 Bytes)

3,135 LEs

393.4 Mbps

AD+PT(16 Bytes)

179.9 Mbps

Hash(1536 Bytes)

792.4 Mbps

Hash(64 Bytes)

594.3 Mbps

Hash(16 Bytes)

333.4 Mbps

AD+PT(1536 Bytes)

3,172 LUTs

Cyclone 10ECP5

433.6 Mbps

AD+PT(64 Bytes)

272.6 Mbps

AD+PT(16 Bytes)

124.6 Mbps

Hash(1536 Bytes)

549.1 Mbps

Hash(64 Bytes)

411.8 Mbps

Hash(16 Bytes)

231.0 Mbps

AD+PT(Long)

1,234 LUTs

AD+PT(Long)

AD+PT(Long)

AD+PT(1536 Bytes)

173.4 Mbps
83.0 Mbps

5,871 LEs

79.5 Mbps
38.1 Mbps

2,316 LUTs

Hash(Long)
Artix-7

625.8 Mbps

AD+PT(64 Bytes)

Hash(Long)
ECP5

936.2 Mbps

Hash(Long)

Hash(Long)
Cyclone 10

Throughput

77.2 Mbps
37.0 Mbps

1,234 LUTs

77.8 Mbps

AD+PT(64 Bytes)

46.7 Mbps

AD+PT(16 Bytes)

20.4 Mbps

Hash(1536 Bytes)

82.1 Mbps

Hash(64 Bytes)

65.5 Mbps

Hash(16 Bytes)

40.0Mbps

AD+PT(1536 Bytes)

5,871 LEs

35.7 Mbps

AD+PT(64 Bytes)

21.4 Mbps

AD+PT(16 Bytes)

9.4 Mbps

Hash(1536 Bytes)

37.7 Mbps

Hash(64 Bytes)

30.0 Mbps

Hash(16 Bytes)

18.4 Mbps

AD+PT(1536 Bytes)

2,316 LUTs

34.6 Mbps

Continued on next page丵丵

表 12.2 – continued from previous page

DesignXoodyak-GMU2-v1

Platform

Artix-7

Data

Area

AD+PT(64 Bytes)

20.8 Mbps

AD+PT(16 Bytes)

9.1 Mbps

Hash(1536 Bytes)

36.5 Mbps

Hash(64 Bytes)

29.1 Mbps

Hash(16 Bytes)

17.8 Mbps

AD+PT(Long)

1,608 LUTs

Hash(Long)
Cyclone 10

AD+PT(Long)

AD+PT(Long)2,575 LEs

AD+PT(1536 Bytes)

3,248 LUTs

ECP5

Xoodyak-GMU2-v2

Artix-7

1,608 LUTs

AD+PT(16 Bytes)

550.6 Mbps

Hash(1536 Bytes)

3,012.0 Mbps

Hash(64 Bytes)

1,891.4 Mbps

Hash(16 Bytes)

873.7 Mbps

AD+PT(1536 Bytes)

2,575 LEs

778.5 Mbps

AD+PT(16 Bytes)

298.6 Mbps

Hash(1536 Bytes)

1,633.6 Mbps

Hash(64 Bytes)

1,025.8 Mbps

Hash(16 Bytes)

473.9 Mbps

AD+PT(1536 Bytes)

3,248 LUTs

1,386.1 Mbps

AD+PT(64 Bytes)

687.9 Mbps

AD+PT(16 Bytes)

263.9 Mbps

Hash(1536 Bytes)

1,443.5 Mbps

Hash(64 Bytes)

906.4 Mbps

Hash(16 Bytes)

418.7 Mbps

AD+PT(Long)

2,322 LUTs

AD+PT(Long)

AD+PT(Long)

AD+PT(1536 Bytes)

5,697.7 Mbps
3,638.9 Mbps

5,058 LEs

2,782.7 Mbps
1,777.2 Mbps

4,058 LUTs

Hash(Long)
Artix-7

1,568.7 Mbps

AD+PT(64 Bytes)

Hash(Long)
ECP52,892.4 Mbps
1,435.4 Mbps

Hash(Long)
Cyclone 10

3,148.5 Mbps
1,481.6 Mbps

AD+PT(64 Bytes)

Cyclone 10

3,563.2 Mbps
1,676.8 Mbps

Hash(Long)
Artix-7

6,569.8 Mbps
3,091.7 Mbps

Hash(Long)
ECP5

Throughput

1,994.8 Mbps
1,274.0 Mbps

2,322 LUTs

2,714.0 Mbps

AD+PT(64 Bytes)

1,306.3 Mbps

AD+PT(16 Bytes)

489.8 Mbps

Hash(1536 Bytes)

3,523.5 Mbps

Hash(64 Bytes)

2,037.8 Mbps
Continued on next page丵丶

表 12.2 – continued from previous page

DesignPlatform

Data

Area

Hash(16 Bytes)
Cyclone 10

AD+PT(1536 Bytes)

878.3 Mbps
5,058 LEs

Xoodyak-XT-v1

Artix-7

Cyclone 10

ECP5

Artix-7

AD+PT(16 Bytes)

239.2 Mbps

Hash(1536 Bytes)

1,720.9 Mbps

Hash(64 Bytes)

995.2 Mbps

Hash(16 Bytes)

429.0 Mbps

AD+PT(1536 Bytes)

4,058 LUTs

457.3 Mbps

AD+PT(16 Bytes)

171.5 Mbps

Hash(1536 Bytes)

1,233.6 Mbps

Hash(64 Bytes)

713.4 Mbps

Hash(16 Bytes)

307.5 Mbps

AD+PT(Long)

1,355 LUTs

2,960.4 Mbps

Hash(Long)--

AD+PT(Long)

2,231 LEs

1,724.7 Mbps

Hash(Long)--

AD+PT(Long)

2,402 LUTs

1,210.7 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

1,355 LUTs

1,371.2 Mbps
861.9 Mbps

AD+PT(16 Bytes)

ECP5

Xoodyak-XT-v2

Artix-7950.2 Mbps

AD+PT(64 Bytes)

AD+PT(64 Bytes)

Cyclone 10

1,325.5 Mbps
638.0 Mbps

AD+PT(64 Bytes)

ECP5

Throughput

AD+PT(1536 Bytes)

394.1 Mbps
2,231 LEs

798.9 Mbps

AD+PT(64 Bytes)

502.2 Mbps

AD+PT(16 Bytes)

229.6 Mbps

AD+PT(1536 Bytes)

2,402 LUTs

560.8 Mbps

AD+PT(64 Bytes)

352.5 Mbps

AD+PT(16 Bytes)

161.2 Mbps

AD+PT(Long)

2,025 LUTs

3,299.1 Mbps

Hash(Long)--

Cyclone 10

AD+PT(Long)3,541 LEs

1,558.8 Mbps

Hash(Long)

-

-

ECP5

AD+PT(Long)

4,077 LUTs

1,234.2 Mbps

Hash(Long)--

AD+PT(1536 Bytes)

2,025 LUTs

1,549.4 Mbps

Artix-7

Cyclone 10

AD+PT(64 Bytes)

992.3 Mbps

AD+PT(16 Bytes)

462.8 Mbps

AD+PT(1536 Bytes)

3,541 LEs

732.1 Mbps

AD+PT(64 Bytes)

468.9 Mbps

AD+PT(16 Bytes)

218.7 Mbps
Continued on next page丵丷

表 12.2 – continued from previous page

DesignXoodyak-XT-v7

Platform

Data

Area

Throughput

ECP5

AD+PT(1536 Bytes)

4,077 LUTs

579.6 Mbps

Artix-7

AD+PT(64 Bytes)

371.2 Mbps

AD+PT(16 Bytes)

173.1 Mbps

AD+PT(Long)

1,392 LUTs

Hash(Long)
Cyclone 10

AD+PT(Long)2,272 LEs

Hash(Long)
ECP5

AD+PT(Long)

Cyclone 10

ECP5

Xoodyak-XT-v8

Artix-7

AD+PT(1536 Bytes)

2,489 LUTs

1,392 LUTs

1,324.3 Mbps

AD+PT(64 Bytes)

832.5 Mbps

AD+PT(16 Bytes)

380.6 Mbps

Hash(1536 Bytes)

1,677.0 Mbps

Hash(64 Bytes)

1,257.7 Mbps

Hash(16 Bytes)

705.6 Mbps

AD+PT(1536 Bytes)

2,272 LEs

753.2 Mbps

AD+PT(64 Bytes)

473.4 Mbps

AD+PT(16 Bytes)

216.5 Mbps

Hash(1536 Bytes)

953.7 Mbps

Hash(64 Bytes)

715.3 Mbps

Hash(16 Bytes)

401.3 Mbps

AD+PT(1536 Bytes)

2,489 LUTs

518.1 Mbps

AD+PT(64 Bytes)

325.7 Mbps

AD+PT(16 Bytes)

148.9 Mbps

Hash(1536 Bytes)

656.1 Mbps

Hash(64 Bytes)

492.1 Mbps

Hash(16 Bytes)

276.0 Mbps

AD+PT(Long)

Cyclone 10

AD+PT(Long)

ECP5

AD+PT(Long)

2,143 LUTs

3,630 LEs

1,578.5 Mbps
1,046.7 Mbps

4,121 LUTs

Hash(Long)
AD+PT(1536 Bytes)

3,176.3 Mbps
2,106.2 Mbps

Hash(Long)

Cyclone 10

1,118.6 Mbps
665.7 Mbps

Hash(Long)

Artix-7

1,626.1 Mbps
967.8 Mbps

Hash(Long)
Artix-7

2,859.2 Mbps
1,701.6 Mbps

1,251.2 Mbps
829.7 Mbps

2,143 LUTs

1,491.7 Mbps

AD+PT(64 Bytes)

955.4 Mbps

AD+PT(16 Bytes)

445.5 Mbps

Hash(1536 Bytes)

2,070.9 Mbps

Hash(64 Bytes)

1,494.7 Mbps

Hash(16 Bytes)

798.9 Mbps

AD+PT(1536 Bytes)

3,630 LEs

741.3 Mbps

Continued on next page丵丸

表 12.2 – continued from previous page

DesignPlatform

ECP5

Data

Area

Throughput

AD+PT(64 Bytes)

474.8 Mbps

AD+PT(16 Bytes)

221.4 Mbps

Hash(1536 Bytes)

1,029.1 Mbps

Hash(64 Bytes)

742.8 Mbps

Hash(16 Bytes)

397.0 Mbps

AD+PT(1536 Bytes)

4,121 LUTs

587.6 Mbps

AD+PT(64 Bytes)

376.3 Mbps

AD+PT(16 Bytes)

175.5 Mbps

Hash(1536 Bytes)

815.8 Mbps

Hash(64 Bytes)

588.8 Mbps

Hash(16 Bytes)

314.7 Mbps

LWC HW APIを用いている．認証暗号の性能は暗号化時のものである．

乘乯乯乤乹乡乫中乘乔中乶丸において，最高で丳 乇乢买乳を超える認証付き暗号の処理性能が得られたとしている．高速なデータインタフェースが実現できることが前提であるが，アルゴリズムのコア性能として極めて高い処理能力を持つことがわかる．ただし，入力データが短い場合には临丵丰乍乢买乳までスループット性能が低下しており，短いデータをアイドル期間を空けて送信するような性能では乁乓乃乏乎などの他のアルゴリズムと大きな差はない．

12.2.2 コプロセッサ（ASIC実装）
文献 乛丹九での乘乯乯乤乹乡乫の乁乓义乃実装は表丱串丮丳のとおりである．
表丱串丮丳为 久乬乳乡乤乥乫らによる乘乯乯乤乹乡乫の乁乓义乃実装の結果 乛丹九
Design

I/F

Area

Data

Throughput@fmax

EnergyEfficiency

Short/PT
39.6 Mbps
357.3 Mbit/mJ
Short/AD39.6 Mbps
354.0 Mbit/mJ
Short/PT+AD
79.2 Mbps
720.9 Mbit/mJ
Long/PT
783.0 Mbps
3,228.0 Mbit/mJ
Xoodyak (Enc.)
no11.9 kGE
Long/AD
783.0 Mbps
5,753.0 Mbit/mJ
Long/PT+AD 1,028.3 Mbps 4,263.0 Mbit/mJ
ライブラリ：GF 22 nm CMOS(GF22FDx)，インタフェース回路含まず
Short：16バイトデータを長い時間を空けて処理，Long：1536バイトのデータを処理．
Xoodyak (Enc.)

no11.9 kGE12.3 命令拡張
表丱串丮临は，乃乨乥乮乧らによる乒义乓乃中乖の命令拡張における乘乯乯乤乹乡乫の実装結果である 乛丷九．命令拡張により，丱丵倍程度の高速化が可能であることがわかる．拡張した命令が乘乯乯乤乹乡乫の処理に適し丵丹ていたためと思われる．
表丱串丮临为 乃乨乥乮らの命令拡張による乘乯乯乤乹乡乫の実装結果 乛丷九
DesignArea

Cycles/Byte

Xoodyak RV32GC (Enc.)
Xoodyak RV32GC+Zbkb/x (Enc.)
Xoodyak RV32GC+Zbkb/x+ν032 (Enc.)
Xoodyak RV32GC (Dec.)
Xoodyak RV32GC+Zbkb/x (Dec.)
Xoodyak RV32GC+Zbkb/x+ν032 (Dec.)
入力データ長は128バイトである．

3,303 LUTs
3,764 LUTs
3,814 LUTs
3,303 LUTs
3,764 LUTs
3,814 LUTs

1,502.6
113.9
106.4
1,501.2
112.5
104.9

12.4 ソフトウェア実装
表丱串丮丵に文献 乛丱串九で乘乯乯乤乹乡乫の乁乲乭 乃乯乲乴乥乸中乍丰実装の結果を示す．
表丱串丮丵为 乘乯乯乤乹乡乫の乁乲乭 乃乯乲乴乥乸中乍丰上でのレイテンシ評価 乛丱串九
Design0 to 32Bytes
Encryption [msec]
173(0.599)0 to 32 Bytes
ROM
Code
Decryption [msec] [kByte] [kByte]
xoodyakv1
174
16.3
14.3
(0.602)
RAMの使用量はコンパイル時の静的解析で約1 kByte程度，動作周波数は48MHz
レイテンシは289通りの入力データでの値でカッコ内は平均値．

また，文献 乛串丵九で報告されている乁乖乒 乁乔乭乥乧乡 丱串丸と乁乲乭 乃乯乲乴乥乸中乍丳でのソフトウェア実装の結果を表丱串丮丶に示す． 丱丶 乍么乺動作の乁乔乭乥乧乡でも丳 乭乳乥乣程度のレイテンシであり，実用性は十分あるものと考える．
表丱串丮丶为 乘乯乯乤乹乡乫の乁乖乒 乁乔乭乥乧乡と乁乲乭 乃乯乲乴乥乸中乍丳上でのレイテンシ評価 乛串丵九
DesignPlatform

Xoodyak (Enc.)
Xoodyak (Dec.)
Xoodyak (Enc.)
Xoodyak (Dec.)

AVR ATmega@16 Mhz
Arm Cortex-M3@84 MHz

16-byte AD +16-byte Msg. [msec]
3.25
3.23
0.19
0.19

丶丰

ROM
[kByte]
4,306
3,572

RAM
[Byte]
167
183
208
232

参考文献
乛丱九 乌乩乧乨乴乷乥乩乧乨乴 乣乲乹买乴乯乧乲乡买乨乹 乩乮 乨乡乲乤乷乡乲乥 乡乮乤 乥乭乢乥乤乤乥乤 乳乹乳乴乥乭乳 乥乶乡乬乵乡乴乩乯乮 乯书 丌乮乡乬乩乳乴乳乩乮 乴乨乥 乎义乓乔 乌乗乃 买乲乯乣乥乳乳丮 https://cryptography.gmu.edu/athena/index.php?id=
LWC丮
乛串九 乁乢乵乢乡乫乲 乁乢乤乵乬乧乡乤乩乲丬 乒乩乣乨乡乲乤 么乡乥乵乳乳乬乥乲丬 乓乡乭乭乹 乌乩乮丬 乊乥乮乳中乐乥乴乥乲 之乡买乳丬 乡乮乤 之乲乩乳乇乡乪丮乓乩乤乥中乃乨乡乮乮乥乬 乒乥乳乩乳乴乡乮乴 义乭买乬乥乭乥乮乴乡乴乩乯乮乳 乯书 乔乨乲乥乥 乆乩乮乡乬乩乳乴乳 乯书 乴乨乥 乎义乓乔乌乩乧乨乴乷乥乩乧乨乴 乃乲乹买乴乯乧乲乡买乨乹 乓乴乡乮乤乡乲乤乩乺乡乴乩乯乮 乐乲乯乣乥乳乳为久乬乥买乨乡乮乴丬 乔乩乮乹乊乁乍乂乕丬 乡乮乤乘乯乯乤乹乡乫丮 Lightweight Cryptography Workshop 2022丬 买乡乧乥乳 丱乻丷丬 串丰串串丮乛丳九 乆乡乴乩乨 乂乡乬乬乩丬 乁乮乤乲乥乡 乃乡书乯乲乩乯丬 乡乮乤 乓乵乢乨乡乤乥乥买 乂乡乮乩乫丮 乔乨乥 乡乲乥乡中乬乡乴乥乮乣乹 乳乹乭乢乩乯乳乩乳为 乔乯中乷乡乲乤乳 乩乭买乲乯乶乥乤 乳乥乲乩乡乬 乥乮乣乲乹买乴乩乯乮 乣乩乲乣乵乩乴乳丮 IACR Trans. Cryptogr. Hardw. Embed. Syst.丬
串丰串丱丨丱丩为串丳丹乻串丷丸丬 串丰串丱丮乛临九 乓乵乢乨乡乤乥乥买 乂乡乮乩乫丬 乆乡乴乩乨 乂乡乬乬乩丬 乆乲乡乮乣乥乳乣乯 乒乥乧乡乺乺乯乮乩丬 乡乮乤 乓乥乲乧乥 乖乡乵乤乥乮乡乹丮 乓乷乡买 乡乮乤乲乯乴乡乴乥为 乌乩乧乨乴乷乥乩乧乨乴 乬乩乮乥乡乲 乬乡乹乥乲乳 书乯乲 乳买乮中乢乡乳乥乤 乢乬乯乣乫乣乩买乨乥乲乳丮 IACR Trans. Symmetric
Cryptol.丬 串丰串丰丨丱丩为丱丸丵乻串丳串丬 串丰串丰丮乛丵九 乄乡乮乩乥乬 乊丮 乂乥乲乮乳乴乥乩乮 乡乮乤 乔乡乮乪乡 乌乡乮乧乥 丨乥乤乩乴乯乲乳丩丮 乥乂乁乃乓为 久乃乒乙乐乔 乢乥乮乣乨乭乡乲乫乩乮乧 乯书乣乲乹买乴乯乧乲乡买乨乩乣 乳乹乳乴乥乭乳丮 https://bench.cr.yp.to丮乛丶九 乁乮乤乲乥乡 乃乡书乯乲乩乯丬 乄乡乮乩乥乬 乃乯乬乬乩乮乳丬 乓乵乢乨乡乤乥乥买 乂乡乮乩乫丬 乡乮乤 乆乲乡乮乣乥乳乣乯 乒乥乧乡乺乺乯乮乩丮 乁 乳乭乡乬乬乇义乆乔中乃乏乆乂为 乬乩乧乨乴乷乥乩乧乨乴 乢乩乴中乳乥乲乩乡乬 乡乲乣乨乩乴乥乣乴乵乲乥乳丮 IACR Cryptol. ePrint Arch., Paper
2022/955丬 串丰串串丮乛丷九 么乡乯 乃乨乥乮乧丬 乊乯乨乡乮乮 乇乲乯丙乳乣乨乿乡乤乬丬 乂乥乮 乍乡乲乳乨乡乬乬丬 乄乡乮 乐乡乧乥丬 乡乮乤 乔乨乩乮乨 乐乨乡乭丮 乒义乓乃中乖 义乮乳乴乲乵乣乴乩乯乮 乓乥乴 久乸乴乥乮乳乩乯乮乳 书乯乲 乌乩乧乨乴乷乥乩乧乨乴 乓乹乭乭乥乴乲乩乣 乃乲乹买乴乯乧乲乡买乨乹丮 Lightweight
Cryptography Workshop 2022丬 买乡乧乥乳 丱乻丵丰丬 串丰串串丮乛丸九 乃乨乲乩乳乴乯买乨 乄乯乢乲乡乵乮乩乧丬 乍乡乲乩乡 久乩乣乨乬乳乥乤乥乲丬 乆乬乯乲乩乡乮 乍乥乮乤乥乬丬 乡乮乤 乍乡乲乴乩乮 乓乣乨乬乿乡下乥乲丮 乁乳乣乯乮乶丱丮串为 乌乩乧乨乴乷乥乩乧乨乴 乡乵乴乨乥乮乴乩乣乡乴乥乤 乥乮乣乲乹买乴乩乯乮 乡乮乤 乨乡乳乨乩乮乧丮 J. Cryptol.丬 丳临丨丳丩为丳丳丬 串丰串丱丮乛丹九 义乳乬乡乭 久乬乳乡乤乥乫丬 乓乯乨乲乡乢 乁书乴乡乢乪乡乨乡乮乩丬 乄乯乵乧 乇乡乲乤乮乥乲丬 久乲乩乫 乍乡乣乌乥乡乮丬 乊乯乨乮 乒乯乳乳乗乡乬乬乲乡乢乥乮乳乴乥乩乮丬 乡乮乤 久乳乬乡乭 乙乡乨乹乡 乔乡乷丌乫丮 么乡乲乤乷乡乲乥 乡乮乤 乥乮乥乲乧乹 乥与乣乩乥乮乣乹 乥乶乡乬乵乡乴乩乯乮 乯书乎义乓乔 乬乩乧乨乴乷乥乩乧乨乴 乣乲乹买乴乯乧乲乡买乨乹 乳乴乡乮乤乡乲乤乩乺乡乴乩乯乮 丌乮乡乬乩乳乴乳丮 义乮 IEEE International Symposium on Circuits and Systems, ISCAS 2022丬 买乡乧乥乳 丱丳丳乻丱丳丷丮 义久久久丬 串丰串串丮乛丱丰九 乆乡乲乮乯乵乤 乆乡乲乡乨乭乡乮乤丬 乗乩乬乬乩乡乭 乄乩乥乨乬丬 乁乢乵乢乡乫乲 乁乢乤乵乬乧乡乤乩乲丬 乊乥乮乳中乐乥乴乥乲 之乡买乳丬 乡乮乤 之乲乩乳乇乡乪丮 义乭买乲乯乶乥乤 乬乩乧乨乴乷乥乩乧乨乴 乩乭买乬乥乭乥乮乴乡乴乩乯乮乳 乯书 乣乡乥乳乡乲 乡乵乴乨乥乮乴乩乣乡乴乥乤 乣乩买乨乥乲乳丮 义乮 2018
IEEE 26th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)丬 买乡乧乥乳 串丹乻丳丶丬 串丰丱丸丮乛丱丱九 么乡乮乮乥乳 乇乲乯丙丬 久乲乩乣乨 乗乥乮乧乥乲丬 乃乨乲乩乳乴乯买乨 乄乯乢乲乡乵乮乩乧丬 乡乮乤 乃乨乲乩乳乴乯买乨 久乨乲乥乮乨乿乯书乥乲丮 乓乵乩乴 乵买両
中 乭乡乤乥中乴乯中乭乥乡乳乵乲乥 乨乡乲乤乷乡乲乥 乩乭买乬乥乭乥乮乴乡乴乩乯乮乳 乯书 乁乓乃乏乎丮 义乮 2015 Euromicro Confer-丶丱ence on Digital System Design, DSD 2015, Madeira丬 买乡乧乥乳 丶临丵乻丶丵串丮 义久久久 乃乯乭买乵乴乥乲乓乯乣乩乥乴乹丬 串丰丱丵丮乛丱串九 乒乹乯乴乡 么乩乲乡丬 乔乯乭乯乡乫乩 之乩乴乡乨乡乲乡丬 乄乡乩乫乩 乍乩乹乡乨乡乲乡丬 乙乵乫乯 么乡乲乡中乁乺乵乭乩丬 乙乡乮乧 乌乩丬 乡乮乤 之乡乺乵乯乓乡乫乩乹乡乭乡丮 乓乯书乴乷乡乲乥 乥乶乡乬乵乡乴乩乯乮 书乯乲 乳乥乣乯乮乤 乲乯乵乮乤 乣乡乮乤乩乤乡乴乥乳 乩乮 乎义乓乔 乬乩乧乨乴乷乥乩乧乨乴 乣乲乹买中乴乯乧乲乡买乨乹丮 IACR Cryptol. ePrint Arch., Paper 2022/591丬 串丰串串丮乛丱丳九 久乫乡乷乡乴 么乯乭乳乩乲乩乫乡乭乯乬丬 乗乩乬乬乩乡乭 乄乩乥乨乬丬 乁乨乭乥乤 乆乥乲乯乺买乵乲乩丬 乆乡乲乮乯乵乤 乆乡乲乡乨乭乡乮乤丬乐乡乮乡乳乡乹乹乡 乙乡乬乬乡丬 乊乥乮乳中乐乥乴乥乲 之乡买乳丬 乡乮乤 之乲乩乳 乇乡乪丮 乃乁久乓乁乒 乨乡乲乤乷乡乲乥 乁乐义丮 IACR
Cryptol. ePrint Arch., Paper 2016/626丬 串丰丱丶丮乛丱临九 义乁乃乒丮 乃乲乹买乴乯乬乯乧乹 乥乐乲乩乮乴 乁乲乣乨乩乶乥丮 https://eprint.iacr.org丮
乛丱丵九 义乁乃乒丮 义乁乃乒 乯乮乬乩乮乥 买乲乯乣乥乥乤乩乮乧乳丮 https://www.iacr.org/archive/丮乛丱丶九 义久久久丮 义久久久 乘买乬乯乲乥丮 https://ieeexplore.ieee.org/Xplore/home.jsp丮
乛丱丷九 乊乥乮乳中乐乥乴乥乲 之乡买乳丬 乗乩乬乬乩乡乭 乄乩乥乨乬丬 乍乩乣乨乡乥乬 乔乥乭买乥乬乭乥乩乥乲丬 久乫乡乷乡乴 么乯乭乳乩乲乩乫乡乭乯乬丬 乡乮乤 之乲乩乳乇乡乪丮 么乡乲乤乷乡乲乥 乁乐义 书乯乲 乬乩乧乨乴乷乥乩乧乨乴 乣乲乹买乴乯乧乲乡买乨乹丮 https://cryptography.gmu.edu/
athena/LWC/LWC_HW_API.pdf丮
乛丱丸九 之乡乭乹乡乲 乍乯乨乡乪乥乲乡乮乩丬 乒乩乣乨乡乲乤 么乡乥乵乳乳乬乥乲丬 乒乩乳乨乵乢 乎乡乧买乡乬丬 乆乡乲乮乯乵乤 乆乡乲乡乨乭乡乮乤丬 乁乢乵乢乡乫乲乁乢乤乵乬乧乡乤乩乲丬 乊乥乮乳中乐乥乴乥乲 之乡买乳丬 乡乮乤 之乲乩乳 乇乡乪丮 乆乐乇乁 乢乥乮乣乨乭乡乲乫乩乮乧 乯书 乲乯乵乮乤 串 乣乡乮乤乩乤乡乴乥乳乩乮 乴乨乥 乎义乓乔 乬乩乧乨乴乷乥乩乧乨乴 乣乲乹买乴乯乧乲乡买乨乹 乳乴乡乮乤乡乲乤乩乺乡乴乩乯乮 买乲乯乣乥乳乳为 乍乥乴乨乯乤乯乬乯乧乹丬 乭乥乴乲乩乣乳丬乴乯乯乬乳丬 乡乮乤 乲乥乳乵乬乴乳丮 IACR Cryptol. ePrint Arch., Paper 2020/1207丬 串丰串丰丮乛丱丹九 乎义乓乔丮乎义乓乔 乬乩乧乨乴乷乥乩乧乨乴 乣乲乹买乴乯乧乲乡买乨乹丮https://csrc.nist.gov/projects/

lightweight-cryptography丮乛串丰九 乂乥乨乮乡乺 乒乥乺乶乡乮乩 乡乮乤 乗乩乬乬乩乡乭 乄乩乥乨乬丮 么乡乲乤乷乡乲乥 乩乭买乬乥乭乥乮乴乡乴乩乯乮乳 乯书 乎义乓乔 乬乩乧乨乴乷乥乩乧乨乴乣乲乹买乴乯乧乲乡买乨乩乣 乣乡乮乤乩乤乡乴乥乳为 乁 丌乲乳乴 乬乯乯乫丮 IACR Cryptol. ePrint Arch., Paper 2019/824丬
串丰丱丹丮
乛串丱九 乊乯乮乡乴乨乡乮 乓乿乯乮乮乥乲乵买丬 乍乡乲乴乩乮 么乥乬乬丬 乍乡乴乴乩乡乳 乓乿乯乮乮乥乲乵买丬 乡乮乤 乒乩买乵乤乡乭乡乮 之乨乡乴乴乡乲丮 久与乣乩乥乮乴乨乡乲乤乷乡乲乥 乩乭买乬乥乭乥乮乴乡乴乩乯乮乳 乯书 乇乲乡乩乮中丱串丸乁久乁乄丮 义乮 乆乥乮乧 么乡乯丬 乓乵乳乨乭乩乴乡 乒乵乪丬 乡乮乤 乓乯乵乲乡乶乓乥乮 乇乵买乴乡丬 乥乤乩乴乯乲乳丬 Progress in Cryptology - INDOCRYPT 2019 - 20th International
Conference on Cryptology in India, Hyderabad, India, December 15-18, 2019, Proceedings丬 乶乯乬乵乭乥 丱丱丸丹丸 乯书 Lecture Notes in Computer Science丬 买乡乧乥乳 临丹丵乻丵丱丳丮 乓买乲乩乮乧乥乲丬串丰丱丹丮乛串串九 乓买乲乩乮乧乥乲丮 乓买乲乩乮乧乥乲 乬乩乮乫丮 https://link.springer.com丮
乛串丳九 乓乴乥书乡乮 乓乴乥乩乮乥乧乧乥乲 乡乮乤 乒乯乢乥乲乴 乐乲乩乭乡乳丮 乁 书乡乳乴 乡乮乤 乣乯乭买乡乣乴 乒义乓乃中乖 乡乣乣乥乬乥乲乡乴乯乲 书乯乲 乁乳乣乯乮乡乮乤 书乲乩乥乮乤乳丮 义乮 乐乩乥乲乲乥中乙乶乡乮 乌乩乡乲乤乥乴 乡乮乤 乎乥乬乥 乍乥乮乴乥乮乳丬 乥乤乩乴乯乲乳丬 Smart Card Researchand Advanced Applications - 19th International Conference, CARDIS 2020, Virtual
Event, November 18-19, 2020, Revised Selected Papers丬 乶乯乬乵乭乥 丱串丶丰丹 乯书 Lecture Notes
in Computer Science丬 买乡乧乥乳 丵丳乻丶丷丮 乓买乲乩乮乧乥乲丬 串丰串丰丮丶串乛串临九 乍乩乣乨乡乥乬 乔乥乭买乥乬乭乥乩乥乲丬 乆乡乢乲乩乺乩乯 乄乥 乓乡乮乴乩乳丬 乇乥乯乲乧 乓乩乧乬丬 乡乮乤 乊乥乮乳中乐乥乴乥乲 之乡买乳丮乔乨乥乃乁久乓乁乒中乁乐义 乩乮 乴乨乥 乲乥乡乬 乷乯乲乬乤 中 乴乯乷乡乲乤乳 乡 书乡乩乲 乥乶乡乬乵乡乴乩乯乮 乯书 乨乡乲乤乷乡乲乥 乃乁久乓乁乒 乣乡乮中乤乩乤乡乴乥乳丮 义乮 2018 IEEE International Symposium on Hardware Oriented Security andTrust, HOST 2018, Washington, DC, USA, April 30 - May 4, 2018丬 买乡乧乥乳 丷丳乻丸丰丮 义久久久乃乯乭买乵乴乥乲 乓乯乣乩乥乴乹丬 串丰丱丸丮乛串丵九 乙乵乨乥乩 乗乡乴乡乮乡乢乥丬 么乩乤乥乫乩 乙乡乭乡乭乯乴乯丬 乡乮乤 么乩乲乯乴乡乫乡 乙乯乳乨乩乤乡丮 乐乥乲书乯乲乭乡乮乣乥 乥乶乡乬乵乡乴乩乯乮乯书 乎义乓乔 乌乗乃 丌乮乡乬乩乳乴乳 乯乮 乁乖乒 乡乴乭乥乧乡 乡乮乤 乁乒乍 乃乯乲乴乥乸中乍丳 乭乩乣乲乯乣乯乮乴乲乯乬乬乥乲乳丮 IACR
Cryptol. ePrint Arch., Paper 2022/1071丬 串丰串串丮乛串丶九 乐乡乮乡乳乡乹乹乡 乙乡乬乬乡 乡乮乤 乊乥乮乳中乐乥乴乥乲 之乡买乳丮 久乶乡乬乵乡乴乩乯乮 乯书 乴乨乥 乃乁久乓乁乒 乨乡乲乤乷乡乲乥 乁乐义书乯乲 乬乩乧乨乴乷乥乩乧乨乴 乩乭买乬乥乭乥乮乴乡乴乩乯乮乳丮 义乮 2017 International Conference on ReConFigurable
Computing and FPGAs (ReConFig)丬 买乡乧乥乳 丱乻丶丬 串丰丱丷丮乛串丷九 岡部 忠丮 軽量ストリーム暗号のハードウェア実装 ～ 乆乐乇乁を対象デバイスとした実装
性能の比較～丮 情報処理学会講演論文集丬 串丰串串丮丶丳