Исследование штрих-кода EAN-13 на предмет наличия в нем числа 666

ИССЛЕДОВАНИЕ ШТРИХ-КОДА EAN-13 НА ПРЕДМЕТ НАЛИЧИЯ В НЁМ ЧИСЛА 666

 

ИСХОДНЫЕ МАТЕРИАЛЫ: 


1) Иеромонах Лука, монах Продром, насельники афонского монастыря Григориат. "Штриховой код и число 666". Исследование третье (23.6.1997). Обитель преподобного Григория. 23 июня 1997 года. Использованы приведенные в работе описания штрих-кода EAN-13 и описания способов его обработки сканерами.


2) Устные высказывания двух независимых инженеров-программистов, работавших в разное время со сканерами штрих-кодов, о способе представления и передачи кодов от сканера к компьютеру.

 

ТЕРМИНОЛОГИЯ:


Код - штрих-код EAN-13. 


Штрих-символ - 2 штриха различной (в общем случае) толщины, посредством которых графически представляется любая цифра в коде.


Ограждающие штрихи - (Guard Bars, Guard Patterns) - выступающие штриховые символы в начале, середине и конце этикеток кода.


LGP - Left Guard Pattern - левый ограждающий штрих.


CGP - Center Guard Pattern - центральный ограждающий штрих.


RGP - Right Guard Pattern - правый ограждающий штрих.


Сканер - устройство для считывания штрих-кода с этикеток и передачи его в компьютер (кассовый аппарат или банкомат).

 

РЕЗУЛЬТАТЫ ИССЛЕДОВАНИЙ:


Основная предпосылка к соображению о наличии закодированного числа 666 в штрих-коде EAN-13 (далее: код) - наличие визуального сходства изображения числа 6 и изображений ограждающих штрихов этого кода. Для проверки этого сходства было произведено теоретическое сравнение графического и внутреннего представления, а также способов обработки сканером числа 6 и ограждающих штрихов кода.

 

1. Графическое представление в штрих-коде EAN-13.

1.1 Размеры изображений числа 6 и ограждающих штрихов.

 

Чтобы представить графически (в виде штрихов) любое число в коде, в том числе 6, используеся штрих-символ - вертикальная полоска, состоящая, в свою очередь, из 7 более мелких полосок, так называемых модулей, каждый из которых может быть черным или белым. Для представления ограждающих штрихов применяются полоски из меньшего (и различного) числа модулей:


    для LGP и RGP - полоски из 3 модулей,
    для CGP - полоска из 5 модулей.

 

На следующем рисунке изображена этикетка кода с пояснениями по количеству используемых модулей:


Рис.1 Этикетка кода с указанием количества модулей на один знак.


1.2 Изображение числа 6 и ограждающих штрихов.

 

Для представления любого числа в коде используется 3 множества штрих-символов: Set A, Set B, Set C, т.е. каждое число на этикетке кода представляется одним из 3-х возможых вариантов. Для изображения числа в Правой части этикетки всегда используется Set C. В Левой части используется Set A или Set B в соответствие с Таблицей 1 в зависимости от первого числа штрих-кода N, находящегося на этикетке слева от LGP.


Рис.2 Этикетка кода с пояснениями по используемым множествам штрихов.

 

Таблица 1. Множества, используемые в Левой части этикетки и процентное соотношение чисел кода, представляемых множествами Set A и Set B.

 

Левая часть этикетки кода

И Т О Г О

Значение 
числа N

1-я цифра

2-я цифра

3-я цифра

4-я цифра

5-я цифра

6-я цифра

Кол-во 
Set A

Кол-во 
Set B

0

A

A

A

A

A

A

6

0

1

A

A

B

A

B

B

3

3

2

A

A

B

B

A

B

3

3

3

A

A

B

B

B

A

3

3

4

A

B

A

A

B

B

3

3

5

A

B

B

A

A

B

3

3

6

A

B

B

B

A

A

3

3

7

A

B

A

B

A

B

3

3

8

A

B

A

B

B

A

3

3

9

A

B

B

A

B

A

3

3

И Т О Г О

33

27

Процентное соотношение (50% занимает Set C)

27,5

22,5

 

Число N для каждой цифры из Левой части этикетки определяет символом какого множества (Set A или Set B) будет представлена эта цифра. Например, если в крайней левой позиции этикетки (т.е. слева от LGP) стоит 2 (N=2), то 1-я и 2-я цифры представлены штрих-символами Set A, 3-я и 4-я - Set B, 5-я - Set A, 6-я - Set B.

 

