第五十二个知识点:选择一个先进的应用概念,如电子投票,拍卖或多方计算。这样一个系统的大致安全需求是什么

第五十二个知识点:选择一个先进的应用概念,如电子投票,拍卖或多方计算。这样一个系统的大致安全需求是什么

这是我们认为每个密码学博士一年级都应该知道的52件事中的最后一件。你可能已经收集了过去的52个博客,我们希望学生知道从理论到实践的各个方面。但关键是你需要在密码学中考虑的不仅是对遵守规则的玩家的安全,还有对不遵守规则的玩家的安全。让我们从投票、拍卖和多方计算的角度来研究这个问题。

让我们先讨论一下三个应用程序的含义。

在投票中,我们根绝投票者进行一些投票方案(得票最多者当选、多选、赞成投票或其他投票)进行选择候选人。投票应该保守秘密,仅仅合法的投票者可以进行投票,每个候选人只能投一票,投票必须是有效的(例如对于一个真正的候选人),最后的结果必须是正确的,选民不能被强迫,安全要求的名单很长。

针对拍卖,我们想要拍卖应该是隐私的,我们不能信任拍卖商,那可能有很多个物品,很多个可能的最终价格,中标的投标/价格的选择将由于某种算法,最终的输出可能需要审核。

针对多方计算(这里我们指的是一个函数在一组参与方的私有输入上的计算),安全是简单的---我们希望仅仅计算得到的函数的结果可以被暴露,任何有关输入的信息不能被泄露。然而,虽然这是一个简单的目标,功能比拍卖和投票更广泛,因为我们需要为任何函数应该能够计算。

这些场景的特点是什么?

使这些操作有趣的是,我们期望坏家伙成为协议的一部分。和简单的加密方案相比,Alice和Bob发送一个消息,我们期望Alice和Bob都是可信任的,坏家伙只能在协议外围观看。针对投票、拍卖和多方计算,我们不能信任任何人,坏人可能是一个试图投多张票的投票人,一个试图数错票数的计票人,一个试图出价并不是最高的得标人,或者一个试图计算出未中标者的价值的拍卖人等等。

协议中的各方甚至不需要遵守规则,即遵循协议。它们可以发送生成不正确但“看起来像”有效的消息,但随后会为协议生成不正确的结果。我们需要防范这种所谓的“恶意”行为。

可能会有一群坏人一起合作来击败这个系统,我们需要确定在我们的协议中我们能容忍多大的坏人联盟。在MPC中,诚实多数和不诚实多数是有很大区别的。对于诚实多数协议,我们可以确保诚实的一方总是以有效的函数输出结束。对于不诚实的多数协议,我们不能阻止不诚实的一方终止每个人的协议。

我们需要防止谁先谁后的问题。有一个单词叫做“公平”。例如,假设我们有三个投票人;A、B和C。假设投票是加密的,玩家C可以通过复制A的投票来确保被A投票支持的候选人获胜(从而找出被A投票支持的人)。这应该被阻止起来。

敌手可能在协议开始时控制一组参与方,即所谓的静态敌手。或者,随着协议的推进,对手可能会决定要腐败哪个政党,也就是所谓的适应性敌手。

可以看到,在这样的高级协议中可能存在大量的安全问题,而且确实存在大量的安全结果。实际上,每个应用程序域都会产生不同的安全属性。考虑到可能的应用协议的广泛范围,这意味着密码学要解决的一系列问题永远不会结束。

因此,密码学博士生要解决的问题层出不穷。

原文地址:https://www.cnblogs.com/zhuowangy2k/p/12249514.html

时间: 2024-12-15 03:40:36

第五十二个知识点:选择一个先进的应用概念,如电子投票,拍卖或多方计算。这样一个系统的大致安全需求是什么的相关文章

QT开发(五十二)———QML语言

QT开发(五十二)---QML语言 QML是一种声明语言,用于描述程序界面.QML将用户界面分解成一块块小的元素,每一元素都由很多组件构成.QML定义了用户界面元素的外观和行为:更复杂的逻辑则可以结合JavaScript脚本实现. 一.QML基础语法 1.Import语句 QML代码中,import语句一般写在头几行,主要用途如下:     A.包含类型的全名空间     B.包含QML代码文件的目录     C.JavaScript代码文件 格式如下: import Namespace Ver

【WPF学习】第五十二章 动画性能

