← Latest papers
💻 computer science

An Assessment Framework for Application-Level Cryptographic Agility

This paper introduces a component-based assessment framework that characterizes application-level cryptographic agility across seven orthogonal dimensions, revealing that current major APIs lack critical capabilities for intent-based key creation, policy-driven algorithm selection, and first-class algorithm transformation, thereby hindering the post-quantum transition.

Original authors: Navaneeth Rameshan, Gregoire Messmer

Published 2026-06-12
📖 5 min read🧠 Deep dive

Original authors: Navaneeth Rameshan, Gregoire Messmer

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine you are the manager of a massive, global shipping company. For decades, you've used a specific type of shipping container (let's call them "RSA Boxes") to move your valuable cargo. Your trucks, warehouses, and delivery drivers are all built to handle these specific boxes perfectly.

Now, a new regulation says: "Starting next year, you must stop using RSA Boxes. You must switch to a completely different type of container called 'Post-Quantum Boxes'."

Here is the problem: The new boxes are huge, shaped differently, and require a different way of locking them. Worse, your current software system doesn't just say, "Send me a box." It says, "Send me an RSA Box with these specific dimensions."

Because your system is hardcoded to ask for "RSA Boxes," you can't just swap the box type. You have to go into every single warehouse, rewrite the instructions for every truck driver, retrain the staff, and rebuild the loading docks. This is exactly the nightmare facing the world's software engineers as they try to switch to new, quantum-proof cryptography.

This paper introduces a new way to measure how "agile" (flexible) a software system is when it comes to swapping out these cryptographic "boxes."

The Problem: The "Hardcoded" Trap

The authors argue that most current software systems are like a rigid factory. They are built so tightly around the specific tools they use today that changing those tools requires rebuilding the whole factory.

They found that while some systems have gotten slightly better at hiding the details of how to use a tool (like having a generic "Lock" button instead of "RSA Lock"), they still fail at the most critical part: deciding which tool to use in the first place.

The New Framework: A 7-Point Report Card

To fix this, the authors created a "Report Card" with seven different grades. Instead of giving a system one overall score (like "85% Agile"), they grade it on seven independent dimensions. Think of it like grading a car not just on speed, but on fuel efficiency, safety, comfort, and handling separately. A car might be great at speed but terrible at safety.

Here are the seven dimensions in simple terms:

  1. Operation Coupling (The "How" of using the tool): Does the software need to know the specific name of the algorithm (e.g., "RSA") every time it locks something?
    • Bad: "Please use the RSA-2048 lock."
    • Good: "Please lock this message." (The system figures out which lock to use).
  2. Creation Coupling (The "How" of making the tool): When you create a new key, do you have to specify the exact algorithm?
    • Bad: "Make me an RSA key."
    • Good: "Make me a key that can authenticate this user." (The system picks the best algorithm for that job).
  3. Provider Coupling (The "Where" the tool lives): Is the software tied to a specific company's hardware or software?
    • Bad: "Use the IBM lock."
    • Good: "Use a secure lock," and the system can switch between IBM, Google, or a local hardware chip automatically.
  4. Decoupling Mechanism (The "Control Panel"): Can you change these settings without rewriting the code?
    • Bad: You have to edit the source code and recompile the software.
    • Good: You can change the settings in a configuration file or a policy dashboard.
  5. Governance Authority (The "Boss"): Who gets to make the decisions?
    • Bad: Only the programmer who wrote the code can change the algorithm.
    • Good: A security manager can say, "All production systems must use FIPS-approved algorithms," without touching the code.
  6. Algorithm Migration (The "Switch"): Can you turn an old key into a new type of key?
    • Bad: You have to throw away the old key and create a brand new one, then re-lock all your old data.
    • Good: You can magically transform an old RSA key into a new Post-Quantum key while keeping the same ID.
  7. Provider Migration (The "Move"): Can you move your keys from one company to another easily?
    • Bad: You have to manually download the key, move it, and re-upload it.
    • Good: The system moves the key for you automatically based on policy.

The Big Reveal: The Three Gaps

The authors tested six major systems (like OpenSSL, AWS KMS, Google Tink, and others) against this report card. They found three massive holes that exist in all of them:

  1. No "Intent-Based" Creation: None of the systems let you say, "I need a key for signing documents." They all force you to say, "I need an ECDSA key." You still have to know the specific tool name.
  2. No "Cryptographic Governance": While some systems let you control who can access a key (like a security guard), none let a manager control which algorithm is used. You can't say, "No one is allowed to use the old SHA-1 algorithm," through the system's policy engine.
  3. No "Transformation" Magic: None of the systems have a button to "Transform this RSA key into a Post-Quantum key." If you want to switch, you have to throw the old key away and start over, which is a nightmare for old data.

The Conclusion

The paper concludes that the transition to Post-Quantum cryptography isn't just a math problem; it's a software engineering problem.

Because current systems are built with these three gaps, switching to new algorithms will require massive, expensive, and risky software updates for almost every company in the world. The authors argue that to fix this, we need to redesign our software APIs to be truly "agile"—allowing us to say what we want to do (the intent) and letting the system figure out how to do it, so we can swap out the underlying technology without breaking the world.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →