Primer Parcial Flashcards

1
Q

[2021]
En qué está basado el cifrado simétrico DES? Explicar la idea general y qué es lo que se busca en el algoritmo. Si trabajasen en un banco y alguien propone utilizar este protocolo: Qué aconsejarían y cómo lo argumentarían?

A

DES está basado en redes de Feistel.

Lo que hace DES es:

  1. Se parte el mensaje (de tamaño fijo) en dos mitades
  2. Se transforma una mitad con parte de la clave
  3. Se intercambian las dos mitades de lugar
  4. Se repite lo anterior 16 veces

Se busca que sea computacionalmente difícil recuperar el mensaje original por fuerza bruta.

Si trabajase en un banco y alguien propone utilizarlo le diría no lo recomiendo ya que se considera roto hace ya un tiempo, en su lugar propondría el uso de AES que es el estándar actual.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

[2021]
Plantear un algoritmo de encripción simple basado en un algoritmo de sustitución polialfabética. Cómo y bajo qué condiciones pueden utilizarlo para implementar con el un esquema de One-Time-Pad?

A

Podríamos usar Vigenere(k, m) donde |k| >=|m| para que funcione como OTP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

[2021]
VoF
Lo importante al encriptar un mensaje con un Mac es que esté demostrado que para esta primitiva es computacionalmente complejo encontrar la preimagen, eventuales colisiones o segundas preimagenes.

A

Falso. Porque está hablando de MAC no de Hash

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

[2021]
VoF
La ventaja del modo de encripción en bloque CBC es que puede ser paralelizable

A

Falso. Es secuencial. Paralelizable es CTR, por ejemplo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

[2021]
VoF
Una firma digital basada en un algoritmo simétrico requiere utilizar primitivas de hash.

A

Falso.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

[2021]
VoF
El algoritmo de ElGamal permite la generación entre Alice y Bob de una clave de sesión por un canal inseguro.

A

Falso.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

[2022]
VoF
Una autoridad certificante puede certificarse a sí misma.

A

Verdadero. Confiamos en ellas porque son organizaciones importantes que tienen motivaciones para que los sistemas donde implementan los certificados autofirmados sean válidos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

[2022]
VoF
Cualquier criptosistema que cumpla con la propiedad de CCA-Secure, garantiza directamente integridad.

A

Falso. Integridad requiere de un mecanismo adicional.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

[2022]
En un criptosistema de encripción simétrica: Qué se puede decir si se encuentra un mecanismo de criptoanálisis que reduce en un bit el exponente de la longitud de la clave?

A

En un criptosistema de encripción simétrica, si se encuentra un mecanismo de criptoanálisis que reduce en un bit el exponente de la longitud de la clave del criptosistema, entonces este sería más facil de rompoer. Pues ante un ataque de fuerza bruta, el adversario tendría más chances de salir exitoso con su ataque.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

[2022]
VoF
Si un criptosistema es MAC-Resistant, entonces es CCA.

A

Falso.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

[2022]
VoF
Base64 es un mecanismo de encripción simétrico muy utilizado en los bancos

A

Falso. Base64 no es un mecanismo de encripción simétrico. Es un sistema de codificación.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

[2022]
VoF
No existe ningún mecanismo para quebrar un criptosistema que tiene seguridad perfecta.

A

Falso. Es una pregunta que abusa de la literalidad, pero si existe, es fuerza bruta. Eventualmente, se pueden probar todas las combinaciones posibles.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

[2022]
MC
Un sistema de encripción simétrico:
a. Es seguro si ningún adversario puede determinar aunque sea un carácter del texto plano en base al texto cifrado
b. Es seguro si ningún adversario puede derivar información significativa del texto plano en base al texto cifrado
c. Es seguro si ningún adversario puede computar una función del texto plano al texto cifrado.
d. Es seguro si ningún adversario puede encontrar el texto plano que corresponde al texto cifrado.

A

