12 de agosto de 2025
5 Leer mínimo
El truco de matemáticas ocultas en su número de tarjeta de crédito
Descubra cómo este algoritmo simple de la década de 1960 mantiene su billetera segura
Isabel Pavia/Getty Images
Estás en la pantalla de pago después de una juerga de compras en línea, lista para ingresar el número de su tarjeta de crédito. Lo escribe y ve instantáneamente un mensaje de error rojo: “Ingrese un número de tarjeta de crédito válido”. Molesto, escanea a través de cada dígito y detectas al culpable: aprovechaste la llave 6 donde pertenecía un 5. Error tipográfico corregido; Compra completa. Pero, ¿cómo detectó el sitio web su error tan rápido? ¿La plataforma en línea mantiene una lista maestra de cada número de tarjeta de crédito válido para comparar su entrada? ¿Hizo ping a tu banco en una fracción de segundo? La explicación es mucho más inteligente.
Todos los números de tarjeta de crédito convencional obedecen a truco matemático Diseñado para atrapar los errores tipográficos más comunes. Se llama algoritmo de Luhn, llamado así por Investigador de IBM Hans Peter Luhn, quien lo patentó en 1960. Los esquemas de verificación de errores similares acechan en muchos de los números que encuentra diariamente: códigos de barras, números de seguimiento de paquetes, números de cuenta bancaria e incluso ISBN en libros.
Tome una tarjeta de crédito de su billetera, y encontrará que contiene más estructura de lo que sugiere la primera mirada. La anatomía de un número de tarjeta de crédito incluye cuatro partes principales. Para demostrar, usaré mi visa personal. [Stretch your math muscles with these puzzles]
Sobre el apoyo al periodismo científico
Si está disfrutando de este artículo, considere apoyar nuestro periodismo galardonado con suscripción. Al comprar una suscripción, está ayudando a garantizar el futuro de las historias impactantes sobre los descubrimientos e ideas que dan forma a nuestro mundo hoy.

El primer dígito es el principal identificador de la industria. Las visas siempre comienzan con un 4, y descubre que siempre comienzan con un 6. Los siguientes cinco a siete dígitos identifican el banco o institución que emitió la tarjeta. Lo que queda (sin el dígito final) es su número de cuenta específico dentro de ese banco. El dígito final, a veces llamado “dígito de verificación”, no tiene nada que ver con las instituciones financieras. Los emisores lo atacan para que todo el número de tarjeta satisfaga una prueba matemática específica: el algoritmo Luhn. Así es como funciona el algoritmo:
-
Escriba todos menos el último dígito del número de tarjeta.
-
Duplique cualquier otro número comenzando a la derecha.
-
Suma el resultado dígitos (no números). Por ejemplo, si duplicó un 7 para convertirse en un 14 en el paso 2, esto se convertirá en 1 + 4 = 5 en este paso.
-
Agregue el dígito de verificación a la suma. Si el resultado no es un múltiplo de 10, entonces el número de tarjeta de crédito no es válido.
Mostraré el algoritmo de Luhn en acción en mi visa, pero también debes probarlo con tu tarjeta de crédito.

