Experiment 9 - Understanding ElGamal public key cryptosystem

Procedure

Experimental Steps

Step 1: Key Generation Process

  1. Students select/input the values of p, g, and Bob's private key (b).
  2. The system calculates the public key and visualizes data alongside the calculations known by Alice, Bob, and Eve.

Step 2: Message Encryption

  1. Students input the value of the message (m) sent by Alice and Alice's private key (a).
  2. The values of p, g, and Bob's public key are input based on the previous output.
  3. System computations of A, S, and X (cipher) are shown based on the provided input values.

Step 3: Message Sending

  1. The system visualizes the message being sent from Alice to Bob.
  2. All values known by each entity are highlighted to demonstrate/visualize the security process.

Step 4: Message Decryption

  1. The message values are displayed, and students have to select the corresponding values for each option (A, S, X).
  2. The calculation involved in the decryption process is shown until the message is finally decrypted (i.e., X is decrypted to m).
  3. Emphasize that Eve should not be able to calculate anything during this process.

Conclusion

This experiment provides participants with hands-on experience in key generation, message encryption, sending, and decryption within a secure communication framework. The visualization and interaction aspects enhance the understanding of cryptographic principles and the importance of secure communication practices.