What are encryption vulnerabilities?
Breaking symmetric encryption
There are
two methods of breaking symmetric encryption - brute force and cryptanalysis.
Brute Force Attack is a form of attack in which each possibility is tried until success is obtained. Typically, a ciphertext is deciphered under different keys until plaintext is recognized. No encryption software that is entirely safe from the brute force method, but if the number of possible keys is high enough, it can make a program astronomically difficult to crack using brute force. But the more bits in a key, the more secure it is, so choose software with as many bits as possible.
Cryptanalysis is a form of attack that attacks the characteristics of the algorithm to deduce a specific plaintext or the key used.
Weak passwords
In every kind of encryption software, there is some kind of password that must be created so that the recipients of the information can read it. Creating a strong password that cannot be easily guessed is just as important as choosing a good algorithm or strong encryption software.
Remembering passwords
If you forget your password, you will not be able to decrypt data that you have encrypted. Be sure to make a backup copy of your password and store it in a safe place.
Secret keys exchanging and storing
Symmetric key algorithms require sharing the secret key - both the sender and the receiver need the same key to encrypt or decrypt data. Anyone who knows the secret key can decrypt the message. So it is essential that the sender and receiver have a way to exchange secret keys in a secure manner. The weakness of symmetric algorithms is that if the secret key is discovered, all messages can be decrypted. So, secret key need to be changed on a regular basis and kept secures during distribution and while using.
Brute Force Attack is a form of attack in which each possibility is tried until success is obtained. Typically, a ciphertext is deciphered under different keys until plaintext is recognized. No encryption software that is entirely safe from the brute force method, but if the number of possible keys is high enough, it can make a program astronomically difficult to crack using brute force. But the more bits in a key, the more secure it is, so choose software with as many bits as possible.
Cryptanalysis is a form of attack that attacks the characteristics of the algorithm to deduce a specific plaintext or the key used.
Weak passwords
In every kind of encryption software, there is some kind of password that must be created so that the recipients of the information can read it. Creating a strong password that cannot be easily guessed is just as important as choosing a good algorithm or strong encryption software.
Remembering passwords
If you forget your password, you will not be able to decrypt data that you have encrypted. Be sure to make a backup copy of your password and store it in a safe place.
Secret keys exchanging and storing
Symmetric key algorithms require sharing the secret key - both the sender and the receiver need the same key to encrypt or decrypt data. Anyone who knows the secret key can decrypt the message. So it is essential that the sender and receiver have a way to exchange secret keys in a secure manner. The weakness of symmetric algorithms is that if the secret key is discovered, all messages can be decrypted. So, secret key need to be changed on a regular basis and kept secures during distribution and while using.
Asymmetric Encryption (Public Key Encryption)
Asymmetric encryption uses different keys for
encryption and decryption. The decryption key is very hard to derive from the
encryption key. The encryption key is public so that anyone can encrypt a
message. However, the decryption key is private, so that only the receiver is
able to decrypt the message. It is common to set up "key-pairs"
within a network so that each user has a public and private key. The public key
is made available to everyone so that they can send messages, but the private
key is only made available to the person it belongs to.
How Asymmetric Encryption (Public Key Encryption) works:
The sender and the recipient must have the same software. The recipient makes a pair of keys - public key and private key (both keys can be unlocked with a single password). Public key can be used by anyone with the same software to encrypt a message. Public keys can be freely distributed without worrying since it is only used to scramble (encrypt) the data. The sender does not need the recipient's password to use his or her public key to encrypt data. The recipient's other key is a private key that only he or she can use when decrypting the message. Private Key should never be distributed since the private key assures that only the intended recipient can unscramble (decrypt) data intended for him or her.
To understand asymmetric encryption better please read an example:
For example, Jack makes public key A and private key A, and Jill makes public key B and private key B. Jack and Jill exchange their public keys. Once they have exchanged keys, Jack can send an encrypted message to Jill by using Jill's public key B to scramble the message. Jill uses her private key B to unscramble it. If Jill wants to send an encrypted message to Jack, she uses Jack's public key A to scramble her message, which Jack can then unscramble with his private key A. Asymmetric cryptography is typically slower to execute electronically than symmetric cryptography.
Some Asymmetric Algorithms (public key algorithms) such as RSA allow the process to work in the opposite direction as well: a message can be encrypted with a private key and decrypted with the corresponding public key. If the recipient wants to decrypt a message with Bob's public key he/she must know that the message has come from Bob because no one else has sender's private key. Digital signatures work this way.
Some examples of popular asymmetric encryption algorithms:
RSA
DSA
PGP
How Asymmetric Encryption (Public Key Encryption) works:
The sender and the recipient must have the same software. The recipient makes a pair of keys - public key and private key (both keys can be unlocked with a single password). Public key can be used by anyone with the same software to encrypt a message. Public keys can be freely distributed without worrying since it is only used to scramble (encrypt) the data. The sender does not need the recipient's password to use his or her public key to encrypt data. The recipient's other key is a private key that only he or she can use when decrypting the message. Private Key should never be distributed since the private key assures that only the intended recipient can unscramble (decrypt) data intended for him or her.
To understand asymmetric encryption better please read an example:
For example, Jack makes public key A and private key A, and Jill makes public key B and private key B. Jack and Jill exchange their public keys. Once they have exchanged keys, Jack can send an encrypted message to Jill by using Jill's public key B to scramble the message. Jill uses her private key B to unscramble it. If Jill wants to send an encrypted message to Jack, she uses Jack's public key A to scramble her message, which Jack can then unscramble with his private key A. Asymmetric cryptography is typically slower to execute electronically than symmetric cryptography.
Some Asymmetric Algorithms (public key algorithms) such as RSA allow the process to work in the opposite direction as well: a message can be encrypted with a private key and decrypted with the corresponding public key. If the recipient wants to decrypt a message with Bob's public key he/she must know that the message has come from Bob because no one else has sender's private key. Digital signatures work this way.
Some examples of popular asymmetric encryption algorithms:
RSA
DSA
PGP
RSA encryption
RSA is the best known public key algorithm,
named after its inventors: Rivest, Shamir and Adleman. RSA uses public and
private keys that are functions of a pair of large prime numbers. Its security
is based on the difficulty of factoring large integers. The RSA algorithm can
be used for both public key encryption and digital signatures. The keys used
for encryption and decryption in RSA algorithm, are generated using random
data. The key used for encryption is a public key and the key used for
decryption is a private key. Public keys are stored anywhere publicly
accessible. The sender of message encrypts the data using public key, and the
receiver decrypts it using his/her own private key. That way, no one else can
intercept the data except receiver.
DSA
The Digital Signature Algorithm (DSA) is a
United States Federal Government standard or FIPS for digital signatures. It was
proposed by the National Institute of Standards and Technology (NIST) in August
1991 for use in their Digital Signature Standard (DSS).
PGP
PGP
(Pretty Good Privacy) is a public-private key cryptography system which allows
for users to more easily integrate the use of encryption in their daily tasks,
such as electronic mail protection and authentication, and protecting files
stored on a computer. PGP was originally designed by Phil Zimmerman. It uses
IDEA, CAST or Triple DES for actual data encryption and RSA
(with up to 2048-bit key) or DH/DSS (with 1024-bit signature key and 4096-bit
encryption key) for key management and digital signatures. The RSA or DH public
key is used to encrypt the IDEA secret key as part of the message.
Combination of Symmetric Encryption and Asymmetric Encryption
If we want the benefits of both types of
encryption algorithms, the general idea is to create a random symmetric key to
encrypt the data, and then encrypt that key asymmetrically. Once the key is
asymmetrically encrypted, we add it to the encrypted message. The receiver gets
the key, decrypts it with their private key, and uses it to decrypt the
message.
How strong is protection in Encryption and Decryption?
Encryption and Decryption uses AES 256-bit key encryption algorithm. AES provides strong encryption and was selected by NIST as a Federal Information Processing Standard in November 2001 (FIPS-197). Currently, there are no computers that could break the encryption key in a reasonable amount of time (it will take millions of years). A password, or more precisely its hash (SHA 256), is used to protect the encryption key. Neither the password nor its hash is stored anywhere. If the password is not correct, it will be impossible to get the encryption key and consequently to decrypt information
How strong is protection in Encryption and Decryption?
Encryption and Decryption uses AES 256-bit key encryption algorithm. AES provides strong encryption and was selected by NIST as a Federal Information Processing Standard in November 2001 (FIPS-197). Currently, there are no computers that could break the encryption key in a reasonable amount of time (it will take millions of years). A password, or more precisely its hash (SHA 256), is used to protect the encryption key. Neither the password nor its hash is stored anywhere. If the password is not correct, it will be impossible to get the encryption key and consequently to decrypt information