密码学:安全多方计算--比特与(茫然传输协议和数字签名)

密码学算法之数字签名和认证协议篇(一) 公钥密码学获得的最重要进展之一是数字签名。数字签名是实现对数据完整性检验、真实性认证及抗抵赖的重要技术。他提供了其他方式已以实现的安全机制。本文介绍数字签名的基本概念和依赖数字签名使用的认证协议、数字签名标准(DSS)及支持应用级认证和数字签名的认证函数。第 5 章 数字签名与认证技术。 阅读详情

数字签名

举个例子

Alice一个私钥,所有人都有一个公钥。

Alice发布自己的消息,并给自己的消息签名,用她的私钥去加密。

每个人都可以根据公钥去判断Alice消息的正确性。

这样Alice的签名就不能抵赖,不能反悔。

具体场景案例

Alice和Bob想知道对方是否爱着自己。

有以下场景

Alice 发送0或1,0表示不爱,1表示爱。

Bob也一样,发送0或1,0表示不爱,1表示爱。

现在的问题就转换成了双方想知道一个函数f的结果

函数f的定义如下:f(A,B)=A&B;

存在问题

这样看似完美解决了问题,实际产生了新的问题。

如果双方互相喜欢,那当然皆大欢喜。如果双方不互相喜欢呢,那么被“拒绝”的一方岂不是很尴尬。

传统方案

比较简单的方法,建立一个第三方,我每次把消息发给第三方,让第三方把最后的结果发给双方,这样就避免了尴尬,但是还是需要反思,能不能不存在第三方。

安全多方计算

主要是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题。

当然所有安全都有前提条件

一个安全多方计算协议,如果对于拥有无限计算能力攻击者而言是安全的,则称作是信息论安全的或无条件安全的;如果对于拥有多项式计算能力的攻击者是安全的,则称为是密码学安全的或条件安全的。

已有的结果证明了在无条件安全模型下,当且仅当恶意参与者的人数少于总人数的1/3时,安全的方案才存在。而在条件安全模型下,当且仅当恶意参与者的人数少于总人数的一半时,安全的方案才存在。

也就是说,这个最终的需求是为了满足在没有第三方的条件下,达到和有第三方一样的效果。

茫然传输协议(OT协议)

A向B发送消息,B有可能收到A的消息,也可能没收到B的消息。

而发送者A对于发送消息的两种可能性是不知道的,也就是说是茫然的。

为了清晰的说明,换回上面的案例。

Alice向Bob表示爱意,M0表示不爱,M1表示爱。如果Bob不爱,那么输出C变为M0,如果Bob爱,那么C变为M1,此时Alice对Bob的心意是茫然的。用数学公式表达

C:=OT((A0,A1),B),注意接受方且能仅能获取A0和A1.

下面就是如何产生这个OT函数。

实现方法一:

1.Alice写好两条消息即爱与不爱,随机生成两对密钥(sk0,pk0),(sk1,pk1),用sk0和sk1分别加密,把pk0和pk1发送给Bob,Bob接受时,根据爱与不爱的选择pk0或pk1,同时生成一个随机的对称密钥K,将结果x:Enc(pkx,K)加密发送给Alice。

2.分析以上情景,不难分析出两个情况。

当Bob的选择为0时,K0=K,当选择为1时K1=K,

然后Alice接受方计算有:

K0:=Dec(sk0,X),K1:=Dec(sk1,X)

C0:=E(K0,A0),C1:=E(K1,A1)

从而Ab=D(K,Cx),x=0或1。

实现方法二:

利用OT协议:

Alice消息设置为(A0,A1)即为(0,A),Bob发送自己的消息,即为1/2-OT协议,当且仅当A=B=1时,Bob所得的结果才会为1,所以Bob的所得同比特与运算A&B的结果相等,Bob输出自己的所得与运算作为运算结果。

为A&B=OT((0,A),B),即实现了上述功能。

复试-密码学问答 2022年考研复试时,复习密码学总结的内容,若有错误的地方请指出! 阅读详情

相关推荐

网络安全与密码学

一、密码学是一门研究信息安全保密的学科,主要涉及对信息进行加密、解密以及相关的安全技术和理论。它通过使用各种加密算法和技术,将明文信息转换为密文,以确保信息在传输和存储过程中的保密性、完整性和真实性。密码学在通信、电子商务、金融、军事等领域都有着广泛的应用。密码学包括对称加密、非对称加密、哈希函数、数字签名等重要内容。同时,密码学也在不断发展和创新,以应对不断变化的安全挑战。大家要注意的是我们平时用来认证身份的密码(passwd)翻译成口令更准确。

