Cryptography
The science of creating and implementing algorithms that secure data during communication, transactions, is known as cryptography, which embodies mathematics, computer science, and information security.
This competency area includes the understanding of the cryptosystems, cryptanalysis, basic principles of mathematics, symmetric key encryption & asymmetric key encryption.
Key Competencies:
-
Analytical skills - Understanding of mathematical principles, such as linear algebra, number theory, and combinatorics.
-
Steam Ciphers - Understanding of Steam Ciphers, Pseudorandomness, and its use in encryption. Knowledge of attacks on Steam Ciphers, real-world Steam Ciphers & Semantic Security.
-
Block Ciphers - Build powerful forms of encryption using block ciphers. Knowledge of classic block-cipher constructions (AES & 3DES) & how to use them in encryption. Also, knowledge of using them in data integrity.
-
Message Integrity - Understand constructions for MAC systems that are used to ensure data integrity, prevent modification of non-secret data.
-
Key distribution & Management - Understands the key distribution approaches and focuses on the approach based on public-key certificates/authority and public-key infrastructure that can support a large number of parties, e.g., the Internet. Knowledge of RSA, Diffie-Hellman Key Exchange.
-
Public key encryption - Understands public key encryption & its usage in key management of encrypted file systems & encrypted messaging systems. Ability to construct systems secure against tampering.
-
Hash functions - Understands the purpose & application of hash functions, potential attack vectors & the importance of hash functions in cryptographic design.
-
Cryptanalysis - Knowledge of different types of attacks, understands frequency analysis and different use cases, polyalphabetic ciphers, and the Vigenere Cipher.