Cryptography: Crash Course Computer Science #33
Summary
TLDREl guión de este video de CrashCourse Computer Science explora la criptografía, una forma común de seguridad informática. Se discute la imposibilidad de un sistema informático 100% seguro y la estrategia de defensa en profundidad. Se explican conceptos básicos como cifrado, descifrado, y técnicas de cifrado como los césar, transposición de columnas y la máquina Enigma. Se menciona el Data Encryption Standard (DES) y su sucesor, el Advanced Encryption Standard (AES), y cómo se usan en la vida cotidiana. Además, se abordan el intercambio de claves y la criptografía asimétrica, con ejemplos como RSA, para mantener la privacidad y seguridad de las comunicaciones.
Takeaways
- 🔒 La seguridad informática no puede ser perfecta; siempre habrá vulnerabilidades, por lo que se utiliza la estrategia de defensa en profundidad.
- 🏰 La defensa en profundidad es similar a las medidas de seguridad de un castillo, con múltiples niveles para frustrar a los atacantes.
- 🗝 El cifrado es una de las formas más comunes de seguridad informática, que involucra el uso de algoritmos para convertir texto en un formato ilegible.
- 🔄 El proceso de hacer texto secreto se llama cifrado, y el proceso inverso se llama descifrado.
- 📜 Los cifrados de sustitución, como el cifrado de César, cambian cada letra del mensaje según un patrón, pero pueden ser vulnerables a análisis de frecuencias.
- 🔄 Los cifrados de permutación, como el cifrado de transposición de columna, reorganizan las letras del mensaje de acuerdo con un patrón específico.
- 🇩🇪 La máquina Enigma alemana fue una de las máquinas de cifrado más sofisticadas, utilizando rotores configurables y un reflector para crear sustituciones complejas.
- 💡 La criptografía moderna se ha movido del hardware al software, con el Estándar de Cifrado de Datos (DES) y el Estándar de Cifrado Avanzado (AES) como ejemplos prominentes.
- 🔑 El cifrado de clave pública, como RSA, utiliza dos claves diferentes: una pública para cifrar y una privada para descifrar, lo que es útil para la seguridad en la web.
- 🔄 El intercambio de claves, como el método Diffie-Hellman, permite a dos computadoras acordar una clave secreta sin enviarla explícitamente.
- 🔗 La criptografía simétrica y asimétrica se utiliza para proteger la comunicación, con el cifrado simétrico siendo más rápido y el asimétrico siendo más seguro para la distribución de claves.
Q & A
¿Qué estrategia utilizan los arquitectos de sistemas para mejorar la seguridad de los sistemas informáticos?
-Los arquitectos de sistemas utilizan una estrategia llamada 'defensa en profundidad', que emplea múltiples capas de mecanismos de seguridad variados para frustrar a los atacantes.
¿De qué se traduce el término 'cryptography' y qué es?
-El término 'cryptography' se traduce como 'escritura secreta' y se refiere a la práctica de convertir texto en claro en un formato cifrado que solo puede ser descifrado con una clave.
¿Qué es un 'cipher' y qué hace?
-Un 'cipher' es un algoritmo que convierte el texto en claro en un texto cifrado, es decir, en un formato que parece acrisolado hasta que se aplica la clave correspondiente para descifrarlo.
¿Qué es el cifrado César y cómo funciona?
-El cifrado César es un tipo de cifrado de sustitución en el que las letras del mensaje se desplazan una cantidad fija de posiciones en el alfabeto. Por ejemplo, con un desplazamiento de tres, la letra 'A' se convierte en 'D'.
¿Qué es un 'columnar transposition cipher' y cómo se utiliza?
-Un 'columnar transposition cipher' es un tipo de cifrado de permutación donde el mensaje se llena en una cuadrícula y se lee en un orden diferente para cifrarlo. La nueva ordenación de las letras es el mensaje cifrado.
¿Qué máquina de cifrado fue utilizada por los nazis durante la Segunda Guerra Mundial y cómo funcionaba?
-Los nazis utilizaron la máquina Enigma, que tenía rotores configurables, un reflector y un plugboard para cifrar sus comunicaciones. Cada presión de tecla avanzaba los rotores, cambiando la correspondencia de letras.
¿Qué es el Data Encryption Standard (DES) y cuál fue su principal limitación?
-El DES es un algoritmo de cifrado desarrollado por IBM y la NSA en 1977 que usaba claves de 56 bits. Su principal limitación fue que, con el tiempo, la capacidad de computación aumentó lo suficiente como para que se pudieran probar todas las claves en un período razonable.
¿Cuál es la diferencia entre el cifrado simétrico y el cifrado asimétrico?
-El cifrado simétrico utiliza la misma clave tanto para cifrar como para descifrar, mientras que el cifrado asimétrico utiliza una clave pública para cifrar y una clave privada para descifrar, o viceversa.
¿Qué es la clave de Diffie-Hellman y cómo permite a dos computadoras acordar una clave sin enviarla explícitamente?
-La clave de Diffie-Hellman se genera a través de un intercambio de valores utilizando la exponenciación modular, lo que permite a ambas partes calcular la misma clave secreta sin necesidad de enviar sus exponentes secretos.
¿Qué es RSA y cómo se relaciona con el cifrado asimétrico?
-RSA es una técnica de cifrado asimétrico muy popular, que utiliza dos claves: una pública para cifrar los mensajes y una privada para descifrarlos, o para firmar digitalmente los mensajes.
¿Cómo funciona la firma digital y por qué es importante en la seguridad de las comunicaciones?
-La firma digital es un proceso en el que se cifra un mensaje con una clave privada. Cualquiera puede descifrarlo con la clave pública correspondiente, lo que actúa como una firma inequívoca que demuestra la autenticidad del remitente.
Outlines
🔒 Introducción a la Ciberseguridad y Criptografía
Carrie Anne nos presenta CrashCourse Computer Science, enfocándose en la seguridad informática y cómo, a pesar de no existir un sistema informático 100% seguro, se utiliza la estrategia de 'defensa en profundidad' para proteger la información. Esta estrategia implica múltiples capas de seguridad que dificultan el acceso a los atacantes. El vídeo se centra en la criptografía, una forma común de seguridad en informática, que proviene de la antigua técnica de 'escribir en secreto'. Se menciona el cifrado César y se describe cómo funciona la encriptación y descifrado, así como los problemas de las técnicas de sustitución básicas.
🗝️ El Avance de la Criptografía y el Estándar de Encriptación de Datos (DES)
El script explora el desarrollo de la criptografía a través del tiempo, desde los cilindros de sustitución hasta la máquina Enigma de los nazis, destacando la evolución a la criptografía mecanizada y luego a la computarizada. Se discute el Data Encryption Standard (DES), desarrollado por IBM y la NSA en 1977, y cómo su llave de 56 bits de longitud binaria fue insegura ante la potencia de cómputo de 1999. Esto llevó al desarrollo del Advanced Encryption Standard (AES) en 2001, que utiliza llaves mucho más largas y complejas para proteger contra ataques de fuerza bruta.
🔑 Criptografía Simétrica y Asimétrica, y el Intercambio de Claves
El tercer párrafo se adentra en el uso de claves en la criptografía, diferenciando entre claves simétricas, donde el mismo conjunto de claves se utiliza para cifrar y descifrar, y claves asimétricas, que implican un par de claves pública y privada. Se ilustra cómo funciona el cifrado asimétrico con la analogía de las cajas con candado, donde solo el propietario de la caja puede abrirla. También se menciona el RSA como una técnica popular de cifrado asimétrico. El Diffie-Hellman Key Exchange se presenta como un método para establecer claves compartidas sin necesidad de enviar una clave por un canal inseguro, utilizando funciones de una vía que son fáciles de realizar en una dirección pero difíciles de revertir.
Mindmap
Keywords
💡Criptoanálisis
💡Cifrado César
💡Criptograpia
💡Enigma
💡Cifrado por sustitución
💡Cifrado por permutación
💡Cifrado simétrico
💡Cifrado asimétrico
💡Intercambio de claves
💡RSA
💡AES
Highlights
No hay tal cosa como un sistema informático perfecto y 100% seguro; siempre habrá errores.
La estrategia de defensa en profundidad utiliza múltiples capas de mecanismos de seguridad para frustrar a los atacantes.
Criptografía es una forma común de seguridad en informática, derivada de 'crypto' y 'graphy', que significa 'escritura secreta'.
El cifrado es el proceso de convertir texto en claro en cifrado, mientras que el descifrado es el proceso inverso.
El César cipher es un ejemplo de cifrado de sustitución, donde las letras se desplazan una cantidad fija.
Las cifradoras de sustitución básicas tienen el inconveniente de preservar las frecuencias de las letras.
Los criptanalistas pueden utilizar estadísticas de frecuencias de letras para descifrar mensajes cifrados.
Los cifrados de permutación, como el cifrado de transposición de columna, reorganizan las letras de un mensaje en un patrón específico.
La máquina Enigma alemana utilizaba rotores configurables para cifrar comunicaciones de guerra.
La Enigma tenía un reflector y un plugboard que añadía complejidad al proceso de cifrado.
El cifrado y descifrado en la Enigma eran procesos idénticos, siempre que las configuraciones iniciales fueran las mismas.
Alan Turing y su equipo pudieron romper los códigos Enigma y automatizar el proceso.
El Estándar de Encriptación de Datos (DES) fue desarrollado por IBM y la NSA en 1977 y tenía claves de 56 bits.
El Estándar de Encriptación Avanzado (AES) utiliza claves mucho más grandes, lo que hace que los ataques de fuerza bruta sean mucho más difíciles.
El AES es utilizado en una amplia variedad de aplicaciones, desde el cifrado de archivos hasta la conexión a sitios web seguros.
La criptografía de clave pública y privada permite cifrar y descifrar mensajes sin necesidad de compartir la clave secreta.
El intercambio de claves Diffie-Hellman utiliza funciones de una vía para que dos computadoras acuerden una clave sin enviarla.
El cifrado RSA es una técnica de cifrado de clave pública y privada ampliamente utilizada hoy en día.
La criptografía moderna utiliza cifrado simétrico, intercambio de claves y criptografía de clave pública para proteger la comunicación.
Transcripts
Hi, I’m Carrie Anne, and welcome to CrashCourse Computer Science!
Over the past two episodes, we’ve talked a lot about computer security.
But the fact is, there’s no such thing as a perfectly, 100% secure, computer system.
There will always be bugs and security experts know that.
So system architects employ a strategy called defence in depth, which uses many layers of
varying security mechanisms to frustrate attackers.
It’s a bit like how castles are designed – first you’ve got to dodge the archers,
then cross the moat, scale the walls, avoid the hot oil, get over the ramparts, and defeat
the guards before you get to the throne room, but in this case we’re talking about one
of the most common forms of computer security - Cryptography.
INTRO
The word cryptography comes from the roots ‘crypto’ and ‘graphy’, roughly translating
to “secret writing”.
In order to make information secret, you use a cipher – an algorithm that converts plain
text into ciphertext, which is gibberish unless you have a key that lets you undo the cipher.
The process of making text secret is called encryption, and the reverse process is called
decryption.
Ciphers have been used long before computers showed up.
Julius Caesar used what’s now called a Caesar cipher, to encrypt private correspondence.
He would shift the letters in a message forward by three places.
So, A became D, and the word "brutus" became this: "euxwxv".
To decipher the message, recipients had to know both the algorithm and the number to
shift by, which acted as the key.
The Caesar cipher is one example of a larger class of techniques called substitution ciphers.
These replace every letter in a message with something else according to a translation.
A big drawback of basic substitution ciphers is that letter frequencies are preserved.
For example, E is the most common letter in English, so if your cipher translates E to
an X, then X will show up the most frequently in the ciphertext.
A skilled cryptanalyst can work backwards from these kinds of statistics to figure out
the message.
Indeed, it was the breaking of a substitution cipher that led to the execution of Mary,
Queen of Scots, in 1587 for plotting to kill Queen Elizabeth.
Another fundamental class of techniques are permutation ciphers.
Let’s look at a simple example, called a columnar transposition cipher.
Here, we take a message, and fill the letters into a grid.
In this case, we’ve chosen 5 by 5.
To encrypt our message, we read out the characters in a different order, let’s say from the
bottom left, working upwards, one column at a time.
The new letter ordering, what’s called a permutation, is the encrypted message.
The ordering direction, as well as the 5 by 5 grid size, serves as the key.
Like before, if the cipher and key are known, a recipient can reverse the process to reveal
the original message.
By the 1900s, cryptography was mechanized in the form of encryption machines.
The most famous was the German Enigma, used by the Nazis to encrypt their wartime communications.
As we discussed back in Episode 15, the Enigma was a typewriter-like machine, with a keyboard
and lampboard, both showing the full alphabet.
Above that, there was a series of configurable rotors that were the key to the Enigma’s
encryption capability.
First, let’s look at just one rotor.
One side had electrical contacts for all 26 letters.
These connected to the other side of the rotor using cross-crossing wires that swapped one
letter for another.
If ‘H’ went in, ‘K’ might come out the other side.
If “K’ went in, ‘F’ might come out, and so on.
This letter swapping behavior should sound familiar: it’s a substitution cipher!
But, the Enigma was more sophisticated because it used three or more rotors in a row, each
feeding into the next.
Rotors could also be rotated to one of 26 possible starting positions, and they could
be inserted in different orders, providing a lot of different substitution mappings.
Following the rotors was a special circuit called a reflector.
Instead of passing the signal on to another rotor, it connected every pin to another,
and sent the electrical signal back through the rotors.
Finally, there was a plugboard at the front of the machine that allowed letters coming
from the keyboard to be optionally swapped, adding another level of complexity.
With our simplified circuit, let’s encrypt a letter on this example enigma configuration.
If we press the ‘H’ key, electricity flows through the plugboard, then the rotors, hits
the reflector, comes back through the rotors and plugboard, and illuminates the letter
‘L’ on the lampboard.
So H is encrypted to L.
Note that the circuit can flow both ways – so if we typed the letter ‘L’, ‘H’ would
light up.
In other words, it’s the same process for encrypting and decrypting; you just have to
make sure the sending and receiving machines have the same initial configuration.
If you look carefully at this circuit, you’ll notice it’s impossible for a letter to be
encrypted as itself, which turned out to be a fatal cryptographic weakness.
Finally, to prevent the Enigma from being a simple substitution cipher, every single
time a letter was entered, the rotors advanced by one spot, sort of like an odometer in a
car.
So if you entered the text A-A-A, it might come out as B-D-K, where the substitution
mapping changed with every key press.
The Enigma was a tough cookie to crack, for sure.
But as we discussed in Episode 15, Alan Turing and his colleagues at Bletchley Park were
able to break Enigma codes and largely automate the process.
But with the advent of computers, cryptography moved from hardware into software.
One of the earliest software ciphers to become widespread was the Data Encryption Standard
developed by IBM and the NSA in 1977.
DES, as it was known, originally used binary keys that were 56 bits long, which means that
there are 2 to the 56, or about 72 quadrillion different keys.
Back in 1977, that meant that nobody – except perhaps the NSA – had enough computing power
to brute-force all possible keys.
But, by 1999, a quarter-million dollar computer could try every possible DES key in just two
days, rendering the cipher insecure.
So, in 2001, the Advanced Encryption Standard (AES) was finalized and published.
AES is designed to use much bigger keys – 128, 192 or 256 bits in size – making brute force
attacks much, much harder.
For a 128-bit keys, you'd need trillions of years to try every combination, even if you
used every single computer on the planet today.
So you better get started!
AES chops data up into 16-byte blocks, and then applies a series of substitutions and
permutations, based on the key value, plus some other operations to obscure the message,
and this process is repeated ten or more times for each block.
You might be wondering: why only ten rounds?
Or why only 128 bit keys, and not ten thousand bit keys?
Well, it’s a performance tradeoff.
If it took hours to encrypt and send an email, or minutes to connect to a secure website,
people wouldn't use it.
AES balances performance and security to provide practical cryptography.
Today, AES is used everywhere, from encrypting files on iPhones and transmitting data over
WiFi with WPA2, to accessing websites using HTTPS.
So far, the cryptographic techniques we’ve discussed rely on keys that are known by both
sender and recipient.
The sender encrypts a message using a key, and the recipient decrypts it using the same key.
In the old days, keys would be shared by voice, or physically; for example, the Germans distributed
codebooks with daily settings for their Enigma machines.
But this strategy could never work in the internet era.
Imagine having to crack open a codebook to connect to youtube!
What’s needed is a way for a server to send a secret key over the public internet to a
user wishing to connect securely.
It seems like that wouldn’t be secure, because if the key is sent in the open and intercepted
by a hacker, couldn’t they use that to decrypt all communication between the two?
The solution is key exchange!
– An algorithm that lets two computers agree on a key without ever sending one.
We can do this with one-way functions – mathematical operations that are very easy to do in one
direction, but hard to reverse.
To show you how one-way functions work, let’s use paint colors as an analogy.
It’s easy to mix paint colors together, but it’s not so easy to figure out the constituent
colors that were used to make a mixed paint color.
You’d have to test a lot of possibilities to figure it out.
In this metaphor, our secret key is a unique shade of paint.
First, there’s a public paint color that everyone can see.
Then, John and I each pick a secret paint color.
To exchange keys, I mix my secret paint color with the public paint color.
Then, I send that mixed color to John by any means – mail, carrier pigeon, whatever.
John does the same – mixing his secret paint color with the public color, then sending
that to me.
When I receive John’s color, I simply add my private color to create a blend of all
three paints.
John does the same with my mixed color.
And Voila!
We both end up with the same paint color!
We can use this as a shared secret, even though we never sent each other our individual secret
colors.
A snooping outside observer would know partial information, but they’d find it very difficult
to figure out our shared secret color.
Of course, sending and mixing paint colors isn’t going to work well for transmitting
computer data.
But luckily, mathematical one-way functions are perfect, and this is what Diffie-Hellman
Key Exchange uses.
In Diffie-Hellman, the one-way function is modular exponentiation.
This means taking one number, the base, to the power of another number, the exponent,
and taking the remainder when dividing by a third number, the modulus.
So, for example, if we wanted to calculate 3 to the 5th power, modulo 31, we would calculate
3 to the 5th, which is 243, then take the remainder when divided by 31, which is 26.
The hard part is figuring out the exponent given only the result and the base.
If I tell you I raised 3 to some secret number, modulo 31, and got 7 as the remainder, you'd
have to test a lot of exponents to know which one I picked.
If we make these numbers big, say hundreds of digits long, then finding the secret exponent
is nearly impossible.
Now let’s talk about how Diffie-Hellman uses modular exponentiation to calculate a
shared key.
First, there's a set of public values – the base and the modulus, that, like our public
paint color, everyone gets to know... even the bad guys!
To send a message securely to John, I would pick a secret exponent: X.
Then, I’d calculate B to the power of X, modulo M.
I send this big number over to John.
John does the same, picking a secret exponent Y, and sending me B to the Y modulo M.
To create a shared secret key, I take what John sent me, and take it to the power of
X, my secret exponent.
This is mathematically equivalent to B to the XY modulus M.
John does the same, taking what I sent to him to the power of Y, and we both end up
with the exact same number!
It’s a secret shared key, even though we never sent each other our secret number.
We can use this big number as a shared key for encrypted communication, using something
like AES for encryption.
Diffie-Hellman key exchange is one method for establishing a shared key.
These keys that can be used by both sender and receiver, to encrypt and decrypt messages,
are called symmetric keys because the key is the same on both sides.
The Caesar Cipher, Enigma and AES are all symmetric encryption.
There’s also asymmetric encryption, where there are two different keys, most often one
that’s public and another that’s private.
So, people can encrypt a message using a public key that only the recipient, with their private
key, can decrypt.
In other words, knowing the public key only lets you encrypt, but not decrypt – it’s
asymmetric!
So, think about boxes with padlocks that you can open with a key.
To receive a secure message, I can give a sender a box and padlock.
They put their message in it and lock it shut.
Now, they can send that box back to me and only I can open it, with my private key.
After locking the box, neither the sender, nor anyone else who finds the box, can open
it without brute force.
In the same way, a digital public key can encrypt something that can only be decrypted
with a private key.
The reverse is possible too: encrypting something with a private key that can be decrypted with
a public key.
This is used for signing, where a server encrypts data using their private key.
Anyone can decrypt it using the server's public key.
This acts like an unforgeable signature, as only the owner, using their private key, can
encrypt.
It proves that you're getting data from the right server or person, and not an imposter.
The most popular asymmetric encryption technique used today is RSA, named after its inventors:
Rivest, Shamir and Adleman.
So, now you know all the “key” parts of modern cryptography: symmetric encryption,
key exchange and public-key cryptography.
When you connect to a secure website, like your bank, that little padlock icon means
that your computer has used public key cryptography to verify the server, key exchange to establish
a secret temporary key, and symmetric encryption to protect all the back-and-forth communication
from prying eyes.
Whether you're buying something online, sending emails to BFFs, or just browsing cat videos,
cryptography keeps all that safe, private and secure.
Thanks cryptography!
Ver Más Videos Relacionados
5.0 / 5 (0 votes)