q outputs have been triggered after the last bits f.sub.0 and q.sub.0 have been presented, then f=q. The first triggering of either the fq output causes the comparison operation to cease. The two AND gates 71 and 72 each have one input inverted (denoted by a circle at the input). An SN7400 and SN7404 provide all of the needed logic circuits. FIG. 6 depicts an implementation of a subtractor 57 for subtracting two numbers. Because the numbers subtracted in FIG. 3 always produce a non-negative difference, there is no need to worry about negative differences. The larger number, the minuend, is labelled f and the smaller number, the subtrahend, is labelled q. Both f and q are presented serially to the subtractor 57, low order bit first. AND gates 81 and 83, OR gate 84 and XOR gate 82 determine if borrowing (negative carrying) is in effect. A borrow occurs if either f.sub.i =0 and q.sub.i =1, or f.sub.i =q.sub.i and borrowing occurred in the previous stage. The delay 85 stores the previous borrow state. The i.sup.th bit of the difference, d.sub.i, is computed as the XOR, or modulo-2 difference, of f.sub.i, q.sub.i and the borrow bit. The output of XOR gate 82 gives the modulo-2 difference between f.sub.i and q.sub.i, and XOR gate 86 takes the modulo-2 difference of this with the previous borrow bit. Typical parts for implementing these gates and the delay are SN7400, SN7404 and SN7474. The eavesdropper 13 is assumed to have a cryptographic device 17 and to have access to all signals C.sub.1, C.sub.2, . . . , C.sub.i transmitted through the insecure channel 19. He also may have past plaintext messages P.sub.1, P.sub.2, . . . , P.sub.i-1 as represented by the variable delay 22. The eavesdropper in theory could obtain K or D from q, P.sub.1 and C.sub.1 by raising P.sub.1 to the first, second, third, etc., powers until C.sub.1 was obtained; the power which successfully yields C.sub.1 may be K. This search is prevented by choosing q to be a large number; if q is a 200 bit quantity, the average number of trials before success is on the order of 2.sup.199 =8.times.10.sup.59 and is computationally infeasible. Improved algorithms for computing logarithms over GF(q) (if Y=a.sup.X mod q, X is the logarithm of Y to the base over GF(q)) are known but, if q=2r+1 with q and r being prime, then the most efficient known algorithm requires approximately q.sup.1/2 operations. Taking q to be a 200 bit number, about 2.sup.100 =10.sup.30 operations are required, still computationally infeasible. An example of such a pair is r=(2.sup.121 .multidot.5.sup.2 .multidot.7.sup.2 .multidot.11.sup.2 .multidot.13.multidot.17.multidot.19.multidot.23.multidot.29.multidot.31.mult idot.37.multidot.41.multidot.43.multidot.47.multidot.53.multidot.59)+1 and q=2r+1. Other restrictions on q or K or D may also be imposed. There are many methods for implementing this form of the invention. The signal q could be public knowledge rather than generated by the key source 25; or the key source 25 could be located at conversor 12 instead of at conversor 11. In some applications, it will prove valuable to use the insecure channel 19, instead of the secure channel 26, to exchange the keying information. This can be done as described in the patent application "Cryptographic Apparatus and Method," Ser. No. 830,754 filed Sept. 6, 1977. Authentication is obtained because an opponent must determine the key if he is to inject a message, in enciphered form, that will be deciphered into a meaningful message of his choosing. The difficulty involved in foiling the authentication protection of the system is therefore equal to the difficulties involved in foiling its privacy protection. Variations on the above described embodiment are possible. For example, in the above method based on logarithms over GF(q), m-dimensional vectors, each of whose components are between 0 and q-1 also could be used. Then all operations are performed in the finite field with q.sup.m elements, GF(q.sup.m), which operations are well-described in the literature. Or, q need not be prime, in which case D must equal the multiplicative inverse of K modulo .phi.(q). The function .phi.(q) is known as Euler's totient function and equals the number of positive integers less than q and relatively prime to q. When q is prime .phi.(q)=q-1 so equation (7) is a special case of this more general rule. As a small example, consider q=15 so .phi.(q)=8(1,2,4,7,8,11, 13 and 14 are relatively prime to 15). Taking K=3 then D=K.sup.-1 mod .phi.(q)=3 (in general K and D will be different). If P=2 then C=P.sup.K mod q= 8 and P can be recovered by the receiver 12 as C.sup.D mod q=8.sup.3 mod 15=2, which is correct. If the factorization of q contains a repeated factor then a problem arises in that C=P.sup.K mod q and P=C.sup.D mod q are not always inverse transformations, even if D=K.sup.-1 mod .phi.(q). This problem can be overcome by avoiding certain values of P. For example, if q=44=2.sup.2 .multidot.11, then any value of P which is divisible by 2, but not by 4, will not be obtained by enciphering and then deciphering. As an example, when K=3, D=7 and .phi.(q)=20, if P=2 then C=P.sup.K mod q=9 but C.sup.P mod q=8.sup.7 mod 44=24.noteq.P. Thus, although the best mode contemplated for carrying out the present invention has been herein shown and described, it will be apparent that modification and variation may be made without departing from what is regarded to be the subject matter of this invention. CLAIMS: What is claimed is: 1. In a method of communicating securely over an insecure communication channel of the type which communicates a message from a transmitter to a receiver by enciphering the message with a secret enciphering key at the transmitter, transmitting the enciphered message from the transmitter to the receiver, and deciphering the enciphered message with a secret deciphering key at the receiver, the improvement characterized by: generating the secret deciphering key as the multiplicative inverse, in modular arithmetic, of the secret enciphering key; generating the enciphered message by exponentiating, in modular arithmetic, the message with the secret enciphering key; deciphering the enciphered message by exponentiating, in modular arithmetic, the enciphered message with the secret deciphering key, wherein the step of: generating the secret deciphering key is performed by generating a secret deciphering key D, such that D=K.sup.-1 (mod q-1) where 1.ltoreq.D.ltoreq.q-2, q is a prime number, and the secret enciphering key K is an independent random number chosen uniformly from the set of integers (1, 2, . . . q-2) which are relatively prime to q-1; generating the enciphered message is performed by generating an enciphered message C, such that C=P.sup.K (mod q) where P is the message; and deciphering the enciphered message is performed by generating the message P, where P=C.sup.D (mod q). 2. In an apparatus for communicating securely over an insecure communication channel of the type which communicates a message from a transmitter to a receiver comprising means for enciphering the message with a secret enciphering key at the transmitter, means for transmitting the enciphered message from the transmitter to the receiver, and means for deciphering the enciphered message with a secret deciphering key at the receiver, the improvement characterized by: means for generating the secret deciphering key as the multiplicative inverse, in modular arithmetic, of the secret enciphering key; means for generating the enciphered message by exponentiating, in modular arithmetic, the message with the secret enciphering key, having an input connected to receive the secret enciphering key, having another input connected to receive the message, and having an output that generates the enciphered message, and means for deciphering the enciphered message by exponentiating, in modular arithmetic, the enciphered message with the secret deciphering key, having an input connected to receive the secret deciphering key, having another input connected to receive the enciphered message, and having an output that generates the message, wherein said means for generating the secret deciphering key includes means for generating a secret deciphering key D, such that D=K.sup.-1 (mod q-1) where .ltoreq.D.ltoreq.q-2, q is a prime number, and the secret enciphering key K is an independent random number chosen uniformly from the set of integers (1, 2, . . . , q-2) which are relatively prime to q-1; wherein said means, for generating the enciphered message by exponentiating, includes means for generating an enciphered message C, such that C=P.sup.K (mod q) where P is the message; and wherein said means, for deciphering the enciphered message by exponentiating, includes means for generating the message P, where, P=C.sup.D (mod q).