This may take the form of application or scholarly text (essay). The aim of the project is to explore a certain topic from the lectured topic and to implement some of the algorithms of the discussed topic or to describe in the form of an essay a problem that could not be given sufficient space in the lessons. The project must meet the conditions mentioned below. Application specification: • solves non-trivial problem • developed in suitable programming language • user-friendly application • the part of the project is also the documentation
The code must be able to run on Google colab and also the should be a page documentation if how it will work. We can use steganoghpahy or diffiehellmankey exchange algorithm
Cryptology Topics • Introduction to cryptology (2./15.) • Information theory, encoding, compression (2./22.) • Substitution ciphers, Playfair, decryption methods (3./1.) • Polyalhpabetic cipehrs, transposition ciphers, superciphers, one-time pad, decryption methods (3./8.) • Symmetric cryptography, stream/block ciphers (3./15.) • Symmetric cryptography, stream/block ciphers (3./22.) • Digital signature, Hash functions (3./29.) • Asymmetric cryptography, key distribution problem (4./5.) • Blockchain, cryptocurrencies (4./12.) • Quantum cryptography (4./19.) • Steganography (4./26.) • Presentations of projects in progress (5./3.) Final project To obtain the grade it is necessary to submit a final project. This may take the form of application or scholarly text (essay). The aim of the project is to explore a certain topic from the lectured topic and to implement some of the algorithms of the discussed topic or to describe in the form of an essay a problem that could not be given sufficient space in the lessons. The project must meet the conditions mentioned below. Application specification: • solves non-trivial problem • developed in suitable programming language • user-friendly application • the part of the project is also the documentation Essay specification: • at least 12 pages own text • own benefit must be apparent • essay structure (sources, sections, …) • must not be copied from available sources Evaluation To get credits student must prepare final project in that he demonstrates deeper knowledge in selected field, student could present it in the form of essay or application (0–30 points, minimum 15 points). The second part of exam is oral examiniation (0–50 points, minimum 25 points). Activity: up to 20 points. Final grade: less than 60 points F, 60 points and more E, 68 points and more D, 75 points and more C, 83 points and more B and 90 points and more A. Google collab Link https://colab.research.google.com/drive/13QyWQIfkhFoYNf9BhQ-j5leThnifywUs?usp=sharing What is the aim of the Diffie Hellman key exchange algorithm? Diffie Hellman key exchange algorithm private key cryptosystem is a type of encryption that allows users to protect their confidential information. With both advanced encryption standards & data encryption standards, users must also get a private key. So, the aim of the Diffie Hellman and key exchange approach is that users can agree on a private key securely. To generate random values in Python, we usually use the library "random", which is a collection of methods related to randomizations. However, due to some restrictions, I will not be able to generate these values outside of the library. To do this, I will base on a simple logic by accessing random IDs of some objects (it can be any kind of object we want). We create two objects using the "objects () and iter ()" functions, and we access their IDs using the "id ()" function. However, since these IDs are usually bigger than the prime number, we need to use the modulo operator to reduce these values. # x and y as random numbers for Anita and Brian respectively x = id (object ()) % p1 + 1 y = id (iter ([])) % p1 + 1 P1 = parameters 1 (Prime number1) P2= parameters 2 (Prime number2) Nk1=new keys Nk2=new keys K1 = old keys K2 = old keys We must generate a private key function. First, the user must generate huge prime numbers p1 and p2 There is a constraint: p2 must be the primitive root of p1 Primitive root: g is the primitive root of p1 if p2 mod p1, p2 mod p1 ... p2 mod n generates all the integers within the range [1, n-1] First, the user generates a random value so random that random integer within the range (1 and N). the random number for Anita where x