3 Maggio 2021 20:27

Algoritmo di Luhn

Cos’è l’algoritmo di Luhn?

L’algoritmo di Luhn, noto anche come “algoritmo modulo 10”, è una formula utilizzata per determinare se il numero di identificazione fornito da un utente è accurato. La formula è ampiamente utilizzata per convalidare i numeri di carte di credito, nonché altre sequenze numeriche come i numeri di previdenza sociale (SSN) del governo.

Oggi, l’algoritmo di Luhn è un componente essenziale nel sistema di pagamenti elettronici ed è utilizzato da tutte le principali carte di credito.

Punti chiave

  • L’algoritmo di Luhn è una formula matematica sviluppata alla fine degli anni ’50.
  • È ampiamente utilizzato per convalidare l’autenticità dei numeri di identificazione.
  • In finanza, ha contribuito ad aumentare l’elaborazione dei pagamenti elettronici identificando rapidamente i numeri di carte di credito immessi in modo errato.

Come funziona l’algoritmo di Luhn

L’algoritmo della formula LUHN è stato sviluppato da un informatico tedesco di nome Hans Peter Luhn nel 1954 mentre lavorava come ricercatore presso IBM.  L’esatto funzionamento dell’algoritmo si basa sull’aritmetica modulare, una tecnica matematica sviluppata da Carl Friedrich Gauss all’inizio del XIX secolo. Sebbene il suo funzionamento dettagliato sia piuttosto complesso, è meglio conosciuto per consentire ai computer di valutare rapidamente se i numeri di carta di credito forniti dai clienti sono accurati.

Il modo in cui lo fa è applicando una serie di calcoli al numero di carta di credito fornito, sommando i risultati di quei calcoli e controllando se il numero risultante corrisponde al risultato atteso. In caso affermativo, il numero di credito è considerato valido. In caso contrario, l’algoritmo rifiuterà il numero della carta di credito, indicando che l’utente ha commesso un errore durante l’inserimento del numero.

Dal punto di vista del cliente, utilizziamo sempre l’algoritmo di Luhn, senza nemmeno rendercene conto. Quando si effettuano ordini online o si utilizza il terminale del punto vendita (POS) di un commerciante, i sistemi informatici sono in grado di rilevare rapidamente quando si è commesso un errore durante l’inserimento delle informazioni. Questo perché l’algoritmo di Luhn è stato incorporato nella programmazione di quei sistemi. Senza di esso, dovremmo attendere l’inoltro dell’intero ordine di acquisto prima di renderci conto se la transazione è stata approvata. L’algoritmo di Luhn, in altre parole, ci aiuta a identificare rapidamente gli errori degli utenti e quindi ad accelerare il ritmo delle transazioni “.

Esempio reale dell’algoritmo di Luhn

Uno dei concetti centrali all’interno dell’algoritmo di Luhn è l’uso delle cosiddette “cifre di controllo”. Queste cifre sono costituite da numeri che vengono inseriti nella sequenza numerica più ampia per aiutare a verificare, o “controllare”, se l’intero numero è autentico.

Per le carte di credito, la cifra di controllo è costituita da una singola cifra stampata alla fine del numero della carta di credito. Piuttosto che essere specificatamente scelta dalla società della carta di credito, la cifra di controllo viene invece determinata automaticamente dall’algoritmo di Luhn, in base ai numeri precedenti nella sequenza. Quando gli utenti inseriscono il numero della propria carta di credito per completare le transazioni, il software di elaborazione dei pagamenti può utilizzare l’algoritmo Luhn per rilevare se il numero specificato è accurato, in parte basato sulla sua cifra di controllo.

Oggi, l’algoritmo di Luhn è integrato nei più diffusi linguaggi di programmazione e librerie di codici, rendendo relativamente facile includere la verifica del numero di identificazione basata su Luhn nelle nuove applicazioni software.