基于编码的密码方案:McEliece、Niederreiter

McEliece PKC

( n , k ) q (n,k)_q (n,k)q线性码 C \mathscr C C可以纠正 t ≪ n t \ll n tn位错, G ∈ G F ( q ) k × n G \in GF(q)^{k \times n} GGF(q)k×n是生成矩阵,令 D C D_\mathscr C DC是有效解码算法,令 G J ∈ G F ( q ) k × k G_J \in GF(q)^{k \times k} GJGF(q)k×k G G G的可逆子方阵。

  • G e n Gen Gen:令 S ∈ G F ( q ) k × k S \in GF(q)^{k \times k} SGF(q)k×k是非奇异混淆矩阵(可逆方阵), P ∈ G F ( q ) n × n P \in GF(q)^{n \times n} PGF(q)n×n是置换矩阵(每行每列恰存在一个 1 1 1,其余皆 0 0 0),输出私钥 ( S , D C , P ) (S,D_\mathscr C,P) (S,DC,P),输出公钥 ( G ′ : = S G P ,   t ) (G':=SGP,\, t) (G:=SGP,t)

  • E n c Enc Enc:输入明文 m ∈ G F ( q ) k m \in GF(q)^k mGF(q)k,随机选择 e ∈ G F ( q ) n e \in GF(q)^n eGF(q)n且保证 w t ( e ) = t wt(e)=t wt(e)=t,输出密文
    c = m G ′ + e ∈ G F ( q ) n c = mG'+e \in GF(q)^n c=mG+eGF(q)n

  • D e c Dec Dec:输入密文 c c c,首先计算
    c P − 1 = ( m S ) G + e P − 1 cP^{-1} = (mS)G + eP^{-1} cP1=(mS)G+eP1
    然后纠错 ( m S ) G = D C ( c P − 1 ) (mS)G = D_\mathscr C(cP^{-1}) (mS)G=DC(cP1),并恢复数据字 m S = D C ( c P − 1 ) ⋅ G J mS = D_\mathscr C(cP^{-1}) \cdot G_J mS=DC(cP1)GJ,最后输出明文
    m = D C ( c P − 1 ) ⋅ G J ⋅ S − 1 m = D_\mathscr C(cP^{-1}) \cdot G_J \cdot S^{-1} m=DC(cP1)GJS1

格(lattice)上的应用:基于BDD问题GGH加密方案

  • G e n Gen Gen:格 L ⊂ R n L \subset R^n LRn,公钥是“坏”格基 B B B,私钥是“好”格基 S S S
  • E n c Enc Enc:利用格基 B B B,将消息m编码到随机格点 v ∈ L v \in L vL(例如 v = B m v=Bm v=Bm),添加小的错误 e ∈ R n e \in R^n eRn,输出 c = v + e c=v+e c=v+e
  • D e c Dec Dec:利用格基 S S S,从 c c c中恢复 v v v纠错),然后解码得到消息m

Niederreiter PKC

