EPOC (英: Efficient Probabilistic Public Key Encryption) とは、1998年4月にNTT情報通信研究所の岡本龍明と内山成憲によって発表された公開鍵暗号方式であり、同一の平文について異なる暗号文を生成できる確率的暗号である。 鍵生成、暗号化、復号の3つのアルゴリズムで定義される。 EPOCはランダムオラクルモデルに基づいている。このモデルの中で、真にランダムなハッシュ関数を用いることで、EPOCの根幹を成す関数が安全な暗号化の体系となる。結果として生じるその体系は選択暗号文攻撃に対して意味的に安全である。EPOCの根幹を成すものはOU(岡本・内山)関数であり、OU関数を反転することは、公開鍵を素因数分解するのと同じくらい難しいことが証明されている。 EPOCには3つのバージョンがある。 EPOC-1はキー配布のために、EPOC-2およびEPOC-3はキー配布と暗号化されたデータ転送の両方のために、設計されている。
暗号方式
鍵生成
同じサイズの2つの素数 p {\displaystyle p} と q {\displaystyle q} を秘密鍵とする。
合成数 n = p 2 q {\displaystyle n=p^{2}q} と正整数 g {\displaystyle g} ( n {\displaystyle n} と互いに素な剰余類群 ( Z / n Z ) ∗ {\displaystyle \left(\mathbb {Z} /n\mathbb {Z} \right)^{*}} の元)を公開鍵とする。
暗号化
平文を m ( 0 < m < p ) {\displaystyle m\left(0<m<p\right)} 、乱数を r ( 0 < r < n ) {\displaystyle r\left(0<r<n\right)} とする時、暗号文を C = g m + n r mod n {\displaystyle C=g^{m+nr}{\bmod {\,}}n} とする。
復号
C p = C p − 1 mod p 2 {\displaystyle C_{p}=C^{p-1}{\bmod {\,}}p^{2}} 、同様に g p = g p − 1 mod p 2 {\displaystyle g_{p}=g^{p-1}{\bmod {\,}}p^{2}} とし、フェルマー商を求める関数を L ( x ) = x − 1 p {\displaystyle L(x)={\frac {x-1}{p}}} とする時、暗号文 C {\displaystyle C} を m = L ( C p ) L ( g p ) mod p {\displaystyle m={\frac {L\left(C_{p}\right)}{L\left(g_{p}\right)}}{\bmod {\,}}p} によって復号する。
安全性.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}が望まれています。 (2019年8月)
バージョン
EPOC-1は、一方向のトラップドア関数とランダム関数(ハッシュ関数)を使用。
EPOC-2は、一方向のトラップドア関数、2つのランダム関数(ハッシュ関数)、および対称キー暗号化(たとえば、ワンタイムパディングとブロック暗号)を使用。
EPOC-3は、岡本内山一方向トラップドア関数と2つのランダム関数(ハッシュ関数)、およびワンタイムパッドなどの対称暗号化方式、または従来のブロック暗号を使用。
参考文献
“公開鍵暗号方式EPOCについて” (PDF). 日本銀行金融研究所 (1998年8月). 2022年12月24日閲覧。
表
話
編
歴
表
話
編
歴
暗号
暗号史
暗号解読
Cryptography portal
en:Outline of cryptography
共通鍵暗号
ブロック暗号
ストリーム暗号
暗号利用モード
公開鍵暗号
暗号学的ハッシュ関数
メッセージ認証コード
認証付き暗号
乱数生成器
ステガノグラフィー
カテゴリ