【现代密码学基础】详解完美安全与不可区分安全

关于密码学中不可区分性的一些问题 不可区分性 伪随机数生成器 阅读详情
AI摘要

本文探讨了密码学中的完美不可区分性概念,通过敌手试验解释其含义,并以维吉尼亚密码为例说明如何证明其非完美不可区分。还介绍了计算安全性、可证明安全性和无条件安全性的区别。

目录

一. 介绍

二. 不可区分性试验

三. 不可区分性与完美安全

四. 例题

五. 小结


一. 介绍

敌手完美不可区分,英文写做perfect adversarial indistinguishability,其中adversarial经常被省略不写,在密码学的论文中经常被简称为IND安全。

完美不可区分与香农的完美安全是类似的。该定义来源于一个被动窃听的敌手试验:给敌手一个密文,然后让敌手猜测明文来源于可能得两个中的哪一个。这个过程其实也可以用计算安全来衡量。

二. 不可区分性试验

敌手A首先随意选择两个明文,如下:

m_0,m_1\in M

接着借助Gen算法产生密钥k,利用该密钥对其中的一个明文进行加密。当然此过程明文的选择需要相等的概率。

接着将该密文给敌手A,让他猜测哪一个明文被加密了。如果猜对了,则认为敌手A成功了。

如果敌手成功的概率不会好于1/2,那么认为该加密方案时完美不可区分的。其实,对于任意的加密方案,敌手都可以采用随机均匀的方法进行猜测,这个时候成功的概率即为1/2,不可区分性要求敌手的攻击策略不会优于随机猜测。

注意此处的不可区分性并没有限制敌手的计算能力(computational power)。

将加密方案形式化表达为:

\Pi=(Gen,Enc,Dec)

将消息空间表示为M,令A代表敌手,可以抽象成一个确定性的算法,由此可将如上的试验定义为:

PrivK_{A,\Pi}^{eav}

试验的具体步骤如下:

注意区分敌手A输出1,代表m1.

试验输出1,代表敌手猜测成功,两者是完全不一样的。

三. 不可区分性与完美安全

在不可区分性试验中,当敌手A随机猜测时,那么他成功的概率就是1/2.完美不可区分性则要求敌手A没有更好的其他策略了。

将以上的过程总结为形式化的定义,如下:

当一个方案是完美不可区分时,那么它也是完美安全的。两者可以互推。

四. 例题

假定某维吉尼亚密码(Vigenere cipher)的明文空间是双子母串。密钥周期可能是1也可能是2,两者均匀选择,如下:

T=\lbrace 1,2\rbrace

请证明该维吉尼亚密码不是完美不可区分的。

解:

利用\Pi代表该维吉尼亚密码,要想证明该密码方案不是完美不可区分的,其本质则是证明不可区分性试验输出1的概率大于1/2,如下:

接下来我们来详细解释该实验如何展开。

让敌手A执行如下步骤:

第一步:输出两个明文,如下:

m_0=aa\quad m_1=ab

在收到挑战密文c后,如下:

c=c_1c_2

分成两种情况,敌手输出不同的值:如果发现c1=c2,那么输出0;否则输出1

接下来计算该实验成功的概率可能有些繁琐,但是思想是很直接的。计算如下:

第一个等号:将试验成功分成两种不同的情况,对应两个条件概率

第二个等号:试验成功则是敌手输出的b和实际选择的b相同

以上b代表到底选择哪个明文,当然要求此过程明文的选择是均匀随机比特串。

当敌手输出0时,说明两个密文字母相等。此时b=0,明文m0=aa,也就是c1=c2.出现此种现象有两种可能性:

当密钥的周期为1时,对应的概率为1/2

当密钥的周期为2时,且第一个密钥和第二个密钥相等的概率可计算为:

\frac{1}{2}\frac{1}{26}

由此可计算当b=0时,敌手A输出0的概率为:

当b=1时,如果要求c1=c2,也就是敌手依旧输出0,由于明文字母是不一样的,所以要求此时的密钥周期必定为2,此时只有一种情况可以实现,所以可以计算为:

第一个等号:从互补的情况开始思考

第二个等号:1/2代表密钥周期为2,1/26代表:26(1/26)(1/26)

将两者进行合并可得:

很显然该方案不是完美不可区分的。