weixin_61074128的博客 3246

隐私计算具体用java 如何实现

的示例代码,实际的隐私计算系统可能需要更多的安全措施和算法,以确保数据隐私得到充分的保护。选择合适的库和框架:Java 语言提供了许多密码学库和框架,例如 BouncyCastle、JCE、Spring Security 等,可以根据实际需求选择合适的库和框架来实现隐私计算功能。保证安全性:隐私计算是一种保护数据隐私的计算方法,因此在实现时需要采取严格的安全措施,以保证数据的安全性和隐私性。Alice 和 Bob 分别将对方发送过来的加密值减去自己的随机数,得到对方的输入值的加密值。

heihei_100的博客 1607

密码学原理与应用课件

本文还有配套的精品资源,点击获取 简介:《应用密码学》是一门全面介绍密码学基础理论和实际应用的课程,内容包括密码学的概念、历史、数学基础、对称与非对称加密算法、哈希函数、消息认证码、以及密码学的高级主题。本课件适合希望全面了解密码学的读者,有助于在信息安全和数据保护领域深入应用。 1. 密码学基本概念与历史 密码学作为保障信息安全的基石,其发展历程伴随着人类...

weixin_42309599的博客 1038

如何在Java中实现高效的协同学习:从联邦学习到隐私保护

联邦学习(Federated Learning)是协同学习的一种重要形式,旨在通过在本地设备上训练模型,并只共享模型参数而非数据,来保护数据隐私。在联邦学习中,除了模型参数的共享外,还可以进一步采用隐私保护技术,如差分隐私(Differential Privacy)和安全多方计算(Secure Multi-Party Computation, MPC),以增强数据的安全性。这些领域对数据隐私有着严格的要求,通过联邦学习和隐私保护技术,可以在不泄露敏感信息的前提下,充分利用分布式数据资源,提升模型性能。

微赚淘客系统开发者博客 1162

FairplayMP:FairplayMP 提供安全的多方计算

在开始之前,请注意当前的 FairplayMP 需要多台物理/虚拟机来运行它。 参考:[] 先决条件 ant 1.8 , java FairplayMP 指令 阶段 1 - SFDL 计划: 用SFDL2.0语言编写你的程序,你可以使用项目网站中的SFLD2.0规范和示例。 (您可以在包中看到 SecondPriceAuction.sfdl 示例)。 从编译器目录中,使用以下命令编译您的程序: cp sfdl/SecondPriceAuction.sfdl compiler_v1_built/SecondPriceAuction-tocompile.sfdl cd compiler_v1_built/compiler java lab.Runner -f ../SecondPriceAuction-tocompile.sfdl cd .. ruby Convertor.rb Seco

SMETANA 安装使用教程

关于SMETANA的安装和简单使用信息

qq_44940977的博客 1167

【安全多方计算】百万富翁问题

​百万富翁问题是姚期智先生在1982年提出的第一个安全双方计算问题,两个百万富翁街头邂逅,他们都想炫一下富,比比谁更有钱,但是出于隐私,都不想让对方知道自己到底拥有多少财富,所以要在不借助第三方的情况下,知道他们之间谁更有钱。............

qq_45764888的博客 5148

在Jetson Orin (Arm64)上从Ubuntu22.04回退至20.04的完整指南及ROS-noetic适配方案

本文提供了在Jetson Orin (Arm64)设备上将Ubuntu 22.04系统回退至20.04 LTS版本的完整操作指南。针对机器人开发中ROS-noetic对Ubuntu20.04的官方最佳支持,详细阐述了从关键备份、软件源与APT优先级配置、系统降级执行到后续问题排查的全过程,并附带了在Arm64架构上成功安装和验证ROS-noetic的适配方案,旨在为开发者构建稳定可靠的机器人开发环境。

flower的专栏 579

多方安全计算概述

MPC起源于姚期智院士在1982年提出的百万富翁问题。自MPC理论创立以来,已经衍生出多个技术分支,包括混淆电路、秘密分享、同态加密,不经意传输,隐私集合交集和差分隐私等。

E_chos的博客 5505

6-2 GPU GART 绑定机制与 TLB 失效

本文详细解析了AMD GPU的GART(Graphics Address Remapping Table)绑定机制实现。主要内容包括: 绑定流程:从ttm_tt_bind()到硬件PTE更新的完整调用链,重点分析amdgpu_gart_bind()函数实现。 关键函数: amdgpu_gart_bind():执行安全检查、记录映射关系、更新页表等操作 amdgpu_gart_map():将CPU页映射为多个GPU页并填充PTE amdgpu_gmc_set_pte_pde():处理硬件特定的PTE格式 内存

图形/计算GPU的驱动与虚拟化技术分享园地 2646

数据分析案例-对某宝用户评论做情感分析

目录 原始数据 绘制词云图 情感分析 原始数据 原始数据为某宝一商品的用户评论数据 绘制词云图 # coding=utf-8 import jieba import re import wordcloud import imageio # 打开需要分析词频的文本 with open('淘宝评论3.0.txt', encoding='utf-8') as f: data = f.read() # 文本预处理 :去除一些无用的字符只提取出中文出来 new_data

m0_64336780的博客 1万+

对比表格:数字签名方案、密钥交换协议、密码学协议、后量子密码学——密码学基础

数字签名是现代信息安全体系中的基石,它为数字通信提供了身份验证、数据完整性和不可否认性。想象一下,在物理世界中,你用独特的笔迹签署文件;在数字世界中,数字签名扮演着类似角色,但提供了更强的安全保障。

开源AI 专属 UI——papyrai-ui。《千界明彻录》(故事形式构建元思维)——胡说小说。更多思辨内容在公众号。 2316

Data+AI━━数仓建模的智能进化之路!

Data+AI━━数仓建模的智能进化之路!

ith321的博客 1744

Java应用中的密码学实践:PKI、数字签名与安全传输协议实现

PKI 是一个用于管理和分发数字证书的框架,它允许我们验证通信双方的身份,并确保数据传输的完整性和机密性。

weixin_41455464的博客 965

【020】C++ 动态内存管理解析:new 和 delete 的正确使用

C++中的动态内存分配是在程序运行时根据需要进行内存空间的分配和释放,与静态内存分配相比,具有更大的灵活性和适应性。动态内存分配可以通过new和delete或者malloc()和free()等函数实现。在程序运行时无法确定所需的内存大小。需要在多个函数之间共享数据,并且数据可能被频繁地创建和销毁。静态数组无法满足需求,例如需要支持可变长度数组。如果在动态分配内存后忘记了释放它,则会导致内存泄漏。为避免内存泄漏,可以使用智能指针或手动管理内存的方式来释放动态分配的内存。

Lion_Long的博客 1470

SAP PCE 到底有没有 AI 能力:从标准功能、Joule、ABAP 扩展到项目落地的完整解读

摘要:SAP S/4HANA Cloud Private Edition(PCE)已深度集成AI能力,主要体现在三个方面:1)标准业务流程中的AI辅助功能(如财务分录生成、维修单据处理);2)通过Joule提供的自然语言交互入口,支持业务导航和部分事务处理;3)开发者可通过ABAP AI SDK与BTP平台集成实现扩展。PCE不是独立AI平台,企业级自定义AI需结合SAP BTP实现。AI能力已深度融入财务、制造等业务场景,但关键业务仍需人工审核。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 330

现代密码学|密码学基本概念|流密码|分组密码|公钥体制|密码分配与管理|消息认证|数字签名|密码协议

现代密码学 文章目录**现代密码学**@[toc]第一章1、密码学的基本概念、分类2、安全目标与攻击类型3、信息安全的基本要求4、凯撒、弗吉尼亚密码5、Kerckhoffs原则6、单多表代换与置换密码单表代换多表代换置换密码7、频率分析攻击8、我国商用密码举例第二章1、完善保密性2、熵3、一次一密本4、流密码第三章1、分组密码概念、方法2、**Feistel**密码结构的特点3、常见分组密码算法4、运行模式及特点第四章1、对称与公钥密码对比2、公钥密码体制3、RSA算法4、椭圆曲线密码5、El Ganmal

qq_47234534的博客 6227

STM32入门教程:无人机控制

我们将会一步一步引导您完成无人机的控制代码,包括无人机的姿态控制、飞行控制和通信控制等。第三步:配置无人机姿态控制 无人机的姿态控制是指控制无人机在空中的倾斜和转向。为了实现姿态控制,我们需要使用加速度计和陀螺仪传感器来获取无人机的姿态信息,并使用PID控制算法来控制无人机的姿态。在这一步骤中,您需要根据您使用的具体传感器和控制算法的要求进行更详细的配置和编码。在通信控制中,您需要考虑到通信的稳定性和可靠性。第五步:通信控制 无人机的通信控制是指与地面站或其他设备进行通信,传输飞行数据和接收飞行指令。

