AN ENCODER/DECODER

Abstract: An encoder/decoder comprises a spherical body (14) on which is provided a plurality of different letters and/or numerals. Connecting means in the form of three circular members sharing the same axis encompass the sphere, two defining two parallel sighting hoops (16) and the third defining a sighting ring (17). The connecting means are mounted on a support body so that relative rotation of the connecting means and the body (14) can be effected. In use, the body (14) is rotated until two specified indicia lie visually between the two sighting hoops (16) in a specified order. Then, one or more indicia are read from the sighting ring (17). The encoder/decoder may be used to protect computer software against copying and may also be used to hinder unauthorised access to remote computer systems. Thus, the number of individuals using a system can be limited to the number of keys in existence, by a preliminary section of program that, by interrogating the user, can determine whether he has in his possession a suitable encoder/decoder such as outlined above.

Description: Description of Invention Title: "An Encoder /Decoder" THIS INVENTION relates to an encoder/decoder, in particular an encoder/- decoder for use in preventing or at least hindering use of copied of computer programs. With the increasing use of computers, illegal copying of computer programs or 'Software Piracy' has become a severe problem, particularly with computer programs recorded on audio cassette tape for use with home computers. Another major problem is the use of remote computer systems by unauthorised users - "Hackers" - able to get easy access to sensitive computer information, protected only by inflexible passwords, in essence a very primitive 'key'. It is an object of the present invention to provide an encoder /decoder which finds particular application in preventing or at least hindering software piracy. According to one aspect of the present invention, there is provided an encoder/decoder consisting of a body such that manipulation of that body in isolation yields a describable result, necessarily derived in part from the spatial relationship between areas of the body's surface not trivially related at some moment during the manipulation. As used herein the phrase 'in isolation' means without recourse to further unspecified devices and the phrase 'trivially related' is defined such that two areas on the surface of the body are trivially related if there exists at least one pair of points, one in each area, for which the planes tangential to the surface at those points are parallel. Preferably, the areas of the body's surface are visually distinct and means are provided for identifying the spatial relationship between the < visuαlly distinct areas of the body. The invention also provides an encoder/decoder, comprising a three- dimensional body having a plurality of visually distinct areas and means for identifying the spatial relationship between visually distinct areas of the body. Thus, the spatial relationship between the visually different areas on the body and the identifying means uniquely define an information lattice which comprises the "key" of the encoder /decoder. Preferably, the identifying means are provided to identify a visually distinct area of the body having a predetermined spatial relationship with one or more selected visually distinct areas of the body. In one arrangement, the body may comprise a plurality of inde¬ pendent subsidiary bodies having a defined spatial relationship with one another. Preferably, the body is a non-Euclidean surface which may be a closed surface or part of a closed surface. Usually, the surface is an ellipsoid or part of an ellipsoid or toroid or part of a toroid and in a preferred arrangement, the surface is a sphere or part of a sphere. Alternatively, the body may comprise a plurality of intersecting surfaces. It should be understood that, as used throughout the present Specification, the word "intersecting" is to be taken to encompass the case where non-parallel surfaces contact each other but do not actually pass through one another. The intersecting surfaces may or may not form a closed body. In particular, the body may comprise a polyhedron or part of a polyhedron. Preferably, in such a case the body has eight or more surfaces. In a preferred arrangement, the identifying means comprises means movable relative to the surface for connecting a selected one of the visually different areas with one of the visually different areas which have a predetermined spatial relationship therewith. Generαlly, the connecting means comprises an elongate member which is shaped to conform to the body and is movable over the body. Conveniently, the connecting means comprises a plurality of intersecting elongate members which are fixed relative to each other, are shaped to conform to the body and are movable relative to the body, so that the elongate members can move over the body, to enable the position and/or orientation of the body relative to the elongate members to be determined by reference to the visually distinct areas of the body. The connecting means may also comprise a further member or plurality of further members fixed relative to the plurality of elongate members and shaped to conform to the body, so that, in use, when the position and/or orientation of the body relative plurality of elongate members has been selected by relative movement of the body and the plurality of elongate members, the further member or plurality of further members provides a reference point on the body. In one preferred arrangement the or each further member comprises a sighting ring. The plurality of elongate members may be arranged to be non- intersecting and preferably parallel to one another. Alternatively, the elongate members may be arranged to intersect one another and preferably be mutually perpendicular. Each elongate member may be in the form of an elliptical member where the body is an ellipsoid or part of an ellipsoid. In a preferred arrangement where the body is a sphere or part of a sphere, the elongate members may be circular. Usually, each reference area comprises a sighting ring and the body and the connecting means may be mounted in a support body allowing relative rotation of the body and the connecting means. Conveniently, the visually different areas on the body are different¬ iated visually by different indicia on the body which may be letters and/or numerals. The present invention also provides an encoder/decoder in accordance with the first aspect in combination with a recording medium carrying software for use with a computer, the software comprising a section for -li- preventing the use of α further section of the software on the medium until a key or code determined from the encoder in accordance with instructions given by the first section of the software is input to the computer. It should be understood that the term "non-Euclidean surface" is used in its normal sense to define any surface which will not map by a one-to-one relationship onto a Euclidean plane, that is, any surface which cannot be flattened out into a Euclidean plane without deformation of the surface. For a better understanding of the present invention, and to show how the same may be put into effect, reference will now be made, by way of example, to the accompanying drawings, in which: Figure I is a perspective view of an encoder/decoder embodying the invention; FIGURE 2 is a schematic perspective view of an alternative embodi¬ ment of the encoder/decoder; FIGURES 3A and 3B are diagrammatic views illustrating two dif¬ ferent ways of providing visually different areas on the surface of the encoder/decoder. FIGURE 4 is a schematic perspective view of a further alternative embodiment of the encoder /decoder. Referring now to Figure I , there is shown a decoder/encoder com¬ prising a three-dimensional body, in particular, a non-Euclidean surface in the form of a spherical surface I which may be either solid or hollow. The spherical surface I tias on its surface a plurality of visually different areas, each area being visually differentiated by means of a distinct indicia, for example, a letter and/or numeral. The visually differentiated areas are arranged so that the spatial relationships therebetween uniquely define an information lattice or "key". Connecting means are provided for associating a selected indicia on the surface 1 with another indicia on the surface I having a predetermined spαtiαl relationship with the selected indicia. As shown, the connecting means comprises three mutually perpendicular circular members 2 extending circumferentially round the sphere. Each circular member 2 has a reference region, in the form of a sighting ring 3, for location over an indicia on the surface I . The circular members 2 are connected together so that relative movement between the members 2 is prevented. The spherical surface I and the members 2 are mounted in a support body 4 so that the spherical surface I is rotatable relative to the members 2. As shown in the Figure, the support body 4 comprises a cuboid body, slightly larger than the spherical surface I . The body. 4 has an oval or circular window 5 in each face through which part of the spherical surface I and the members 2 project enabling relative movement of the spherical surface and the members 2 to be effected manually. In order to decode or encode a message with the encoder, a first one of the sighting rings 3 is placed over a selected letter or numeral on the surface I and the encoded letter or numeral is read from the sighting ring 3 of one of the other two rings. In such a case, only two circular members 2 need be provided. The circular members 2 need not, of course, necessarily be a mutually perpendicular but may intersect at any angle. Alternatively, two letters or numerals, one determined by the location of one sighting ring and the other by the location of the second sighting ring, may be encoded or decoded as a single letter or numeral determined by the other sighting ring 3 or vice versa. Figure 2 illustrates an alternative embodiment of the encoder /- decoder. - As shown in Figure 2, the encoder/decoder comprises a spherical surface I ' carrying indicia arranged so that the spatial relationships between the indicia uniquely define an information lattice. The connecting means for connecting indicia comprises a first elongate member 6 in the form of a circular hoop having a sighting ring 7 and a second elongate member 8, which may be a semi-circular or fully circular hoop. The second elongate member 8 carries two sighting rings 9 and 10 which have a pre-deter mined spatial relationship with one another. The second elongate member 8 is pivotαlly connected to the first elongate member 6 by two hinges I I so that the second elongate member 8 can be moved along the arrowed paths 12 as shown in Figure 2. In order to decode or encode a message with the encoder shown in Figure 2, the sighting ring 7 is first placed over a selected letter or numeral on the surface I and the second elongate member 8 is then pivoted to position one of the two sighting rings carried thereby, for example, sighting ring 9 over a second related letter or numeral on the surface and the encoded letter or numeral is read from the other sighting ring carried by the second member 8, for example, sighting ring 10. Figure 4 shows a further embodiment of an encoder/decoder in accordance with the invention. The encoder/decoder shown in Figure 4 comprises a non-Euchidean surface in the form of a spherical body 14 which may be either solid or hollow. The spherical body 14 contains a plurality of visually distinct areas 15, each area 15 being visually differentiated by means of a distinct indicium, for example, a letter and/or numeral. The visually distinct areas 15 are arranged so that the spatial relationships therebetween uniquely define part of an information lattice or 'key'. Two substantially parallel spaced-apart circular or semi-circular sighting hoops 16 extend circumferentially around the sphere and have a fixed spatial relationship to each other and to a sighting or reading ring 17 which has an axis which coincides with the axis of the circumference of the sphere lying between the two sighting hoops 16. The sighting hoops 16 and the sighting ring 17 are movable over the surface, for associating a selected pair of indicia having a predetermined spatial relationship with one another to provide connecting means for defining a positioning and orientation of the spherical body 14 relative to the sighting ring 17. In order to use the encoder/decoder shown in Figure 4, the user moves the spherical body 14 relative to the connecting means until two or more selected indicia lie between the hoops 16 in a selected order. Then, the user reads out the indicium that lies nearest the centre of the sighting -1- ring 1 7. Movement of the spherical surface 14 relative to a mounting (not shown) containing the hoops 16 and the ring 1 7 is effected manually. Figures 3A and 3B illustrate schematically two different ways in which the visually different areas may be provided on the surface of the encoder /decoder. Thus, in Figure 3 A the visually different areas are provided by irregularly shaped areas 13 on the surface each identified by a letter or numeral while in Figure 3B merely the letters or numerals are provided on the surface. Of course, the letters or numerals may be augmented by other visually distinguishable symbols for example differently coloured dots or different shape symbols for example circles, squares etc. each having a known relationship to a letter or numeral. Conveniently, the visually distinct areas on the three-dimensional body are recognised as letters or numerals, (preferably in a customised style of lettering so as to make reproduction yet harder). They may further may be covered by well-known symbols without resorting to obscure character- sets. Although, as will be understood from the foregoing discussion, the encoder/decoder can be used in any situation where a coded message is desired, the encoder/decoder finds particular application in the preventing or hindering of software piracy and the like. Thus, whenever access to the use of a computer program is required to be authorised or restricted, an encoder/decoder in accordance with the invention may be used to act as a 'key' into a software Mock'. This seems to be especially useful for remote systems such as may be accessed by terminals down bidirectional communi¬ cation lines, such as telephones, and is also extremely useful when re¬ production of the three-dimensional body whose surface contains the in- formation that defines the 'key' should deter the copying, since the program medium may be changed, with the use of the computer program still restricted by the software ock'. In order to use the encoder/decoder to prevent software piracy, a computer program being sold to a consumer, for example for use with a home computer, will be sold with an encoder/decoder. The computer program, which will generally be recorded using an audio cassette tape as the recording medium, will be preceded on the tape by a preliminary section which either prevents access to the main program section on the tape by preventing loading of the main program section or, alternatively, prevents use of the main program section by preventing the program being run, until a particular code has been input to the computer. When the preliminary section of the program is run, it will ascertain the user's possesion of a copy of a particular encoder/decoder by asking the user to carry out a number of operations using the encoder/decoder and then request that the user enter the result revealed by those operations . For example, in the case of an encoder/decoder of the type shown in Figure I , the preliminary section of the program may give the user instructions as to the positioning of two of the sighting rings and then ask for the number or letter located in the third sighting ring to be entered into the computer. Thus, if the result obtained using the encoder/decoder coincides with that expected by the computer, the existence of the 'key' is virtually certain, and hence the 'lock' may confidently open, and permission to use of the main program, or system may be granted. The operation can, of course, be repeated a number of times to increase the security of the 'lock'. It should be appreciated that the program contains a random number generator so that the instructions given to the user and hence result returned will (probably) be different each time access is requested. As will be understood from the above, an encoder /decoder in accord¬ ance with the invention usually has connecting means comprising a number of elongate members shaped to conform to the three-dimensional body and able to move freely across the surface of the three-dimensional body. On the understanding that the elongate members and the three-dimensional body interrelate in a consistent fashion such that their spatial positioning may be predicted as being (close to) one of a finite set of possibilities, then it is possible with such a body to extract information from this lattice by aligning the elongate member and the body into a particular arrangement, either by using the information on the body or by other means, and using one of the said members to direct the eye to a locality on the surface of the body, where one or more visually distinct indicia may be found. Reporting back these indicia would be a clear proof of the existence of a body correlating to the expected model, stored in the computer and hence the existence of a key (since the body is not easily reproducible). Alternatively, the proof may consist of reporting back some spatial relationship between the component members of the connecting means and the surface of the body over which they span, having been configured by use of the visually distinct indicia on the surface of the three-dimensional body. Or, more simply, the proof may consist of inspection of the three-dimensional body, accessing the information lattice by visual means only, thus finding an identifier that correlates with the stored model of the body. It should be understood that this last possibility is a much weaker form of protection, since it lends itself to optical reproduction (photographic or similar) as a form of simple 'key'-simulation. As will be understood from the above, the non-Euclidean acts as a multi-dimensional information lattice which, because it cannot be mapped by a one-to-one relationship onto a Euclidean plane, is extremely difficult to reproduce without copying the surface precisely in three dimensions. It will however be appreciated that other three-dimensional bodies could also be used. In particular, a three-dimensional body in the form of a polyhedron or part of a polyhedron, or part of a polyhedron formed of eight or more Euclidean surfaces or faces could also be extremely difficult to copy because such a three-dimensional body cannot be mapped onto a Euclidean surface without changing some spatial relationships between non-trivially related points. It should be appreciated that the encoder/decoder can be used to hinder unauthorised access to remote computer system. Thus, the number of individuals using a system can be limited to the number of 'key's in existence, by a preliminary section of program that, by interrogating the user, can determine whether he has in his possession a suitable encoder/- decoder such as outlined above. Thus, an encoder/decoder embodying the invention provides a low- cost means of protecting a computer program against piracy or preventing access to remote systems which is easy to use, and mass produce and, in particular, is independent of the specific type or make of computer with which the program or system to be protected is to be used.

