- [Instructor] There are many other symmetric algorithms
available to meet the encryption needs of organizations.
Three of the major symmetric algorithms used today
are the Advanced Encryption Standard,
Blowfish,
and Twofish.
The Advanced Encryption Standard, or AES,
came as the result of a competition led
by the National Institute for Standards and Technology.
The purpose of this competition
was to replace the old, outdated Data Encryption Standard
with a more secure alternative.
The competition included five algorithms,
and the winner was an algorithm called Rijndael,
which is now better known as AES.
Like DES,
AES uses a combination of substitution
and transposition functions to achieve strong encryption.
It is widely used today
in many different cryptographic applications,
ranging from web security to encrypted voice communications.
Let's take a look at how AES works.
Here, I'm logged in to a Linux system
that has the AES Crypt package installed.
AES Crypt is an open-source package
available for all modern operating systems.
You can download it from aescrypt.com.
I'm going to show you here, the directory contents.
There's just one file stored in this directory
that I'm in right now, called declaration.txt.
If I take a look at the contents of this file,
you'll see that it actually contains a copy
of the Declaration of Independence.
Now I'm going to use the AES Crypt function.
Let me go ahead and just clear the screen,
so it's easier to read.
And I'm going to type aescrypt to activate that function.
Then I'm going to use the minus e flag to tell it
that I would like to encrypt a file.
I'm going to give it a password.
This is symmetric cryptography,
so the password that I use to encrypt this file
is the same password that will be used
to decrypt the file later on.
And let's choose an appropriate password here,
for the Declaration of Independent.
We'll call it Independent1776.
And then I'm going to give the output file
the name declaration.aes
so that I remember it was encrypted.
And then the file that I would like to encrypt
is just called declaration.txt.
And when I hit Enter,
I'm just returned to the command prompt.
If I now go ahead and look
at the contents of this directory,
you'll see that there are now two files,
my original declaration.txt
and a new file called declaration.aes.
Now, to keep myself honest,
I'm going to go ahead and remove the declaration.txt file
and show you the contents again.
All I have left now is the encrypted file.
If we go ahead and try to take a look
at the contents of that file, what we'll find is,
instead of the actual text
of the Declaration of Independence,
we see what appears to be quite a bit of gobbledygook.
This is actually the encrypted version
of the Declaration of Independence.
Obviously, we can't make heads or tails
of this file, as it is.
I'm going to go ahead and clear the screen one more time.
We have that file right there.
Now I'm going to go ahead and try to decrypt this file.
I'm going to use the aescrypt command again.
This time I'm going to use the minus d flag
to indicate that I would like to decrypt it.
I'm going to specify the password.
And the first time,
I'm actually going to type in the wrong password.
Then I'm going to specify the file
that I would like to decrypt, declaration.aes.
And when I run this, I get an error message.
The message has been altered or the password is incorrect.
And I wasn't able to decrypt the file.
Let's go ahead and try this again,
but using the correct password this time,
which was Independent1776
and the name of the file.
Then I'm just returned to the command prompt.
If I go ahead and list it this time,
you'll notice there's a new file here,
just called declaration.
If I go ahead and look at this file,
there's the text of the Declaration of Independence.
Remember, in symmetric cryptography,
the same key is used to encrypt and decrypt the file.
You just saw that here.
Let's review some key facts about AES.
AES is a symmetric cipher,
and it is a block cipher that works on 128-bit blocks.
AES allows for three different key lengths.
The user can choose between a 128-bit key,
a 192-bit key,
or a 256-bit key.
All three of these options are considered secure today.
Blowfish is another symmetric algorithm
that you'll need to know for the exam.
It is a completely public domain algorithm,
developed by cryptography expert Bruce Schneier in 1993
as a potential replacement for the Data Encryption Standard.
Like DES and AES, Blowfish uses a Feistel network
that combines both substitution
and transposition operations.
Let's take a look at a few key facts about Blowfish.
It is a symmetric encryption algorithm
that works on blocks of 64 bits,
using any key length you choose
between 32 and 448 bits.
Blowfish is no longer considered secure
because there are known attacks
against some weak encryption keys when used with Blowfish.
In fact, Bruce Schneier, the creator of Blowfish,
recommends against using it.
In 2007, Schneier said, "I'm amazed it's still being used.
"If people ask, I recommend Twofish instead."
Twofish, the algorithm recommended by Schneier,
was one of the competitors in the AES competition
that eventually lost out to the Rijndael algorithm.
Schneier led a large team that developed this algorithm
and placed it into the public domain,
allowing for its free use around the world.
Like the other algorithms that I've discussed so far,
Twofish relies on a Feistel network for secrecy
that combines substitution and transposition.
Here are the key facts on Twofish.
Twofish is a symmetric encryption algorithm
that works on blocks of 128 bits,
using key lengths of 128,
192,
or 256 bits.
Twofish is still considered secure for use today.