Таким образом, после подсчёта всех вариантов представления любой цифры, в т.ч. и 6, из таблицы становится понятно: если взять все возможные сочетания цифр на этикетке кода (т.е. все возможные варианты этикеток), то 27,5% всех "шестёрок" будут представлены штрих-символами из множества Set A, 22,5% - Set B и 50% - Set C.

Число 6 во множествах Set A,B и C и ограждающие штрихи изображаются следующими способами:


Рис 3. Графическое представление числа 6 в Set A, Set B, Set C 
и ограждающих штрихов кода EAN-13.

 

Из рисунка ясно видно, что изображения ограждающих штрихов совпадают визуально с изображениями числа 6 только в Set B и Set C, что составляет 50%+22,5%=72,5 %, в остальных 27,5% (Set A) эти изображения визуально не совпадают.

 

2. Внутреннее представление в сканере.


Любой штрих-символ этикетки кода преобразуется сканером в двоичную последовательность нулей и единиц (0 и 1), в которой каждому чёрному модулю соответстует 1, белому - 0. В соответствие с рис.3 двоичные представления изображений следующие:

 

6(Set A) - 0101111;
6(Set B) - 0000101;
6(Set C) - 1010000;
LGP, RGP - 101;
CGP - 01010;.

 

Эти последовательности нельзя рассматривать как двоичные числа, а лишь как двоичные изображения (картинки из 0-ей и 1-ц). B процессоре и памяти сканера эти изображения представляются в 8-разрядном двоичном виде путём дополнения слева нулями до 8 разрядов. Таким образом, получаем:

 

6(Set A) - 00101111;

6(Set B) - 00000101;

6(Set C) - 01010000;

LGP, RGP - 00000101;

CGP -      00001010;.

 

Ясно, что совпадают только внутренние представления изображения LGP/RGP с внутренним представлением изображения числа 6(Set B), что составляет 22,5% от всех возможных шестёрок в коде (см. п.1.2). Внутренние представления LGP/RGP не совпадают с внутренним представлением CGP, а внутреннее представление CGP не совпадает с какими-либо 6-ми.

 

К сожалению, в ИСХОДНЫХ МАТЕРИАЛАХ(1) нет явного описания 8-разрядного представления числа 6(Set C) - 010100002, это представление выведено на основе общих правил представления информации в процессоре и памяти. Поэтому оно может оказаться неверным, если именно для числа 6(Set C) в конструкции сканера сделано какое-либо исключение, что представляется практически невероятным. Во всяком случае, это представление легко проверить по каким-либо другим источникам.

 

3. Алгоритм обработки и распознавания символа сканером.


В ИСХОДНЫХ МАТЕРИАЛАХ(1) подробно описан алгоритм Техника "расстояния ширины" (width distance), который выдает одинаковое для числа 6(Set B,C) и для LGP/RGP соотношение 3:2:1. Теоретическое применение данного алгоритма для распознавания CGP позволяет сдалать вывод:


для CGP возможно получение соотношения 4:3:2:1, которое отличается от 3:2:1 для LGP/RGP и даёт при расшифровке согласно описанию этого алгоритма (в двоичном виде):

 

 00001111
-00000111
+00000011
-00000001
---------
 000010102 - это как раз внутреннее представление CGP, что и подтверждает правильность соотношения 4:3:2:1. 

4. Момент идентификации штрихового символа именно как числа 6.


Сканер передаёт результаты своей работы компьютеру, к которому подключается по клавиатурному входу вместе с клавиатурой (см. рис.4) в точке (*). Такое подключение делается для обеспечения возможности вводить код с этикетки вручную, просто набирая цифры кода на клавиатуре. Клавиатура передаёт в компьютер порядковые номера нажатых клавиш. Поскольку сканер и клавиатура подключены к компьютеру в общей точке (*), сканер "вынужден" также передавать в компьютер порядковые номера клавиш, которые надо было бы нажать на клавиатуре, чтобы получить на экране последовательность чисел с этикетки штрих-кода.


Рис 4. Путь информации от штрих-символа цифры 6 (Set A) до двоичного представления 6 в компьютере.

 

Движение информации происходит следующим образом (на рис.4 оно показано на примере штрих-символа цифры 6(Set A)). Любой штрих-символ этикетки кода преобразуется сканером в двоичную последовательность нулей и единиц (0 и 1), в которой каждому чёрному модулю соответстует 1, белому - 0 (см. п.2). Затем для всех двоичных последовательностей, соответсвующих цифрам кода, определяются порядковые номера клавиш, которые необходимо было бы нажать для получения этих цифр (для цифры 6 - клавиша № 77), и передаются в компьютер. Таким образом, ограждающие штрихи в компьютер не передаются, они там не нужны по двум причинам:

 

