Soumettre la recherche
Mettre en ligne
ブラウザで動く準同型暗号
•
7 j'aime
•
3,710 vues
MITSUNARI Shigeo
Suivre
emscripten & WebAssembly night !! #5 https://emsn.connpass.com/event/66304/
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 13
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
暗号技術入門
暗号技術入門
MITSUNARI Shigeo
バックドア耐性のあるパスワード暗号化の提案
バックドア耐性のあるパスワード暗号化の提案
MITSUNARI Shigeo
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
MITSUNARI Shigeo
BLS署名の実装とその応用
BLS署名の実装とその応用
MITSUNARI Shigeo
Cybozu Tech Conference 2016 バグの調べ方
Cybozu Tech Conference 2016 バグの調べ方
MITSUNARI Shigeo
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみた
MITSUNARI Shigeo
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
MITSUNARI Shigeo
SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話
LINE Corporation
Recommandé
暗号技術入門
暗号技術入門
MITSUNARI Shigeo
バックドア耐性のあるパスワード暗号化の提案
バックドア耐性のあるパスワード暗号化の提案
MITSUNARI Shigeo
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
MITSUNARI Shigeo
BLS署名の実装とその応用
BLS署名の実装とその応用
MITSUNARI Shigeo
Cybozu Tech Conference 2016 バグの調べ方
Cybozu Tech Conference 2016 バグの調べ方
MITSUNARI Shigeo
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみた
MITSUNARI Shigeo
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
MITSUNARI Shigeo
SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話
LINE Corporation
Node-v0.12のTLSを256倍使いこなす方法
Node-v0.12のTLSを256倍使いこなす方法
shigeki_ohtsu
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
MITSUNARI Shigeo
SSL/TLSの基礎と最新動向
SSL/TLSの基礎と最新動向
shigeki_ohtsu
私とOSSの25年
私とOSSの25年
MITSUNARI Shigeo
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
10分で作るクラスライブラリ
10分で作るクラスライブラリ
_norin_
Verilator勉強会 2021/05/29
Verilator勉強会 2021/05/29
ryuz88
HTTP/2, QUIC入門
HTTP/2, QUIC入門
shigeki_ohtsu
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
Rust で RTOS を考える
Rust で RTOS を考える
ryuz88
Slaesforce TLS1.0 無効化にあたって
Slaesforce TLS1.0 無効化にあたって
Hiroyuki Sawano
サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)
snicker_jp
OSC2017Hokkaido
OSC2017Hokkaido
slankdev
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
uchan_nos
Javascript で暗号化
Javascript で暗号化
suno88
Reconf 201506
Reconf 201506
Takefumi MIYOSHI
いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)
いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)
Kenji Urushima
Richard high performance fuzzing ja
Richard high performance fuzzing ja
PacSecJP
プロフェッショナルSSL/TLS 1.2章
プロフェッショナルSSL/TLS 1.2章
MITSUNARI Shigeo
OSC名古屋2015をネタにLinuxユーザの マーケットリサーチを試してみた Market Research about Linux users on...
OSC名古屋2015をネタにLinuxユーザの マーケットリサーチを試してみた Market Research about Linux users on...
Netwalker lab kapper
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Masayuki Nii
クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術
MITSUNARI Shigeo
Contenu connexe
Tendances
Node-v0.12のTLSを256倍使いこなす方法
Node-v0.12のTLSを256倍使いこなす方法
shigeki_ohtsu
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
MITSUNARI Shigeo
SSL/TLSの基礎と最新動向
SSL/TLSの基礎と最新動向
shigeki_ohtsu
私とOSSの25年
私とOSSの25年
MITSUNARI Shigeo
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
10分で作るクラスライブラリ
10分で作るクラスライブラリ
_norin_
Verilator勉強会 2021/05/29
Verilator勉強会 2021/05/29
ryuz88
HTTP/2, QUIC入門
HTTP/2, QUIC入門
shigeki_ohtsu
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
Rust で RTOS を考える
Rust で RTOS を考える
ryuz88
Slaesforce TLS1.0 無効化にあたって
Slaesforce TLS1.0 無効化にあたって
Hiroyuki Sawano
サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)
snicker_jp
OSC2017Hokkaido
OSC2017Hokkaido
slankdev
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
uchan_nos
Javascript で暗号化
Javascript で暗号化
suno88
Reconf 201506
Reconf 201506
Takefumi MIYOSHI
いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)
いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)
Kenji Urushima
Richard high performance fuzzing ja
Richard high performance fuzzing ja
PacSecJP
プロフェッショナルSSL/TLS 1.2章
プロフェッショナルSSL/TLS 1.2章
MITSUNARI Shigeo
OSC名古屋2015をネタにLinuxユーザの マーケットリサーチを試してみた Market Research about Linux users on...
OSC名古屋2015をネタにLinuxユーザの マーケットリサーチを試してみた Market Research about Linux users on...
Netwalker lab kapper
Tendances
(20)
Node-v0.12のTLSを256倍使いこなす方法
Node-v0.12のTLSを256倍使いこなす方法
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
SSL/TLSの基礎と最新動向
SSL/TLSの基礎と最新動向
私とOSSの25年
私とOSSの25年
TLS, HTTP/2演習
TLS, HTTP/2演習
10分で作るクラスライブラリ
10分で作るクラスライブラリ
Verilator勉強会 2021/05/29
Verilator勉強会 2021/05/29
HTTP/2, QUIC入門
HTTP/2, QUIC入門
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Rust で RTOS を考える
Rust で RTOS を考える
Slaesforce TLS1.0 無効化にあたって
Slaesforce TLS1.0 無効化にあたって
サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)
OSC2017Hokkaido
OSC2017Hokkaido
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
Javascript で暗号化
Javascript で暗号化
Reconf 201506
Reconf 201506
いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)
いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)
Richard high performance fuzzing ja
Richard high performance fuzzing ja
プロフェッショナルSSL/TLS 1.2章
プロフェッショナルSSL/TLS 1.2章
OSC名古屋2015をネタにLinuxユーザの マーケットリサーチを試してみた Market Research about Linux users on...
OSC名古屋2015をネタにLinuxユーザの マーケットリサーチを試してみた Market Research about Linux users on...
Similaire à ブラウザで動く準同型暗号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Masayuki Nii
クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術
MITSUNARI Shigeo
第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1
tzm_freedom
使いたくなるクラウド、選べるクラウド!
使いたくなるクラウド、選べるクラウド!
Kazumi IWANAGA
Micronaut on Azure 試してみた
Micronaut on Azure 試してみた
拓将 平林
IoT Technologies
IoT Technologies
Yuta Takahashi
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記
Yoshiyuki Nakamura
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Kengo Suzuki
Webクローリング&スクレイピングの最前線 公開用
Webクローリング&スクレイピングの最前線 公開用
Lumin Hacker
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
Yuto Takei
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
MITSUNARI Shigeo
Azureの上におとりを置いて、世界中から攻撃される様子を観察した話
Azureの上におとりを置いて、世界中から攻撃される様子を観察した話
Ryuki Yoshimatsu
Gpuクラスタクラウドによる暗号解析
Gpuクラスタクラウドによる暗号解析
Jun Morimoto
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )
Akira Kanaoka
Hacking Robotics
Hacking Robotics
Kensei Demura
OSS脆弱性スキャナー開発を始めた件について
OSS脆弱性スキャナー開発を始めた件について
ssuser6c19e1
俺のセキュリティを超えてゆけ
俺のセキュリティを超えてゆけ
Tsukasa Kato
[Cloud OnAir] クラウド移行でここは外せない絶対条件、Google Cloud Platform のセキュリティについて全て話します!(LI...
[Cloud OnAir] クラウド移行でここは外せない絶対条件、Google Cloud Platform のセキュリティについて全て話します!(LI...
Google Cloud Platform - Japan
『プロフェッショナルSSL/TLS』読書会5章
『プロフェッショナルSSL/TLS』読書会5章
MITSUNARI Shigeo
社内勉強会 20120518
社内勉強会 20120518
yoshinori matsumoto
Similaire à ブラウザで動く準同型暗号
(20)
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術
第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1
使いたくなるクラウド、選べるクラウド!
使いたくなるクラウド、選べるクラウド!
Micronaut on Azure 試してみた
Micronaut on Azure 試してみた
IoT Technologies
IoT Technologies
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Webクローリング&スクレイピングの最前線 公開用
Webクローリング&スクレイピングの最前線 公開用
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
Azureの上におとりを置いて、世界中から攻撃される様子を観察した話
Azureの上におとりを置いて、世界中から攻撃される様子を観察した話
Gpuクラスタクラウドによる暗号解析
Gpuクラスタクラウドによる暗号解析
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )
Hacking Robotics
Hacking Robotics
OSS脆弱性スキャナー開発を始めた件について
OSS脆弱性スキャナー開発を始めた件について
俺のセキュリティを超えてゆけ
俺のセキュリティを超えてゆけ
[Cloud OnAir] クラウド移行でここは外せない絶対条件、Google Cloud Platform のセキュリティについて全て話します!(LI...
[Cloud OnAir] クラウド移行でここは外せない絶対条件、Google Cloud Platform のセキュリティについて全て話します!(LI...
『プロフェッショナルSSL/TLS』読書会5章
『プロフェッショナルSSL/TLS』読書会5章
社内勉強会 20120518
社内勉強会 20120518
Plus de MITSUNARI Shigeo
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
MITSUNARI Shigeo
暗認本読書会13 advanced
暗認本読書会13 advanced
MITSUNARI Shigeo
暗認本読書会12
暗認本読書会12
MITSUNARI Shigeo
暗認本読書会11
暗認本読書会11
MITSUNARI Shigeo
暗認本読書会10
暗認本読書会10
MITSUNARI Shigeo
暗認本読書会9
暗認本読書会9
MITSUNARI Shigeo
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
MITSUNARI Shigeo
暗認本読書会8
暗認本読書会8
MITSUNARI Shigeo
暗認本読書会7
暗認本読書会7
MITSUNARI Shigeo
暗認本読書会6
暗認本読書会6
MITSUNARI Shigeo
暗認本読書会5
暗認本読書会5
MITSUNARI Shigeo
暗認本読書会4
暗認本読書会4
MITSUNARI Shigeo
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
MITSUNARI Shigeo
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
MITSUNARI Shigeo
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
MITSUNARI Shigeo
楕円曲線と暗号
楕円曲線と暗号
MITSUNARI Shigeo
HPC Phys-20201203
HPC Phys-20201203
MITSUNARI Shigeo
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介
MITSUNARI Shigeo
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
MITSUNARI Shigeo
Plus de MITSUNARI Shigeo
(20)
暗号技術の実装と数学
暗号技術の実装と数学
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
暗認本読書会13 advanced
暗認本読書会13 advanced
暗認本読書会12
暗認本読書会12
暗認本読書会11
暗認本読書会11
暗認本読書会10
暗認本読書会10
暗認本読書会9
暗認本読書会9
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
暗認本読書会8
暗認本読書会8
暗認本読書会7
暗認本読書会7
暗認本読書会6
暗認本読書会6
暗認本読書会5
暗認本読書会5
暗認本読書会4
暗認本読書会4
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
楕円曲線と暗号
楕円曲線と暗号
HPC Phys-20201203
HPC Phys-20201203
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
Dernier
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Dernier
(12)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
論文紹介: 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
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
ブラウザで動く準同型暗号
1.
ブラウザで動く準同型暗号 2017/10/18 emscripten night#5 光成滋生(@herumi)
2.
• サイボウズ・ラボで暗号とセキュリティ関係のR&D • バックアップシステムWalB(https://github.com/walb-linux) •
@IT クラウド時代の暗号化技術論連載2015 • Microsoft MVP Developer Security 2015~ • 『パターン認識と機械学習の学習普及版』暗黒通信団 • よく使う言語はC++/x64アセンブラ • https://github.com/herumi/ • JavaScriptは素人… 自己紹介 2 / 13
3.
• そもそも暗号化とは • 秘密の情報を他人に読めないようにすること •
暗号文はホワイトノイズと区別できない 準同型暗号の前に 秘密の文章 3 / 13
4.
• サーバから見るとディスクを食うだけのゴミデータ • クラウドのCPUパワーを使えない •
安全性と利便性のジレンマ • クラウドに暗号化したまま処理させたい! クラウドに暗号文をアップロードすると 4 / 13
5.
• 暗号化したまま足し算や掛け算ができる暗号 • クラウドはカプセルの中を見ずに(復号せずに)計算 •
今回は内積(𝑥1 𝑦1 + ⋯ + 𝑥 𝑛 𝑦𝑛)を計算できる暗号 準同型暗号(Homomorphic Encryption) +×1 3 42 × 14= 5 / 13
6.
• 『クラウドを支えるこれからの暗号技術』を見てね そんなことできるの?と思ったら 6 /
13
7.
• 統計データの計算 • データの平均、分散、相関 •
個人情報を隠したまま喫煙者と肺癌患者の関係 • ビールを買う人とおつまみを買う人の相関 • 最小二乗法 • ベクトルのコサイン類似度 • ニューラルネットの畳み込み etc. 内積を計算できたら何がうれしい? 名前 煙草 ビール あられ 肺癌 ?さん ? ? ? ? ?さん ? ? ? ? ?さん ? ? ? ? ?さん ? ? ? ? 喫煙 禁煙 合計 肺癌になる 72 42 114 ならない 28 58 86 合計 100 100 200 個人情報を 秘匿しつつ集計 7 / 13
8.
暗号化したまま内積を求めるデモ https://herumi.github.io/mcl/demo/she2.html (https://herumi.github.io/mcl/demo/she-ja.html 日本語版)
9.
• https://github.com/herumi/mcl • 高速で汎用的なペアリング演算 •
Windows/Linux/OS X • x86/x64/ARM/ARM64対応 準同型暗号ライブラリmcl ペアリング 楕円曲線 準同型暗号 有限体 多倍長演算 Xbyak ; x64 LLVM;ARM64 etc. GMP Vint ; WASM WASMのために今回追加 mclの階層構造 9 / 13
10.
• 多倍長演算にどのバックエンドを使う? • Xbyak(https://github.com/herumi/xbyak) •
C++用x86/x64専用JITアセンブラ • Intelの機械学習・深層学習ライブラリのJIT部分で利用される • 最速だが(もちろん)今回は使えない • GMP(https://gmplib.org/) • GNUの広く使われている多倍長ライブラリ • アセンブリコード部分は使えない • Cのみでbuildしたが動かなかった(詳細未調査) mclをWASMに対応させるまで 10 / 13
11.
• mclはLLVM IR(LLVMのアセンブリ言語)で 記述された多倍長演算ルーチンを持っている •
(高速)Xbyak > LLVM > GMP > Vint(低速) • -march=wasm32で楽勝と思って始めた数カ月前 • llcのWASM出力は64 bitを越えるレジスタに対応してなかった • (注意)一昨日、最新版で試したら対応したっぽい? • 仕方がない、WASMを手書きか? LLVM Unsupported: %z = mul i128 %x, %y LLVM ERROR: Binary operator type not yet supported for integer types larger than 64 bits 11 / 13
12.
• キャリー演算が無い • キャリー
: 整数x, yを足したときに繰り上がりを示すフラグ • 無いと多倍長演算が辛い • 64bit x 64bit → 128bit整数演算命令が無い • 64bit x 64bit → (下位)64bitはあるが 乗算にかかるコストが全然違う • それなら手書きWASMでがんばらず、 C++で書いても速度はあまり変わらないのでは • Vint(簡易多倍長整数ライブラリ)を作成 WASMの不満点 12 / 13
13.
• ペアリング演算(回数/sec)on Core
i7-6700 3.4GHz • WASMはnative(0.3msec)の10倍程度の遅さ • それでも3msecなので実用できるかも • それよりメモリがネックか ベンチマーク WASM Vint wo/mul Vint w/mul Xbyak Xbyak Vint w/mul ; 64x64→128 mul Vint wo/mul ; 64x64→64 mul WASM ; Vint on Firefox fast 13 / 13
Télécharger maintenant