| Proyecto Integral de Ingeniería del Software | |
|---|---|
| Metodologías Ágiles |
| Trabajo Fin De Grado | |
|---|---|
| Guía Memoria TFG |
| Servidores | |
|---|---|
| Minercraft | |
| Knoppia | |
| Omegacraft |
| Base de datos de juegos | |
|---|---|
| GameBoy Advance (GBA) |
| Proyecto Integral de Ingeniería del Software | |
|---|---|
| Metodologías Ágiles |
| Trabajo Fin De Grado | |
|---|---|
| Guía Memoria TFG |
| Servidores | |
|---|---|
| Minercraft | |
| Knoppia | |
| Omegacraft |
| Base de datos de juegos | |
|---|---|
| GameBoy Advance (GBA) |
Cuando un tercero tiene que operar con nuestros datos y no queremos que los vea, se aplica cifrado homomorfico, que permite realizar operaciones sobre datos cifrados.
A la hora de operar con cifrado homomorfico se usan los siguientes componentes:
Sabiendo esto, sabemos que la clave pública (a,b) del cifrado homomorfico es:
$(a,b = S^T*a+e $ $MOD q) ∈ Z^n_q * Z_q$
Esta fórmula es solo la clave pública, si queremos proceder a realizar el cifrado utilizando esta, debemos introducir otros 2 elementos:
El cifrado homomórfico se vería de la siguiente forma:
$(a,b = S^T*a+e+Δ*m $ $MOD q)$
Cuando se mandan datos a un tercero para operar con ellos, se madan a y b
$Δ*m+e = b+S^T*a$
$m+e = (b+S^T*a)/Δ$ $MOD q$
$m = ||(b+S^T*a)/Δ - e$ $MOD q||$
NOTA: Si el valor de C es muy grande puede descuadrarse todo al multiplicarse el error.
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.
La descomposición gadget permite calcular varios factores de la constante C. Se tienen en cuenta los siguientes datos:
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)$:
Lo que reduce el error de forma considerable
$C = C_2*2^{P*2} + C_1*2^{P*1} + C_0*2^{P*0}$
Para ello, se crean varios mensajes cifrados: