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 密码系统 安全证明 内容小结相关推荐

  1. 基于身份的密码体制 BF IBE 2001 方案及安全性证明 内容小结

    基于身份的密码体制 BF IBE 2001 方案及安全性证明 内容小结 密码学可证明安全推荐书目(系列博客内容为这两本书学习笔记与内容小结): <密码学中的可证明安全性>杨波 :清华大学出 ...

  2. ZSS 协议在随机谕言机下的安全证明 内容小结

    ZSS 协议在随机谕言机下的安全证明  内容小结 密码学可证明安全推荐书目(系列博客内容为这两本书学习笔记与内容小结): <密码学中的可证明安全性>杨波 :清华大学出版社 <Intr ...

  3. 2022智能制造世界与中国十大科技进展内容小结

    2022智能制造世界与中国十大科技进展内容小结 1. 全断面隧道掘进装备行业工业互联网平台 2. 大型复杂构件机器人原位高效高质量铣削加工技术及装备 3. 西门子SNC-原生数字化工厂 4. 亚马逊 ...

  4. c语言将一个字符输出三遍,C语言字符相关部分内容小结

    很多初涉编程的同学,在有些知识点上不够系统化或者说不能够将知识点联系起来,甚至对有些知识点有妖魔化的趋势,先说一下,这点是完全没有必要的,对于程序的编写,我个人认为这是一件很有美感的事情,所以不必预先 ...

  5. python周志_Python几周学习内容小结

    环境配置 学习python首先是要配置环境,我们选择了Anaconda. 什么是Anaconda:专注于数据分析的python发行版本. 为什么选择Anaconda:省事省心,分析利器 至于下载和安装 ...

  6. HTML简单内容小结(1)

    一1,一个简单的html文件 <html> <head> <title>这是第一个网页<\title> <\head> <body&g ...

  7. makefile内容小结

    makefile中每个功能主要分为三部分:目标,依赖条件和命令语句 1.支持对比更新的Makefile写法(只会编译文件时.o文件和.c文件时间不一致的文件) 2.使用makefile自动变量和自定义 ...

  8. 『嗨威说』数据结构 - 第七章学习内容小结

     本文基本索引目录:  一.查找的基本概念和专业术语 二.顺序查找算法   三.二分查找算法 四.二叉排序树算法   五.平衡二叉树算法 六.B树简介   七.散列表查找 八.作业例题展示 九.自我总 ...

  9. Netty工作笔记0072---Protobuf内容小结

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152

最新文章

  1. 【Java集合框架】ArrayList类方法简明解析(举例说明)
  2. No 'Access-Control-Allow-Origin' header is present on the requested resource.
  3. Android之简单了解Android OS内部机制
  4. golang 协程同步 简介
  5. 做一些Spring AOP做过的事,封装 jdk动态代理成为一个黑盒子
  6. 刷新后控制TAB键到下一个控件
  7. 通过相似性或相异指数的数值分布比较群落Beta多样性高低
  8. 电脑小米路由器设置虚拟服务器,小米路由器在Win7系统中设置网络映射教程
  9. Java学习lesson 02
  10. ★★★常用的【兼容IE和火狐FF】等浏览器的js方法★★★★★★★★
  11. drupal mysql_Drupal MySQL查询优化
  12. 学习笔记14-C语言-小项目-通讯录
  13. PCL中使用FLANN库(2)
  14. java空间大战,看这篇足矣了!
  15. iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9443 -j DNAT
  16. ES6、7学习笔记(尚硅谷)-5-箭头函数
  17. 感染所有html病毒代码,非常简单的病毒代码汇总
  18. CICD篇-Travis-CI环境搭建
  19. powerdesigner 16.5 破解步骤
  20. html的悬停图片圆形,css3炫酷圆形图片鼠标滑过特效

热门文章

  1. 计算机音乐数字乐谱洋娃娃和,洋娃娃和小熊跳舞电子琴谱
  2. 解锁 2022 Google 游戏开发者峰会 | 游戏业务稳步发展
  3. Cocos2d-x 3.2 大富翁游戏项目开发-第十三部分 购买空地
  4. 安拆网分享:钢板桩的强大
  5. catkin工作区 各文件夹功能
  6. 粉色的“任天堂”,清纯女孩悠悠的笑
  7. 无人驾驶:制作鸟瞰图,路径规划,路径跟踪,调试摄像头,测速度,测角度
  8. 侠客C#营销软件开发
  9. 关于蓝牙异常断开的问题
  10. php mysql抽奖转盘_PHP实现大转盘抽奖算法