Sphincs+

Digitaal ondertekeningsschema voor post-quantumcryptografie

What is SPHINCS?

Wat is SPHINCS+?

SPHINCS+ is een stateless hash-schema voor ondertekening waarmee gegevens worden beschermd tegen aanvallen door quantumcomputers. Als oplossing voor post-quantumcryptografie is het voornaamste voordeel ervan de kleine omvang van de ondertekening, en een ondertekeningssnelheid en beveiliging die beter zijn dan die van andere schema's en eerdere versies van SPHINCS. Het schema is in 2017 voorgesteld voor het NIST post-quantumcryptografieproject en is in 2022 aangenomen als een van de eerste vier PQC-standaarden die door NIST worden aanbevolen.

SPHINCS+ is gebaseerd op SPHINCS

SPHINCS werd voor het eerst gepresenteerd in 2015. Het was ontworpen om honderden berichten per seconde te ondertekenen. Het schema heeft een totale handtekeninggrootte van 41 kB, waarbij de openbare en persoonlijke sleutels elk 1 kB groot zijn. Dit schema werd ontwikkeld in reactie op een lacune in de beveiliging van ondertekening, die het gevolg was van de volgende tekortkomingen in ondertekeningsschema's met betrekking tot quantumcomputing:

RSA en ECC zijn klein en snel, maar kunnen worden gekraakt door een quantumcomputer met behulp van het Shor-algoritme.

De kwantitatieve beveiligingsniveaus van op roosters gebaseerde ondertekening zijn niet duidelijk en kwetsbaar voor quantumcomputing.

Multivariate-quadratic ondertekening is kort en snel maar biedt geen garantie voor beveiliging op de lange termijn.

Ondertekening op basis van code resulteert in grote sleutels, en die sleutels zouden nog groter moeten zijn om gegevens te beschermen tegen quantumaanvallen.

Hash-ondertekening is snel, zorgt voor kleine sleutels en biedt bescherming tegen quantum, maar is stateful.

Om de tekortkomingen op het gebied van grootte, quantumbescherming en state op te lossen, stelde de ontwerpers van SPHINCS+ een stateless hash-schema voor ondertekening voor dat op de lange termijn "2128 beveiliging biedt tegen [quantum]aanvallers".

Verbeteringen in SPHINCS voor sterkere post-quantumcryptografie

In een poging SPHINCS te verbeteren, werkten de ontwerpers nauw samen met specialisten aan het maken van een nieuwe versie, die moest zorgen voor kleinere handtekeningen en snellere ondertekening. Deze verbeterde versie, genaamd SPHINCS+, werd in drie varianten gepresenteerd:

SPHINCS+ -SHA3 (met SHAKE 256)

SPHINCS+ -SHA2 (met SHA2)

SPHINCS+ -Haraka (met de short-input hash-functie van Haraka)

Improving SPHINCS for stronger PQC

De verbeteringen zijn:

pqc-spincs-icon-1

Bescherming tegen aanvallen op meerdere doelen

pqc-spincs-icon-2

Tree-less WOTS+ compressie van openbare sleutels

pqc-spincs-icon-3

Vervanging van few-time ondertekeningsschema HORST door FORS

pqc-spincs-icon-4

Verifieerbare indexselectie

Dankzij deze veranderingen werkt SPHINCS+ snel met handtekeninggrootten tussen 8 kb voor NIST security level 1 en 30 kb voor NIST security level 5.

Goedkeuring van NIST

In 2016 deed het Amerikaanse National Institute of Standards and Technology een oproep voor het indienen van post-quantumcryptografische schema's. De eerste ronde sloot op 30 november 2017. Er werden enkele tientallen schema's ingediend en beoordeeld.

SPHINCS+ was een daarvan en is een van de vier schema's die door NIST worden aanbevolen als acceptabele standaard voor post-quantumcryptografie en een van de slechts drie schema's die worden aanbevolen voor digitale ondertekening.