LAS MATEMÁTICAS EN LAS COMUNICACIONES

Secreto compartido.

Veamos cómo utilizar la Matemática para acceder a un sistema restringido en régimen cooperativo.

Una situación posibles es la siguiente:

tenemos doce operarios de forma que sea necesario el concurso de al menos cinco para acceder a un sistema.

Está claro que la cantidad de información necesaria es del siguiente orden:

  1. son necesarias 12 sobre 5, en total 792, claves, una por cada grupo de cinco operarios.
  2. es necesario que cada operario recuerde una clave por cada grupo de cuatro operarios, en total 11 sobre 4, esto es, 363.
  3. Sin embargo es posible desarrollar un sistema en el que sea necesaria una sola clave, y en el que cada operario recuerde solo un dato.
  4. Para ello consideramos el anillo de polinomios \(\mathbb{Q}[X]\).
  5. Se codifica la clave para obtener un elemento \(s\in\mathbb{Q}\).
  6. El supervisor del sistema elige un polinomio \(F=s+a_1X+a_2X^2+\cdots+a_nX^n\in\mathbb{Q}[X]\).
  7. Cada operario dispone de la información \((i,F(i))\), siendo \(i\), por ejemplo, el número de orden, y \(F(i)\) el valor de \(F\) en \(i\).

Está claro que \(n+1\) operarios pueden conocer el valor de la clave \(s\).
(En realidad el proceso se hace de forma que el sistema, un ordenador, calcule el valor \(s\); de esta forma el ordenador da paso al sistema al grupo de operarios. Esto no tienen por qué conocer el valor de \(s\).)

¿Cómo?

También es claro que menos de \(n+1\) operarios no podrán nunca, salvo cuestión de suerte, acceder a la clave.

¿Por qué?

RESPUESTA:

Basta hacer interpolación de Lagrange con \(n+1\) de los datos de los operarios.

ALGUNOS COMENTARIOS FINALES SOBRE EL USO DE CUERPOS FINITOS:

Este sistema no es seguro, pues \(n+1\) operarios pueden, independiente del ordenador, obtener la clave. Para evitar esto el supervisor puede generar otros tantos valores: \(F(m+1), ..., F(2m)\), si \(m\) es el número de operarios, y considerar un polinomio de grado \(m+n\) al utilizar estos \(m\) valores y los \(n+1\) proporcionados por los operarios.

Para evitar el uso de polinomios de grado alto podemos cambiar el modo de trabajo y considerar un cuerpo finito \(\mathbb{Z}_p\), donde \(p\) es un entero primo, que puede ser tan grande como queramos. De esta forma el supervisor puede mantener secreto, junto con los coeficientes del polinomio, este número, y ahora sí que ningún grupo de operarios puede acceder el valor de \(s\) independientemente del sistema.

ANTERIOR      ---     SIGUIENTE