構造の数理 レポート問題 提出場所:講義あるいは試験のとき 担当:桔梗 宏孝 提出期限:2014 年 7 月 30 日 (水) この用紙に記入して,3 ページを綴じて提出すること。可能なら両面印刷で 2 枚にしてください。 学 籍 番 号 氏 名 問 1. 以下の空欄に 0∼9 の数字を埋めて,正しい議論になるよ (iii) 2 つの素数 41 と 101 を利用した RSA 暗号の鍵を作る。 うに完成せよ。ただし,右肩に同じ記号 (カタカナ) のある枠に 公開鍵を 17 とする。41 × 101 = 4141 なので,0 ≤ x < 4141 は同じ数字を入れること。 に対し,y = x17 mod 4141 が x の暗号である。この暗号の復 (i) 35−1 mod 97 をユークリッドの互除法を使って求める。 号のための秘密鍵を求める。 41 − 1 = 40 と 101 − 1 = 100 の最小公倍数は 200 なので, 35−1 mod 97 とは 35x ≡ 1 (mod 97) かつ 1 ≤ x < 97 となる e = 17−1 mod 200 を求めればよい。これは,次のように求 整数 x のことである。 まる。 次の式において右端は理由である。たとえば,(1) − (2) × 2 は, (2) の両辺の 2 倍をそれぞれ (1) の対応する辺から引いて得ら れる合同式であることを表わしている。 (1) 97 ≡ 0 · 35 (mod97) (2) 35 ≡ 1 · 35 (mod97) (3) 27 ≡ −2 · 35 (mod97) (4) 8 ≡ 3 · 35 (mod97) ≡ − (5) · 35 (mod97) (6) 2 ≡ 25 · 35 (mod97) (7) 1 ≡ − · 35 (mod97) ≡ · 35 (mod97) (1) − (2) × 2 1= ア イ ア イ · 35 − 200 ≡ 0 · 17 (mod200) (2) 17 ≡ 1 · 17 (mod200) (3) 13 ≡ −11 · 17 (mod200) (4) 4 ≡ · 17 (mod200) (2) − (3) (5) 1 ≡ · 17 (mod200) (3) − (4) × (2) − (3) − ≡ · 17 (mod200) (3) − (4) × 得られた秘密鍵 e に対し,y ≡ x (mod 4141) を示せばこの方 (4) − (5) × 2 法で復号できることがわかる。 (5) − (6) フェルマーの小定理より,素数 p に対し x ̸≡ 0 (mod p) なら ば xp−1 ≡ 1 (mod p) なので, である。すると,x ̸≡ 0 (mod 101) のとき · 97 y e = x17e =x ウ (ii) x を整数とする。 { x ≡ a (mod 4) = (x ≡1 x ≡ b (mod 25) b (mod 100) エ ·x · x (mod 101) y e = x17e ≡ 0 ≡ x (mod 101) である。これは次の議論からわかる。上の式を変形して, なので,いつでも 25x ≡ 25a (mod 100) · · · (1) 4x ≡ 4b (mod 100) y e ≡ x (mod 101) · · · (2) である。同様に y e ≡ x (mod 41) も示せる。 を考えると上の式を得る。また,逆は明 y e − x は 101 でも 41 でも割り切れるので, らかである。 x ≡ 1 (mod 4) x ≡ 12 (mod 25) 0 ≤ x < 100 を解くと,x = ウ である。x ≡ 0 (mod 101) のときも a− とし,(1) − (2) × エ ) ≡ x (mod 101) の必要十分条件は, { ≡ 1 (mod 101) x ̸≡ 0 (mod 101) ならば x , である。 x≡ (1) − (2) × 11 e よって, 35−1 mod 97 = (1) y e − x ≡ 0 (mod 4141) である。 である。 1 学籍番号 事実 1. 氏 名 誤り箇所が 2 つ以内で, C ≡ (Ay + 1)S(y) (mod y 4 ) (A, C ∈ F8 ) 2 3 4 5 6 問 2. 以下の空欄を 0, 1, 2, 3, 4, 5, 6, α, α , α , α , α , α の が成り立つとき, いずれかで埋め,正しい議論になるように完成せよ。ただし, E(y) = ea y a (誤り箇所は 1 つ), 右肩に同じ記号 (カタカナ) のある枠には同じものを入れるこ C = ea αa ,A = αa と書ける。 と。また,指示があるものは指示に従うこと。 さて,上の Reed-Solomon 符号を受信したところ, f1 = (α, α, α6 , α, 0, 0, α5 ) 8 元体 F8 = F2 [x]/(1011) = {0, 1, 10, 11, 100, 101, 110, 111} であった。シンドローム多項式の係数を計算すると f1 (α) = α · α6 + α · α5 + α6 · α4 + α · α3 + α5 を考える。1011 は x3 + x + 1 のこと (係数ベクトル) である。 F8 の要素は係数ベクトルで表現された 2 次以下の F2 係数 = 1 + α6 + α3 + α4 + α5 多項式である。和 + は F2 係数多項式としての和 (桁ごとの = 1 + 101 + 11 + 110 + 111 , = mod 2 の和) で,積 · は F2 係数多項式としてかけた後に 1011 2 2 で割った余りをとる演算とする。α = 10 とすると,α のべきは f1 (α ) = α , 次の表で表される。下の段が上の式の値である。 f1 (α3 ) = 1, α2 α α3 α4 α5 α6 f1 (α4 ) = α5 α7 となる。ユークリッドの互除法により,鍵方程式の解を求める。 10 100 11 110 111 101 1 たとえば,α3 = 1000 ≡ 1000 − 1011 ≡ 11 (mod 1011) のよ (1) y 4 ≡ 0 · S(y) (mod y 4 ) うに計算できる。 (2) α5 y 3 + y 2 + α2 y + 原始元 α = 10 を利用した F8 上の誤り訂正能力 2 の Reed- (3) ≡( カ y+ Reed-Solomon 符号 f に対し誤り E が加わって,f1 になった α4 ≡ (α5 y + 1)S(y) (mod y 4 ) とする。 シンドローム多項式 S(y) は次の通りである。 4 3 3 2 事実 1 より,誤り多項式は E(y) = ea y a と書け,a = 2 S(y) = f1 (α )y + f1 (α )y + f1 (α )y + f1 (α) また,事実 1 より,α4 = ea αa なので,ea = f =( Ω(y) ≡ Λ(y)S(y) (mod y 4 ) , , , と推測される。 deg Ω(y) < deg Λ(y) ≤ 2 Ω(y) と Λ(y) は互いに素 この鍵方程式の解は定数倍を除いて一意的である。 さて,E(y) の y a の係数が ea ̸= 0 だったとする。 Sa (y) = ea αa (1 + αa y + α2a y 2 + α3a y 3 ) とおいて両辺を αa y 倍すると αa ySa (y) = ea αa (αa y + α2a y 2 + α3a y 3 + α4a y 4 ) 両辺をそれぞれ引くと オ ) となるので ea αa ≡ (1 − αa y)Sa (y) (mod y 4 ). に当てはまる式を次の中から選び,○で囲め。 α y α4a y 4 y3 である。し たがって,もとの符号 f は Ω(y),Λ(y) を求めればよい。 (1 − αa y)Sa (y) = ea αa (1 − で ある。 = E(α4 )y 3 + E(α3 )y 2 + E(α2 )y + E(α). 誤り位置が 2 箇所以内の誤り訂正には,次の鍵方程式の解 3a 3 ) · S(y) (mod y 4 ) (3) は (1) − (2) × 多項式 で得られる。 )−1 ( カ を (3) の両辺にかけると Solomon 符号を考える。 オ ≡ 1 · S(y) (mod y 4 ) y4 (i) 誤り箇所が 1 つの場合,E(y) = ea y a ,S(y) = Sa (y) と書 けるので,鍵方程式の解は定数倍を除いて ea αa ≡ (1 + αa y)S(y) (mod y 4 ) だけである。(F8 では −1 = 1 であることも使っている。) (問 2 は次ページに続く。) 2 , , , ) 学籍番号 氏 名 問 2 の続き (ii) 誤り箇所が 2 つの場合,E(y) = ea y a + eb y b , S(y) = Sa (y) + Sb (y) と書ける。 ea αa ≡ (1 + αa y)Sa (y) (mod y 4 ), eb αb ≡ (1 + αb y)Sb (y) (mod y 4 ) より, ea αa (αb y + 1) + eb αb (αa y + 1) ≡ (αa y + 1)(αb y + 1)S(y) (mod y 4 ) 鍵方程式の解は定数倍を除いてこれだけである。 事実 2. 誤り箇所が 2 つ以内で, Cy + D ≡ (Ay 2 + By + 1)S(y) (mod y 4 ) A, B, C, D ∈ F8 ,Cy + D と Ay 2 + By + 1 は互いに素 が成り立つとき, E(y) = ea y a + eb y b (誤り箇所は 2 つ), Cy + D = ea αa (αb y + 1) + eb αb (αa y + 1), Ay 2 + By + 1 = (αa y + 1)(αb y + 1) と書ける。 再び Reed-Solomon 符号を受信したところ, f1 = (α, 1, α6 , 0, 0, 0, α5 ) であった。シンドローム多項式の係数を計算すると f1 (α) = α,f1 (α2 ) = 0,f1 (α3 ) = α2 ,f1 (α4 ) = α4 である。 ユークリッドの互除法により,鍵方程式の解を求める。 (1) y 4 ≡ 0 · S(y) (mod y 4 ) (2) α4 y 3 + α2 y 2 + α ≡ 1 · S(y) (mod y 4 ) y2 + (3) y+ ≡( ) · S(y) (mod y 4 ) y+ ((3) は (1) − (2) × 多項式 による) (4) ( ≡( y+ キ y2 + y+ キ ) · S(y) (mod y 4 ) ((4) は (2) − (3) × 多項式 による) )−1 を (4) の両辺にかけると α3 y + α ≡ (αy 2 + α2 y + 1)S(y) (mod y 4 ) を得る。y = α2 とすると,αy 2 + α2 y + 1 = 0 である。 よって, αy 2 + α2 y + 1 = ( y + 1)( a y + 1) b 事実 2 より,E(y) = ea y + eb y ,a = 3 a b b ,b = , a α y + α = ea α (α y + 1) + eb α (α y + 1) と書ける。よって, E(y) = である。(E(y) を具体的な式で書け。) 以上 3
© Copyright 2024 ExpyDoc