Página principal

Comercio electrónico

Criptología y seguridad

Cuestiones legales

Intimidad y privacidad

Virus

Artículos invitados

Esquemas umbrales

Por Luis Hernández Encinas

En determinadas ocasiones una instancia superior o director no desea que determinado secreto sea conocido en su integridad por una única persona. Entonces, el director divide el secreto en varias partes o sombras, de tal forma que para recuperar el secreto en su totalidad sea necesario el concurso de terminado número de partes, siendo imposible recuperarlo con menos partes de las establecidas.

Una situación en la que se puede presentar el problema anterior es la siguiente: “una sucursal bancaria tiene 3 empleados, pero ninguno de ellos quiere tener toda la responsabilidad de conocer la combinación de la caja fuerte de la sucursal. El problema que se presenta es cómo lograr que cada mañana se abra la caja fuerte del banco para hacer los pagos necesarios, sin que la responsabilidad recaiga en un único empleado”.

Una forma de solventar este problema, de modo que la caja fuerte pueda ser abierta cada mañana, consiste en dividir la combinación de la caja en tres partes, una para cada empleado, de modo que ésta sólo pueda ser abierta cuando se unan las combinaciones parciales de, al menos, 2 de los empleados.

Los problemas similares al planteado anteriormente se conocen como esquemas umbrales m de n (el problema anterior del banco se conoce como esquema umbral 2 de 3, dado que la combinación de la caja se divide en 3 partes y es necesario reunir, al menos, 2 de ellas para poder abrirla). Los esquemas umbrales tienen dos valores que los definen: el número de personas necesarias para obtener el secreto (m) y el número de participantes (n).

En general, un esquema umbral para dividir el secreto S, en m partes (llamadas sombras) y en el que hay n participantes, debe cumplir las siguientes condiciones:

1. Cada participante recibe de forma secreta una sombra de las n en que se ha dividido el secreto.

2. Cualesquiera m participantes pueden determinar el valor del secreto sin más que compartir las sombras que cada uno de ellos posee.

3. Ningún grupo de m-1 participantes, o menos, puede conocer ninguna información sobre el valor secreto.

En estos esquemas el director lleva a cabo el proceso de dividir el secreto en las n sombras y entrega, secretamente, cada una de las sombras a cada uno de los participantes.

Para conocer cómo trabajan los esquemas umbrales, vamos a presentar un ejemplo de cómo construir un esquema umbral 2 de 2, donde el secreto es una cadena de bits. En este caso, el secreto debe romperse en 2 sombras, de modo que cada una de ellas estará formada por una colección de bits, y será necesaria la colaboración de las dos partes para recuperar el secreto original.

Supongamos que el secreto elegido por el Director es la siguiente cadena de bits: S=(01001010). El director elabora la primera de las sombras de forma aleatoria: s1=(11001101). Para construir la segunda sombra, el director utiliza la siguiente tabla de sumar:

0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1 y 1 + 1 = 0 (la tabla de sumar módulo 2).

Como se cumple que:

0 + 1 = 1, 1 + 1 = 0, 0 + 0 = 0, 0 + 0 = 0, 1 + 1 = 0, 0 + 1 = 1, 1 + 0 = 1 y 0 + 1 = 1,

la segunda sombra es: s2=(10000111).

Para recuperar el secreto, basta con que los dos participantes pongan en común sus dos sombras y las sumen, bit a bit:

1 + 1 = 0, 1 + 0 = 1, 0 + 0 = 0, 0 + 0 = 0, 1 + 0 = 1, 1 + 1 = 0, 0 + 1 = 1 y 1 + 1 = 0,

lo que proporciona el valor secreto original: S=(01001010).

Si uno de los participantes quisiera recuperar el secreto original utilizando sólo su sombra, debería suponer cuál es la sombra del otro participante. Para ello necesitaría probar, en el ejemplo anterior, un total de 2^7 = 128 posibilidades (dos valores, 0 y 1, a colocar en 7 posiciones), lo cual debería empujarle a desistir de tal intento.

El ejemplo del esquema umbral anterior puede extenderse a esquemas más generales, del tipo 2 de n y del tipo m de n, pero en este caso las bases matemáticas necesarias son un poco más complejas y no serán comentadas aquí.

Publicado en el Boletín del Criptonomicón #26.

Luis Hernández Encinas es Doctor en Ciencias Matemáticas de la Universidad de Salamanca y co-autor del libro “Técnicas Criptográficas de protección de datos”, de la editorial Ra-Ma.

Información adicional
  •  
Artículos publicados

Puedes consultarlos por temas, o también por orden de aparición en el boletín.

Enviar a un amigo

Si consideras que este artículo puede interesarle a alguien que conozcas, puedes enviárselo por correo electrónico. No tienes más que indicar la dirección del destinatario, el asunto y tu nombre.

E-mail destino:
Asunto:
Tu nombre:

 

Copyright © 1997-2000 Gonzalo Álvarez Marañón, CSIC. Todos los derechos reservados.

Criptonomicón es un servicio ofrecido libremente desde el Instituto de Física Aplicada del CSIC. Para información sobre privacidad, por favor consulte la declaración de política sobre privacidad. Para sugerencias, comentarios o quejas, acuda al libro de visitas. Para contribuir al Criptonomicón, lea la página de contribuciones.