Synthesizing Correct-by-Construction Cryptographic Software

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cryptographic protocols are notoriously unreliable due to the complexity gap between verifiable code and actual implemented code, with existing tools lacking automation for key cryptographic concepts, making it difficult to prove the correctness of multi-party protocols and resulting in security vulnerabilities.

Innovation Solution

A system that automatically generates cryptographic software by synthesizing a correct-by-construction cryptographic protocol through a multilayer translation process using a library of transformation rules in the MetaPRL language, from protocol specification to executable code, ensuring secure and reliable software representation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual implementation of cryptographic protocols is used, then flexibility and adaptability are improved, but reliability and security are worsened due to human error and complexity gaps

Engineering Contradiction:
Improveprotocol implementation flexibilityVSAvoidcryptographic protocol security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments cryptographic protocol development into distinct formal layers (protocol specification, security properties, implementation code) that can be independently verified. Each layer is formally specified and verified separately, then composed together with guaranteed correctness, eliminating the reliability issues of manual implementation while maintaining adaptability through the modular structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces formal verification tools and intermediate representation languages as mediators between the cryptographic protocol specification and the actual implementation. These intermediaries automatically translate high-level security requirements into verified code, eliminating human error while preserving the intended security properties and adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If formal verification methods are applied to cryptographic protocols, then reliability is improved, but device complexity and difficulty of operation are worsened

Engineering Contradiction:
Improveprotocol correctnessVSAvoidverification system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system enables self-service formal verification by providing automated tools that generate verification artifacts and prove security properties without requiring manual intervention from security experts. The verification process becomes self-contained and automated, reducing the operational complexity despite the sophisticated verification capabilities.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent creates a universal formal verification framework that can handle multiple cryptographic protocols and security properties through a single integrated system. This multi-functional approach reduces the need for separate verification tools for each protocol, thereby reducing overall system complexity while maintaining high reliability across diverse cryptographic applications.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If automated synthesis from specification is implemented, then productivity is improved, but manufacturing precision requirements are worsened

Engineering Contradiction:
Improvesoftware generation speedVSAvoidspecification accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system performs preliminary action by requiring complete and precise formal specifications before code generation begins. All security properties, protocol behaviors, and requirements are formally defined in advance with mathematical precision, ensuring that the automated synthesis process has accurate guidance and can generate correct code without requiring post-generation corrections.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10423780B1System and method for synthesis of correct-by-construction cryptographic software from specification
Publication Date: 2019.09.24 HRL LAB
  • US10423780B1 patent drawing
  • US10423780B1 patent drawing
  • US10423780B1 patent drawing

AI summary

Described is a system for synthesis of cryptographic software from specification. During operation, the system generates a first level formalization code of a cryptographic protocol based on a user input protocol specification and a library of transformation rules. A second level formalization code is then generated by implementing communication protocols to the first level formalization code. A third level formalization code subsequently generated by implementing cryptographic primitives to the second level formalization code. Finally, the third level formalization code is encoded on a computer readable medium as an executable code.