摘要:
A modular multiplication method implemented in an electronic digital processing system takes advantage of the case where one of the operands W is known in advance or used multiple times with different second operands V to speed calculation. The operands V and W and the modulus M may be integers or polynomials over a variable X. A possible choice for the type of polynomials can be polynomials of the binary finite field GF (2 N ). Once operand W is loaded (30; 60) into a data storage (12) location, a value P = Lw-X n+δ /M J is pre- computed (32; 62) by the processing system (10). Then when a second operand V is loaded (34; 64), the quotient q Λ for the product V.W being reduced modulo M is quickly estimated (36; 66), q Λ = Lv-P/X n+δ J, optionally randomized (40; 70), q' = q Λ - E, and can be used to obtain (44; 74) the remainder r' = V.W - q'-M, which is congruent to (V.W) mod M. A final reduction (46; 76) can be carried out, and the later steps repeated (52; 82) with other second operands V.
摘要翻译:在电子数字处理系统中实现的模乘法利用了预先知道操作数W之一或者用不同的第二操作数V多次使用以加速计算的情况。 操作数V和W以及模数M可以是变量X上的整数或多项式。多项式类型的可能选择可以是二进制有限域GF(2≤N>)的多项式。 一旦操作数W被加载(30; 60)到数据存储器(12)位置中,则通过处理(32; 62)预先计算值P = Lw-X> n + d / 系统(10)。 然后,当加载第二操作数V(34; 64)时,快速地估计产品VW减数M的商q(S)> SUP,(36; 66),q O > = Lv-P / X d,J,任选随机化(40; 70),q'= q O - E,并且可以用于获得(44 ; 74)余数r'= VW-q'-M,其与(VW)mod M一致。可以执行最终减少(46; 76),并且后面的步骤与其他步骤重复(52; 82) 第二个操作数V.
摘要:
A deterministic blinding method for cipher algorithms that employ key -mixing and substitution (S -box) operations uses a masking table (MASK[0] to MASK [63] ) constructed with a true mask (MASK[0] ) and a plurality of dummy masks corresponding to every possible S-box input. Each mask is applied in the key -mixing operation (e.g., bitwise XOR) to the cipher key (K) or to round subkeys (K1 to K16) to generate true and dummy keys or subkeys that are applied to the data blocks (DATA) within the overall cipher algorithm or within individual cipher rounds. The mask values prevent side-channel statistical analyses from determining the true from the dummy keys or subkeys. The true mask is identifiable to the cipher but not by external observers.
摘要:
A cryptographic system can include a register containing a key and a processor coupled to the register. The processor can be operable for performing a first encrypting operation, where the encrypting operation includes computing a key schedule using the register as a workspace. At the end of the first encrypting operation, the key is recovered from the register for use in a second encrypting operation.
摘要:
A modular multiplication method implemented in an electronic digital processing system takes advantage of the case where one of the operands W is known in advance or used multiple times with different second operands V to speed calculation. The operands V and W and the modulus M may be integers or polynomials over a variable X. A possible choice for the type of polynomials can be polynomials of the binary finite field GF (2 N ). Once operand W is loaded (30; 60) into a data storage (12) location, a value P = Lw-X n+d /M J is pre- computed (32; 62) by the processing system (10). Then when a second operand V is loaded (34; 64), the quotient q ? for the product V.W being reduced modulo M is quickly estimated (36; 66), q ? = Lv-P/X n+d J, optionally randomized (40; 70), q' = q ? - E, and can be used to obtain (44; 74) the remainder r' = V.W - q'-M, which is congruent to (V.W) mod M. A final reduction (46; 76) can be carried out, and the later steps repeated (52; 82) with other second operands V.
摘要翻译:在电子数字处理系统中实现的模乘算法利用事先知道操作数W中的一个或与不同的第二操作数V多次使用以加速计算的情况。 操作数V和W以及模数M可以是变量X上的整数或多项式。多项式类型的可能选择可以是二元有限域GF(2 N)的多项式。 一旦操作数W被加载(30; 60)到数据存储器(12)位置,通过处理预先计算值(32; 62)的值P = Lw-Xn + d / 系统(10)。 然后,当加载第二操作数V(34; 64)时,快速估计乘积M的模数M减的商q(SUP;θ),其中q ≥ SUP > = Lv-P / X n + d J,任选随机化(40; 70),q'= q SUP→E,并且可以用于获得(44 ; 74)剩余部分r'= VW-q'-M,其与(VW)mod M一致。可以执行最终减少(46; 76),并且随后的步骤与其他 第二操作数V.
摘要:
A cryptographically secure, computer hardware-implemented binary finite-field polynomial modular reduction method estimates (32) and randomizes (36) a polynomial quotient q' (x) used for computation of a polynomial remainder. The randomizing error E (x) injected into the approximate polynomial quotient q (x) is limited to a few bits, e.g. less than half a word. The computed (38) polynomial remainder r' (x) is congruent with but a small random multiple of the residue r (x), which can be found by a final strict binary field reduction by the modulus M (x). In addition to a computational unit (10) and operations sequencer (16), the computing hardware also includes a random or pseudo-random number generator (20) for producing the random polynomial error. The modular reduction method thus resists hardware cryptoanalysis attacks, such as timing and power analysis attacks.
摘要:
A microcontroller system, such as a system-on-a-chip integrated circuit, including a processor (e.g., a Von Neumann processor), memory, and a memory protection unit (MPU), where the MPU provides execute-only access rights for one or more protected areas of the memory. The MPU can allow instructions fetched from within a protected area to access data in the protected area while preventing instructions fetched from outside the protected area from accessing data in the protected area.
摘要:
Methods, apparatus and systems for large number multiplication. A multiplication circuit is provided to compute the product of two operands (A and B), at least one of which is wider than a width associated with the multiplication circuit. Each of the operands includes contiguous ordered word-wide operand segments (Aj and Bi) characterized by specific weights j (integer from 0 to k) and i (integer from 0 to m). The multiplication circuit executes a matrix of word-wide operand segment pair multiplication operations. Multiplication operations are performed on a pair of rows at one time. For each pair of rows, a pair of corresponding Bi word-wide operand segments are read from a memory and word-wide operand segment pair multiplication operations (Aj*Bi) are iteratively performed for each of k+2 columns. For each column a maximum of two additional memory read operations and one memory write operation is required.
摘要:
A method of protecting secret key integrity in a hardware cryptographic system includes first obtaining an encryption result (13) and corresponding checksum (14) of known data using the secret key, saving those results, then masking the secret key (16, 17) and storing the masked key (18). When the masked key is to be used in a cryptographic application, the method checks key integrity against fault attacks by decrypting (19) the prior encryption results using the masked key. If upon comparison (20), the decryption result equals valid data (PASS), then the key's use in the cryptographic system can proceed. Otherwise (FAIL), all data relating to the masked key is wiped from the system and fault injection is flagged (21).
摘要:
A method of protecting secret key integrity in a hardware cryptographic system includes first obtaining an encryption result (13) and corresponding checksum (14) of known data using the secret key, saving those results, then masking the secret key (16, 17) and storing the masked key (18). When the masked key is to be used in a cryptographic application, the method checks key integrity against fault attacks by decrypting (19) the prior encryption results using the masked key. If upon comparison (20), the decryption result equals valid data (PASS), then the key's use in the cryptographic system can proceed. Otherwise (FAIL), all data relating to the masked key is wiped from the system and fault injection is flagged (21).
摘要:
A cryptographic system can include a register containing a key and a processor coupled to the register. The processor can be operable for performing a first encrypting operation, where the encrypting operation includes computing a key schedule using the register as a workspace. At the end of the first encrypting operation, the key is recovered from the register for use in a second encrypting operation.