LDL Matrix Buffer Reuse for Low-Memory Falcon Signatures
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Quantity of substance
If the Falcon signature algorithm is implemented, then signature size efficiency is improved, but memory footprint increases significantly
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.
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.
2Measurement precision
If memory buffer is used to store signature generation matrix coefficients, then computational accuracy is maintained, but memory consumption increases
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.
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.
Data Source
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.


