Graphical Cryptosystem Design and Code Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of acquiring and applying knowledge in cryptography is challenging due to the time-consuming process of learning fundamentals, keeping up with evolving standards, the multitude of cryptographic primitives, and the effort required to utilize software cryptography libraries effectively.

Innovation Solution

A computer program product and method that aids users in designing, simulating, and generating code for cryptosystems using a software cryptography library with a graphical interface, allowing users to select and connect cryptographic operation modules to form desired systems and generate code representing these operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If users directly utilize software cryptography libraries and programming languages to implement cryptographic systems, then the functionality and security of the cryptosystem are ensured, but the time and effort required to learn and apply cryptographic knowledge increases significantly

Engineering Contradiction:
Improvecryptosystem securityVSAvoidlearning time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a graphical user interface that serves as an intermediary between users and cryptographic libraries. This interface provides visual representations of cryptographic operations and automatic code generation, mediating the complex interaction between users and cryptographic primitives while maintaining security through standardized library usage.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical process of manually writing cryptographic code with an automated code generation system. The graphical interface allows users to design cryptosystems visually, and the system automatically generates the corresponding programming code, eliminating the need for users to manually implement cryptographic algorithms.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Manufacturing precision

If users manually learn and implement cryptographic primitives using software libraries, then the cryptographic operations can be performed correctly, but the complexity of the process increases due to the multitude of primitives and standards

Engineering Contradiction:
Improvecryptographic operation correctnessVSAvoidprocess complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent segments cryptographic operations into distinct graphical modules that can be independently selected and configured. Each cryptographic primitive is represented as a separate visual component, allowing users to build complex cryptosystems by assembling predefined modules rather than implementing primitives from scratch.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The graphical interface serves multiple functions: it provides visual representation of cryptographic operations, automatically generates programming code, validates cryptosystem design, and interfaces with cryptographic libraries. This multi-functional tool reduces process complexity by consolidating multiple tasks into a single integrated system.

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

3Ease of operation

If users experiment with cryptographic APIs and libraries to understand their functionality, then practical knowledge is gained, but the development time and debugging effort increase

Engineering Contradiction:
Improvepractical knowledge acquisitionVSAvoiddevelopment speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent performs preliminary actions by pre-defining cryptographic operations as graphical modules with standardized interfaces. The system automatically generates validated programming code based on the graphical design, eliminating the need for users to experiment with APIs and debug code manually. The code generation happens before deployment, ensuring correctness from the start.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10901704B1Computer-aided design, simulation, and code generation for cryptography
Publication Date: 2021.01.26 XMODN SECURITY LLC
  • US10901704B1 patent drawing
  • US10901704B1 patent drawing
  • US10901704B1 patent drawing

AI summary

A software cryptography library management program allows a user to provide a software cryptography library via a graphical user interface. A cryptography toolbox program displays to the user a plurality of cryptographic operation modules in a cryptography toolbox view such that each of the cryptographic operation modules is a graphical shape representation of an operation that performs one or more of application programming interfaces from the provided software cryptography library. A cryptography design program allows the user to place cryptographic operation modules in a drawing area to form a cryptosystem. The user sends a command to a simulation engine to simulate the cryptosystem using the application programming interfaces. The user may send a different command to a code generation engine to generate code from the cryptosystem using the application programming interfaces.