量子数字签名概述

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

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协议的过程可以分为两个阶段,分发阶段和消息阶段。分发阶段用于生成签名所需要的密钥,包括量子信息和经典信息的传输。消息阶段是签名和发送消息的过程,包括在接收方的验证与认证,这一阶段全都是经典通信对经典信息的处理。

     首先为分发阶段:

  1. 对于可能签名的消息m=0或1,Alice使用密钥生成协议(Key Generation Protocol,KGP)分别独立的与Bob和Charlie产生密钥串。
  2. Bob和Charlie通过私密信道进行密钥对称操作,即各自随机选取一半密钥保留,另一半与对方交换。

      上述分发阶段中,KGP过程为QKD的量子部分,即产生筛后密钥即可,不需要对筛后密钥进行纠错和保密放大等后处理过程。Bob和Charlie进行的密钥交换过程不能为Alice所知,因此Alice不知道交换的密钥位置,以此来抵御Alice的抵赖。此外,Bob和Charlie 随机选取自己的一半密钥进行交换,这就使得 Bob 和 Charlie 不知道对方保留的那一半的密钥,这就防止了签名的伪造。

     分发阶段完成密钥分配后,进行消息阶段:

  1. Alice采用与Bob和Charlie的密钥对消息进行签名,并将签名发送给Bob;
  2. Bob用自己的密钥与签名中对应的部分进行比对,如果小于预设的阈值,那么就接受签名,并将签名转发给Charlie;
  3. Charlie用自己的密钥与签名中对应的部分进行比对,如果小于预设的阈值,那么就接受签名,否则就拒绝;

       这里只是进行一个量子数字签名的最简单模型理解,实际的过程和操作还是很复杂的,有兴趣的同学可以进一步通过本文的参考文献深入了解。

3.量子数字签名的典型应用

       目前国内在专利检索结果来看,量子数字签名已经有了一些应用场景。近期比较值得关注的是中国人民大学的尹华磊课题组演示首个“量子电子商务”。基于一次性全域哈希量子数字签名理论提出了首个量子电子商务方案,在国际上首次实现了五用户的量子电子商务应用场景演示,为完整的电子商务交易流程提供了无条件的安全性保证。在此次研究中,研究团队将量子数字签名作为一个底层技术,通过含噪声量子态的隐私特性、一次性全域哈希函数的单向性和秘密共享的非对称特性而构建了一个无条件安全的量子电子商务协议。该量子电子商务协议可以容忍量子密钥的部分隐私泄露,因此在后处理阶段不需要进行复杂的隐私提纯操作,在大规模网络和大数据传输的情景下可以节省可观的计算资源、网络带宽和数据处理时间。

4.写在最后

      本文对量子数字签名进行了简单的讨论,客观来讲,量子数字签名目前处于工程化向实用化转变的阶段,作者对这个技术的理解也不是很深入,本文只是进行一个很初步的介绍,后期针对目前具有实用意义的方案可以做进一步讨论。

      本文如有谬误之处,还望不吝指出。

5.主要参考文献

[1]张春辉,新型量子密码的方案设计与实验验证[D]

[2]尹华磊,实用化量子通信若干理论与实验研究[D]

[3]陈家明,量子数字签名理论研究[D]

[4]张昊,实用化量子数字签名理论与实验研究[D]

[5]尹华磊,量子电子商务—量子数字签名实用化之路[J]

 ———————分割线———————

      下面是博主的CSDN主页,里面还有其他的量子相关文章,欢迎大家围观并关注博主~我会持续更新量子领域各类博文。

关于量子的一切-CSDN博客icon-default.png?t=O83Ahttps://quantum.blog.csdn.net/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/55066.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FreeRTOS学习总结

背景:在裸机开发上,有时候我们需要等待某个信号或者需要延迟时,CPU的运算是白白浪费掉了的,CPU的利用率并不高,我们希望当一个函数在等待的时候,可以去执行其他内容,提高CPU的效率,同…

windows修改文件最后修改时间

一、需要修改日期的文件 背景:有时候我们需要做一些文件定期删除的操作,但是测试时候并不一定有符合测试的文件,这时候就需要可以方便的修改文件的最后修改时间。 系统环境:windows 测试文件:如上 修改时间方式:windows 脚本。 二、测试脚本 (1) 脚本 # 指定文件路径 …

自然语言处理:第五十三章 Ollama

代码: ollama/ollama: Get up and running with Llama 3.1, Mistral, Gemma 2, and other large language models. (github.com) 官网: Ollama 写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!! 写在前面: 笔者更新不易…

Android Framework默认授予app通知使用权限

安卓通知使用权限 在安卓系统中,应用程序需要获取通知使用权限才能向用户发送通知。以下是关于安卓通知使用权限的一些信息: 权限获取方式 当用户安装应用时,系统可能会在安装过程中提示用户授予应用通知权限。用户可以选择允许或拒绝。 应…

架构设计笔记-18-安全架构设计理论与实践

知识要点 常见的安全威胁: 信息泄露:信息被泄露或透露给某个非授权的实体。破坏信息的完整性:数据被非授权地进行增删、修改或破坏而受到损失。拒绝服务:对信息或其他资源的合法访问被无条件地阻止。攻击者向服务器发送大量垃圾…

OCM认证考试须知:掌握这些关键点,轻松应对考试

在Oracle认证体系中,OCM(OracleCertifiedMaster)是最高级别的认证。它代表了在Oracle数据库技术领域的顶尖水平。 OCM认证不仅要求你具备深厚的理论知识,还要求你能够解决复杂的数据库问题,并具备高级的项目管理能力。…

数据结构期中代码注意事项(二叉树及之前)1-11

注意&#xff1a;链表为空。是否越界访问。每写一步都要思考该步是否会有越界&#xff08;多/少&#xff09;等问题。这一步是否有不能走的条件&#xff08;删除的时候不为空&#xff09;。只有该节点开辟了空间&#xff0c;该节点才能被指向。能用c就用c。#include <iostre…

TensorRT-LLM七日谈 Day4

在Day2 中&#xff0c;我们梳理了trt-llm对于TinyLLama的调用&#xff0c;在Day3,我们也熟悉了一下Trt-llm常规的三步流程。 这里其实有个问题&#xff0c;在针对tiny-llama的部署中&#xff0c;其实没有显式的进行模型转换&#xff0c;那麽其推理接口中到底包含了什么&#x…

46 C 语言文件的打开与关闭、写入与读取函数:fopen、fclose、fputc、fputs、fprintf、fgetc、fgets、fscanf

目录 1 文件的存储形式 2 打开文件——fopen() 函数 2.1 功能描述 2.2 函数原型 2.3 文件打开方式&#xff08;模式&#xff09; 3 关闭文件——fclose() 函数 3.1 功能描述 3.2 函数原型 4 常见的文件写入方式 4.1 fputc() 函数 4.1.1 功能描述 4.1.2 函数原型 4…

windows自动化(一)---windows关闭熄屏和屏保

电脑设置关闭屏幕和休眠时间不起作用解决方案 一共三个方面注意&#xff1a; 一、关闭屏保设置&#xff1a; 二、电源管理设置 三、关闭盖子不做操作&#xff1a; 第一点很重要&#xff0c;就算二三都做了&#xff0c;一没做&#xff0c;照样不行。

一篇python的pandas数据分析,分组与聚合使用!

在数据分析中,数据分组与聚合是常用的操作,能够帮助我们从大量数据中提取出有用的信息.我们讨论了描述性统计,了解了如何通过均值、方差等统计量概述数据的特征.而在本篇中,我们将学习如何对数据进行分组和聚合,以便进行更深入的分析.最后,我们将在后续的章节中使用这些分析结果…

PHP政务招商系统——高效连接共筑发展蓝图

政务招商系统——高效连接&#xff0c;共筑发展蓝图 &#x1f3db;️ 一、政务招商系统&#xff1a;开启智慧招商新篇章 在当今经济全球化的背景下&#xff0c;政务招商成为了推动地方经济发展的重要引擎。而政务招商系统的出现&#xff0c;更是为这一进程注入了新的活力。它…

ES(Elasticsearch)SSL集群部署

8.x后ES不在需要自行准备JDK环境&#xff0c;部署的服务包含ES、Kibana、Logstash&#xff0c;使用二进制方式部署&#xff0c;为了提高安全性&#xff0c;加密logstash、kibana及其他客户端到ES间的通信。 1、准备工作 1.1、 es无法使用root用户启动 useradd -m -s /bin/bas…

WebGl 使用uniform变量动态修改点的颜色

在WebGL中&#xff0c;uniform变量用于在顶点着色器和片元着色器之间传递全局状态信息&#xff0c;这些信息在渲染过程中不会随着顶点的变化而变化。uniform变量可以用来设置变换矩阵、光照参数、材料属性等。由于它们在整个渲染过程中共享&#xff0c;因此可以被所有使用该着色…

【C#网络编程】基础概念2

文章目录 网络、数据包和协议网络数据包协议TCP、UDP 地址客户端和服务器套接字 网络、数据包和协议 计算机网络通过通信通道互连的机器组成&#xff0c;通常把这些机器称为主机和路由器&#xff0c;主机是是运行应用程序&#xff08;如 Web 浏览器&#xff09;的计算机。路由器…

决战Linux操作系统

前言&#xff1a; 你是否也曾经为Linux所困扰过&#xff0c;在网上找的资料零零散散&#xff0c;是否学完Linux后还是懵懵懂懂&#xff0c;别怕&#xff0c;这篇博客是博主精心为你准备的&#xff0c;现在&#xff0c;就让我们一起来走进Linux的世界&#xff0c;决战Linux&…

一文详解数据库范式

背景 在开发中&#xff0c;我们经常需要考虑如何设计合适的表结构&#xff0c;而则往往需要考虑数据库的范式。数据库的三范式&#xff08;3NF&#xff09;是数据库设计过程中用来减少数据冗余和提高数据一致性的重要规则。它们分别是第一范式&#xff08;1NF&#xff09;、第二…

oracle数据坏块处理(一)-通过rman备份修复

表有坏块时&#xff0c;全表查询会报错&#xff1a; 这时候如果有前面正常的rman备份&#xff0c;那么我们就可以通过rman备份直接对数据文件块做恢复 先对数据文件做个逻辑检查&#xff1a; RMAN> backup check logical VALIDATE DATAFILE EXB_DATA/exb/datafile/cuteinf…

C#中Assembly3个获取路径的方法

在C#中&#xff0c;经常要获取路径 &#xff0c;可以通过Assembly的三个重载方法来获取&#xff0c;如下所示这三个分别是GetCallingAssembly、GetEntryAssembly和GetExecutingAssembly。 string tmpEntryPath Assembly.GetEntryAssembly().Location;string tmpExeasmPath As…

STM32CubeIDE使用ADC采用DMA重大BUG

问题描述 STM32CubeIDE 1.8.0问题 大牛攻城狮最近调试STM32L151CBT6。由于项目上使用该款芯片做控制电源使用&#xff0c;其中涉及到多路ADC的数据采样。使用STM32CubeIDE 1.8.0版本详细如下图所示 这里大概率是STM32CubeMX版本太低了&#xff0c;从图上看才是6.4.0 注意这里…