Selecciona Edición
Entra en EL PAÍS
Conéctate ¿No estás registrado? Crea tu cuenta Suscríbete
Selecciona Edición
Tamaño letra
ARITMÉTICA MODULAR

Del pito-pito-gorgorito al cálculo del IBAN

La aritmética modular nos sirve desde para ganar al pito-pito-gorgorito hasta para calcular el IBAN de nuestra cuenta

Estamos rodeados de dígitos de control, códigos cuyo cometido es verificar que ciertos datos, numéricos o alfanuméricos, son correctos. Nuestro DNI, del que ya hablamos en El grafo adivinador de la letra del DNI, es un ejemplo de ello. Como ya comentábamos en aquel momento, la letra del DNI no se asigna de manera aleatoria, sino que se calcula a partir del número de ocho cifras que corresponde a dicho DNI. Podéis echar un vistazo a ese enlace para ver cómo se realiza ese cálculo y también para ver cómo hacerlo de una manera muy curiosa.

Carl Friedrich Gauss pulsa en la foto
Carl Friedrich Gauss

Esto, y muchas otras cosas, lo controla una rama de las matemáticas denominada aritmética modular, rama introducida por Carl Friedrich gauss en 1801 (dentro de su gran obra Disquisitiones Arithmeticae) que ya ha aparecido en este blog en, por ejemplo, Las matemáticas de la fecha del Domingo de Resurrección y La Regla del Fin de los Días. Básicamente, calcular a mod(n) (a módulo n) es calcular el resto que queda al dividir a entre n. Por ejemplo, 23 mod(7) es 2, 45 mod(13) es 6 y 27 mod(3) es 0.

Aunque muchos no lo saben, usamos aritmética modular a diario. ¿Que no? Pensad en cómo calculamos horas o fechas. Si son las 7 de la tarde, 19 horas, y queremos saber qué hora será dentro de 8 horas, lo que hacemos es sumar 19+8=27 y luego calcular el resto de dividir entre 24 (las horas que tiene el día). Vamos, que calculamos 27 mod(24), que es 3.

Y con los meses igual. Si estamos en septiembre (mes número 9), ¿en qué mes estaremos dentro de 71 meses? Pues sumamos 9+71, que es 80, y luego calculamos 80 mod(12), que nos da 8, por lo que estaremos en agosto.

Oye, ¿y lo del pito-pito? Supongamos que queremos elegir a alguien de entre, digamos, cuatro personas (numeradas del 1 al 4), y usamos la típica cancioncita infantil para ello. Hay muchas versiones de la misma, pero aquí os voy a poner la que cantábamos nosotros:

Pito, pito, gorgorito, ¿dónde vas tu tan bonito? A la era verdadera, pim, pom, fuera.

Si contamos lo golpes que tiene la frase, nos salen 15:

Pito / pito / gorgo / rito / dónde / vas tú / tan bo / nito /

A la / era / verda / dera / pim / pom / fuera

Y como 15 mod(4) es 3, lo que sabemos es que la canción acabará en la persona número 3. Así que podemos acabar eligiendo a quien queramos comenzando por la persona adecuada.

Los dígitos de control de una cuenta bancaria se calculan a partir del código de entidad, el de oficina y los diez dígitos del número de cuenta

Volvamos a los dígitos de control. Como decíamos, la letra del DNI es uno de ellos, pero hay más. En los códigos de barras hay dígitos de control, lo hay en los números ISBN de los libros y también los podemos encontrar en nuestras cuentas bancarias y en el más o menos moderno IBAN.

Nuestras cuentas corrientes se componen de 20 números divididos en cuatro grupos: el primer grupo, de 4 números, corresponde con el código de la entidad bancaria; el segundo, de otros 4 números, corresponde al código de la oficina donde tenemos la cuenta; el cuarto, de 10 números, es el propio número de cuenta; y el tercero, de 2 números, son los dígitos de control.

El primero de estos dígitos de control encarga de controlar si hay algún error en los códigos de entidad y oficina, y el segundo si lo hay en los 10 dígitos de la cuenta. Vamos a explicar cómo calcularos y a la vez lo iremos haciendo con un ejemplo, el número:

3741 8622 AB 0123498765

Para ambos dígitos de control necesitamos partir de números de 10 cifras. Por ello, para el primero de ellos se toman los ocho dígitos de entidad y sucursal y se le añaden dos ceros por la izquierda para obtener un número de 10 cifras. En nuestro caso, 0037418622. Después, el cálculo de los dígitos de control se hace de la misma forma en ambos casos:

- Se toman los dos números de 10 cifras obtenidos. En nuestro ejemplo, 0037418622 y 0123498765.

