Multi-Factor Key System with Finite-State Machine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Asymmetric encryption methods, such as RSA, face challenges in maintaining security due to advancements in computational power and quantum computing, which can facilitate the cracking of encryption, despite increasing bit lengths, leading to resource-intensive encryption and decryption processes.

Innovation Solution

The integration of finite automata principles with RSA asymmetric cryptography, utilizing a multi-factor key system and finite-state machines to securely convey the identity of random key pairs, enhancing security by increasing the complexity for potential hackers without increasing bit lengths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the bit length of asymmetric encryption keys is increased to maintain security against cracking, then the security strength is improved, but the computational resources required for encryption and decryption increase significantly

Engineering Contradiction:
Improvesecurity strengthVSAvoidcomputational resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent divides the key identification process into multiple independent factors. Instead of using a single long key, the system uses multiple shorter keys (first key, second key, third key) where each key is associated with specific characteristics or properties. The encryption process requires satisfying multiple independent conditions simultaneously, which provides equivalent or greater security without requiring proportionally longer individual keys, thus reducing computational resource requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces additional dimensions to the key space by incorporating multiple key pairs with different characteristics rather than simply increasing the bit length of a single key. The system encrypts using a combination of keys where each key has specific properties (e.g., first key with first property, second key with second property), creating a multi-dimensional key space that provides enhanced security without linearly increasing computational complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If multiple key pairs are used to enhance security, then the complexity for hackers is increased, but the key management and identification process becomes more complex

Engineering Contradiction:
Improvesecurity complexityVSAvoidkey management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent incorporates a verification mechanism where the recipient receives not only the encrypted message but also additional information (first language element, second language element, third language element) that serves as feedback about the key characteristics. The recipient uses this feedback to identify which key pair was used for encryption, creating a self-guiding key selection process that reduces management complexity while maintaining high security through multiple key pairs.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces language elements as intermediary components that mediate between the multiple key pairs and the decryption process. These language elements (first language element, second language element, third language element) act as identifiers or keys to selecting the correct key pair from the multiple available pairs, simplifying the key management process while maintaining the security benefits of using multiple key pairs.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10897456B2Cryptography using multi-factor key system and finite state machine
Publication Date: 2021.01.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10897456B2 patent drawing
  • US10897456B2 patent drawing
  • US10897456B2 patent drawing

AI summary

A process receives a specification of a finite-state machine and an encrypted language element of a language over an input alphabet for the finite-state machine. The received encrypted language element is encrypted with a selected public key of a plurality of public keys. The process decrypts the encrypted language element using each private key of a plurality of private keys corresponding to the public keys. The decrypting provides a plurality of decrypted language elements and the process applies each decrypted language element to the finite-state machine. The process identifies a decrypted language element that that is accepted by the finite-state machine. The process identifies a private key, of the private keys, used in the decrypting that provided the decrypted language element identified as being accepted by the finite-state machine. The process receives from the message sender an encrypted message, and uses the identified private key in decrypting the encrypted message.