Low-Memory Masked Dilithium Signing Without Polynomial y Regeneration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing implementations of the Dilithium signature scheme require significant memory resources and incur additional overhead and side-channel leakage due to the need to re-generate sensitive variables like y and w0, making them unsuitable for memory-constrained devices.
Innovation Solution
A modified method for computing the polynomial {tilde over (r)} using Az − ct − αw1, allowing y to be kept in memory without overwriting it with w0, reducing the need for re-generation and minimizing side-channel leakage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Volume of stationary object
If y is overwritten with w0 to reduce memory usage, then memory footprint is reduced, but y must be re-generated causing additional overhead and side-channel leakage
Solution Approach 1:
The patent applies preliminary action by computing and storing the polynomial r = Ay − cs2 immediately after y is generated, before y is overwritten with w0. This preliminary computation captures the necessary information from y while it is still in memory, eliminating the need to re-generate y later. The stored polynomial r is then used in subsequent signature generation steps, thus avoiding the overhead and side-channel leakage that would result from re-generating y.
2Volume of stationary object
If y is overwritten with w0 to save memory, then memory resources are conserved, but side-channel leakage increases due to re-generation
Solution Approach 1:
The patent applies preliminary action by computing and storing the polynomial r = Ay − cs2 immediately after y is generated, before y is overwritten with w0. This preliminary computation captures the necessary information from y while it is still in memory, eliminating the need to re-generate y later. The stored polynomial r is then used in subsequent signature generation steps, thus avoiding the overhead and side-channel leakage that would result from re-generating y.
3Loss of time
If y is kept in memory without overwriting, then re-generation is avoided reducing overhead, but memory footprint increases
Solution Approach 1:
The patent applies the extraction principle by removing the polynomial s2 from the computation of r, transforming the expression from r = Ay − cs2 to r = Ay − ct where t = s2 + cs1. This extraction allows the computation to be performed using only y and publicly known values (A, c, t), enabling y to be overwritten with w0 immediately after r is computed, thus reducing memory footprint without requiring y to be retained.
Solution Approach 2:
The patent applies preliminary action by computing and storing the polynomial r = Ay − cs2 immediately after y is generated, before y is overwritten with w0. This preliminary computation captures the necessary information from y while it is still in memory, eliminating the need to re-generate y later. The stored polynomial r is then used in subsequent signature generation steps, thus avoiding the overhead and side-channel leakage that would result from re-generating y.
4Volume of stationary object
If re-generation of y is performed, then memory can be reused, but productivity decreases due to additional computations
Solution Approach 1:
The patent applies the extraction principle by removing the polynomial s2 from the computation of r, transforming the expression from r = Ay − cs2 to r = Ay − ct where t = s2 + cs1. This extraction allows the computation to be performed using only y and publicly known values (A, c, t), enabling y to be overwritten with w0 immediately after r is computed, thus reducing memory footprint without requiring y to be retained.
Solution Approach 2:
The patent applies preliminary action by computing and storing the polynomial r = Ay − cs2 immediately after y is generated, before y is overwritten with w0. This preliminary computation captures the necessary information from y while it is still in memory, eliminating the need to re-generate y later. The stored polynomial r is then used in subsequent signature generation steps, thus avoiding the overhead and side-channel leakage that would result from re-generating y.
Data Source
AI summary
A method of performing a Dilithium signature operation on a message M using a secret key sk, including: generating a polynomial y using an ExpandMask function; calculating a polynomial z based upon y, c, and s1; performing a bound check on z based upon γ1 and β; performing a bound check on ct0 based upon γ2; calculating a polynomial {tilde over (r)} based upon A, z, c, t, α, and w1; performing a bound check on {tilde over (r)} based upon γ2 and β; calculating a hint polynomial h based on the {tilde over (r)}; and returning a digital signature of the message M where the digital signature includes z and h.


