模糊性隐身签名-程序员宅基地

技术标签: 密码学  云计算  

SS:STEALTH SIGNATURES隐身签名

SSw/o和SSw
SSw/o是没有密钥暴露的隐形签名
SSw是无线安全暴露的隐形签名,这个unbounded key-exposure说的是敌手计算能力无限的情况下,攻击方以一定概率破解加密机制。
隐身签名定义
1;隐 形 签 名 (SS)方 案 由六概率多项式时间(PPT)算 法(MKGen、 OPKGen、OSKGen、 Track、 Sign、 Vf)组 成 , 定 义 如 下 。
(mpk, msk, mtk)← MKGen(λ):主 密 钥 生 成 算 法 以 安 全 参 数 λ 为输入,输出主公钥mpk、 主 秘 钥 msk、 主 跟 踪 密 钥 mtk。
(opk, tki)← OPKGen(mpk):一 次 性 公 钥 生 成 算 法 以 主 公 钥 mpk为输入,输出一次性公钥opk和 跟 踪 信 息 tki。
osk/⊥ ←OSKGen(msk, opk, tki):一 次 性 密 钥 生 成 算 法 以 主 密 钥 msk、 一次性公钥opk和 跟 踪 信 息 tki作 为 输 入 , 输 出 一 个 一 次 性 密 钥osk或 一 个 特 殊 符 号 ⊥ 。
true/false← Track(mtk, opk, tki):跟 踪 算 法 以 主 跟 踪 密 钥 mtk、一次性公钥opk、 跟 踪 信 息 tki作 为 输 入 , 输 出 true或 false。
σ⊥ ← Sign(osk, m):签 名 算 法 以 一 次 性 秘 钥 osk, 和 一 个 消 息 M作为输入,输出一个签名σ或者一 个 特 殊 符 号 终止符⊥ 。
true/false←Vf(opk, m,σ ):验 证 算 法 将 一 次 性 公 钥 opk、 一 个 消息M和 一 个 签 名 作 为 输 入 , 输 出 true或 false。

正确性的概念形式化如下。
定义2(正 确 性 )。 一 个 SS方 案(MKGen, OPKGen, OSKGen,Track, Sign, Vf)被 认 为 是 正 确 的 , 如 果 对 于 所 有 的 ∈ N, 所 有(mpk, msk, mtk)← MKGen(OPKGen, mpk), 所 有 osk← OSKGen
(msk, opk, tki), 我 们 有 以 下 条 件 同 时 成 立 :
•we have Pr[Track(mtk, opk, tki) = true] = 1
•we have Pr[Vf(opk, m, Sign(osk, M))= true] = 1,请注意,有时我们不需要完美的正确性,而拥有正确概率1−negl(λ)就 足 够 了 。

定义7(模糊隐身签名)。模糊隐身签名(F-SS)方案是一种SS方案(MKGen,OPKGen,OSKGen,Track,Sign,Vf),附加接口(FTKGen,FTrack)定义如下。
(opk,tki,ftki)←OPKGen(mpk):重载OPKGen接口,输出模糊跟踪信息ftki。
ftk←FTKGen(mtk,ρ):模糊跟踪密钥生成算法以主跟踪密钥mtk和假阳性率ρ为输入,输出一个模糊跟踪密钥ftk。
true/false←FTrack(ftk,ftki):模糊跟踪算法以模糊跟踪键ftk作为输入,模糊跟踪信息ftki,输出true或false。

我们在下面定义了正确性的概念。我们从[6]中借用了模糊的概念,并将其应用于隐身签名设置。直观地说,模糊跟踪的正确性说明,对于不匹配的模糊跟踪密钥和一次性公钥,模糊跟踪算法以ρ的概率返回true。对于匹配正确的模糊跟踪密钥和一次性公钥,跟踪算法总是返回true。

定义8(模糊跟踪的正确性)。一个F-SS方案(MKGen,OPKGen,OSKGen,Track,Sign,Vf,FTKGen,FTrack)被认为是正
确的,如果原SS方案是正确的,并且对于所有的∈N,所有的ρ∈(0,1)使得log2ρ∈Z,所有(mpk,msk,mtk)←MKGen(),所有(opk,tki,ftki)←OPKGen(mpk),所有osk←OSKGen(msk,opk,tki),所有ftk←FTKGen(mtk,ρ),我们有以下同时成立的条件:
•Pr[FTrack(ftk,ftki)=true]=1
•对于任意ftki’∈SUPP(OPKGen(mpk)),有
在这里插入图片描述
不可伪造性的概念与图3中相同,因为这个概念中的对手已经可以访问主跟踪密钥。模糊跟踪的不可链接性确保了它在计算上对攻击者来说是不可实现的,给定两个模糊跟踪密钥,它们在同时跟踪一次性公钥(opkB、ftkiB)时都返回真或假,从而将(opkB、ftkiB)与正确的跟踪密钥(ftk0或ftk1)关联起来。如果攻击者能够正确地猜出关联不可忽略地大于1/2,则被认为违反了这一概念。

定义9(带有密钥暴露和模糊跟踪的不可链接性)。F-SS(MKGen,OPKGen,OSKGen,Track,Sign,Vf,FTKGen,FTrack),
如果存在一个可忽略的函数negl,对于所有的∈N,所有的ρ∈(0,1)使得log2ρ∈Z,并且对于所有的PPT对手A,以下成立:
在这里插入图片描述

其中UNLNKfw−ke的定义见图5。
在这里插入图片描述
数字签名的传统安全要求为在自适应选择消息攻击下满足存在不可伪造性( existential unforgeability under adaptive chosen message a attacks,EUF- CMA ) EUF-CMA要求:已知公钥pk,概率多项式时间( probability polynomial-time, PPT)攻击者在获得它希望得到的有效数据签名后,能够为新数据M*计算出有效签名的概率是可忽略的.如果数字签名方案满足上述安全要求,那么有效的数字签名能让数据接收者相信其收到的数据没有被篡改,且数据的发送方就是相应公钥pk的拥有者。

SEUF-CMA
  strong existential unforgeability under weak chosen message attacks.
  弱选择消息攻击下的强存在不可伪造性。

digital signature DS 数字签名

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2022年7月5日,NIST公布提前选中并将进行标准化的算法,其中包括用于非对称加密和KEMs的CRYSTALS-KYBER、用于数字签名的CRYSTALS-Dilithium、FALCON及SPHINCS+。其中,NIST推荐CRYSTALS-Kyber算法用于保护通过公共网络交换信息的通用加密,推荐其余三种算法用于身份认证。以上四种算法均在2024年之前支持NIST未来的加密标准。

此外,NIST推荐将BIKE、Classic McEliece、HQC、SIKE算法进入第四轮筛选进程。

(二)标准化算法情况

1.非对称加密和密钥封装机制(KEMs)

CRYSTALS-Kyber是基于格理论的PQC算法,其安全性基于假定的硬件模块的容错性学习 (MLWE) 问题。在保障安全性的同时兼具加密密钥相对较小、交换数据量小、运行速度快的特点。同时,Kyber的硬件、软件及混合设置、抗侧信道攻击等性能在同类型算法中位于前列,专利障碍问题较少,在未来具有较大的使用前景。

2.数字签名

Crystals-Dilithium是基于格理论的数字签名方案,其安全性依赖于MLWE和模块短整数的强度解决问题 (MSIS) 并遵循Fiat-Shamir与中止技术。该算法在密钥和签名大小方面具有强大而平衡的性能,并且密钥生成、签名和验证算法的效率在实际验证中表现良好。

Falcon是一种利用“散列和符号”范式的基于格的签名方案,其安全性依赖于短整数解(SIS)问题在NTRU格算法上的难度,以及随机预言机模型 (ROM) 和QROM 中的安全证明递减。该算法提供了最小的带宽,提供非常好的整体性能。

Sphincs+是一种基于散列的无状态签名方案,其安全性依赖于关于底层散列函数安全性的假设。该算法提供了可靠的安全保证,但会导致性能上的巨大成本。NIST 将该算法视为极其保守的选择,同时也是标准化算法中的唯一哈希算法,成为其余格密码受威胁背景下的备选方案。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xhdll/article/details/137922990

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签