ALEGSA.com.ar

Definición de algoritmo Luhn

Significado de algoritmo Luhn: El algoritmo de Luhn es una fórmula de suma de comprobación que es utilizada para validar una variedad de números de identificación como números de ...
14-07-2025 20:13
¡Nos ayudas mucho si nos sigues en nuestras Redes Sociales para poder mantener este sitio totalmente gratuito!

 


Definición de algoritmo Luhn

 

El algoritmo de Luhn es una fórmula de suma de comprobación utilizada para validar distintos números de identificación, como números de tarjetas de crédito, IMEI de teléfonos móviles, números de seguro social canadiense, números de identificación de Israel y números de seguridad social griegos (ΑΜΚΑ), entre otros.

También es conocido como fórmula de Luhn o algoritmo de módulo 10 (Modulus 10 Algorithm).

Fue desarrollado por el científico de IBM Hans Peter Luhn y descrito en la patente de Estados Unidos N° 2.950.048, presentada el 6 de enero de 1954 y otorgada el 23 de agosto de 1960.

El algoritmo de Luhn es de dominio público y su uso está ampliamente difundido en la actualidad. Se encuentra especificado en la norma ISO / IEC 7812-1.

No debe considerarse una función hash criptográficamente segura, ya que su objetivo principal es detectar errores de tipeo accidentales y no proteger contra ataques maliciosos. Por ejemplo, puede detectar si un número fue ingresado con un dígito incorrecto o con dígitos invertidos, pero no impide la generación intencional de números válidos.

La mayoría de las tarjetas de crédito y muchos otros identificadores gubernamentales y comerciales emplean el algoritmo de Luhn como método simple para distinguir números válidos de aquellos mal escritos o incorrectos.


Algoritmo en pseudocódigo




function checkLuhn(string purportedCC) {

int sum := integer(purportedCC[length(purportedCC)-1])
int nDigits := length(purportedCC)
int parity := nDigits modulus 2

for i from 0 to nDigits - 2 {
int digit := integer(purportedCC[i])
if i modulus 2 = parity
digit := digit × 2
if digit > 9
digit := digit - 9
sum := sum + digit
}

return (sum modulus 10) = 0
}


El algoritmo funciona de la siguiente manera: se toman los dígitos del número de identificación, comenzando desde la derecha. A cada segundo dígito (empezando por el penúltimo) se lo multiplica por 2. Si el resultado es mayor que 9, se le resta 9. Luego, se suman todos los dígitos (modificados y no modificados). Si el total es divisible por 10, el número es considerado válido.

Ejemplo:

Para el número de tarjeta de crédito 4111 1111 1111 1111:

  • Se toma el último dígito (1) como dígito de comprobación.

  • Desde el penúltimo dígito hacia la izquierda, se multiplican por 2 los dígitos en posición par: 1x2, 1x2, 1x2, etc.

  • Si algún resultado es mayor que 9, se le resta 9.

  • Se suman todos los dígitos (modificados y no modificados) junto con el dígito de comprobación.

  • Si la suma total es múltiplo de 10, el número es válido.



  • Resumen: algoritmo Luhn



    El algoritmo de Luhn permite validar números de identificación como tarjetas de crédito de manera sencilla y eficiente. Fue creado por Hans Peter Luhn en 1954 y se utiliza ampliamente en la actualidad para detectar errores de tipeo. El código se basa en operaciones aritméticas simples sobre los dígitos y verifica si la suma cumple con la condición de divisibilidad por 10.


    Ventajas y desventajas del algoritmo de Luhn




    • Ventajas:

      • Implementación sencilla y rápida.

      • Detecta la mayoría de los errores de tipeo accidentales (como un solo dígito incorrecto o dos dígitos adyacentes intercambiados).

      • Requiere pocos recursos computacionales.



    • Desventajas:

      • No es seguro contra ataques maliciosos, ya que es fácil generar números que pasen la validación.

      • No detecta todos los posibles errores (por ejemplo, si dos dígitos separados se intercambian).






    Comparación con otros métodos de validación



    A diferencia de funciones hash criptográficas o firmas digitales, el algoritmo de Luhn no ofrece protección contra manipulación intencional o fraude. Su propósito es exclusivamente la detección de errores accidentales y no la seguridad.


    ¿Cuál es la finalidad del algoritmo de Luhn?



    El algoritmo de Luhn tiene como finalidad validar números de identificación como tarjetas de crédito, números IMEI, números de seguro social, entre otros, para distinguir números válidos de números mal escritos o incorrectos.


    ¿Quién creó el algoritmo de Luhn?



    El algoritmo de Luhn fue creado por Hans Peter Luhn, un científico de IBM. Fue descrito en la patente de los Estados Unidos No. 2.950.048, presentada en 1954 y otorgada en 1960.


    ¿En qué consiste el algoritmo de Luhn?



    El algoritmo de Luhn es una fórmula de suma de comprobación que se utiliza para validar números de identificación. Consiste en multiplicar por 2 los dígitos en posiciones pares (comenzando desde la derecha), restando 9 si el resultado es mayor a 9, y sumando todos los dígitos. Si la suma es divisible por 10, el número es válido.


    ¿El algoritmo de Luhn es seguro para proteger contra ataques maliciosos?



    No, el algoritmo de Luhn no es una función hash criptográficamente segura y no fue diseñado para proteger contra ataques maliciosos. Su objetivo principal es detectar errores de tipeo accidentales, no garantizar seguridad en las transacciones.


    ¿Qué tipos de números de identificación se pueden validar usando el algoritmo de Luhn?



    El algoritmo de Luhn se puede utilizar para validar números de identificación como tarjetas de crédito, números IMEI, números de seguro social canadiense, números de identificación de Israel y números de seguridad social griegos (ΑΜΚΑ), entre otros.


    ¿Dónde está especificado el algoritmo de Luhn?



    El algoritmo de Luhn está especificado en la norma ISO/IEC 7812-1. Esta norma se utiliza para estandarizar la numeración de tarjetas de identificación bancarias y de crédito, definiendo el algoritmo de Luhn como un método simple de validación de números.





    Autor: Leandro Alegsa
    Actualizado: 14-07-2025

    ¿Cómo citar este artículo?

    Alegsa, Leandro. (2025). Definición de algoritmo Luhn. Recuperado de https://www.alegsa.com.ar/Dic/algoritmo_luhn.php

    Diccionario informático



    Compartir nota:

     


    articulos
    Asistente IA
    Escribe tu consulta sobre informática y tecnologías al asistente de Inteligencia Artificial
    ¡te responderá en segundos!




    * ACLARACIÓN: Sugerimos dejar tu email si quieres que te contactemos para una respuesta de nuestro staff o corregir la respuesta de la IA.


    Nuestras Redes

    Puedes seguirnos y contactarnos en nuestras redes.
    Facebook
    WhatsApp
    Instagram
    Facebook Horoscopo

    Usa nuestro buscador para definiciones, informática y tecnologías