Primer Parcial Flashcards
[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?
DES está basado en redes de Feistel.
Lo que hace DES es:
- Se parte el mensaje (de tamaño fijo) en dos mitades
- Se transforma una mitad con parte de la clave
- Se intercambian las dos mitades de lugar
- 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.
[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?
Podríamos usar Vigenere(k, m) donde |k| >=|m| para que funcione como OTP.
[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.
Falso. Porque está hablando de MAC no de Hash
[2021]
VoF
La ventaja del modo de encripción en bloque CBC es que puede ser paralelizable
Falso. Es secuencial. Paralelizable es CTR, por ejemplo.
[2021]
VoF
Una firma digital basada en un algoritmo simétrico requiere utilizar primitivas de hash.
Falso.
[2021]
VoF
El algoritmo de ElGamal permite la generación entre Alice y Bob de una clave de sesión por un canal inseguro.
Falso.
[2022]
VoF
Una autoridad certificante puede certificarse a sí misma.
Verdadero. Confiamos en ellas porque son organizaciones importantes que tienen motivaciones para que los sistemas donde implementan los certificados autofirmados sean válidos.
[2022]
VoF
Cualquier criptosistema que cumpla con la propiedad de CCA-Secure, garantiza directamente integridad.
Falso. Integridad requiere de un mecanismo adicional.
[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?
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.
[2022]
VoF
Si un criptosistema es MAC-Resistant, entonces es CCA.
Falso.
[2022]
VoF
Base64 es un mecanismo de encripción simétrico muy utilizado en los bancos
Falso. Base64 no es un mecanismo de encripción simétrico. Es un sistema de codificación.
[2022]
VoF
No existe ningún mecanismo para quebrar un criptosistema que tiene seguridad perfecta.
Falso. Es una pregunta que abusa de la literalidad, pero si existe, es fuerza bruta. Eventualmente, se pueden probar todas las combinaciones posibles.
[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.
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.
[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?
(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.
[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. 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.