通常,为用户界面应用动画只不过是创建并配置正确的动画和故事板对象.但在其他情况下,特别是同时发生多个动画时,可能需要更加关注性能.特定的效果更可能导致这些问题——例如,那些涉及视频.大位图以及多层透明等的效果通常需要占用更多CPU开销.如果不谨慎实现这类效果,运行它们使可能造成明显抖动,或者会从其他同时运行的应用程序抢占CPU时间. 幸运的是,WPF提供了几个可提供帮助的技巧.接下来的几节将学习降低最大帧率以及缓存计算机显卡中的位图,这两种技术可以减轻CPU的负担. 一.期望的帧率 正如前面所学

猫猫学iOS(五十二)多线程网络之GCD下单例设计模式

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 单例模式 1:单例模式的作用 可以保证在程序运行过程,一个类只有一个实例,而且该实例易于供外界访问 从而方便地控制了实例个数,并节约系统资源 单例模式的使用场合 在整个应用程序中,共享一份资源(这份资源只需要创建初始化1次) 简单来说,就是我弄了一个工具类,他就有一份,比如我设计了一个音乐播放器NYPlayer,这个播放器类我

Spark(五十二):Spark Scheduler模块之DAGScheduler流程

导入 从一个Job运行过程中来看DAGScheduler是运行在Driver端的,其工作流程如下图: 图中涉及到的词汇概念: 1. RDD——Resillient Distributed Dataset 弹性分布式数据集. 2. Operation——作用于RDD的各种操作分为transformation和action. 3. Job——作业,一个JOB包含多个RDD及作用于相应RDD上的各种operation. 4. Stage——一个作业分为多个阶段. 5. Partition——数据分区,

五十二.用户配额管理 云主机类型管理 、 镜像管理 网络管理 案例和实例管理 、 安装额外计算节点

1.用户和配额管理 创建myproject项目 通过Horizon创建user1用户 通过CLI创建user2用户,练习相关用户管理命令 通过Horizon和CLI对myproject进行配额调整 通过命令创建myproject项目 stack ~]# source ~/keystonerc_admin  //初始化环境变量 admin)]# openstack project create myproject 通过命令创建user2用户 admin)]# openstack user crea

JavaWeb学习总结(五十二)——使用JavaMail创建邮件和发送邮件

一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两个部分,邮件头和邮件体之间使用空行分隔. 邮件头包含的内容有: from字段  --用于指明发件人 to字段      --用于指明收件人 subject字段  --用于说明邮件主题 cc字段     -- 抄送,将邮件发送给收件人的同时抄送给另一个收件人,收件人可以看到邮件抄送给了谁 bcc字段   -- 密送,将邮件发送给收件人的同时将邮件秘密发送给另一个收件人,收件人

JAVA学习第五十二课 — IO流(六)File对象

File类 用来给文件或者文件夹封装成对象 方便对文件与文件夹的属性信息进行操作 File对象可以作为参数传递给流的构造函数 一.构造函数和分隔符 public static void FileDemo() {//构造函数演示 //可以将一个已存在或不存在的文件或目录封装成File对象 File file = new File("d:\\a.txt"); File file2 = new File("d:","a.txt"); File file

第五十二课、命令行参数的应用

一.主窗口的状态参数 1.主窗口的状态参数 (1).应用程序必须保存和恢复主窗口的状态参数(位置.大小等) 2.应用程序退出的过程 (1).收到关闭事件 (2).执行关闭事件处理函数 (3).主窗口从屏幕上消失 (4).主窗口的析构函数执行 3.一般而言 (1).应用程序在收到关闭事件时进行状态参数的保存 4.Qt中的解决方案 (1).重写关闭事件处理函数 (2).在关闭事件处理函数中保存状态参数 文本编辑器改变: AppConfig.h:增加了两个与主窗口相关的变量及相关函数,则构造函数的参数

第五十二课、c++中的抽象类和接口

一.c++中的抽象类与纯虚函数 1.面向对象中抽象的概念 (1).现实中需要知道具体图形的类型才能求面积 (2).图形类只是概念上的类型,没有具体对象 2.面向对象中的抽象类 (1).可用于表示现实世界中的抽象概念 (2).是一种只能定义类型,而不能产生对象的类 (3).只能被继承并重写相关的函数 (4).直接特征是相关函数没有完整实现 3.c++中没有抽象类的概念 (1).c++通过纯虚函数实现抽象类 (2).纯虚函数是只定义原型的成员函数 (3).一个c++类中存在纯虚函数就成了抽象类 4.