Hello again. This group of
lessons explores the concept of randomness.
It discusses how and where to use it in your programs.
We'll introduce the concept of pseudo-randomness,
and how it affects your programs.
Last, we will touch
briefly on the fundamentals of cryptography,
and give some cryptography examples. Let's start.
Now, the goals of this section for
randomness are basically to show you
how using random numbers works,
and some of the pitfalls that may occur.
One of the biggest pitfalls
is the notion of pseudo-randomness,
where you get something that looks
random but is actually predictable.
We'll talk about this in
a little bit more detail, in a bit.
We're also going to look a little bit at
what at randomness actually is,
so we can distinguish between random and pseudo-random.
Then if you go on to the slide about
the section on cryptography,
we're going to look at a couple of things here.
We're not going to talk about cryptography in general.
Basically, we're going to assume you
know little bit about that.
But what we are going to do is
talk about how crypto is used,
and also when to use it and how not to use it,
and also what not to do.
So we'll talk about
basic use when you're programming and how to do it.
The basic rule of cryptography to take
a step forward is simple,
don't write it yourself.
Unless you absolutely have to write it, don't.
Use libraries that are trusted
and that had been written by professionals,
or by people who really know their cryptography.