サイト内の現在位置

データセキュリティ:共通鍵暗号の研究開発

テクノロジーグループ

2019年11月28日

暗号解析

共通鍵暗号は秘密鍵を全数探索すれば必ず正しい鍵を見つけることができますが、全数探索するために膨大な時間を必要とすることが安全性の根拠となっています。しかしながら、暗号アルゴリズムの構造的な欠陥を利用することで計算時間を短縮するショートカット法と呼ばれる解析手法が存在します。安全な暗号アルゴリズムを設計するためには、ショートカット法に対して耐性を有していなければなりません。そのためにも様々な暗号について解析を行うことにより解析技術を蓄積し、安全性評価手法、設計技術へとフィードバックさせていきます。

暗号設計

ブロック暗号 CIPHERUNICORNファミリ

CIPHERUNICORNはNECが開発した共通鍵ブロック暗号ファミリです。128ビットブロックのCIPHERUNICORN-A、64ビットブロックのCIPHERUNICORN-Eなどがあります。CIPHERUNICORNは基本となる処理であるラウンド関数において、撹拌の偏りが現れないように設計されております。撹拌の偏りは、入力と出力の関係を統計的に調べることで調査しました。総務省及び経済産業省が公表しているCRYPTREC推奨候補暗号リスト*1にも掲載されている、非常に信頼性の高い暗号です。

超軽量ブロック暗号 Twine

携帯電話やICカードの普及や、マイコンなどの組み込み機器・家電などの高度情報端末化が発展するにつれて、ごく小さな回路やメモリ量で動作する軽量な暗号の重要性が高まってきています。当研究グループでは一般化Feistel構造という方式に着目し、この構造をベースとした新たな汎用的ブロック暗号構成方法を考案しています。一般化Feistel構造はハードソフトを問わず小規模実装を可能とする点で特に注目を集めていますが、我々の提案方式は、一般化Feistel構造の利点を残したまま、安全性のために必要な処理量を従来より大幅に削減することが可能です。この新たな構造により、軽量性と安全性を兼ね備えた暗号が実現可能になると考えられます。
上記の提案をベースに、超軽量ブロック暗号Twine*2を開発し、暗号技術の国際学会SAC 2012において発表致しました。*3ハードウェア実装の回路規模が約1.5KGateと従来の軽量ブロック暗号と同等である上に、ローエンドのマイコンや汎用プロセッサ上でも少ないメモリで高速に動作する点が特長です。この性質は、車載などの組み込み機器や、RFID、センサーネットなどのセキュリティを確保する上で有用と考えられます。

超軽量ブロック暗号Twineの構造
超軽量ブロック暗号Twineの構造

暗号利用モード|認証暗号など

共通鍵ブロック暗号を用いて、メッセージの秘匿やメッセージの改ざん検知など、具体的な暗号機能を実現する際には、暗号利用モードと呼ばれる処理が必要となります。メッセージの秘匿は暗号化によって、改ざん検知はメッセージ認証コード(MAC)によってそれぞれ実現されます。
NECでは、標準暗号AESを用いつつも、従来のAES利用モードよりも高速かつ同等な安全性を有するMAC方式PC-MAC-AES(*4)を開発しました。
PC-MAC-AESはCRYPTREC推奨候補暗号リスト(*1)に掲載されています。
メッセージの秘匿と改ざん検知を同時に実現できる暗号技術は「認証暗号」と呼ばれ、アメリカ国立標準技術研究所(NIST)支援のもと国際認証暗号コンペティションが行われるなど、近年注目が集まっています。当研究グループでは、機能や安全性の面で既存の方式を凌ぐ利用モードの研究を進めております。最近の研究成果としては、拡張ブロック暗号を用いた効率的なメッセージ認証コードZMACと、ZMACを部品とした認証暗号ZAEの開発(暗号の国際学会CRYPTO 2017で発表)、および省リソース・省電力・高速な認証暗号OTRの開発(日本語*5・英語*6)(プレスリリース*7)があります。

さらに、国際標準であり著名な認証暗号方式OCB2の安全性解析を行い、国際学会 CRYPTO2019にて最優秀論文賞を受賞しました。

お問い合わせ