Sureté et réalisation du schéma à seuil (k, n) de Shamir ?
5 réponses
David MENTRE
Bonjour,
Je suis intéressé par une réalisation du schéma de chiffrage à seuil (k,
n) de Shamir[1], typiquement pour partager un secret de quelques
centaines de bits (clé de 256 bits) voire quelques millier de bits (clé
privé GPG).
Le schéma de Shamir me semble réalisable, mais avant de me lancer dans
le code j'ai quelques questions :
1. Est-ce que ce schéma est toujours valable ? Est-ce qu'il existe
d'autres approches plus sûres ?
2. Est-ce que vous connaissez une réalisation de ce schéma, de
préférence dans du code connu (GnuPG, openssl, ...) ou pourquoi pas
un code en OCaml ?
Je suis preneur de tout conseil sur le sujet, mon objectif étant de
disposer d'un outil concret pour réaliser un partage de secret à seuil,
pour les tailles de données ci-dessus.
Merci d'avance pour toute information,
Amicalement,
david
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Francois Grieu
Dans l'article , David MENTRE écrit:
Je suis intéressé par une réalisation du schéma de chiffrage à seuil (k,n) de Shamir, typiquement pour partager un secret de quelques centaines de bits (clé de 256 bits) voire quelques millier de bits (clé privée GPG).
Est-ce que ce schéma est toujours valable ?
Le système à seuil de Shamir est parfaitement sur, c'est démontrable, donc ça ne peut pas avoir changé. Pour un système de ce type admettant (k,n) arbitraire, je ne connais pas mieux (cad avec des secrets plus compacts ou une implémentation plus simple), ni quoi que ce soit d'autre utilisé en pratique.
François Grieu
Dans l'article <87lksebja8.fsf@gmail.com>,
David MENTRE <david.mentre@gmail.com> écrit:
Je suis intéressé par une réalisation du schéma de chiffrage à seuil
(k,n) de Shamir, typiquement pour partager un secret de quelques
centaines de bits (clé de 256 bits) voire quelques millier de bits
(clé privée GPG).
Est-ce que ce schéma est toujours valable ?
Le système à seuil de Shamir est parfaitement sur, c'est démontrable,
donc ça ne peut pas avoir changé. Pour un système de ce type admettant
(k,n) arbitraire, je ne connais pas mieux (cad avec des secrets plus
compacts ou une implémentation plus simple), ni quoi que ce soit
d'autre utilisé en pratique.
Je suis intéressé par une réalisation du schéma de chiffrage à seuil (k,n) de Shamir, typiquement pour partager un secret de quelques centaines de bits (clé de 256 bits) voire quelques millier de bits (clé privée GPG).
Est-ce que ce schéma est toujours valable ?
Le système à seuil de Shamir est parfaitement sur, c'est démontrable, donc ça ne peut pas avoir changé. Pour un système de ce type admettant (k,n) arbitraire, je ne connais pas mieux (cad avec des secrets plus compacts ou une implémentation plus simple), ni quoi que ce soit d'autre utilisé en pratique.
François Grieu
Nicolas Zinovieff
In article , David MENTRE wrote:
Bonjour,
2. Est-ce que vous connaissez une réalisation de ce schéma, de préférence dans du code connu (GnuPG, openssl, ...) ou pourquoi pas un code en OCaml ?
Il existe une implementation en C (malheureusement limitee a 128 octets pour le secret, mais le principe est sauf) disponible ici: http://point-at-infinity.org/ssss/ La gestion des polynomes se fait au travers de la librairie gmp dont la documentation se trouve ici: http://swox.com/gmp/
-- Nicolas
In article <87lksebja8.fsf@gmail.com>,
David MENTRE <david.mentre@gmail.com> wrote:
Bonjour,
2. Est-ce que vous connaissez une réalisation de ce schéma, de
préférence dans du code connu (GnuPG, openssl, ...) ou pourquoi pas
un code en OCaml ?
Il existe une implementation en C (malheureusement limitee a 128 octets
pour le secret, mais le principe est sauf) disponible ici:
http://point-at-infinity.org/ssss/
La gestion des polynomes se fait au travers de la librairie gmp dont la
documentation se trouve ici:
http://swox.com/gmp/
2. Est-ce que vous connaissez une réalisation de ce schéma, de préférence dans du code connu (GnuPG, openssl, ...) ou pourquoi pas un code en OCaml ?
Il existe une implementation en C (malheureusement limitee a 128 octets pour le secret, mais le principe est sauf) disponible ici: http://point-at-infinity.org/ssss/ La gestion des polynomes se fait au travers de la librairie gmp dont la documentation se trouve ici: http://swox.com/gmp/
-- Nicolas
Jean-Marc Desperrier
Francois Grieu wrote:
Dans l'article , David MENTRE écrit:
Je suis intéressé par une réalisation du schéma de chiffrage à seuil (k,n) de Shamir, typiquement pour partager un secret de quelques centaines de bits (clé de 256 bits) voire quelques millier de bits (clé privée GPG).
Est-ce que ce schéma est toujours valable ?
Le système à seuil de Shamir est parfaitement sur, c'est démontrable, donc ça ne peut pas avoir changé. Pour un système de ce type admettant (k,n) arbitraire, je ne connais pas mieux (cad avec des secrets plus compacts ou une implémentation plus simple), ni quoi que ce soit d'autre utilisé en pratique.
J'avais utilisé l'implémentation de Crypto++, avec un mot du type "password" et une séparation en deux "à l'oeil" on devinait assez facilement le mot de départ.
Je me suis demandé si l'erreur n'était pas que la répartition du secret se fassait à un niveau octet et non au niveau du bit. Les caractères 'p' 'a' 's' 'w' 'o' 'r' et 'd' restant présent dans le résultat, on devinait facilement la donnée source.
Francois Grieu wrote:
Dans l'article <87lksebja8.fsf@gmail.com>,
David MENTRE <david.mentre@gmail.com> écrit:
Je suis intéressé par une réalisation du schéma de chiffrage à seuil
(k,n) de Shamir, typiquement pour partager un secret de quelques
centaines de bits (clé de 256 bits) voire quelques millier de bits
(clé privée GPG).
Est-ce que ce schéma est toujours valable ?
Le système à seuil de Shamir est parfaitement sur, c'est démontrable,
donc ça ne peut pas avoir changé. Pour un système de ce type admettant
(k,n) arbitraire, je ne connais pas mieux (cad avec des secrets plus
compacts ou une implémentation plus simple), ni quoi que ce soit
d'autre utilisé en pratique.
J'avais utilisé l'implémentation de Crypto++, avec un mot du type
"password" et une séparation en deux "à l'oeil" on devinait assez
facilement le mot de départ.
Je me suis demandé si l'erreur n'était pas que la répartition du secret
se fassait à un niveau octet et non au niveau du bit. Les caractères
'p' 'a' 's' 'w' 'o' 'r' et 'd' restant présent dans le résultat, on
devinait facilement la donnée source.
Je suis intéressé par une réalisation du schéma de chiffrage à seuil (k,n) de Shamir, typiquement pour partager un secret de quelques centaines de bits (clé de 256 bits) voire quelques millier de bits (clé privée GPG).
Est-ce que ce schéma est toujours valable ?
Le système à seuil de Shamir est parfaitement sur, c'est démontrable, donc ça ne peut pas avoir changé. Pour un système de ce type admettant (k,n) arbitraire, je ne connais pas mieux (cad avec des secrets plus compacts ou une implémentation plus simple), ni quoi que ce soit d'autre utilisé en pratique.
J'avais utilisé l'implémentation de Crypto++, avec un mot du type "password" et une séparation en deux "à l'oeil" on devinait assez facilement le mot de départ.
Je me suis demandé si l'erreur n'était pas que la répartition du secret se fassait à un niveau octet et non au niveau du bit. Les caractères 'p' 'a' 's' 'w' 'o' 'r' et 'd' restant présent dans le résultat, on devinait facilement la donnée source.
David MENTRE
Nicolas Zinovieff writes:
Il existe une implementation en C (malheureusement limitee a 128 octets pour le secret, mais le principe est sauf) disponible ici: http://point-at-infinity.org/ssss/
Merci pour le pointeur (et aux deux autres réponses).
Amicalement, d. -- David Mentré
Nicolas Zinovieff <me@home.net> writes:
Il existe une implementation en C (malheureusement limitee a 128 octets
pour le secret, mais le principe est sauf) disponible ici:
http://point-at-infinity.org/ssss/
Merci pour le pointeur (et aux deux autres réponses).
Il existe une implementation en C (malheureusement limitee a 128 octets pour le secret, mais le principe est sauf) disponible ici: http://point-at-infinity.org/ssss/
Merci pour le pointeur (et aux deux autres réponses).
Amicalement, d. -- David Mentré
David MENTRE
Bonjour,
Nicolas Zinovieff writes:
[ En réponse à ma recherche d'une réalisation du schéma de Shamir ]
Il existe une implementation en C (malheureusement limitee a 128 octets pour le secret, mais le principe est sauf) disponible ici: http://point-at-infinity.org/ssss/
Pour info, j'ai regardé le code source avec un ami matheux : ssss n'utilise pas directement le schéma de Shamir dans Fp=Z/pZ mais une transposition dans Fq (q du type 2^d), avec des polynomes irréductibles sur GF(2) de degrés 8, 16, 24, 32, ..., 1016, 1024. Ceci probablement pour des raisons d'optimisation (la somme de polynome se traduit par des XOR par exemple). Ça ne veut pas dire que le code est invalide mais l'implémentation du schéma de Shamir n'est pas directe et la vérification de sa correction d'autant plus difficile (en tout cas pour moi). Par ailleurs, le code mériterait à être amélioré pour faciliter sa lisibilité (utilisations de variables globales inutiles, par exemple sur le degré des polynomes manipulés). Je ne compte pas aller plus loin dans l'analyse ou l'utilisation de ce code, mais si d'autres en font une analyse détaillée, je suis preneur. :-)
Merci pour le pointeur, Amicalement, david -- David Mentré
Bonjour,
Nicolas Zinovieff <me@home.net> writes:
[ En réponse à ma recherche d'une réalisation du schéma de Shamir ]
Il existe une implementation en C (malheureusement limitee a 128 octets
pour le secret, mais le principe est sauf) disponible ici:
http://point-at-infinity.org/ssss/
Pour info, j'ai regardé le code source avec un ami matheux : ssss
n'utilise pas directement le schéma de Shamir dans Fp=Z/pZ mais une
transposition dans Fq (q du type 2^d), avec des polynomes irréductibles
sur GF(2) de degrés 8, 16, 24, 32, ..., 1016, 1024. Ceci probablement
pour des raisons d'optimisation (la somme de polynome se traduit par des
XOR par exemple). Ça ne veut pas dire que le code est invalide mais
l'implémentation du schéma de Shamir n'est pas directe et la
vérification de sa correction d'autant plus difficile (en tout cas pour
moi). Par ailleurs, le code mériterait à être amélioré pour faciliter sa
lisibilité (utilisations de variables globales inutiles, par exemple sur
le degré des polynomes manipulés). Je ne compte pas aller plus loin dans
l'analyse ou l'utilisation de ce code, mais si d'autres en font une
analyse détaillée, je suis preneur. :-)
Merci pour le pointeur,
Amicalement,
david
--
David Mentré
[ En réponse à ma recherche d'une réalisation du schéma de Shamir ]
Il existe une implementation en C (malheureusement limitee a 128 octets pour le secret, mais le principe est sauf) disponible ici: http://point-at-infinity.org/ssss/
Pour info, j'ai regardé le code source avec un ami matheux : ssss n'utilise pas directement le schéma de Shamir dans Fp=Z/pZ mais une transposition dans Fq (q du type 2^d), avec des polynomes irréductibles sur GF(2) de degrés 8, 16, 24, 32, ..., 1016, 1024. Ceci probablement pour des raisons d'optimisation (la somme de polynome se traduit par des XOR par exemple). Ça ne veut pas dire que le code est invalide mais l'implémentation du schéma de Shamir n'est pas directe et la vérification de sa correction d'autant plus difficile (en tout cas pour moi). Par ailleurs, le code mériterait à être amélioré pour faciliter sa lisibilité (utilisations de variables globales inutiles, par exemple sur le degré des polynomes manipulés). Je ne compte pas aller plus loin dans l'analyse ou l'utilisation de ce code, mais si d'autres en font une analyse détaillée, je suis preneur. :-)
Merci pour le pointeur, Amicalement, david -- David Mentré