SlideShare une entreprise Scribd logo
1  sur  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 本当に満たされている?

Contenu connexe

Similaire à Provable Security1

Similaire à 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
 
ビットコインで使われている暗号の基礎を学ぶ
ビットコインで使われている暗号の基礎を学ぶビットコインで使われている暗号の基礎を学ぶ
ビットコインで使われている暗号の基礎を学ぶ
 

Dernier

研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
atsushi061452
 

Dernier (16)

情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 

Provable Security1

Notes de l'éditeur

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