Abstract:
A method for carrying out computations of modular exponentiation (M E mod N) by hardware involving Montgomery multiplication operations utilizing a non-reduced and extended Montgomery multiplication between a first (A) and a second (B) integer values, in which the number of iterations required is greater than the number of bits n of an odd modulus value N, and a pre-calculated auxiliary operand value M'=M*2 s mod N. The method comprises carrying out non-reduced and extended Montgomery multiplication (NRMM (s) ), by utilizing a first and a second multiplication units capable of storing the result of said multiplication. A pre-calculated auxiliary operand value M' is stored in the second multiplication unit and in a storage device. The following step are then performed: non-reduced and extended Montgomery multiplication is performed by the second multiplication unit, of its content by itself (NFMM (s) (M',M')), thereby obtaining non-reduced and extended Montgomery squaring of the content of said second multiplication unit; sequentially scanning the exponent bits E i (i=0,1, ) starting from its LSB, checking the state of each bit, and if the bit state is "1" and it is the first occurrence of exponent bit of state "1", the content of the second multiplication unit is stored in the first multiplication unit, otherwise, a non-reduced and extended Montgomery multiplication is performed by the first multiplication unit, of its content by the value stored in the storage device; storing the result of in the storage device; and repeating steps the above steps until all of the exponent bits are scanned. The modular exponentiation result is obtained by performing non-reduced and extend Montgomery multiplication, by the first multiplication unit, of its content, by 1.
Abstract:
A method for carrying out modular arithmetic computations involving multiplication operations by utilizing a non-reduced and extended Montgomery multiplication between a first A and a second B integer values, in which the number of iterations required is greater than the number of bits n of an odd modulo value N. The method comprises storing n+2 bit values in an accumulating device (S) capable of, of adding n+2-bit values (X) to it content, and of dividing its content by 2. Whenever desired, the content of the accumulating device is set to zero value. At least s(>n+1) iterations of the following steps are performed, while in each iteration choosing one bit, in sequence, from the value of said first integer value A, starting from its least significant bit: adding to the content of the accumulating device S the product of the selected bit and said second integer value B; adding to the resulting content the product of its current least significant bit and N; dividing the result by 2; and obtaining a non-reduced and extended Montgomery multiplication result by repeating these steps s-1 additional times while in each time using the previous result (S).
Abstract:
A method for carrying out computations of modular exponentiation (M E mod N) by hardware involving Montgomery multiplication operations utilizing a non-reduced and extended Montgomery multiplication between a first (A) and a second (B) integer values, in which the number of iterations required is greater than the number of bits n of an odd modulus value N, and a pre-calculated auxiliary operand value M'=M*2 s mod N. The method comprises carrying out non-reduced and extended Montgomery multiplication (NRMM (s) ), by utilizing a first and a second multiplication units capable of storing the result of said multiplication. A pre-calculated auxiliary operand value M' is stored in the second multiplication unit and in a storage device. The following step are then performed: non-reduced and extended Montgomery multiplication is performed by the second multiplication unit, of its content by itself (NFMM (s) (M',M')), thereby obtaining non-reduced and extended Montgomery squaring of the content of said second multiplication unit; sequentially scanning the exponent bits E i (i=0,1, ) starting from its LSB, checking the state of each bit, and if the bit state is "1" and it is the first occurrence of exponent bit of state "1", the content of the second multiplication unit is stored in the first multiplication unit, otherwise, a non-reduced and extended Montgomery multiplication is performed by the first multiplication unit, of its content by the value stored in the storage device; storing the result of in the storage device; and repeating steps the above steps until all of the exponent bits are scanned. The modular exponentiation result is obtained by performing non-reduced and extend Montgomery multiplication, by the first multiplication unit, of its content, by 1.
Abstract translation:一种用于通过使用在第一(A)和第二(B)整数值之间的非缩减和扩展的蒙哥马利乘法进行蒙哥马利乘法运算的硬件来执行模幂运算(M?mod mod N)的方法,其中 所需的迭代次数大于奇数模数值N的位数n,以及预先计算的辅助操作数值M'= M * 2 mod N.该方法包括执行非还原和扩展的蒙哥马利 通过利用能够存储所述乘法的结果的第一和第二乘法单元来乘法(NRMM <(s)>)。 预先计算的辅助操作数值M'存储在第二乘法单元和存储装置中。 然后执行以下步骤:非缩减和扩展的蒙哥马利乘法由其内容本身的第二乘法单元执行(NFMM <(s>>(M',M')),从而获得未缩减和扩展 所述第二乘法单元的内容的蒙哥马利平方; 顺序扫描从其LSB开始的指数位Ei(i = 0,1),检查每个位的状态,如果位状态为“1”,并且它是状态“1”的指数位的第一次出现, 第二乘法单元的内容被存储在第一乘法单元中,否则,由存储在存储设备中的值的内容由其第一乘法单元执行非缩减扩展的蒙哥马利乘法; 存储在存储装置中的结果; 并重复上述步骤,直到扫描所有指数位。 通过执行非缩减并通过第一乘法单元将其内容的Montgomery乘法乘以1获得模幂运算结果。
Abstract:
A method for carrying out modular arithmetic computations involving multiplication operations by utilizing a non-reduced and extended Montgomery multiplication between a first A and a second B integer values, in which the number of iterations required is greater than the number of bits n of an odd modulo value N. The method comprises storing n+2 bit values in an accumulating device (S) capable of, of adding n+2-bit values (X) to it content, and of dividing its content by 2. Whenever desired, the content of the accumulating device is set to zero value. At least s(>n+1) iterations of the following steps are performed, while in each iteration choosing one bit, in sequence, from the value of said first integer value A, starting from its least significant bit: adding to the content of the accumulating device S the product of the selected bit and said second integer value B; adding to the resulting content the product of its current least significant bit and N; dividing the result by 2; and obtaining a non-reduced and extended Montgomery multiplication result by repeating these steps s-1 additional times while in each time using the previous result (S).
Abstract:
Embodiments of the invention provide a hash function module for carrying out hash function computations of at least two different hash function algorithms. According to some exemplary embodiments of the invention, the hash function module includes a read -write memory, an accumulating device, an adder, exclusive-or circuitry, one or more cyclic bit rotation devices, two arbitration devices, at least three data registers, one or more logical function circuitries, and a control circuit.
Abstract:
A method for transferring non-standard commands to a device having storage and processing capabilities and that is capable of being linked to a host computer, said method comprising creating a designated file in said device, analyzing any standard write command attempting to access said designated file to determine whether it incorporates a non-standard command, and executing said non-standard command if incorporated in said standard write command. A device for carrying out said method is also disclosed.
Abstract:
The present invention provides a system, method and device, for carrying out secure electronic communication over a computer network via a computer susceptible of being virus infected or eavesdropped by means of a personal apparatus comprising processing means, one or more memory devices, one or more interfacing means suitable for exchanging information with the insecure computer, and a communication software having cryptographic capabilities stored in the one or more memory means, wherein the personal apparatus is adapted to establish a secure channel with a remote computer over the computer network, by means of the insecure computer machine.
Abstract:
The present invention provides a secure handheld portable storage device comprising a nonvolatile memory, data communication connectivity means, a secure processor operated with a secure operating system, and interfacing means for interfacing between the secure processor and a data processing system and the nonvolatile memory, wherein the secure processor comprises a cpu, a secure memory, and optionally PKI, and/or encryption/decryption means.