欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    密码学基础3.ppt

    • 资源ID:2627489       资源大小:1.75MB        全文页数:95页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    密码学基础3.ppt

    密码学基础(3),胡建斌 北京大学网络与信息安全研究室 E-mail: hjbininfosec.pku.edu.cn http:/infosec.pku.edu.cn/hjbin,目 录 消息鉴别与散列函数 散列算法 数字签名,消息鉴别与散列函数 Message Authentication and Has Functions,网络通信的攻击威胁,泄露:把消息内容发布给任何人或没有合法密钥的进程 流量分析:发现通信双方之间信息流的结构模式,可以用来确定连接的频率、持续时间长度;还可以发现报文数量和长度等 伪装:从一个假冒信息源向网络中插入消息 内容篡改:消息内容被插入、删除、变换、修改 顺序修改:插入、删除或重组消息序列 时间修改:消息延迟或重放 否认:接受者否认收到消息;发送者否认发送过消息,鉴别和认证,鉴别:authentication 真伪性 (1) A process used to verify the integrity of transmitted data, especially a message 用来验证发送的数据,特别是一个信息的完整性的过程 (2) The act of establishing the identity of users when they start to use the system 在用户开始使用系统时对其身份进行的确认 认证:Certification 资格审查 In computer security, the technical evaluation made as part of and in support of the accreditation process, that established the extent to which a particular computer system or network design and implementation meet prespecified security requirements 计算安全学用语,指为了鉴定一个计算机系统或网络的设计和它提供的手段在多大程度上能满足预定的安全要求而进行的技术评估,鉴别的结构,任何消息认证或数字签名机制可以看到两个层次: 底层必须有某种函数产生一个认证标识:一个用于认证一个报文的值 高层认证协议以底层函数为原语,使接收者完成报文的鉴别,鉴别的目的,信源识别:验证信息的发送者是真正的,而不是冒充的 验证信息的完整性,在传送或存储过程中未被篡改,重放或延迟等,鉴别模型,鉴别系统的组成,鉴别编码器和鉴别译码器可抽象为鉴别函数 一个安全的鉴别系统,需满足 (1)指定的接收者能够检验和证实消息的合法性、真实性和完整性 (2)消息的发送者和接收者不能抵赖 (3)除了合法的消息发送者,其它人不能伪造合法的消息,鉴别函数分类,消息加密:整个消息的密文作为认证标识 消息鉴别码(MAC):公开函数+密钥产生一个固定长度的值作为认证标识 散列函数:一个公开函数将任意长度的消息映射到一个固定长度的哈希值,作为认证标识,鉴别函数分类,消息加密:整个消息的密文作为认证标识 消息鉴别码(MAC):公开函数+密钥产生一个固定长度的值作为认证标识 散列函数:一个公开函数将任意长度的消息映射到一个固定长度的哈希值,作为认证标识,消息加密,对称加密保密和鉴别,A,B,对称加密保密和鉴别,明文M的自动确定,M定义为有意义的明文序列,便于自动识别 强制定义明文的某种结构,这种结构是易于识别但又不能复制且无需借助加密的 可以在加密前对每个报文附加检错码,即所谓的帧检验序列号或检验和FCS 内部差错控制和外部差错控制,差错控制,公钥加密保密性,A,B,公钥加密鉴别和签名,A,B,公钥加密保密、鉴别和签名,A,B,消息鉴别码 MAC,消息鉴别码,使用一个密钥生成一个固定大小的小数据块,并加入到消息中,称MAC, 或密码校验和(cryptographic checksum) 1、接收者可以确信消息M未被改变 2、接收者可以确信消息来自所声称的发送者 3、如果消息中包含顺序码(如HDLC,X.25,TCP),则接收者可以保证消息的正常顺序 MAC函数类似于加密函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要少,消息鉴别,A,B,消息鉴别与保密,鉴别与明文连接,A,B,消息鉴别与保密,鉴别与密文连接,A,B,消息鉴别 VS 常规加密,保密性与真实性是两个不同的概念 根本上,信息加密提供的是保密性而非真实性 加密代价大(公钥算法代价更大) 鉴别函数与保密函数的分离能提供功能上的灵活性 某些信息只需要真实性,不需要保密性 广播的信息难以使用加密(信息量大) 网络管理信息等只需要真实性 政府/权威部门的公告,散列函数 Hash Function,散列函数,H(M): 输入为任意长度的消息M; 输出为一个固定长度的散列值,称为消息摘要(MessageDigest) H(M)是消息M的所有位的函数并提供错误检测能力:消息中的任何一位或多位的变化都将导致该散列值的变化 H(M)又称为:哈希函数、数字指纹(Digital finger print)、压缩(Compression)函数、数据鉴别码(Dataauthentication code)等,散列函数基本用法(1),散列函数基本用法(2),散列函数基本用法(3),散列函数基本用法(4),散列函数基本用法(5),散列函数基本用法(6),消息鉴别码 MAC,M,K,MAC,函数域:任意长度的报文 值域:所有可能的MAC和所有可能的密钥 MAC一般为多对一函数,函数域:任意长度的报文 值域:所有可能的MAC和所有可能的密钥 假设 假设攻击者使用强行攻击,且已经获得报文的明文和相应的MAC,即,对MAC的强行攻击,假设 假设攻击者已经获得报文的明文和相应的MAC,即 假设,对MAC的强行攻击,对MAC的强行攻击,对MAC的强行攻击,如果 kn,则第一轮就可以产生一个唯一对应。仍然可以有多于一个key产生这一配对,这时攻击者只需对一个新的(message, MAC)进行相同的测试 由此可见,强力攻击企图发现authentication key不小于甚至大于对同样长度的解密key的攻击,对MAC的其它攻击,设M = (X1 | X2 | | Xm) 是一个由64位Xi数据块连接而成 定义 (M) = X1X2.Xm CK(M) = EK(M) 其中 为异或操作;E为 ECB工作模式的DES算法 则 Key length = 56 bit MAC length = 64 bit 强力攻击需要至少256次加密来决定K,对MAC的其它攻击,设 M = ( Y1 | Y2 | | Ym-1 | Ym) 其中 Y1, Y2, , Ym-1是替换 X1, X2,Xm-1的任意值,而 Ym = Y1Y2 , , Ym-1 (M) 则 CK(M) = EK(M) = EKY1Y2 , , Ym-1 Ym = EKY1Y2 , , Ym-1 (Y1Y2 , , Ym-1 (M) = EK(M) 这时消息M 和 MAC= CK(M) = EK(M)是一对可被接收者认证的消息 用此方法,任何长度为64(m-1)位的消息可以被插入任意的欺骗性信息,MAC应具备的性质,如果一个攻击者得到M和CK(M),则攻击者构造一个消息M使得CK(M)=CK(M)应具有计算复杂性意义下的不可行性 CK(M)应均匀分布,即:随机选择消息M和M, CK(M)= CK(M)的概率是2-n,其中n是MAC的位数 令M为M的某些变换,即:M=f(M),(例如:f可以涉及M中一个或多个给定位的反转),在这种情况下,PrCK(M)= CK(M) = 2-n,基于DES的报文鉴别码,基于DES的报文鉴别码,算法来源 FIPS publication (FIPS PUB 113) ANSI standard (X9.17) 使用CBC(Cipher Block Chaining)方式,初始向量为IV=0,基于DES的报文鉴别码,算法来源 FIPS publication (FIPS PUB 113) ANSI standard (X9.17) 使用CBC(Cipher Block Chaining)方式,初始向量为IV=0,基于DES的报文鉴别码,将数据按64位分组,D1, D2, , DN,必要时最后一个数据块用0向右填充 运用DES算法E,密钥K 数据认证码(DAC)的计算如下: O1 = EK(D1) O2 = EK(D2O1) O3 = EK(D3O2) ON = EK(DNON-1),FIPS PUB 113,目 录 消息鉴别与散列函数 散列算法 数字签名,散列函数,散列函数的定义,散列函数: M:变长报文 H(M):定长的散列值 主要用于为文件、报文或其它分组数据产生指纹,散列函数的要求,H能用于任意大小的分组 H能产生定长的输出 对任何给定的x,H(x)要相对易于计算,使得硬件和软件实现成为实际可能 对任何给定的码h,寻找x使得H(x)=h在计算上是不可行的,即单向性 对任何给定的分组x,寻找不等于x的y,使得H(x)=H(y)在计算上是不可行的,即弱抗冲突性 寻找对任何的(x,y)对使得H(x)=H(y)在计算上是不可行的,即强抗冲突性,Hash vs MAC,MAC需要对全部数据进行加 MAC速度慢 Hash是一种直接产生鉴别码的方法,Hash函数通用结构,由Ron Rivest于1990年提出MD4 几乎被所有hash函数使用 具体做法: 把原始消息M分成一些固定长度的块Yi 最后一块padding并使其包含消息M长度 设定初始值CV0 压缩函数f, CVi=f(CVi-1,Yi-1) 最后一个CVi为hash值,MD5,MD5描述,Merkle于1989年提出hash function模型 Ron Rivest于1990年提出MD4 1992年, Ron Rivest 完成MD5 (RFC 1321) 在最近数年之前,MD5是最主要的hash算法 现行美国标准SHA-1以MD5的前身MD4为基础,MD5描述,输入:任意长度的报文 输入分组长度:512 bit 输出:128 bit 报文,MD5描述step 1,附加长度值 对报文进行填充,使其比特数与448模512同余,即填充长度为512的整数倍减去64 填充方法:填充比特串的最高位为1,其余各位均为0,MD5描述step 2,附加长度值 |M2|为512的倍数: Y0,Y1,YL-1,MD5描述step 3,初始化MD缓存 MD为128bit,用于存放散列函数的中间及最终结果 MD可表示为4个32bit的寄存器(A,B,C,D),初始化如下:,MD5描述step 4,压缩:4个循环的压缩算法,MD5描述step 5,输出,HMD5,单个512bit分组的MD5处理过程(MD5压缩函数),每步操作形式,单个512bit分组的MD5处理过程(MD5压缩函数),X015:保存当前512bit待处理输入分组的值 Xk = Mq×16 + k = 在第q个512位数据块中的第k个32位字 每次循环(4)的每步(16)内,Xi的使用循序各不相同,MD5的安全性,Berson表明,对单循环MD5,使用不用的密码分析可能在合理的时间内找出能够产生相同摘要的两个报文,这个结果被证明对四个循环中的任意一个循环也成立,但作者没有能够提出如何攻击包含全部4个循环MD5的攻击 Boer和Bosselaers显示了即使缓存ABCD不同,MD5对单个512bit分组的执行将得到相同的输出(伪冲突) Dobbertin的攻击技术:使MD5的压缩函数产生冲突,即寻找 MD5被认为是易受攻击的,逐渐被SHA-1和RIPEMD-160替代,其它常用Hash算法,SHA-1 RIPEMD-160 HMAC,Hash小结,Hash函数把变长信息映射到定长信息 Hash函数不具备可逆性 Hash函数速度较快 Hash函数与对称密钥加密算法有某种相似性 对Hash函数的密码分析比对称密钥密码更困难 Hash函数可用于消息摘要 Hash函数可用于数字签名,目 录 消息鉴别与散列函数 散列算法 数字签名,报文鉴别的局限性,用于保护通信双方免受第三方攻击 无法防止通信双方的相互攻击 信宿方伪造报文 信源方否认已发送的报文 引入数字签名,是笔迹签名的模拟,数字签名的性质,传统签名的基本特点 能与被签的文件在物理上不可分割 签名者不能否认自己的签名 签名不能被伪造 容易被验证 数字签名是传统签名的数字化 能与所签文件“绑定” 签名者不能否认自己的签名 容易被自动验证 签名不能被伪造,数字签名的性质,必须能够验证作者及其签名的日期时间 必须能够认证签名时刻的内容 签名必须能够由第三方验证,以解决争议,数字签名的设计要求,签名必须是依赖于被签名信息的一个位串模板 签名必须使用某些对发送者是唯一的信息,以防止双方的伪造与否认 必须相对容易生成该数字签名 必须相对容易识别和验证该数字签名 伪造该数字签名在计算复杂性意义上具有不可行性,既包括对一个已有的数字签名构造新的消息,也包括对一个给定消息伪造一个数字签名 在存储器中保存一个数字签名副本是现实可行的,数字签名分类,签名方式 直接数字签名direct digital signature 仲裁数字签名arbitrated digital signature 安全性 无条件安全的数字签名 计算上安全的数字签名 可签名次数 一次性的数字签名 多次性的数字签名,直接数字签名,直接数字签名,直接数字签名,直接数字签名的缺点,验证模式依赖于发送方的保密密钥 发送方要抵赖发送某一消息时,可能会声称其私有密钥丢失或被窃,从而他人伪造了他的签名 通常需要采用与私有密钥安全性相关的行政管理控制手段来制止或至少是削弱这种情况,但威胁在某种程度上依然存在 改进的方式例如可以要求被签名的信息包含一个时间戳(日期与时间),并要求将已暴露的密钥报告给一个授权中心 X的某些私有密钥确实在时间T被窃取,敌方可以伪造X的签名及早于或等于时间T的时间戳,仲裁数字签名,仲裁数字签名,引入仲裁者 所有从发送方X到接收方Y的签名消息首先送到仲裁者A A将消息及其签名进行一系列测试,以检查其来源和内容 A将消息加上日期并与已被仲裁者验证通过的指示一起发给Y 仲裁者在这一类签名模式中扮演敏感和关键的角色 所有的参与者必须极大地相信这一仲裁机制工作正常,仲裁数字签名单密钥加密方式1,仲裁数字签名单密钥加密方式,仲裁数字签名单密钥加密方式2,仲裁数字签名双密钥加密方式,仲裁数字签名双密钥加密方式,数字签名算法,普通数字签名算法 EIGamal RSA DSS/DSA 不可否认的数字签名算法 群签名算法 盲签名算法,数字签名算法 DSA,DSA,DSA,DSA,DSA分析,基于离散对数的难度,对手通过r恢复k,或通过s恢复x都很难 签名产生的计算任务仅是计算 另一个需要完成的工作只是确定逆元,

    注意事项

    本文(密码学基础3.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开