Si uno recuerda cuando era joven, el DNI solo tenía números. En mi caso era, por ejemplo, 12345678.
Si yo copio el número, es fácil que me equivoque y que escriba 12395678.
¿Cómo detectarlo?
Allá por los años 198? a alguien se le ocurrió que una forma de detectar estos errores era introducir un dígito/letra de control, de forma que estos se pudiesen detectar.
Para ello se utilizó un algoritmo llamado "módulo 23" haciendo la siguiente asignación de letras:
\[ \begin{array}{|ll|ll|ll|ll|ll|}\hline 0 & T & 1 & R & 2 & W & 3 & A & 4 & G\\\hline 5 & M & 6 & Y & 7 & F & 8 & P & 9 & D\\\hline 10 & X & 11 & B & 12 & N & 13 & J & 14 & Z\\\hline 15 & S & 16 & Q & 17 & V & 18 & H & 19 & L\\\hline 20 & C & 21 & K & 22 & E & & & & \\\hline \end{array} \]
Ahora dado el número del DNI 12345678, al hacer el resto módulo 23 se tiene 14, que corresponde a la letra Z.
En cambio con el número 12395678 el resto módulo 23 es 12, que corresponde a la letra N.
El por qué no se utilizan las letras I, O y U es claro; en consecuencia el 23 está cantado, dando la casualidad de que es un número entero primo.
¿Es esto de alguna utilidad?