>> Very vaguely similar real world example: The last digit in >> your >> VISA etc card number is a checksum which is derived in a complex >> but > The LUHN check was intended to guard against manual entry errors. But is sufficiently obscure in form that, while easily computed mentally, would never have it's algorithm be discovered by mistake or without determined analysis. Which points to it being meant to be a bit "hidden" as well as being for data checking. Otherwise a more direct modulo 10 sum would (I think, probably) be just as effective and error immune. (ie - not very error immune as it uses only a single digit with 10 choices. RM -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist