A device, used by a receiver, for decrypting a message sent from a sender to the receiver, where the message comprises the sender's ciphertext message concatenated to an access field, where the sender and the receiver agree on a session key, and where the access field comprises g.sup.sk, where g is an element in a Galois Field and sk is the session key, and an encrypted version of an identification number combined with an encrypted version of the session key, comprising:
- a) a shift-register, having an input for receiving the message sent by the sender, having a first output for transmitting g.sup.sk received from the sender, having a second output for transmitting an encrypted version of an identification number combined with an encrypted version of the session key received from the sender, and having a third output for transmitting the ciphertext message received from the sender;
- b) a first means for performing a commutative one-way function, having a first input for receiving an element g of a Galois Field, having a second input for receiving the session key, and having an output;
- c) a first comparator, having a first input connected to the first output of said shift-register, having a second input connected to the output of said first commutative one-way function means, and having an output that indicates whether or not the first and second input to the comparator match;
- d) a second means for performing a commutative one-way function, having a first input for receiving a public device unique key Y.sub.i, having a second input for receiving the session key, and having an output;
- e) a third means for performing a commutative one-way function, having a first input for receiving a public family key Y.sub.f, having a second input for receiving the session key, and having an output;
- f) a symmetric-key encryptor, having a plaintext input for receiving the session key, having a key input connected to the output of said second commutative one-way function means, and having a ciphertext output;
- g) a first symmetric-key decryptor, having a ciphertext input connected to the second output of said shift-register, having a key input connected to the output of said third commutative one-way function means, and having a plaintext output;
- h) an extractor, having an input connected to the plaintext output of said first symmetric-key decryptor, and having an output for transmitting the sender's encrypted session key;
- i) a second comparator, having a first input connected to the ciphertext output of said symmetric-key encryptor, having a second input connected to the output of said extractor, and having an output for indicating whether or not the sender's encrypted session key matches the receiver's encrypted session key;
- and
- g) a second symmetric-key decryptor, having a ciphertext input connected to the third output of said shift-register, having a key input for receiving the session key, and having a plaintext output at which the sender's plaintext message appears.