Documente Academic
Documente Profesional
Documente Cultură
Cómo compartir
un secreto usando sistemas
Artículos
Julio 2015
79
pp. 33-39
de ecuaciones lineales
Alberto CAno rojAs
josé MAríA lunA ArizA
ÁngelA rojAs MAtAs
JulIo
2015
cantidad de publicaciones relacionadas con el tema Cuando se junten dos cualesquiera de
(Chang y otros, 2008; M. ulutas, V. nabiyev, 2009; los participantes obtendrán un sistema
r. zhao y otros, 2009; P. Y. lina, C. s. Chang, 2010; lineal de dos ecuaciones con dos incóg-
X. Hei, X. Du, 2012). Por esta razón pensamos que nitas compatible determinado cuya so-
podría ser un tema de interés para los alumnos de lución única podrán conseguir resol-
la asignatura de Álgebra lineal de primer curso de viendo el sistema, obteniendo así el
ingeniería informática. secreto.
los esquemas umbrales se pueden llevar a cabo con Por ejemplo, supongamos que en un es-
distintos métodos. el esquema umbral que vamos quema (3, 2) se sabe que la matriz A es:
a usar en ese trabajo usa los sistemas de ecuaciones
- 1 1 BD
lineales que se estudian en Álgebra lineal. AA D
A = AA 1 2 DDD
AA D
A@ 4 7 DDC
Planteamiento del esquema Al primer participante se le da 12, al se-
gundo se le da 14 y al tercero se le da 54
Vamos a ver un esquema (3, 2). Participan 3 perso- de forma secreta a cada uno de ellos.
nas y sólo cuando se junten 2 de ellas podrán recu-
perar el secreto. supongamos que el secreto es un se puede recuperar el secreto en los tres
número s. casos siguientes:
34 el dueño del secreto escoge un vector (x1, x2) donde 1) si se juntan los participantes 1 y 2
79 x1 = s (lo hace coincidir con el secreto) y x2 es elegido 2) si se juntan los participantes 1 y 3
de forma aleatoria. 3) si se juntan los participantes 2 y 3
Para cada participante i calcula: ai 1x1 + ai 2x2 = bi , Por ejemplo, si se juntan los participantes
donde los coeficientes son elegidos aleatoriamente 1 y 3, el sistema será:
también. "'
x 1 + x 2 = 12 ''
Como tenemos tres participantes, tendremos el si- $
4 x 1 + 7x 2 = 54 ''
guiente sistema lineal: '*
resolviendo obtenemos el secreto
a11 x 1 + a12 x 2 = b1 '"' x1 = s = 10. el mismo resultado se obten-
''
a 21 x 1 + a 22 x 2 = b2 $ drá en los otros dos casos.
''
a 31 x 1 + a 32 x 2 = b3 ''
'*
el dueño del secreto hace pública la matriz de los Cómo debe ser la matriz
coeficientes del sistema:
para un esquema umbral
- a BD
AA 11 a 12 DD en un esquema (4, 3) se sabe que la matriz
A DD
A = AA a 21 a 22 DD A es:
AA DD
AA a 31 a 32 DC - BD
@ AA 1 1 1 DD
A DD
A = AAA
Y le proporciona al participante 1 el valor b1 al par- 1 2 2
DD
ticipante 2 el valor b2 y al participante 3 el valor b3. AA 1 3 4 DD
AA DD
@ 1 4 7 DC
supongamos que la matriz A es de rango 2 y que
cualesquiera dos filas de A son linealmente inde- Al primer participante se le da 4, al se-
pendientes. gundo 3, al tercero 2, al cuarto 1.
AlbErto cAno roJAs, José MAríA lunA ArIzA y ÁngElA roJAs MAtAs
S79-Cano, Luna y Rojas_Maquetación 1 24/8/15 22:15 Página 35
JulIo
2015
la misma idea se aplica al segundo elemento de la - 1 1 1 0 BD f 2 E f 2 F4 f 1
lista secreta. en este caso x1 = s = 0 y x2 = 5 es elegido AA D
AA@ 4 6 | 0 1 DDC E
aleatoriamente.
y 1 = x 1 + x 2 = 5 (mod 27) E F
f 2 E f 2 F4 f 1
- B
E AAA 1 1 | 1 0 DDD =
A@ 0 2 F4 1 DC
y 2 = x 1 + 2 x 2 = 10 (mod 27) E K
- B
y 3 = 4 x 1 + 6x 2 = 30 = 3 (mod 27) E D = AAA 1 1 | 1 0 DDD(mod 27)
A@ 0 2 23 1 DC
Por último, repetimos para el tercer elemento de la
lista secreta: x1 = s = 18 y x2 = 4 que es elegido alea- Hallamos el inverso de 2 módulo 27 y re-
toriamente. sulta ser 14 ya que 2 ¥14 =28=1(mod 27).
entonces:
y 1 = x 1 + x 2 = 22 (mod 27) E V
f 2 E f 2 (14)
y 2 = x 1 + 2 x 2 = 26 (mod 27) E Z - 1 1 1 0 BD
E AA DD =
AA@ 0 2 ×14 | 23 ×14 1×14 DC
y 3 = 4 x 1 + 6x 2 = 96 = 15 (mod 27) E O
Al primer participante se le proporciona OFV, al - 1 1 1 0 BD f 1 E f 1F f 2
AlbErto cAno roJAs, José MAríA lunA ArIzA y ÁngElA roJAs MAtAs
S79-Cano, Luna y Rojas_Maquetación 1 24/8/15 22:15 Página 37
H = 1 1 =2G0
2015
corresponde con una M. De la misma forma se ob-
4 6
tienen el resto de números secretos.
entonces:
una observación: hemos tenido que resolver siste-
— Matriz adjunta de H: mas lineales de dos ecuaciones con dos incógnitas
- 6 F4 BD - 6 23 BD donde sólo se desea el valor de la primera incógnita.
AA D A
AA@ F1 1 DDC = AAA@ 26 1 DDC (mod 27)
D se podría resolver también por el método de Cramer
de la siguiente forma:
— Matriz transpuesta de la anterior:
- 6 26 BD b1 h12
AA D
AA@ 23 1 DDC h11 x 1 + h12 x 2 = b1 "' b2 h22
''
$ H x1 = (mod 27)
— Dividimos por el determinante, o lo h21 x 1 + h22 x 2 = b2 '' h h
'* 11 12
que es lo mismo, multiplicamos por h21 h22
el inverso de 2 que era 14:
- B De todas formas, se tendrá que calcular el inverso
H F1
= 2 AAA 6 26 DDD =
F1
de
A@ 23 1 DC
h11 h12
- B - B H= (mod 27)
= 14 AAA 6 26 DDD = AAA 84 364 DDD = h21 h22
A@ 23 1 DC A@ 322 14 DC 37
para poder hallar el secreto.
- B 79
= AAA 3 13 DDD (mod 27) el módulo, en este caso 27, no es primo y esto difi-
A@ 25 14 DC
culta el cálculo de matrices válidas en el esquema
observar que el último paso exige dividir umbral. Para que una matriz sea inversible, en la
por el determinante, o lo que es lo mismo, aritmética habitual, es suficiente con que su deter-
multiplicar por el inverso del determi- minante sea no nulo. eso no ocurre exactamente
nante. Por lo tanto debe ocurrir que el así cuando se trabaja con congruencias. en el caso
determinante tenga inverso módulo 27. anterior, por ejemplo, es necesario que |H| no sólo
esto se cumple siempre que sea primo sea no nulo sino que además debe ser primo relativo
relativo con el módulo. Como 2 y 27 son con el módulo 27.
primos relativos, 2 tiene inverso módulo
el uso módulos primos facilita este asunto. Así, si
27 que, como ya sabemos, era 14. en ge-
trabajamos por ejemplo, con módulo 31 que es
neral, una matriz es inversible módulo m
primo, cualquier matriz H con determinante no
si y sólo si su determinante es primo rela-
nulo será inversible y podremos calcular sin ningún
tivo con m.
problema el inverso de
el sistema se puede resolver ahora:
h11 h12
- x BD
AA 1 D - B H= (mod 31)
AA DD = H F1 AA 15 DDD = h21 h22
AA@ 12 DC
A@ x 2 DDC
- B- BD
= AAA 3 13 DDDAAA 15 DD =
A@ 25 14 DCA@ 12 DC Cómo compartir una imagen secreta
- B - BD
= AAA 201 DDD = AAA 12 DD(mod 27) el esquema umbral desarrollado anteriormente se
A@ 543 DC A@ 3 DC puede aplicar a imágenes digitales (thien y lin,
JulIo
2015
2002). una imagen digital en escala de grises no es — Haremos: x1 = g, x2 = a
más que una matriz donde cada elemento de la ma- — efectuaremos el producto:
triz nos da el nivel de gris del píxel correspondiente. - B
- x BD AA s 1 DDD
en esta sección vamos a aplicar las ideas anteriores A A D
A AA 1 DDD = AA s 2 DD (mod 251)
a la imagen secreta que se muestra en la figura 1. AA x DD AA D
@ 2 C A s DDD
Vamos a desarrollar concretamente un esquema (3, A@ 3 C
2), por ejemplo.
— entonces hacemos:
S1(i, j ) = s1, S2(i, j ) = s2, S3(i, j ) = s3,
De esta forma se obtienen las imágenes
de la figura 2. Al participante i-ésimo se
le proporciona la imagen S2.
Como vemos, ningún participante puede
ver el secreto sino que recibe una imagen
79
las imágenes en escala de grises más habituales tie-
nen 256 niveles de gris (desde 0 hasta 255). Como
trabajar módulo 256 puede traer problemas porque
256 no es primo, vamos a trabajar con 251 que es el
número primo más próximo. Cogeremos una ima-
gen en escala de grises donde el nivel de gris máximo
va a ser 250. si no es así, los valores superiores a
250 se pondrán a 250. todos los niveles de gris de
la imagen de la figura 1 están entre 0 y 250.
la matriz pública será, por ejemplo, la siguiente:
- 1 1 BD
AA D
A = AA 1 2 DDD
AA D
A@ 1 3 DDC
Crearemos tres matrices del mismo tamaño que la
imagen secreta, en principio con todos sus elemen-
tos nulos, que indicaremos por S1, S2 y S3, una para
cada participante.
A cada nivel de gris de la imagen secreta se le aplicará
el siguiente proceso:
— sea g el nivel de gris de la imagen secreta corres-
pondiente al píxel situado en la posición (i, j ).
elegiremos un valor aleatorio entre 0 y 250. Figura 2. Imágenes S1, S2 y S3
AlbErto cAno roJAs, José MAríA lunA ArIzA y ÁngElA roJAs MAtAs
S79-Cano, Luna y Rojas_Maquetación 1 24/8/15 22:15 Página 39
en escala de grises con aspecto aleatorio. el método desarrollado en este trabajo, en su versión JulIo
2015
sin embargo, cuando dos de ellos se jun- más simple, sin el uso de congruencias, puede apli-
ten sí que podrán recuperar la imagen se- carse a alumnos de bachillerato.
creta de la figura 1.
la creación de las imágenes por parte del
dueño del secreto y la posterior recupera- Referencias bibliográficas
ción de la imagen secreta la hemos reali- blAKleY, g. r. (1979), «safeguarding cryptographic
zado con Matlab pero también puede ha- keys», Proceedings of the 1979 National Computer Con-
cerse con octave, que es una versión libre ference, n.º 48, 313-317.
de Matlab. el código fuente se encuentra CHAng, C. C., C. C. lin, C. H. lin y Y. H. CHen (2008),
disponible para su descarga desde la web «A novel secret image sharing scheme in color im-
en: <http://www.uco.es/users/i52caroa/ ages using small shadow images», Information Sciences,
secretos.zip>. vol. 178, n.º 11, 2433–2447.
Hei, X. y X. Du (2012), «two matrices for blakley’s se-
cret sharing scheme», Proceedings on IEEE International
Conclusión Conference on Communications (ICC), 810-814.
linA, P. Y., y C. s. CHAn (2010), «invertible secret image
Hemos visto en este trabajo cómo el Ál- sharing with steganography», Pattern Recognition Let-
gebra lineal se puede aplicar a un tema ters, vol, 31, n.º 13, 1887–1893.
de interés para un alumno de primer curso sHAMir, A. (1979), «How share a secret», Communications
de ingeniería informática. Además usamos of the ACM, vol. 22, nº. 11, 612-613. 39
en esta actividad conocimientos que los tHien, C. C., y j.C. lin (2002), «secret image sharing», 79
alumnos trabajan en otras asignaturas de Computer and Graphics, vol. 26, nº. 5, 765-770.
primero ya que necesitan saber Programa- ulutAs, M., y V. nAbiYeV (2009), «improvements in
ción, Matemática Discreta (donde estudian geometry-based secret image sharing Approach
with steganography», Mathematical Problems in Engi-
las congruencias) y Álgebra lineal.
neering, 1-12.
Creemos que con este tipo de actividades zHAo, r., j. zHAo, F. DAi y F. zHAo (2009), «A new image
conseguimos motivar más a nuestro alum- secret sharing scheme to identify cheaters», Computer
nado. Standards & Interfaces, vol. 31, n.º 1, 252–257.