
Basic Understanding of the Information security and It's components
Explore the three basic security goals—confidentiality, integrity, and availability—and how breaches threaten privacy, data integrity, and system accessibility.
Learn the availability security goal by ensuring legitimate users can access information or systems when needed, especially during emergencies or deadlines, with 24/7 access to essential portals.
Explore attacks that threaten confidentiality, integrity, and availability, covering snooping, traffic analysis, message modification, masquerading, replay, repudiation, and denial of service.
Identify four integrity attacks: modify a message, masquerade as another sender, replay a prior transmission, and repudiation by a legitimate user, compromising trust.
Explore denial of service attacks that target availability, including distributed denial of service, which overwhelm systems with anomalous requests to slow or interrupt service for legitimate users.
Explore the five security services: data confidentiality, data integrity, authentication, non-repudiation, and access control, and how mechanisms like encipherment, hashing, and digital signatures defend against attacks.
Explore how digital signature ensures confidentiality and integrity, while traffic padding and tor onion routing protect anonymity; authentication, authorization, and non-repudiation secure access.
Explore symmetric cipher structure, contrasting traditional ciphers (modular arithmetic, substitutions) with modern ciphers (algebraic structures, modes), and review attacks (brute force, differential cryptanalysis) and algorithms like DES, IDEA, and Blowfish.
Explore modular arithmetic basics, including the modulo operator, remainders, residue classes z_n, and congruence, with practical examples like clock arithmetic and simple addition and multiplication tables.
Apply modular arithmetic in zn by performing plus, minus, and multiplication, then reduce with modulo to obtain results in zn, enabling efficient cryptographic computations.
Explore additive and multiplicative inverses under mod ten arithmetic with examples and use the extended Euclidean algorithm to find inverses.
Learn additive cipher basics, including additive inverse and modular 26 decryption, and explore multiplicative cipher with multiplicative inverse for encryption and decryption in Python.
Explore the affine cipher in Python by combining multiplicative and additive steps with two keys, and encrypt/decrypt using mod 26 inverses.
Explore the one time pad cipher, a perfect secrecy algorithm that encrypts each symbol with a randomly chosen key from a large domain, yielding unbreakable communication when randomness is perfect.
Learn to implement a Caesar additive cipher in Python using lambda and map, converting characters to ASCII via ordinal values and applying mod 26 for encryption and decryption.
Encrypt text with a multiplicative cipher in Python by applying a key and its inverse modulo 26, using lambda and map for transformations.
Explore the Vigenere cipher as a Caesar-like additive cipher that repeats the key to encrypt text using a mapping table and cycle iterator. See encryption and decryption with lambda shifts.
Explore the autokey cipher, a dynamic substitution cipher where each plaintext character shifts by the previous plaintext, with encryption and decryption functions demonstrated using ordinal, ASCII, and Caesar-style shifts.
Explore keyless transposition with a rail fence cipher in python, using numpy to reshape plaintext into a matrix and read row-wise to obtain encryption and decryption via a key sequence.
Learn how modern block ciphers use n-bit blocks and k-bit keys, pad messages, and favor substitution over transposition, with a teaser on s-box and p-box.
Explore the P box, a permutation box that transposes bits in modern symmetric ciphers. Learn about straight, compression, and expansion types, noting that only straight boxes are invertible.
Explore s-boxes as substitution boxes, including invertible examples with row and column indexing, and exclusive or operations in a Galois Field with closure, associativity, commutativity, identity, and inverse.
Explore modern symmetric ciphers: feistel and non-feistel structures, using s-boxes, xor, and round keys to enable encryption and decryption, with examples like des and advanced encryption standard.
Understand sd es, a simplified des variant with 8-bit plaintext and 10-bit key, two rounds, key generation via p10/p8, the round function with expansion, s-boxes, and initial permutation.
Learn to implement simplified des in python, including key generation with p10 and p8, expansion, xor, s-boxes s0 and s1, and ip and inverse ip permutations.
Explore the DES data encryption standard as a modern block cipher with 64-bit blocks and 48-bit round keys across 16 rounds, driven by S-boxes and P-box permutations.
Learn modern block cipher modes, including electronic codebook, cipher block chaining, cipher feedback, output feedback, and counter mode. Understand how padding resolves partial blocks when messages exceed 64 bits.
Explore CBC mode, where an initialization vector is XORed with each plaintext block to form chained ciphertext, and decryption uses the previous ciphertext.
Learn cipher feedback mode (CFB), output feedback mode (OFB), and counter mode (CTR) as stream ciphers that XOR IV-derived bits with plaintext, using shift registers or counters.
Explore algebraic structures in information security, focusing on groups, rings, and fields (including Galois fields), with examples like integers and permutation groups, and key properties: closure, associativity, identity, and inverses.
Explore algebraic structures by examining rings and fields, including closure, associativity, identity and inverse properties, and finite Galois fields GF(p^n) with practical examples.
Explore AES, the encryption standard, a non feistel cipher on 128-bit blocks with a four-by-four state, using substitutions, shifts, mix columns, add round key, and ten, twelve, fourteen rounds.
Explore aes round functions: sub byte substitution using a hex byte table or gf(2^8) arithmetic, followed by shift rows permutation, mix columns via matrix multiplication, and add round key.
Learn des3 in pycrypto by using 8-byte blocks and experimenting with 64-, 128-, and 192-bit keys, encrypting and decrypting a user input string.
Learn to implement an advanced aes encryption of an image file in python using pycrypto, including padding, random key and iv, base64 encoding, and encrypting and decrypting a test png.
Explore a Python project that encrypts and decrypts files in a folder using an aes-like cipher, handling key, initialization vector, padding, and folder iteration.
learn how to decrypt ransomware by loading an existing key and iv from a key file, then apply a decryption function to restore the original files.
Learn hashing with pycrypto, generating sha-256 and md5 digests from binary data, viewing digest and hex digest, and updating with new data.
Explore DES padding and unpadding in Python by implementing secure encryption with a 64-bit block size in ECB mode, generating keys, and using padding utilities.
Learn aes-cbc mode by generating a 16-byte key and iv, padding plaintext, encrypting to ciphertext, and using base64 and json dumps to transmit and decrypt securely.
Master AES counter mode by encrypting and decrypting data with a 16-byte key and a counter; handle Base64 encoding/decoding and ciphertext to reveal plaintext.
Learn how to use EAX mode for authenticated encryption in Python to produce ciphertext and a tag, then verify integrity without decrypting and detect tampering.
Explore asymmetric ciphers with public and private keys for encryption and decryption, and their use in digital signatures and SSL, including RSA, ElGamal, and elliptic curve schemes.
Explore prime numbers and Euler's totient function and their roles in asymmetric encryption, including primality testing, sieve of Eratosthenes, modular arithmetic, and phi formulas for prime powers and composites.
Explore how big prime numbers enable asymmetric encryption and examine Mersenne and Fermat primes, their limitations, and the role of primality tests in finding primes.
Learn how the Miller-Rabin primality test, a probabilistic algorithm, uses n-1 = m times 2^k and repeated squaring to distinguish primes from composites, with base checks and a Python implementation.
Compare symmetric and asymmetric encryption, using public and private keys for confidentiality and authentication, and explore trapdoor one-way functions and key generation.
Explore rsa public key cryptography: generate keys from two primes, compute n and phi(n), derive e and d, and perform encryption and decryption with modular exponentiation.
Select larger p and q, compute n and phi(n), choose e and derive d to form public and private RSA keys; RSA encrypts a hash or signature, not the message.
Examine Rabin cryptosystem as a public-key scheme with non-deterministic decryption yielding four possible plaintexts. Explore ElGamal key generation and encryption producing two ciphertexts, with decryption via modular operations.
Learn to generate a 2048-bit RSA key pair with PyCrypto, export and import the keys, encrypt a message with the public key, and decrypt it with the private key.
Generate an RSA key pair with the crypto dorm library, export and save private and public keys to files, and encrypt the private key with a passphrase-based symmetric cipher (AES-128-CBC).
Explore how to generate, export, and protect RSA public and private keys with a standard passphrase, including encrypting private keys using a symmetric cipher and CBC mode.
Explore RSA message authentication using public and private keys, showing how private-key encryption validates message origin while public-key decryption reveals confidentiality limits, and examine timing attack risks.
This lecture demonstrates fast encryption using RSA and AES by encrypting a session key with the public key and the message with that session key, decryptable with the private key.
Explore how message integrity, authentication, and non-repudiation safeguard communications, using encryption, hash functions, and HMAC to prevent masquerade, content and timing modifications in apps like e-commerce and banking.
Explain how a hash function produces a fixed-size digest from a variable-length message to ensure integrity and authentication, and discuss preimage, second-preimage, and collision resistance.
Information technology is important field of computer science.
Knowing basics of Information Security is essential. In this course student will be able to
1. Apply traditional encryption algorithm.
2. Design his own malwares.
3. Implement SDES and RSA like Algorithms.
4. Illustrate of the Digital Signature
5. Many more
Algorithm explained in Python are
1. ceaser cipher, 2. mono alphabetic cipher 3. Polyalphabetic cipher
4. Hill cipher 5. Playfair cipher 6. Transposition cipher
7. RSA 8. SDES