[2] It is not intended to be a cryptographically secure hash function; it was designed to protect against accidental errors, not malicious attacks.
The Luhn algorithm will detect all single-digit errors, as well as almost all transpositions of adjacent digits.
The Luhn mod N algorithm is an extension that supports non-numerical strings.
Because the algorithm operates on the digits in a right-to-left manner and zero digits affect the result only if they cause shift in position, zero-padding the beginning of a string of numbers does not affect the calculation.
The algorithm appeared in a United States Patent[1] for a simple, hand-held, mechanical device for computing the checksum.
The substitution digits, that is, the results of the double and reduce procedure, were not produced mechanically.