Lightweight Block Cipher Bitsliced S-Box Side-Channel Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic implementations for embedded systems, such as the PRESENT block cipher, are vulnerable to side-channel attacks due to reliance on hardware-specific implementations and lookup tables, which are inefficient and insecure, especially in resource-constrained environments like IoT devices.

Innovation Solution

A lightweight block cipher design that decomposes the permutation layer and uses bitsliced computation of the S-box with optimized Boolean formulas, eliminating the need for lookup tables and ensuring constant-time operations to protect against side-channel attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If lookup tables are used for software implementation of PRESENT block cipher, then encryption efficiency is improved, but security against side-channel attacks deteriorates

Engineering Contradiction:
Improveencryption efficiencyVSAvoidsecurity against side-channel attacks
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent extracts and removes lookup tables from the encryption implementation, replacing them with direct computational operations. This eliminates the source of side-channel leakage while maintaining encryption functionality through alternative computational methods.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent substitutes the mechanical lookup table approach with computational bitwise operations and mathematical formulas. This replacement eliminates physical memory access patterns that leak information through side channels, achieving both security and efficiency.

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

2Adaptability or versatility

If hardware-oriented design is used for PRESENT block cipher, then implementation in resource-constrained environments is improved, but performance in software environments deteriorates

Engineering Contradiction:
Improveimplementation in resource-constrained environmentsVSAvoidsoftware performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent designs the cipher to be universally applicable across different platforms. By using platform-independent bitwise operations and avoiding hardware-specific optimizations, the implementation achieves good performance both in resource-constrained embedded systems and in general-purpose software environments.

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

Solution Approach 2:

The patent changes the implementation parameters from hardware-oriented lookup tables to software-friendly computational operations. This parameter change allows the same algorithm to efficiently run in both hardware and software contexts without sacrificing performance in either domain.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If constant-time operations are implemented, then security against timing attacks is improved, but computational complexity increases

Engineering Contradiction:
Improvesecurity against timing attacksVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements constant-time operations where the computational structure naturally ensures uniform execution time without requiring additional complexity. The bitwise operations and mathematical computations inherently take the same time regardless of input data, providing security against timing attacks while maintaining simplicity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10911218B2Lightweight block cipher
Publication Date: 2021.02.02 LG ELECTRONICS INC
  • US10911218B2 patent drawing
  • US10911218B2 patent drawing
  • US10911218B2 patent drawing

AI summary

A method for encrypting data with a provided key. The method includes generating a plurality of keys; processing the data in a plurality of rounds, with each round including: performing a first logical combination of the data with a first key; first permuting the first logically combined data based on a first defined permutation; performing a first substitution on the first permuted data; second permuting the first substituted data based on a second defined permutation; performing a second logical combination of the second permuted data with a permuted second key; and performing a second substitution on the second logically combined data. Further, performing a penultimate logical combination of the second substituted data with a penultimate key, permuting the penultimate logically combined data, performing a final substitution of the permuted data, and performing a final logical combination of the final substituted data with a last key.