Mă uit la o lucrare de cercetare despre insecuritatea unei utilizări specifice (eronate) a angajamentelor Pedersen.
În primul rând, voi parcurge pașii angajamentelor Pedersen, astfel încât să se arate dacă am o neînțelegere de bază.
Înțelegerea mea despre angajamentele lui Pedersen
În primul rând spunem că Bob vrea ca Alice să se angajeze la un mesaj, prin urmare generează două numere prime p
și q
.
p <--- prim aleatoriu
q <--- prim aleatoriu
Bob generează apoi generatorul g
, care este de ordinul lui q
si este in grup $Z_{p}^*$.
g <--- $\în Z_{q}^*$
Apoi alege o valoare secretă X
în $Z_{q} $:
x <--- $\în Z_{q} $
x este cheia secretă, pe care o folosește pentru a obține cheia publică:
$h = g^{x} mod p $
Alice acum vrea să se angajeze la un anumit mesaj și are acces la cheia publică și cheia secretă a lui bob.
Ea alege mai întâi mesajul m
și un număr întreg aleatoriu r
și apoi își calculează angajamentul c
:
c = $ g^{m}*h^{r}$
Alice îi poate trimite acum angajamentul lui Bob.
Când Alice vrea să-și dezvăluie angajamentul, ea trimite m
și `r`` lui Bob. Bob este acum capabil să facă același calcul și să compare.
Aplicarea la vot și problema independenței
În articolul menționat mai devreme, schema este utilizată pentru a confirma integritatea unui set de voturi amestecate.
În acest context, o listă de n
voturile criptate sunt notate cu $ m_{1},...,m_{n} $.
Angajamentul pedersen pentru o listă de voturi este apoi calculat prin:
$ c = G_{1}^{m_1} ... G_{n}^{m_n} * H^{r}$
Și apoi ziarul spune asta despre valorile lui G
și H
(s-ar putea să existe o confuzie de notație, deoarece sunt obișnuit să folosesc minuscule g și h pentru generator pentru generator și PK, în timp ce lucrarea optează pentru majuscule).
Dar apoi lucrarea precizează următoarea problemă care poate apărea:
„Dacă independența este încălcată între H și o singură valoare Gi, atunci angajamentul extins c poate fi deschis pentru orice vector de mesaje alternative mâ²1,..., mâ²n. Dacă se întâmplă acest lucru, atunci întregul argument al probei amestecate se prăbușește , adică este posibil să construiți o dovadă falsă pentru o amestecare incorectă"
Sunt puțin confuz cu privire la ce înseamnă pentru valorile lui $G_{i}$ și H să fie „independenți” și ce înseamnă probabil atunci când avem mai multe versiuni ale G
, deci am doua intrebari:
1
dacă avem n G, atunci înseamnă că grupul în care lucrăm trebuie să aibă n generatoare?
2
Cum poate exista un H și mai multe generatoare? dacă H
se calculează utilizând G
, apoi care G
este folosit pentru a calcula cheia publică H
. Poate am înțeles greșit ceva de bază despre construcția conturată în hârtie?