五. 小结

密码学可分为密码编码学和密码分析学。前者研究如何编解码信息,实现网络安全通信与传输;后者研究如何破译密码或其实现,寻找传输的薄弱环节,二者对立统一、相互促进.

密码编码学

密码编码学主要研究解决信息安全中的机密性、数据完整性、认证、身份识别、可控性及不可抵赖性等问题中的一个或几个。按照加密方式,密码体制可分为对称加密和非对称加密。前者用同一密钥加解密信息,密钥通常需要通过安全的方式分配给通信双方;后者用不同的密钥加解密信息,可将其中一项密钥作为公钥公开,仅将私钥妥善保管即可实现安全通信。

作为密码编码学的重要组成部分,密码算法的安全性和算法设计至关重要。对密码算法的安全性要求主要包括计算安全性、可证明安全性、无条件安全性等,其侧重点有所不同,主要特征如下:

(1)计算安全性:

指用目前算力无法在规定时间内攻破密码算法来说明密码体制的安全性。虽然目前没有被证明计算安全的密码算法,但其可操作性强使得计算安全性成为常用的密码算法评价标准。然 而,计算安全性仅说明密码算法的安全性和可计算问题相关,无法证明密码算法绝对安全

(2)可证明安全性:

指用多项式规约技术形式化证明密码体制的安全性。它通过有效的转化将对密 码算法的攻击规约为可计算问题的求解。

(3)无条件安全性:

指攻击者在计算资源无限的情况下,密码算法也无法被攻破。密码算法设计的基本原则是加密算法应有不可预测性,主要体现在:1)密码算法需要有较高的线性复杂度,即仅依据密文信息,攻击者很难用统计学方法分析明密文间的关系,从而重现加解密过程;2)加解密流程应足够“混乱”和“扩散”,即通过扩散处理使得加密元素之间相互影响,输入中任何微小的变化都会造成输出改变.

密码学归约证明——选择明文攻击下的不可区分性 ​简要介绍选择明文攻击CPA条件下的不可区分加密,并给出针对CPA不可区分加密方案构造方案的归约证明。 ​ 阅读详情

相关推荐

现代密码学2.1--完美安全和完美不可区分/Perfectly secret, Perfectly indistinguishable

现代密码学2.1--完美隐私性和完美不可区分性/Perfectly secret, Perfectly indistinguishable完美隐私性定义定理完美不可区分性定义定理 博主正在学习INTRODUCTION TO MODERN CRYPTOGRAPHY (Second Edition) --Jonathan Katz, Yehuda Lindell,做一些笔记供自己回忆,如有错误请指正。整理成一个系列现代密码学,方便检索。 《现代密码学》第一章所介绍的古典密码,全都已经被破解了。之前由于没有正式的

qq_41545715的博客 2887

不可区分性(indistinguishable)中要注意的问题

1.不可区分性是两个distribution ensemble(概率整体)间的关系,一个重要的前提是区分者的计算能力,不同的计算能力会导致不同的不可区分性,如:统计不可区分,计算不可区分。我们一般降到的是计算不可区分。 2.不可区分的形式在公钥与私钥下稍微有些不同。 在私钥体制下,一般以密文与随机序列不可区分的概率优势(Adv)来说明某个私钥加密方案的安全性。与这个优势(Adv)密切相

u014162760的专栏 1万+

现代密码学3.2--计算安全/Computationally security

现代密码学3.2--计算安全计算安全语义安全 博主正在学习INTRODUCTION TO MODERN CRYPTOGRAPHY (Second Edition) --Jonathan Katz, Yehuda Lindell,做一些笔记供自己回忆,如有错误请指正。整理成一个系列现代密码学,方便检索。 第二章定义的完美安全是一种理论上的讨论,而第三章需要定义的计算安全是一种更偏向实际需求的讨论。3.1节讨论了如何定义计算安全的两种方法:具体方法和渐进方法,而3.2节对计算安全做出了定义。 计算安全 语义安全

qq_41545715的博客 6271

密码学之安全模型总结

