A converting method performed by a computer executing a program stored in a non-transitory information recording medium, said converting method using:
- conversion functions for a domain A, F1:A×A→A, F2:A×A→A, . . . , Fn:A×A→A;
- a binary exclusive OR operator, XOR:A×A→A;
- and
- a predetermined parameter, aεA, and
- said converting method comprising:
- a generating step which accepts generative inputs, x1εA, x2εA, . . . , xnεA, and generates generative outputs, y1εA, y2εA, . . . , ynεA, using recurrence formulas,
- y1=F1(x1,a), and
- yi+1=Fi+1(xi+1,yi) (for 1≦i≦n−1);
- a key accepting step which accepts key inputs, k1εA, k2εA, . . . , knεA, and gives the accepted key inputs as generative inputs to said generating step;
- a repetition controlling step which gives the generative outputs from said generating step as generative inputs to said generating step, for an “m” (m≧0) number of times, and sets the last of the generative outputs as a random number sequence, r1εA, r2εA, . . . , rnεA;
- a data accepting step for accepting data inputs, d1εA, d2εA, . . . , dnεA;
- and
- a converting step for converting the data inputs into data outputs, e1εA, e2εA, . . . , enεA, using a formula,
- ei=diXORri, and
- outputs the data outputs,
- wherein each of the conversion functions, F1, F2, . . . , Fn, is a function, ma(.,.) and
- the function, ma(.,.), is defined by a positive integer M, a positive integer s, a rounding up function ceil(.), and a rounding down function floor(.), as:
- ma(x,b)=ceil(xMs/b) (for 1≦x≦b), and
- ma(x,b)=floor(Ms(x−b)/(Ms−b))+1 (for b≦x≦Ms).