m0_75244442的博客 747

密码学的100个基本概念

密码学作为信息安全的基础,极为重要,本文回顾并总结了密码学中的100个基本概念,供大家学习参考!

聚集机器学习、信息安全 2万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

密码学系列之七:数字签名

在当今数字化的信息世界里,数字化文档的认证性、完整性和不可否认性是实现信息安全的基本要求。数字签名是满足上述要求的主要手段之一,也是现代密码学的主要研究内容之一。本文首先介绍数字签名的基本概念和基本原理,然后介绍几种常用的数字签名实现方案,最后介绍数字签名的扩展。

聚集机器学习、信息安全 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

密码学Hash函数、消息认证码、数字签名和用户认证

在安全应用中使用的Hash函数称为密码学Hash函数 密码学Hash函数要求两种情况在计算上不可行(即没有攻击方法比穷举更有效): 对预先指定的Hash值找到对应的数据块(单向性) 找到两个不同的数据块对应相同的Hash值(抗碰撞性) Hash函数被用于判断数据是否被篡改过(数据完整性) Hash函数的操作过程: 输入数据的长度首先被填充为某固定长度(如1024位)分组的整数倍,填充的内容包...

王较瘦的博客 8832

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

密码学与加密通信: 解析密码学基础、加密算法、数字签名和安全通信协议,探讨保护数据传输的技术。

在数字化时代,数据的安全性和隐私保护变得至关重要。随着互联网的普及,人们的个人信息、商业机密以及敏感数据需要在网络传输中得到保护,这就是密码学及其在加密通信中的作用所在。本文将深入探讨密码学的基础知识、常见的加密算法、数字签名技术以及安全通信协议,旨在帮助读者理解如何利用密码学技术来保护数据传输的安全性。

baidu_38876334的博客 666

密码学基础:从加密到数字签名

1.背景介绍 密码学是计算机科学的一个重要分支,它涉及到保护信息的安全传输和存储。密码学技术广泛应用于网络通信、金融交易、军事通信等领域。本文将从加密到数字签名的角度,深入探讨密码学的基本概念、算法原理、实现方法和未来发展趋势。 2. 核心概念与联系 密码学的核心概念包括: 密码学的发展历程 密码学的主要领域 密码学的基本概念和术语 密码学与其他领域的联系 1. 密码学的发展历程 ...

AI天才研究院 1003

密码学与安全协议:核心概念与应用解析

②TLS 1.3:简化握手、强制前向安全、废弃不安全算法(如RSA密钥交换、SHA-1)。③握手优化:TLS 1.3实现1-RTT(普通模式)和0-RTT(快速恢复会话),降低延迟。证书体系(PKI):①数字证书:包含公钥、持有者信息、CA签名(如X.509证书)。候选算法:NIST正在标准化的Lattice-based(格基)、Hash-based(哈希)加密方案。②ESP(封装安全载荷):支持加密和认证。加密套件配置:优先选择前向安全的算法(如ECDHE)、禁用已破解算法(如RC4、DES)。

SCIS588的博客 1369

密码学是如何保护数据传输的安全性?

SSL(Secure Sockets Layer)代表安全套接层,最初由网景公司开发,用于在网络通信中建立Web浏览器和Web服务器之间的加密链接。TLS(Transport Layer Security)代表传输层安全,是IETF(Internet Engineering Task Force,互联网工程任务组)在1999年将SSL 3.0协议规范进行了标准化后的产物,被视为SSL的继任者。

软件行业技术文化交流。 1449

数字签名和数字证书使用详解

需要注意的是,这个例子中使用的密钥库文件和密码都是保存在代码中的,实际使用中应该使用更安全的方式来保存密钥库和密码。需要注意的是,这个例子中使用的密钥库文件和密码都是保存在代码中的,实际使用中应该使用更安全的方式来保存密钥库和密码。以下是使用Java进行数字签名的实例,该实例使用了Java标准库中的java.security包和java.util.Base64包,签名过程包括:生成密钥对、使用私钥签名数据,验证过程包括:使用公钥验证签名。然后,它将数字签名添加到请求头中,并发送 HTTP POST 请求。

swadian2008的博客 1万+
上一篇: 密码学数论基础:求同余二次根
下一篇: 填坑之旅:前后端分离Springboot+Vue基于Ueditor实现富文本(包含上传图片文件公式等所有操作,服务器端实现)
Tate_Brown
博客等级 码龄9年 39粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值