量子数字签名概述
我们都知道,基于量子力学原理研究密钥生成和使用的学科称为量子密码学。其内容包括了量子密钥分发、量子秘密共享、量子指纹识别、量子比特承诺、量子货币、秘密通信扩展量子密钥、量子安全计算、量子数字签名、量子隐性传态等。虽然各种技术发展的状态不同,但是共同目标都是为了实现抵抗量子计算带来的威胁。在之前的文章中,博主对量子密钥分发进行了大量的讨论。本文我们对量子数字签名进行简单的讨论。
1.什么是量子数字签名
首先我们快速总结下什么是数字签名。我们都知道信息安全的主要目标是要实现信息传输的机密性、完整性、真实性和不可否认性。数据的加解密主要是解决传输的机密性。那么完整性、真实性和不可否认性具需要用其他手段来解决,这就是数字签名的作用。数字签名的官方概念为:附加到数据单元或对数据单元进行密码转换的数据,可让数据单元的接收方证明数据单元来源和完整性,以防止伪造。经典数字签名的典型流程如下:
经典的数字签名主要是利用Rivest-Shamir-Adleman(RSA)协议,它的安全性是基于复杂的大数质因数分解问题,然而这个问题容易受到量子计算机的攻击。经典数字签名和经典加密一样,面临着密钥被量子计算破解的风险,并且传统的量子数字签名也在理论和工程实践中存在各种各样的安全风险,因此基于量子力学基础的数字签名概念被提了出来。含有RSA加密的经典数字签名过程如下:
与经典数字签名相比,QDS的安全性依赖于量子力学,因此QDS可以抵抗量子攻击。量子数字签名方案的灵感来自于Lamport的一次性签名,有兴趣的同学可以先了解下这个方案。Gottesman和Chuang在2001年提出了量子数字签名(Quantum Digital Signatures,QDS)协议的概念,可以简称为GC-QDS协议。其核心思想是利用非正交态不能被完美区分的事实来实现量子单向函数,其中无法反转是基于量子力学的定律保证而不是基于计算的假设。但是这个签名协议在实验过程中有很大的技术挑战,包括非破坏量子态的比较,长时间的量子存储和安全的量子信道。因此,当前量子数字签名的研究主要集中在如何实用化。
早期QDS的研究者们提出的协议有很强的不切实际的假设,且需要用到量子纠缠的资源。随着 QKD研究的不断深入,制备测量类的QKD协议渐渐成熟与可实用化,使得弱化QDS 的假设条件成为可能。目前实用化的QDS 协议大多是融合了QKD 协议中量子阶段的过程,QDS 与 QKD 逐渐趋同而异用。相同点是量子阶段基本类似,使用同一平台的硬件系统与协议的量子过程部分;不同点是QKD基本在双方或三方之间进行,而QDS至少需要三方,有些QDS协议需要多次实施量子阶段的操作,另外,两者的后处理与应用方面大有不同,也即软件上有很大区别。
2.量子数字签名的基本过程
量子数字签名有三个比较明显的特征:不可抵赖性、不可伪造性和可转移性。本文以三方来介绍QDS的过程。整个签名的参与方包含发送方Alice,接收方Bob和Charlie,一条消息的签名方只能有一个。对于信道的要求为Alice和Bob,Alice和Charlie之间存在认证的经典信道,量子信道无需认证,可以是不安全的。Bob和Charlie之间需要有一条安全的经典信道用来加密经典信息,比如存在一条QKD链路。
QDS协议的过程可以分为两个阶段,分发阶段和消息阶段。分发阶段用于生成签名所需要的密钥,包括量子信息和经典信息的传输。消息阶段是签名和发送消息的过程,包括在接收方的验证与认证,这一阶段全都是经典通信对经典信息的处理。
首先为分发阶段:
- 对于可能签名的消息m=0或1,Alice使用密钥生成协议(Key Generation Protocol,KGP)分别独立的与Bob和Charlie产生密钥串。
- Bob和Charlie通过私密信道进行密钥对称操作,即各自随机选取一半密钥保留,另一半与对方交换。
上述分发阶段中,KGP过程为QKD的量子部分,即产生筛后密钥即可,不需要对筛后密钥进行纠错和保密放大等后处理过程。Bob和Charlie进行的密钥交换过程不能为Alice所知,因此Alice不知道交换的密钥位置,以此来抵御Alice的抵赖。此外,Bob和Charlie 随机选取自己的一半密钥进行交换,这就使得 Bob 和 Charlie 不知道对方保留的那一半的密钥,这就防止了签名的伪造。
分发阶段完成密钥分配后,进行消息阶段:
- Alice采用与Bob和Charlie的密钥对消息进行签名,并将签名发送给Bob;
- Bob用自己的密钥与签名中对应的部分进行比对,如果小于预设的阈值,那么就接受签名,并将签名转发给Charlie;
- Charlie用自己的密钥与签名中对应的部分进行比对,如果小于预设的阈值,那么就接受签名,否则就拒绝;
这里只是进行一个量子数字签名的最简单模型理解,实际的过程和操作还是很复杂的,有兴趣的同学可以进一步通过本文的参考文献深入了解。
3.量子数字签名的典型应用
目前国内在专利检索结果来看,量子数字签名已经有了一些应用场景。近期比较值得关注的是中国人民大学的尹华磊课题组演示首个“量子电子商务”。基于一次性全域哈希量子数字签名理论提出了首个量子电子商务方案,在国际上首次实现了五用户的量子电子商务应用场景演示,为完整的电子商务交易流程提供了无条件的安全性保证。在此次研究中,研究团队将量子数字签名作为一个底层技术,通过含噪声量子态的隐私特性、一次性全域哈希函数的单向性和秘密共享的非对称特性而构建了一个无条件安全的量子电子商务协议。该量子电子商务协议可以容忍量子密钥的部分隐私泄露,因此在后处理阶段不需要进行复杂的隐私提纯操作,在大规模网络和大数据传输的情景下可以节省可观的计算资源、网络带宽和数据处理时间。
4.写在最后
本文对量子数字签名进行了简单的讨论,客观来讲,量子数字签名目前处于工程化向实用化转变的阶段,作者对这个技术的理解也不是很深入,本文只是进行一个很初步的介绍,后期针对目前具有实用意义的方案可以做进一步讨论。
本文如有谬误之处,还望不吝指出。
5.主要参考文献
[1]张春辉,新型量子密码的方案设计与实验验证[D]
[2]尹华磊,实用化量子通信若干理论与实验研究[D]
[3]陈家明,量子数字签名理论研究[D]
[4]张昊,实用化量子数字签名理论与实验研究[D]
[5]尹华磊,量子电子商务—量子数字签名实用化之路[J]
———————分割线———————
下面是博主的CSDN主页,里面还有其他的量子相关文章,欢迎大家围观并关注博主~我会持续更新量子领域各类博文。
关于量子的一切-CSDN博客https://quantum.blog.csdn.net/
相关文章:

