Читаем Математики, шпионы и хакеры. Кодирование и криптография полностью

Патент системы Вудланда и Сильвера с концентрическими кругами, предшественниками современных штрихкодов.

* * *

ПРОГРАММА В EXCEL ДЛЯ РАСЧЕТА КОНТРОЛЬНОЙ ЦИФРЫ КОДА EAN-13

Штрихкод стандарта EAN-13 — это номер из 12 цифр плюс тринадцатая цифра, называемая контрольной цифрой (КЦ). 13 цифр составляют четыре группы:

* * *

Стандарт штрихкода EAN-13

Стандарт EAN в момент создания в 1976 г. являлся аббревиатурой (European Article Number — европейский номер товара), а сейчас известен как Международный номер товара. Это наиболее устоявшийся стандарт штрихкодов, используемый во всем мире. Штрихкоды EAN обычно состоят из 13 цифр, представленных черными полосами и пробелами, вместе образующими двоичный код, который легко читать. EAN-13 изображает эти 13 цифр с помощью 30 черных и белых полос. Цифры делятся на три группы: первая, состоящая из двух или трех цифр, обозначает код страны; вторая, состоящая из 9 или 10 цифр (в зависимости от длины кода страны), указывает компанию и продукт, и третья, состоящая из единственной цифры, выступает в качестве контрольного кода. Для штрихкода ABCDEFGHIJKLM эти группы выглядят так:

Первые три цифры (АВС) обозначают код страны, производящей товар. Для России этот код может быть от 460 до 469. Для некоторых стран этот код может быть двузначным; тогда третья цифра входит в следующую группу.

Следующие шесть цифр (DEFGHI) обозначают компанию, производящую продукт. В этой группе может быть 4–6 цифр.

Остальные три цифры (JKL) означают код продукта, который был выбран компанией. В этой группе может быть 3–5 цифр.

Последняя цифра (М) — контрольный код. Чтобы вычислить его, мы должны сложить цифры на нечетных позициях, начиная с левой и без учета контрольной.

К полученному значению мы прибавим утроенную сумму цифр на четных позициях. Тогда контрольная цифра дополняет общую сумму до значения, кратного 10. Как видно, контрольный алгоритм системы штрихкодов очень напоминает правило контроля кредитных карт.

Проверим, действителен ли следующий штрихкод:

8413871003049

8 + 1 + 8 + 1 + 0 + 0 + 3•(4 + 3 + 7 + 0 + 3 + 4) = 18 + 3•21 = 18 + 63 = 81.

Правильная контрольная цифра должна быть 90–81 = 9.

Математическая модель алгоритма основана на модульной арифметике (по модулю 10) и работает следующим образом.

Для штрихкода ABCDEFGHIJKLM обозначим за N следующее значение:

A + C + E + G + I + K + 3•(B + D + F + H + J + L) = N,

и пусть n будет значение N по модулю 10. Контрольная цифра М определяется как М = 10 — n. В нашем примере 81  1 (mod. 10), поэтому контрольная цифра действительно 10 — 1 = 9.

Предыдущий алгоритм можно сформулировать по-другому, используя в расчетах контрольную цифру. Следующий метод позволяет проверить правильность контрольной цифры, даже не вычисляя ее.

A + C + E + G + I + K + 3•(B + D + F + H+ J + L)  0 (mod 10).

Например, для штрихкода

5701263900544

5 + 0 + 2 + 3 + 0 + 5 + 3•(7 + 1 + 6 + 9 + 0 + 4) + 4 = 100.

100  0 (mod 10).

Значит, штрихкод действителен.

Теперь попробуем определить значение утерянной цифры в штрихкоде, а именно, цифры X в следующем коде:

401332003X497

Подставим цифры в формулу в соответствии с алгоритмом

4 + 1 + 3 + 0 + 3 + 4 + 3•(0 + 3 + 2 + 0 + X + 9) + 7 = 64 + 3X  0 (mod 10).

По модулю 10 получим следующее уравнение:

4 + ЗХ  0 (mod 10).

ЗХ = -4 + 0 = -4 + 10  6 (mod 10).

Заметим, что число 3 имеет обратный элемент, т. к. НОД (3,10) = 1.

Отсюда видим, что X должно быть 2. Поэтому правильный штрихкод

4013320032497.

* * *

Перейти на страницу:

Похожие книги

История математики. От счетных палочек до бессчетных вселенных
История математики. От счетных палочек до бессчетных вселенных

Эта книга, по словам самого автора, — «путешествие во времени от вавилонских "шестидесятников" до фракталов и размытой логики». Таких «от… и до…» в «Истории математики» много. От загадочных счетных палочек первобытных людей до первого «калькулятора» — абака. От древневавилонской системы счисления до первых практических карт. От древнегреческих астрономов до живописцев Средневековья. От иллюстрированных средневековых трактатов до «математического» сюрреализма двадцатого века…Но книга рассказывает не только об истории науки. Читатель узнает немало интересного о взлетах и падениях древних цивилизаций, о современной астрономии, об искусстве шифрования и уловках взломщиков кодов, о военной стратегии, навигации и, конечно же, о современном искусстве, непременно включающем в себя компьютерную графику и непостижимые фрактальные узоры.

Ричард Манкевич

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Математика / Научпоп / Образование и наука / Документальное