鍵生成
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/08/07 01:23 UTC 版)
「Paillier暗号」の記事における「鍵生成」の解説
二つの大きな素数 p, q をランダムに選び、n = pq とする。 k ∈ Zn を任意に選び、g = 1 + kn mod n2 とする。 公開鍵 pk = (n, g) と秘密鍵 sk = (p, q) を出力する。
※この「鍵生成」の解説は、「Paillier暗号」の解説の一部です。
「鍵生成」を含む「Paillier暗号」の記事については、「Paillier暗号」の概要を参照ください。
鍵生成
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/08/18 14:14 UTC 版)
まず 2つの異なる素数 p と q を用意しその積を n と置く。 そして 0 ≤ B ≤ n-1 の B を選び、これと n を公開鍵(暗号化鍵)とし、p,q を秘密鍵(復号鍵)とする。 このとき p ≡ q ≡ 3 (mod 4) となるように p,q を選ぶ(n をブラム数とする)と復号処理が簡易化される。以下、n はブラム数とする。また、B は単純に 0 とすることもできるため、B を省略する場合もある。
※この「鍵生成」の解説は、「Rabin暗号」の解説の一部です。
「鍵生成」を含む「Rabin暗号」の記事については、「Rabin暗号」の概要を参照ください。
鍵生成
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2016/01/04 10:46 UTC 版)
「Merkle-Hellmanナップサック暗号」の記事における「鍵生成」の解説
n ビットの平文を暗号化するために、まずn 個の数からなる超増加列 w = (w1, w2, ..., wn) を生成する(n はセキュリティパラメータであり、100ビット以上の数にすることが推奨されている)。 次に、整数q を q > を満たすようにランダムに選ぶ。 更に、整数 r を gcd(r,q) = 1 となるようにランダムに選ぶ。 整数q は、q の剰余を取ったときに暗号文が一意に定まるように選ばなければならない。そうしないと二つの平文から同じ暗号文が生成されることになり、復号できなくなる。またr はq と互いに素な整数でなければならない。これは復号時にr の逆元を使うためである。 βi = r wi mod q とし、数列 β = (β1, β2, ..., βn ) を得る。 公開鍵はβ、秘密鍵は(w, q, r )である。
※この「鍵生成」の解説は、「Merkle-Hellmanナップサック暗号」の解説の一部です。
「鍵生成」を含む「Merkle-Hellmanナップサック暗号」の記事については、「Merkle-Hellmanナップサック暗号」の概要を参照ください。
鍵生成
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/02/04 14:30 UTC 版)
ADFGVX暗号の鍵は、換字表(図1,2)と鍵文字(置換鍵を決める合言葉)との2つである。 図1にa〜z、0〜9の36文字をランダムに入れて、換字表を作成する(図2)。 次に鍵文字を決める。今回はweasel(イタチ)を使う。 補足:鍵文字から次のようにして転置鍵を求める。まず、鍵文字から重複している文字を消す。weaselの場合、eはwの次とsの次にあるが、sの次にあるほうが後なので、このeを消す。するとweaslの5文字となる。各文字をアルファベット順に1,2,3...の数字に置き換える。weaslは52143となる。これが転置鍵となる。 実際には、鍵文字は2ダース程度の文字数で、換字表・鍵文字共に毎日に更新されていた。
※この「鍵生成」の解説は、「ADFGVX暗号」の解説の一部です。
「鍵生成」を含む「ADFGVX暗号」の記事については、「ADFGVX暗号」の概要を参照ください。
鍵生成
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/01/02 21:03 UTC 版)
巡回群Gで、位数qが素数であり、かつ q {\displaystyle q} のビット数が k {\displaystyle k} であるものを選ぶ。 Gの生成元 g {\displaystyle g} を選ぶ。 xを { 0 , . . . , q − 1 } {\displaystyle \{0,...,q-1\}} からランダムに選ぶ。 h = g x {\displaystyle h=g^{x}} とする。 ( G , q , g , h ) {\displaystyle (G,q,g,h)} を公開鍵とし、xを秘密鍵とする。 平文空間はGであり、暗号文空間はG2である。
※この「鍵生成」の解説は、「ElGamal暗号」の解説の一部です。
「鍵生成」を含む「ElGamal暗号」の記事については、「ElGamal暗号」の概要を参照ください。
鍵生成
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/05/13 09:27 UTC 版)
「ボネ・リン・シャチャム署名」の記事における「鍵生成」の解説
鍵生成アルゴリズムは、まず、区間[0, r − 1]からランダムな整数 x {\displaystyle x} を選ぶ。秘密鍵(署名鍵)は x {\displaystyle x} である。公開される公開鍵(検証鍵)は g x {\displaystyle g^{x}} である。また、 H : { 0 , 1 } ∗ → G {\displaystyle H:\{0,1\}^{*}\to G} を暗号学的ハッシュ関数とする。
※この「鍵生成」の解説は、「ボネ・リン・シャチャム署名」の解説の一部です。
「鍵生成」を含む「ボネ・リン・シャチャム署名」の記事については、「ボネ・リン・シャチャム署名」の概要を参照ください。
鍵生成
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/12/27 16:43 UTC 版)
「Cramer-Shoup暗号」の記事における「鍵生成」の解説
位数 q {\displaystyle q} の巡回群 G {\displaystyle G} の記述と、その生成元 g 1 , g 2 {\displaystyle g_{1},g_{2}} を生成する。 5つのランダムな値 ( x 1 , x 2 , y 1 , y 2 , z ) {\displaystyle (x_{1},x_{2},y_{1},y_{2},z)} を { 0 , … , q − 1 } {\displaystyle \{0,\ldots ,q-1\}} からランダムに選ぶ。 以下を計算する。 c = g 1 x 1 g 2 x 2 {\displaystyle c=g_{1}^{x_{1}}g_{2}^{x_{2}}} d = g 1 y 1 g 2 y 2 {\displaystyle d=g_{1}^{y_{1}}g_{2}^{y_{2}}} h = g 1 z {\displaystyle h=g_{1}^{z}} 公開鍵は ( c , d , h ) {\displaystyle (c,d,h)} と G , q , g 1 , g 2 {\displaystyle G,q,g_{1},g_{2}} の記述である。秘密鍵は ( x 1 , x 2 , y 1 , y 2 , z ) {\displaystyle (x_{1},x_{2},y_{1},y_{2},z)} である。
※この「鍵生成」の解説は、「Cramer-Shoup暗号」の解説の一部です。
「鍵生成」を含む「Cramer-Shoup暗号」の記事については、「Cramer-Shoup暗号」の概要を参照ください。
鍵生成
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/15 05:03 UTC 版)
p , q {\displaystyle p,q} を異なる2つの素数とし n = p ⋅ q {\displaystyle n=p\cdot q} とする。 ϕ {\displaystyle \phi } をオイラー関数とすると ϕ ( n ) = ( p − 1 ) ⋅ ( q − 1 ) {\displaystyle \phi (n)=(p-1)\cdot (q-1)} となる。 e {\displaystyle e} を ϕ ( n ) {\displaystyle \phi (n)} と素な正整数とすると α ⋅ e + β ⋅ ϕ ( n ) = 1 {\displaystyle \alpha \cdot e+\beta \cdot \phi (n)=1} となる2整数 α , β {\displaystyle \alpha ,\beta } が存在する。 α {\displaystyle \alpha } として1つの正整数 d {\displaystyle d} を選択してそのときの β {\displaystyle \beta } を − x {\displaystyle -x} とすると d ⋅ e = x ⋅ ϕ ( n ) + 1 {\displaystyle d\cdot e=x\cdot \phi (n)+1} となる。ここで d {\displaystyle d} を秘密鍵とし、 n , e {\displaystyle n,e} を公開鍵とする。以下 Z n {\displaystyle {\mathbb {Z}}_{n}} を 0 {\displaystyle 0} 以上 n {\displaystyle n} 未満の整数の集合とする。 ここで、 α ⋅ e + β ⋅ ϕ ( n ) = 1 {\displaystyle \alpha \cdot e+\beta \cdot \phi (n)=1} のとき i {\displaystyle i} を整数とすると ( α + i ⋅ ϕ ( n ) ) ⋅ e + ( β − i ⋅ e ) ⋅ ϕ ( n ) = 1 {\displaystyle (\alpha +i\cdot \phi (n))\cdot e+(\beta -i\cdot e)\cdot \phi (n)=1} であるから α {\displaystyle \alpha } に ϕ ( n ) {\displaystyle \phi (n)} の整数倍を加えたものもあらためて α {\displaystyle \alpha } とできるため、 α {\displaystyle \alpha } として正整数 d {\displaystyle d} を選択できるとした。
※この「鍵生成」の解説は、「RSA暗号」の解説の一部です。
「鍵生成」を含む「RSA暗号」の記事については、「RSA暗号」の概要を参照ください。
鍵生成
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/08/03 03:47 UTC 版)
「Digital Signature Algorithm」の記事における「鍵生成」の解説
鍵生成は2つのフェイズに分けられる。1つ目は他者と共有されるパラメータの選択であり、2つ目は公開鍵および秘密鍵の生成である。
※この「鍵生成」の解説は、「Digital Signature Algorithm」の解説の一部です。
「鍵生成」を含む「Digital Signature Algorithm」の記事については、「Digital Signature Algorithm」の概要を参照ください。
- 鍵生成のページへのリンク