Pipelined Packet Encryption Using Pre-Generated AES Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In high-throughput wireless local-area network (WLAN) applications, especially in IEEE 802.11n Multiple Input Multiple Output (MIMO) systems, the lack of inter-packet gaps and increased data rates pose challenges for the Counter Mode With Cipher-Block Chaining Message Authentication Code Protocol (CCMP) in completing decryption before the next packet arrives, leading to inefficiencies in data throughput.

Innovation Solution

Implementing a pipelining strategy that generates Advanced Encryption Standard (AES) Output Blocks or decryption seeds ahead of time based on predetermined keys, transmitter MAC addresses, and packet numbers, allowing for immediate encryption or decryption of packets upon arrival, thereby reducing the time required for the encryption and decryption processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data packets are transmitted in succession with no inter-packet gaps to achieve high throughput, then data throughput is improved, but the receiver cannot complete decryption before the next packet arrives

Engineering Contradiction:
Improvedata throughputVSAvoiddecryption time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent pre-generates AES output blocks (decryption keys) for multiple future packets before they are actually received. By performing this key generation in advance using the packet number and temporal key, the system ensures that decryption keys are ready when packets arrive, eliminating decryption delays and enabling continuous high-speed packet processing without inter-packet gaps.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If IEEE 802.11n MIMO systems transmit data at even higher data rates, then data throughput is improved, but the time available for decryption is reduced even further

Engineering Contradiction:
Improvedata throughputVSAvoiddecryption time window
Core Design Contradiction:
ProductivityVSDuration of action of moving object

Solution Approach 1:

The system pre-generates AES output blocks for multiple packets in advance, so that when high-rate MIMO packets arrive, decryption keys are already available. This eliminates any waiting time for key generation, allowing the receiver to immediately decrypt packets at the high data rates provided by MIMO without being constrained by decryption processing time.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If standard CCMP decryption is used with inter-packet gaps, then decryption can be completed before next packet arrives, but data throughput is limited

Engineering Contradiction:
Improvedecryption completionVSAvoiddata throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By pre-generating decryption keys for multiple packets in advance, the system eliminates the need for inter-packet gaps. The receiver can continuously process packets at high speed because decryption keys are already available, achieving both high throughput and reliable decryption completion for every packet.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7742594B1Pipelined packet encryption and decryption using counter mode with cipher-block chaining message authentication code protocol
Publication Date: 2010.06.22 MARVELL ASIA PTE LTD
  • US7742594B1 patent drawing
  • US7742594B1 patent drawing
  • US7742594B1 patent drawing

AI summary

An apparatus and corresponding method and computer program comprises a key mixing circuit to generate N groups of AES Blocks, each generated based upon a key, a transmitter MAC address, and a start value for a packet number. An input circuit receives N encrypted MPDUs, each comprising the transmitter address and one of N values for the packet number. Each of the N values for the packet number is greater than, or equal to, the start value for the packet number. A decryption circuit decrypts each of the N encrypted MPDUs using the respective one of the N groups of AES Output Blocks. The key mixing circuit generates each of the N groups of AES Output Blocks before the input circuit receives the respective one of the N encrypted MPDUs. The predetermined start value is initialized when the apparatus is initialized and incremented when each of the N groups of AES Output Blocks is generated.