本文将系统性地总结密码学中常见的安全模型定义。在阅读本文前,可以了解如下预备知识: 现代密码学是一门怎样的学科? 数据的机密性、完整性与实体的抗否性是什么意思? 完美安全和语义安全的含义是什么? 数据的机密性、完整性和实体的抗否性是一个信息安全系统所要保障的主要目标,也是一个密码算法所应满足的基本指标。而在现代密码学与可证明安全的语义下,机密性等含义有着更加严格和完善的定义。

weixin_39529207的博客 4820

【密码学复习】【Chapter 2】【完美保密】

第三章 完美保密 Part 0 任务 证明一比特完美保密 证明完美保密的等价公式 证明完美保密等价不可区分性 证明一次一密是完美保密 证明完美保密的局限性 Part 1 定义和基本属性 随机变量: K,M,CK, M, CK,M,C 概率:Pr⁡[K=k],Pr⁡[M=m],Pr⁡[C=c]\Pr[K = k], \Pr[M = m], \Pr[C = c]Pr[K=k],Pr[M=m],Pr[C=c] 1.1 定义完美保密 在M\mathcal{M}M上Π\PiΠ是完美保密的,若对于M\mat

red1y 1914

网络安全与密码学

一、密码学是一门研究信息安全保密的学科,主要涉及对信息进行加密、解密以及相关的安全技术和理论。它通过使用各种加密算法和技术,将明文信息转换为密文,以确保信息在传输和存储过程中的保密性、完整性和真实性。密码学在通信、电子商务、金融、军事等领域都有着广泛的应用。密码学包括对称加密、非对称加密、哈希函数、数字签名等重要内容。同时,密码学也在不断发展和创新,以应对不断变化的安全挑战。大家要注意的是我们平时用来认证身份的密码(passwd)翻译成口令更准确。

weixin_61074128的博客 3246

【现代密码学】笔记2 -- 完善保密性《introduction to modern cryphtography》现代密码学原理与协议

在本节中,我们将详细讨论现代密码学中加密方案的完善保密性定义和基本属性。一个加密方案是安全的,那么敌手在获得密文后,密文应该对敌手猜测明文没有任何帮助。敌手是知道明文本来的概率分布,例如,敌手知道明文是一个真或假问题的答案:真、假,并且知道两种答案的概率。敌手也知道加密方案。敌手要根据密文确定明文中的答案。如果加密方案是安全的,则密文应该对敌手猜测答案没有任何效果。换句话说,根据密文来猜测答案和不知道密文猜测答案对敌手来说是一样的。

定期分享我的发现和想法,感谢你的陪伴和支持 4551

Introduction to Modern Cryptography-现代密码学导论[一]

目录Perfect secrecy Encryption1.Perfect secrecy(完美保密)2.Perfect (adversarial) indistinguishability(完美不可区分性)EAV-Security3.The One-time Pad(一次性密码本)4.Limitations of Perfect secrecy5.*Shannon’s TheoremComputational security Encryption6.Computational securityThe A

2301_79553633的博客 1081

现代密码学 补充1:两种窃听不可区分实验的区别

总的来说,这两种实验都是用来评估加密方案对敌手的不可区分性,但它们的应用背景、假设条件和安全参数有所不同。完美保密实验着重于理想的、理论上的安全性,而对称加密算法的窃听不可区分实验则关注在实际计算限制下的安全性。:这个实验的关键是证明在完美保密的情况下,敌手即使进行多次实验,也无法区分哪个明文被加密,因为密文对于每个可能的明文来说都是等概率的。这种实验用于证明完美保密性,其核心是表明在理想条件下,敌手无法从密文中获取任何关于明文的信息。这种实验用于评估对称加密算法的安全性,特别是在计算安全性的背景下。

定期分享我的发现和想法,感谢你的陪伴和支持 3537

关于《现代密码学》教材与教学改革的几点思考

这篇文章转载于:这里作者简介:任伟,博士,副教授,中国地质大学(武汉)计算机学院信息安全系副主任“现代密码学”是信息安全专业的主要专业课,但很多学生不知道何谓“现代”,它与“经典密码学”以及“应用密码学”的区别是什么,应该如何把握其实质。同时,不同教师对该课程的教材选择和内容定位等方面,有非常不同的理解。本文将针对这一问题,澄清概念,分析比较,在教材和教学建设方面给出建设性的意见。1  目前教材存在的问题1.1 经典密码学、应用密码学、现代密码学“现代密码学(Modern Cryptography)”和“经

