WO1999066671A1 - Transposition cipher - Google Patents

Transposition cipher Download PDF

Info

Publication number
WO1999066671A1
WO1999066671A1 PCT/GB1999/001938 GB9901938W WO9966671A1 WO 1999066671 A1 WO1999066671 A1 WO 1999066671A1 GB 9901938 W GB9901938 W GB 9901938W WO 9966671 A1 WO9966671 A1 WO 9966671A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
square
order
integers
block
Prior art date
Application number
PCT/GB1999/001938
Other languages
French (fr)
Inventor
Kathleen Ollerenshaw
David Bree
Original Assignee
The Victoria University Of Manchester
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by The Victoria University Of Manchester filed Critical The Victoria University Of Manchester
Priority to AU45188/99A priority Critical patent/AU4518899A/en
Publication of WO1999066671A1 publication Critical patent/WO1999066671A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/34Bits, or blocks of bits, of the telegraphic message being interchanged in time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI

Definitions

  • This invention relates to a method and apparatus for transmitting blocks of data, for example data representing messages or images to be transmitted from a transmitter to a receiver.
  • Data transmission systems are known in which blocks of data initially in a first order are transformed such that the data elements are in a second order, the transformed data blocks are transmitted and received, and the received data blocks are transformed such that the data elements are restored to the first order.
  • Such systems may rely upon transformations which encode the data as transmitted with a view to encrypting the data and thereby making an authorised reception of the data difficult. Encoding is also used for other purposes however, for example to improve the intelligibility of transmitted messages in which noise degrades the quality of the transmitted data.
  • Encryption systems generally involve transfo ⁇ nations the details of which are frequently made public and almost always are assumed to be known widely.
  • the transformations are based on one or more keys, at least one of which must be kept secret to protect against unauthorised access to transmitted messages.
  • a single-key system has only one secret key which is used both to encrypt information at the transmitter and to decrypt information at the receiver. It is necessary to make the key available at both the transmitter and the receiver in a secure manner.
  • DES Data Encryption standard
  • Public-key systems have been devised which use two different keys. For example, information is encrypted using one key and decrypted using a different (but related through a secure process) key.
  • One well known and widely used public-key system is known as the RSA system.
  • the computational burden of RSA and similar public-key systems is significantly greater than for DES and similar single-key systems.
  • public-key systems are frequently used for secure communication for the key intended for a single-key system, which is then in turn used for mainstream encryption.
  • a data transmission method in which blocks of data to be transmitted each of which comprises a number of data elements in a predetermined first order are transformed such that the data elements are in a second order, the transformed data blocks are transmitted and received, and the received data blocks are transformed such that the data elements are restored to the first order, wherein a map is made available at the transmitter and receiver which correlates the position of each data element in a block in the first order to the position of that data element in a block in the second order, and the map is used to effect the transformations, the map being based upon a predetermined array of numbers in which the position of a number within the array corresponds to the position of a data element in a block in the first order, and the magnitude of a number within the array corresponds to the position of a data element in a block in the second order.
  • the method in accordance with the present invention relies upon very simple transformation processers at the transmitter and receiver, and provides a degree of security which is dependent upon the complexity of the array of numbers used to control the transformation processers.
  • the array is based upon a 'most- perfect square' as defined hereinafter. Most-perfect squares may be generated in an efficient manner as described below from a relatively small number of integers as compared with the total number of integers included in the most-perfect square.
  • Most-perfect squares may be generated by first generating a 'reversible square' as hereinafter defined and then applying a transform.
  • the transform preferably comprises the following: a) Reverse the order of the integers in the right half of each row of the reversible square; b) reverse the order of the integers in the bottom half of each column of the reversible square; and c) move every integer from its position (i,j) to the position (i + l Anj,j + Yin (i +j)), where all position co-ordinates are taken modulo n, where n is the number of integers in each side of the most-perfect square.
  • the reversible square may be generated using a key made available at the transmitter and receiver, the key comprising integers located in positions (0, 0) to (0, Yin) and positions (1, 0) to (Yin, 0) of the reversible square.
  • the data to be transmitted may be derived from an image, each data element corresponding to an element of the image, for example each data element corresponding to a pixel of the image.
  • the invention also provides a data transmission method in which data to be transmitted is in the form of a series of data blocks each block including a predetermined number of data elements arranged in an original first order; wherein identical sequences of parameters are made available at a transmitter and at a receiver, each sequence comprising parameters arranged in a predetermined order such that: each parameter is allocated to a predetermined position in the sequence, each parameter has a value different from that of any other parameter of the sequence and the sequence of parameter values is neither in ascending nor descending order; each data element of a block of data to be transmitted is associated with the parameter located in the position in the sequence corresponding to the position of the data element in the block; the data elements are reordered in a second order such that the associated parameter values are in ascending or descending order; the reordered data elements are transmitted and received; the positions of the data elements in a received block of data are used to identify the parameters associated with each element by reference to the parameter value order; the locations of the associated parameters in the sequence of parameters are determined, and the received
  • the invention also provides apparatus for transmitting data in accordance with the methods as described above.
  • Figure 1 is a four integer by four integer most-perfect square
  • Figure 2 schematically illustrates the distribution of data elements in a data block to be coded on the basis of the most-perfect square of Figure 1
  • Figure 3 schematically represents a portion of an image to be encoded in accordance with the most-perfect square of Figure 1
  • Figure 4 is a schematic representation of the order after encoding of the data elements shown in Figure 3
  • Figure 5 illustrates a reversible square from which the unique most-perfect square of
  • Figure 1 can be derived;
  • Figure 6 schematically represents the integers which can be used to uniquely define the reversible square of Figure 5;
  • Figure 7 illustrates an image to be transmitted in accordance with the present invention;
  • Figure 8 represents the image of Figure 7 after encoding in accordance with an embodiment of the present invention;
  • Figure 9 illustrates the encoded version of Figure 8 after disruption by noise;
  • Figure 10 illustrates the recovered image obtained by decoding the encoded image of
  • Figure 9 in accordance with the present invention and Figure 11 represents the image which would be derived if the data elements representing the image of Figure 7 had been transmitted and exposed to the same noise as illustrated in Figure 9 without the application of the method in accordance with the present invention.
  • a most-perfect square as illustrated in Figure 1 is created and made available at the transmitter and receiver.
  • Each pixel of an image to be transmitted is described by a single respective data element, and the data elements are arranged in 4 x 4 blocks.
  • Each block is coded using the most-perfect square of Figure 1.
  • the most-perfect square is laid over a 4 x 4 pixel block of the image to be transmitted, and each integer of the square is associated with a pixel of the image over which it is laid.
  • data element A is associated with integer 1
  • data element B with integer 15
  • data element C with integer 4
  • data element D data element D with integer 10
  • data element E with integer 6 and so on.
  • the data blocks are transformed from the order represented in Figure 2 by reference to the order of the associated integers taken from the square of Figure 1 and the transformed data blocks are transmitted in the order of the associated integers.
  • Each data element incorporates sufficient information to characterise the associated pixel, for example colour and brightness information.
  • the data element L associated with integer 0 is transmitted first, then the data elements A, N, G ... associated with integers 1, 2, 3 ....
  • the transmitted blocks of data are thus encoded and the original image can only be recovered by reversing the transformation at the receiver.
  • the receiver is provided with an identical copy of the square of Figure 1.
  • the position of individually received data elements within the received block is used to restore the original order of the transmitted data elements.
  • the first data element which is received corresponds with integer 0 in the square of Figure 1
  • the second data element received corresponds to the integer 1 in the square of Figure 1
  • the received data elements are reordered accordingly such that the order transformation effected in the transmitter is exactly reversed in the receiver.
  • Figure 3 illustrates an image to be transmitted.
  • the image has white, black and grey pixels.
  • the image comprises 16 pixels each of which is associated with a respective integer from the square of Figure 1.
  • the data element order is transformed such that for example the single grey pixel which was initially at the seventh position in the data element order is moved to the fourth position in the data element order, the fourth position corresponding to the integer 3. If the data elements were used to reconstruct an image in the order into which they are transformed at the receiver, the resultant image would appear as shown in Figure 4. As described above however at the receiver the transformation is reversed to recover the image as shown in Figure 3.
  • the transmitted information is effectively encrypted and can only be decrypted at a receiver to which the most-perfect square of Figure 1 has been made available.
  • the most-perfect square may be made available in any convenient manner, for example by mail. In many applications however it will be desirable to transmit the most-perfect square to the receiver with the image data, and it is desirable to be able to do this in a way which minimises the amount of data to be transmitted. It will be appreciated that in the example described with reference to the accompanying drawings the most- perfect square has only sixteen elements. In a practical implementation of the invention most-perfect squares will be used which have a much larger element number, for example 64 (an 8 x 8 square) or 1024 (a 32 x 32 square). The full characteristics of a most-perfect square can be defined fully however in terms of a reversible square (as defined below) and a reversible square can be fully defined by a relatively small number of integers.
  • Figure 5 illustrates the reversible square from which the most-perfect square of Figure 1 can be derived.
  • a reversible square is a 'primitive square' in which each row and column has 'reverse similarity'.
  • a row or column has reverse similarity if the sum of pairs of integers at positions that are reflections in the their mid points are constant.
  • the sum of 1 and 4 is equal to the sum of 0 and 5
  • the sum of 3 and 6 is equal to the sum of 2 and 7
  • the sum of 1 and 11 is equal to the sum of 3 and 9.
  • the reversible square of Figure 5 can be converted into the most-perfect square of Figure 1 by reversing the order of the integers in the right half of each row of the reversible square, reversing the order of the integers in the bottom half of each column of the reversible square, and moving every integer from its position (i, j) to the position (i + 2j,j + 2(i +/)), where all the position co-ordinates are taken modulo 4.
  • the most-perfect square of Figure 1 could be made available at both the transmitter and receiver by transmitting to the transmitter and receiver the reversible square of Figure 5 and processing the reversible square using an appropriate algorithm. It is possible however to characterise fully the reversible square of Figure 5 by providing at both the transmitter and receiver the first three integers of the first row and the second and third integers of the first column, that is by making available the sequence of integers shown in Figure 6, that is 1 0 5 3 9. Given the structure of a reversible square, knowledge of those five integers is sufficient to define fully all of the sixteen integers of the reversible square. Accordingly by transmitting only the five integers shown in Figure 6 to both the transmitter and receiver, and providing at the transmitter and receiver an appropriate processor set up to perform the appropriate algorithms, the five integers represented in Figure 6 can be readily transformed into the most-perfect square of Figure 1.
  • the reordering of the positions of the data elements in the transmitted signal as described with reference to Figures 1 to 6 redistributes any data elements which were initially close to each other across the whole of the image area to which any one block of data elements relates.
  • the first four data elements of a data block that is to be transmitted are those associated with the integers 0, 1, 2 and 3. It will be seen from Figure 1 that these four integers are spread across all four rows and all four columns of the most-perfect square and therefore the data elements of the image which are associated with those integers will be spread out in a corresponding manner. This has a beneficial effect in terms of the intelligibility of received data given the presence of bursts of noise which make it impossible to accurately reconstruct the data elements transmitted during such a burst of noise.
  • Figure 7 illustrates an image representing the surface of a carved stone. If that image is encoded using a most-perfect square the result may be as illustrated in Figure 8. If the data represented in Figure 8 is affected by noise such that thirty two consecutive data elements are replaced by alternate signals representing light and dark pixels, the result may be as illustrated in Figure 9.
  • Figure 10 illustrates the reconstructed image given the presence of that noise signal and it can be seen by comparing Figure 7 with Figure 10 that noise-based distortion of the received image has resulted in errors in the reconstructed image which are widely distributed across the image.
  • Figure 11 illustrates the image which would have been produced if the blocks of data representing Figure 7 had been transmitted without transformation in accordance with the present invention. It can be seen by comparing Figures 7 and 11 that, whereas in Figure 11 one line of the received image is entirely unintelligible, in Figure 7 the image is still clearly discernible.
  • Figures 8 and 9 appear to have a different shading because the image is larger than the square that was used for encoding.
  • the top of Figures 8 and 9 is from the coding of the upper half of the original image. As the top part of the image does not fill a whole square, it is padded with blanks. Some of these blanks are shifted into the square (just as some of the original image is shifted out of the square - so the encoded image should really be larger). When the coded image is decoded, these 'out-of square' pixels come back into the square.
  • the following text comprises 144 characters (each space between words being treated as a character) and therefore can be encoded according to the invention using a 12 x 12 most-perfect square:
  • more than one pixel of an image, or more than one character of a message to be transmitted, may be associated with each integer of the most-perfect square. It will also be understood that it is not necessary to create a single square of sufficient size to cover an entire image or to encompass the whole of a message to be transmitted. A smaller square may be created and simply repeated a sufficient number of times to encompass all of the message.
  • an intended recipient In applications in which it is desired to obstruct unauthorised decoding of a transmitted message, an intended recipient must be provided with the appropriate most-perfect square. As described above, this can be achieved by transmitting a simple key and defining a reversible square from which the most-perfect square can be reconstructed. It is important that the key be delivered in a secure manner, for example via the mail or by transmitting it using a secure encryption method, for example a public-key encryption method.
  • the reversible square from which that most-perfect square may be constructed may itself be constructed from a key which comprises the integers in positions (0, 0) to (0, Yin) and the integers in positions (1, 0) to (Yin, 0) of the reversible square.
  • a most-perfect square in which there are n integers in each side of the square can be fully characterised using a key comprising only n + 1 integers.
  • Magic square an n by n square consisting of n 2 integers arranged in such a way that the sums of the integers in any row, column or principal diagonal are all the same.
  • a principle diagonal is a diagonal which runs between opposite corners of a square.
  • Normal magic square a magic square having consecutive integers, starting with say 0.
  • Pandiagonal magic square a normal magic square in which the integers in any diagonal, a 'broken' as well as a principal diagonal, have the same sum.
  • a broken diagonal is a diagonal which wraps around to the opposite side of a square whenever it encounters an edge, i.e. the 'paths' [i,h+i] and [i,h-i] for any one value of h and all values of i, taken modulo n.
  • a path [ij] is a sequence of positions that can be reached by moving i rows down and j columns to the right, n times.
  • Each integer has four adjacent integers: to its left and right in the same row and above and below it in the same column. By convention, the top row is row 0 and the left column is column 0. Rows 0 and n- ⁇ are adjacent, as are columns 0 and n- ⁇ .
  • the integers at positions (n— 1, n-1), (0, n- ⁇ ), (n-1,0) and (0, 0) form a 2x2 block of adjacent integers.
  • Most-perfect squares are only defined for even values of n. For this definition to make sense, n must be even. It has been shown that most-perfect squares are necessarily pandiagonal and magic.
  • Primitive square an n by n square containing n 2 consecutive integers arranged in such a way that the integers at the opposite corners of any rectangle within the square have equal sums, a property here called equal cross sums.
  • Normalised Primitive Square a primitive square in which the integers in each row and each column are in ascending order.
  • the rows of any normalised primitive square consist of sequences of consecutive integers.
  • Reversible square a primitive square in which each row and column has 'reverse similarity'. A row or column has reverse similarity if the sum of pairs of integers at positions that are reflections in their midpoints are constant.
  • Normalised reversible square a reversible square in which the integers in each row and each column are in ascending order and the integer at position (0, 1) is one more than the integer at (0, 0).
  • Rosser and Walker describe a method of constructing all pandiagonal squares for n ⁇ 5, but only for some such squares for higher values of n (Rosser, B. and Walker, R. J. The algebraic theory of diabolic magic squares. Duke Mathematical Journal, 1939, 5, 705-728).
  • the previously described embodiments of the invention require a method of efficiently constructing most-perfect squares for large values of n, and such a method is described below.
  • a proper factor of a number is a factor of that number smaller than the number itself.
  • a sequence of proper factors is a sequence of integers in which each integer is a proper factor of the next integer.
  • An ordered sequence of factors of n is a sequence of proper factors if each factor in the sequence is a proper factor of its following factor, the smallest factor is greater than 1 and the largest factor is a proper factor of n.
  • One such sequence is to be used for determining breaks in the sequences of integers in the rows of the primitive square, the other for breaks in the columns.
  • the sequence selected for the columns must have the same number of proper factors as the sequence selected for the rows, or one less.
  • a normalised primitive square is also a normalised reversible square, i.e. all its rows and columns are reversible. This can be proved as follows: a. The sequence of integers from (0, 0) to (0, J ⁇ -l) of a normalised primitive square is made up of f consecutive integers, beginning with 0, and so is reversible. b. To show that the top row has reversible similarity, it is first shown that if the sequence of integers along the top row from (0, 0) to (0,f,_ x -1) is reversible, then so is the sequence of integers along the top row from (0, 0) to (0, -l). c.
  • the sequence of integers in the top of the left column is 0, f x , 2f, 3f x , ..., (n x - l)f x , which is reversible, h. Likewise, if the sequence of integers in the left column from (0, 0) to (n t _ x -1,
  • the method for constructing most-perfect squares requires that a reversible square is first constructed. The reversible square is then transformed into a most- perfect square. A particular reversible square can either be constructed directly or from a key.
  • the direct method of construction of a reversible square has two steps:
  • All normalised primitive squares can be constructed by selecting two sequences of proper factors of n. These factors can be used to construct the top row of the normalised primitive square. By equal cross sums, the top row determines the integers in the rest of the square.
  • the resulting normalised primitive square is a normalised reversible square.
  • c The square is normalised as the integers in the top row have been arranged in ascending order from left to right and the integers in the left column in ascending order from top to bottom.
  • any normalised primitive square is also a normalised reversible square.
  • a number of reversible squares may be constructed from the starting point of a single normalised reversible square by interchanging pairs of symmetric rows and/or columns, as follows: i. Start with a normalised reversible square, ii. Interchange any number of symmetric pairs of rows/columns, i.e. pairs that are symmetric with respect to the central axes, iii. Interchange any number of pairs of rows/columns in one half of the square and at the same time interchane the pair of rows/columns in the other half of the square that are symmetric to the first pair.
  • the resulting square is a reversible square. This can be proved as follows: a.
  • the recipient of an image encoded in accordance with the present invention needs to use the same most-perfect square as the sender in order to decode the coded image.
  • the sender For the recipient to have this square, it is possible for the sender to transmit a key to the recipient, for example using a Public Key Encryption method, rather than the whole square itself.
  • the key that must be sent consists of n+ ⁇ integers. These are the integers in positions (0, 0) to (0, Yin) and the integers in positions (1, 0) to (Yin, 0) in the reversible square that was used by the sender.
  • Every doubly-even reversible square can be transformed into a most-perfect square by the following transformation: i. reverse the order of the integers in the right half of each row; ii. reverse the order of the integers in the bottom half of each column; iii. move every integer from its position (i,j) to the position (i+Y ⁇ nj,j + Y 2 n(i+j)), where all position coordinates are taken modulo n.
  • An n by n square is doubly-even if n/2 is even. Note that, at every step, each integer either remains where it is or goes to a position different from the position of any other integer.
  • step iii the integers in even columns stay in the same row whereas the integers in odd columns are moved to the row distant Yin; also the integers in positions with the same parity (i.e. the row and column have the same parity) stay in the same column, whereas those in positions with different parity are moved to the column distant Yin. Consequently every reversible square is transformed into a different square.
  • step iii the transformation in step iii either leaves the two integers in the same place, or moves them both the same distance.
  • integers distant Yin along a diagonal in the final square are S-complements as well. This is one of the properties of a most-perfect square.
  • any 2x2 block from the transformed square must have come from four positions in the intermediary square that are related by (i, j), (i+l+YinJ+l), (i+Y ⁇ n,j+ ⁇ +Y ⁇ ) and (i+ ⁇ ,j+Y ⁇ ), and so must sum to 2S.
  • any such pair of integers say x and x'. They specify a rectangle, i.e. the integers of the pair are at opposite corners of the rectangle. Let the integers at the other pair of opposite corners of the rectangle be, say, v and y', y' being in the same row as x'. Take any other integer in the same row as x and y, say u, and its reflection in the midpoint, u', which will be in the same row as x' and y'.
  • the rectangle specified by u and u' let the integers at the other pair of opposite corners of this rectangle be, say, v and v'.
  • the pair of integers v and v' have the same sum as any other pair of integers, say z and z', that are reflections in the midpoint and are in the same columns as v and v', respectively.
  • So x and x' have the same sum as z and z', i.e. the sum of any pair of integers that are reflections in the midpoint of the square is constant.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

A data transmission method in which blocks of data to be transmitted, each of which comprises a predetermined number of data elements in a predetermined first order, are transformed such that the data elements are in a second order. The transformed data blocks are transmitted and received, and the received data blocks are transformed such that the data elements are restored to the first order. A map is made available at the transmitter and receiver that correlates the position of each data element in a block in the first order to the position of that data element in a block in the second order. The map is used to effect the transformations. The map is based upon a most-perfect square of numbers in which the position of a number within the square corresponds to the position of a data element in a first block of a first order, and the magnitude of a number within the square corresponds to the position of a data element in a block in the second order.

Description

TRANSPOSITION CIPHER
This invention relates to a method and apparatus for transmitting blocks of data, for example data representing messages or images to be transmitted from a transmitter to a receiver.
Data transmission systems are known in which blocks of data initially in a first order are transformed such that the data elements are in a second order, the transformed data blocks are transmitted and received, and the received data blocks are transformed such that the data elements are restored to the first order. Such systems may rely upon transformations which encode the data as transmitted with a view to encrypting the data and thereby making an authorised reception of the data difficult. Encoding is also used for other purposes however, for example to improve the intelligibility of transmitted messages in which noise degrades the quality of the transmitted data.
Encryption systems generally involve transfoπnations the details of which are frequently made public and almost always are assumed to be known widely. The transformations are based on one or more keys, at least one of which must be kept secret to protect against unauthorised access to transmitted messages. A single-key system has only one secret key which is used both to encrypt information at the transmitter and to decrypt information at the receiver. It is necessary to make the key available at both the transmitter and the receiver in a secure manner.
One widely used single-key system is the Data Encryption standard (DES) which was published in the United States by the national bureau of standards in 1977. This utilises a 56-bit key to encypher information in blocks of 64 bits. Although the standard DES key length was acceptable to most users when the standard was first released, the system is vulnerable to the application of readily available computing power relying upon exhaustive search techniques in which each possible key is applied sequentially to a transmitted message until the transmitted message becomes intelligible. As a result the relative security of the DES system has decreased and alternative systems have been proposed.
Public-key systems have been devised which use two different keys. For example, information is encrypted using one key and decrypted using a different (but related through a secure process) key. One well known and widely used public-key system is known as the RSA system. For equivalent security, the computational burden of RSA and similar public-key systems is significantly greater than for DES and similar single-key systems. As a result, where large amounts of information must be communicated, public-key systems are frequently used for secure communication for the key intended for a single-key system, which is then in turn used for mainstream encryption.
One of the problems with the known single-key systems is that the only way such systems can be rendered more secure against exhaustive search attack is to increase the bit length of the key. This results in an unwieldy key length, and it would be advantageous if a key could be devised which was capable of providing an equivalent level of security to a relatively long key without it being necessary for that relatively long key to be made available at both the transmitter and receiver.
It is an object of the present invention to provide a relatively secure coding system which relies upon simple transformations at the transmitter and receiver and yet does not require the transmission of complex key information between the transmitter and receiver.
According to the present invention, there is provided a data transmission method in which blocks of data to be transmitted each of which comprises a number of data elements in a predetermined first order are transformed such that the data elements are in a second order, the transformed data blocks are transmitted and received, and the received data blocks are transformed such that the data elements are restored to the first order, wherein a map is made available at the transmitter and receiver which correlates the position of each data element in a block in the first order to the position of that data element in a block in the second order, and the map is used to effect the transformations, the map being based upon a predetermined array of numbers in which the position of a number within the array corresponds to the position of a data element in a block in the first order, and the magnitude of a number within the array corresponds to the position of a data element in a block in the second order.
The method in accordance with the present invention relies upon very simple transformation processers at the transmitter and receiver, and provides a degree of security which is dependent upon the complexity of the array of numbers used to control the transformation processers. Preferably the array is based upon a 'most- perfect square' as defined hereinafter. Most-perfect squares may be generated in an efficient manner as described below from a relatively small number of integers as compared with the total number of integers included in the most-perfect square.
Most-perfect squares may be generated by first generating a 'reversible square' as hereinafter defined and then applying a transform.
The transform preferably comprises the following: a) Reverse the order of the integers in the right half of each row of the reversible square; b) reverse the order of the integers in the bottom half of each column of the reversible square; and c) move every integer from its position (i,j) to the position (i + lAnj,j + Yin (i +j)), where all position co-ordinates are taken modulo n, where n is the number of integers in each side of the most-perfect square.
It will be understood by those skilled in the art that there are several different transforms which may be used to obtain most-perfect squares from reversible squares. The above transform is given as an example, and other transforms equivalent to this will be apparent to those skilled in the art.
The reversible square may be generated using a key made available at the transmitter and receiver, the key comprising integers located in positions (0, 0) to (0, Yin) and positions (1, 0) to (Yin, 0) of the reversible square.
The data to be transmitted may be derived from an image, each data element corresponding to an element of the image, for example each data element corresponding to a pixel of the image.
The invention also provides a data transmission method in which data to be transmitted is in the form of a series of data blocks each block including a predetermined number of data elements arranged in an original first order; wherein identical sequences of parameters are made available at a transmitter and at a receiver, each sequence comprising parameters arranged in a predetermined order such that: each parameter is allocated to a predetermined position in the sequence, each parameter has a value different from that of any other parameter of the sequence and the sequence of parameter values is neither in ascending nor descending order; each data element of a block of data to be transmitted is associated with the parameter located in the position in the sequence corresponding to the position of the data element in the block; the data elements are reordered in a second order such that the associated parameter values are in ascending or descending order; the reordered data elements are transmitted and received; the positions of the data elements in a received block of data are used to identify the parameters associated with each element by reference to the parameter value order; the locations of the associated parameters in the sequence of parameters are determined, and the received data elements are reordered such that their associated parameters are in the predetermined order of the sequence, whereby the received data elements are restored to the original first order.
The invention also provides apparatus for transmitting data in accordance with the methods as described above.
Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings, in which: Figure 1 is a four integer by four integer most-perfect square; Figure 2 schematically illustrates the distribution of data elements in a data block to be coded on the basis of the most-perfect square of Figure 1; Figure 3 schematically represents a portion of an image to be encoded in accordance with the most-perfect square of Figure 1 ; Figure 4 is a schematic representation of the order after encoding of the data elements shown in Figure 3; Figure 5 illustrates a reversible square from which the unique most-perfect square of
Figure 1 can be derived; Figure 6 schematically represents the integers which can be used to uniquely define the reversible square of Figure 5; Figure 7 illustrates an image to be transmitted in accordance with the present invention; Figure 8 represents the image of Figure 7 after encoding in accordance with an embodiment of the present invention; Figure 9 illustrates the encoded version of Figure 8 after disruption by noise; Figure 10 illustrates the recovered image obtained by decoding the encoded image of
Figure 9 in accordance with the present invention; and Figure 11 represents the image which would be derived if the data elements representing the image of Figure 7 had been transmitted and exposed to the same noise as illustrated in Figure 9 without the application of the method in accordance with the present invention.
In a first embodiment of the invention in which images are to be transmitted from a transmitter to a receiver, a most-perfect square as illustrated in Figure 1 is created and made available at the transmitter and receiver. Each pixel of an image to be transmitted is described by a single respective data element, and the data elements are arranged in 4 x 4 blocks. Each block is coded using the most-perfect square of Figure 1. Figuratively speaking, the most-perfect square is laid over a 4 x 4 pixel block of the image to be transmitted, and each integer of the square is associated with a pixel of the image over which it is laid. Assuming that the data elements of a block of data are initially in the order A to P as illustrated in Figure 2, data element A is associated with integer 1, data element B with integer 15, data element C with integer 4, data element D with integer 10, data element E with integer 6 and so on.
The data blocks are transformed from the order represented in Figure 2 by reference to the order of the associated integers taken from the square of Figure 1 and the transformed data blocks are transmitted in the order of the associated integers. Each data element incorporates sufficient information to characterise the associated pixel, for example colour and brightness information. In each transmitted data block, the data element L associated with integer 0 is transmitted first, then the data elements A, N, G ... associated with integers 1, 2, 3 .... The transmitted blocks of data are thus encoded and the original image can only be recovered by reversing the transformation at the receiver.
The receiver is provided with an identical copy of the square of Figure 1. At the receiver, the position of individually received data elements within the received block is used to restore the original order of the transmitted data elements. Thus the first data element which is received corresponds with integer 0 in the square of Figure 1, the second data element received corresponds to the integer 1 in the square of Figure 1, and so on. The received data elements are reordered accordingly such that the order transformation effected in the transmitter is exactly reversed in the receiver.
By way of example, Figure 3 illustrates an image to be transmitted. The image has white, black and grey pixels. The image comprises 16 pixels each of which is associated with a respective integer from the square of Figure 1. At the transmitter, the data element order is transformed such that for example the single grey pixel which was initially at the seventh position in the data element order is moved to the fourth position in the data element order, the fourth position corresponding to the integer 3. If the data elements were used to reconstruct an image in the order into which they are transformed at the receiver, the resultant image would appear as shown in Figure 4. As described above however at the receiver the transformation is reversed to recover the image as shown in Figure 3.
As a result of the transformation of the order of the data elements, the transmitted information is effectively encrypted and can only be decrypted at a receiver to which the most-perfect square of Figure 1 has been made available. The most-perfect square may be made available in any convenient manner, for example by mail. In many applications however it will be desirable to transmit the most-perfect square to the receiver with the image data, and it is desirable to be able to do this in a way which minimises the amount of data to be transmitted. It will be appreciated that in the example described with reference to the accompanying drawings the most- perfect square has only sixteen elements. In a practical implementation of the invention most-perfect squares will be used which have a much larger element number, for example 64 (an 8 x 8 square) or 1024 (a 32 x 32 square). The full characteristics of a most-perfect square can be defined fully however in terms of a reversible square (as defined below) and a reversible square can be fully defined by a relatively small number of integers.
Figure 5 illustrates the reversible square from which the most-perfect square of Figure 1 can be derived. A reversible square is a 'primitive square' in which each row and column has 'reverse similarity'. A row or column has reverse similarity if the sum of pairs of integers at positions that are reflections in the their mid points are constant. Thus in the first row of Figure 5, the sum of 1 and 4 is equal to the sum of 0 and 5, in the second row the sum of 3 and 6 is equal to the sum of 2 and 7, and in the first column the sum of 1 and 11 is equal to the sum of 3 and 9.
The reversible square of Figure 5 can be converted into the most-perfect square of Figure 1 by reversing the order of the integers in the right half of each row of the reversible square, reversing the order of the integers in the bottom half of each column of the reversible square, and moving every integer from its position (i, j) to the position (i + 2j,j + 2(i +/)), where all the position co-ordinates are taken modulo 4.
The most-perfect square of Figure 1 could be made available at both the transmitter and receiver by transmitting to the transmitter and receiver the reversible square of Figure 5 and processing the reversible square using an appropriate algorithm. It is possible however to characterise fully the reversible square of Figure 5 by providing at both the transmitter and receiver the first three integers of the first row and the second and third integers of the first column, that is by making available the sequence of integers shown in Figure 6, that is 1 0 5 3 9. Given the structure of a reversible square, knowledge of those five integers is sufficient to define fully all of the sixteen integers of the reversible square. Accordingly by transmitting only the five integers shown in Figure 6 to both the transmitter and receiver, and providing at the transmitter and receiver an appropriate processor set up to perform the appropriate algorithms, the five integers represented in Figure 6 can be readily transformed into the most-perfect square of Figure 1.
The reordering of the positions of the data elements in the transmitted signal as described with reference to Figures 1 to 6 redistributes any data elements which were initially close to each other across the whole of the image area to which any one block of data elements relates. For example, the first four data elements of a data block that is to be transmitted are those associated with the integers 0, 1, 2 and 3. It will be seen from Figure 1 that these four integers are spread across all four rows and all four columns of the most-perfect square and therefore the data elements of the image which are associated with those integers will be spread out in a corresponding manner. This has a beneficial effect in terms of the intelligibility of received data given the presence of bursts of noise which make it impossible to accurately reconstruct the data elements transmitted during such a burst of noise. Figure 7 illustrates an image representing the surface of a carved stone. If that image is encoded using a most-perfect square the result may be as illustrated in Figure 8. If the data represented in Figure 8 is affected by noise such that thirty two consecutive data elements are replaced by alternate signals representing light and dark pixels, the result may be as illustrated in Figure 9. Figure 10 illustrates the reconstructed image given the presence of that noise signal and it can be seen by comparing Figure 7 with Figure 10 that noise-based distortion of the received image has resulted in errors in the reconstructed image which are widely distributed across the image. In contrast, Figure 11 illustrates the image which would have been produced if the blocks of data representing Figure 7 had been transmitted without transformation in accordance with the present invention. It can be seen by comparing Figures 7 and 11 that, whereas in Figure 11 one line of the received image is entirely unintelligible, in Figure 7 the image is still clearly discernible.
Upper sections of Figures 8 and 9 appear to have a different shading because the image is larger than the square that was used for encoding. The top of Figures 8 and 9 is from the coding of the upper half of the original image. As the top part of the image does not fill a whole square, it is padded with blanks. Some of these blanks are shifted into the square (just as some of the original image is shifted out of the square - so the encoded image should really be larger). When the coded image is decoded, these 'out-of square' pixels come back into the square.
As a further example of the way in which the present invention enhances the intelligibility of received data which has been combined with noise, the following text comprises 144 characters (each space between words being treated as a character) and therefore can be encoded according to the invention using a 12 x 12 most-perfect square:
To be, or not to be; that is the question: Whether 'tis nobler in the mind to suffer the slings and arrows of outrageous fortune, or to take arm... Assuming that each character is one data element the position of which in the data block is to be changed, a coded version of the text might be:
Tuetto f eis eetthu e erhs o n rutrtrmasnubmntrgt d itnhoirna gsfsee r at iooeoael nodqno r tlu: itiohtaesboot a ,e o ' , eoh rn fswthbf r; os
If 24 consecutive characters of the coded text were to be lost, then the code might become:
Tuetto f eis eetthu e erhs o n rutrtrmasnubmntrgt d itnhoirna gsfseekr at iooeo aesboot a ,e o ' , eoh rnWfswthbf r; os
where the 24 lost characters are indicated by '-', then the decoded text becomes:
To be, -r-not-t- be; that is th- -uestion- Whet-er 't-s nob-er in-the m~d-to suffer the s-i-gs -n- arrows of ou-rageo-s for-une -r to -ake a-m...
The text is quite intelligible event though l/6th of it has been lost. This is a consequence of the very efficient 'jumbling' of the text provided by the encoding.
The use of a most-perfect square as the basis for the reordering of the positions of individual data elements within data blocks to be transmitted provides a very effective "jumbling" of the data to be transmitted as a consequence of the properties of most-perfect squares, and particularly the property that each 2 x 2 block of four adjacent integers in a most-perfect square has a sum of 2S (where S = n2 - 1; n2 being the number of integers in the most-perfect square).
It will be understood that more than one pixel of an image, or more than one character of a message to be transmitted, may be associated with each integer of the most-perfect square. It will also be understood that it is not necessary to create a single square of sufficient size to cover an entire image or to encompass the whole of a message to be transmitted. A smaller square may be created and simply repeated a sufficient number of times to encompass all of the message.
In applications in which it is desired to obstruct unauthorised decoding of a transmitted message, an intended recipient must be provided with the appropriate most-perfect square. As described above, this can be achieved by transmitting a simple key and defining a reversible square from which the most-perfect square can be reconstructed. It is important that the key be delivered in a secure manner, for example via the mail or by transmitting it using a secure encryption method, for example a public-key encryption method. For a most-perfect square in which there are n2 integers, the reversible square from which that most-perfect square may be constructed may itself be constructed from a key which comprises the integers in positions (0, 0) to (0, Yin) and the integers in positions (1, 0) to (Yin, 0) of the reversible square. Thus a most-perfect square in which there are n integers in each side of the square can be fully characterised using a key comprising only n + 1 integers.
In applications in which a simple key is transmitted, and assuming that the necessary transforms for converting that key into the associated most-perfect square are known, the system is not very secure against unauthorised access. It does nevertheless provide a level of security which in many applications will be sufficient. In any event, encoding in accordance with the present invention provides a significant advantage in terms of its speed. There is no requirement for intensive calculations to be performed in order to transform the data at either the transmitter or the receiver. The key required to characterise the most-perfect square is short and may be readily delivered in an efficient manner to both the transmitter and receiver. Given the ability of the invention to minimise the adverse effect of noise on message intelligibility, message intelligibility can be achieved without transmitting large volumes of potentially redundant additional data. Thus data may be coded and decoded very quickly and may be transmitted in a compact form.
It would be possible to use a square other than a most-perfect square for the basic transformation process by which the order of individual data elements is changed, but the characteristics of most-perfect squares are such that their use is preferred both from the point of view of the degree of "jumbling" of the order of transmitted data elements and the ability to produce any one of a very large number of most-perfect squares using a relatively simple key.
The foregoing description of the present invention relies upon a discussion of the relationship between most-perfect squares and reversible squares, further details of which are set out in the following description. In that description, reference will be made to terms defined below:
Magic square: an n by n square consisting of n2 integers arranged in such a way that the sums of the integers in any row, column or principal diagonal are all the same. A principle diagonal is a diagonal which runs between opposite corners of a square.
Normal magic square: a magic square having consecutive integers, starting with say 0.
Pandiagonal magic square: a normal magic square in which the integers in any diagonal, a 'broken' as well as a principal diagonal, have the same sum. A broken diagonal is a diagonal which wraps around to the opposite side of a square whenever it encounters an edge, i.e. the 'paths' [i,h+i] and [i,h-i] for any one value of h and all values of i, taken modulo n. A path [ij] is a sequence of positions that can be reached by moving i rows down and j columns to the right, n times. There are large numbers of pandiagonal squares (when n is not singly even) that cannot be made using known methods, for all values of n. Singly even refers to n having the property of being even whilst n/2 is odd.
Most-perfect square: a pandiagonal n by n square containing n2 consecutive integers, say from 0 to n2-\, arranged in such a way that any pair of integers distant Yin along any diagonal are S-complements, i.e. their sum is S, where S = n2-l, and the sum of any 2x2 block of 'adjacent integers' within the square is equal to 2S. Each integer has four adjacent integers: to its left and right in the same row and above and below it in the same column. By convention, the top row is row 0 and the left column is column 0. Rows 0 and n-\ are adjacent, as are columns 0 and n-\. For example, the integers at positions (n— 1, n-1), (0, n-\), (n-1,0) and (0, 0) form a 2x2 block of adjacent integers. Most-perfect squares are only defined for even values of n. For this definition to make sense, n must be even. It has been shown that most-perfect squares are necessarily pandiagonal and magic.
Primitive square: an n by n square containing n2 consecutive integers arranged in such a way that the integers at the opposite corners of any rectangle within the square have equal sums, a property here called equal cross sums.
Normalised Primitive Square: a primitive square in which the integers in each row and each column are in ascending order. The rows of any normalised primitive square consist of sequences of consecutive integers. Reversible square: a primitive square in which each row and column has 'reverse similarity'. A row or column has reverse similarity if the sum of pairs of integers at positions that are reflections in their midpoints are constant. Normalised reversible square: a reversible square in which the integers in each row and each column are in ascending order and the integer at position (0, 1) is one more than the integer at (0, 0).
There are 48 'essentially different' pandiagonal squares with n = 4, all of which are most-perfect. Two squares are essentially different if one is not the reflection of the other in either central axis or in the main diagonal, i.e. the principal diagonal sloping downward to the right, or some combination of these reflections. (Reflection in the other principal diagonal is a combination of all three of these reflections.)
Rosser and Walker describe a method of constructing all pandiagonal squares for n < 5, but only for some such squares for higher values of n (Rosser, B. and Walker, R. J. The algebraic theory of diabolic magic squares. Duke Mathematical Journal, 1939, 5, 705-728). The previously described embodiments of the invention require a method of efficiently constructing most-perfect squares for large values of n, and such a method is described below.
A proper factor of a number is a factor of that number smaller than the number itself. A sequence of proper factors is a sequence of integers in which each integer is a proper factor of the next integer. An ordered sequence of factors of n is a sequence of proper factors if each factor in the sequence is a proper factor of its following factor, the smallest factor is greater than 1 and the largest factor is a proper factor of n. For example, all the sequences of proper factors of n = 12 are: {}, {2}, {4}, {3}, {6}, {2,4}, {2,6} and {3,6}; whereas, for example, {1} and {2,3,4} are not sequences of proper factors of 12.
The construction of a normalised primitive square requires that two such sequences of proper factors be selected. The numbers of proper factors in the two sequences must be either the same or differ by at most one factor. For example, with n = 12 such pairs of sequences could be any of the 42 combinations indicated by an 'x' in the table below, but no others:
Sequence of proper factors for row breaks
{} {2} {4} {3} {6} {2,4} {2,6} {3,6}
0 X X X X proper {2} X X X X X X X factors {4} X X X X X X X for {3} X X X X X X X column {6} X X X X X X X breaks {2,4} X X X X
{2,6} X X X X
{3,6} X X X X
One such sequence is to be used for determining breaks in the sequences of integers in the rows of the primitive square, the other for breaks in the columns. The sequence selected for the columns must have the same number of proper factors as the sequence selected for the rows, or one less.
The rows of any normalised primitive square, say R with elements ru, consist of sequences of consecutive integers (B. Rosser & R. J. Walker, The algebraic theory of diabolic magic squares. Duke Mathematical Journal, 1939, 5, 705-728). By convention, the smallest integer is 0. Two sequences of proper factors, 1 <f <f2 < ... <fv. < n for the breaks in the rows and 1 < nλ < n2 < ...< nv < n for the breaks in the columns, are sufficient to specify a normalised primitive square. The process starts with selecting f for the first break in the rows, so v' = v or v+1.
A normalised primitive square is also a normalised reversible square, i.e. all its rows and columns are reversible. This can be proved as follows: a. The sequence of integers from (0, 0) to (0, J^-l) of a normalised primitive square is made up of f consecutive integers, beginning with 0, and so is reversible. b. To show that the top row has reversible similarity, it is first shown that if the sequence of integers along the top row from (0, 0) to (0,f,_x -1) is reversible, then so is the sequence of integers along the top row from (0, 0) to (0, -l). c. For i > 0 the integers from (0, 0) to (0, -l) are made up ig =fl lfl_x groups of integers similar to the integers from (0, 0) to (0,/_, -1). The pairs of integers equidistant from either end of the sequence are:
Λ -ι ",-ι + rOJ and (g-l-h)f,_x «,_, + r0; i_,_ , for all values of , 0 <_j < -l and h, 0 < h < Yig, if g is even, or h, < h <Y2(g+\), ifg is odd. Their sum is: (g-l) _, /._, + r0j + r0> ___. . d. As the sequence of integers from (0, 0) to (0, ft_x -1) is reversible, r0j + ro f -i-j is constant, so this sum is constant. When g is even, then there are equal numbers of sequences in either half of the partial top row from (0, 0) to (0, ft -1); when g is odd, then the last sequence, the one with h = Yι(g-\), straddles the midpoint of this partial top row symmetrically. In either situation, the sequence of integers from (0, 0) to (0, f-\) is also reversible. e. Recall from 'a' above, that the sequence of integers from (0, 0) to (0,fx -1) is reversible. Consequently, the sequence of integers from (0, 0) to (0, f, -\) is reversible for all i, 0 < / < (v'+l). As V.+1 = n, the top row of the entire square has reverse similarity. f. As the rest of the square is constructed by using equal cross sums, every row of the complete square is similar to the top row. Consequently every row of the square has reverse similarity. g. The sequence of integers in the top of the left column is 0, fx, 2f, 3fx, ..., (nx- l)fx, which is reversible, h. Likewise, if the sequence of integers in the left column from (0, 0) to (nt_x -1,
0) is reversible, then so is the sequence of integers from (0, 0) to («,--l, 0) for any i>0. For / = 1 the sequence is reversible (see g). Hence, the sequence of integers from (0, 0) to (0, n-\), i.e. the left column, has reverse similarity, i. Consequently, by equal cross sums, every column of the square has reverse similarity.
The method for constructing most-perfect squares requires that a reversible square is first constructed. The reversible square is then transformed into a most- perfect square. A particular reversible square can either be constructed directly or from a key.
The direct method of construction of a reversible square has two steps:
1. Construct a normalised reversible square, R, with elements rtJ . This is done in two stages: first construct the top row, then complete the square.
2. Transform the normalised reversible square into any reversible square.
All normalised primitive squares can be constructed by selecting two sequences of proper factors of n. These factors can be used to construct the top row of the normalised primitive square. By equal cross sums, the top row determines the integers in the rest of the square. The resulting normalised primitive square is a normalised reversible square.
The construction of the top row of a reversible square requires that two sequences of proper factors of n be selected. Begin by deciding on the number of proper factors, excluding 1 , in the sequence that are to be selected for the breaks in the columns of the square. Say this number is v. Then select a sequence of v proper factors of n. Label these: l = n0 < nx < n2 < ...< nv < nv+x = n. Then select another sequence of either v or v+1 proper factors of n for the columns. Label these:
1
Figure imgf000017_0001
« . To construct the top row of the normalised reversible square R, i.e. r0 for 0 <j <n: i. If the number of factors in each sequence is the same, then sety^ = n. ii. Set r00 = 0. iii. For h = 0 step 1 up to v+1 :
For g = 1 step 1 up to (fh+x I fh )- 1 : shift = gfh ; shiftsize = shift nh; for/ = 0 step 1 up to/A - 1, set r0tShlfl+J = shiftsize + r0 .
For example, with n = 12, v - 2, with row factors 2<6
Figure imgf000018_0001
and column factors 3<6 (i.e. n0=l, «,=3, n2-6): i. Since the number of factors for rows and columns is the same, augment the row factors with 3=12 to be 2<6<12. ii. Set r00 = 0. iii h = 0: g= 1: shift = lxl =1, shiftsize = l l = 1; j = 0, r01 = l+/-00 = 1. /z = l: g= 1: shift = 1x2 = 2, shiftsize = 2 3 = 6; j = 0, r02 = 6+r00 = 6,
7 = l,r0ι3 = 6+r0 =7. g = 2: jAz? = 2x2 = 4, shiftsize = 4 3 = 12; / = 0, r04 = 12+r00 = 12, = l,r0ι5 = 12+r01 = 13. h = 2: g = 1 : sAz/t =1 6 = 6, shiftsize = 6 6 = 36; = 0, r06 = 36+r00 = 36, j= l,r0>7 = 36+r0ιl = 37, / = 2, r0ι8 = 36+r02 = 42, j = 3, ro,9 = 36+r03 = 43, = 4,ro,10 = 36+r0ι4 = 48, 7 = 5,r0ιll = 36+r0,5 = 49.
Once the top row of the square is in place, it is simple to complete the rest of the square. The lowest integer not placed so far must now be placed at r1]0. Row 1 is then completed by equal cross sums with row 0, i.e. rXj = rXfi + r0j. Likewise for any row i, the smallest integer not yet placed is placed at r,0 and the row completed by equal cross sums with row 0, i.e. rtJ = r + r0j. The above method of constituting a normalised reversible square can be proved as follows: a. The square that results from this construction is clearly a primitive square as it has been constructed using the property of equal cross sums. b. The integer 0 is placed at (0, 0) by step ii of the construction and the integer 1 is placed at (0, 1) by step iii with h = 0, g = 1 and j = 0; hence, the top row begins with the integers 0 1. c. The square is normalised as the integers in the top row have been arranged in ascending order from left to right and the integers in the left column in ascending order from top to bottom. d. It has been shown above that any normalised primitive square is also a normalised reversible square.
Consequently, the method always constructs normalised reversible squares. It has already been shown that every normalised primitive square must be composed of sequences of consecutive integers with lengths of such sequences specified by two sequences of proper factors, so all normalised reversible squares can be constructed by this method.
A number of reversible squares may be constructed from the starting point of a single normalised reversible square by interchanging pairs of symmetric rows and/or columns, as follows: i. Start with a normalised reversible square, ii. Interchange any number of symmetric pairs of rows/columns, i.e. pairs that are symmetric with respect to the central axes, iii. Interchange any number of pairs of rows/columns in one half of the square and at the same time interchane the pair of rows/columns in the other half of the square that are symmetric to the first pair. The resulting square is a reversible square. This can be proved as follows: a. Interchanging any pair of rows or columns of a primitive square results in another primitive square (see below). So interchanging any pair of rows or columns of a reversible square will also result in a primitive square, i.e. all rectangles will have equal cross sums. b. Interchanging a pair of symmetric rows will not alter the property of reverse similarity of the columns, i.e. that pairs of integers in any column that are symmetric about the midpoint of that column have a constant sum. Also this interchange does not affect any individual row. Consequently, interchanging a pair of symmetric rows retains the property of reverse similarity of both rows and columns. Likewise the interchange of symmetric columns also retains the property of reverse similarity. c. If two rows in the top half of the square are interchanged and their symmetric rows in the bottom half of the square are also interchanged, then columns still have reverse similarity. If rows i and h are the rows interchanged in the top half of the square and rows V and h' are the rows symmetric to i and h in the bottom half of the square that are also interchanged, then in any column j, the symmetric positions (i, j) and (V j) will now have the integers originally at (h,j) and (h',j) and vice versa. Hence any column y still has reverse similarity. As the rows themselves are not affected they will still have reverse similarity, so the resulting square will retain the property of reverse similarity of both its rows and its columns. d. Likewise, if two columns in the left half of the square are interchanged and their symmetric columns in the right half are also interchanged, the resulting square will still have both rows and columns with reverse similarity.
The recipient of an image encoded in accordance with the present invention needs to use the same most-perfect square as the sender in order to decode the coded image. For the recipient to have this square, it is possible for the sender to transmit a key to the recipient, for example using a Public Key Encryption method, rather than the whole square itself. The key that must be sent consists of n+\ integers. These are the integers in positions (0, 0) to (0, Yin) and the integers in positions (1, 0) to (Yin, 0) in the reversible square that was used by the sender.
To reconstruct the reversible square from the key: i. Complete the top row by noting that, by reverse similarity, the integer at
( ,j+Ym), 0 <j < Yin, is r0 Vιn_ + r0 ,Λ„ - r0J. ii. Complete the left column, again noting that the integer at (i+Yin, 0), 0 < i <
An, is rVill_Xfi + rV 0 — rl 0. iii. Complete the square using equal cross sums, i.e. r - rl 0 + r0 .
Every doubly-even reversible square can be transformed into a most-perfect square by the following transformation: i. reverse the order of the integers in the right half of each row; ii. reverse the order of the integers in the bottom half of each column; iii. move every integer from its position (i,j) to the position (i+Yιnj,j + Y2n(i+j)), where all position coordinates are taken modulo n. An n by n square is doubly-even if n/2 is even. Note that, at every step, each integer either remains where it is or goes to a position different from the position of any other integer. In particular, at step iii the integers in even columns stay in the same row whereas the integers in odd columns are moved to the row distant Yin; also the integers in positions with the same parity (i.e. the row and column have the same parity) stay in the same column, whereas those in positions with different parity are moved to the column distant Yin. Consequently every reversible square is transformed into a different square.
It is now shown that this resulting square has both defining properties of a most-perfect square.
1. Integers distant Yin along a diagonal in the transformed square are S-complements. This can be proved as follows: a. Interchanging any pair of rows or columns in a primitive square gives a square that is also primitive, i.e. the property of equal cross sums is preserved (B. Rosser & R. J. Walker, The algebraic theory of diabolic magic squares. Duke Mathematical Journal, 1939, 5, 705-728). To see this, note that every rectangle in the square with a pair of interchanged rows or columns was also an rectangle in the original square. Consider the intermediary square formed after steps i and ii of the transformation. As the original reversible square was primitive, then so is the intermediary square. b. Consider pairs of integers that are reflections of each other in the midpoint of a reversible square. One integer from each such pair must be in the top half of the square, in either the left or right quadrant. An integer in the top left quadrant of a reversible square, i.e. at position (i, j) with 0 <_i < Yin and 0 <_j < Yin, will not have moved after steps i and ii. The other integer of the pair, at the position that is a reflection of (i, j), i.e. at (n-\-i, n-\-j), will be moved by steps i and ii to the position (Yin+i, Yin+j). So this pair of integers that were originally at positions that were reflections in the midpoint are now, in the intermediary square, at positions that are distant Yn along a diagonal. c. Consider an integer in the top right quadrant of a reversible square, i.e. at position (i,j) with 0 < i < Yin and Yin <J < n. By step i it will have moved to (/, ( nl2)-\-j). The other integer of the pair, which is at the position that is a reflection of (i,j), i.e. at (n-l—i, n-\-j), will be moved by step ii to the position (Yin+ϊ, n-l-j). So these two integers, that were originally at positions that were reflections in the midpoint of the reversible square, are now at positions that are also distant Yin along a diagonal in the intermediary square. d. All pairs of integers that were at positions that were reflections in the midpoint of the reversible square are S-complements (see 'A' below). It has just been shown that they will be moved to positions that are distant Yin along a diagonal in the intermediary square. So integers that are distant Yin along a diagonal in the intermediary square will be S-complements. e. A pair of integers that are Yn along a diagonal of the intermediary square are also distant Yin along a diagonal of the square after step iii. The reason for this is that, as the parity of the rows and columns of positions distant Yin along a diagonal is the same, the transformation in step iii either leaves the two integers in the same place, or moves them both the same distance. Hence, integers distant Yin along a diagonal in the final square are S-complements as well. This is one of the properties of a most-perfect square.
2. Integers in a 2 2 block in the transformed square sum to 2S. This can be proved as follows: a. Consider a horizontal couplet in the intermediary square, say at positions (i, j) and (i, j+l). Consider also the horizontal couplet in the same columns but in row i+l+Yin. The four integers are at the corners of a rectangle, so have equal cross sums. Take one pair of opposite corners of this rectangle, say at (z,y'+l) and (i+\+Yιn,j). As has just been shown, each of the integers at these positions are S-complements of the integers distant Yin along a diagonal, i.e. at (i+Yin, j+l+Yin) and (z+1, j+Yi ) respectively. So the four integers at (i, j), (i+Yin, j+l+Ym), (i+l,j+Ym) and (i+l+Ym,j+l) sum to 2S. b. Recall that the positions are given modulo n and that n is doubly even, so that n2/4 = 0 mod 4. Applying step iii of the transform moves the integers at these four positions as follows: (i,j) to (i+Yιnj,j+Ym(i+j)),
(i+Yιn,j+l+Yιn)to (i+Yιn(\+j+\+Y2n),j+l+Yιn(\+i+Yιn+j+l+Yιn))
(i+YιnjJ+l+Ym(i+j)), (i+\,j+Ym) to (i+l+Yn(j+Yιn),j+Yιn(\+i+l+j+Y2n))
(i+\+Ymj,j+Yιn(i+j)), (i+l+Ym +l) to (i+l+Yιn(\+j+\),j+l+Yιn(i+l+Ym+j+l))
(i+l+Yιnj,j+l+Ym(i+j)). Hence, the integers in these positions in the transformed square also sum to 2S. But note that these four positions form a 2 2 block. This is a property of most- perfect squares. Conversely, any 2x2 block from the transformed square must have come from four positions in the intermediary square that are related by (i, j), (i+l+YinJ+l), (i+Yιn,j+\+Yιή) and (i+\,j+Yιή), and so must sum to 2S. The two properties, namely the integers distant Yin along a diagonal being S- complements, and the integers in any 2x2 block summing to 2S, are sufficient to prove that any doubly-even reversible square is transformed by steps i, ii and iii into a most-perfect square.
It will be appreciated from the above that large numbers of essentially different most-perfect squares can be constructed even for relatively small values of n, for example n = 32. As a result, even high performance computers can have no chance of finding a particular square from a set of all 32 by 32 most-perfect squares within a realistic time scale. Any pair of integers which are reflections in the midpoint of a reversible square are S-complements. This can be proved as follows:
Consider any such pair of integers, say x and x'. They specify a rectangle, i.e. the integers of the pair are at opposite corners of the rectangle. Let the integers at the other pair of opposite corners of the rectangle be, say, v and y', y' being in the same row as x'. Take any other integer in the same row as x and y, say u, and its reflection in the midpoint, u', which will be in the same row as x' and y'. Consider the rectangle specified by u and u'; let the integers at the other pair of opposite corners of this rectangle be, say, v and v'. These integers will be positioned as follows:
. . . X . .. u ... ... v . . y ...
... z ... : ...
... : .. X ...
...yX ..X ... ... u' . X ...
Now: x + x' = v + v', by equal cross sums; u + u' = v + v', by equal cross sums; x +y = u + v, by reverse similarity of the row; x' + y' = u' + v', by reverse similarity of the row.
So x + χ' = v + v', by addition and division by 2. That is, the sum of the original pair of integers, x and x', is the same as the sum of any other pair of integers, v and v' , that are also reflections in the midpoint of the square, with v and V being in the same row as x and x', respectively. A similar argument shows that the same is true for x and x' with any other pair of integers that are reflections in the midpoint and in the same columns as x and x'. In particular the pair of integers v and v' have the same sum as any other pair of integers, say z and z', that are reflections in the midpoint and are in the same columns as v and v', respectively. So x and x' have the same sum as z and z', i.e. the sum of any pair of integers that are reflections in the midpoint of the square is constant.
The sum of all integers in the square is Y2n2S and there are Yin2 such pairs, so the sum of each of these pairs that are reflections in the midpoint of the square must be S.

Claims

1. A data transmission method in which blocks of data to be transmitted each of which comprises a number of data elements in a predetermined first order are transformed such that the data elements are in a second order, the transformed data blocks are transmitted and received, and the received data blocks are transformed such that the data elements are restored to the first order, wherein a map is made available at the transmitter and receiver which correlates the position of each data element in a block in the first order to the position of that data element in a block in the second order, and the map is used to effect the transformations, the map being based upon an array of numbers in which the position of a number within the array corresponds to the position of a data element in a block in the first order, and the magnitude of a number within the array corresponds to the position of a data element in a block in the second order.
2. A method according to claim 1, wherein the array of numbers is defined by a most-perfect square having n integers along each side, each data block comprising an integral multiple of n data elements.
3. A method according to claim 2, wherein the most-perfect square is generated by first generating a reversible square, and then applying a transform.
4. A method according to claim 3, wherein the transform is: i. reverse the order of the integers in the right half of each row of the reversible square; ii. reverse the order of the integers in the bottom half of each column of the reversible square; and iii. move every integer from its position (i, j) to the position (i+Y2nj, j+Yn(i+j)), where all position co-ordinates are taken modulo n.
5. A method according to claim 3 or 4, wherein the reversible square is generated using a key made available at the transmitter and receiver.
6. A method according to claim 5, wherein the key comprises n+\ integers.
7. A method according to claim 6, wherein the key comprises integers located in positions (0, 0) to (0, Yin) and position (1, 0) to (Yin, 0) of the reversible square.
8. A method according to any preceding claim, wherein the data to be transmitted is derived from an image, each data element corresponding to an element of the image.
9. A method according to claim 8, wherein each image element is represented as a pixel of the image.
10. A data transmission method in which data to be transmitted is in the form of a series of data blocks each block including a predetermined number of data elements arranged in an original first order; wherein identical sequences of parameters are made available at a transmitter and at a receiver, each sequence comprising parameters arranged in a predetermined order such that each parameter is allocated to a predetermined position in the sequence, each parameter has a value different from that of any other parameter of the sequence and the sequence of parameter values is neither in ascending nor descending order; each data element of a block of data to be transmitted is associated with the parameter located in the position in the sequence corresponding to the position of the data element in the block; the data elements are reordered in a second order such that the associated parameter values are in ascending or descending order; the reordered data elements are transmitted and received; the positions of the data elements in a received block of data are used to identify the parameters associated with each element by reference to the parameter value order; the locations of the associated parameters in the sequence of parameters are determined, and the received data elements are reordered such that their associated parameters are in the predetermined order of the sequence, whereby the received data elements are restored to the original first order.
11. A method according to claim 10, wherein the parameters are defined by a most-perfect square having n integers along each side.
12. A method according to claim 11, wherein the position of each integer in the square corresponds to a respective data element position in the predetermined first order, and the numerical value of each integer in the square corresponds to a respective data element position in the predetermined second order.
13. A data transmission apparatus for transmitting data in accordance with the method of any preceding claim.
14. A data transmission apparatus for transmitting blocks of data each of which comprises a predetermined number of data elements in an original first order, comprising means for transforming the data blocks to be transmitted such that the data elements in the transformed blocks are arranged in a second order, means for transmitting and receiving the transformed data blocks, and means for transforming the received data blocks such that the data elements in the transformed blocks are restored to the first order, wherein a map is available at the transmitter means and receiver means, the map correlating the position of each data element in a block in the first order to the position of the data element in a block in the second order, and the transforming means effecting the transformations by reference to the map, the map being based upon an array of numbers in which the position of a number within the array corresponds to the position of a data element in a block in the first order, and the magnitude of the number within the array corresponds to the position of a data element in a block in the second order.
15. A data transmission apparatus according to claim 14, wherein the array is in the form of a most-perfect square.
16. A data transmission method substantially as hereinbefore described with reference to the accompanying drawings.
17. A data transmission apparatus substantially as hereinbefore described with reference to the accompanying drawings.
PCT/GB1999/001938 1998-06-17 1999-06-17 Transposition cipher WO1999066671A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU45188/99A AU4518899A (en) 1998-06-17 1999-06-17 Transposition cipher

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9812948A GB9812948D0 (en) 1998-06-17 1998-06-17 Data transmission
GB9812948.9 1998-06-17

Publications (1)

Publication Number Publication Date
WO1999066671A1 true WO1999066671A1 (en) 1999-12-23

Family

ID=10833837

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1999/001938 WO1999066671A1 (en) 1998-06-17 1999-06-17 Transposition cipher

Country Status (3)

Country Link
AU (1) AU4518899A (en)
GB (1) GB9812948D0 (en)
WO (1) WO1999066671A1 (en)

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHENG-XU XU ET AL: "Pandiagonal magic squares", COMPUTING AND COMBINATORICS. FIRST ANNUAL INTERNATIONAL CONFERENCE, COCOON'95. PROCEEDINGS, PROCEEDINGS OF FIRST ANNUAL INTERNATIONAL COMPUTING AND COMBINATORICS CONFERENCE, XI'AN, CHINA, 24-26 AUG. 1995, 1995, Berlin, Germany, Springer-Verlag, Germany, pages 388 - 391, XP000852606, ISBN: 3-540-60216-X *
GIDDY J P ET AL: "AUTOMATED CRYPTANALYSIS OF TRANSPOSITION CIPHERS", COMPUTER JOURNAL, vol. 37, no. 5, 1 January 1994 (1994-01-01), pages 429 - 436, XP000485457, ISSN: 0010-4620 *
MENEZES, VAN OORSCHOT, VANSTONE: "Handbook of Applied Cryptography", 1997, CRC PRESS, USA, XP002122845 *
ROSSER, BARKLEY & WALKER, R.J.: "The algebraic theory of diabolic magic squares", DUKE MATHEMATICAL JOURNAL, vol. 5, 1939, Durham, N.C. (U.S.A.), pages 705 - 728, XP000852834 *

Also Published As

Publication number Publication date
GB9812948D0 (en) 1998-08-12
AU4518899A (en) 2000-01-05

Similar Documents

Publication Publication Date Title
AU693094B2 (en) A repertoire of mappings for a cryptosystem
EP0624013B1 (en) Device and method for data encryption
Al-Ani et al. Overview: Main fundamentals for steganography
CN116032474B (en) Safety protection system based on big data computer network
EP1576763B1 (en) Secret sharing scheme using exclusive or calculation
US5452358A (en) Method and apparatus for improving the security of an electronic codebook encryption scheme utilizing a data dependent encryption function
CN112202984B (en) Ciphertext domain reversible information hiding method based on error correction redundancy
KR101797030B1 (en) Apparatus and method for processing image steganography using random permutation and difference of image
US6125183A (en) Cryptosystem for optical storage
US20020114451A1 (en) Variable width block cipher
CN115333777A (en) Data encryption method, system, device and storage medium
CN115664639B (en) Financial asset transaction data transmission encryption method
AU2003257891A1 (en) Data Encryption Method
WO1999066671A1 (en) Transposition cipher
Abdelsatir et al. A novel (k, n) secret sharing scheme from quadratic residues for grayscale Images
Jordan A variant of a public key cryptosystem based on goppa codes
Raju et al. Modified encryption standard for reversible data hiding using AES and LSB steganography
Gangurde et al. LSB steganography using pixel locator sequence with AES
Arazi et al. Intuition, perception, and secure communication
Yuan et al. Robust Image Encryption Based on Improved Logistic Chaos and Cross Chaotic Diffusion
Salehi et al. An investigation on image secret sharing
Al-Saiyd Hybrid Medical Colored Image LSB Steganography Based on Primitive Root Numbers
Rao et al. A Novel Image Encryption Using Parity Based Visual Cryptography
Najeena et al. An efficient steganographic technique based on chaotic maps and adpative PPM embedding
Chudamani et al. An improved cryptographic key generation and data transmission technique using images

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase