Die Schnorr-Signatur ist eine kryptographische Methode zur Berechnung und Prüfung digitaler Signaturen. Sie wurde in den Jahren 1989 bis 1991 von dem deutschen Mathematiker Claus Peter Schnorr ausgehend von der Schnorr-Identifikation entwickelt und publiziert. Das Signaturverfahren ist aus dem verwandten Identifikationsverfahren, auch Zero-Knowledge-Beweisverfahren genannt, entstanden. Im Gegensatz zur Fiat-Shamir-Identifikation ist keine mehrstufige Interaktion notwendig. Anders als bei der Schnorr-Identifikation wird beim Signaturverfahren eine Hashfunktion benötigt. Es wird nicht zwingend eine kollisionsresistente Hashfunktion benötigt, anders als beim Digital Signature Algorithm. Die Sicherheit beruht praktisch allein auf der Schwierigkeit den sogenannten diskreten Logarithmus in endlichen Gruppen zu berechnen. Ist diese Berechnung praktisch nicht möglich, kann die Signatur nur geprüft, aber ohne den privaten Schlüssel nicht berechnet werden.
Die Verfahren zur Identifikation und zur Signatur wurden von Claus Peter Schnorr patentiert.[1][2] Die Schutzfrist ist inzwischen abgelaufen. Das Patent war exklusiv an das Unternehmen RSA lizenziert. Auch das deutsche Unternehmen Siemens hat eine nicht-exklusive Lizenz erworben. Schnorr warf im Rahmen der Standardisierung IEEE P1363 dem amerikanischen National Institute of Standards vor, mit dem von ihm entwickelten Signatur-Verfahren, Digital Signature Algorithm (DSA), sein Patent zu verletzen.[3]
Die Sicherheit des Verfahrens ist nur gegeben, wenn die Ordnung der Untergruppe hinreichend groß ist. Die Signatur kann sonst mit der Pollard-Rho-Methode gefälscht werden. Die von Professor Schnorr vorgeschlagene Größenordnung für die Gruppenordnung q mit 140 Bits[4] kann heute nicht mehr als ausreichend bewertet werden.