量子数字签名概述
我们都知道,基于量子力学原理研究密钥生成和使用的学科称为量子密码学。其内容包括了量子密钥分发、量子秘密共享、量子指纹识别、量子比特承诺、量子货币、秘密通信扩展量子密钥、量子安全计算、量子数字签名、量子隐性传态等。虽然各种技术发展的状态不同…...

算法题——合并 k 个升序的链表
题目描述: 合并 k 个升序的链表并将结果作为一个升序的链表返回其头节点。 数据范围:节点总数 0≤n≤50000≤n≤5000,每个节点的val满足 ∣val∣<1000∣val∣<1000 要求:时间复杂度 O(nlogn) 一、常见解法 (…...

智能制造与精益制造的模型搭建
现行制造模式分析I-痛点改善思路-管控省优四化推行...

快速生成生产级Go应用的利器——Cgapp
简介 CGAPP是一个强大的命令行工具,开发者通过简单的命令就可以快速搭建起一个完整的Go项目框架。这个框架不仅包括后端服务,还可以集成前端代码和数据库配置,大大简化了项目的初始化过程。 安装 安装CGAPP的过程非常简单。首先࿰…...

MySQL基本语法、高级语法知识总结以及常用语法案例
MySQL基本语法总结 MySQL是一种广泛使用的关系型数据库管理系统,其基本语法涵盖了数据库和数据表的创建、查询、修改和删除等操作。 一、数据库操作 创建数据库(CREATE DATABASE) 语法:CREATE DATABASE [IF NOT EXISTS] databa…...

单片机(学习)2024.10.11
目录 按键 按键原理 按键消抖 1.延时消抖 2.抬手检测 通信 1.通信是什么 2.电平信号和差分信号 3.通信的分类 (1)时钟信号划分 同步通信 异步通信 (2)通信方式划分 串行通信 并行通信 (3)通信方向划分 单工 半双工 全双工 4.USART和UART(串口通信&a…...

Java创建型模式(二)——工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式、工厂模式扩展等完整详解,附有代码——案例)
文章目录 五.工厂模式5.1 概述5.2简单工厂模式5.2.1 概述5.2.2 结构5.2.3 实现5.2.4 优缺点5.2.5 扩展—静态工厂 5.3 工厂方法模式5.3.1概述5.3.2 结构5.3.3 实现5.3.4 优缺点 5.4 抽象工厂模式5.4.1 概述5.4.2 结构5.4.3 实现5.4.4 优缺点5.4.5 使用场景 5.5 工厂模式扩展 五…...

C++学习,容器类 <set>
C 标准库中的 <set> 是一个关联容器,它存储了一组唯一的元素,并按照一定的顺序进行排序。<set> 提供了高效的元素查找、插入和删除操作。它是基于红黑树实现的,因此具有对数时间复杂度的查找、插入和删除性能。 声明集合&#x…...

Cisco Catalyst 9000 交换产品系列 IOS XE 17.15.1 发布下载,新增功能概览
Cisco Catalyst 9000 Series Switches, IOS XE Release 17.15.1 ED 思科 Catalyst 9000 交换产品系列 IOS XE 系统软件 请访问原文链接:https://sysin.org/blog/cisco-catalyst-9000/,查看最新版。原创作品,转载请保留出处。 作者主页&…...

Python知识点:基于Python技术,如何使用MMDetection进行目标检测
开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候! 使用MMDetection进行目标检测的Python技术详解 MMDetection是一个开源的目标检测…...

Chromium HTML Tags与c++接口对应关系分析
一、HTML 标签(HTML Tags) <a> <head> <img>等等这些标签在c中的接口是如何定义和查找的呢? 更多标签参考: HTML <a> target 属性 (w3school.com.cn) 二、html_tag_names.json5 (third_party\blink\renderer\core\html\htm…...

React Fiber 解析:前端性能提升密码
文章目录 背景React 采用 fiber 主要为了解决哪些问题?性能问题:用户体验问题: 为什么在 React 15 版本中性能会差:浏览器绘制原理:react 15 架构和问题 那么 fiber 怎么解决了这个问题?任务“大”的问题递…...

【吊打面试官系列-微服务面试题】微服务架构如何运作?
大家好,我是锋哥。今天分享关于【微服务架构如何运作?】面试题,希望对大家有帮助; 微服务架构如何运作? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 微服务架构是一种将单一应用程序构建为一组小型、独…...

Windows系统编程 - 目录操作、磁盘、卷信息
前言 各位师傅大家好,我是qmx_07,今天继续讲解Windows系统编程的相关知识:目录操作 目录 目录操作 创建目录 通过CreateDirectory函数创建目录 原型: BOOL CreateDirectoryA([in] LPCSTR lpPathName,//目录名称[in, opt…...

搭建SaaS知识库:优化教育机构的在线教学效能
随着信息技术的飞速发展,教育领域正经历着前所未有的变革。在线教学已成为教育机构提供灵活学习体验、扩大覆盖范围、提升教学效率的重要手段。然而,如何在海量资源与复杂教学场景中高效管理知识,确保教学质量,成为教育机构面临的…...

CSS中backdrop-filter详解
文章目录 CSS中backdrop-filter详解一、引言二、backdrop-filter基础1、基本概念1.1、基本语法 2、滤镜函数2.1、代码示例 三、实际应用1、创建模糊背景1.1、代码示例 2、结合其他CSS属性2.1、代码示例 四、总结 CSS中backdrop-filter详解 一、引言 在现代网页设计中…...

AI测试入门:理解 LLM 的基准测试(Benchmark)
AI测试入门:理解 LLM 的基准测试(Benchmark) 1. 基准测试的定义2. 基准测试的目的3. 基准测试的常用指标4. 基准测试的流程5. 常用的AI基准测试框架总结1. 基准测试的定义 LLM 的基准测试是一种评估 LLM 的标准化方法,通过使用预定义的数据集、任务和评估指标,对LLM 在特定…...

InternVid:用于多模态视频理解与生成的大规模视频-文本数据集 | ICLR Spotlight
InternVid 是一个开源的大规模视频-文本数据集,旨在促进视频理解和生成任务的发展,由上海人工智能实验室与南京大学、中国科学院等单位联合发布,相关的工作已经被ICLR2024接收。它包含超过 700 万个视频,总时长近 76 万小时&#…...

Hive数仓操作(十)
一、Hive 分页查询 在大数据处理中,分页查询是非常常见的需求。Hive 提供了 LIMIT 和 OFFSET 关键字来方便地进行分页操作。本文将详细介绍它们的用法。 1. 基本用法 LIMIT:用于限制查询结果的行数。OFFSET:用于指定从哪一行开始检索。 2…...

Android 扩大View的点击区域
文章目录 Android 扩大View的点击区域使用padding属性使用TouchDelegate使用getLocationOnScreen监听 Android 扩大View的点击区域 使用padding属性 通过设置 padding 属性扩大点击区域。 使用: <?xml version"1.0" encoding"utf-8"?&…...

[Qt学习笔记] 解决QTextEdit数据过多UI卡死问题
背景问题 在项目中使用QTextEdit显示软件的日志信息,由于在连续输出日志信息,刚开始QTextEdit显示没什么问题,长时间就会出现UI界面卡死,内存占用变高。晚上查了说QTextEdit的append函数如果不释放会累计增加内存,包括…...

OgreNext高级材质中增加线宽,点大小,虚线模式绘制支持
修改Ogre高级材质系统,增加线宽,点大小,虚线模式,虚线参数的支持,效果如下: 需要修改的代码文件如下: 修改如下 代码文本: //范围[0.2 - 51] 0.2 * [0,255];Ogre::uint8 mLineWidth;//范围[…...

STM32中的DMA数据转运——下篇
STM32中的DMA数据转运——上篇-CSDN博客 在上篇文章中,我们讨论了STM32中的DMA(直接存储器访问)及其工作原理、存储器类型和总线设计。接下来,我们将更深入地探讨DMA的具体配置方法、常见应用场景以及一些实际设计中的注意事项。…...

51单片机的智能小区安防系统【proteus仿真+程序+报告+原理图+演示视频】
1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块时钟模块温度传感器烟雾传感器CO传感器红外感应传感器IC卡蓝牙继电器按键、蜂鸣器、LED等模块构成。适用于智能小区安防、智能家居安防等相似项目。 可实现功能: 1、LCD1602实时显示北京时间、温度、烟雾浓度和CO浓…...

数仓建模流程
数仓建模简介 一句话总结 数仓建模中的“建模”是一个将数据有序组织和存储起来的过程,旨在提高数据的使用效率和降低使用成本。 详细描述 在数仓建模中,“建模”指的是构建数据模型,也就是数据的组织和存储方法。数据模型强调从业务、数…...

Neo4j CQL语句 使用教程
CREATE命令 : CREATE (<node-name>:<label-name>{ <Property1-name>:<Property1-Value>........<Propertyn-name>:<Propertyn-Value>} )字段说明 CREATE (dept:Dept { deptno:10,dname:“Accounting”,location:“Hyderabad” })&#…...

STM32-HAL库 驱动DS18B20温度传感器 -- 2024.10.8
目录 一、教程简介 二、驱动理论讲解 三、CubeMX生成底层代码 四、Keil5编写代码 五、实验结果 一、教程简介 本教程面向初学者,只介绍DS18B20的常用功能,但也能满足大部分的运用需求。跟着本教程操作,可在10分钟内解决DS18b20通信难题。…...

HTML 符号
HTML 符号 HTML(超文本标记语言)是一种用于创建网页的标准标记语言。它使用一系列的标签来描述网页的结构和内容。HTML 符号,通常指的是 HTML 标签,是构成 HTML 文档的基础。本文将详细介绍 HTML 符号的概念、种类、用途以及如何在网页设计中正确使用它们。 HTML 符号的概…...

编译后的MySQL安装
MySQL安装 1.下载网址2.下载方式3.配置配置环境变量修改配置文件初始化安装服务启动服务测试修改 Mysql 默认密码 1.下载网址 https://dev.mysql.com/downloads/mysql/2.下载方式 选择对应版本下载 mysql-xxx-winx64.zip,该压缩包为编译后文件,并非源码…...

Ubuntu安装Apache教程
系统版本:Ubuntu版本 23.04 Ubuntu是一款功能强大且用户友好的操作系统,而Apache是一款广泛使用的Web服务器软件。在Ubuntu上安装Apache可以帮助用户搭建自己的网站或者进行Web开发。为大家介绍如何在Ubuntu上安装Apache,并提供详细的教程和操…...