Module 4: Cryptography
Introduction to Information Security
Samer Aoudi
Learning Outcomes
Intro to Cryptography
Cryptography is the practice of securing communications and information by transforming plaintext into unreadable ciphertext. It is a fundamental aspect of modern security, and is used in a wide range of applications, from securing electronic transactions and protecting sensitive data, to authenticating users and maintaining the integrity of communications. This module will provide an introduction to the key concepts and principles of cryptography, including the types of encryption algorithms, the use of digital certificates, and the implementation of secure protocols. We will also discuss the different types of cryptographic attacks and the countermeasures that can be implemented to protect against them. Whether you are a security professional, a network administrator, or an IT manager, understanding the basics of cryptography is essential for ensuring the security of your organization's information systems and networks.
Cryptography plays a vital role in modern security, as it provides the means to protect sensitive information and communications from unauthorized access and tampering. With the increasing amount of data being transmitted and stored electronically, the need for secure methods of protecting this information has become increasingly important. Cryptography provides the necessary tools to ensure the confidentiality, integrity and authenticity of data, which are essential in protecting sensitive information such as financial transactions, personal identification data, and confidential business information. It is also used to secure communications, such as email, instant messaging and voice over IP, to protect against eavesdropping and tampering. Additionally, it provides secure key exchange and digital signatures, which are essential for secure online transactions and authentication. With the increasing reliance on technology and the growth of the internet, cryptography has become an essential component of modern security, and its use will continue to expand in the future.
Cryptography, Encryption, and Cryptology
Cryptography and cryptology are related but different fields.
Cryptography is the practice of securing communications and information by transforming plaintext into unreadable ciphertext. It is mainly concerned with the methods and techniques used to secure communications and information, such as encryption, digital signatures, and secure key exchange. It is an applied science that deals with the practical aspects of securing information.
Encryption is a method of cryptography that is used to protect the confidentiality, integrity, and authenticity of data. It is the process of converting plaintext (i.e., readable data) into ciphertext (i.e., unreadable data) using a secret key. The ciphertext can only be converted back into plaintext by someone who possesses the correct key. Encryption is used to secure data as it travels over a network, to protect data stored on a device or in a cloud, and to secure communications.
Cryptology, on the other hand, is a broader field that encompasses both cryptography and cryptanalysis. Cryptanalysis is the study of techniques for obtaining the meaning of encrypted information without access to the secret key. It is mainly concerned with breaking encryption and finding weaknesses in cryptographic systems. Cryptology is the mathematical science that includes the study of both cryptography and cryptanalysis.
Overview of key concepts and principles
In this section, we will examine the different methods of achieving confidentiality, integrity, and authentication, as well as the importance of key management and the use of secure protocols. Additionally, we will discuss the different types of cryptographic attacks and the countermeasures that can be implemented to protect against them. By understanding these fundamental concepts and principles, you will be better equipped to design and implement secure systems and networks.
Figure 4.1: Cryptography Key Concepts
Confidentiality
Confidentiality is one of the most important aspects of cryptography and refers to the protection of sensitive information from unauthorized access. Encryption is the primary means of achieving confidentiality, as it converts plaintext into unreadable ciphertext using a secret key. Only those who possess the correct key are able to decrypt and read the original plaintext.
There are two main types of encryption: symmetric encryption and asymmetric encryption. Symmetric encryption uses the same key for both encryption and decryption and is fast and efficient, but key management can be complex. Asymmetric encryption, also known as public-key encryption, uses a pair of keys: a public key that is used to encrypt the data, and a private key that is used to decrypt the data. It allows for secure key exchange and digital signatures, but it is less efficient than symmetric encryption.
It's worth noting that there are different encryption standards, such as AES and RSA that are widely used and considered secure, but some of them are considered less secure than others and might not be suitable for certain types of data.
In addition to encryption, other methods such as access controls and data masking can be used to ensure the confidentiality of data. Access controls limit the ability of unauthorized users to access sensitive information, while data masking obscures sensitive information, making it unreadable to unauthorized users.
Integrity
Integrity is another important aspect of cryptography and refers to the assurance that data has not been altered in an unauthorized manner. This is essential in ensuring the authenticity of data and maintaining its trustworthiness. Cryptographic methods such as message authentication codes (MACs) and digital signatures are used to ensure the integrity of data.
A MAC is a short piece of text that is derived from a message and a secret key using a cryptographic algorithm. It can be thought of as a digital fingerprint of the message. When the message is received, the recipient can use the same key and algorithm to generate a new MAC and compare it to the one received. If they match, the integrity of the message is confirmed.
Digital signatures work on the same principle, but they are used to ensure the integrity of a message and the authenticity of its sender. A digital signature is a unique code that is generated using the sender's private key and a hash of the message. It can be verified by anyone who has the sender's public key. When the message is received, the recipient can use the sender's public key and the same hash function to generate a new digital signature and compare it to the one received. If they match, the integrity of the message is confirmed and the authenticity of the sender is verified.
It's also worth noting that integrity is not only limited to the contents of the message, but also the authenticity of the sender, the time of the sending and the location of the message.
Authentication
Authentication is the process of verifying the identity of a user or device. Cryptography provides methods for secure authentication, such as digital certificates and public key encryption.
Digital certificates are electronic documents that bind a public key to an identity, such as a person or organization. They are issued by a certificate authority (CA) and can be used to verify the identity of a user or device. When a user or device presents a digital certificate, the recipient can check it against the CA's public key to verify its authenticity.
Public key encryption is another method of secure authentication. In this method, a user or device has a pair of keys: a public key and a private key. The public key can be shared with others, while the private key is kept secret. When a user or device wants to authenticate, it encrypts a message using its private key. Only the holder of the corresponding public key can decrypt the message, thus proving the authenticity of the sender.
It's also worth noting that there are different types of authentication methods such as multi-factor authentication (MFA) which adds an extra layer of security by requiring multiple forms of authentication.
Non-Repudiation
Non-repudiation is the ability to prove that a particular action was performed by a specific individual or device. It is an important aspect of cryptography that helps to prevent denial of service, and digital signatures and timestamps provide non-repudiation.
A digital signature is a unique code that is generated using the sender's private key and a hash of the message. It can be verified by anyone who has the sender's public key. When the message is received, the recipient can use the sender's public key and the same hash function to generate a new digital signature and compare it to the one received. If they match, it confirms the authenticity of the sender and the integrity of the message.
Timestamps are used in conjunction with digital signatures to provide non-repudiation. A timestamp is a record of the date and time that a message or action was performed. When a message is received with a digital signature, the timestamp can be used to prove that the message was sent at a specific time, and that the sender could not have repudiated the message at a later time.
It's also worth noting that non-repudiation is a legal concept that can be used in court as evidence, thus it's important to have a trusted third party that can provide a certificate of authenticity.
Key Management
Key management is a critical aspect of cryptography and refers to the process of generating, distributing, and managing cryptographic keys. Proper key management is necessary to ensure the security of the system, and it can be a complex task, especially in large, distributed networks.
Key generation is the process of creating a new key. This can be done randomly, or by using a key derivation function, which generates a new key from a password or passphrase. It is important to use a secure method of key generation to ensure that the keys are truly random and not predictable.
Key distribution is the process of securely transmitting the keys to the parties who need them. This can be done using a variety of methods, such as using a public key infrastructure (PKI) or a key distribution center (KDC). It is important to use a secure method of key distribution to ensure that the keys cannot be intercepted or compromised during transmission.
Key management can also include key rotation, which is the process of periodically changing the keys to increase security. This is especially important in cases where a key has been compromised, or when a key has been in use for a long period of time.
Secure Protocols
Secure protocols are the standard methods of providing secure communication over networks. They are built on top of the underlying network protocols and provide additional security features such as encryption and authentication. Some examples of secure protocols include:
These protocols provide a secure communication channel, they protect the confidentiality, integrity, and authenticity of the data being transmitted and the parties involved, they are widely used and have been proven to be secure, but it's important to keep them updated to protect against new vulnerabilities.
Cryptographic Attacks & Countermeasures
Attackers try to attack or bypass cryptographic controls and measures. Here are some common attacks and general countermeasures:
Cryptographic Attacks
Cryptographic attacks are methods used to exploit vulnerabilities in cryptographic systems and compromise the security of the system. There are many different types of cryptographic attacks, and some of the most common include:
It's important to be aware of these and other types of cryptographic attacks and to take the necessary countermeasures to protect against them. This can include using strong encryption algorithms, implementing secure key management, and educating users about how to recognize and avoid social engineering attacks.
It's also worth noting that new types of attacks are constantly being developed and that keeping up to date with the latest threats and vulnerabilities is essential to maintaining the security of the system.
Countermeasures
Countermeasures are methods used to protect against cryptographic attacks and to maintain the security of the system. Some examples of countermeasures include:
It's important to have a robust countermeasure strategy in place, that can adapt to the changing needs of the organization and the threat landscape. In order to ensure the security of the system, it is essential to implement a combination of countermeasures, as no single countermeasure can provide complete protection against all types of attacks.
Cryptography is a critical aspect of information security and plays a vital role in protecting an organization's information systems and assets. We introduced key concepts and principles that are essential in understanding how cryptography works and how it can be used to protect against cyber threats.
References
Types of Cryptography
Introduction
This section will provide an overview of the different types of cryptographic techniques that are commonly used to secure data and communication. These techniques include symmetric-key cryptography, asymmetric-key cryptography, and hashing. Each type of cryptography has its own unique characteristics and is used in different scenarios to provide security. This section will provide a detailed explanation of each type of cryptography and how it is used to secure data and communication. It will also explore the strengths and weaknesses of each type, and discuss when and how they should be used to provide the most effective security. Understanding the different types of cryptography is essential for selecting the appropriate cryptographic method to use in a given situation and for ensuring the security of information systems and assets.
Symmetric encryption
Symmetric encryption is a type of cryptography that uses a single secret key for both encryption and decryption. This means that the same key is used to encrypt the plaintext and decrypt the ciphertext. It is also known as secret key cryptography.
Symmetric encryption algorithms are typically faster and more efficient than asymmetric encryption algorithms, as they only require one key for both encryption and decryption. However, symmetric encryption has a major drawback, which is the distribution and management of the shared secret key. If the key is intercepted or compromised, the security of the system is compromised. To prevent this, the key must be securely exchanged between the parties before any communication takes place [3].
There are many symmetric encryption algorithms that are widely used, such as AES (Advanced Encryption Standard), DES (Data Encryption Standard), and Blowfish. Each algorithm has its own characteristics, such as key size, block size, and security level, and they can be used in different scenarios.
Classical Ciphers
Classical ciphers are a type of symmetric encryption algorithm that were widely used before the advent of modern computers. Some examples of classical ciphers include:
H | L | O | H | R | |||||
E | L | T | E | E |
N | D | L | O | ||||||||||
O | O | Y | I | L | N | W | |||||||
B | W | K |
In encryption, substitution and transposition are two different techniques used to scramble plaintext into ciphertext.
Substitution involves replacing plaintext letters, words or groups of letters with other letters, words or groups of letters. One of the most famous substitution ciphers is the Caesar Cipher, in which each letter of the plaintext is replaced with a letter a fixed number of positions down the alphabet.
Transposition ciphers, on the other hand, rearrange the position of the letters in the plaintext without changing the actual letters themselves. One of the most famous transposition ciphers is the rail fence cipher, which arranges the plaintext in a zig-zag pattern along a virtual "rail fence" before encoding. The message is then read off in rows, typically from left to right and top to bottom, to produce the ciphertext.
Figure 4.2: Enigma Machine
These ciphers have been widely studied, and many of them have been proven to be easily breakable with the help of modern computers. They are now considered obsolete, and modern symmetric ciphers such as AES, Blowfish, and Twofish are used in their place.
Asymmetric encryption
Asymmetric encryption, also known as public-key cryptography, is a type of cryptography that uses a pair of keys, one for encryption and one for decryption. The encryption key, also known as the public key, is used to encrypt the plaintext and can be freely shared with others. The decryption key, also known as the private key, is used to decrypt the ciphertext and must be kept secret.
One of the key benefits of asymmetric encryption is that it allows for secure communication without the need for a pre-shared secret key. Instead, each party has a pair of keys, a public key and a private key. The public key can be freely shared with others, while the private key must be kept secret. Anyone can use the public key to encrypt a message, but only the person with the corresponding private key can decrypt it [3].
The most important property of Asymmetric encryption is that it allows for secure communication without the need to securely exchange a secret key beforehand. The public key can be freely shared, while the private key is kept secret, this enables secure communication between two parties without the need to securely exchange a secret key.
There are many asymmetric encryption algorithms that are widely used, such as RSA, Elliptic Curve Cryptography (ECC), and Diffie-Hellman. Each algorithm has its own characteristics, such as key size, security level, and efficiency.
Hash functions
Hash functions are a type of cryptographic function that take an input of any size, known as the message or plaintext, and produce a fixed-size output, known as the hash or digest. Hash functions are also called one-way functions, as it is computationally infeasible to reconstruct the original message from its hash.
The output of a hash function is a fixed-size string of characters, often represented in hexadecimal or base64 format. It is unique for each input and has the property of being collision-free, meaning that it is highly unlikely for two different inputs to produce the same output.
Figure 4.3: Hashing
Hash functions are widely used in various cryptographic applications such as digital signatures, message authentication, and data integrity. For example, in digital signatures, a hash of the message is signed using an asymmetric encryption algorithm, such as RSA, and then sent along with the message to the recipient. The recipient can then use the sender's public key to verify the signature and confirm that the message has not been tampered with. [4]
Hash functions are also used in password storage, where instead of storing the actual password, the hash of the password is stored, and when the user enters their password, the hash of the entered password is compared to the stored hash. This way, even if an attacker gains access to the stored hash, they would not be able to determine the actual password.
There are many hash functions that are widely used, such as SHA-256, SHA-3, and MD5. Each algorithm has its own characteristics, such as output size, security level, and efficiency.
Attacks on Hash Functions
In cryptography, collision attacks and preimage attacks are two types of attacks that can be used to compromise the security of a cryptographic hash function.
A collision attack is an attempt to find two different inputs that produce the same hash output. For example, if an attacker could find two different messages that produce the same hash value, they could potentially use one of the messages to impersonate the sender of the other message. Collision attacks are considered to be less serious than preimage attacks because they do not reveal the original input that produced a given hash.
A preimage attack is an attempt to find an input that produces a specific hash output. For example, if an attacker could determine the input that produced a given hash value, they could potentially determine the original message or password that was hashed. Preimage attacks are considered to be more serious than collision attacks because they reveal the original input that produced a given hash.
Both types of attacks can be mitigated by using a secure and well-vetted cryptographic hash function, such as SHA-256, SHA-3 or BLAKE2, and by using a unique salt value for each hash operation.
Cryptographic techniques include symmetric-key cryptography, asymmetric-key cryptography, and hashing. In symmetric encryption we use a single secret key for both encryption and decryption. Asymmetric encryption, on the other hand, uses a pair of keys, one for encryption and one for decryption. Symmetric encryption is typically faster and more efficient than asymmetric encryption. Asymmetric encryption allows for secure communication without the need to exchange a secret key beforehand.
References
Encryption Algorithms
Encryption algorithms are mathematical procedures that are used to convert plaintext data into an unreadable format, known as ciphertext. These algorithms are designed to ensure that only authorized parties are able to read the original data, known as the plaintext. Encryption algorithms are used in a variety of applications, including secure communications, data storage, and software protection. There are several different types of encryption algorithms, each with its own strengths and weaknesses, and each suited to different use cases. In this section, we will provide an overview of some of the most widely used encryption algorithms, including their main techniques, advantages, and disadvantages. This will help you understand the different options available and choose the best algorithm for your specific needs.
Overview of popular Encryption algorithms
DES
DES is a symmetric-key encryption algorithm that was developed by IBM in the 1970s and adopted as a standard by the US government in 1977. It uses a 56-bit key to encrypt and decrypt data, and it uses a technique called the Feistel cipher to encrypt data in 64-bit blocks. DES has been widely adopted in the financial industry and other applications that require secure data transmission. However, due to its small key size, it is now considered to be insecure and has been largely replaced by more secure algorithms such as AES.
DES (Data Encryption Standard) is a symmetric-key encryption algorithm that was developed in the 1970s and was widely used for financial transactions. It uses a 56-bit key and operates on 64-bit blocks of data. However, due to the advancement of technology, DES is now considered to be insecure and has been largely replaced by AES (Advanced Encryption Standard).
AES
AES is a symmetric-key encryption algorithm that was developed to replace DES. It uses a 128-bit, 192-bit, or 256-bit key and operates on 128-bit blocks of data. It is considered to be highly secure and is widely used for encryption of sensitive data, including financial transactions and government communications.
AES is a symmetric-key encryption algorithm that was developed by the US National Institute of Standards and Technology (NIST) in 2001. It uses a key size of 128, 192, or 256 bits, and it uses a technique called a block cipher to encrypt data in 128-bit blocks. AES has been widely adopted in many applications that require secure data encryption, such as wireless networks, VPNs, and disk encryption. AES is considered to be a highly secure algorithm, and it is included in many security standards such as the US government's FIPS-197 standard.
Blowfish
Blowfish is a symmetric-key block cipher that is commonly used for data encryption. It was designed by Bruce Schneier in 1993 as a replacement for the Data Encryption Standard (DES) algorithm.
The encryption process of Blowfish involves dividing the plaintext into 64-bit blocks, and then applying a series of operations, such as substitution and permutation, to each block based on the key. The algorithm uses a large number of rounds, which makes it more resistant to cryptanalysis than other symmetric ciphers of the same era.
Blowfish has been widely used in a variety of applications, such as disk encryption, file transfer, and VPNs. It is considered to be a secure algorithm, it has been widely studied and no significant weaknesses have been found in it, and it is still in use today.
Furthermore, Blowfish has a small code size and can be implemented on devices with limited resources. It is also open source and free to use, which makes it a popular choice for many developers.
Algorithm | Use | Technique | Strengths | Weaknesses |
---|---|---|---|---|
DES | Financial Transactions (Obsolete) | Feistel network | Fast Encryption/Decryption | Insecure due to small key size (56-bits) |
AES | Sensitive Data Encryption | Substitution-permutation network (SPN) | Widely adopted, Secure, High-speed encryption/decryption | Key management can be difficult |
Blowfish | Disk Encryption | Feistel network | Widely adopted, Secure, High-speed encryption/decryption | Key management can be difficult |
Table 4.1: Symmetric Algorithms
RSA
RSA (Rivest-Shamir-Adleman) is a widely used asymmetric encryption algorithm that was first described by Ron Rivest, Adi Shamir, and Leonard Adleman in 1977. It is based on the mathematical properties of large prime numbers and can be used for both encryption and digital signatures. The encryption process in RSA starts by generating a pair of keys, a public key and a private key.
The public key is used for encryption and can be freely shared with others, while the private key is used for decryption and must be kept secret. The security of RSA is based on the difficulty of factoring large composite numbers, which are the product of two prime numbers. To generate the keys, two large prime numbers are chosen and multiplied together. The resulting composite number is used as the modulus for the encryption and decryption process. The encryption key, which is the public key, is made up of the modulus and a public exponent, and the decryption key, which is the private key, is made up of the modulus and a private exponent. When data is encrypted using RSA, it is first converted into a large integer, and then it is raised to the power of the public exponent and then it is taken modulo the modulus. To decrypt the data, the same process is applied but using the private exponent.
RSA is considered to be a very secure encryption algorithm, but it can be slow for encrypting large amounts of data. To address this issue, RSA is often used in conjunction with a symmetric encryption algorithm, such as AES, to encrypt large amounts of data. RSA is widely used in a wide variety of applications, including digital signatures, software protection and secure communications. However, RSA encryption and decryption can be relatively slow and the key size required for a given level of security is relatively large. Additionally, key management and distribution can be complex.
ECC
Elliptic Curve Cryptography (ECC) is an asymmetric encryption algorithm that is based on the properties of elliptic curves. It uses a pair of keys, a public key and a private key, to encrypt and decrypt data. The encryption process in ECC starts by selecting a point on an elliptic curve, and the encryption key, which is the public key, is the coordinates of that point. The decryption key, which is the private key, is a scalar value that is related to the point. When data is encrypted using ECC, it is first converted into a point on the elliptic curve, and then it is multiplied by the private key. To decrypt the data, the same process is applied but using the public key. Since the private key is kept secret, only the person who possesses the private key can decrypt the data.
ECC is considered to be more efficient than RSA, as it can provide the same level of security with a smaller key size. This makes it a popular choice for use in mobile devices and other devices with limited resources. It is also commonly used in wireless communications and other applications that require a large number of secure connections. ECC is also used for key exchange, a technique used to securely establish a shared secret key between two parties that can then be used for symmetric-key encryption. This is known as an Elliptic Curve Diffie-Hellman (ECDH) key exchange..
ECC is widely adopted and standardized, for example, it is used in various cryptographic protocols such as Transport Layer Security (TLS), Secure/Multipurpose Internet Mail Extensions (S/MIME), and Secure/Multipurpose Internet Mail Extensions (S/MIME) and Elliptic Curve Digital Signature Algorithm (ECDSA) is widely used for digital signatures. It is becoming increasingly popular as it is more efficient and provides the same level of security as RSA while using a smaller key size, making it more suitable for resource-constrained devices such as IoT devices.
Algorithm | Use | Technique | Strengths | Weaknesses |
---|---|---|---|---|
RSA | Secure Data Transmission | Large prime factorization | High security, Widely adopted, Suitable for digital signatures and software protection | Slow encryption/decryption, key management and distribution can be complex |
ECC | Secure Data Transmission and Key Exchange | Elliptic curve mathematics | High security, Smaller key size, Suitable for resource-constrained devices | Key management and distribution can be complex, Slower than RSA for the same security level |
Table 4.2: Asymmetric Algorithms
Selection and implementation guidelines
Symmetric Algorithms
When selecting a symmetric encryption algorithm, there are several factors to consider, including security, performance, and implementation complexity.
Data Encryption Standard (DES) is an older algorithm that has been largely replaced by more secure options such as Advanced Encryption Standard (AES) and Blowfish. AES is a widely used encryption standard that offers a good balance of security and performance, and is recommended for most applications. Blowfish is a fast and secure algorithm that is well-suited for use in hardware implementations.
When implementing symmetric encryption, it is important to use a secure mode of operation, such as AES-CBC or Blowfish-CBC. It is also important to use a unique initialization vector (IV) for each encryption operation and to protect the key with a secure key management system.
In summary, AES is recommended for most applications, Blowfish is well-suited for hardware implementation and DES should be avoided due to its age and less security compared to AES and Blowfish.
Asymmetric Algorithms
When selecting a cryptographic algorithm for digital signatures, two common options are RSA (Rivest-Shamir-Adleman) and Elliptic Curve Cryptography (ECC).
RSA is a widely used digital signature algorithm that is based on the mathematical properties of large prime numbers. It is relatively slow compared to ECC, but its security is well-established. RSA is recommended for applications that require long-term security, such as digital certificates and document signing.
ECC is a newer digital signature algorithm that is based on the mathematics of elliptic curves. It offers the same level of security as RSA with much shorter key sizes, making it faster and more efficient. ECC is recommended for applications that require both security and performance, such as secure communications and mobile devices.
When implementing digital signatures, it is important to use a secure implementation of the algorithm and to properly handle key generation, storage, and exchange. It is also important to use a secure mode of operation and to protect the private key with a secure key management system.
In summary, RSA is recommended for long-term security applications and ECC is recommended for applications that require both security and performance.
Hash Algorithms
Hashing functions are a fundamental part of many cryptographic systems and are used for tasks such as message integrity checking, password storage, and data indexing. When selecting a hashing function, there are several factors to consider, including security, performance, and implementation complexity.
When implementing a hashing function, it is important to use a secure and well-vetted algorithm such as SHA-256, SHA-3 or BLAKE2. It is also important to use a unique salt value for each hashing operation and to protect the salt value with appropriate access controls.
Common hash functions include:
Function | Strengths | Weaknesses |
---|---|---|
MD5 | Fast and widely used | Considered insecure. Collision attacks have been found, not recommended for new applications |
SHA-3 | more secure than its predecessor, SHA-2 | None known |
SHA-256 | Widely used and considered secure | None known |
BLAKE2 | Faster than SHA-256 and produces a smaller output than SHA-256 | None known |
Whirlpool | Highly secure | None known |
bcrypt | Slow and difficult to crack | None known |
Table 4.3: Hash Algorithms
Key Management
Key management is an essential aspect of any cryptographic system and is critical to maintaining the security of the system. Key management includes all of the processes and procedures involved in generating, storing, and distributing cryptographic keys.
Some of the key management best practices that should be followed include:
Encryption algorithms are a fundamental part of modern cryptography and play a critical role in protecting sensitive information. There are a wide variety of encryption algorithms available, each with its own unique strengths and weaknesses. When selecting an encryption algorithm, it is important to consider factors such as security, performance, and implementation complexity.
Research Assignment
The Evolution of Cryptography: From Ancient Methods to Modern Techniques
Objectives
Research Questions:
Research Method
Sources
Assessment Criteria
Understanding the evolution of cryptography and its current state can provide insight into how we can improve and secure our information systems and communications. Additionally, analyzing the future developments in cryptography can help anticipate potential security risks and develop strategies to mitigate them.
Ads By Google
Module Summary
Module Revision Questions
Module Glossary
Term | Definition |
---|---|
Plaintext | The original message |
Ciphertext | The coded message |
Encryption | Process of converting from plaintext to ciphertext |
Decryption | Restoring the plaintext from the ciphertext |
Key | Piece of information (e.g. letters, numbers, characters) used in encryption process to encrypt and in the decryption process to decrypt |
Cryptography | The practice of securing communications and information by encrypting them |
Cryptology | A broader field that encompasses both cryptography and cryptanalysis |
Cryptanalysis | The study of techniques for obtaining the meaning of encrypted information without access to the secret key |
Confidentiality | The protection of sensitive information from unauthorized access |
Integrity | The assurance that data has not been altered in an unauthorized manner |
Authentication | The process of verifying the identity of a user or device |
Non-Repudiation | The ability to prove that a particular action was performed by a specific individual or device |
SSL/TLS | Secure Socket Layer/Transport Layer Security |
SFTP | Secure File Transfer Protocol |
VPN | Virtual Private Network |
Symmetric Encryption | A type of cryptography that uses a single secret key for both encryption and decryption |
Asymmetric Encryption | A type of cryptography that uses a pair of keys, one for encryption and one for decryption |
Substitution | The process of replacing plaintext letters, words or groups of letters with other letters, words or groups of letters |
Transposition | The process of rearranging the position of the letters in the plaintext without changing the actual letters themselves |