密码学系列1-安全规约

news/2024/9/23 18:18:23/

本篇介绍了安全性规约的概念,双线性映射,常见困难性问题(离散对数CDH,DDHBDH)。

一、大家初看密码方案的时候,一定迷惑于为什么论文用大篇幅进行安全性证明。为什么需要证明安全性呢?

比如一个加密方案,若定义安全性为敌手得不到完整密文,那么敌手就很有可能有能力得到部分密文。而安全的加密方案应该使得敌手得不到任何有用的消息。利用安全性规约,我们能够很优雅、规范、严谨地证明我们方案能够达到的安全性。

二、通常是将我们的方案归约到某一个公认的困难性问题上(如离散对数等).证明思路是如果存在算法攻破我们的方案,那么就可以构造算法攻破公认的困难性问题。(后面详细举例)

严谨来说:首先确定密码算法的安全目标,如加密的CCA安全等,然后构造形式化的敌手模型和实验,把密码算法归约到对已知困难性问题的攻击,这就是可证明安全

下面给出以下常见的困难性问题例子:
例如:离散对数问题:给定 g , c = g a (


http://www.ppmy.cn/news/1437966.html

相关文章

python读取pdf表格并合并为excel

import pdfplumber import pandas as pd import os from openpyxl import load_workbook from datetime import datetime # page_chars最尾部的非空字符 def tail_not_space_char(page_chars):i -1while page_chars[i].get(text).isspace():i i - 1# print(page_chars[i].get…

HCIP-Datacom-ARST必选题库_01_ACL【7道题】

一、单选 1.下面是一台路由器的部分配置,关于该配置描述正确的是: 源地址为1.1.1.1的数据包匹配第一条ACL语句rule 0,匹配规则为允许 源地址为1.1.1.3的数据包匹配第三条ACL语句rule 2,匹配规则为拒绝 源地址为1.1.1.4的数据包匹配第四条ACL语句rule 3,匹配规则为允…

头歌Java实验面向对象高级

第1关:类的继承和super关键字 package step1;class Animal{String name;public void shout(){System.out.println(this.name "发出叫声");}public Animal(String name) {this.name name;} }// ---------------------Begin------------------------ //编…

C++及QT的线程学习

目录 一. 线程学习 二. 学习线程当中,得到的未知。 1. 了解以下MainWindow和main的关系 2. []()匿名函数 有函数体,没有函数名. 3. join和detach都是用来管理线程的生命周期的,它们的区别在于线程结束和资源的回收。 4. operator()() 仿…

深度学习每周学习总结P5(运动鞋识别)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 –来自百度网盘超级会员V5的分享 数据链接 提取码:9539 目录 0. 总结1. 数据导入及处理部分2. 加载数据集3.模型构建部分3.1…

问答机器人学习资料

longchain 5 分钟内搭建一个免费问答机器人:Milvus LangChain-腾讯云开发者社区-腾讯云 chatglm大模型 基于本地知识的问答机器人langchain-ChatGLM 大语言模型实现方法详解_python_脚本之家 探索QRobot:智能对话与聊天机器人的开源奇缘-CSDN博客 如何…

Python爬虫(入门版)

1、爬虫是什么 简单的来说:就是用程序获取网络上数据。 2、爬虫的原理 如果要获取网络上数据,我们要给爬虫一个网址(程序中通常叫URL),爬虫发送一个HTTP请求给目标网页的服务器,服务器返回数据给客户端&am…

kotlin根据文件的filePath转化为uri

方法实现 使用File类来创建一个文件对象,然后通过FileProvider来获取文件的URI import android.content.Context import android.net.Uri import androidx.core.content.FileProvider import java.io.Filefun getFileUri(context: Context, filePath: String): Ur…