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. mysql中文长方形_MySql 5.7 中文文档 - 12.16.9.2 使用最小边界矩形的空间关系函数 | Docs4dev...
  2. 关于网络编程中MTU、TCP、UDP、IP
  3. XMPP协议简单介绍
  4. deepin下载python_深度操作系统中怎样下载python?
  5. matlab批量修改txt内容_MATLAB作图实例:18:为饼图添加文本标签和百分比
  6. 【实践驱动开发3-003】TI WL1835MODCOM8 在android的移植 - 软件获取2
  7. 2021-07-25 野火板子25MHz晶振改为正点原子8MH晶振
  8. MySQL 连接报错:mysql access denied for user@ip
  9. MySQL快速上手[学习笔记](二)
  10. Python自动化办公 | 如何实现报表自动化?
  11. java 4级_《软件测试人员(Java)(4级)》【价格 目录 书评 正版】_中国图书网
  12. 视频编码格式——h264优点
  13. Oracle中insert into select from用法、table (fn_split())用法、select中的as扩展替代字段用法、Oracle序列
  14. 实验室设备管理系统mysql
  15. Webkit内核探究【1】——Webkit简介
  16. 时尚漂亮的充电头,苹果安卓都能用,Anker安芯充20W上手
  17. 7-38 寻找大富翁 (25 分)
  18. 背景差法目标识别python_运动目标检测(4)—背景差分法
  19. 【渝粤教育】 国家开放大学2020年春季 1308外国文学专题 参考试题
  20. 18行的python快递查询

热门文章

  1. mysql数据库链接中断_mysql 数据库链接中断报错分析
  2. 杰理之频偏校准过程【篇】
  3. dbi,天线方向图,全方向性天线……这些概念里的坑
  4. 头歌(educoder)第 4 章 Java入门之方法 Java入门 - 方法的使用
  5. 王争数据结构与算法之美开篇问题整理
  6. python导入模块的常用方法有哪些_python导入模块的方法有哪些
  7. py2to3——如何将Python2项目升级为Python3项目
  8. iPhone重绘机制drawRect
  9. Spark与hdfs delegation token过期的排查思路总结
  10. mvc 模型验证及正则表达式