( n , k ) q (n,k)_q (n,k)q线性码 C \mathscr C C可以纠正 t ≪ n t \ll n tn位错,记 r = n − k r=n-k r=nk H ∈ G F ( q ) r × n H \in GF(q)^{r \times n} HGF(q)r×n是校验矩阵,令 D C D_\mathscr C DC是有效解码算法。

  • G e n Gen Gen:令 S ∈ G F ( q ) k × k S \in GF(q)^{k \times k} SGF(q)k×k是非奇异混淆矩阵(可逆方阵), P ∈ G F ( q ) n × n P \in GF(q)^{n \times n} PGF(q)n×n是置换矩阵(每行每列恰存在一个 1 1 1,其余皆 0 0 0),输出私钥 ( S , D C , P ) (S,D_\mathscr C,P) (S,DC,P),输出公钥 ( H ′ : = S H P ,   t ) (H':=SHP,\, t) (H:=SHP,t)

  • E n c Enc Enc:输入明文 m ∈ G F ( q ) l m \in GF(q)^l mGF(q)l,做可逆映射 ϕ ( m ) = e ∈ G F ( q ) n \phi(m)=e \in GF(q)^n ϕ(m)=eGF(q)n且保证 w t ( e ) = t wt(e)=t wt(e)=t,输出密文
    c = H ′ e T ∈ G F ( q ) r c = H'e^T \in GF(q)^r c=HeTGF(q)r

  • D e c Dec Dec:输入密文 c c c,首先计算校验子
    S − 1 c = H ( P e T ) S^{-1}c = H(Pe^T) S1c=H(PeT)
    然后做校验子解码 P e T = D C ( S − 1 c ) Pe^T = D_\mathscr C(S^{-1}c) PeT=DC(S1c),并做逆置换得到错误 e e e,最后输出明文
    m = ϕ − 1 ( P − 1 D C ( S − 1 c ) ) m = \phi^{-1}(P^{-1} D_\mathscr C(S^{-1}c)) m=ϕ1(P1DC(S1c))

安全性

置换等价(permutation-equivalent):我们说两个线性码 C , C ′ C,C' C,C是置换等价的,如果存在一个置换 σ \sigma σ,使得
C ′ = σ ( C ) = { ( x σ − 1 ( i ) ) i ∈ I : ( x i ) i ∈ I ∈ C } C'=\sigma(C)=\{ (x_{\sigma^{-1}(i)})_{i \in I}: (x_i)_{i \in I} \in C \} C=σ(C)={(xσ1(i))iI:(xi)iIC}
McEliece问题:对于某类线性码 C \mathscr C C,给定公钥 ( G ′ , t ) (G',t) (G,t)以及密文 c ∈ G F ( q ) n c \in GF(q)^n cGF(q)n,寻找唯一的明文 m ∈ G F ( q ) k m \in GF(q)^k mGF(q)k,使得 w t ( m G ′ − c ) = t wt(mG'-c)=t wt(mGc)=t

很明显,如果可以求解 Syndrome Decoding 问题,那么我们就解决了上述问题。但反之不正确,因为 C ′ = < G ′ > \mathscr C' = <G'> C=<G>并非随机码,而是一个已知码类的置换等价,解决 McEliece 问题就可以在特定的码类里解决一般解码问题。我们假设 McEliece 问题属于 N P NP NP类。

Code Equivalence:给定 G F ( q ) GF(q) GF(q)上两个生成矩阵 G 1 , G 2 G_1,G_2 G1,G2,判断分别由它们张成的线性码 C 1 , C 2 C_1,C_2 C1,C2是否是置换等价的。

有文章证明,上述的码等价问题比图同构问题(graph isomorphism problem)更难,同时如果 P ≠ N P P \neq NP P=NP则它不属于 N P C NPC NPC类。

所有的拥有有效纠错算法的码都有良好的代数结构。对于大多数码,关于正规生成矩阵的知识(the knowledge of the canonical generator matrix)将导致一个有效的纠错算法(canonical generator的定义作者没找到╭(╯^╰)╮)。在 McEliece PKC 中的置换矩阵 P P P用于隐藏线性码的代数结构,因为大多数码的结构与位置有关。

Niederreiter PKC 是McEliece PKC的对偶变体(dual variant),两者的安全性等价,一个敌手如果可以攻破其中一个那么就同时攻破另一个。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
信息论与编码定理是由克劳德·香农于1948年提出的一种研究信息传输和数据压缩的数学理论。它主要研究如何在传输信息过程中,保证信息的可靠性和高效性。 信息论的核心概念之一是信息熵,它是表示信息的不确定性的度量。信息熵越大,表示信息的不确定性越高,需要更多的信息来表示;反之,信息熵越小,需要较少的信息来表示。根据信息熵的概念,我们可以推导出信息的压缩算法,即通过一定的编码方式,将较多的信息用较少的编码量表示,从而实现数据压缩。 编码定理是信息论的重要成果之一,其中最为著名的是香农编码定理。它指出,对于均匀分布的离散源,存在一种编码方式,使得编码时所用的平均码长非常接近信息熵。这意味着,在传输大量数据时,我们可以通过使用更高效的编码方式,来减少传输的数据量。 McEliece密码算法是一种公钥密码体制,由罗伯特·J·麦克利斯于1978年提出。它基于一个难解的信息论问题,即线性码译码问题,并运用了Goppa码的概念。McEliece密码算法相对于其他公钥密码体制,具有较高的抗量子攻击能力和较好的计算复杂性。 综上所述,信息论与编码定理研究的是信息的传输、压缩及编码方式与效率的问题。而McEliece密码算法则是应用了信息论的相关概念来设计一种抗量子密码体制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值