Let's now give several examples.
Encryption is not a new technique.
From the beginning of history people tried to hide and encrypt all sorts of information a good example
of this is Caesar cypher which will be brought up on more than one occasion later Caesar cypher which
according to historians was really used by Julius Caesar was a code designed to hide an intended message.
For example battlefield commands in a ciphered way messages would be encrypted using a simple technique
letters would be shifted by some number of positions.
For example three positions if a shift of three was used d would be written instead of a the algorithm's
key and Caesar cipher is the shift number this encryption method is extremely weak for several reasons.
Above all the key is very short.
To test all possibilities it's enough to check 26 Schiff's the number of letters in the alphabet when
running permutations.
You'll need to see if the result forms an intelligible message.
And apart from this the ciphertext would reveal much about the plaintext some plaintext data will always
be revealed.
Length is a good example.
The longer the ciphertext the longer the plaintext is.
This can be assumed on a one to one relationship.
It's practically linear.
This is inevitable to a degree.
If you don't want this information to transpire you'd always need to generate maximum length ciphertext
this solution is implemented in cryptography practically only by three letter agencies in the US.
The machines in these agencies are hooked by a specially dedicated link that is used for incessant pseudorandom
data transmission.
If you tried to listen on this link you'd not be able to discern neither the beginning nor the end of
an intended message in the noise that complements transmission.
The point is that Caesar cipher reveals also other information letter frequency distribution is a trait
shared by all languages some letters are more or less common.
It's easy to check this if you use an encryption method similar to Caesar cipher.
Some characters in the ciphertext will come up more frequently using this assumption.
It's really easy to deduce that plain text representation of the most frequent ciphertext letter scissors
cipher was an example of a weak encryption technique.
At the other end there is an all out ideal solution.
One time pad it's ideal on several counts.
First of all it's impossible to crack the encryption makes use of a one time key pad.
A key is never reused.
This is the first of the requirements that are hard to insure because the difficulty connected with
computer generation of pseudo random numbers.
The second requirement is even harder to me.
The key must be the same length as the plain text.
If this condition is satisfied if you have a 200 character message in a 200 character random key encrypting
the message is trivially easy.
It's enough to perform an exo or operation exclusive disjunction with individual key and message bits.
The result of the X or operation is one only if the values of two parameters keep it Message bit are
different.
If the bits are the same the result is zero something is altered.
But this can be reversed at this point.
This is vital for us a message that is encrypted using one time pad doesn't reveal any information about
the key or the plain text message.
So why isn't one time pad encryption and universal use.
This is because the Scifres applicability is very limited.
They depend on the possession of a pseudo random key even if it appears otherwise at first glance.
All computers use today.
Quantum computers are not yet available are always deterministic.
They don't have access to any random operations.
Even if it doesn't seem so for a user they always go through the same operations in a given situation.
So how can you generate or ensure the required random information.
This is a serious issue that can be solved in a range of solutions.
The first concept involved being brought from the outside from physical phenomena.
If a computer would be for example able to measure outside temperature with high accuracy count the
flies that sit atop a building and divide one by another.
The result would truly be random not influenced by any other factor.
But computers aren't capable of doing that random number generation could also be provided from keystroke
timing dissolution was widespread but quite weak.
The intervals between individual keystrokes from a good unsystematic typist are deterministic pace variation
is in the order of milliseconds in advance typing keystrokes dynamics always have the same flow and
speed
and other sources mouse cursor coordinates a generator can use a saved coordinate assuming that a user
has operations very the solution truly provides relative randomness.
But what if you need a random key directly at system startup and operating system needs to generate
a 128 bit key before a user move the mouse a bit or submitted enough keyboard input.
This is alleviated by hardware solutions some chips can measure physical parameters with high accuracy
temperature electromagnetic radiation signal rate and so on and use the values to generate random numbers.
This type of hardware isn't popular yet so there are still problems with random number generating If
a system has collected some amount of pseudo random complicated information they have to be distributed
and managed economically.
That can't be distributed out for the first long key.
There's also another problem with encryption.
If a recipient has to decode an encrypted message they have to be provided with a key.
There's no other way around it.
The message itself is 100 percent secure how to forward a kid to a recipient in a safe manner use a
trusted channel key length is equal to plain text length if you have found a trusted way of exchanging
a key way encrypted in the first place you could have directly transmitted it over the secure channel
One-Time Pad.
Although sophisticated is impractical let's try to strike a good balance between Caesar cipher and one
time pad the next parts of the lecture will be dedicated to this the ideal will be the same each time
a key has to be significantly shorter than the information that is protected using the key.
The assumption is that it's less demanding to protect an exchange a relatively short key than to protect
an exchange of potentially long message think of protecting a car preventing the theft of a car if it's
otherwise unprotected might be quite difficult.
It's much easier to protect the car with a key that you take with you everywhere you assume that if
you have the key the car that it is used to protect is also secure.
The module will talk about the characteristics of symmetric encryption and discuss the flaws and strengths
of this solution.
Will review block cipher modes or in other words tell you why even the most secure symmetric ciphers
will fail if ill and lamented
an alternative to block ciphers stream ciphers will also be included in the guide will touch upon stream
ciphers in security and tell you why the number of their applications is thinning.
Another problem covered will be public key cryptography or asymmetric cryptography a cryptographic field
with a much shorter history while symmetric encryption was used back in the days of Julius Caesar public
key encryption has emerged quite recently.
It's about 100 years old.
The practical applications of this solution are even newer.
We'll also discuss why asymmetric ciphers aren't good for encrypting long messages and broached the
main shortcomings of asymmetric ciphers
another topic will include hashing functions and their mode of operation and tell you why calculating
a hash function doesn't ensure a vital data aspect known as non repudiation not a repudiation was mentioned
earlier in the modules.
We'll tell you what other methods can be employed to guarantee message not repudiation and how this
is achieved.
Or in other words how does a digital signature work.
At the end we'll also discuss a way in which three basic algorithm types symmetric ciphers public key
ciphers and hash functions are used together in modern cryptographic systems.
See you in the training.