Lo indica en una de las diapositivas:
c. Es seguro si ningún adversario puede computar una función del texto plano al texto cifrado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

[2022]
a. Explicar qué es el salt en las funciones de hashing y por qué su uso es importante.

b. Cómo se podría utilizar el hash en un sistema de registro de claves de acceso (passwords) en una base de datos?

A

(Respuesta propia)
a. Un salt es un valor aleatorio que se añade a una entrada (como una contraseña) antes de aplicar una función de hashing. Su propósito es hacer que cada instancia de un mismo valor de entrada (por ejemplo, dos usuarios con la misma contraseña) produzca un hash único.
- Evita ataques de diccionario o rainbow tables
- Hace los ataques más costosos

En pasos:
1. El usuario introduce una contraseña.
2. Se genera un salt aleatorio.
3. La contraseña y el salt se combinan y se pasa a través de una función de hashing segura, como bcrypt o PBKDF2.
4. El resultado (el hash de la contraseña) se almacena en la base de datos, junto con el salt generado.

b. El uso de salting y hashing en un sistema de registro de contraseñas protege las contraseñas en caso de que se filtre la base de datos, ya que los atacantes no pueden obtener las contraseñas originales directamente a partir de los hashes.

> Acá aparece un factor importante: el salt puede y debe almacenarse junto a la contraseña salteada y hasheada. Además, el salt debe ser único para cada contraseña. Su propósito es hacer inviable atacar una base de datos de contraseñas filtrada utilizando tablas precomputadas de pares de contraseña-hash. Esto funciona porque el salt solo se conoce al atacante cuando obtiene las contraseñas reales, lo que hace imposible cualquier ataque precomputado. Es decir, va a tener que hacer fuerza bruta para una sola contraseña, con un hash en específico y el salt de una contraseña en específico. Hace más dificil el computo pero no imposible.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

[2022]
a. Mostrar por qué el cifrado de sustitución, rotación y de Vigenere son triviales de romper con ataques de texto plano conocido.

b. Cuánto “textoplano” se necesita para poder recuperar completamente las claves en todos los casos?

A

a. Los cifrados de sustitución, rotación y Vigenere son triviales de rompoer con ataques de texto plano conocido porque se puede obtener la frecuencia relativa de las letras y con eso encontrar a qué letra de texto plano se corresponde la letra del texto cifrado

b. El texto debe ser lo suficientemente largo para poder hallar una distribución de probabilidades que permita romper el criptosistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

[2022]
Un colega que tiene una Fintech le comenta que inventó una variante de CBC-MAC más segura y eficiente (según él) en donde el IV es un número aleatorio entre 1 y 10.

Cómo haría un usuario para verificar un mensaje que utiliza esta variante?

A

Tendría que probar cada uno de estos valores de 1 a 10 y comprobar si coinciden las salidas.

17
Q

