Cramer-Shoup 密码系统 安全证明 内容小结
Cramer-Shoup 密码系统
密码学可证明安全推荐书目(系列博客内容为这两本书学习笔记与内容小结):
《密码学中的可证明安全性》杨波 清华大学出版社
《Introduction to Security Reduction》Fuchun Guo;Willy Susilo;Yi Mu Springer
Cramer-Shoup 方案描述
Setup:
存在大素数群G,模素数为q,g1,g2 为群的生成元,明文消息为群G的元素,使用哈希函数将任意长度的字符映射到群中的元素。需要注意的是:这里的明文消息不是任意的字符串,而必须是群G上的元素,这就限制了该方案的灵活性,因为需要其他的辅助编码或者明文约定。
Keygen:
Enc:
Dec:
Cramer-Shoup的安全性证明
1. CPA安全性
由方案可知,Cramer-Shoup方案加密是变相的EIGameal 加密方案,而EIGameal 方案是IND-CPA安全的,那么可得Cramer-Shoup 也是IND-CPA安全的。
2. CCA安全性
由方案可知,Cramer-Shoup方案中的u2,v 这两个参数,实际上是用于数据的完整性检验,在之前学习CCA安全时,一个最为根本的问题就是如何消除密文的延展性,可以使用一次性签名保证密文的唯一与不可伪造有效性。这里用这个参数来保证密文的唯一性与不可伪造有效性。也就是说,敌手获得挑战密文后,难以伪造出与明文相关的密文,从而发动有效的攻击。所以,这个方案具备CCA2安全性。
3. 证明过程
定理声明:
IND-CCA游戏描述如下:
安全证明的本质是,如果敌手能够赢得这个游戏,那么敌手就能攻破这个方案。敌手攻破的这个方案,意味着敌手能够解决潜在的困难问题,这里的困难问题是DDH假设。但是同时,需要考虑另外的问题,解密预言机在回答敌手询问的时候,针对敌手发送的无效密文如何处理?如果预言机给敌手解密了无效的密文。敌手会不会获得相应的信息?那么敌手可能会计算无效的密文,发起主动的攻击。所以模拟者不能给与敌手无效密文回复。
这里,其实还有一个问题需要解决,就说敌手获得模拟者给与的挑战密文到底是不是正确的,如果不正确,那么意味着敌手不论有没有攻击能力都有二分之一的概率可以猜中,这是合理的。但是需要证明,敌手破解错误密文的概率与一次一密相同。才能支持上边的断言,即是是错误的挑战密文敌手也并不会具备多余的优势。
回到这个方案,敌手的成功概率描述如下:
断言3-5 意味着模拟者 模拟的协议是成功的,模拟成功是安全规约的第一步。
断言3-6 意味着如果是输出是随机的,那么敌手就会面临DDH困难问题,这要求敌手必须发起能够解决潜在困难问题的攻击。
断言3-6` 意味着当输出四元组是随机四元组时,模拟者以不可区分概率决绝无效密文,为什么呢?无效密文其实是敌手发起的无用的攻击方式,为了安全规约成功,我们必须将敌手逼迫到尽可能发起有用攻击的地步。所以需要尽可能的拒绝无效密文。
断言3-6`` 意味着如果能够拒绝敌手给出的无效密文,则敌手的优势是可以忽略的,主要使用了绝对困难问题隐藏了z1,z2信息。敌手依然不能从挑战密文中获取到私钥的信息,不能发起有效的攻击。
综上所述:
证明完毕。
断言的细节,在《密码学中的可证明安全性》有详细描述。
Cramer-Shoup 密码系统 安全证明 内容小结相关推荐
- 基于身份的密码体制 BF IBE 2001 方案及安全性证明 内容小结
基于身份的密码体制 BF IBE 2001 方案及安全性证明 内容小结 密码学可证明安全推荐书目(系列博客内容为这两本书学习笔记与内容小结): <密码学中的可证明安全性>杨波 :清华大学出 ...
- ZSS 协议在随机谕言机下的安全证明 内容小结
ZSS 协议在随机谕言机下的安全证明 内容小结 密码学可证明安全推荐书目(系列博客内容为这两本书学习笔记与内容小结): <密码学中的可证明安全性>杨波 :清华大学出版社 <Intr ...
- 2022智能制造世界与中国十大科技进展内容小结
2022智能制造世界与中国十大科技进展内容小结 1. 全断面隧道掘进装备行业工业互联网平台 2. 大型复杂构件机器人原位高效高质量铣削加工技术及装备 3. 西门子SNC-原生数字化工厂 4. 亚马逊 ...
- c语言将一个字符输出三遍,C语言字符相关部分内容小结
很多初涉编程的同学,在有些知识点上不够系统化或者说不能够将知识点联系起来,甚至对有些知识点有妖魔化的趋势,先说一下,这点是完全没有必要的,对于程序的编写,我个人认为这是一件很有美感的事情,所以不必预先 ...
- python周志_Python几周学习内容小结
环境配置 学习python首先是要配置环境,我们选择了Anaconda. 什么是Anaconda:专注于数据分析的python发行版本. 为什么选择Anaconda:省事省心,分析利器 至于下载和安装 ...
- HTML简单内容小结(1)
一1,一个简单的html文件 <html> <head> <title>这是第一个网页<\title> <\head> <body&g ...
- makefile内容小结
makefile中每个功能主要分为三部分:目标,依赖条件和命令语句 1.支持对比更新的Makefile写法(只会编译文件时.o文件和.c文件时间不一致的文件) 2.使用makefile自动变量和自定义 ...
- 『嗨威说』数据结构 - 第七章学习内容小结
本文基本索引目录: 一.查找的基本概念和专业术语 二.顺序查找算法 三.二分查找算法 四.二叉排序树算法 五.平衡二叉树算法 六.B树简介 七.散列表查找 八.作业例题展示 九.自我总 ...
- Netty工作笔记0072---Protobuf内容小结
技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152
最新文章
- mysql中文长方形_MySql 5.7 中文文档 - 12.16.9.2 使用最小边界矩形的空间关系函数 | Docs4dev...
- 关于网络编程中MTU、TCP、UDP、IP
- XMPP协议简单介绍
- deepin下载python_深度操作系统中怎样下载python?
- matlab批量修改txt内容_MATLAB作图实例:18:为饼图添加文本标签和百分比
- 【实践驱动开发3-003】TI WL1835MODCOM8 在android的移植 - 软件获取2
- 2021-07-25 野火板子25MHz晶振改为正点原子8MH晶振
- MySQL 连接报错:mysql access denied for user@ip
- MySQL快速上手[学习笔记](二)
- Python自动化办公 | 如何实现报表自动化?
- java 4级_《软件测试人员(Java)(4级)》【价格 目录 书评 正版】_中国图书网
- 视频编码格式——h264优点
- Oracle中insert into select from用法、table (fn_split())用法、select中的as扩展替代字段用法、Oracle序列
- 实验室设备管理系统mysql
- Webkit内核探究【1】——Webkit简介
- 时尚漂亮的充电头,苹果安卓都能用,Anker安芯充20W上手
- 7-38 寻找大富翁 (25 分)
- 背景差法目标识别python_运动目标检测(4)—背景差分法
- 【渝粤教育】 国家开放大学2020年春季 1308外国文学专题 参考试题
- 18行的python快递查询