SlideShare ist ein Scribd-Unternehmen logo
1 von 44
暗号理論における安全性の証明 離散対数問題に基づく暗号プリミティブの安全性議論 羽田 知史( IBM 東京基礎研究所) Satoshi Hada (IBM Research - Tokyo) mailto: satoshih at jp ibm com
暗号理論の位置づけと役割 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],基本的な暗号技術(暗号化、電子署名) アクセス制御 (ファイアウォール) 電子選挙、オンライントレード、オークション プロトコル (SSL, IPSec) ハードウェア (TCG, IC カード ) プリミティブ(一方向性関数、擬似乱数、ゼロ知識) 暗号 理論 ツール アプリケーション 暗号を使って何ができて何ができないか?を理論的に議論する
暗号理論の位置づけと役割 ビジネス要求 (インターネット上に流れる顧客データを保護したい) SSL/TLS (クライアント / サーバ認証、データの暗号化 & 改ざん防止) 計算量的困難性の仮定 (離散対数問題の困難性) ビジネス IT 満たされている? 満たされている?
暗号理論の位置づけと役割 ビジネス要求 (ネットワーク上に流れる顧客データを保護したい) SSL/TLS (クライアント / サーバ認証、データの暗号化 & 改ざん防止) 計算量的困難性の仮定 (離散対数問題の困難性) ビジネス IT 安全性の定義:どういう安全性が提供されるか? 安全性の証明:どういう仮定の下で安全性が保障されるか?
暗号理論の位置づけと役割 安全性の定義 実現可能 実現不可能 安全性の証明が既知 (証明が可能) 安全性の証明が 不可能あるいは 未解決
スケジュール ,[object Object],[object Object],[object Object],[object Object]
第 1 回:離散対数問題に基づく安全性議論 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
第 2 回と第 3 回:ユーザ認証プロトコルの安全性の議論 ユーザ認証(  Identification   )プロトコルとはネットワーク上にて通信相手の身元を証明、検証するためのプロトコルです。 証明者( P さん) 検証者 Interaction 本当に P さん  ?
パスワード認証 ,[object Object],証明者( P さん) 検証者 ID=P, PW
ディジタル署名ベースのユーザ認証プロトコル( SSL のサーバ認証など) ,[object Object],[object Object],乱数  R PK, Sign(P’s SK, R) 証明者( P さん) 検証者 鍵ペア (PK,SK) 署名が正しいかを検証
証明者 検証者 公開鍵: v 秘密鍵: s s.t. v=g -s  (mod p) x=v e g y が成り立てば Accept 左辺: x=g r 右辺: v e g y   =g -es g r+es =g r e x=g r  (mod p) y=r+es  (mod q) 乱数: r ∈ Z q 乱数: e ( n bits ) 安全なユーザ認証プロトコルの例: Schnorr のプロトコル 離散対数が困難という仮定の下では、公開鍵から秘密鍵を計算できない 秘密鍵の情報が漏れないでいて欲しい
第 4 回:プログラムの難読化( Obfuscation )の安全性の議論 The winning entry for the 1998 International Obfuscated C Code Contest
離散対数問題に基づく安全性議論
準備(1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
準備( 2 ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
準備( 3 ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
準備(4) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
一方向性関数と Collision Resistant ハッシュ関数
一方向性関数の概念 関数 F X Y 簡単に計算できる 計算が困難
安全性の定義: ,[object Object],[object Object]
抽象的:一方向性関数の定義 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
具体的:離散対数問題に基づく一方向性関数 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ハッシュ関数の概念 ハッシュ関数 Collision
Collision Resistant  ハッシュ関数の概念 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],署名 アルゴリズム ( 署名鍵 sk) 検証 アルゴリズム (検証鍵 pk ) 署名 対象 M 署名 S Valid or invalid Hash 署名 対象 Hash(M) 長い 短い
抽象的: Collision Resistant ハッシュ関数の定義 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
具体的:離散対数問題に基づく Collision Resistant ハッシュ関数 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
安全性の証明をどうやってやるのか? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
安全性( Collision Resistance )の証明:離散対数問題が困難なら、離散対数問題に基づく Collision Resistant ハッシュ関数は安全である ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Diffie-Hellman 鍵共有とエルガマル暗号
鍵共有の概念 鍵ペア (PKa, SKa) 鍵ペア (PKb, SKb) Alice Bob PKb PKa Ka=KE(PKb, SKa) を計算 Kb=KE(PKa, SKb) を計算 ,[object Object],[object Object]
抽象的:鍵共有の安全性の定義 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
具体的: Diffie-Hellman 鍵共有 (PKa, SKa) s.t. PKa=g SKa  mod p  (PKb, SKb) s.t. PKb=g SKb  mod p  Alice Bob PKb PKa Ka =KE(PKb, SKa) =(PKb)  SKa  mod p  =g  SKa*SKb  mod p  Ka=Kb として鍵を共有できる Kb =KE(PKa, SKb) =(PKa)  SKb  mod p  =g  SKa*SKb  mod p
具体的: Diffie-Hellman 鍵共有の安全性の定義 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Diffie-Hellman 鍵共有の安全性の証明 ,[object Object],[object Object]
共通鍵暗号と公開鍵暗号の概念 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
抽象的:公開鍵暗号の安全性の定義 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
具体的:エルガマル暗号 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
具体的:エルガマル暗号の安全性の定義 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
エルガマル暗号の安全性の証明: Diffie-Hellman 鍵共有が安全なら、エルガマル暗号は安全である ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
まとめ
まとめ 安全性の定義 実現可能 実現不可能 安全性の証明が既知 (証明が可能) 安全性の証明が 不可能あるいは 未解決 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Backup
暗号理論の位置づけと役割 ビジネス要求 (社内の人間による顧客情報の漏えい防止) SSL/TLS (クライアント / サーバ認証、データの暗号化 & 改ざん防止) 計算量的困難性の仮定 (離散対数問題の困難性) ビジネス IT 満たされていそうにない 満たされている?
暗号理論の位置づけと役割 ビジネス要求 (社内の人間による情報漏えい防止) 特殊な暗号プロトコルを設計してみました 計算量的困難性の仮定 (離散対数問題の困難性) ビジネス IT 本当に満たされている?

Weitere ähnliche Inhalte

Ähnlich wie Provable Security1

Ähnlich wie Provable Security1 (15)

Provable Security3
Provable Security3Provable Security3
Provable Security3
 
公開鍵暗号(1): RSA暗号
公開鍵暗号(1): RSA暗号公開鍵暗号(1): RSA暗号
公開鍵暗号(1): RSA暗号
 
R04 Security II
R04 Security IIR04 Security II
R04 Security II
 
公開鍵暗号1: RSA暗号
公開鍵暗号1: RSA暗号公開鍵暗号1: RSA暗号
公開鍵暗号1: RSA暗号
 
Provable Security4
Provable Security4Provable Security4
Provable Security4
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
 
Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Run-time Code Generation and Modal-ML の紹介@PLDIr#2Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Run-time Code Generation and Modal-ML の紹介@PLDIr#2
 
ビットコインにおける「マルチシグ」とは
ビットコインにおける「マルチシグ」とはビットコインにおける「マルチシグ」とは
ビットコインにおける「マルチシグ」とは
 
TVM の紹介
TVM の紹介TVM の紹介
TVM の紹介
 
Synchronized Aggregate Signatures and Computational Assumptions
Synchronized Aggregate Signatures and Computational AssumptionsSynchronized Aggregate Signatures and Computational Assumptions
Synchronized Aggregate Signatures and Computational Assumptions
 
Coqチュートリアル
CoqチュートリアルCoqチュートリアル
Coqチュートリアル
 
ブロックチェーン連続講義 第4回 暗号技術のリテラシー
ブロックチェーン連続講義 第4回 暗号技術のリテラシーブロックチェーン連続講義 第4回 暗号技術のリテラシー
ブロックチェーン連続講義 第4回 暗号技術のリテラシー
 
FHE in Action
FHE in ActionFHE in Action
FHE in Action
 
Python standard 2022 Spring
Python standard 2022 SpringPython standard 2022 Spring
Python standard 2022 Spring
 
ビットコインで使われている暗号の基礎を学ぶ
ビットコインで使われている暗号の基礎を学ぶビットコインで使われている暗号の基礎を学ぶ
ビットコインで使われている暗号の基礎を学ぶ
 

Kürzlich hochgeladen

Kürzlich hochgeladen (11)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Provable Security1

Hinweis der Redaktion

  1. Schnorr の認証プロトコル [Crypto’89]