Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


pan:cifrado_homomorfico_v2

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
pan:cifrado_homomorfico_v2 [2025/12/24 16:59] thejuanvisupan:cifrado_homomorfico_v2 [2025/12/31 16:36] (actual) thejuanvisu
Línea 35: Línea 35:
  
 Cuando se mandan datos a un tercero para operar con ellos, se madan a y b Cuando se mandan datos a un tercero para operar con ellos, se madan a y b
 +
 +<WRAP box>
 +$Δ*m+e = b+S^T*a$
 +</WRAP>
 +  * $m' = Δ*m+e$ -> Mensaje aproximado con error
 +
 +<WRAP box>
 +$m+e = (b+S^T*a)/Δ$ $MOD q$
 +</WRAP>
 +  * $m' = m+e$
 +
 +<WRAP box>
 +$m = ||(b+S^T*a)/Δ - e$ $MOD q||$
 +</WRAP>
 +  * Redondeamos el resultado para el descifrado
 +  * Si todo va bien, al realizar el redondeo desaparece el error aplicado y el valor final obtenido es el mensaje inicial.
 +
 +{{drawio>pan:chomoej1.png}}
 +
 +===== Sumas sobre cifrado Homomórfico =====
 +
 +{{drawio>pan:chsuma.png}}
 +
 +===== Multiplicación de cifrado homomórfico contra una pequeña constante =====
 +
 +{{drawio>pan:chmultcons.png}}
 +
 +**NOTA**: Si el valor de C es muy grande puede descuadrarse todo al multiplicarse el error.
 +
 +===== Descomposición gadget =====
 +
 +La descomposición gadget consiste en tomar un número grande y descomponerlo en bloques. Esto se usa en las multiplicaciones con cifrado homomórfico para evitar que se descuadren los valores.
 +{{drawio>pan:descgadget1.png}}
 +
 +La descomposición gadget permite calcular varios factores de la constante C. Se tienen en cuenta los siguientes datos:
 +  * C: Constante a descomponer
 +  * B: En cuantos trozos se va a descomponer, normalmente equivale al número de restos que obtenemos.
 +  * P: Valor de la potencia de 2 que se va a utilizar para realizar las divisiones.
 +{{drawio>pan:descgadget2.png}}
 +
 +==== Descomposición Gadget en el Cifrado Homomórfico ====
 +
 +Gracias a la descomposición gadget podemos descomponer una multiplicación homomórfica por una constante muy grande de la siguiente forma para $(a*c, b*c)$:
 +  * $(a*c_0, b*c_0)$
 +  * $(a*c_1, b*c_1)$
 +  * $(a*c_2, b*c_2)$
 +Lo que reduce el error de forma considerable
 +<WRAP box>
 +$C = C_2*2^{P*2} + C_1*2^{P*1} + C_0*2^{P*0}$
 +</WRAP>
 +Para ello, se crean varios mensajes cifrados:
 +{{drawio>pan:descgadget3.png}}
 +
 +{{drawio>pan:descgadgetejemplo.png}}
pan/cifrado_homomorfico_v2.1766595584.txt.gz · Última modificación: 2025/12/24 16:59 por thejuanvisu