Probabilistic Signature Scheme (PSS) oder probabilistisches Signaturverfahren ist ein von Mihir Bellare und Phillip Rogaway entwickeltes kryptographisches Paddingverfahren. Im Zufallsorakelmodell kann mit dem PSS aus einer Falltürpermutation ein beweisbar sicheres Signaturverfahren konstruiert werden.

Verfahren

PSS wurde entwickelt, weil es für die damals existierenden Signaturverfahren keine Sicherheitsbeweise gab, die die Sicherheit des Signaturverfahrens in eine enge Beziehung zur Schwierigkeit des dem Verfahren zugrundeliegenden Problems setzten. Ein solcher Beweis konnte für PSS mit Hilfe von Zufallsorakeln, die ideale kryptologische Hashfunktionen modellieren, angegeben werden.

Signieren

Das Verfahren benutzt eine Hashfunktion H {\displaystyle H} und wird durch drei Werte parametrisiert:

  • k {\displaystyle k} , die Bitlänge der Menge auf der die Permutation operiert
  • k 0 {\displaystyle k_{0}} , die Länge der Zufallszahl
  • k 1 {\displaystyle k_{1}} , die Ausgabelänge der Hashfunktion H {\displaystyle H}

Zum Signieren wird die Nachricht M {\displaystyle M} zusammen mit einer Zufallszahl r {\displaystyle r} zu einem Wert w = H ( M | r ) {\displaystyle w=H(M|r)} gehasht. Da r {\displaystyle r} zur Verifikation benötigt wird, wird sie mit g 1 ( w ) {\displaystyle g_{1}(w)} maskiert. Eine weitere Funktion liefert g 2 ( w ) {\displaystyle g_{2}(w)} , die k k 0 k 1 1 {\displaystyle k-k_{0}-k_{1}-1} fehlenden Bits. Aus dem Bitstring y = 0 | w | r {\displaystyle y=0|w|r} {\displaystyle \oplus } g 1 ( w ) | g 2 ( w ) {\displaystyle g_{1}(w)|g_{2}(w)} ist nun mittels der geheimen Umkehrung der Einwegpermutation die Signatur s = P 1 ( y ) {\displaystyle s=P^{-1}(y)} berechnet.

Verifizieren

Um eine Signatur s {\displaystyle s} einer Nachricht M {\displaystyle M} zu verifizieren, wird zuerst y = P ( s ) {\displaystyle y=P(s)} berechnet und in b | w | r | s {\displaystyle b|w|r'|s'} geparst. Dann wird die Zufallszahl r = r g 1 ( w ) {\displaystyle r=r'\oplus g_{1}(w)} wiedergewonnen und überprüft, dass w = H ( M | r ) {\displaystyle w=H(M|r)} , s = g 2 ( w ) {\displaystyle s'=g_{2}(w)} und b = 0 {\displaystyle b=0} ist. Falls diese Bedingungen erfüllt sind, ist die Signatur gültig, andernfalls nicht.

Varianten RSA-PSS

1996 beschrieben Bellare und Rogaway in ihrem Papier die Kombination von PSS mit RSA als Falltürpermutation. Im Zufallsorakelmodell ist RSA-PSS existentially unforgeable under chosen-message attacks (EUF-CMA) unter der RSA-Annahme.

RSA-PSS ist in einer Variante im PKCS#1 ab Version 2.1 standardisiert. Insbesondere wird in diesem Standard die Nachricht zuerst gehasht; dies soll den Einsatz von Smartcards mit geringer Bandbreite als Signaturkarten ermöglichen.

RSA-PSS ist Teil des großen Herstellerstandard Public-Key Cryptography Standards (PKCS), welcher schrittweise in Request for Comments (RFC) überführt wurde. Die Weiterentwicklung von RSAPSS erfolgt nur noch über RFC-Veröffentlichungen.

Normen und Standards

  • RFC: 8017 – Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.2. 2016 (englisch).
  • RFC: 4056 – Use of the RSASSA-PSS Signature Algorithm in Cryptographic Message Syntax (CMS). 2005 (englisch).
  • RFC: 5756 – Updates for RSAES-OAEP and RSASSA-PSS Algorithm Parameters. 2010 (Konvention für X.509 Zertifikate, englisch).

Einzelnachweise


Probabilistic Signature Scheme Download Scientific Diagram

Probabilistic Signature Scheme Download Scientific Diagram

The probabilistic Shiraishi model of mutational signatures. The example

Figure 2 from A Probabilistic Measure for Signature Verification based

(PDF) Combining PublicKey Encryption with Digital Signature Scheme