量子数字签名概述
我们都知道,基于量子力学原理研究密钥生成和使用的学科称为量子密码学。其内容包括了量子密钥分发、量子秘密共享、量子指纹识别、量子比特承诺、量子货币、秘密通信扩展量子密钥、量子安全计算、量子数字签名、量子隐性传态等。虽然各种技术发展的状态不同,但是共同目标都是为了实现抵抗量子计算带来的威胁。在之前的文章中,博主对量子密钥分发进行了大量的讨论。本文我们对量子数字签名进行简单的讨论。
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"?&…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...
ArcPy扩展模块的使用(3)
管理工程项目 arcpy.mp模块允许用户管理布局、地图、报表、文件夹连接、视图等工程项目。例如,可以更新、修复或替换图层数据源,修改图层的符号系统,甚至自动在线执行共享要托管在组织中的工程项。 以下代码展示了如何更新图层的数据源&…...
shell脚本质数判断
shell脚本质数判断 shell输入一个正整数,判断是否为质数(素数)shell求1-100内的质数shell求给定数组输出其中的质数 shell输入一个正整数,判断是否为质数(素数) 思路: 1:1 2:1 2 3:1 2 3 4:1 2 3 4 5:1 2 3 4 5-------> 3:2 4:2 3 5:2 3…...