[2022]
Decidir en qué condiciones la función F cumple con las características del OTP, siendo F: Vig(p1, Vig(p2, m), y siendo Vig la función de Vigenere con p1 y p2 valores primos distintos entre sí

A

p1 tiene que ser mayor o igual que la longitud de m.
p1 > |m|

De esta manera, se obtiene un Vigenere con secreto perfecto. Componer dos Vigenere no añade más seguridad.

18
Q

[2022]
Dado el siguiente protocolo de intercambio/generación de una clave simétrica (k1 || k2), y asumiendo que tanto A como B están en posesión de CertA y CertB

1: A -> B: Sig_A (k1)
2: B -> A: Sig_B (k1 || k2)

A

La firma equivale a un hash, o un MAC con claves asimétricas por lo tanto no sólo A y B quedan imposibilitados del valor de k1 y k2, si no que tampoco tienen manera efectiva de verificar la firma en sí misma, ya que requieren el contenido del mensaje que se firma.

19
Q

[2022]
VoF
En criptografía asimétrica, en caso de que quiera enviar un mensaje que solo una persona pueda leerlo, lo encripto con mi llave pública.

A

Falso. Hay que encriptar con la clave pública de aquella entidad que quiero que pueda leer el mensaje.

20
Q

[2023]
MC
Una función de hash criptográfica debe:
a. Ser resistente a las colisiones, biyectiva y de imagen nula.
b. Ser resistente a las colisiones, resistente a identificar la pre imagen, y resistente a identificar segundas pre imágenes.
c. Ser eficiente, ser resistente a ataques de replay, y ser biyectiva.
d. Ser eficiente, resistente a las colisiones y biyectiva.

A

b. Ser resistente a las colisiones, resistente a identificar la pre imagen, y resistente a identificar segundas pre imágenes.

21
Q

[2023]
James Bond consigue entrar en un datacenter de DPRK donde hay un solo servidor frío. La sala está aislada sin personas. James deja un micrófono detrás de un servidor que él sabe se utiliza para la generación de claves de encripción. Esto se denomina un ataque de “Side Channel”, de canal oculto. El micrófono puede detectar diferentes velocidades del fan del servidor y con eso inferir diferentes tiempos de procesamiento del procesador quese pueden correlacionar con algunos de los bits de las claves generadas.

Qué implicancia tendría para el algoritmo de generación de claves conocer algunos de los bits asignados a la clave?

A

Podría reducir drásticamente la cantidad de pruebas por fuerza bruta que se tienen que hacer para romper el algoritmo. Si comenzamos a concer bits que si contiene la clave, se necesitarán menos intentos para poder conseguir los demás.

Con respecto al ataque de side-channel, se debe buscar que el uso de CPU se mantenga igual sin importar qué clave se está generando. Es decir que el tiempo de cómputo, no dependa con la clave que se está generando.

22
Q

[2023]
a. Especificar cuál es la diferencia entre los siguiente conceptos y proveer un ejemplo de cada uno: Codificación, Encripción y seguridad por oscuridad

b. En sistemas donde el código puede ser accesible desde el usuario, por ejemplo un browser, suele aplicarse una técnica de ofuscación de código, que tiene como objetivo alterar el código de alto nivel, rompiendo la indentación, cambiando los nombres de identificadores, etc. Cuál creen que es el objetivo de hacer esto? Provee alguna ventaja desde el lado de la confidencialidad del código?

A

a.
- Codificación: Es una forma simple de transformar información de un medio a otro. Por ejemplo, base64 para poder transportar una cadena de bytes a través de medios que solo permiten caracteres ASCII, como archivos adjuntos en un email. Esta transformación se hace sólamente por motivos de transporte y no por motivos de seguridad.

  • Encripción: Es una transformación mas compleja, cuyo propósito es ocultar la información tal que un posible tercero que esté interceptando la comunicación no pueda enteder lo que se está diciendo. Busca proveer confidencialidad en la información y se usa por motivos de seguridad.
  • Seguridad por oscuridad: Consiste en garantizar la seguridad de un sistema manteniendo privado el funcionamiento del mismo. El problema con esto es que, tomando como ejemplo un criptosistema, si necesito comunicarme con varias entidades, todas ellas precisan conocer el criptosistema. Por ende, mantenerlo en secreto se torna exponencialmente más dificil. Esto se diferencia del principio de Kerckhoffs, quien dice: “La efectividad del sistema no debe depender de que su diseño permanezca en secreto”, “La seguridad del sistema debe recaer en la seguridad de la clave”

b. El objetivo de esto es complicar la ingeniería inversa y confundir a cualquiera que lo intente. No provee confidencialidad en si, pues de todas formas el código puede ser interpretado. Pensar que son decisiones que toma un compilador, minificador o ofuscador dependiendo del caso.

23
Q

[2023]
El ataque del cumpleaños de Yuval es un ataque sobre funciones de una sola vía, basado en el problema de la distribución de ocupancia: cuando se obtiene un elemento al azar con reemplazo de un conjunto finito de N elementos, con alta probabilidad se encontrará un elemento repetido, luego de O(sqrt(N)) intentos. Esto es la paradoja del cumpleaños, bastan alrededor de 20 personas en un cuarto para que la posibilidad de que dos cumplan el mismo día es 1/2. La implicancia de esto en el ataque de Yuval, es que es más sencillo encontrar colisiones de funciones de una vía, que encontrar preimagen o segundas imágenes.

Qué implicancias tiene este ataque para un sistema de registro de passwords en una base de datos basado exclusivamente en funciones de una vía?

A

Significa que es más facil encontrar una contraseña que al ser acertada al sistema, también aceptaría otra contraseña.

Si yo encuentro un par m1 y m2 tal que generan una colisión, es decir que H(m1) = H(m2), entonces si yo me registro con la contraseña m1, elsistema guardará el hash de esta H(m1). Pero si yo luego intento hacer login con la contraseña m2, va a comparar el hash guardado H(m1) y el hash de la contraseña H(m2) va a ser el mismo, y me dejará entrar.

24
Q

[2023]
En el método de encadenamiento CFB, es necesario que el emisor y/o receptor conozcan E_k^{-1} (x), siendo E la primitiva de encripción.

> Es decir, que el emisor y/o receptor conozcan la inversa de la función de encripción.

A

Falso. Ambos necesitan conocer la primitiva de encripción, pero no precisan la inversa. A la primitiva E se le da como entrada el IV en el primer bloque, en subsecuentes bloques se le da el bloque anterior. Luego esto se hace XOR con cada bloque de texto plano.

25
Q

[2023]
Cuál es la diferencia entre un MAC y una firma digital?

A
  • Un MAC, o Message Authentication Code, es un código pequeño utilizado para verificar la integridad de un mensaje, es decir, que no fue modificado ilícitamente durante su transporte.
  • Una firma digital es similar, pero se usa para validar que el mensaje fue emitido por la entidad correcta, que no necesariamente es la entidad con la que te estás comunicando.

Diferencias:
- MAC utiliza criptografía simétrica, por ende se utiliza la misma clave para crear el MAC que para validarlo, mientras que una firma digital usa criptografía asimétrica, por lo que se usa la clave privada para firmar y la clave pública para verificar.
- Los MACs no son transferibles, pero si yo verifico un mensaje con firma digital y luego se lo paso a otra entidad, por más que el mensaje haya pasado por mí, la otra entidad puede también verificar la autenticidad de este. Esto también es parte del principio de no repudio, donde la entidad firmante no puede negar posteriormente haberlo hecho.

26
Q

[Otros]
Explicar cómo funciona RSA, cuál es su función de encripción y desencripción y por qué no se utiliza su versión conocida como “textbook”

A

RSA funciona de la siguiente manera:
1. Se eligen 2 valores p, q y se toma n = p * q
2. Se calcula el coprimo de n, y d el inverso multiplicativo de e.
3. S_k = (n, e) y P_k = (n, d)

Luego, la función de encripción es: Enc(m) = m^e mod(n) y la de desencripción es: Dec(c) = c^d mod(n)

No se utiliza “textbook” RSA porque es determinística, en su lugarm se usa una versión que le agrega un padding aleatorio a los mensajes.

27
Q

[Otros]
MC
Si encripto 2 veces seguidas un mensaje con DES 128 bits, obtengo una seguridad equivalente a DES 256 ya que el atacante debería buscar por fuerza bruta dos veces el mismo espacio de claves.

a. No es correcta la afirmación porque la clave resultantes es una clave equivalente a una sola.
b. Asumiendo que todas las claves son válidas, es correcta la afirmación porque un atacante tiene que probar el doble de claves.
c. Ninguna de las otras opciones es correcta.
d. Es correcta la afirmación porque un atacante tiene que probar el doble de claves.

A

c. Ninguna de las otras opciones es correcta.

28
Q
A