cripto 1p Flashcards
Cifrar y tagear un mensaje con MAC es CCA-Secure
a- Solo si se usan claves distintas k1 y k2 ytransmitiendo el tag t=MACk2(Ek1(m)) en plano.
b- Siempre y cuando se utilice la misma clave k tanto para generar el MAC como para Cifrar. De otra forma no es un criptosistema.
c- SOlo si se usan claves distintas k1 y k2 y primero se genera el tag en base al texto plano y luego se obtiene (c,t) = Ek1(m, MACk2(m))
a-Cifrar y luego autentucar siempre es seguro con k1 != k2
b- Esta afirmacion es falsa. La clave para encriptar siempre debe ser distinta a la clave para tagear para garantizar que sean independientes y que no se repitan estados internos.
c- Autenticar y luego cifrar puede ser seguro si pasa la prueba CCA.
rta: a
El principal problema del modo de operacion de cifrado en el bloque ECB es
a- Dos bloques de mensaje m_1 y m_j que son identicos generan cifrados que son tambien identicos. Esro se soluciona en el modo CBC mediante la utilizacion de un IV que es un numero aleatorio secreto entre las partes con el que se xorea el mensaje.
b- Dos bloques de mensaje m_i y m_j que son identicos generan cifrados que son tambien identicos. Esto se soluciona en el modo CBC mediante la utilizacion de un IV que es un numero aleatorio que se transmite plano con el que se xorea el mensaje.
c- Dos bloques de mensaje consecutivos m_i y m_{i+1} que son identicos generan cifrados que son tambien identicos. Esto se soluciona en el modo CBC mediante la utilizacion de un IV que es un numero aleatorio secreto entre las partes con el que se xorea el cifrado.
El problema de ECB es que encriptar dos mensajes identicos siempre devuelve el mismo cifrado
Un atacante puede:
- detectar si 2 mensajes son identicos
- detectar si un mensaje tiene data repetida (ej muchos null bytes)
- detectar si dos mensajes comparten prefijo
–> el atacante obtiene mucha informacion de los mensajes, NO es CPA-Secure
a- esta es falsa porque el IV no es privado
b- el IV no se xorea con todo el mensaje pues este ultimo se divide en bloques
c- La primero parte esta bien pero en la segunda parte se xorea el mensaje, no el cifrado.
Rta: b
El sistema de encripcion clasica de Vigenere sobre el alfabeto ingles
a- Es una composicion de un cifrado de sustitucion con uno de transposicion
b- Conserva la distribucion relativa de cada letra segun una frecuencia de aparicion
c- Tiene secreto perfecto siempre y cuando el mensaje tenga al menos la longitud de la clave
a- Esta afirmacion es falsa pues no hay ningun tipo de permutacion/transposicion en el texto Ej. el orden de los caracteres no se altera
b- Esto es correcto. Este tipo de cifrado genera secuencias repetidsa que permiten estimar la longitud de la clave. Luego, se generan |k| subtextos y para cada subtexto, la misma letra se cifra a una misma letra –> se mantiene la frecuencia de la letra sustituida con respecto a la frecuencia de la original.
c- Esta afirmacion es falsa. Tiene secreto perfecto siempre y cuando la longitud de la clave sea mayor o igual a la longitud del mensaje
Rta: b
Dado el criptosistema de clave publica RSA
Pub: (n, e) Priv:(p, q, d)
n= p * q
Φ(n) = (p-1) * (q-1)
e ⊥ Φ(n)(1<=e<=Φ(n))
e.d ≡1 (mod Φ(n)) con (1<= d <= Φ(n))
¿Como son las operaciones de encripcion y desencripcion para que sea un criptosistema?
Encpk(m)= me mod n y Decsk(c) = cd mod n
https://itba2-my.sharepoint.com/:i:/g/personal/ltorrusio_itba_edu_ar/EcqLmXjCt39JlgRlQt8YJiUBXhH1PXymkK-sMNDcEP42dg?e=xdAwEv
Dado el criptosistema de clave publica RSA
Pub: (n, e) Priv:(p, q, d)
n= p q y e.d ≡1_{Φ(n)} con (1<= d <= Φ(n))
e ⊥ Φ(n)(1<=e<=Φ(n))
Mallory afirma que tiene un algoritmo que puede factorizar un numero en tiempo polinomial. Asumir la existencia de un oraculo para ello y plantear un ataque PubKeavA,π(n)
Si M tiene un algoritmo que puede factorizar un numeo en tiempo polinomial, entonces obtiene p y q facilmente. Conocemos p, q y e. Tomemos como ejemplo p=3, q=5 y e=3. m_0=1 y m_1=2, A emite 0 si C=1 y 1 sino
| |b |c |b' |1 |0 |1 |0 ✓ |2 |1 |8 |1 ✓
→ PubkEAVAπ = 1
Obs: Si P(PubkEAVAπ = 1) < 0.5 + E, π es indistinguible.
Dado el criptosistema de clave publica RSA
Pub: (n, e) Priv:(p, q, d)
n= p q y e.d ≡1Φ(n) con (1<= d <= Φ(n))
e ⊥ Φ(n)(1<=e<=Φ(n))
Por que seria una mala idea que p y q sean iguales?
Si p=q, N=p^2 y es muy facil de factorizar pues hacemos √N . Una vez que tenemos p podemos conocer el cifrado de cualquier mensaje.
Dado el siguiente sistema de cifrado en flujo π = (Gen, Enc, Dec).
Genk ∈ {0,1}n
c= Ek(m) = G(k) ⊕ m
indicar como es el proceo de desencripcion
Dec_k (c) = c⊕G(k)
Dado el siguiente sistema de cifrado en flujo π = (Gen, Enc, Dec).
Genk ∈ {0,1}n
c= Ek(m) = G(k) ⊕ m
Como podria modificarse para que sea CPA-Secure?
Se puede tomar una funcion pseudoaleatoria que tome un numero aleatorio r y Enck(m)=Fk(r)⊕m. Fk(r) es indistinguible de una funcion elegida completamente al azar y su determinismo depende de r.
Dado el siguiente sistema de cifrado en flujo π = (Gen, Enc, Dec).
Genk ∈ {0,1}n
c= Ek(m) = G(k) ⊕ m
que alternativas se pueden implementar para encriptar mensajes de cualquier longitud?
https://itba2-my.sharepoint.com/:i:/g/personal/ltorrusio_itba_edu_ar/EfbJFkHjj4xDm-ym3xCkMjwBJSCpbRvSpv9A71gWnjzJoA?e=e5Ndsm
Dado el siguiente criptosistema π = (Gen, Enc, Dec).
Para p∈Z y a,b,r∈Z_p, siendo la clave k = (a,b) y siendo r← random
r∈Z_2 r=0 o r=1
(c1, c2, r) = Ek(m) = (m+a, m+b)p
…………………| (c1 - a)(p) r=0
m = Dk (c)<
…………………|(c2 - b)(p) r=1
donde (.)(p) implica que opera con aritmetica modular.
es un criptosistema valido?
Para que un criptosistema sea valido, se debe cumplir Dec_k(Enc_k (m)) = m.
Caso 1: r=0 –> Deck(Enck(m)) = c1 -a = m+a-a = m
Caso 2: r=1 –> Deck(Enck(m)) = C2-b=m+b-b=m
Conclusion:
∀r∈Z2 se cumple Dec_k(Enc_k(m))=m , entonces el criptosistema es valido
Dado el siguiente criptosistema π = (Gen, Enc, Dec).
Para p∈Z y a,b,r∈Zp, siendo la clave k = (a,b) y siendo r← random
r∈Z2 r=0 o r=1
(c1, c2, r) = Ek(m) = (m+a, m+b)(p)
…………………| (c1 - a)(p) r=0
m = D_k (c)<
…………………|(c2 - b)(p) r=1
donde (.)(p) implica que opera con aritmetica modular.
Si m, a, b, ci ∈Z26 y a=b tiene secreto perfecto? Demostrar
Si hacemos el experimento y A envia m0=a y m1=a+1, entonces emite b’=0 cuando c1, c2 pares.
| |b | c |b' |0 |0 |(2a, 2a) |0 ✓ |1 |1 |(2a+1, 2a+1)|1 ✓
Conclusion: P(ExpeavA,m = 1) = 1 –> no hay secreto perfecto
Lo importante al encriptar un mensaje con una fucnion de hash es que este demostrado que para la misma es computacionalmente complejo encontrar la preimagen, eventuales colisiones o segundas preimagenes.
VERDADERO
FALSO
VERDADERO
La seguridad computacional recae en que la funcion de hash sea resistente a colisiones
Una firma digital basada en un algoritmo asimetrico no requiere utilizar primitivas de hash
VERDADERO
FALSO
VERDADERO
Un ejemplo puede ser ‘RSA-Signature’ que aunque sea inseguro, no requiere funciones de hash.
El algoritmo de Diffie-Hellman permite que alice le envie una clave de sesion a Bob por un canal inseguro
VERDADERO
FALSO
FALSO
El algoritmo DH no garantiza que B le lleve la clave de A ante un ataque de tipo Man in the Middle
El algoritmo de AES se basa en las Feister-Network para cifrar simetrica
* VERDADERO
* FALSO
FALSO
El algoritmo DES se basa en los Feister Network
Un cilintro de Jefferson esta compuesto por 36 discos, unidos sobre un eje de rotacion en el interior que le permite rotar libremente. Cada disco tiene a su vez 26 letras, A-Z, en la periferia, con un orden especifico para cada disco, en una configuracion particular. Es decir, cada disco tiene una permutacion de A-Z, y a su vez el orden de los discos puede alterarse. Una barra de referencia con una ranura se coloca de manera paralela al eje por donde es posible leer la alineacion de las letras.
FOTO
El mecanismo de encripcion procede alineadndo los discos hasta formar sobre la ranura el mensaje de 36 letras a encriptar y se selecciona una de las 25 alineaciones restantes para formar el texto cifrado. Ejemplo, si el mensaje a encriptar arranca con “ATAQUE…”, se rota el primer disco hasta quue la “A” quede visible sobre la ranura, el segundo disco hasta que quede visible la “T”, y asi sucesivamente. Luego se elige alguna de las 25 alineaciones restantes, y esa corresponde al texto cifrado.
Con discos con exactamente la misma configuracion de letras cada uno y ordenados en la misma secuencia, se procede a la Desencripcion alineando el texto cifrado con cada una de las letras de cada disco sobre la ranura y buscando en las restantes 25 alineaciones, aquella que posea algun texto plano reconocible.
Considerando por simplicidad mensajes de 36 letras
a) Cual es el tamano del espacio de claves
b) Demostrar si este sistema admite secreto perfecto y bajo que condiciones. Especificar claramente la estrategia de la demostracion elegida.
a- |k| = 36! porque un mnesaje de l=36 puede ser cifrado 36! veces distintas segun como se ordenen los discos
b- La seguridad de un criptosistema implica que un atacante no puede obtener informacion alguna del mensaje. Para cada letra del texto plano, sabemos que hay una que no puede ser. Es decir, si la letra b es cifrada con d entonces ya podemos descartar una opcion. En este sentido, obtenemos informacion del mensaje original
Dado el siguiente esquema de intercambio de claves (Shamirs no key protocol) entre A y B.
Publico p prime
A, B seleccionan a,b | 1≤ a, b ≤ p-2, a ⊥(p-1), b ⊥ (p-1) (⊥ coprimo)
A selecciona K, clave de sesion al azar, a ≤K≤p-1
Trans:
1) A → B: Ka mod p
2) A←B: (Ka)b mod p
3) A→B:(Kab)a-1 mod p (de forma tal que (Kab)a-1 mod p = K)
a) detallar cual es el objetivo dat protocolo, y donde radica la seguridad computacional del mismo.
b) en que se diferencia con diffie-hellman
ai- El objetivo del protocolo es intercambiar claves
aii- ka mod p = β
La seguridad computacional radica en que el problema del logaritmo discreto a = logk β mod p tiene comlejidad NP (polinomial no determinista). Si los numeros son grandes, se convierte en un problema de muy dificil solucion. En este caso, hay otra capa de seguridad y es que el generador k no es conocido.
b- La diferencia con D-H es que las identidades A y B no tienen que ponerse de acuerdo en ningun parametro.
Especificar los pasos de validacion que deberia realizar un browser al conectarse a un homebanking para verificar que el certificado presentado por el sitio no es apocrifo
-Verificar integridad del certificado: Utilizando el algoritmo especificado y la clave publica del emisor
- Verificar intervalo de validez: debe estar vigente y la autoridad certificante debe estar vigente al comienzo del periodo de vigencia
- Verificar identidad del certificado: comparar el common name (CN) con el que espera la aplicacion
- Verificar el uso del certificado: validar que el certificado este autorizado para el uso que se le quiere dar
Dado el siguiente algoritmo de generacion de MAC, demostrar mediante la prueba Mac-Forge como un Atacante podria tener exito en la ejecucion del experimento.
k←{0,1}
…………………….| t es un bit paridad par si k=0
t←Mack(m):= <
…………………….| t es bit paridad impar si k = 1
…………………..| 1 si k-0 y t es bit paridad par de m
b←Vrfyk:= < 1 si k=1 y t es bit paridad impar de m
…………………..| 0 otro
** Recordar que si m=1001, paridad par es agregarle un bit adicional para que la cantidad de 1(unos) en el mensaje sea par, y paridad impar es, correspondientemente, para que esa cantidad sea impar.
El adversario A obtiene t, la etiqueta del mensaje m=1. Luego emite Vrfyk(m’=111, t) y pasa la prueba.
Conclusion: No es seguro
Obs: ∀ mensaje m con cantidad par de 1’s. Obtenemos la misma etiqueta y ∀ mensaje con cantidad impar de 1’s obtenemos la misma etiqueta
En el modo de encadenamiento para cifrados en bloque OFB:
a-cada bloque del texto cifrado Ci surge de Encriptar cada bloque del texto plano Pi
b) La alteracion de un bit de Ci afecta toda la Desencripcion a partir de ese punto
c) La salida Oj de cada bloque de encripcio se genera encriptado la salida del bloque Oj-1
d) Se aplica una operacion XOR inicial sobre el IV que luego se Encripta formando Ki inicial
https://itba2-my.sharepoint.com/:i:/g/personal/ltorrusio_itba_edu_ar/EYCGhH4AtCpEjsN0rfit2_UB78xVH6M96JG6sCHq8tYy9Q?e=JIGzdc
Rta: c
a- Falso porque ci se obtiene de texto plano xoreado con encriptado
b- Falso porque la alteracion de un bit de ci solo afeecta el bloque mi (con el que se obtuvo ci)
Desencripcion:
IMAGEN
c- Verdadero, ver dibujo
d- Falso porque al IV no se le aplica ningun xor y la clave se uso para encriptar el IV
IMAGEN: https://itba2-my.sharepoint.com/:i:/g/personal/ltorrusio_itba_edu_ar/EZR-DLo6ZXxEvR1mvVa_OfgBeUIw5E-UXAY7MDg6fgZv9g?e=mcPG0y
El “CVV” o Code Verification Value es el codigo de validacion de 3 o 4 digitos que se usa en las tarjetas de credito para demostrar posecion real del plastico en vta. telefonica. Que mecanismo criptografico seria el mas conveniente para realizar la validacion de dicho codigo en los servidores del banco emisor de la tarjeta y asi verificar que el mismo es valido, pero sin que el codigo este directamente accesible en las bases de datos
a- Un HMAC basado en una clave simetrica almacenada de manera segura en el banco emisor.
b- AES-256 basado en una clave publica distribuida publicamente de manera autenticada
c- un esquema de diffie-hellman para intercambiar ese codigo
d- Una firma digital basado en una clave publica distribuida de manera autenticada
Rta: a
a- verdadero porque la clave es privada y solo el banco emisor pueden verificar el codigo
b- Falso AES es simetrico, no pupede ser encriptada con clave publica
c- Falso porque no buscamos intercambiar nada
d- Falso porque una firma digital es asimetrica y cualquiera con la clave publica lo podria verificar
Que mecanismo criptografico seria mas conveniente utilizar para la distribucion de software en los mercados de apps que se utilizan en los dispositivos moviles
a- Un mecanismo de encripcion simetrica TDES con una clave secreta
b- Un CBC-MAC basado en una Funcion pseudoaleatoria Fk.
c- Un esquema de firma digital sobre los binarios
d- Una funcion de Hash SHA-1 aplicado sobre los ejecutables.
Rta: c
a- Falso porque como hacemos para desencriptar si no tenemos la clave
b- Falso por mimsa razon que anterios
c- Verdadero porque garantiza validacion, autenticidad y no cualquiera puede generar la firma.
d- Falso porque se puede estar hasheando cualquier cosa. Es decir, el hash solo garantiza integridad pero no garantiza autenticidad.
En un esquema de transposicion por columnas, el texto del mensaje se distribuye en una matriz de k columnas (siendo k la clvae) y luego se obtiene el texto cifrado concatenando las letras de cada fila empezando por la columna 1, luego la columna 2, hasta la columna k. (Es decir leyendo las filas de la matriz traspuesta de la que contiene el mensaje)
Ejemplo: m=”ESTEMENSAJEESCLARO”, k=3
|E|S|T|
|E|M|E|
|N|S|A|
|J|E|E|
|S|C|L|
|A|R|O|
Entonces el cifrado es c=”EENJSASMSECRTEAELO”
Considerar un esquema de trasposicion por columnas, tal que:
Gen: elige aleatoriamente y en forma uniforme k ∈K = {2,3}
Enc: Si el texto plano es m=m1m2…m6, entonces el cifrado el cifrado c es c=c1c2…c6, donde m se distribuyo en una matriz Menc de k columnas y 6/k filas y c corresponde a la lectura por filas de la matriz traspuesta de Menc.
Dec: Si el cifrado es c=c1c2…c6, entonces el texto plano es m=m1m2…m6, donde c se distribuyo en una matriz Mdec de k filas y 6/k columnas y m corresponde a la lectura por filas de la matriz traspuesta de Mdec.
Demostrar de manera formal si el esquema de cifrado propuesta tiene secreto perfecto para los siguientes espacios de mensajes, indicando en cada caso que definicion de secreto perfecto se utilizo.
a- M = Σ6 / Σ = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’} (es decir |m|=6)
b- M ⊂ Σ6 / Σ= {‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’} ∧ (m∈ M↔m=m0m2…m5 ∧ mi!=mj )
a- En un eavsdropping indistinguichability test, A emite m0 = ‘aaaaa’ y m1=’bbbbb’. Si c = ‘aaaaa’. A emite 0.
||b|k|c|b'| |'aaaaa'|0|2|'aaaaa'|0| ok |'aaaaa'|0|3|'aaaaa'|0| ok |'bbbbb'|0|2|'bbbbb'|1| ok |'bbbbb'|0|3|'bbbbb'|1| ok
–> P(EavA,π =1) = 1 → no hay secreto perfecto
Obs: Para que tenga secreto perfecto, se debe cumplir P(EavA,π=1)=0.5 + negl(n)
b- Para que el esquema tenga secreto perfecto, se debe satisfacer, para todo por (m,c):
P(C=c|M=m)=P(C=c)
- P(C=’adbecf’) P(M=’abcdef’) * P(k=3) + P(M=’aedcbf’) * P(k=2) =
1/6! * 1/2! * 2 = 1/6!
- P(C=’abdecf’ |M=’abcdef’)=P(k=3) = 1/2
Conclusion: Como la propiedad probabilistica no se cumple para un par (m,c), entonces no hay secreto perfecto.
Se tienen dos protocolos en los cuales un participante (A) envia a otro (B) un mensaje y.
Protocolo 1: y=Enck1(x||H(k2||x))
Donde x es un mensaje, H es una funcion de hash, Enc es un algoritmo de encripcion simetrico, || denota una concatenacion y k1 y k2 son claves secretas compartidas y conocidas unicamente por el emisor y el receptor
Protocolo 2: y=Enck(x||SignkprA(H(x)))
Donde x es un mensaje, H es una funcion de hash, Enc es un algoritmo de encripcion mediante clave secreta compartida k, || denota una concatenacion y kprA es la clave privada de A (emisor del mensaje y)
a- Explicar que pasos efectua B (el receptor) con el mensaje recibido en cada protocolo.
b- Establecer, para cada protocolo, si los siguientes aspectos se preservan:
- confidencialidad
- integridad
- no repudio
- seguridad ante ataque de replay
Protocolo 1:
a-
1) Desencripta con k1 y obtiene x||H(k2||x)
s) Como B sabe la longitud de salida de H, entonces obtiene x.
3) Hace H(k2||x) para verificar que no se modifica nada.
Recordemos: no existe H-1
b-
- Se mantiene confidencialidad (suponiendo que es seguro)
- Se mantiene integridad
- No mantiene no repudio
- No es seguro ante ataque de replay i.e. el cifrado puede ser envidia multiples veces
Protocolo 2:
a-
1) Descripta con k1 y obtiene x||SignkprA(H(x))
2) Como B sabe la longitud de salida de Sign, entonces obtiene x.
3) Verifica la firma con la clave publica de A.
4) Hace H(x) para verificar que no se modifica nada.
b-
- Se mantiene confidencialidad (suponiendo que es seguro)
- Se mantiene integridad
- Se mantiene no repudio
- No es seguro ante ataque de replay i.e el cifrado que puede ser enviado multiples veces
Protocolo 1:
Confidencialidad: El mensaje está cifrado con la clave compartida “k1”, lo que brinda confidencialidad. Solo A y B conocen dicha clave.
Integridad: El hash de la concatenación “H(k2||x)” proporciona integridad al mensaje. Si se altera el mensaje, el hash cambiará y B podrá detectar la modificación.
No repudio: No se garantiza el no repudio, ya que no hay elementos que vinculen la firma o identidad de A de manera inequívoca.
Seguridad ante ataque de replay: No se aborda la seguridad ante ataques de replay en el protocolo 1. Si un atacante intercepta y reenvía el mensaje cifrado “y”, B lo aceptaría como válido nuevamente.
Protocolo 2:
Confidencialidad: No se garantiza la confidencialidad del mensaje, ya que se envía en texto claro como parte del mensaje cifrado. Solo la integridad del mensaje está protegida.
Integridad: El hash “H(x)” y la firma digital “SignkprA(H(x))” aseguran la integridad del mensaje. Si se modifica el mensaje, el hash y la firma no coincidirán, y B podrá detectar la alteración.
No repudio: La firma digital “SignkprA(H(x))” permite a B verificar la autenticidad del mensaje y vincularlo inequívocamente a A, lo que brinda no repudio. A no puede negar haber enviado el mensaje.
Seguridad ante ataque de replay: No se aborda la seguridad ante ataques de replay en el protocolo 2. Si un atacante intercepta y reenvía el mensaje cifrado “y”, B lo aceptaría como válido nuevamente.