El uso de la aritmética módulo 11

En un mundo globalizado, la necesidad de estándares para caracterizar e iden­tificar productos ha traído a la vida diaria el empleo de la aritmética modular. Tanto los códigos de libros, como de cuentas bancarios y de contenedores, em­plean la aritmética módulo 11 para calcular sus dígitos de control de errores.

El código ISBN (International Standard Book Number), que hoy lleva cada publi­cación, fue diseñado en 1966 como identificador único que permitiese acceder a ella desde cualquier parte del mundo, convirtiéndose en un estándar en 1970 (y reformado en 2007, para poder ser representado como código de barras). A los 9 primeros dígitos x1 x2 x3 x4 x5 x6 x7 x8 x9, que codifican el país (o lengua de origen), el editor y el número del artículo, se añade un dígito de control d que se calcula:

x1+2x2+3x3+4x4+5x5+6x6+7x7 +8x8+9x9 d (mod 11)

Si conocemos que un número en base 10 tiene por resto módulo 11 la diferencia de la suma de sus dígitos en posición impar de la suma de los que están en posi­ción par, podemos hacer ese cómputo con aritmética elemental. Por ejemplo para el código 0-306-40615 su dígito de control es d 10+23+30+46+54+ 60+ 76+ 81+95 6+ 2-2-2+8+1 2 (mod 11). Cuando el resto es 10, se emplea la letra X como dígito de control, lo cual representó un problema para el tratamien­to informático del código (pues precisaba un campo alfanumérico). Cuando comenzó el uso de los códigos de barras, el ISBN se convirtió en ISBN-13, prece­diéndolo por 978 y empleando el cálculo del dígito de control del EAN-13 (que, como usa aritmética módulo 10, proporciona siempre un dígito).

Desde 1989, las cuentas bancarias en España se identificaban por el Código Cuenta Cliente (CCC), recomendado por el Consejo Superior Bancario y la CECA (Confederación Española de Cajas de Ahorro). El código está formado por 4 cifras que identifican la entidad, 4 para la sucursal, dos rotuladas D.C. (dígitos de control) y 10 para el número de cuenta. Los dígitos de control (el primero verifica los 8 dígitos entidad-sucursal y el segundo los 10 de la cuenta) son el resultado módulo 11 del producto escalar de cada uno de los vectores de dígitos por un vector de pesos, que es la progresión geométrica de razón 2 que comienza en 7 y en 10, respectivamente. A causa de esa definición, los campos deben ser completados siempre con ceros a la izquierda. Además, si el dígito de control vale 10 se substi­tuirá por 1, lo cual es un error de diseño que disminuye la eficacia del código. Otro fallo de diseño es que, si se intercambia el segundo dígito de control y el pri­mer dígito del número de cuenta, resulta también un código válido (otra de las trasposiciones de dígitos que no detecta el protocolo CCC).

En febrero del 2014, se convirtió en obligatorio el International Bank Account Number, el cual, según la norma ISO 13616 de 1997, consiste en anteponer infor­mación adicional al formato de número de la cuenta de cada país. En el caso de de España, se anteponen al CCC, las dos letras que codifican el país, ES, y dos dígitos de control que se calculan con un algoritmo mínimo. En el caso de España los dos dígitos de control del IBAN son 98 – Mod(CCC142800; 97), la diferencia entre 98 y el resto módulo 97 del número de 26 cifras formado por el CCC segui­do de 14 (por E), 28 (por S) y dos ceros (si el resto es menor que 10, el primero de los dígi­tos de control es un 0). En vez de los 20 dígitos del CCC se ha pasado a 24 caracte­res alfanuméricos, en el caso de España. En los 70 países que emplean el IBAN, la longitud del código (incluidas las dos letras) va desde 15 (Noruega) a 32 (Santa Lucía), aunque otros 11 países emplean 24 (Andorra, Arabia Saudí, Chequia, Eslo­vaquia, España, islas Vírgenes Británicas, Moldavia, Pakistán, Rumania, Suecia, Túnez). Además de su validez internacional, el IBAN detecta algunos de los erro­res que se le escapan al CCC (incluso de un sólo dígito).

Captura de pantalla 2019-04-16 a la(s) 13.56.38
IBAN mejora CCC

Aunque menos conocido que los anteriores, el control del tráfico de contenedo­res utiliza códigos alfanuméricos cuyo dígito de control también se calcula módulo 11. Todo contenedor que transita por aguas internacionales (y hoy en día existen buques que cargan 20.000, cada uno de ellos) debe estar registrado en el Bureau International du Container y llevar códigos de identificación siguiendo la normativa ISO 6346 de 1995. Las explicaciones del cálculo del dígito de control aparecen como mínimo complicadas, incluso en buenos manuales (como el Manual sobre control de contenedores (2013) Comunidad Andina-UE, pg 9). Si se explica la “aritmética del reloj de 11 horas” y se da una tabla de codificación de las letras en ella, es sencilla la verificación del dígito de control (salvando incluso el problema de obtener resto 10, para el que se recomienda cambiarle su numera­ción pues se representaría con 0).

Captura de pantalla 2019-04-16 a la(s) 13.57.02
código contenedores

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s