yuanchuanghhhh的专栏 2974

15、现代密码学中的多项式时间不可区分性与计算复杂度理论

本文探讨了现代密码学中的多项式时间不可区分性和计算复杂度理论的核心概念及其应用。文章介绍了多项式时间不可区分性的定义,并通过示例说明其在密码学中的重要性,例如伪随机数生成器和零知识证明协议。同时,分析了计算复杂度理论如何为密码系统设计提供理论基础,并讨论了其局限性和挑战。文章强调了在密码系统设计中结合理论分析和实际安全考量的重要性。

5f4d3s2a1q的博客 74

现代密码学之缘友焚诀版

现代密码学之缘友焚诀版

缘友一世的博客 2644

浅析ArcGis中的软件——ArcMap、ArcScene、 ArcGlobe、ArcCatalog

ArcMap:是集空间数据显示、矢量数据编辑、冲突数据检查(拓扑检查)、查询检索(地理编码)、统计(字段属性表)、报表生成、空间分析(ArcGIS Spatial Analyst)和高级制图(制图表达)等众多功能干一体的桌面应用平台软件。而且提供所见即所得的符号编辑器,令用户可以随心所欲地生成任意复杂的点、线、面符号。所支持的空间数据格式包括Arclnfo coverages、ESRI shapefiles、ArcSDE lavers、DXF、DWG、DGN、常见的图像格式、GRIDs、TINs等。

lxlmycsdnfree的博客 6562

【现代密码学】笔记1.2 -- 对称密钥加密、现代密码学的基本原则《introduction to modern cryphtography》现代密码学原理与协议

在对称密钥加密系统中,通信双方共享一段密码信息,称为密钥(key当他们希望安全地通信时,会使用这个共享密钥。发送方使用密钥来加密(或者“混合”)消息。接收方收到消息后,使用相同的密钥来解密(或者“去混合”)以恢复原始消息。这里所说的消息本身称为明文plaintext),而从发送方传输到接收方的经过加密处理的消息称为密文ciphertext),如图 1.1 所示。在这种设置中,共享的密钥用来从所有潜在的窃听者中区分通信双方(这通常假设是通过一个公共信道进行传输的)。描述。

定期分享我的发现和想法,感谢你的陪伴和支持 5081

Keras中LSTM输入数据重塑与预处理实战指南

LSTM(长短期记忆网络)作为循环神经网络的重要变体,在时间序列建模中发挥着关键作用。其核心原理是通过门控机制学习长期依赖关系,而输入数据的正确重塑是实现这一功能的基础。在Keras框架中,LSTM要求输入数据必须组织成(samples, timesteps, features)的三维张量结构,这与传统全连接网络的处理方式截然不同。从工程实践角度看,合理的数据预处理能显著提升模型性能,特别是在处理温度预测、股票价格分析等时间序列任务时。常见的数据源如CSV文件、图像序列等都需要特定的转换方法,包括使用Tim

weixin_42300144的博客 305

(五)深入理解Bluez协议栈之“GATT Server Profile”

上一篇介绍Bluez协议栈的了GAP Profile的实现,本章节我们继续介绍GATT Profile的实现,参考的程序是Peripheral。通过阅读它的实现代码可以发现,它广播部分是通过mgmt来实现的,然后在初始化完成之后,创建了一个L2CAP类型的socket,来负责实现GATT Server的逻辑。

1142

现代密码学【3】之密码学形式化分析与可证明安全基础

现代密码学【3】之密码学形式化分析与可证明安全基础

缘友一世的博客 1797

Serdes之什么是(CDR)?

光收发器和电收发器使用的是我们所说的串行数据通信。在这种通信方式中,数据位是按顺序一个接一个地传输的。光收发器和电收发器使用的是我们所说的串行数据通信。在这种通信方式中,数据位是按顺序一个接一个地传输的。目前市场上大多数收发器都没有专用的时钟输入,因此时钟恢复和数据重新定时等功能是在收发器外部(即在主板上)进行的。接收端则需要恢复时钟以采样串行线上的数据。为了实现这一点,接收端需要一个与输入数据频率大致相同的时钟。通过使参考时钟与输入数据信号的跳变相位对齐,可以生成一个恢复的时钟。这被称为时钟恢复。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 2388

