news.volyx.in

15,000 lines of verified cryptography now in Python (jonathan.protzenko.fr)

483 points by todsacerdoti · 470 days ago · 158 comments on HN

Article summary

The Python programming language now uses a verified cryptographic library called HACL* for its hash and HMAC algorithms, replacing the previous implementation. This change was made to improve security and prevent bugs, after a buffer overflow was discovered in the previous implementation. The new library provides 15,000 lines of verified C code and has been integrated into Python's repository. The transition was transparent for Python users and did not result in any loss of functionality.

Main themes

  • Verified Cryptography
  • Python Security
  • Formal Verification
  • Code Integration
  • Cryptographic Libraries

What commenters say

  • The integration of verified cryptographic code into Python improves the security and reliability of the language.
  • The use of formal verification in cryptography provides stronger guarantees of correctness than traditional testing methods.
  • The number of lines of code is not a good measure of the quality or complexity of the code, and can be misleading.
  • The dependence on Microsoft's F* language for formal verification is not a significant concern due to the open-source nature of the project.
  • The improvement in cryptography does not necessarily make communication more secure, as attackers can still target endpoints and exploit other vulnerabilities.
  • The NSA and other organizations may still have unknown methods for compromising cryptographic systems, despite the use of verified cryptography.
  • The use of verified cryptography in Python is a significant achievement, but its impact on the overall security of the internet is limited by the complexity of the ecosystem.