Encryption Key Integrity Verification via Segmented XOR and CRC
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for checking and detecting errors in encryption and decryption keys are inefficient and may compromise the security of critical and secret data, as they often require direct access to the keys for verification.
Innovation Solution
A method utilizing Boolean decomposition and a cyclic redundancy check function, where the key is divided into independent components and only these components are stored, with the result of a XOR logic function and its cyclic redundancy check images being used to verify the key's integrity without direct access to the key itself.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If direct access to the key is used for verification, then the verification process is simple, but the security is compromised and the key is exposed
Solution Approach 1:
The key is divided into N independent second data elements (X1, X2, ..., XN) where each element is stored separately in memory. The original key can be reconstructed by applying XOR logic function to these segmented elements, but the key itself is never stored, thus eliminating direct key exposure while maintaining verification capability.
Solution Approach 2:
An intermediary verification mechanism is introduced using cyclic redundancy check function (CRC) and XOR logic. Instead of directly accessing the key, the system computes CRC images of the key and its segmented elements, then verifies integrity through the relationship: CRC(k) = XOR(CRC(X1), CRC(X2), ..., CRC(XN)). This intermediary verification layer prevents direct key access while ensuring security.
2Productivity
If the key is stored in memory for verification, then the verification process is fast, but the key becomes accessible and vulnerable to exposure
Solution Approach 1:
The key is segmented into N independent elements stored in memory, with the original key reconstructed only when needed through XOR operation. This allows fast verification of individual segments while the complete key remains inaccessible in memory, resolving the contradiction between verification speed and security.
Solution Approach 2:
The cyclic redundancy check images of the key segments are pre-computed and stored in memory alongside the segments. This preliminary action enables fast verification during operation without requiring re-computation of CRC values, maintaining high productivity while the key itself remains unstored and secure.
3Ease of manufacture
If conventional error detection methods are used, then the implementation is simple, but the security is compromised and keys become accessible
Solution Approach 1:
Instead of storing the original key, the system creates and stores copies of the key in a transformed state (segmented elements X1, X2, ..., XN and their CRC images). These copies can be used for verification and error detection without exposing the original key, maintaining implementation simplicity while enhancing security through the copying transformation.
Solution Approach 2:
The cyclic redundancy check function serves as an intermediary layer between the stored data and the verification process. The system stores CRC images of the key segments and uses the relationship CRC(k) = XOR(CRC(X1), ..., CRC(XN)) for verification, providing a simple yet secure implementation that prevents direct key access while maintaining ease of verification.
Data Source
AI summary
The present description concerns a method of checking a first data element, executed by an electronic device comprising a processor and a memory, wherein said first data element is not stored in said memory and is divided in N second data elements independent from the first data element, each second data element being stored in said memory, and a result of an application of a XOR function to the N second elements being equal to the first data element, wherein an image of the first data element by a CRC function linear with respect to the XOR function is stored in said memory, and said method comprising a step, executed by said processor, of checking if said image of the first data element by said CRC function is equal to an application of the XOR function to the images of N second elements by said CRC function.