现代密码学【4】之计算安全性&安全规约证明&对称加密的窃听不可区分实验

现代密码学【4】之计算安全性&安全规约证明&对称加密的窃听不可区分实验现代密码学【4】之计算安全性&安全规约证明&对称加密的窃听不可区分实验

缘友一世的博客 1282

基于Python的智能动漫更新监控爬虫系统:从原理到实战

本文详细介绍了如何使用Python构建一个智能化的动漫更新监控系统,涵盖从基础爬虫到高级自动化监控的全套解决方案。文章将深入探讨最新的网络爬虫技术,包括异步请求、反反爬策略、智能解析算法等,并提供完整的代码实现和性能优化方案。通过本系统,用户可以实时获取多个动漫平台的更新信息,并通过多种渠道接收通知。关键词:Python爬虫、动漫监控、自动化通知、异步爬虫、反反爬策略。

2201_76125261的博客 901

python全栈入门到实战【基础篇 02】环境搭建:Python解释器与PyCharm、VSCode编辑器安装配置详解

本文详解Python环境搭建步骤。首先安装解释器(运行代码核心),需从官网下载,选3.8及以上版本(勿选2.x)。Windows安装必勾“Add Python.exe to PATH”,验证用`python --version`;Mac选universal2安装包,验证用`python3 --version`。 编辑器二选一:PyCharm社区版(免费,新手推荐),安装后需配置解释器路径;VSCode轻量,需装Python插件并选择解释器。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 5万+

密码学之可证明安全初探

本文初步介绍了密码学中的可证明安全技术, 阐述了安全性证明的基本逻辑, 并针对基于归约和基于模拟的证明技术给出了三个示例, 能帮助读者快速了解密码学中可证明安全的思想内涵

weixin_39529207的博客 3794

外骨骼机器人(五):步态分析之正常步态

研究病理步态之前,需要了解正常步态,作为判断标准。但是需要记住两个问题:1.“正常”因人而异,性别、年龄、身体情况都需要考虑在内,因此,需要对不同的个体选择合适的正常标准;2.即使病人的步态与正常步态有某种不同,这也不能说明这是不可取的,也不能说明应该把它变成“正常”步态。许多步态异常是对病人的一些问题的一种补偿,尽管异常,但它们仍然是有用的。步态周期的定义是连续为两次发生重复行走事件之间的时间间隔。尽管可以选择任何事件来定义步态周期,但通常使用一只脚接触地面的瞬间(“初始接触”)是方便的。

行者无疆的博客 1990

现代密码学基础(2)

在密码学中,K代表密钥,M代表明文,C代表密文,每个都有各自的概率分布。密钥是通过密钥生成算法Gen产生的,通常而言都是均匀且随机的形式选择密钥,如下:明文的分布通常跟密码方案是无关的,而是跟加密/解密方相关,也可以看成敌手(adversary)的不确定性,如下:比如,军队传递消息,明文可能是以下两者之一:这两者的概率有可能也不一样,比如:密钥K是由密码方案决定的,也就是由Gen确定。明文M取决于外部条件,所以,密钥K和明文M分布上通常是互相独立的。

forest_LL的博客 2619

PoP(Package on Package)封装技术探讨

PoP(Package on Package)封装技术摘要 PoP是一种3D封装技术,通过垂直堆叠已完成封装的器件(如SoC+DRAM)实现高密度集成,典型应用于智能手机等空间受限场景。其核心优势包括:节省主板面积(垂直堆叠)、优化高速信号完整性(短互连路径)、提升供应链灵活性(独立测试与选型)。PoP结构分为底封装(通常为Flip-Chip BGA的SoC)和顶封装(如FBGA存储芯片),通过焊球阵列互连,一次回流焊完成组装。

sinat_15150363的博客 364

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

密码学归约证明——定长对称加密密钥的敌手不可区分性

简要介绍“归约证明”的基本思想,并利用定长对称密钥加密方案的敌手不可区分性进行实践。

BearPipy的博客 1965

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: 基于格理论来破解RSA公钥密码(1)
下一篇: 格密码基础:详解LWE问题(2)
唠嗑!
唠嗑! 优质创作者: 信息安全技术领域 优质创作者: 信息安全技术领域
博客等级 码龄5年 3万+粉丝 169原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唠嗑!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值