- En ambos, se multiplica cada una de sus cifras por, respectivamente, los números 1, 2, 4, 8, 5, 10, 9, 7, 3 y 6, que son los valores de 2n mod(11) para n de 0 a 10 (por ejemplo, 27=64, que módulo 11 es 9), y después se suman los resultados. Esto se hace para detectar trasposiciones. En nuestro caso quedaría lo siguiente:

0·1+0·2+3·4+7·8+4·5+1·10+8·9+6·7+2·3+2·6=230

0·1+1·2+2·4+3·8+4·5+9·10+8·9+7·7+6·3+5·6=313

- Se calcula el resultado de cada suma módulo 11 (es decir, el resto de dividir el resultado de la suma entre 11). En nuestro caso:

230 mod(11)=10

313 mod(11)=5

- El resultado obtenido se resta a 11. Si obtenemos un número de una cifra, ese es el primer dígito de control; si obtenemos un 10, el dígito de control es 1; y si obtenemos 11, el dígito de control es 0. En nuestro caso:

11 – 10 = 1

11 – 5 = 6

Por tanto, los dígitos de control, AB, de nuestra cuenta son 16. Podéis probar con vuestro número de cuenta y confirmar que los dígitos de control que aparecen en ella son correctos.

Los dígitos de control del IBAN involucran al CCC y sirven, como en el resto de casos, para ayudar a detectar errores

Hace unos años, concretamente a principios de 2014, entró en nuestras vidas el IBAN (International Bank Account Number), sustituyendo a partir de ese momento al CCC (Código Cuenta Cliente) y cuyo objetivo es identificar una cuenta a nivel internacional para así facilitar los pagos entre distintos países. En España, el IBAN consiste en añadir cuatro caracteres delante del número de nuestra cuenta corriente: dos letras (el código del país, ES en nuestro caso) y dos números, que son de nuevo unos dígitos de control.

¿Cómo calcular esos nuevos dígitos de control? Pues, otra vez, el cálculo de los mismos tiene que ver con la aritmética modular e involucra al CCC (vamos, a nuestro número de cuenta completo, el de 20 dígitos). Veamos cómo se calcula y hagámoslo con la cuenta que hemos usado antes, que ahora es 3741 8622 16 0123498765:

- Escribimos ES00, sustituimos las letras por su valor según el abecedario (siendo A=10 y Z=35) y colocamos el resultado a la derecha del CCC, obteniendo un número de 26 dígitos. En nuestro caso quedaría 37418622160123498765142800.

- Tomamos ese número y calculamos su módulo 97 (esto es, el resto de dividir el número entre 97). En nuestro caso:

37418622160123498765142800 mod(97) = 36.

- Restamos el resultado obtenido a 98. Si obtenemos un número de dos cifras, esas son las que van después de ES. Si obtenemos un número de una cifra, añadimos un cero a la izquierda (por ejemplo, si obtenemos un 7, quedaría ES07). En nuestro caso:

98 – 36 = 62

En consecuencia, el IBAN asociado a nuestro CCC es ES62 3741 8622 16 0123498765.


Estas son algunas aplicaciones de la aritmética modular a cuestiones relacionadas con nuestra vida diaria, ejemplos de cómo la aritmética modular puede ayudarnos a encontrar errores en códigos muy importantes en el día a día. Normalmente, las aplicaciones informáticas en las que introducimos estos números (DNI, CCC, IBAN…) implementan un programa que calcula los dígitos de control y los compara con los que nosotros hemos introducido.

Hecho esto, si el cálculo del programa no coincide con los que hemos metido nosotros, entonces hemos introducido mal algún dígito y nos avisa de que hay un error. Por desgracia, si hay coincidencia entre lo que calcula el programa y los que aportamos nosotros no podemos asegurar que todo esté correcto, ya que hay muchos números a los que les corresponden los mismos dígitos de control. De todas formas, sigue siendo una manera muy interesante e ingeniosa de aplicar las matemáticas a cuestiones de nuestro día a día.

Por otra parte, la aritmética modular es mucho más amplia que lo que muestran estas aplicaciones que hemos comentado. Hay toda una teoría alrededor de ella, tienen multitud de propiedades interesantes y se aplican a muchos otros aspectos dentro de las matemáticas. En próximas entregas hablaremos de algunas de ellas.


Para finalizar, me gustaría que, si os apetece, nos comentéis más aplicaciones de esta aritmética modular, ya sean del estilo a las presentadas hoy o relacionadas con otros campos, para así poder ampliar y enriquecer la información que aporta este artículo.

Síguenos en Twitter y en Flipboard

Más información