q outputs have been triggered after the last bits p.sub.0 and q.sub.0 have been presented, then p=q. The first triggering of either the pq 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 p and the smaller number, the substrahend, is labelled q. Both p 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 p.sub.i = 0 and q.sub.i =1, or p.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 p.sub.i, q.sub.i and the borrow bit. The output of XOR gate 82 gives the modulo-2 difference between p.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. There are many methods for implementing this form of the invention. The signals q and a may be public knowledge rather than generated by the key source 25. Further, it should be appreciated that the present invention has the capability of being modified by the use of additional transformations or exchanges of signals. In some applications, it will prove valuable to have the i.sup.th converser on the system generate Y.sub.i as above and place it in a public file or directory rather than transmitting it to another converser with whom he wishes to communicate. Then two conversers i and j who wish to establish a secure channel will use K.sub.ij =Y.sub.i.sup.X.sbsp.j mod q=Y.sub.j.sup.X.sbsp.i mod q as their key. The advantage is that converser i, having once proved his identity to the system through the use of his driver's license, fingerprint, etc., can prove his identity to converser j by his ability to compute K.sub.ij and encrypt data with it. Variations on the above described embodiment are possible. For example, in the above method based on logarithms modulo q, m-dimensional vectors, each of whose components are between 0 and q-1 could also be used. Then all operations are performed in the finite field with q.sup.m elements, which operations are well described in the literature. 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. * * * * * ------------------------------------------------------------------------------- [Image] [View Shopping Cart] [Add to Shopping Cart] [HIT_LIST] [Top] [Home] [Boolean Search] [Manual Search] [Number Search] [Help]