浙大暑期密码学课程|可证明安全基础

浙大,暑期,密码学,课程,证明,安全,基础 · 浏览次数 : 70

小编点评

**浙大暑期密码学课程:可证明安全基础视频地址:** * **浙大暑期Crypto课程-Provable Security Basics( 上)** * **浙大暑期Crypto课程-Provable Security Basics( 下)** **可证明安全基础介绍** 可证明安全是密码学中一个重要的理论基础,主要用于密码学中可证明安全 (PROSEC) 理论。PROSEC 理论主要分为以下三个步骤: 1. **确定威胁模型** 2. **构造方案** 3. **给出一个正式的安全性证明公钥加密始于1976年Diffie和Hellman 的论文 **DH密钥协商简介** DH密钥协商是一种离散对数协议 (LDPA),它是一种可证明安全协议,它可以用于在多项式时间内规约到安全问题。DH密钥协商协议分为以下几个阶段: * **初始化阶段** * **密钥生成阶段** * **生成会话密钥阶段** **安全证明** DH密钥协商协议的安全性主要基于以下几个假设: 1. **DHKE 在离散对数问题的假设下是安全的** 2. **DHKE 在特定困难问题下是安全的** 3. **CDH 问题是不可区分的** **结论** DH密钥协商是一种可证明安全协议,它可以用于在多项式时间内进行安全的密钥协商。然而,DH密钥协商协议的安全性需要满足一些假设,否则可能被攻击。

正文

浙大暑期密码学课程|可证明安全基础

视频地址:浙大暑期Crypto课程-Provable Security Basics( 上)浙大暑期Crypto课程-Provable Security Basics( 下)

参考:笔记分享|浙大暑期密码学课程:可证明安全基础

前言

本次课程由浙江大学的张秉晟老师带来,主要讲解密码学中的可证明安全理论基础

图片

现代密码学在20世纪70年代末得到发展,密码学可以用于保证机密性,完整性和可认证,并广泛用于多个现代密码学原语中,如零知识证明,全同态加密等。

图片

可证明安全

可证明安全主要分为以下三个步骤:

  • 首先确定威胁模型
  • 其次构造方案
  • 最后给出一个正式的安全性证明

图片

公钥加密始于1976年Diffie和Hellman的论文,并提出了DH密钥交换/协商,当然DH密钥协商的安全性并非完全建立在离散对数上,RSA的安全性也不完全建立在factoring(大数分解问题)上。

图片

Textbook RSA

在这里我们要讲述的是Textbook RSA是不安全的,一般而言,需要对消息进行padding才可以使用相应的RSA方案。

  • padding:与对称加密算法DES,AES一样,RSA算法也是一个块加密算法( block cipher algorithm),总是在一个固定长度的块上进行操作,即需要填充消息,但跟AES等不同的是,block length是跟key length有关的。
  • 更多参考:RSA非对称加解密算法填充方式(Padding)

图片

单向函数

接下来介绍了单向函数,在单向函数中,多项式时间的敌手没法快速地找到单向函数输出所对应的原像,以下是单向函数的定义和安全性博弈(Game)。

图片

假设\(f(x)\)是一个单向函数,但是\(f(m)\)\(f(m||r)\)都不是关于m的承诺方案,因为commitment需要保证hiding和binding,可能该输出会泄露m中的部分比特信息,但如果f是一个随机预言机(random oracle),那么\(f(m||r)\)是一个承诺。

图片

DH密钥协商

以下是离散对数的定义,在离散对数中,给定一个生成元\(g\)和一个群元素\(g^x\),敌手无法在多项式时间内求解\(x\)

图片

以下PPT介绍的是基于DH的密钥协商协议,分为初始化阶段密钥生成阶段生成会话密钥阶段

图片

安全性证明

我们在证明DHKE安全性之前,需要确定DHKE在哪个假设之下是安全的,我们需要先确定安全性和假设,然后使用规约的方式来证明DHKE可以在多项式时间内被规约到特定假设若该假设是困难的,则说明被证明的密码方案很难被攻破,就具有安全性

图片

  • 首先我们需要先定义安全目标,在协议/算法执行过程中,敌手是谁,敌手的攻击能力和确定敌手的攻击目标。
    • 敌手是:第三方
    • 敌手攻击能力:只能看,不能修改数据
    • 敌手攻击目标:得到\(k=g^{st}\)

图片

  • 以下是关于密钥恢复(Key Recovery)算法的安全性的安全定义和安全模型。

图片

规约理论

下图主要介绍了如何将DH密钥协商协议的安全性规约到特定的困难问题,最简单的方式是将DH密钥协商协议的安全性规约到离散对数问题,但是目前并不知道怎么样将密钥协商协议的安全性进行规约。

图片

所以我们需要引入计算性的DH问题,简记为CDH,下图介绍了CDH的敌手攻击能力和对应的博弈。

图片

离散对数(DL)和CDH的关系如下图所示,当CDH是困难的,那么DL是困难的,同时如果DL问题是困难的,CDH问题在某些条件下才是困难的,我们将采用该定理来实现安全性的规约

图片

规约其实就是假设某个问题是困难的,那么能够规约到该问题的原问题也是困难的,CDH和DL问题也是这样的关系,下图描述了他们之间的关系。

图片

敌手无法获得密钥k,密钥协商只实现这种安全性是不够的,还需要敌手无法获得关于k的任何信息

图片

不可区分安全

这种性质常见的典型体现是一次一密,即每次使用一个新的随机密钥k,对m进行异或操作,给定密文c和随机值,敌手很难在多项式时间内判断哪个是随机值,哪个是密文。

图片

该定义对应了不可区分安全,即敌手在多项式时间内无法确定特定数据,哪个是随机选取的,哪个是正确生成的,如下图所示。

图片

下图定义了不可区分(IND)的模型,同时为后续证明DH在DDH上实现IND安全先行进行了描述。

图片

然后下图定义了决定性DH问题,简记为DDH,该问题相对于CDH而言,在安全性证明规约中更通用,下图是DDH问题的敌手攻击能力和博弈描述。

图片

张老师最后给出了详细的推导和证明过程,详情请见视频。

与浙大暑期密码学课程|可证明安全基础相似的内容: