Académique Documents
Professionnel Documents
Culture Documents
On considère dans cet exercice que les entiers sont codés sur n = 3 bits, et que l’état initial est e0 = 0.
Q 1 . Calculez les suites de bits produites par cet automate en supposant qu’à chaque état le bit produit
est
1. le bit de poids faible de l’état,
2. le bit intermédiaire,
3. le bit de poids fort.
Dans chacun des cas indiquez la période de la suite produite ?
Q 2 . Quelle est la complexité linéaire de la suite produite dans le cas du bit de poids fort ?
Présentation du schéma Soit Fp = Z/pZ un corps fini à p éléments, p étant un nombre premier. Soit
P l’ensemble des personnes devant recevoir une part, P = {P1 , P2 , . . . , Pn }. Soit Γ la structure d’accès du
schéma.
On supposera1 que l’on dispose d’une fonction φ : P → Fdp , d ≥ 2 telle que
autrement dit : (1, 0, . . . , 0) est une combinaison linéaire (à coefficients dans Fp ) des vecteurs de l’ensemble
{φ(Pi ) : Pi ∈ B} si et seulement si B est un sous-ensemble autorisé à accéder au secret.
Soit K le secret à partager. Pour tout élément a = (K, a2 , . . . , ad ) ∈ Fdp , on peut alors définir une
distribution de parts pour chaque x ∈ P : fa (x) = a · φ(x), où · désigne le produit scalaire.
1 Une telle fonction existe toujours.
Exemple Soient p = 19, P = {P1 , P2 , P3 , P4 }, d = 3, Γ0 = {{P1 , P2 , P3 }, {P1 , P4 }}, et
φ(P1 ) = (0, 1, 0), φ(P2 ) = (1, 0, 1), φ(P3 ) = (0, 1, −1), φ(P4 ) = (1, 1, 0).
On souhaite partager le secret K = 17 en quatre parts. On choisit alors un élément a de F319 dont la première
composante est 17, par exemple, a = (17, 5, 9). On calcule alors les parts, dans F19 :
P1 : s1 = (17, 5, 9) · (0, 1, 0) = 5
P2 : s2 = (17, 5, 9) · (1, 0, 1) = 7
P3 : s3 = (17, 5, 9) · (0, 1, −1) = 15
P4 : s4 = (17, 5, 9) · (1, 1, 0) = 3
Q 1 . Vérifiez que, dans cet exemple, la propriété (1) est bien satisfaite.
Q 2 . Montrez comment, dans l’exemple, les ensembles de participants {P1 , P2 , P3 } et {P1 , P4 } opèrent pour
retrouver le secret.
Q 3 . Les valeurs de φ peuvent-elles être rendues publiques ?
Q 4 . Nous avons vu en cours un autre schéma de partage de secret utilisant des structures d’accès, et
reposant sur les circuits monotones. Lequel est le plus pratique du point de vue des participants ?
Q 5 . Montrez que le schéma de partage de secret à seuil de Shamir est un cas particulier de celui présenté
dans cet exercice.
class genRSA {
E = BigInteger.valueOf(65537);
do {
P = new BigInteger(512,20,alea);
P1 = P.subtract(BigInteger.ONE);
} while (P1.gcd(E).equals(BigInteger.ONE) == false);
do {
Q = new BigInteger(512,20,alea);
Q1 = Q.subtract(BigInteger.ONE);
} while (Q1.gcd(E).equals(BigInteger.ONE) == false);
N = P.multiply(Q);
PHI = P1.multiply(Q1);
D = E.modInverse(PHI);
$
Voici un extrait de la spécifiaction de la classe Random
[...]
Random
public Random()
Creates a new random number generator. Its seed is initialized to a value based
on the current time:
Two Random objects created within the same millisecond will have the same sequence
of random numbers.
BigInteger
Parameters:
bitLength - bitLength of the returned BigInteger.
certainty - a measure of the uncertainty that the caller is willing to tolerate.
The probability that the new BigInteger represents a prime number
will exceed (1 - 1/2certainty). The execution time of this constructor
is proportional to the value of this parameter.
rnd - source of random bits used to select candidates to be tested for primality.