Aparentemente, un método alternativo (para simplemente usar el algoritmo euclidiano extendido) de obtener el exponente para descifrar es hacer d = e ** (phi (phi (n)) - 1) mod (phi (n)). ¿Por qué funciona esto?RSA: ¿por qué funciona phi (phi (n))?
5
A
Respuesta
14
El requisito general para que la operación RSA funcione correctamente es e*d = 1 mod X
, donde X
es típicamente (p-1)*(q-1)
.
En este caso, X
es phi(n)
, e
es e
, y d
es e^[phi(phi(n))-1]
= e^[phi(X)-1]
.
Observe que e*d mod X
es e*e^[phi(X)-1] mod X
= e^phi(X) mod X
.
Euler's Theorem establece que a^phi(X) = 1 mod X
, para cualquier a
que es primo relativo a X
, por tanto, el requisito se mantiene.
Cuestiones relacionadas
- 1. ¿Qué es exactamente la instrucción PHI hace y cómo usarlo en LLVM
- 2. Cómo verificar si la instrucción es una instrucción PHI en LLVM IR
- 3. Para RSA, ¿cómo calculo el exponente secreto?
- 4. ConfigurationManager.AppSettings convierte "\ n" en "\\ n" ¿por qué?
- 5. parallel.foreach funciona, pero ¿por qué?
- 6. Explicación intuitiva de por qué QuickSort es n log n?
- 7. ¿Por qué está ordenando una cadena O (n log n)?
- 8. \ n no funciona en UIlabel
- 9. ¿Por qué GRANT no funciona en MySQL?
- 10. ¿Por qué funciona esto?
- 11. Latitud larga a X Y Posición Z en JS .. no funciona
- 12. Reemplazando "\ r \ n" por "\ n"
- 13. ¿Por qué $() no funciona pero funciona jQuery()?
- 14. ¿Por qué getchar() no funciona bien?
- 15. cell.detailTextLabel.text no funciona ... ¿por qué
- 16. ¿Por qué PadLeft no funciona?
- 17. ¿Por qué funciona view.bringToFront() doenst?
- 18. ¿Por qué Self.navigationItem.hidesBackButton no funciona?
- 19. (! [] + []) [+ []] ... Explicar por qué esto funciona
- 20. Page.ClientScript.RegisterStartupScript no funciona, ¿por qué?
- 21. ¿Por qué funciona String (null)?
- 22. ¿Por qué EditorBrowsable no funciona?
- 23. JFrame.setBackground() no funciona, ¿por qué?
- 24. ¿Por qué ImageView.setImageMatrix() no funciona?
- 25. ¿Por qué no funciona UIView.exclusiveTouch?
- 26. ¿Por qué funciona este cierre?
- 27. ¿Por qué Integer.getInteger no funciona?
- 28. ¿Por qué no funciona rsDebug?
- 29. ¿Por qué no funciona Process.WaitForInputIdle()?
- 30. ¿Por qué validationEngine() no funciona?
+1 solo por el hecho de que irradias inteligencia. – Marty
Todo verdadero, excepto que X no es p * q. X es (p-1) * (q-1) donde n = pq yp y q son ambos primos. –