1) Ограждающие штрихи выполняют свою служебную функцию выделения правой и левой части этикетки кода лишь на этапе получения в сканере двоичных последовательностей, и далее не нужны.

 

2) При ручном вводе штрих-кода на клавиатуре набираются только цифры кода, и, соответственно, передаются в компьютер порядковые номера нажатых цифровых (0-9) клавиш без всяких ограждающих штрихов. Поскольку сканер подключен к клавиатурному входу, он "вынужден" передавать также порядковые номера только цифровых клавиш.

 

И только внутри компьютера происходит преобразование № клавиши в цифру.


В нашем примере по № клавиши 77 компьютер определяет, что введена была цифра 6.

 

Таким образом, в сканере отсутствует числовое представление числа 6 (двоичное число 00000110), а присутствует только представление изображения числа 6 (см. п.2 настоящей Справки). Числовое представление числа 6 появляется только в компьютере, где ограждающие штрихи в каком-либо виде вообще отсутствуют.


5. О сходстве штрихового изображения числа 6 и ограждающих штрихов.


Данный пункт является вследствие недостатка информации предположением, основанным скорее даже не на логике, а на здравом смысле.

 

5.1 Использование 2-х полосок единичной ширины с единичным белым промежутком для ограждающих штрихов.

 

В работе греческих авторов сказано: "этот штрих технически наиболее пригоден в качестве контрольного штриха в этом типе кодирования".

 

Эта пригодность выражается в том, что для настройки сканера на считывание удобно получить следующую единичную серию импульсов от изображения:


- единичный чёрный импульс;
- единичный белый импульс;
- единичный чёрный импульс,

которая будет использоваться как эталон длительности импульсов при последующем считывании.

 

5.2 Использование 2-х штрихов единичной ширины с единичным белым промежутком для изображения числа 6(Set B,C).

 

Изображения числа 6(Set B,C) получаются путём инвертирования (каждый чёрный модуль переходит в белый и наоборот) и последующего зеркального отображения исходного изображения числа 6(Set A). Вероятно, сначала было разработано изображения числа 6(Set A), а уже из него автоматически получились изображения числа 6(Set B) и 6(Set C), которые и соответствуют двум тонким полосам. К сожалению, пока не удалось найти информацию о том, насколько необходимо было изначальное изображение числа 6(Set A) именно в таком виде.


ВЫВОДЫ:


Чтобы было возможно сделать вывод о том, что с математической точки зрения ограждающие штрихи представляют собой три шестерки (666), необходимо выполнение 2-х условий:

  1. Все три ограждающих штриха должны совпадать между собой.
  2. Изображения ограждающих штрихов должны совпадать с изображением цифры 6.

Из исследования ясно видно, что:

  1. При наличии визуального сходства, имеет место только непрямое совпадение ограждающих штрихов между собой, т.к. на уровне внутреннего представления и на уровне результатов применения алгоритма распознавания ограждающие штрихи LGP/RGP не совпадают с центральным штрихом CGP.
  2. Имеет место также непрямое совпадение изображений ограждающих штрихов и цифры 6, т.к. при наличии 3-х вариантов изображения цифры 6, различных в Set A, Set B и Set C, в представлении Set A цифра 6 вообще не совпадает с ограждающими штрихами, в Set C не совпадает на уровне внутреннего представления в сканере, и только в Set B (22,5% от всех возможных вариантов изображения цифры 6) присутствует полное совпадение изображений ограждающих штрихов и цифры 6.

При проведении данного исследования применялся односторонний подход к анализу информации - чисто математический. Однако известно, что число 666 как имя зверя - число символическое, не имеющее уже математического смысла. Следовательно, и рассматривать его надо символически, как состоящее из символов 6. Шестерки, таким образом, теряют свой математический смысл и также становятся символами. Что же остается от 3-х вариантов представления цифры 6? - Ничего, т.к. можно символ инвертировать - обратить (преобразование по вертикали), можно зеркально отобразить (по горизонтали) - он останется тем же символом - 6.

Такая же ситуация и с различием левого/правого ограждающих штрихов LGP/RGP и центрального штриха CGP. Добавление белых полосок слева (или даже справа) не меняет значения символа. Таким образом, изображения ограждающих штрихов и шестерок совпадают символически, и, следовательно, штрих-код EAN-13 содержит число 666.

 

 

