[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4980: session_start(): Write of lock failed
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4980: session_start(): Unable to clear session lock record
Partage entre P pour réunion entre R [4 réponses] : ✯✎ Supérieur - 179839 - Forum de Mathématiques: Maths-Forum

Partage entre P pour réunion entre R

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Ceubex
Membre Naturel
Messages: 15
Enregistré le: 24 Aoû 2008, 00:32

Partage entre P pour réunion entre R

par Ceubex » 18 Nov 2016, 19:18

Bonjour,

Il faut que je résolve une petite colle pour mon travail. J'ai une clé de décryptage. Je la partage en M morceaux d'égales longueur et je distribue certains de ces morceaux à P "gardiens de la clé" (ou des morceaux... parce qu'ils n'ont pas tout).

L'idée c'est que pour décrypter le message plus tard, il faudra toute la clé forcément mais au cas où il y ai des absents, on veut quand même pouvoir décrypter s'il y a au moins R gardiens réunis

Question : comment dois-je distribuer à mes P gardiens les M morceaux afin que si R gardiens sont réunis on puisse forcément décrypter.
On a donc P et R qui sont donnés à l'avance, M est à définir.
Et je précise qu'on souhaite éviter autant que possible que si seulement R-1 gardiens sont réunis ils puissent décrypter (mais de ce côté là on essaye de faire au mieux, ça n'est pas une contrainte obligatoire, disons que c'est mieux si on peut la satisfaire aussi bien que possible).


Pour illustrer un exemple simple, j'ai 3 gardiens et je veux que la réunion d'au moins 2 permette de décrypter, je coupe en 3 morceaux et donne au gardien A les morceaux 1 et 2, au B 2 et 3 et au C 3 et 1. Mais il faut résoudre pour P et R quelquonque



XENSECP
Habitué(e)
Messages: 6387
Enregistré le: 27 Fév 2008, 20:13

Re: Partage entre P pour réunion entre R

par XENSECP » 18 Nov 2016, 21:48

Salut,

Au final M sera égal à P. C'est plutôt la longueur qui va dépendre de P et R. Probablement R parmi P.

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21532
Enregistré le: 11 Nov 2009, 22:53

Re: Partage entre P pour réunion entre R

par Ben314 » 18 Nov 2016, 23:33

Salut,
Sauf erreur, on s'en sort systématiquement avec {coeff. binomial} morceaux de clef et on ne peut pas faire avec moins de morceaux si on veut que seuls les groupes d'au moins R gardiens aient tout les morceaux de clef.
En fait, chaque morceau de clef sert à s'assurer qu'un certain groupe de R-1 gardien n'aura pas tout les morceaux de clef : tu donne le morceau de clef en question à tout les gardiens sauf à ceux de ce groupe de R-1 gardiens.

P=4 gardiens A,B,C,D et tu veut que R=3 quelconques d'entre aient tout les morceaux de clef.
Il y a parties à 2 éléments de l'ensemble à 4 éléments {A,B,C,D}.
Ces 6 parties sont :
1) {A,B} => tu donne le morceau de clef 1 à C et D.
2) {A,C} => tu donne le morceau de clef 2 à B et D.
3) {A,D} => tu donne le morceau de clef 3 à B et C.
4) {B,C} => tu donne le morceau de clef 4 à A et D.
5) {B,D} => tu donne le morceau de clef 5 à A et C.
6) {C,D} => tu donne le morceau de clef 6 à A et B.

Bilan : tu fabrique 6 morceaux de clef que tu donne A:4,5,6 ; B:2,3,6 ; C:1,3,5 ; D:1,2,4
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

Ceubex
Membre Naturel
Messages: 15
Enregistré le: 24 Aoû 2008, 00:32

Re: Partage entre P pour réunion entre R

par Ceubex » 19 Nov 2016, 14:04

Ben314 » grand merci, ça semble tout à fait fonctionner.
Par contre pour obtenir M on a la formule. Après quel est le protocole qui permet de distribuer les clés entre les membres ?

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21532
Enregistré le: 11 Nov 2009, 22:53

Re: Partage entre P pour réunion entre R

par Ben314 » 19 Nov 2016, 15:22

Le seul truc dont tu as besoin, c'est de numéroter les parties à R-1 éléments de ton ensemble de P gardien. La façon dont tu numérote n'a aucune importance donc à la main, il suffit de dresser la liste des différentes parties comme dans l'exemple. (sans en oublier évidement, mais comme on connait le nombre total, y'a pas trop de soucis).

Si tu veut faire un truc informatique, il te faut créer une procédure qui prend en paramètre un entier m entre 1 et (ainsi que P et R) et qui te renvoie une partie à R-1 éléments de l'ensemble {1,2,...,P} (sous forme de tableau par exemple).
Un méthode simple consiste à voir que, parmi les parties à R-1 éléments de {1,2,...,P}, il y en a qui ne contiennent pas le "1" donc :
- Si tu ne prend pas le "1" dans la partie en question, et tu retranche 1 à P (sans modifier ni m, ni R).
- Si alors tu prend le "1" dans la partie en question, tu retranche à m et tu retranche 1 à P et à R.
puis tu passe à "2" et tu recommence, etc... jusqu'à "P".
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 50 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite
[phpBB Debug] PHP Warning: in file Unknown on line 0: Unknown: Failed to write session data (memcached). Please verify that the current setting of session.save_path is correct (172.16.100.103:11211)