【后量子密码】SPHINCS+ 算法(二):签名与验签(附源码分析)

一、前言

SPHINCS+ 具有高度的安全性和抗量子特性,同时具有较高的效率和灵活性,因此被NIST选为其后量子密码标准化计划的标准算法之一。SPHINCS使用了XMSS的许多组件,但使用更大的密钥和签名来消除状态。SPHINCS+的工作方式与SPHINCS相似,但与 SPHINCS 有以下区别:

  1. FORS (Forest Of Random Subsets) 是 SPHINCS+ 中用于对消息进行签名的少次签名方案,它代替了 SPHINCS 中使用的 HORST (Hash to Obtain Random Subset with Tree)。FORS 允许使用更少的密钥对来签名相同数量的消息,从而提高了效率。同时,FORS 还提供了更强的安全性,因为它使用了更多的哈希函数。
  2. SPHINCS+ 引入了一种公开可验证的方法来选择叶子索引。
  3. SPHINCS+ 引入了 tweakable hash functions 概念,这使得可以将哈希基础签名方案的安全性分析统一起来。tweakable hash functions 允许在哈希函数中引入一个 tweak 参数,从而使得可以生成多个相关但不同的哈希函数。这样可以避免攻击者利用相同的哈希函数对多个签名进行攻击。

二、算法概述

本节介绍SPHINCS+ 算法的密钥生成、签名与验签。

SPHINCS+ 算法的参数:

  • n n

你可能感兴趣的:(密码工程,SPHINCS+,后量子密码)