cripto simetrica Flashcards
secreto perfecto
texto plano y cifrado son probabilisticamente independientes
Pr[C=c|M=m0] = Pr[C=c|M=m1]
tmb
Pr[M=m|C=c]=Pr[M=m]
otp
Gen: K <–{0,1}^n
Enc: ek(k) = m xor k
Dec: dk(c) = c xor k
ej:
m= 001
k = 011
c= 010
obs: cualquier criptosist con secreto perfecto es reducible a otp
otp problemas
- para que haya secreto perfecto |k| >= |c|
- la clave tiene que ser aleatoria
- la clave se tiene q usar una vez
c1= m1 xor k
c2= m2 xor k
c1 xor c2 = m1 xor m2
(pierdo el secreto perfecto)
seguridad computacional
asumo que los atacantes tienen recursos limitados y q para esos recursos el sistema no se puede romper
se deja de la do la infalibilidad
criptosistema de flujo
usa un generador pseudoaleatorio q trabaja con una seed
(criptosist indistinguible ante eav)
no son seguros ante multiples cifrados
Gen: s<–S
Enc: enc_s(m) = G(s) xor m
Dec: dec_s(c) = G(s) xor c
prueba de indistinguibilidad eavesdropping
Eav_A,pi
dado un adversario A y un criptosist pi
1) A emite m0, m1 a su criterio
2) K <– k (clave)
3) b <– {0,1}
4) se calcula c <– Enc_k(m_b) y le mando a A
5) A emite b’={0,1} ==> Eav = 1 si b=b’
si Pr[Eav=1] ~ 0.5 ==> pi es indistinguible
estados de un criptosist
seguro: cumple con las expectativas de su modelo de seguridad
debilitado: existen adversario con buena prob de exito pero con esfuerzo muy alto
quebrado: puedo romperlo con esfuerzo razonable
multiples cifrados
1) A emite (m0,…m0i) y (m10,…,m1i)
2) k <–K
3) b <– {0,1}
4) ci < –> Enck(mbi) y le mando a A
5) A emite b’ = {0,1}
Mul_A,pi = 1 si b = b’
es indistinguible si la prob de exito de mul es aprox 0.5
cifrado probabilistico
si un cifrado es deterministico ==> no pasa Mul
evitar reutilizar la clave
se agrega un nonce IV ==> secuencia aleatoria no secreta
chosen plaintext attack (cpa)
1) k <– K
2) A obtiene Enck(x) y emite (m0, m1)
3) b <– {0,1}
4) c <– Enck(mb) –> A
5) A emite b’ = {0,1}
si Pr[cpa=1]~0.5 ==> pi indistinguible
ningun sistema deterministico es cpa secure
propiedades cpa
un sistema deterministico no puede ser CPA sec
si un sist es CPA para 1 msg tmb lo es para multiplles
un criptosist cpa sec pero limitado en size de mensajes puede extenderse en bloque y seguir siendo cpa sec
primitivas de cifrado en bloque
definidas para mensajes de tamaño fijo
si el mensaje es mas chico que el tamaño del bloque
puedo usar Simple pad o Des pad
Des pad cifrado en bloque
agregar 1 bit y luego bits en 0
puede agregar un bloque completo de padding
Simple pad cifrado en bloque
completo con ceros
necesito conocer el tamaño real del mensaje