LDL Matrix Buffer Reuse for Low-Memory Falcon Signatures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The memory footprint of lattice-based signature algorithms like Falcon is excessively large for constrained devices, making them impractical for deployment due to high memory requirements.

Innovation Solution

Optimize memory usage by representing the signature generation matrix as a product of LDL decomposition, where L is lower triangular with ones on the diagonal and D is diagonal, and manage memory storage of coefficients accordingly, reducing the required memory footprint.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the Falcon signature algorithm is implemented, then signature size efficiency is improved, but memory footprint increases significantly

Engineering Contradiction:
Improvesignature sizeVSAvoidmemory footprint
Core Design Contradiction:
Quantity of substanceVSVolume of stationary object

Solution Approach 1:

The patent segments the signature generation process into distinct phases (key generation, message signing, verification) and separates the data structures into different memory regions. The signature matrix is divided into elements that can be processed and stored independently, allowing efficient memory management where only necessary portions are loaded into high-speed memory during execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by optimizing memory allocation for different parts of the algorithm. Critical components like the signature matrix elements are stored in high-speed memory with precise addressing, while less frequently accessed data can reside in slower memory. This selective optimization ensures that the memory footprint is minimized while maintaining fast access to essential data structures.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If memory buffer is used to store signature generation matrix coefficients, then computational accuracy is maintained, but memory consumption increases

Engineering Contradiction:
Improvecomputational accuracyVSAvoidmemory consumption
Core Design Contradiction:
Measurement precisionVSVolume of stationary object

Solution Approach 1:

The patent implements dynamic memory management where the memory buffer size and allocation are adjusted based on the specific computational phase. During signature generation, sufficient memory is allocated to maintain full precision for matrix operations. During verification or intermediate steps, memory allocation is reduced by loading only necessary matrix elements, thus balancing accuracy requirements with memory consumption constraints.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes memory allocation parameters dynamically based on computational needs. The precision parameter is maintained for critical calculations involving the signature matrix, while memory buffer size parameters are adjusted to fit constrained devices. This allows the system to maintain computational accuracy where needed while optimizing overall memory usage through parameter adaptation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12634150B2Memory management in a computer system configured for generating a signature and apparatus for implementing the same
Publication Date: 2026.05.19 BULL SA
  • US12634150B2 patent drawing
  • US12634150B2 patent drawing
  • US12634150B2 patent drawing

AI summary

A computer-implemented method for memory management in a computer system configured for generating a signature of a binary data message m using a key B of a predetermined lattice-based structure is proposed, which comprises: determining coefficients of a 2×2 signature generation matrix SG, wherein the non-diagonal coefficients of the signature generation matrix SG are complex polynomials with a non-zero imaginary part, and the diagonal coefficients of the signature generation matrix SG are real polynomials; and determining a LDL representation of the signature generation matrix SG according to which SG is represented by a matrix product L.D.L*, wherein L is a 2×2 lower triangular matrix with ones on the diagonal, D is a 2×2 diagonal matrix, and L* is the adjoint of L; wherein the storing in a memory buffer of the computer system of the coefficients of the signature generation matrix SG and the coefficients of the matrices of the LDL representation is managed based on that the signature generation matrix SG has real diagonal coefficients, and the memory buffer is used alternatively to store the coefficients of the signature generation matrix SG or the coefficients of the matrix D of the LDL representation.