Claims: CLAIMS: 1. An encoder /decoder consisting of α body such that manipulation of that body in isolation yields a describable result, necessarily derived in part from the spatial relationship between areas of the body's surface not trivially related at some moment during the manipulation. 2. An encoder/decoder according to Claim I wherein the areas of the body's surface are visually distinct areas and means are provided for identifying the spatial relationship between the visually distinct areas of the body. 3. An encoder/decoder, comprising a three-dimensional body having a plurality of visually distinct areas and means for identifying the spatial relationship between visually distinct areas of the body. 4. An encoder/decoder according to Claim 2 or 3, wherein the identify¬ ing means are provided to identify a visually distinct area of the body having a predetermined spatial relationship with one or more selected visually distinct areas of the body. 5. An encoder/decoder according to any preceding Claim wherein the body comprises a plurality of independent subsidiary bodies having a defined spatial relationship with one another. 6. An encoder/decoder according to any preceding claim, wherein the body is a non-Euclidean surface. 7. An encoder/decoder according to Claim 6, wherein the surface is a closed surface or part of a closed surface. 8. An encoder/decoder according to Claim 7, wherein the surface is an ellipsoid or toroid, or part of an ellipsoid or toroid. 9. An encoder/decoder according to Claim 7, wherein the surface is a sphere or part of a sphere. 10. An encoder/decoder according to Claim 1 ,2,3 or 4 wherein the body comprises a plurality of intersecting surfaces. 1 1 . An encoder/decoder according to Claim 10, wherein the body is a polyhedron or part of a polyhedron. 12. An encoder /decoder according to Claim 9 or 10, wherein the body has eight or more surfaces. 13. An encoder/decoder according to claim 2,3 or 4 or any one of claims 5 to 12 when dependent on claim 2,3 or 4 wherein the identifying means comprises means movable relative to the body for connecting a plurality of visually distinct areas on the body which have a predetermined spatial relationship with one another. 14. An encoder/decoder according to Claim 13, wherein the connecting means comprises an elongate member which is shaped to conform to the body and which is movable relative to the body so that the elongate member can move over the body. 15. An encoder/decoder according to Claim 14, wherein the connecting means a plurality of intersecting elongate members which are fixed relative to each other, are shaped to conform to the body and are movable relative to the body, so that the elongate members can move over the body, to enable the position and/or orientation of the body relative to the elongate members to be determined by reference to the visually distinct areas of the body. 16. An encoder/decoder according to Claim 15, wherein the connecting means comprises a further member or plurality of further members fixed relative to the plurality of elongate members and shaped to conform to the body, so that, in use, when the position and/or orientation of the body relative plurality of elongate members has been selected by relative movement of the body and the plurality of elongate members, the further member or plurality of further members provides a reference point in the body. 17. An encoder/decoder according to Claim 16, wherein the or each further member comprises a sighting ring. 18. An encoder/decoder according to Claim 15, 16 or 17 wherein the plurality of elongate members are arranged to be non-intersecting. 19. An encoder /decoder according to Claim 18 wherein the plurality of elongate members are parallel to one another. 20. An encoder/decoder according to Claim 15, 16 or 17 wherein the plurality of elongate members intersect one another. 21. An encoder/decoder according to Claim 20, wherein the elongate members are mutually perpendicular. 22. An encoder/decoder according to any one of claims 15 to 22, wherein each elongate member carries a sighting ring. 23. An encoder/decoder according to any one claims 15 to 22 when dependent on Claim 8, wherein each elongate member is substantially in the form of an elliptical member. 24. An encoder/decoder according to anyone of Claims, 15 to 22 when dependent on Claim 9, wherein each elongate member is substantially in the form of a circular member. 25. An encoder/decoder according to Claim 23 or 24, wherein the body and the connector means are mounted on a support body allowing relative rotation of the body and the connecting means. 26. An encoder/decoder according to claim 2, 3 or 4 or any one of claims 5 to 25 when dependent on claim 2,3 or 4 wherein the visually different areas on the body are differentiated visually by different indicia on the body. 27. An encoder/decoder according to Claim 26, wherein the indicia are letters and/or numerals. 28. An encoder/decoder substantially as herein described with reference to, and as illustrated in, the accompanying drawing. 29. An encoder/decoder in accordance with any one of the preceding Claims in combination with a recording medium carrying software for use with a computer, the software comprising a section for preventing the use of a further section of the software on the medium until a key or code determined from the encoder in accordance with instructions given by the first section of the software is input to the computer. 30. A combination according to Claim 29, wherein the recording medium is a cassette tape or disk. 31. Any novel feature or combination of features described herein.

Inventors: CAMPBELL ROBERT JAMES, PELLING NICHOLAS JOHN MARSHALL, CAMPBELL, ROBERT, JAMES, PELLING, NICHOLAS, JOHN, MARSHALL
Applicants: CAMPBELL ROBERT J, PELLING NICHOLAS JOHN MARSHALL, CAMPBELL, ROBERT, JAMES, PELLING, NICHOLAS, JOHN, MARSHALL
Application year: 1985
Main classification: G09C1
IPC codes: G06F1, G06F21, G09C1