密码学系列2-安全模型(CPA,CCA,selective,adaptive)

2024-04-22 21:28

本文主要是介绍密码学系列2-安全模型(CPA,CCA,selective,adaptive),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本章介绍了安全模型中的CPA,selective/adaptive CCA, EUF-CMA

加密的安全性模型定义:

一、选择明文攻击下的不可区分性(IND-CPA

初始化:挑战者 C \mathcal{C} C运行初始化算法算法来获取系统参数。

阶段1:敌手 A \mathcal{A} A产生明文,加密的到对应的密文(多项式有界次数)。

挑战:对手将输出两条相同长度的消息 m 0 m_0 m0 m 1 m_1 m1

挑战者 C \mathcal{C} C随机选择比特 b ∈ { 0 , 1 } b\in \{0,1\} b{0,1},并加密消息 m b m_b mb以获得挑战密文。然后, C \mathcal{C} C将挑战密文发送给对手。

猜测:最后, A \mathcal{A} A输出一个猜测 b ′ ∈ { 0 , 1 } b'\in \{0,1\} b{0,1}

如果 b = b ′ b=b' b=b A \mathcal{A} A赢得游戏,优势定义为:

A d v A = ∣ P r ( b ′ = b ) − 1 / 2 ∣ Adv_{\mathcal{A}}=|Pr(b'=b)-1/2| AdvA=Pr(b=b)1/2∣

思考:阶段一敌手需要和挑战者交互吗?

概率和优势的区别:比如有一个丢一枚硬币的赌局。我们猜测正面朝上,那么我们猜测正确的概率为 1 / 2 1/2 1/2。如果我们知道硬币密度,丢硬币的方式会对结果有影响。那么丢一次硬币后,经过我们精密的分析,我们猜对的概率可能就是 1 / 2 + r 1/2+r 1/2+r,那么此时就说我们有 r r r的优势来正确猜硬币。
如果这个优势不可忽略,比如等于 r = 1 / 2 r=1/2 r=1/2,那么我们猜对的概率就是1!!如果这个概率无敌小到可以忽略,比如 r = 1 / 2 1 亿 r=1/2^{1亿} r=1/21亿,那么我们知道硬币密度,丢硬币的方式会对结果几乎没有影响。那么我们的能力对猜硬币的赌局没有任何作用。

二、适应性选择密文攻击下的不可区分性(adaptive IND-CCA2

初始化:挑战者 C \mathcal{C} C运行初始化算法算法来获取系统参数。

阶段1:

1.加密问询:敌手 A \mathcal{A} A产生明文,加密的到对应的密文(多项式有界次数)。
2.解密问询:敌手 A \mathcal{A} A产生密文,挑战者解密后,将解密得到的明文返给敌手(多项式有界次数)。

挑战:对手将输出两条相同长度的消息 m 0 m_0 m0 m 1 m_1 m1

挑战者 C \mathcal{C} C随机选择比特 b ∈ { 0 , 1 } b\in \{0,1\} b{0,1},并加密消息 m b m_b mb以获得挑战密文。然后, C \mathcal{C} C将挑战密文发送给对手。

阶段2:

1.加密问询:敌手 A \mathcal{A} A产生明文,加密的到对应的密文(多项式有界次数)。
2.解密问询:敌手 A \mathcal{A} A产生密文,挑战者解密后,将解密得到的明文返给敌手(多项式有界次数,且敌手不能对挑战密文进行解密问询)。

猜测:最后, A \mathcal{A} A输出一个猜测 b ′ ∈ { 0 , 1 } b'\in \{0,1\} b{0,1}

如果 b = b ′ b=b' b=b A \mathcal{A} A赢得游戏,优势定义为:

A d v A = ∣ P r ( b ′ = b ) − 1 / 2 ∣ Adv_{\mathcal{A}}=|Pr(b'=b)-1/2| AdvA=Pr(b=b)1/2∣

三、选择性选择密文攻击下的不可区分性(selective IND-CCA2

对手将输出两条相同长度的消息 m 0 m_0 m0 m 1 m_1 m1并发送给挑战者。

初始化:挑战者 C \mathcal{C} C运行初始化算法算法来获取系统参数。

阶段1:

1.加密问询:敌手 A \mathcal{A} A产生明文,加密的到对应的密文(多项式有界次数)。
2.解密问询:敌手 A \mathcal{A} A产生密文,挑战者解密后,将解密得到的明文返给敌手(多项式有界次数)。

挑战者 C \mathcal{C} C随机选择比特 b ∈ { 0 , 1 } b\in \{0,1\} b{0,1},并加密消息 m b m_b mb以获得挑战密文。然后, C \mathcal{C} C将挑战密文发送给对手。

阶段2:

1.加密问询:敌手 A \mathcal{A} A产生明文,加密的到对应的密文(多项式有界次数)。
2.解密问询:敌手 A \mathcal{A} A产生密文,挑战者解密后,将解密得到的明文返给敌手(多项式有界次数,且敌手不能对挑战密文进行解密问询)。

猜测:最后, A \mathcal{A} A输出一个猜测 b ′ ∈ { 0 , 1 } b'\in \{0,1\} b{0,1}

如果 b = b ′ b=b' b=b A \mathcal{A} A赢得游戏,优势定义为:

A d v A = ∣ P r ( b ′ = b ) − 1 / 2 ∣ Adv_{\mathcal{A}}=|Pr(b'=b)-1/2| AdvA=Pr(b=b)1/2∣

selective是在系统生成前产生挑战密文,再系统初始化时,挑战者可能会根据挑战密文生成相应的系统参数。
思考:selective和adaptive哪个安全性更强

四、(非自适应)选择密文攻击下的不可区分性(IND-CCA1

初始化:挑战者 C \mathcal{C} C运行初始化算法算法来获取系统参数。

阶段1:
1.加密问询:敌手 A \mathcal{A} A产生明文,加密的到对应的密文(多项式有界次数)。
2.解密问询:敌手 A \mathcal{A} A产生密文,挑战者解密后,将解密得到的明文返给敌手(多项式有界次数)。

挑战:对手将输出两条相同长度的消息 m 0 m_0 m0 m 1 m_1 m1

挑战者 C \mathcal{C} C随机选择比特 b ∈ { 0 , 1 } b\in \{0,1\} b{0,1},并加密消息 m b m_b mb以获得挑战密文。然后, C \mathcal{C} C将挑战密文发送给对手。

猜测:最后, A \mathcal{A} A输出一个猜测 b ′ ∈ { 0 , 1 } b'\in \{0,1\} b{0,1}

如果 b = b ′ b=b' b=b A \mathcal{A} A赢得游戏,优势定义为:

A d v A = ∣ P r ( b ′ = b ) − 1 / 2 ∣ Adv_{\mathcal{A}}=|Pr(b'=b)-1/2| AdvA=Pr(b=b)1/2∣

现在论文中定义的IND-CCA即指IND-CCA2,CCA1很少见了。
CCA1即在敌手获得挑战密文前可以进行解密问询。敌手获得挑战密文后,便不能再根据挑战密文生成其他密文来进行解密问询了。

签名安全性模型:

五、适应性选择消息的存在不可伪造性(EUF-CMA)

初始化:挑战者 C \mathcal{C} C运行初始化算法算法来获取系统参数。

阶段1:
1.签名问询:敌手 F \mathcal{F} F产生消息,敌手为消息产生签名并返回给敌手(多项式有界次数)。

伪造:敌手 F \mathcal{F} F伪造出一个签名。

如果伪造的签名满足以下条件,则敌手赢得这个游戏:
1.这个签名不是签名问询产生的。
2.签名能通过验证算法。

上面的五个模型都是最基础的定义,不同的方案会由不同的变化。后续文章将给出实例化安全性证明。

这篇关于密码学系列2-安全模型(CPA,CCA,selective,adaptive)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/926899

相关文章

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

大语言模型(LLMs)能够进行推理和规划吗?

大语言模型(LLMs),基本上是经过强化训练的 n-gram 模型,它们在网络规模的语言语料库(实际上,可以说是我们文明的知识库)上进行了训练,展现出了一种超乎预期的语言行为,引发了我们的广泛关注。从训练和操作的角度来看,LLMs 可以被认为是一种巨大的、非真实的记忆库,相当于为我们所有人提供了一个外部的系统 1(见图 1)。然而,它们表面上的多功能性让许多研究者好奇,这些模型是否也能在通常需要系

人工和AI大语言模型成本对比 ai语音模型

这里既有AI,又有生活大道理,无数渺小的思考填满了一生。 上一专题搭建了一套GMM-HMM系统,来识别连续0123456789的英文语音。 但若不是仅针对数字,而是所有普通词汇,可能达到十几万个词,解码过程将非常复杂,识别结果组合太多,识别结果不会理想。因此只有声学模型是完全不够的,需要引入语言模型来约束识别结果。让“今天天气很好”的概率高于“今天天汽很好”的概率,得到声学模型概率高,又符合表达

智能客服到个人助理,国内AI大模型如何改变我们的生活?

引言 随着人工智能(AI)技术的高速发展,AI大模型越来越多地出现在我们的日常生活和工作中。国内的AI大模型在过去几年里取得了显著的进展,不少独创的技术点和实际应用令人瞩目。 那么,国内的AI大模型有哪些独创的技术点?它们在实际应用中又有哪些出色表现呢?此外,普通人又该如何利用这些大模型提升工作和生活的质量和效率呢?本文将为你一一解析。 一、国内AI大模型的独创技术点 多模态学习 多

JavaWeb系列二十: jQuery的DOM操作 下

jQuery的DOM操作 CSS-DOM操作多选框案例页面加载完毕触发方法作业布置jQuery获取选中复选框的值jQuery控制checkbox被选中jQuery控制(全选/全不选/反选)jQuery动态添加删除用户 CSS-DOM操作 获取和设置元素的样式属性: css()获取和设置元素透明度: opacity属性获取和设置元素高度, 宽度: height(), widt

OpenCompass:大模型测评工具

大模型相关目录 大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步,扬帆起航。 大模型应用向开发路径:AI代理工作流大模型应用开发实用开源项目汇总大模型问答项目问答性能评估方法大模型数据侧总结大模型token等基本概念及参数和内存的关系大模型应用开发-华为大模型生态规划从零开始的LLaMA-Factor

模型压缩综述

https://www.cnblogs.com/shixiangwan/p/9015010.html

9 个 GraphQL 安全最佳实践

GraphQL 已被最大的平台采用 - Facebook、Twitter、Github、Pinterest、Walmart - 这些大公司不能在安全性上妥协。但是,尽管 GraphQL 可以成为您的 API 的非常安全的选项,但它并不是开箱即用的。事实恰恰相反:即使是最新手的黑客,所有大门都是敞开的。此外,GraphQL 有自己的一套注意事项,因此如果您来自 REST,您可能会错过一些重要步骤!

C语言入门系列:探秘二级指针与多级指针的奇妙世界

文章目录 一,指针的回忆杀1,指针的概念2,指针的声明和赋值3,指针的使用3.1 直接给指针变量赋值3.2 通过*运算符读写指针指向的内存3.2.1 读3.2.2 写 二,二级指针详解1,定义2,示例说明3,二级指针与一级指针、普通变量的关系3.1,与一级指针的关系3.2,与普通变量的关系,示例说明 4,二级指针的常见用途5,二级指针扩展到多级指针 小结 C语言的学习之旅中,二级

数据库原理与安全复习笔记(未完待续)

1 概念 产生与发展:人工管理阶段 → \to → 文件系统阶段 → \to → 数据库系统阶段。 数据库系统特点:数据的管理者(DBMS);数据结构化;数据共享性高,冗余度低,易于扩充;数据独立性高。DBMS 对数据的控制功能:数据的安全性保护;数据的完整性检查;并发控制;数据库恢复。 数据库技术研究领域:数据库管理系统软件的研发;数据库设计;数据库理论。数据模型要素 数据结构:描述数据库