Patent ID: 7233662

Claim:
An encryption device for encrypting a message, the encryption device comprising: a function value output unit operable to calculate a function value of the message according to a one-way converting function and output an input integer which is greater than or equal to 0 and represents the calculated function value; a numerical array output unit operable to output a vector of n elements according to the input integer, wherein each of the n elements is selected from K predetermined distinct integer values, said numerical array output unit comprising: an initial array selection unit operable to select one vector of n elements as an initial vector; and a changing unit operable to change a vector element of the initial vector selected by said initial array selection unit according to the input integer, said changing unit comprising: a division unit operable to divide the input integer by a specific positive integer, which is less than or equal to n, to produce a remainder; and a replacement unit operable to replace at least one vector element of the initial vector with one of the K predetermined distinct integer values according to the remainder produced by said division unit, wherein said division unit and said replacement unit are operable to repeat the division and the replacement, respectively, while changing the specific positive integer value; and an encryption text generation unit operable to generate an encryption text of the message according to a polynomial utilizing the vector of n elements output from said numerical array output unit and a public key.