【安全归约】第四讲 | 安全归约入门

Reduction in Computational Complexity

Proof by Contradiction

在计算复杂度中,如果没有额外的假设,就“不可能”证明解决一个计算问题B是困难的。
在计算复杂度方面,我们可以证明问题B的困难性,并附加假设一些计算问题是困难的。
证明过程称为reduction,它是一种Proof by Contradiction

一个计算问题A被认为是很困难的。
如果问题B很容易,那么我们证明了问题A也很容易。
如果这个假设是错误的,而且问题B一定是困难的。

The old problem A is reducible to the new problem B.

Reducible

在计算复杂性方面,The problem A is reducible to the problem B
即:
  解决问题B可以转化为解决问题A。
  我们可以将一个问题实例xA转换为问题B的一个问题实例xB。
  我们可以把问题解yB转化为问题解yA。
  问题B(我们关心的问题)并不比问题A容易。

Example1:
在这里插入图片描述
在这里插入图片描述
Example2:

在这里插入图片描述

Example3:
在这里插入图片描述
在这里插入图片描述

Security Reduction in Cryptography

Overview

Security Reduction (Overview)

降低安全性类似于计算复杂度的降低
在这里插入图片描述
我们通过矛盾的证明来证明安全性如下。

一个计算问题P被认为是很困难的。
如果一个方案是不安全的,我们证明了问题P是容易的。
那么这个假设就会是错误的,而且这个方案必须是安全的。

note:以上是高度high level的安全归约

Security Reduction (Proof Strategy)

问题A可归约为问题B➡问题实例 x A x_A xA可以用于创建问题实例 x B x_B xB
在这里插入图片描述

Framework

Framework of Security Reduction

安全归约必须采用以下框架进行。
**Breaking Assumption:**生成一个模拟方案(使用问题实例xP),并通过遵循安全模型与对手进行交互。

  • **Simulation.**生成一个模拟方案(使用问题实例 x p x_p xp),并通过遵循安全模型与对手进行交互。
  • **Solution.**利用对手对模拟方案的攻击,提取问题解 y p y_p yp
  • **Analysls.**证明了如果破坏假设为真,则求解困难问题P的优点是不可忽略的。

Analysis in Security Reduction

**Breaking Assumption:**假设存在一个对手,他可以打破所提议的方案(在一个安全模型中)。

  • **Simulation.**生成一个模拟方案(使用问题实例 x p x_p xp),并通过遵循安全模型与对手进行交互。
  • **Solution.**利用敌手对模拟方案的攻击,提取问题解 y p y_p yp

Question:我们可以在不进行分析的情况下进行安全归约的程序吗?

Analysis in Security Reduction

  • 安全归约并不是一个真正的数学证明。
  • 相反,它仅仅提出了一种归约算法,并展示了如何归约对手的攻击来解决一个难题。
  • 即,安全归约只是一种归约算法
  • 不幸的是,我们无法演示这种归约算法来说服人们,归约算法是有效的,因为没有对手。
  • 相反,我们所做的是一个理论分析,表明所提出的归约算法确实有效。

Concepts1

在这里插入图片描述

Concepts2

在这里插入图片描述

  • 实际方案是根据该方案中描述的方案算法,使用安全参数生成的方案。
  • 模拟方案是根据约简算法由一个潜在硬问题的随机实例生成的方案。

Concepts3

在这里插入图片描述

  • 对手与由挑战者控制的真实方案进行交互。挑战者出现在安全模型中。
  • 对手与由模拟器控制的模拟方案进行交互。模拟器出现在安全降低的过程中。

Concepts4

在这里插入图片描述

  • 真正的攻击是对手和挑战者之间的相互作用。(对手所知道的信息。)
  • 仿真是对手和模拟器之间的相互作用。(对手所知道的信息。)

Concepts5

在这里插入图片描述

  • 从对手的角度来看,真实方案和模拟方案的响应可能无法区分(看起来相同)。
  • 实际方案的响应遵循方案算法,模拟方案的响应遵循归约算法。

Indistinguishable: First View

Approach1:
在这里插入图片描述

Breaking to Solving

Solution

降低安全级别的目的是减少对手的攻击,以解决潜在的难题。攻击可以是计算性攻击或决策性攻击。

  • 一个计算攻击,如伪造一个有效的签名,要求对手从一个指数大小的答案空间中找到一个正确的答案。
  • 决策攻击,例如猜测IND-CPA安全模型中的挑战密文中的消息mb∈{m0,m1},只需要对手猜测b(0或1)。

note:安全对抗决策攻击=不可区分的安全性。

Three Types

在这里插入图片描述
note第三种类型非常特殊,因为它只在随机oracle模型中可用,在该模型中,模拟器使用对手进行的哈希查询来解决一个计算难题。

Evaluation of Security Reduction

Cost and Loss in Reduction

Reduction Cost and Reduction Loss

在这里插入图片描述

Tight Reduction and Loose Reduction

在这里插入图片描述

Tight Reduction: Necessary or Not?

在这里插入图片描述

Concreate Security

Lower Bound Security Level Revisited

  • 假设打破方案S可以简化为解决一个潜在的困难问题,用B表示。
  • 方案S的安全下限级别是从底层的困难问题B中计算出来的。
  • 方案S的安全下限级别≠问题B的安全级别
    这仍然取决于 reduction cost和 reduction loss.

Concrete Security

假设困难问题B有kbit的安全性

在这里插入图片描述
在这里插入图片描述

Ideal Security Reduction

一个理想的安全归约是我们可以为所提出的方案编程的最佳安全归约。

  • Security Model.安全模型允许对手最大限度、灵活、自适应地向挑战者查询,并以最低要求赢得游戏。
  • Hard Problem.所采用的基本硬问题必须是在同一数学原语上定义的所有硬问题中最难的问题。例如,DL问题。
  • Reduction Cost and Reduction Loss.降低成本T和降低损失L为最小值。也就是说,T在对手的查询数量上是线性的,而L=是1。
  • Computational Restrictions on Adversary.除了时间和优势外,对对手没有计算限制。随机的oracle模型确实限制了对手

不幸的是,在文献中提出的所有安全归约中,这些理想特性之间的固有权衡是非常常见的。

例如,我们可以构造一个有效的签名方案,其安全是在一个弱硬度的假设下,但安全降低必须使用随机的oracles。
例如,我们也可以在安全降低中构造一个没有随机谕的签名方案,但它伴随着一个强大的假设或长公钥

目前,在技术上似乎不可能构建一个能够满足上述四个特性的理想的安全降低方案。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值