 Y con este vídeo llegamos al fin del módulo 3, así que una vez familiarizados con las matrices, los polinomios llegó el momento de resolver el reto. Recordemos en primer lugar en qué consistía. Teníamos una clave secreta que permitía garantizar la seguridad de una cierta votación electrónica y pretendíamos dar a cada uno de los partidos cierta información de manera que, si todos se ponían de acuerdo, podían recuperar la clave, mientras que, si algún subconjunto de ellos intentaba recuperarlo, no tendría ninguna información de ella. Una primera aproximación consistiría en dar de las ocho cifras que componen la clave un par a cada uno de los partidos, indicando la posición que ocupan. Así, por ejemplo, al partido azul se le pueden dar las dos primeras cifras, al verde, la tercera y la cuarta, al lila, la quinta y la sexta y, finalmente, al naranja, las dos últimas. Pero observar que, individualmente, un partido tiene información, puesto que sabe, dos de las ocho cifras posibles. Y todavía más, si dos de los partidos se confagulan, pasarán a conocer la mitad de las cifras que componen la clave, así suponiendo que todas las cifras son igualmente probables, haciendo un ataque de fuerza bruta como los que vimos en el módulo 2, estarían a tener que probar con, en lugar de 10 a la 8, posibilidades tan solo 10 a la 4 posibles claves. Por lo tanto, esta aproximación no cumple los requisitos que buscábamos. Más concretamente, nuestro objetivo será dividir un secreto S perteneciente a algún cuerpo finito, fijado a priori, en N fragmentos, así es como llamaremos a la pieza de información que recibirá cada uno de los partidos, de la siguiente manera, conociendo al menos T de los fragmentos se puede recuperar el secreto S, mientras que, si menos de T intentan recuperarlo, no obtienen ninguna información sobre el secreto. Así tendremos un secreto S y lo dividiremos en N fragmentos, donde N será el número de partidos o participantes entre los que tengamos que repartir la información, y T se conoce como el umbral y que será un valor fijado al inicio, y menor que N, y que terminará el número de participantes, en este caso de partidos, que se tienen que reunir para poder recuperar el secreto. En el ejemplo inicial, tanto N como T tenían el mismo valor y valían 4, pero buscaremos una solución para el caso general. Describiremos a continuación en qué consiste un esquema para compartir secretos, en particular la aproximación de Shamir, la S del cifrado RSA que vimos en el módulo 2 y que data de la década de los 70. Concede una primera fase denominada fase de distribución, donde una persona de confianza llamada comúnmente distribuidor se encarga de repartir el secreto entre los participantes. Para ello elige aleatoriamente un polinomio Q de X con coeficientes en el cuerpo finito de los enteros módulo P, de tal manera que el término independiente sea el secreto S que se quiere compartir y que tenga grado T-1. El polinomio es secreto y solo lo conocerá el distribuidor. A continuación, el distribuidor numera públicamente a cada uno de los partidos y envía a cada uno de ellos su fragmento de manera segura de la siguiente manera. Al primero le corresponde la evaluación del polinomio en 1, al segundo la evaluación en 2, en 3 y al último en el valor 4. Una vez cada uno tiene su fragmento llega la fase de reconstrucción donde con un umbral fijado supongamos que en este caso el umbral vale 2, cualquier conjunto de al menos 2 partidos podrá recuperar el secreto. Supongamos que el partido naranja y el partido lila deciden recuperar el secreto, deberían conseguirlo puesto que se ha fijado el umbral como 2. Para comenzar el partido naranja sabe que su fragmento corresponde a evaluar un cierto polinomio de grado 1 unidad menos que el umbral, esto es 2 menos 1 será de grado 1 por lo que podemos suponer que el polinomio tiene esta forma. Si pues el fragmento sabe que corresponde a esta expresión de aquí, donde no conoce ni A ni S, así S2 será de la forma S más un cierto A por 2, donde S es el secreto. De la misma manera el valor y el fragmento S4 que conoce el partido lila será, tendrá la expresión S más A por 4. Observar que tanto los fragmentos S1 y S2 como los valores 2 y 4 son conocidos por los partidos que están intentando recuperar el secreto, mientras que el secreto S y el valor A, uno de los coeficientes, son desconocidos para ambos. Pero en realidad lo que tenemos es un sistema lineal de dos ecuaciones con dos incógnitas que podemos expresar de esta manera en forma matricial, solo se trata de resolver el sistema lineal y utilizar por ejemplo la eliminación de Gauss como hemos visto en este módulo y podrán recuperar el secreto que estaban compartiendo. Un punto importante a destacar es que la aritmética que se utiliza en todo este proceso es en el cuerpo finito de los enteros módulo el primo P que hemos considerado, por lo que es importante tenerlo presente a la hora de realizar los cálculos aritméticos. Aunque no lo probaremos, es sencillo probar que cualquier subconjunto que no tenga el cardinal, que sea menor que el cardinal del umbral fijado, no puede obtener ningún tipo de información sobre el secreto. Veamos el siguiente ejemplo numérico. Supongamos que el primo que consideramos es P igual a 23 y que el umbral lo fijamos a 3. Así pues, se ponen de acuerdo al menos 3 de los 4 partidos, sean los que sea, para poder recuperar el secreto mientras que en caso contrario no obtendrán el secreto, sean estos los fragmentos que reciben cada uno de los partidos. Nos preguntamos pues cuál es el secreto que comparten. El partido azul sabe que al ser el umbral 3, su fragmento corresponde a evaluar un cierto polinomio que no conoce en el valor 1, lo que lo puede expresar por lo tanto de esta manera. El partido verde sabe que lo puede expresar así y de manera similar el lila. Desconocen el secreto y los coeficientes a 1 y a 2, que son los coeficientes de los polinomios con los que se repartió el secreto, por lo que tienen un sistema lineal de tres ecuaciones con tres incógnitas que lo podemos expresar de esta forma matricial. Pero justamente estos tres partidos ya vieron el vídeo relacionado con la eliminación de Gauss donde se veía la solución de este sistema y en particular que el secreto la S valía 2, por lo que conocen el secreto. Y antes de acabar el módulo os proponemos que intentéis resolver una situación similar a la que os acabamos de plantear y ver cuál es el secreto que están compartiendo estos tres participantes si estos son los fragmentos que han recibido del distribuidor. Estamos suponiendo que el umbral que se ha utilizado es T igual a 2 y que se está considerando el cuerpo de los enteros módulo 41.