SPRING 2020 APT3090 CRYPTOGRAPHY AND NETWORK SECURITY IMPLEMENTATION OF RSA OVER TCP 15 Marks Group Project: Maximum 4 Members per group 15 Marks Purpose: 1) Write a program to implement RSA algorithm with key size 1024 bits. 2) After public key and private key been generated, use Alice/Bob application over TCP to demonstrate encryption and decryption process. Sockets provide the communication mechanism between two computers using TCP. TCP is a two-way communication protocol. Methods: The program consists of two classes one is Alice which present the one who generate the public key pair and send the public key to Bob through TCP socket, then decrypt the ciphertext received from Bob. The other one is Bob who will use the public key to encrypt the message and send the ciphertext to Alice for decryption. . The input p and q should be generated by random numbers program To encrypt a message, M, with the public key, create the ciphertext, C, using the equation: C = Me mod n The receiver then decrypts the ciphertext with the private key using the equation: M = d C mod n In Alice: 1) Generate a BigInteger p which has bit length 512, prime certainty 1-1/2^50. The p is generated using SecureRandom object that has seed provided by Sun. corp. 2) Generate q the way as p. 3) Calculate p * q = n and ( p-1)*(q-1) 4) After public key n and private key d have been generated, if user click “send” the program will create a TCP socket with hostname and port number and send the public key to Bob. 5) Create ServerSocket to wait for client and create a Socket for the connection to receive the ciphertext from Bob. 6) Read ciphertext c from TCP socket and calculate plaintext m using d In Bob: 1) Create ServerSocket to wait for client and create a Socket for the connection to receive the public key from Alice. After the user key in the plaintext and click “send”, calculate the ciphertext using public key n , e and modPow function of BigInteger. Create SPRING 2020 APT3090 CRYPTOGRAPHY AND NETWORK SECURITY LICENSES MANAGER GROUP PROJECT 15 Marks Group Project: Maximum 4 Members per group Phase 1 Licenses Manager is a powerful yet easy-to-use platform which allows organizations to accurately manage software licenses for specific devices and default accounts. License Manager ensures an organization is tracking the usage of software licenses and administrator passwords for various hardware. End users (customers) are able to access software licenses codes for various application software’s, renewal dates contact that person. a) b) c) d) a) b) c) d) e) f) Database normalization Provide a schema showing relationship of tables in 3NF. Identify sensitive, confidential and public information Identify users access levels ( Who should Select,Insert,Delete,Update) Develop a License manager web application Write scripts to insert and retrieve (sensitive, confidential and public information) using AES_ENCRYPT and AES_DECRYPT FUNCTIONS. The password should be hashed using SHA. Create database views multi-factor authentication - authentication method in which credit card vault user is granted access only after successfully presenting two or more pieces of evidence Prepare a final project report.