El número que cruje culmina en 75, que no es un múltiplo de 10. Por lo tanto, este no puede ser mi número de tarjeta de crédito real; Debo haberlo mordido.
Los emisores de tarjeta de crédito primero asignan los números de cuenta y luego calculan los pasos uno a tres del algoritmo Luhn para determinar el dígito de verificación apropiado. En este caso, el número de tarjeta debería haber terminado en un 3 porque 67 + 3 = 70, un múltiplo de 10.
Este baile particular de dígitos ha llegado a dominar la verificación de la tarjeta de crédito debido a su simplicidad y poderoso conjunto de características. Si arruina un solo dígito al ingresar el número de su tarjeta, el algoritmo Luhn lo detectará. Si cambia accidentalmente los dígitos de la tarjeta adyacente al ingresar, también lo detectará (con la excepción de voltear 09 a 90, o viceversa).
Matemático holandés Jacobus Verhoeff reportado en 1969 Esos dos errores, la falta de un solo dígito y el intercambio de dos dígitos vecinos del número de tarjeta de uno, cuenta para casi el 90 por ciento de todos los errores de entrada humana en la práctica. Verhoeff desarrolló un algoritmo Eso, además de detectar todos los mismos errores tipográficos que el algoritmo de Luhn, también atrapa 09/90 transposiciones, así como más resbalones exóticos. El algoritmo de Verhoeff fue un triunfo matemático. Algunos contemporáneos incluso habían publicado pruebas falsas que afirmaban que ningún dígito de cheque podría llevar suficiente información para captar todos estos errores. El algoritmo de Verhoeff nunca ganó una adopción generalizada, sin embargo, tal vez debido a su mayor complejidad sobre el algoritmo de Luhn porque el algoritmo de Luhn ya estaba desplegado e hizo un trabajo suficiente.
El algoritmo de Luhn le ahorra dinero y negocios. En algún momento durante una compra, un proveedor verificará que su tarjeta le pertenezca enviando su información a un servicio especializado de validación de tarjeta. Esta comunicación lleva tiempo e incurre en tarifas de procesamiento para el negocio. Sería una pérdida de segundos y centavos externalizar de ida y vuelta con un servicio de validación profesional para atrapar errores tipográficos comunes. Debido a que el algoritmo de Luhn requiere tan poca potencia de procesamiento, la computadora que maneja la transacción también puede ejecutar el cheque sin necesidad de contactar a ningún tercero.
Es importante destacar que el algoritmo de Luhn no garantiza un número de tarjeta de crédito válido. Bastante defecto Garantiza un inválido Número de Tarjeta de Crédito. El algoritmo pone una primera línea de defensa por la que pueden pasar los errores tipográficos menos comunes y los estafadores inteligentes. Esos casos son atrapados por los servicios de validación de tarjetas más intensivos en recursos.
¿Cómo sabe el algoritmo de Luhn cuando tus dedos sueltan? Cada dígito en un número de tarjeta de crédito aporta un número de un dígito a la suma final en el algoritmo. Si el dígito se encuentra en una posición que no se duplica, entonces solo se contribuye a la suma. Pero incluso si un dígito se encuentra en una posición duplicada, sumando los dígitos individuales del número de dos dígitos resultante siempre produce un número de un dígito nuevamente. La siguiente tabla enumera todas estas posibles contribuciones:

Por ejemplo, 6 contribuye 6 cuando está en una posición no declarada, y contribuye a 3 de una posición duplica porque 6 duplica es igual a 12 y 1 + 2 = 3. Messar un solo número mientras la escritura de su tarjeta de crédito lo cambia efectivamente hacia arriba o hacia abajo dentro de la misma columna de esta tabla y altera un término en la suma del algoritmo. Por diseño, un número de tarjeta de crédito válido da como resultado una suma que es un múltiplo de 10. Cualquier error de un solo dígito cambiará la suma por un número de un dígito, por lo que la suma errónea definitivamente no será un múltiplo de 10.
Probar formalmente que el algoritmo de Luhn detecta el intercambio de dígitos adyacentes implica algún análisis de casos, pero un ejemplo ayudará a ilustrar la idea. Imagine que tenemos la secuencia 31 en nuestra tarjeta de crédito, con los 3 en una posición duplicada. Accidentalmente ingresamos 13 en su lugar. En la suma correcta, este dúo aporta 6 + 1 = 7 (3 duplicado más 1 sin problemas), mientras que en la suma defectuosa, contribuye 2 + 3 = 5 (1 duplicado más 3 sin humo). Entonces, el error cambia en última instancia nuestra suma por 2: pasar de una contribución de 7 a una contribución de 5. Si la suma original arrojó un múltiplo de 10, entonces no hay forma de que este nuevo lo haga. Podemos verificar que esto funcione para cada par de números, excepto 09/90, que contribuyen con la misma cantidad a la suma de Luhn.
La próxima vez que una página de pago parpadea ese molesto mensaje de error, recuerde: una simple pieza de matemáticas debajo del capó simplemente ahorró un poco de tiempo y dinero para todos los involucrados.