Patent ID: 7167559

Claim:
A computerized implemented information security device for encrypting information, decrypting the encrypted information, generating a digital signature, and verifying the digital signature or sharing a key by performing a power operation k & A based on the intractability of the discrete logarithm problem in a group, the group being formed from a predetermined set and a binary operation performed using elements of the set, the power operation k & A involving k number of repetitions of the binary operation performed using the element A of the group and the identity element of the group, and the discrete logarithm problem being to determine the element k, when k exists, such that an element Y=k & A in the group, the device operating on bits of data comprising: input unit for receiving inputs of the element k and the element A; initializing unit for storing the identity element as an initial value in a variable X and a variable B 2 ; repetition control unit for controlling a calculation unit, a storage unit, and an exchange unit to repeat, for the number of bits in a bit sequence of data resulting when the element k is represented in binary, a step composed of the respective operations of calculating, storing, and exchanging, so as to perform the power operation k & A, the result of the power operation k & A being stored in the variable X at the completion of the repetitions; the calculation unit performs the binary operation using the variable X and the same variable X, performing the binary operation again using the initial binary operation result and an operand stored in the variable B 2 , and storing the further binary operation result in the variable X; the storage unit selects an operand to be used by the calculation unit in the following step and stores the selected operand in a variable B 1 , the operation conducted by the storage unit being completed during a duration of the operation conducted by the calculation unit; the exchange unit exchanges the operand in the variable B 2 for the operand in the variable B 1 , when the operations conducted by the calculation unit and the storage unit have been complete; a security unit for using, after the completion of the repetitions, the result of the power operation k & A being stored in the variable X to encrypt the information, decrypt the encrypted information, generate the digital signature, and verify the digital signature or share the key; and an output unit for outputting the encrypted information, the decrypted information, the digital signature, a result of the verification or the shared key.