Abstract:
A system and method for an unconditionally secure protocol to create identical pads or keys between two parties communicating over any network is provided. The protocol is composed of three parts, as follows. Firstly, the two parties generate an initial correlated string Ka, Kb by simultaneously observing common physical phenomena such as a satellite signal or recording round trip timing of messages being rallied back and forth, etc. Secondly, the two parties engage in Information Consolidation and Reconciliation in order to reconcile differences. Finally, Privacy Amplification is used to cancel any information that an eavesdropper may have acquired and to produce the key or pad. This key agreement protocol creates unconditionally secure cryptography with a symmetric key cryptosystem. Alternatively, the symmetric keys can be used as a one-time pad with unconditional security.

Description:
RELATED APPLICATIONS  
         [0001]    This Application relates to our corresponding Application (Attorney Docket No. TPP 31463) filed on the same date and entitled “Method For The Construction Of Hash Functions Based On Sylvester Matrices, Balanced Incomplete Block Designs, and Error-Correcting Codes” naming Aiden BRUEN, David WEHLAU and Mario FORCINITO as the inventors.  
         BACKGROUND OF THE INVENTION  
         [0002]    1. Field of the Invention  
           [0003]    The present invention relates to cryptographic systems. More particularly, the invention generates, by public discussion, a cryptographic key that is unconditionally secure. Prior to this invention, cryptographic keys generated by public discussion, such as Diffie-Hellman, satisfied the weak condition of computational security but were not unconditionally secure.  
           [0004]    2. Discussion of the Related Art  
           [0005]    An Achilles heel of classical cryptographic systems is that secret communication can only take place after a key is communicated in secret over a totally secure communication channel. Lomonaco [5,6] describes the matter as the “Catch 22” of cryptography, as follows:  
           [0006]    “Catch 22. Before Alice and Bob can communicate in secret, they must first communicate in secret.” 
           [0007]    Lomonaco goes on to describe further difficulties involving the public key cryptographic systems that are currently in use. For a discussion on several other disadvantages of the Public Key Infrastructure (PKI) see U.S. General Accounting Office Report [8] and Schneier [13].  
           [0008]    Let x be a common key that has been created for Alice and Bob. That is, x is a binary vector of length n. Then x can be used as a one-time pad as follows. Let m be a message that Alice wishes to transmit to Bob: m is some binary vector also of length n. Alice encodes m as m⊕x where ⊕ denotes bitwise addition, i.e., exclusive OR. Thus m⊕x, not m, is broadcast over the public channel. Bob then decodes in exactly the same way. Thus Bob decodes the message (m⊕x)⊕x, which is m, because of the properties of bitwise addition.  
           [0009]    Alternatively, the key x can be used in a standard symmetric key cryptosystem such as that of Rijndael [12] or Data Encryption Standard (DES) [13]. The idea now is to encode m as f x (m) where f x  denotes the Rijndael permutation with the parameter x. Then, to get the message, Bob decodes by g x [f x (m)]=m where g x  is the inverse of f x .  
           [0010]    To date, practical protocols for constructing such a common key x use for their security unproven mathematical assumptions concerning the complexity of various mathematical problems such as the factoring problem, the discrete log problem, and the Diffie-Hellman problem. Another serious difficulty concerning present systems involves the very long keys that are needed for even minimal security. In his monograph R. A. Mollin [17] points out that for elliptic curves cryptography an absolute minimum of 300 bits should be used for even the most modest security requirements and 500 bits for more sensitive communication. Further, key lengths of 2048 bits are recommended for RSA in the same reference.  
           [0011]    In [19] chapter 5, Julian Brown gives an example of a financial encryption system depending on RSA keys of 512-bit, namely the CREST system introduced in 1997 by the Bank of England. He quotes the noted cryptographer A. Lenstra concerning such codes as follows: “Keys of 512 bits might even be within the reach of cypherpunks. In principle they could crack such numbers overnight”.  
           [0012]    Randomness in Arrival Times of Network Communications  
           [0013]    Computer networks are very complex systems formed by the superposition of several protocol layers [14]. FIG. 1 shows the layers in a typical network. The following analysis of how the layers work together serves to explain the randomness in networks.  
           [0014]    The lowest layer connects two computers, i.e., creates a channel between them, by some physical means and is called the Physical Layer.  
           [0015]    The second layer removes random physical errors (called “noise”) from the channel to create an error-free communications path from one point to another. This layer, i.e., the Data Link Layer, is primarily responsible for dealing with transmission errors generated as electrical impulses (representing bits) as sent over a physical connection. Error detection techniques [15] are used to identify the transmission errors in many protocols. Once an error is detected the protocol requests a resend. Random errors in the Data Link Layer can be observed by noting timing delays.  
           [0016]    The Medium Access Layer deals with allocating and scheduling all communications over a single channel. In a networked environment, including the Internet, many computers communicate over a single channel. Bursts in packet traffic is a well-known characteristic and is due to the uncontrollable behavior of many individual computers communicating over a single channel [16] leading to random fluctuations in transmission times.  
           [0017]    The Network Layer deals with routing information to create a true or virtual connection between two computers. The routing is dependent on the variety of routing algorithms and the load placed on each router. These two factors makes the transmission times fluctuate randomly.  
           [0018]    The Transport Layer interfaces with the final Application Layer to provide an end-to-end, reliable, connection-oriented byte stream from sender to receiver. To do so, the Transport Layer provides connection establishment and connection management. The times associated with Transport layer activities depend on all devices in the network and the algorithms being used. Thus, fluctuations in transmission times in the Transport Layer also occur, contributing to timing delays.  
           [0019]    However, not only the network influences timing fluctuations. The transmitting and receiving computers have internal delays resulting from servicing network packets. Thus, even the act of observing the timings will also introduce random fluctuations. (See appendix B for an analysis of the effects of perturbations on arrival timing).  
         SUMMARY OF THE INVENTION  
         [0020]    The present invention provides an efficient, practical system and method for a key agreement protocol based on network dynamics that has the strongest possible security, namely, unconditional security, and that does not require any additional hardware. Previous work in this area is either theoretical [11] or practically infeasible due the requirement for additional channels based on expensive and complicated hardware such as satellites, radio transmitter arrays and accompanying additional computer hardware to communicate with these devices [7]. All previous cryptographic keys only satisfy the weaker criterion of computational security.  
           [0021]    The present invention introduces relative time sequences based on round-trip timings of packets between two communicating parties. These packets form the basic building blocks for creating an efficient and unconditionally secure key agreement protocol that can be used as a replacement for current symmetric and asymmetric key cryptosystems. The present invention is an unconditionally secure cryptographic system and method based on ideas that can be used in the domain of quantum encryption [1, 5 and 20 Chapter 6]. Moreover, the present invention for the first time provides a cryptographic protocol that exploits fundamental results (and their interconnectedness) in the fields of information theory, error-correction codes, block design and classical statistics. The system and method of the present invention is computationally faster, simpler and more secure than existing cryptosystems. In addition, due to the unconditional security provided by the present invention, the system and method of the present invention are invulnerable to all attacks from super-computers and even quantum computers. This is in sharp contrast to all previous protocols.  
           [0022]    The present invention provides a protocol that uses two characteristics of network transit time: namely, its randomness, and the fact that, despite this, the average timing measured by two communicating parties will converge over a large number of repetitions. The result is that two correlated random variables are obtained by measuring the relative time a packet takes to complete a round trip with respect to a first party, Alice or A, and a round trip with respect to a second party, Bob or B.  
           [0023]    In a preferred embodiment, A and B engage in rallying packets back and forth and calculateround-trip times individually. The packets may be used for any additional purpose since the contents of the packets are irrelevant. Only the round-trip times are of interest. FIG. 2 shows one round of a relative round-trip time generator of the present invention. FIG. 2 diagrammatically describes the process.  
           [0024]    PHASE 1—Alice and Bob employ the system and method of the present invention to construct a permuted remnant bit string from a sequence of observed packet round-trip times:  
           [0025]    Alice and Bob exchange packets over a network, record round-trip times, and each form a bit string by concatenating a pre-arranged number of low order bits of successive packet round-trip times. Once sufficient bits are concatenated, the process is stopped and both Alice and Bob apply a pre-determined permutation to their respective concatenated bit strings to form permuted remnant raw keys K A  and K B , respectively of equal lenght.  
           [0026]    PHASE 2—Alice and Bob employ these remnant raw keys to create a reconciled key:  
           [0027]    Alice and Bob systematically partition their respective permuted remnant raw keys, K A  and K B , into sub-blocks, compute, exchange and compare parities for each sub-block, and, discarding the low order bit of the sub-block, re-concatenate the modified sub-blocks in their original order. In the case of blocks with mismatched parities the partition process is iterated until mismatched bits are located and deleted.  
           [0028]    PHASE 3—Alice and Bob create an unconditionally secure pad or key from their common reconciled key:  
           [0029]    Privacy amplification to eliminate any partial information that an eavesdropper, Eve, might have is applied by both Alice and Bob using a pre-determined proprietary hash function [4] to produce a final unconditionally secure key of a pre-determined length from the reconciled key. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0030]    [0030]FIG. 1 illustrates a typical multi-layer computer network protocol.  
         [0031]    [0031]FIG. 2 illustrates one rallying round between two communicating parties for generating a permuted remnant bit string by each party.  
         [0032]    [0032]FIG. 3 illustrates mean arrival time as a function of channel noise (noise parameter).  
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0033]    In a preferred embodiment, the key agreement scheme of the present invention comprises three phases. The first phase is construction of a permuted remnant bit string wherein the two communicating parties, Alice and Bob, rally packets back and forth recording round-trip times. Some of the bits may still be different after the initial bit string construction so Alice and Bob then participate in a second phase called Information Reconciliation. The second phase results in Alice and Bob holding exactly the same key. However, Eve may have partial knowledge of the reconciled strings, in the form of Shannon bits. Therefore, a third and final phase called Privacy Amplification is performed to eliminate any partial information collected by Eve.  
         [0034]    PHASE I—Alice and Bob rally packets back and forth to generate a bit string from truncated round-trip timings. This string is then systematically permuted. The procedure is as follows:  
         [0035]    (i) Alice sends Bob a network packet and logs the time t A0 .  
         [0036]    (ii) Bob records the time of reception as t B0  and responds immediately to Alice with another network packet.  
         [0037]    (iii) Alice records the time of reception as t A1 , and responds immediately with a network packet.  
         [0038]    (iv) Bob records the time of reception as t B1  and responds immediately to Alice with another network packet.  
         [0039]    (v) Alice and Bob respectively calculate  
         Δ t   A   =t   A1   −t   A0    
         [0040]    and  
         Δ t   B   =t   B1   −t   B0    
         [0041]    Depending on the quality of the network connection, only some bits of Δt A  and Δt B  are kept. The higher order bits are dropped. Typical experimental data and criteria for the truncation can be found in [18].  
         [0042]    By taking a suitable probability distribution it can be shown that the average of Δt A  equals the average of Δt B .  
         [0043]    (vi) Repeat steps (i) through (v) in order to create enough bits which are then concatenated as a string of bits of a predetermined length.  
         [0044]    PHASE II—Once sufficient bits are created, the process is stopped. Alice and Bob must now use the relative time series to create an unconditionally secure pad or key. One skilled in the art can deduce, from a study of various papers in the list of references that there are many ways to proceed. The present invention uses an approach which, very loosely speaking, is initially related to that of Bennett et al.[1]. However in [3, 4 and 10], several changes and improvements have been indicated. These changes, based on fundamental results in algebraic coding theory, information theory, block design and classical statistics together achieve the following results:  
         [0045]    (a) an a-priori bound on key-lengths;  
         [0046]    (b) a method for estimating the initial and subsequent bit correlations and key-lengths;  
         [0047]    (c) a precise procedure on how to proceed optimally at each stage;  
         [0048]    (d) a formal proof that K A  converges to K B ;  
         [0049]    (e) a stopping rule;  
         [0050]    (f) a verification procedure for equality; and  
         [0051]    (g) a new systematic hash function for Privacy Amplification.  
         [0052]    After PHASE I, Alice and Bob have their respective binary arrays K A  and K B  and both perform the following steps of PHASE II:  
         [0053]    (vii) Shuffle and partition. Alice and Bob apply a permutation to K A  and K B . They then partition the remnant raw keys into sub-blocks of length l=4.  
         [0054]    (viii) Parity exchange and bisective search with l=4: Parities are computed and exchanged for each sub-block of length 4 by Alice and Bob. Simultaneously they discard the bottom bit of each sub-block so that no new information is revealed to Eve. If the parities agree Alice and Bob retain the three top bits of each sub-block. If the parities disagree Alice and Bob perform a bisective search discarding the bottom element in each sub-block exactly as described in [1] and [5] (see also [4]). The procedure in steps (vii) and (viii) is denoted by KAP 4 .  
         [0055]    (ix) Estimate Correlation From the length of the new key, we can calculate the expected initial bit correlation x 0  between K A  and K B  [4]. Using x 0  we can calculate the present expected correlation x=φ 4 (x 0 ).  
         [0056]    (x) Shuffle, parity exchange, bisective search with the optimal l: To the remnant keys K A , K B  we apply a permutation f in order to separate adjacent keys. As a non-restrictive example, one such f can be implemented by shuffling the bit order from (1, 2, 3, . . . , n) into the order (1, p+1, 2p+1, . . . , q 1 p+1, 2, p+2, 2 p+2, . . . , q 2 p+2, . . . , p−1, 2 p−1, 3 p−1, . . . , q p−1 p+p−1, p, 2 p, 3 p, q p p+p), where q i =(n−i)/p.  
         [0057]    Given the present correlation x we choose the optimal value for l=l(x) by using the tables in [4]. Similar to (viii), (ix) for the case l=4, we carry out the procedure KAP l . From x, or from the new common length of the remnant keys, we calculate the expected present correlation after KAP l  has been applied. We repeat (xi) until the stopping condition holds.  
         [0058]    (xi) Stopping Condition : For key length n and correlation x we have n(1−x)&lt;ε, a predetermined small positive number. We then proceed to the verification procedure, an example of which is as follows.  
         [0059]    (xii) Verification Procedure: Let K A , K B  both be of length n. Let t be the smallest integer for which 2 t ≦n. Construct a binary matrix M=m ij , (1≦i≦t+1, 1≦j≦2 t ) as follows:  
         [0060]    a. The entries m ij , (1≦i,j≦t ) are the entries of the t×t identity matrix I t×t .  
         [0061]    b. The (t+1) th  row of M is the all-ones vector, that is m t+1,j =1(1≦j≦2 t ).  
         [0062]    c. Denote the top t entries in the j th  column by the binary vector v j  ( 1 ≦j≦2 t ) Thus, vj={m ij |1≦i≦t}. Then we impose the condition that the vectors v j are all distinct. Thus, the set {v j } equals the set of all 2 t  distinct binary vectors of length t.  
         [0063]    d. Denote the rows of M by R 1 , R 2 , . . . , R t+1 . Let x, y denote the remnant keys K A , K B  written as row vectors of length n. Let  x ,  y  denote the vectors that result when a row of zeros of length 2 t −n is adjoined, on the right of x, y respectively. Thus  x =(x,000 . . . 0),  y =(y,000 . . . 0).  
         [0064]    e. Our verification criterion is to check that  x .R i = y .R i , (1≦i≦t+1).  
         [0065]    If the verification criterion is not satisfied we remove the first t+1 bits from K A , K B  and repeat steps (x), (xi) and check again if the verification criterion is satisfied. Eventually, it will be satisfied.  
         [0066]    At this stage Alice and Bob have confirmed that they now share the same key. Once confirmed, the final remnant raw key as transformed by Phase 2 is modified by removing the first t+1 bits from K A =K B . Our new key is re-named the “reconciled key” and phase 3, Privacy amplification is performed.  
         [0067]    PHASE III—At this stage Alice and Bob now have a common reconciled key. In certain cases it is possible that the key is only partially secret to eavesdropper, Eve, in the sense that Eve may have some information on the reconciled key in the form of Shannon bits. Alice and Bob now begin the process of PrivacyAmplification that is the extraction of a final secret key from a partially secret one (see [1] and [2]). A well-known result of Bennett, Brassard and Robert (see [18]) shows that Eve&#39;s average information about the final secret key is less than 2 −s /ln 2 Shannon bits as explained below (See also Shannon [9]).  
         [0068]    (xiii) Privacy Amplification—Let the upper-bound on Eve&#39;s number of Shannon Bits be k and let s&gt;0 be some security parameter that Alice and Bob may adjust as desired. Alice and Bob now apply a hash function described in “Method For The Construction Of Hash Functions Based On Sylvester Matrices, Balanced Incomplete Block Designs And Error-Correcting Codes”, co-pending Irish Patent Application, (the entire contents of which is hereby included by reference as if fully set forth herein [3]) which produces a final secret key of length n-k-s from the reconciled key of length n.  
         [0069]    The system and method of the present invention provide an unconditionally secure key agreement scheme based on network dynamics as follows. In PHASE I, Alice and Bob permute the bits of what remains of their respective raw keys, which keys incorporate delay occasioned by network noise. In PHASE II, the key from PHASE I undergoes the treatment of Lomonaco [5]. That is, in PHASE II Alice and Bob partition the remnant raw key into blocks of length l. An upper bound on the length of the final key has been estimated and the sequence of values of l that yield key lengths arbitrarily close to this upper bound has also been estimated [4]. In PHASE II, for each of these blocks, Alice and Bob publicly compare overall parity checks, making sure each time to discard the last bit of the compared block. Each time an overall parity check does not agree, Alice and Bob initiate a binary search for the error, i.e., bisecting the mismatched block into two sub-blocks, publicly comparing the parities for each of these sub-blocks, while discarding the bottom bit of each sub-block. They continue their bisective search on the sub-block for which their parities are not in agreement. This bisective search continues until the erroneous bit is located and deleted. They then proceed to the next l-block.  
         [0070]    PHASE I is then repeated, i.e., a suitable permutation is chosen and applied to obtain the permuted remnant raw key. PHASE II is then repeated, i.e., the remnant raw key is partitioned into blocks of length l, parities are compared, etc. Precise expressions for the expected bit correlation (see below) following each step have been obtained in [4], where it is also shown that this correlation converges to 1. Moreover in [4] the expected number of steps to convergence as well as the expected length of the reconciled key are tabulated.  
         [0071]    The probability that corresponding bits agree in the arrays K A , K B  is known as the bit correlation probability or, simply, as the bit correlation. It can be shown (see [4]) that each round can be used to increase the bit-correlation. For example, if we start with a bit-correlation of 0.7 then after one round with l=3 the bit-correlation increases to about 0.77 and then to 0.87. For l=2 the corresponding numbers are 0.84 and 0.97. Estimates are also available for the key lengths after a round of the protocol of the present invention, for various values of l[4].  
         [0072]    The final secret key can now be used for a one-time pad to create perfect secrecy or can be used as a key for a symmetric key cryptosystem such as Rijndael [12] or Triple DES [18].  
         [0073]    A simplified version of the algorithm for the values l=2 and 3 is described in Appendix A.  
         [0074]    It will be understood by those skilled in the art, that the above-described embodiments are but examples from which it is possible to deviate without departing from the scope of the invention as defined in the appended claims.  
       REFERENCE AND BIBLIOGRAPHY  
       [0075]    The following references are hereby incorporated by reference as if fully set forth herein.  
         [0076]    [1] Charles Bennett, Francois Bessette, Gilles Brassard, Louis Salvail, and John Smolin,  Experimental quantum cryptography , EUROPCRYPT &#39;90 (Arhus, Denmark), 1990, pp. 253-265.  
         [0077]    [2] Charles H. Bennett, Gilles Brassard, and Jean-Marc Robert,  Privacy Amplification by Public Discussion , Siam J. of Computing, 17, no.2 (1988), pp.210-229.  
         [0078]    [3] Aiden Bruen and David Wehlau,  Method for the Construction of Hash Functions Based on Sylvester Matrices, Balanced Incomplete Block Designs, and Error - Correcting Codes , Irish Patent Co-pending Irish Patent Application.  
         [0079]    [4] Aiden Bruen and David Wehlau,  A Note On Bit - Reconciliation Algorithms , Non-Elephant Encryption Systems Technical Note 01.xx NE2, 2001.  
         [0080]    [5] Samuel J. Lomonaco,  A quick glance at quantum cryptography , Cryptologia 23 (1999), no. 1, pp. 1-41.  
         [0081]    [6] ______,  A Rosetta Stone for Quantum Mechanics With An Introduction to Quantum Computation , quant-ph/0007045 (2000).  
         [0082]    [7] Ueli M. Maurer,  Secret Key Agreement By Public Discussion From Common Information , IEEE Transactions on Information Theory 39 no.3 (1993), pp. 733-742.  
         [0083]    [8] United States General Accounting Office,  Advances and Remaining Challenges to Adoption of Ppublic Key Infrastructure Technology , GAO 01-227 Report, February 2001, Report to the Chairman, Subcommittee on Government Efficiency, Financial Management and Intergovernmental Relations, Committee on Government Reform, House of Representatives.  
         [0084]    [9] Claude E. Shannon,  Communication Theory of Secrecy Systems , Bell System Technical Journal 28(1949), 656-715.  
         [0085]    [10] David Wehlau,  Report for Non - Elephant Encryption,  Non-Elephant Encryption Technical Note Jan. 8, 2001.  
         [0086]    [11] A. D. Wyner,  The Wire - Tap Channel , Bell System Technical Journal 54 no.8(1975), 1355-1387.  
         [0087]    [12] Joan Daemon and Vincent Rijnmeien,  The Rijndael Block Cypher , June 1998, http://csrc.nist.gov/encryption/aes/rijndael/rijndael.pdf  
         [0088]    [13] Bruce Schneier,  Applied Cryptography , 2 nd  Edition, John Wiley &amp; Sons, New York, 1996, Chapter 12.  
         [0089]    [14] Andrew Tanenbaum,  Computer Networks , Prentice Hall, 1996.  
         [0090]    [15] Claude E. Shannon,  A Mathematical theory of Communication , Bell System Technical Journal 27(1948), pp. 379-423and 623-656.  
         [0091]    [16] Will E. Leland, Murad S. Taqq, Walter Willinger, and Daniel V. Wilson,  On the Self - Similar Nature of Ethernet Traffic , Proc. SIGCOMM (San Francisco, Calif.; Deepinder P. Sidhu, Ed.), 1993, pp. 183-193.  
         [0092]    [17] R. A. Mollin,  An Introduction to Cryptography , Chapman &amp; Hall/CRC, 2000. Chapter 6.  
         [0093]    [18] Douglas R. Stinson,  Cryptography. Theory and Practice , CRC Press, 1995.  
         [0094]    [19] Julian R. Brown,  The Quest for the Quantum Computer , Simon &amp; Schuster, New York, 2001.