Crypto Device Tweak Value Lookup for Random Position Encryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing crypto devices face challenges in efficiently encrypting and decrypting data located at random positions within sectors, particularly in XTS mode, which increases encryption/decryption time and power consumption.

Innovation Solution

The method involves generating a tweak value by multiplying a primitive element with an encrypted initial tweak value, updating this value using a serial number corresponding to the random position, and performing encryption/decryption operations using this tweak value in multiple crypto cores, allowing for parallel processing and reduced cycle requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If encryption/decryption is performed using conventional methods in crypto devices, then security is maintained, but encryption/decryption time and power consumption increase when dealing with data at random positions

Engineering Contradiction:
Improveencryption/decryption timeVSAvoidencryption/decryption efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent pre-calculates and stores tweak values in a lookup table before encryption operations are needed. When encrypting or decrypting data at random positions, the system simply retrieves the pre-computed tweak value from the table using the position as an index, rather than computing it on-demand. This preliminary preparation eliminates computation time during actual encryption/decryption operations, directly resolving the time loss issue while maintaining security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates multiple copies of the tweak value calculation results and stores them in a lookup table structure. Instead of performing the same complex tweak value computation repeatedly for different random positions, the system copies the computed values into a pre-filled table that can be quickly queried. This copying approach transforms a computationally intensive repeated operation into a simple memory retrieval operation, significantly improving encryption/decryption efficiency.

Inventive Principle:
Principle #26Copying

2Reliability

If encryption/decryption operations are performed on data at random positions within sectors, then data security is maintained, but power consumption increases

Engineering Contradiction:
Improvedata securityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent performs the power-consuming tweak value computations in advance and stores the results in a lookup table. During actual encryption or decryption operations, the system only needs to perform simple table lookups and XOR operations, which consume minimal power. This preliminary computation approach maintains the security requirements for random position processing while dramatically reducing power consumption during operational phases.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses a lookup table that can be quickly generated and discarded or updated. Instead of maintaining complex computational logic that consumes power continuously, the system uses a simple data structure (lookup table) that requires minimal power to query and can be regenerated if needed. This approach trades the computational complexity for a lightweight, low-power data retrieval mechanism.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Ease of operation

If conventional encryption methods are used for sequential block data, then processing is straightforward, but encryption time increases when starting from random positions

Engineering Contradiction:
Improveprocessing simplicityVSAvoidencryption time from random position
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent pre-computes tweak values for all possible block positions within a sector and stores them in a lookup table indexed by block position. When encryption needs to start from a random position, the system simply retrieves the appropriate tweak value from the table using the random position as an index, then proceeds with the encryption using standard sequential processing. This maintains the simplicity of sequential processing while eliminating the time penalty associated with random position starts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a lookup table as an intermediary structure between the random position input and the encryption process. Instead of directly computing tweak values during encryption (which would be time-consuming), the system uses the lookup table as a mediator that translates random position requests into pre-computed tweak values. This intermediary layer preserves the ease of operation by keeping the encryption logic simple while solving the time loss problem through pre-computation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10396978B2Crypto devices, storage devices having the same, and encryption and decryption methods thereof
Publication Date: 2019.08.27 SAMSUNG ELECTRONICS CO LTD
  • US10396978B2 patent drawing
  • US10396978B2 patent drawing
  • US10396978B2 patent drawing

AI summary

A method for encryption, decryption, or encryption and decryption of data in a crypto device having at least one crypto core may include: generating a tweak value corresponding to block data, which is placed at a random position from which the encryption, decryption, or encryption and decryption starts, from among sequential block data; and/or performing the encryption, decryption, or encryption and decryption from the block data using the tweak value. A method for encryption, decryption, or encryption and decryption of block data may include: generating a tweak value corresponding to the block data at a random position; and/or performing the encryption, decryption, or encryption and decryption of the block data using the tweak value.