Cred că din câte am studiat am avut raționamentul corect, dar aș dori o dublă verificare. Iată chestia:
Având în vedere două matrice: A și B
Eu calculez hashFunction(A, B) = C
Acum calculez valorile proprii ale B: µ si vectorul asociat X
Acum este corectă următoarea ecuație:
C * x = hashFunction(A, µ) * x = hashFunction(A, µ*x)
Este adevărat având în vedere orice funcție hash?
În mod special dat sha256, sau funcția de curbă eliptică sau oricare alta?
EDITAȚI | ×:
Scopul meu este, având o informație publică, să arăt că sunt proprietarul informațiilor și că ofer alte informații și evit ca dacă cineva interceptează parola pe care o dau înainte de a ajunge la audiență, să nu o poată folosi pentru a oferi informații diferite.
Deci, pentru problema pe care am dat-o, datele sunt:
B este public
Pentru a mă autentifica, dau hash(A, µ) și x
2-a EDITARE
Răspunsul la întrebarea mea pare să se bazeze pe semnătură așa cum este descris în această hârtie. Are cineva un exemplu de algoritmi de semnătură și verificare?
A 3-A EDITARE:
Așa că am implementat ceva, ar putea fi de folos
encoded_Pwd=str(Intrare_STR).encode("utf-8")
cheie=hashlib.md5(encoded_Pwd).hexdigest()
PRIVATE_KEY = base64.urlsafe_b64encode(key.encode("utf-8"))
Atunci:
PUBLIC_KEY=sha256(PRIVATE_KEY).hexdigest()