Составил Игорь Соловьёв

С.-Петербург, 25.04.2000.

 

22 января 2013   Просмотров: 7 330   
23 января 2013 10:04
Вообщем как ни крути,везде сатана !!!
  Жалоба      1
23 января 2013 11:02
Для сокрытия символического смысла цифр существует "наука" нумерология (часть Каббалы иудеев) и основанная на "науке" нумерологии наука криптография.
Обе эти науки работают круглосуточно в мире людей, принося пользу(гешефт) одним и ущерб другим, как материальный , так и духовный.

То, что глаза не видят чего-либо, не говорит об отсутствии сокрытого от них.
Только тот, кто подключит ум, увидит сокрытое по Откр. гл.13.18
  Жалоба      2
23 января 2013 12:34
Сложно и запутано. Можно пояснять гораздо проще.
Берем простой двоичный счет, он всегда таков:
0000 это цифра 0
0001 это цифра 1
0010 - 2
0011 - 3
0100 - 4
0101 - 5
0110 - 6
...
1111 - 15, или F

Сканер для считывания должен обязательно найти ограждающие цифры: 0110 в начале, 0110 в середине и 0110 в конце, которые даже визуально выделены более длинными полосками в коде EAN13. Найдите, что означает 0110 в двоичном счете. Вот и весь ответ. Число человеческое и имеющий ум, его сочтет.

Могут быть вопросы и возражения, связанные с системой кодировки чисел, что между этими полосками. Да, для остальных чисел применяются специальные системы кодирования, которые более подробно описаны в приведенной выше статье. Систем кодирования можно придумать миллионы для разных нужд и выбирать наиболее подходящие. Но простой двоичный код всегда один. И именно на нем написаны искомые цифры. Хотя технически, вместо этих цифр можно было взять в стандарт совершенно другие без ухудшения качества и не задевать предсказания. Однако другие цифры, видимо, не устраивают основных заказчиков.

Аналогичная тема: присвоение числа вместо имени. Мощность современных компьютеров позволяет совершенно свободно использовать для учета людей не числа, а комбинацию символов из фамилии, имени, отчества и даты рождения. При чем во многих местах фамилию, имя, отчество и дату рождения можно писать без специальных схем кодирования и записи (типа магнитной ленты, где без спец средств не прочитать), а открыто и в виде, удобно читаемом человеком. Однако это не устраивает заказчиков. И всем присваиваются всякие ИНН, СНИЛСы и т.п. Даже номер паспорта в современном компьютерном мире - это не актуально. Актуальны только фамилия, имя, отчество и дата рождения. А уже по этим атрибутам можно быстро узнать, какой серии и номером была выдана очередная бумажка, например, паспорт или страховка или права. Но нет. Учет идет по СНИЛС, по ИНН и прочей гадости. Это же технические проблемы не менее, чем полувековой давности! Гитлер присваивал числа заключенным только потому, что IBM не смогла в то время работать с именами и фамилиями. И шли на любые ухищрения, чтобы помочь машине. И эти ухищрения дожили до наших дней. Но их не только не собираются решать актуальными техническими средствами, а наоборот, буквально упиваются этими древними отсталостями. Их лелеют и возносят в ранг незыблемых основ. И вся электроника потом только на эти основы и работает.
  Жалоба      3
23 января 2013 13:11
Давайте вспомним, сколько цифр в штрих-коде (тех что цифирьками внизу написаны) - 13-ть. Это число можно представить и так - 1 000 000 000 000 Это уже триллион. А триллион - миллион миллионов. Что бы не писать много определений, приведу таблицу счислений в старославянском языке:

Тьма
• Малый счёт — десять тысяч или сто тысяч
• Великий счёт — тысяча тысяч, миллион ( , тьма великая).
Тьма тем:
• Малый счёт — сто тысяч
• Великий счёт — миллион миллионов ( , тьма великая).

Легион (неведий)
• Малый счёт — десять тем, или сто тысяч
• Великий счёт — тьма тем, или триллион (миллион миллионов)

А теперь полный "абзац" - в штрикоде получается тьма тем (по великому счёту) или словом человеческим имя - Легион. И есть в Писании место, где лукавый называет себя именно таким именем:
(Мк 5:8)
бо Иисус сказал ему: выйди, дух нечистый, из сего человека. И спросил его: как тебе имя? И он сказал в ответ: легион имя мне, потому что нас много.
  Жалоба      4
-->