Multi-Layer Residue Number System for Large Dynamical Range
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing electronic calculating devices face challenges in achieving a large dynamical range using Residue Number Systems (RNS) due to the need for either very large moduli or a large number of moduli, which results in cumbersome table sizes and complexity, especially in white-box cryptography where table lookup is employed.
Innovation Solution
The implementation of a multi-layer RNS system where integers are represented as a sequence of residues modulo multiple moduli, allowing for a fixed, small set of RNS moduli to achieve a large dynamical range, enabling efficient computations such as additions, subtractions, and multiplications with small tables, and employing pseudo-residues to reduce the complexity of modular arithmetic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a large dynamical range is achieved by increasing the number of moduli or size of moduli in RNS, then the computational range is improved, but the table size and device complexity become too large
Solution Approach 1:
The patent divides the RNS representation into multiple layers, where each layer uses a separate set of moduli. The upper layer handles large integers with large moduli, while the lower layer handles smaller integers with small moduli. This segmentation allows the system to achieve a large dynamical range without requiring a single large table, as each layer can use its own optimized table size appropriate to its modulus size.
Solution Approach 2:
The patent transitions from a single-layer RNS to a multi-layer RNS structure, adding a dimensional aspect to the representation. Instead of using one set of moduli to achieve large range, the system stacks multiple RNS layers vertically, where each layer contributes to the overall dynamical range. This dimensional change allows the system to achieve large computational range while keeping individual table sizes small and manageable.
2Adaptability or versatility
If very large moduli are used to achieve large dynamical range, then the computational capability is improved, but the number of required tables increases
Solution Approach 1:
The patent segments the computational task across multiple layers, each handling different ranges of values with appropriately sized moduli. This segmentation allows the system to use small moduli in lower layers (requiring fewer and smaller tables) while still achieving large overall dynamical range through the combination of layers. The upper layer uses larger moduli but fewer of them, reducing the total number of tables required.
Solution Approach 2:
The patent changes the parameters of the RNS representation by introducing a hierarchical structure with varying modulus sizes across layers. Instead of uniformly using large moduli throughout, the system uses small moduli in lower layers and large moduli in upper layers. This parameter change optimizes the balance between computational range and the number of tables required, as small moduli require fewer table entries.
3Adaptability or versatility
If the number of moduli is increased to achieve large dynamical range, then the computational range is improved, but the computation time and complexity increase
Solution Approach 1:
The patent segments the computation into multiple layers, each optimized for specific ranges of values. This segmentation allows parallel processing within each layer, reducing overall computation time. Each layer can independently perform computations on its residues without waiting for other layers, and the results are combined through the Chinese Remainder Theorem, achieving large dynamical range without proportional increase in computation time.
Solution Approach 2:
The patent performs preliminary decomposition of large integer operations into smaller operations on each layer before combining results. By pre-organizing the computation into layered residues and using pre-computed tables for each layer, the system avoids the need for complex single-step operations on very large integers, thereby reducing computation time while maintaining large dynamical range capability.
Data Source
AI summary
An electronic calculating device (100; 200) arranged to calculate the product of integers, the device comprising a storage (110) configured to store integers (210, 220) in a multi-layer residue number system (RNS) representation, the multi-layer RNS representation having at least an upper layer RNS and a lower layer RNS, the upper layer RNS being a residue number system for a sequence of multiple upper moduli (M i ), the lower layer RNS being a residue number system for a sequence of multiple lower moduli (m i ), an integer (x) being represented in the storage by a sequence of multiple upper residues (x i = (x) Mi ; 211, 221) modulo the sequence of upper moduli (M i ), upper residues (x j ; 210.2, 220.2) for at least one particular upper modulus (M j ) being further-represented in the storage by a sequence of multiple lower residues ((x j ) mj , 212, 222) of the upper residue (x j ) modulo the sequence of lower moduli (m i ), wherein at least one of the multiple lower moduli (m i ) does not divide a modulus of the multiple upper moduli (M j ).