QUIC Encryption Acceleration via AVX512 Batch Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The QUIC protocol's encryption process is inefficient due to the need for two rounds of encryption for each network packet, leading to frequent crypto context switches and inefficient crypto performance, especially with small encryption sizes limited by the maximum transmission unit (MTU).

Innovation Solution

Implementing batch-mode encryption using AVX512 and vector AES instructions to encrypt multiple smaller pieces of plaintext and IVs in a single run with a common key, reducing overhead and enabling parallel processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional per-packet encryption is used for QUIC protocol, then each packet is encrypted individually ensuring security, but encryption performance deteriorates due to frequent crypto context switches and overhead

Engineering Contradiction:
Improveencryption securityVSAvoidencryption performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent combines multiple per-packet encryption operations into a single batch-mode encryption operation. Multiple packets are encrypted together in one cryptographic context, eliminating the need for frequent context switches between packets. This merging approach maintains security while dramatically improving performance by reducing overhead associated with repeated encryption setup operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent changes the encryption mode from traditional per-packet processing to batch-mode encryption. This parameter change allows the system to process multiple packets simultaneously with a single cryptographic context, transforming the encryption operation from sequential to parallel processing and thereby improving productivity while maintaining security requirements.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If batch-mode encryption is implemented, then encryption performance improves by reducing context switches, but device complexity increases due to additional hardware accelerator requirements

Engineering Contradiction:
Improveencryption throughputVSAvoidhardware architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a hardware accelerator as an intermediary component between the network interface and the main processor. This accelerator specifically handles batch-mode encryption operations, offloading the complex cryptographic computations from the main CPU. The intermediary hardware module simplifies the overall system architecture by dedicating specific functionality to specialized components rather than requiring the main processor to handle all encryption tasks.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the software-based encryption implementation with a hardware-accelerated solution. By substituting the mechanical/software encryption process with dedicated hardware circuits, the system achieves higher throughput and lower latency. This substitution transforms the encryption mechanism from software processing to hardware-level operations, improving productivity while managing complexity through specialization.

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

3Productivity

If vector AES instructions with AVX512 are used, then parallel encryption operations are enabled improving performance, but compatibility requirements increase

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidprocessor architecture compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent changes the instruction set parameter from traditional scalar AES instructions to vectorized AVX512 instructions. This parameter change enables parallel processing of multiple encryption operations simultaneously, dramatically improving productivity. The system leverages the specific capabilities of AVX512-capable processors to achieve high-performance batch encryption, accepting that this introduces compatibility constraints to newer processor architectures.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20240048543A1Encryption acceleration for network communication packets
Publication Date: 2024.02.08 INTEL CORP
  • US20240048543A1 patent drawing
  • US20240048543A1 patent drawing
  • US20240048543A1 patent drawing

AI summary

An apparatus includes an interface to memory, and a processor to execute one or more instructions. The instructions cause the processor to receive, via an application programming interface (API), a plurality of packets, respective packets of the plurality of packets comprising a respective header and a respective payload. Further, the instructions cause the processor to determine, by a QUIC protocol stack, to encrypt the plurality of packets in parallel. Further, the instructions cause the processor to encrypt the payloads of the plurality of packets in parallel. Further, the instructions cause the processor to encrypt the headers of the plurality of packets in parallel.