Implé­men­ta­tion du secret de Shamir

Régu­liè­re­ment, je tourne en rond et je reviens à mon point de départ. C’est le cas aujourd’­hui sur le secret de Shamir.

J’ai hésité entre l’an­cêtre ssss et le plus récent libgf­share. En pous­sant un peu j’ai iden­ti­fié d’autres implé­men­ta­tions qui se veulent plus fiables, par exemple en implé­men­tant une véri­fi­ca­tion d’in­té­grité. Plus j’avançais et plus je trou­vais d’al­ter­na­tives et de déri­vés. Le dernier étant SLIP-0039.

Je ne vous colle pas tout mais il y a au moins:

  • ssss, le dino­saure, dont l’URL origi­nale n’est même plus en ligne mais qui est encore dans Debian et qui le restera proba­ble­ment à vie. Il y a un portage Javas­cript, et même une version qui permet d’ajou­ter de nouvelles clés à un partage exis­tant.
  • libgf­share, qui par rapport à ssss permet de parta­ger un secret d’une taille infi­nie, et qui lui aussi est dans Debian proba­ble­ment à vie. Des portages JS existent mais je n’en ai pas trouvé qui permettent d’ajou­ter de nouvelles clés.
  • sss, qui se veut plus sécu­risé et qui ajoute une garan­tie d’in­té­grité du secret. Le README a la bonne idée de faire une liste d’al­ter­na­tives. Malheu­reu­se­ment je n’ai pas vu de portage JS et je n’ai pas forcé­ment envie de le faire moi sur un objet mathé­ma­tique que je ne comprends pas. Il ne semble de toutes façons pas parti­cu­liè­re­ment connu hors de github.
  • sssa, qui semble avoir plusieurs implé­men­ta­tions, mais à priori ni récentes ni très utili­sées.
  • SLIP39, qui va beau­coup plus loin, avec des notions de groupes sur deux niveaux, une véri­fi­ca­tion d’in­té­grité. Il y a l’avan­tage d’un stan­dard établi (à priori pour des ques­tions de block­chain. Il y a même un portage JS, mais j’ai eu peur de complexi­fier inuti­le­ment la procé­dure de récu­pé­ra­tion manuelle.

Bref, j’ai fini par exac­te­ment la même conclu­sion que l’autre fois : Je préfère quelque chose de simple, éprouvé, et le fait de pouvoir ajou­ter des nouvelles clés après coup a un énorme avan­tage.

J’ai donc amélioré une vieille implé­men­ta­tion de ssss, et je vais partir de là.

Comments

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *