An encryption device comprises: a storage module for pre-storing an encryption key which is necessary for encryption processing; a pre-processing function unit which applies a pre-processing function to plaintext which converts an input value which in general may possibly not have a uniform distribution to an output value which has a uniform distribution; and an encryption unit which outputs encrypted text which is obtained by encrypting by order-preserving encryption, using the encryption key, the plaintext to which the pre-processing function is applied, and in which an order is maintained. This pre-processing function adds an arbitrarily selected random number to a value which is obtained by inputting an input value into a cumulative probability distribution function of an integer set with which the input value is associated, and treating same as an output value.
展开▼