Βρίσκεστε στην οθόνη του υπολογιστή σας λίγο πριν την ολοκλήρωση μιας διαδικτυακής αγοράς, έτοιμοι να εισαγάγετε τον αριθμό της πιστωτικής σας κάρτας. Τον πληκτρολογείτε και βλέπετε ακαριαία ένα κόκκινο μήνυμα σφάλματος: «Παρακαλώ εισάγετε έναν έγκυρο αριθμό πιστωτικής κάρτας». Ενοχλημένοι, ελέγχετε κάθε ψηφίο και βρίσκετε τον ένοχο: σε ένα από τα ψηφία του αριθμού πληκτρολογήσατε το 4 αντί για το 3. Διορθώνετε το λάθος και η αγορά ολοκληρώνεται.
Πώς κατάφερε ο ιστότοπος να εντοπίσει το λάθος σας τόσο γρήγορα; Διατηρεί η ηλεκτρονική πλατφόρμα λίστα με κάθε έγκυρο αριθμό πιστωτικής κάρτας για να συγκρίνει την καταχώρισή σας; Μήπως έστειλε μήνυμα στην τράπεζά σας και πήρε απάντηση σε κλάσματα δευτερολέπτου; Η εξήγηση είναι πολύ πιο έξυπνη.
Όλοι οι συμβατικοί αριθμοί πιστωτικών καρτών υπακούουν σε ένα μαθηματικό κόλπο που σχεδιάστηκε για να εντοπίζει τα πιο συνηθισμένα τυπογραφικά λάθη. Ονομάζεται αλγόριθμος Luhn, από τον ερευνητή της IBM, Hans Peter Luhn, ο οποίος τον κατοχύρωσε με δίπλωμα ευρεσιτεχνίας. Παρόμοιοι αλγόριθμοι σφαλμάτων κρύβονται σε πολλούς από τους αριθμούς που συναντάτε καθημερινά: ραβδωτοί κώδικες, αριθμοί παρακολούθησης δεμάτων, αριθμοί τραπεζικών λογαριασμών, ακόμα και το ISBN σε βιβλία.
Πάρτε μια πιστωτική κάρτα από το πορτοφόλι σας και θα διαπιστώσετε
ότι έχει περισσότερο βάθος από ό,τι φαίνεται με την πρώτη ματιά. Η
ανατομία ενός αριθμού πιστωτικής κάρτας περιλαμβάνει τέσσερα βασικά
τμήματα: Το πρώτο ψηφίο είναι ο κύριος αναγνωριστικός αριθμός του είδους
της κάρτας π.χ. οι κάρτες Visa ξεκινούν πάντα με 4 και οι Discover
ξεκινούν πάντα με 6. Τα επόμενα πέντε έως επτά ψηφία υποδεικνύουν την
τράπεζα που εξέδωσε την κάρτα. Αυτό που απομένει (εκτός από το τελευταίο
ψηφίο) είναι ο συγκεκριμένος αριθμός λογαριασμού σας σε αυτήν την
τράπεζα. Το τελευταίο ψηφίο, που μερικές φορές ονομάζεται «ψηφίο
ελέγχου», δεν έχει καμία σχέση με τα χρηματοπιστωτικά ιδρύματα. Ο
αριθμός αυτός προστέθηκε έτσι ώστε ολόκληρος ο αριθμός της κάρτας να
ικανοποιεί μια συγκεκριμένη μαθηματική δοκιμασία – τον αλγόριθμο Luhn.
Δείτε πώς λειτουργεί ο αλγόριθμος σε μια κάρτα με αριθμό 4012 8888 8888 1881:
Διπλασιάζουμε κάθε δεύτερο αριθμό ξεκινώντας από τα δεξιά. Αθροίζουμε τα ψηφία που προκύπτουν (όχι τους αριθμούς). π.χ. αν διπλασιάσετε ένα 8 για να γίνει 16, στην τρίτη σειρά, θα γίνει 1+6 = 7. Προσθέτουμε τα ψηφία που προέκυψαν στην τρίτη σειρά (συν το ψηφίο ελέγχου), και αν το αποτέλεσμα δεν είναι πολλαπλάσιο του 10, τότε ο αριθμός της πιστωτικής κάρτας δεν είναι έγκυρος. Δοκιμάστε το σε μια δική σας κάρτα.
Οι εκδότες πιστωτικών καρτών φροντιζουν ώστε να ικανοποιείται ο αλγορίθμος Luhn με το κατάλληλο ψηφίο ελέγχου. Στην περίπτωση της εικόνας ο αριθμός της κάρτας θα έπρεπε να τελειώνει σε 1 ώστε 89 + 1 = 90 (=πολλαπλάσιο του 10).
Αυτός ο συγκεκριμένος κανόνας ψηφίων κυριάρχησε στην επαλήθευση πιστωτικών καρτών λόγω της απλότητας και της ταχύτητάς του. Αν κάνετε λάθος σε οποιοδήποτε ψηφίο κατά την εισαγωγή του αριθμού της κάρτας σας, ο αλγόριθμος Luhn θα το ανιχνεύσει. Αν κατά λάθος αλλάξετε γειτονικά ψηφία κάρτας κατά την εισαγωγή, θα το ανιχνεύσει και αυτό – με μόνη εξαίρεση την αλλαγή από 09 σε 90 ή αντίστροφα. Γι αυτό, η επιτυχία του αλγορίθμου του Luhn δεν εγγυάται έναν έγκυρο αριθμό πιστωτικής κάρτας. Αντιθέτως, η αποτυχία του αλγορίθμου εγγυάται έναν μη έγκυρο αριθμό πιστωτικής κάρτας.
διαβάστε περισσότερα:
1. The Math Trick Hidden in Your Credit Card Number – https://www.scientificamerican.com/article/what-is-the-luhn-algorithm-the-math-behind-secure-credit-card-numbers/
2. Αλγόριθμος του Λουν – https://el.wikipedia.org/wiki
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου
Το blog TEO O ΜΑΣΤΟΡΑΣ ουδεμία ευθύνη εκ του νόμου φέρει σχετικά σε άρθρα που αναδημοσιεύονται από διάφορα ιστολόγια. Δημοσιεύονται όλα για την δική σας ενημέρωση.