A method of generating a cryptographic algorithm, comprising: generating one or more key tables on the basis of a seed value; generating, by using a round tweak bit string and an input bit string that is input to one of input branches of a Feistel structure, a first transformation function that converts the input bit string into a first random bit string having a length that extends beyond a length of the input bit string, wherein the length of the first random bit string is determined on the basis of a predetermined number of times d of referencing the one or more key tables and a length L of an input bit string for the one or more key tables; generating a second transformation function that converts a second random bit string generated by referencing the one or more key tables into a third random bit string having a length that is the same as the length of the input bit string; and generating a block cryptographic algorithm of a Feistel structure which includes a round function to which the one or more key tables, the first transformation function, and the second transformation function are applied, wherein the round function is configured to: convert an input bit string input to one of the input branches into the first random bit string using the first transformation function, convert the first random bit string into the second random bit string by referencing the one or more key tables according to the predetermined number of times d of referencing the one or more key tables, and convert the second random bit string into the third random bit string using the second transformation function. generating one or more key tables on the basis of a seed value; generating, by using a round tweak bit string and an input bit string that is input to one of input branches of a Feistel structure, a first transformation function that converts the input bit string into a first random bit string having a length that extends beyond a length of the input bit string, wherein the length of the first random bit string is determined on the basis of a predetermined number of times d of referencing the one or more key tables and a length L of an input bit string for the one or more key tables; generating a second transformation function that converts a second random bit string generated by referencing the one or more key tables into a third random bit string having a length that is the same as the length of the input bit string; and generating a block cryptographic algorithm of a Feistel structure which includes a round function to which the one or more key tables, the first transformation function, and the second transformation function are applied, wherein the round function is configured to: convert an input bit string input to one of the input branches into the first random bit string using the first transformation function, convert the first random bit string into the second random bit string by referencing the one or more key tables according to the predetermined number of times d of referencing the one or more key tables, and convert the second random bit string into the third random bit string using the second transformation function. convert an input bit string input to one of the input branches into the first random bit string using the first transformation function, convert the first random bit string into the second random bit string by referencing the one or more key tables according to the predetermined number of times d of referencing the one or more key tables, and convert the second random bit string into the third random bit string using the second transformation function.