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 ...
18-06-2023

 


Definición 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 tarjetas de créditos, números IMEI, números de Identificador Nacional de Proveedor en los Estados Unidos, los números del seguro social canadiense, los números de identificación de Israel y los números de seguridad social griegos (ΑΜΚΑ), entre otros.

Se conoce también como fórmula Luhn y algoritmo de módulo 10 (Modulus 10 Algorithm).

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

El algoritmo es de dominio público y se usa ampliamente en la actualidad. Está especificado en ISO / IEC 7812-1.

No pretende ser una función hash criptográficamente segura; fue diseñado para proteger contra errores de tipeo accidentales, pero no de ataques maliciosos.

La mayoría de las tarjetas de crédito y muchos números de identificación del gobierno usan el algoritmo como un método simple para distinguir números válidos de números 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: el número de tarjeta de crédito se divide en dígitos individuales, se multiplica alternativamente por 2 y se suman los dígitos individuales. Si un dígito es mayor que 9, se resta 9 del resultado final. El algoritmo toma la suma total y la divide por 10. Si el resto es 0, el número es válido.

Un ejemplo sería el número de tarjeta de crédito 4111 1111 1111 1111:

- Se toma el último número, 1, como dígito de comprobación.
- Se suman los dígitos alternativamente multiplicando por 2: 4x2 + 1x2 + 1x2 + 1x2 + 1x2 + 1x2 + 1x2 + 1x2 = 16.
- Se suman los otros dígitos que no se multiplicaron: 4 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 11.
- Se suman los resultados de los dos pasos anteriores: 16 + 11 = 27.
- Se resta 9 de cada dígito mayor que 9: 27 - 9 - 9 = 9.
- Se suma el dígito de comprobación: 9 + 1 = 10.
- Se divide por 10 y se comprueba si el resto es 0: 10 modulus 10 = 0. El número es válido.


Resumen: algoritmo Luhn



El algoritmo de Luhn es utilizado para validar números de identificación como tarjetas de crédito. Fue creado por Hans Peter Luhn en 1954 y se usa ampliamente en la actualidad. No es seguro contra ataques maliciosos, pero ayuda a detectar errores de tipeo. El código funciona sumando y realizando operaciones en los dígitos del número de identificación y luego verifica si el resultado es divisible por 10.




¿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. Se aplica a cada dígito del número, multiplicando por 2 los dígitos en posiciones pares (comenzando desde la derecha) y restando 9 si el resultado es mayor a 9. Luego se suma todos los dígitos obtenidos y se verifica si el resultado es divisible por 10.


¿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 es utilizada para estandarizar la numeración de tarjetas de identificación bancarias y de crédito, y define el algoritmo de Luhn como un método simple de validación de números.





Autor: Leandro Alegsa
Actualizado: 18-06-2023

¿Cómo citar este artículo?

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

Diccionario informático



 


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




* ACLARACIÓN: el asistente ha sido entrenado para responder tus dudas con muy buenos resultados, pero puede equivocarse, esta tecnología aún está en desarrollo. Te sugiero dejar tu email para que te contactemos para corregir la respuesta de la IA: leemos todas las consultas y respuestas.


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