The document outlines 10 programming assignments for a cryptography and network security lab course. The assignments include implementing algorithms for Hamming code, simplified DES encryption/decryption, linear congruential pseudo-random number generation, Rabin-Miller primality testing, Euclid's algorithm to find the GCD of integers, RSA encryption/decryption, Caesar cipher, substitution cipher, Hill cipher, triple DES encryption/decryption using Java cryptography, Diffie-Hellman key exchange using HTML and JavaScript, and SHA-1 hashing of text in Java. The assignments were prepared by a senior lecturer at the National Institute of Technology & Management in Lucknow, India.
The document outlines 10 programming assignments for a cryptography and network security lab course. The assignments include implementing algorithms for Hamming code, simplified DES encryption/decryption, linear congruential pseudo-random number generation, Rabin-Miller primality testing, Euclid's algorithm to find the GCD of integers, RSA encryption/decryption, Caesar cipher, substitution cipher, Hill cipher, triple DES encryption/decryption using Java cryptography, Diffie-Hellman key exchange using HTML and JavaScript, and SHA-1 hashing of text in Java. The assignments were prepared by a senior lecturer at the National Institute of Technology & Management in Lucknow, India.
The document outlines 10 programming assignments for a cryptography and network security lab course. The assignments include implementing algorithms for Hamming code, simplified DES encryption/decryption, linear congruential pseudo-random number generation, Rabin-Miller primality testing, Euclid's algorithm to find the GCD of integers, RSA encryption/decryption, Caesar cipher, substitution cipher, Hill cipher, triple DES encryption/decryption using Java cryptography, Diffie-Hellman key exchange using HTML and JavaScript, and SHA-1 hashing of text in Java. The assignments were prepared by a senior lecturer at the National Institute of Technology & Management in Lucknow, India.
National Institute of Technology & Management, Lucknow
Department of Information Technology
(EIT-751) CRYPTOGRAPHY AND NETWORK SECURITY LAB
1. Write a program for Hamming Code generation for error detection and correction 2. Implement the encryption and decryption of 8-bit data using Simplified DES Algorithm (created by Prof. Edward Schaefer) in C. 3. Implement Linear Congruential Algorithm to generate 5 pseudo-random numbers in C. 4. Implement Rabin-Miller Primality Testing Algorithm in C. 5. Implement the Euclid Algorithm to generate the GCD of an array of 10 integers in C. 6. Implement RSA algorithm for encryption and decryption in C. 7. Write a Java program to perform encryption and decryption using the following algorithms: a) Ceaser Cipher b) Substitution Cipher c) Hill Cipher 8. Write a Java program that contains functions, which accept a key and input text to be encrypted/decrypted. This program should use the key to encrypt/decrypt the input by using the triple DES algorithm. Make use of Java Cryptography package. 9. Implement the Diffie-Hellman Key Exchange mechanism using HTML and JavaScript. Consider the end user as one of the parties (Alice) and the JavaScript application as other party (bob). 10. Calculate the message digest of a text using the SHA-1 algorithm in JAVA.
PREPARED BY: Anurag Tiwari, Senior Lecturer Department of Information Technology BBDNITM, LUCKNOW