×

METHOD OF AUTHENTICATION AND SESSION KEY AGREEMENT FOR SECURE DATA TRANSMISSION, A METHOD FOR SECURELY TRANSMITTING DATA, AND AN ELECTRONIC DATA TRANSMISSION SYSTEM

  • US 20120082312A1
  • Filed: 10/04/2011
  • Published: 04/05/2012
  • Est. Priority Date: 10/05/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method of authentication and session key agreement for secure data transmission between a first data communication entity and a second data communication entity in an electronic data transmission system, the method comprising:

  • in a commitment phase in both the first data communication entity and the second data communication entity, providing a password pw, and parameters g, p, and q with G={gr mod p;

    1≦

    r<

    p}, where G is a finite cyclic group with a large prime order p, g is a primitive root modulo p in G so that, for any xY [1, p−

    1], there always exists a value r to meet the formula gr mod p=x;

    in the first data communication entity,generating a first symmetric encryption key by applying a hash function to the password;

    pwa=H(pw |IDa), wherein IDa is an identity of a first user using the first data communication entity;

    generating a first temporary private key raε

    R [1,p−

    1] and a first shadow private key saε

    R[1, 2L−

    1
    ], where L is a block size of an encryption algorithm;

    generating a first temporary public key ta=gra and a first shadow public ua=gsa;

    generating a first modular sum;

    Wa=ta+ua;

    encrypting the first shadow private key with the first symmetric encryption key using the encryption algorithm;

    ESa=Epwa{sa}; and

    transmitting the identity of the first user, the first modular sum, and the encrypted first shadow private key from the first data communication entity to the second data communication entity over a communication channel provided in the electronic data transmission system;

    in the second data communication entity,generating a second symmetric encryption key by applying the hash function to the password;

    pwb=H(pw | IDb), wherein IDb is an identity of a second user using the second data communication entity;

    generating a second temporary private key rbε

    R [1,p−

    1] and a second shadow private key sbε

    R[1, 2L−

    1
    ], where L is a block size of the encryption algorithm;

    generating a second temporary public key tb=grb and a second shadow public ub=gsb;

    generating a second modular sum;

    Wb=tb+ub;

    encrypting the second shadow private key with the second symmetric encryption key using an AES encryption;

    ESb=Epwb{sb}; and

    transmitting the identity of the second user, the second modular sum, and the encrypted second shadow private key from the second data communication entity to the first data communication entity over the communication channel provided in the electronic data transmission system; and

    in a confirmation phase,in the first data communication entity,if for the second modular sum Wb

    0, decrypting the second shadow private key by using the second symmetric encryption key;

    sb=Dpwb{ESb};

    generating a first confirmation key by using the following formula;

    CKa=(Wb

    gsb)ra=grbra;

    generating a first verification tag;

    Va=H(CKa | IDa | IDb | Wa | Wb | ESa | ESb | pwa |

         0); and

    transmitting the first verification tag from the first data communication entity to the second data communication entity over the communication channel provided in the electronic data transmission system, andin the second data communication entity,verifying the first verification tag;

    decrypting the first shadow private key by using the first temporary private key;

    sa=Dpwa{ESa};

    generating a second confirm key by using the following formula;

    CKb=(Wa

    gsa)rb=grarb;

    generating a second verification tag;

    Vb=H(CKb | IDa | IDb | Wa | Wb | ESa | ESb | pwb |

         1); and

    transmitting the second verification tag from the second data communication entity to the first data communication entity over the communication channel provided in the electronic data transmission system, andin the first data communication entity, verifying the second verification tag; and

    generating a shared session key in the first and second data communication entity;

    SK=H(CKa | IDa | IDb | Wa | Wb |1 ESa | ESb) and SK=H(CKb | IDa | IDb | Wa | Wb | ESa | ESb).

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×