Patent ID: 8180048

Claim:
A processor implemented method for cryptographically transforming input-data to output-data, the method comprising: transforming, by the processor, ‘n’ bits of received input-data to corresponding ‘m’ bits of output-data using a current keyset and an indicator, wherein the ‘n’ bits are used to perform a predefined operation on the current keyset to obtain the ‘m’ bits, wherein the current keyset is a two dimensional array, and wherein the indicator indicates a forward transformation or a reverse transformation to be performed, wherein the current keyset comprises a two dimensional array type data structure having less than or equal to 2n rows and at least two columns, wherein n is the number of bits in the received ‘n’ bits of input-data, and wherein a first column of the two-dimensional array comprises unique combination of the received ‘n’ bits in each of the rows, and wherein a second column comprises values in each of the rows, wherein the values are generated using the n′ bits of received input-data and a previous keyset; transforming, by the processor, each value in the current keyset to form a next keyset using the ‘n’ bits of received input-data, wherein a first predetermined operation is used for changing values in the current keyset using the ‘n’ bits of received input-data and a second predetermined operation is used for arranging the changed values in the current keyset to generate the next keyset; performing the first predetermined-operation on the second column of the current keyset using the ‘n’ bits of input-data; performing the second predetermined operation for arranging the second column in a predefined order and in the process, arranging the first column corresponding to the arrangement performed on the second column; thereby achieving the one-way transformation of the current keyset to the next keyset; and transforming, by the processor, next ‘n’ bits of the received input-data to a corresponding next ‘m’ bits of output-data using the next keyset and the indicator.