Математики, шпионы и хакеры. Кодирование и криптография | страница 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 цифр составляют четыре группы: