CWOTS – Concise WOTS
L’un des problèmes posés par les signatures à usage unique de Winternitz (WOTS) basées sur un hachage réside dans la longueur des clés et des signatures.
KeeeX dévoile un nouveau schéma prenant en charge des adresses de signature publiques de la taille d’un hachage (généralement 256 bits ou 32 octets pour SHA-256), des clés publiques de la taille de deux hachages (par exemple 64 octets) plus un paramètre de mode, et des signatures présentant la même taille et les mêmes attributs.
En raison de sa concision, ce schéma est baptisé « Concise Winternitz One Time Signatures », ou CWOTS.
Les éléments requis pour signer sont une clé privée de 256 bits, une seed de 256 bits et un mode indiquant comment la seed est utilisée tout au long du processus (laissée inchangée ou pivotée et/ou hachée à chaque niveau de la chaîne). Les éléments nécessaires à la vérification sont une clé publique de 256 bits, une seed de 256 bits et un mode. Un HMAC de 256 bits de ces éléments de vérification peut être partagé comme preuve de capacité à signer (un peu comme une adresse de destination dans l’univers de la cryptographie), appelé PSCR (Public Signing Capacity Record).
Tout comme ce que le Bitcoin a popularisé, la preuve de propriété d’une clé publique peut être partagée avec le PSCR sans en révéler les détails jusqu’à la publication d’une signature effective.
ICWOTS – CWOTS tenant compte de l’identité
Comme indiqué, les signatures CWOTS sont « à usage unique », ce qui s’explique par le fait que chaque signature publiée révèle une partie des chaînes de hachage, ce qui réduit la robustesse de la clé publique. Un mécanisme de somme de contrôle garantit que la réutilisation n’est pas totalement impossible, mais celle-ci reste déconseillée. Les cas d’utilisation de telles signatures à usage unique existent dans l’univers de la cryptographie et constituent la principale motivation du schéma BIP32. Ils deviennent également de plus en plus pertinents en raison des attaques quantiques potentielles contre la cryptographie asymétrique utilisant l’algorithme de Shor. Cependant, les schémas WOTS et CWOTS souffrent de l’absence d’une définition traçable de l’identité qui couvrirait un nombre potentiellement illimité de signatures.
Pour y remédier, les spécifications dévoilées pour la première fois dans le document PDF « Concise One Time Hash Based Signatures DRAFT 5 » (1) proposent également un cadre permettant de lier des signatures à usage unique à un schéma d’identité à l’aide de chaînes de hachage ouvertes s’appuyant sur une approche « commit-reveal ».
Code de démonstration
Nous publions également une archive contenant une implémentation JavaScript de démonstration de CWOTS (2)
Avertissement
L’ensemble de la proposition n’a pas fait l’objet d’une vérification cryptographique.
(1) keeexed as “xokok-depeh-pypyb-kokyb-nohud-kigih-fonev-dupyv-bonih-cydon-hinof-lehod-visim-hucek-zosov-lefap-mexyx“
(2) keeexed as “xegav-gumuk-cakut-fopap-lekyk-muhem-nuneb-cykaz-sefun-pyvyz-mycyf-pygam-nyhin-didyn-lazun-borus-nexyx“
