{
  "id": 13967862,
  "title": "(Post-Quantum) Cryptographic Right Answers",
  "url": "https://urgent.news/2026/10/12/post-quantum-cryptographic-right-answers",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-12T13:44:38.000Z",
  "source": {
    "name": "Lobsters",
    "slug": "lobsters",
    "url": "https://words.filippo.io/right-answers/"
  },
  "original_language": "en",
  "account": "In 2009, Colin Percival initiated the tradition of providing \"Cryptographic Right Answers\" for developers. This practice continued with Thomas Ptacek in 2015 and Latacora in 2018 and 2024. Recently, the timeline for transitioning to post-quantum cryptography shifted dramatically in early 2026, resulting in consensus that the transition must be completed by 2029. While symmetric cryptography is expected to remain unaffected, there have been significant changes to the asymmetric answers since 2018 and even more since 2024.\n\nThe primary recommendation is to avoid using unauthenticated modes like CBC, CTR, or raw stream ciphers. Instead, use AEAD (Authenticated Encryption with Associated Data) such as XAES-256-GCM or XChaCha20Poly1305 with random nonces of at least 128 bits. For large messages, employ STREAM (a method that uses AEADs on a stream), and Cobblestone-128 is a recommended choice due to its efficient composition and availability in multiple programming languages.\n\nKey management systems (KMS) remain a solid choice for encryption, but locally, specifically use AEADs like XAES-256-GCM or XChaCha20Poly1305. AES-GCM or ChaCha20Poly1305 with random nonces can also be used for locally encrypted data. Regardless of the chosen encryption method, it is crucial to handle large messages correctly and to use constant-time functions for tag comparisons.",
  "summary": null,
  "key_points": [
    "Colin Percival started \"Cryptographic Right Answers\" tradition in 2009",
    "Post-quantum transition deadline moved to 2029 by 2026",
    "Use AEAD ciphers like XAES-256-GCM for secure encryption"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}