群论在密码学中的应用.pptVIP

  • 136
  • 0
  • 约9.96千字
  • 约 56页
  • 2019-08-20 发布于江西
  • 举报
群论在密码学中的应用 一、基本概念 二、RSA密码体制 三、ElGamal密码体制 四、Diffie-Hellman密钥交换 五、ECC 密码体制 一、基本概念 双(公)钥密码体制于1976年由W. Diffie和 M. Hellman提出,同时R. Merkle也独立提出了这一体制。可用于保密通信,也可用于数字签字。这一体制的出现在密码学史上是划时代的事件,它为解决计算机信息网中的安全提供了新的理论和技术基础。 自1976年以来,双钥体制有了飞速发展,不仅提出了多种算法,而且出现了不少安全产品。本章将介绍其中的一些主要体制。包括可用于密钥分配、加解密的双钥算法。一个好的系统,不仅算法要好,还要求能与其它部分,如协议等进行有机的组合。 单向函数 1. 双钥密码体制的基本概念 双钥密钥保密、认证系统的的安全性主要取决于构造双钥算法所依赖的数学问题。要求加密函数具有单向性,即求逆的困难性。因此,设计双钥体制的关键是先要寻求一个合适的单向函数。 (1)单向函数 定义 令函数f是集A到集B的映射,以f:A?B表示。若对任意x1?x2,x1, x2?A,有f(x1)?f(x2),则称f为单射。 f为可逆的充要条件是,存在函数g:B ? A,使对所有x?A有g[f(x)]=x。 定义 一个可逆函数f:A?B,若它满足: 1 对所有x?A,易于计算f(x)。 2 对“几乎所有x?A”由f(x)求x“极为困难”,以至于实际上不可能做到,则称f为一单向(One-way)函数。 定义中的“极为困难”是对现有的计算资源和算法而言。 例1 令f是在有限域GF(p)中的指数函数,其中p是大素数,即 y=f(x)=?x 。 式中,x?GF(p),其逆运算是GF(p)中定义的对数运算 x=log??x 0? xp-1 显然,由x求y是容易的,即使当p很大,例如p?2100时也不难实现。为方便计算以下令?=2。所需的计算量为lb p次乘法,存储量为(lb p)2比特,利用高速计算机由x计算?x可在0.1毫秒内完成。但是相对于当前计算GF(p)中对数最好的算法,当p=2100时,以计算指数一样快的计算机进行计算需时约1010.7秒(1年=107.5秒,故约为1600年!其中假定存储量的要求能够满足)。可见,当p很大时,GF(p)中的f(x)=? x,xp-1是个单向函数。 Pohlig和Hellman对(p-1)无大素因子时给出一种快速求对数的算法[Pohlig等1978]。特别是,当p=2n+1时,从?x求x的计算量仅需(log p)2次乘法。对于p=2160,在高速计算机上大约仅需时10毫秒。因此,在这种情况下,f(x)=?x就不能被认为是单向函数。 由上述我们可以得出,当对素数p,且p-1有大的素因子时,GF(p)上的函数f(x)=?x是一个单向函数。寻求在GF(p)上求对数的一般快速算法是当前密码学研究中的一个重要课题。 (2) 陷门单向函数 单向函数是求逆困难的函数,而单向陷门函数(Trapdoor one-way function),是在不知陷门信息下求逆困难的函数,当知道陷门信息后,求逆是易于实现的。这是Diffie和Hellmam[1976]引入的有用概念。 但如何给陷门单向函数下定义则很棘手,因为 (1) 陷门函数其实就不是单向函数,因为单向函数是在任何条件下求逆都是困难的; (2) 陷门可能不止一个,通过试验,一个个陷门就可容易地找到逆。如果陷门信息的保密性不强,求逆也就不难。 定义2 陷门单向函数是一类满足下述条件的单向函数: fz:Az?Bz,z?Z,Z是陷门信息集。 (1) 对所有z?Z,在给定z下容易找到算法使对所有x?A,易于计算fz及其逆。 (2) 如果没有陷门信息z,对“几乎所有”的x?Az,“很难” (“实际上不可能”)从y=Fz(x)算出x。 (3) 对任一z,集Az必须是保密系统中明文集中的一个“方便”集,即便于实现明文到它的

文档评论(0)

1亿VIP精品文档

相关文档