Математики, шпионы и хакеры. Кодирование и криптография | страница 48
Начнем с умножения на 2 цифр на нечетных позициях (4–3—4—1–0—X—7–5), сразу преобразуя результат к одной цифре.
4∙2 = 8
3∙2 = 6
4∙2 = 8
1∙2 = 2
0∙2 = 0
X∙2 = 2Х
7∙2 = 14, 14 — 9 = 5
5∙2 = 10, 10 — 9 = 1.
Складывая цифры, стоящие на четных позициях, и новые цифры на нечетных, получим:
30 + 41+ 2Х = 71 + 2Х.
Мы знаем, что число (71 + 2Х) должно быть кратно 10.
Если значение X меньше или равно 4, то для таких X (71 + 2Х) никогда не будет кратно 10.
Если же значение X больше 4, то кратно 10 должно быть выражение (71 + 2Х + 1), так как X стоит на нечетной позиции. Видим, что выражение (72 + 2Х) кратно 10 только при X = 9.
Следовательно, мы нашли потерянную цифру 9, и полный номер кредитной карты: 4539451203987356.
Штрихкоды
Первая система штрихкодов была запатентована 7 октября 1952 г. американцами Норманом Вудландом и Бернардом Сильвером. Первые версии штрихкодов отличались от сегодняшних. Вместо привычных нам линий Вудланд и Сильвер придумали концентрические круги. Впервые штрихкоды начали официально использоваться в 1974 г. в магазине города Трой, штат Огайо.
Современные штрихкоды представляют собой последовательность черных полос (которые кодируются как 1 в двоичной системе) и пробелов между ними (которые кодируются как 0). Штрихкоды используются для идентификации физических объектов. Штрихкоды, как правило, печатаются на этикетках и считываются оптическими устройствами. Это устройства, похожие на сканер, которые измеряют отраженный свет и преобразуют темные и светлые области в буквенно-цифровой код, который затем посылается на компьютер. Существует множество стандартов для штрихкодов:
Толщина штрихов и пробелов в штрихкоде соответствует двоичным цифрам.
Code 128, Code 39, Codabar, EAN (этот стандарт появился в 1976 г. в двух версиях, состоящих из 8 и 13 цифр соответственно) и UPC (Universal Product Code — универсальный код товара, используемый в основном в США и доступный также в двух версиях из 12 и 8 цифр соответственно). Наиболее распространенной является 13-значная версия EAN. Несмотря на разнообразие стандартов, штрихкоды позволяют идентифицировать любой продукт в любой части мира быстро и без существенных ошибок.
Патент системы Вудланда и Сильвера с концентрическими кругами, предшественниками современных штрихкодов.
* * *
ПРОГРАММА В EXCEL ДЛЯ РАСЧЕТА КОНТРОЛЬНОЙ ЦИФРЫ КОДА EAN-13
Штрихкод стандарта EAN-13 — это номер из 12 цифр плюс тринадцатая цифра, называемая контрольной цифрой (КЦ). 13 цифр составляют четыре группы: