Brief Report
Encryption methods
1.
Symmetric
vs. Asymmetric Encryption
There are two basic
techniques for encrypting information: symmetric encryption (also called secret
key encryption) and asymmetric encryption (also called public key encryption.)
Symmetric Encryption
Symmetric encryption is the
oldest and best-known technique. A secret key, which can be a number, a word,
or just a string of random letters, is applied to the text of a message to
change the content in a particular way. This might be as simple as shifting
each letter by a number of places in the alphabet. As long as both sender and
recipient know the secret key, they can encrypt and decrypt all messages that
use this key.
Asymmetric Encryption
The problem with secret keys
is exchanging them over the Internet or a large network while preventing them
from falling into the wrong hands. Anyone who knows the secret key can decrypt
the message. One answer is asymmetric encryption, in which there are two
related keys--a key pair. A public key is made freely available to anyone who
might want to send you a message. A second, private key is kept secret, so that
only you know it.
Symmetric vs. Asymmetric
Symmetric
|
Asymmetric
|
Symmetric encryption uses the
identical key to both encrypt and decrypt the data.
|
Asymmetric encryption uses two related keys (public and
private) for data encryption and decryption.
|
Security
risks.
|
Takes away the security risks.
|
Exposed
key.
|
The private key is never exposed.
|
Much faster computationally than asymmetric
algorithms as the encryption process is less complicated.
|
Little complicated than symmetric.
|
Key is transferred with encrypted
data to decrypt data.
|
Public key is exposed and other user
knows the private key.
|
2. RSA
(Rivest-Shamir-Adleman) - Asymmetric
RSA is a cryptosystem for public-key encryption, and is widely used for
security sensitive data, particularly when being sent over an insecure network
such as internet.
It is also known as asymmetric cryptography. It has two keys a public
key and a private key. The public key can be shared with anyone whereas private
key must be kept secret. When encrypting the message,
it is raised to the power of the key, and divided with remainder by a fixed
product of two primes. By repeating the process with the other key, the
plaintext can be retrieved back.
3. AES
(Advanced Encryption Standard) - Symmetric
It is a software and
hardware tool to encrypt and decrypt text using AES encryption algorithm. You can chose 128, 192 or 256-bit
long key size for encryption and decryption.
AES comprises three block
ciphers, AES-128, AES-192 and AES-256. Each cipher encrypts and decrypts data
in blocks of 128 bits using
cryptographic keys of 128, 192 and 256-bits, respectively. Symmetric or
secret-key ciphers use the same key for encrypting and decrypting, so both the
sender and the receiver must know and use the same secret key.
4. RSA vs. AES
RSA is an asymmetric cipher. It is ideal for secure exchange of messages
across an untrusted network, because the public key can be known by everyone -
a message encrypted with the public key can only be decrypted by the private
key. As such, if two parties know each other's public keys, they can exchange
messages securely. This means that no secret information has to be transmitted
- as long as authenticity and integrity are
maintained you're safe. Thankfully, RSA provides a method of generating signatures on data, which help prove that it is
authentic. Given a message signed by a private key, it is possible to verify
that signature using the corresponding public key.
As a rule of
thumb, you can only encrypt data as large as the RSA key length. So, if you've
got a 4096-bit RSA key, you can only encrypt messages up to 4096 bits long. Not
only that, but it's incredibly slow. RSA isn't designed as a full-speed data
transport cipher. RSA is much slower.
AES is a symmetric block cipher, and is incredibly fast.
The plaintext is split into chunks called blocks, and each block is encrypted
in a chain. There are different ways of doing this, but a common one is called
Cipher Block Chaining, or CBC for short. This allows for theoretically infinite
message sizes. However, symmetric ciphers like AES require a secret key to be
exchanged first. Unlike RSA, the shared key must remain unknown to attackers,
so you have to provide authenticity, integrity, and secrecy. That's difficult
to do directly.
References:
No comments:
Post a Comment