СПОСОБ АУТЕНТИФИКАЦИИ ЭЛЕКТРОННОГО ИЗОБРАЖЕНИЯ
ELECTRONIC IMAGE AUTHENTICATION METHOD

Заявленное техническое решение относится к области электросвязи и информационных технологий, а именно к технике защиты подлинности электронных изображений (ЭИ), сжимаемых алгоритмами сжатия ЭИ, такими как JPEG2000, Н.264 и т.п., передаваемых отправителем получателю по общедоступным каналам передачи, в которых нарушитель может осуществлять действия по навязыванию получателю неподлинных ЭИ.
Заявленное изобретение может быть использовано для обеспечения подлинности ЭИ, передаваемых в современных информационно-телекоммуникационных системах.
Известны способы аутентификации ЭИ на основе вычисления отправителем и проверки получателем имитовставки двоичной последовательности (ДП) этого изображения. Эти способы относятся к криптографическим способам контроля подлинности ЭИ и описаны, например, в государственном стандарте 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. - М.: Госстандарт СССР, 1989, стр. 9-14. В данных способах ЭИ сжимают в соответствии с алгоритмом JPEG2000, предписанным международным стандартом ISO/IES 15444. Двоичную последовательность сжатого электронного изображения JPEG разделяют у отправителя на последовательные блоки длиной n бит, где обычно n=64. По криптографической функции формирования имитовставки с использованием заранее сформированной для отправителя и получателя двоичной последовательности (ДП) секретного ключа (СК) последовательно от каждого блока с учетом предыдущего зашифрованного блока формируют зашифрованный текущий блок до тех пор, пока поступает ДП ЭИ. Из последнего зашифрованного блока выделяют ДП имитовставки ЭИ длиной l<n бит. Затем ДП ЭИ и ДП имитовставки передают по каналу связи или записывают на электронные носители, например, CD или DVD диски. Принятое получателем ЭИ проверяют, для чего заново разделяют его ДП на последовательные принятые блоки длиной n бит, по криптографической функции формирования имитовставки с использованием ДПСК последовательно от каждого принятого блока с учетом предыдущего зашифрованного принятого блока формируют очередной зашифрованный принятый блок до тех пор, пока поступает ДП принятого ЭИ. Из последнего зашифрованного принятого блока выделяют длиной l<n бит ДП имитовставки принятого ЭИ и при полном совпадении заново сформированной и принятой имитовставок принятое ЭИ считают подлинным.
Недостатками указанных аналогов являются:
- невозможность проверки подлинности части аутентифицированного с использованием имитовставки ЭИ;
- уменьшение пропускной способности каналов передачи или необходимость использования запоминающих устройств большой емкости из-за включения и последующей передачи по каналу связи имитовставки электронного изображения.
1
2
1
2
Известен также аналог способ аутентификации ЭИ по патенту США 7313696 МПК H04L 9/00 (2006.01) от 25.12.07. Данный способ аутентификации ЭИ заключается в предварительном формировании для отправителя и получателя ДП СК, криптографической функции хэширования и криптографической функции шифрования. У отправителя разделяют ЭИ на М≥2 блоков каждый размером n×n пикселов, где n≥2 и n≥2, над каждым m-м, где m=1, 2, …, М, блоком ЭИ выполняют вейвлет преобразование, полученные в результате преобразования вейвлет коэффициенты квантуют и преобразуют в ДП вейвлет коэффициентов m-го блока ЭИ, которые преобразуют в N≥2 УДП вейвлет коэффициентов m-го блока ЭИ. Из K, где K=N-1, УДП ВК m-го блока ЭИ вычисляют его хэширующую последовательность с помощью предварительно сформированной криптографической функции хэширования. Затем из хэширующей последовательности m-го блока ЭИ вычисляют его ДП цифрового водяного знака (ЦВЗ) с помощью предварительно сформированных криптографической функции шифрования и ДП СК. Аутентифицируют m-й блок ЭИ, для чего встраивают ДП ЦВЗ m-го блока ЭИ в N-ю УДП ВК этого блока ЭИ заменой Ν-й УДП ВК этого блока ЭИ на его ДП ЦВЗ.
Полученные УДП ВК с встроенной ДП ЦВЗ m-го блока ЭИ кодируют с использованием арифметического кодирования в кодированные последовательности этого блока, включающие маркеры, причем действия по аутентификации у отправителя блоков ЭИ повторяют до завершения их поступления.
Передают аутентифицированное ЭИ получателю, где проверяют подлинность принятого получателем ЭИ, для чего разделяют ДП принятого получателем ЭИ на двоичные последовательности его принятых блоков, которые разделяют на кодированные последовательности m-го принятого блока ЭИ, декодируют их и выделяют N УДП ВК m-го принятого блока ЭИ. Выделяют из N-ой УДП ВК m-го принятого блока ЭИ ДП ЦВЗ m-го принятого блока ЭИ и запоминают ее.
Из К УДП ВК m-го принятого блока ЭИ вычисляют его хэширующую последовательность с помощью предварительно сформированной криптографической функции хэширования. Затем из хэширующей последовательности m -го принятого блока ЭИ вычисляют его ДП ЦВЗ с помощью предварительно сформированных криптографической функции шифрования и ДП СК и сравнивают ее с ранее выделенной и запомненной ДП ЦВЗ m-го принятого блока ЭИ. При их совпадении m-ый принятый блок ЭИ считают подлинным. Повторяют действия по проверке подлинности принятых блоков ЭИ до завершения их приема. Принятое ЭИ считают подлинным, если подлинными оказываются M принятых блоков ЭИ.
Недостатком указанных аналогов является уменьшение точности кодирования аутентифицированного ЭИ относительно точности кодирования ЭИ без аутентификации. Это обусловлено тем, что при замене N-й УДП КВК блока ЭИ на его ДП ЦВЗ данная УДП не может быть использована для обеспечения качественных характеристик принятого ЭИ, что приводит к уменьшению точности кодирования аутентифицированного ЭИ относительно точности кодирования ЭИ без аутентификации.
1
2
1
2
Наиболее близким по своей технической сущности к заявленному способу аутентификации ЭИ является способ аутентификации ЭИ, описанный в международном стандарте защиты ЭИ: Документ ISO/IEC FCD15444-8: Information technology - JPEG2000 image coding system. Part 8. Secure JPEG2000. Женева, 2004, стр. 66-89. Способ - прототип аутентификации ЭИ заключается в предварительном формировании для отправителя и получателя ДП СК и криптографической функции хэширования. У отправителя над ЭИ выполняют вейвлет преобразование, полученные в результате преобразования вейвлет коэффициенты квантуют и разделяют на N≥2 кодовых блоков квантованных вейвлет коэффициентов каждый размером n×n коэффициентов, где n≥2 и n≥2, квантованные вейвлет коэффициенты n-го, где n=1, 2, …, Ν, кодового блока квантованных вейвлет коэффициентов преобразуют в двоичные последовательности квантованных вейвлет коэффициентов n-го кодового блока, которые преобразуют в L≥2 упорядоченные двоичные последовательности квантованных вейвлет коэффициентов n-го кодового блока, из первых K, где 1≤ K≤L, УДП квантованных вейвлет коэффициентов n-го кодового блока с использованием предварительно сформированных криптографической функции хэширования и ДП СК вычисляют ДП цифрового водяного знака n-го кодового блока, которую встраивают в последние Τ, где K≤Т≤L, УДП квантованных вейвлет коэффициентов этого же блока, номера которых определяют предварительно сформированной ДП СК, УДП квантованных вейвлет коэффициентов n-го кодового блока, включая УДП вейвлет коэффициентов с встроенной ДП ЦВЗ n-го кодового блока, кодируют с использованием арифметического кодирования в кодированные последовательности этого блока, по окончании арифметического кодирования каждой очередной упорядоченной двоичной последовательности квантованных вейвлет коэффициентов n-го кодового блока в двоичную последовательность сжатого электронного изображения записывают разделительный маркер упорядоченной двоичной последовательности, а после кодирования L упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го кодового блока в двоичную последовательность кодированного электронного изображения записывают разделительный маркер кодового блока, причем действия по аутентификации у отправителя кодовых блоков повторяют до завершения их поступления.
Передают кодированное ЭИ получателю, где проверяют подлинность принятого получателем ЭИ, для чего разделяют двоичную последовательность принятого получателем электронного изображения на двоичные последовательности его принятых блоков с использованием разделительного маркера кодового блока, которые разделяют на L кодированных последовательностей n-го принятого кодового блока с использованием разделительного маркера упорядоченной двоичной последовательности, декодируют кодированные последовательности n-го принятого кодового блока с использованием арифметического декодирования и выделяют L УДП квантованных вейвлет коэффициентов n-го принятого кодового блока, из последних T УДП квантованных вейвлет коэффициентов n-го принятого кодового блока, номера которых определяют предварительно сформированной ДП СК, выделяют ДП ЦВЗ n-го принятого кодового блока, из первых К УДП квантованных вейвлет коэффициентов n-го принятого кодового блока с использованием предварительно сформированных криптографической функции хэширования и ДП СК вычисляют ДП ЦВЗ n-го принятого кодового блока, которую побитно сравнивают с запомненной выделенной ДП ЦВЗ этого блока, при их совпадении n-й принятый кодовый блок считают подлинным, повторяют действия по проверке подлинности принятых кодовых блоков до завершения их приема, принятое ЭИ считают подлинным, если подлинными оказываются N принятых кодовых блоков.
Способ-прототип аутентификации ЭИ обеспечивает контроль подлинности ЭИ, сжимаемого с использованием алгоритмов сжатия, таких как JPEG2000 и т.п., при этом точность кодирования аутентифицированного ЭИ не уменьшается относительно точности кодирования ЭИ без аутентификации.
Недостатком ближайшего аналога (прототипа) является существенное увеличение длины кодированного с обеспечением аутентификации ЭИ по сравнению с длиной кодированного без обеспечения аутентификации ЭИ. Данное увеличение длины обусловлено тем, что при аутентификации в кодированное ЭИ встраивается значительное число достаточно длинных двоичных последовательностей ЦВЗ в каждый n-ый кодовый блок. Для обеспечения высокой защищенности к попыткам со стороны нарушителя подмены подлинного аутентифицированного ЭИ на неподлинное ЭИ длина двоичных последовательностей ЦВЗ каждого кодового блока должна быть не менее 32 бит, а число кодовых блоков в электронном изображении достаточно велико, что вызывает существенное увеличение длины кодированного с обеспечением аутентификации ЭИ по сравнению с длиной кодированного без обеспечения аутентификации ЭИ.
Техническим результатом заявляемого решения является аутентификация ЭИ без увеличения длины кодированного с обеспечением аутентификации ЭИ по сравнению с длиной кодированного без обеспечения аутентификации ЭИ и без снижения точности кодирования аутентифицированного ЭИ.
1
2
1
2
Указанный технический результат в заявляемом способе аутентификации ЭИ достигается тем, что в известном способе аутентификации ЭИ, заключающемся в предварительном формировании для отправителя и получателя двоичной последовательности секретного ключа и криптографической функции хэширования, у отправителя над электронным изображением выполняют вейвлет преобразование, полученные в результате преобразования вейвлет коэффициенты квантуют и разделяют на Ν≥2 кодовых блоков квантованных вейвлет коэффициентов каждый размером n×n коэффициентов, где n≥2 и n≥2, квантованные вейвлет коэффициенты n-го, где n=1, 2, …, Ν, кодового блока квантованных вейвлет коэффициентов преобразуют в двоичные последовательности квантованных вейвлет коэффициентов n-го кодового блока, которые преобразуют в L≥2 упорядоченные двоичные последовательности квантованных вейвлет коэффициентов n-го кодового блока, из упорядоченной двоичной последовательности квантованных вейвлет коэффициентов n-го кодового блока с использованием предварительно сформированных криптографической функции хэширования и двоичной последовательности секретного ключа вычисляют двоичную последовательность цифрового водяного знака, упорядоченную двоичную последовательность квантованных вейвлет коэффициентов n-го кодового блока кодируют с использованием арифметического кодирования в кодированную последовательность этого блока, по окончании арифметического кодирования каждой очередной упорядоченной двоичной последовательности квантованных вейвлет коэффициентов n-го кодового блока в двоичную последовательность кодированного электронного изображения записывают разделительный маркер упорядоченной двоичной последовательности, а после кодирования L упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го кодового блока в двоичную последовательность кодированного электронного изображения записывают разделительный маркер кодового блока, причем действия по аутентификации у отправителя кодовых блоков повторяют до завершения их поступления, передают кодированное электронное изображение получателю, где проверяют подлинность принятого получателем электронного изображения, для чего разделяют двоичную последовательность принятого получателем электронного изображения на двоичные последовательности его принятых блоков с использованием разделительного маркера кодового блока, которые разделяют на L кодированных последовательностей n-го принятого кодового блока с использованием разделительного маркера упорядоченной двоичной последовательности, декодируют кодированные последовательности n-го принятого кодового блока с использованием арифметического декодирования в L упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го принятого кодового блока, из упорядоченной двоичной последовательности квантованных вейвлет коэффициентов n-го принятого кодового блока с использованием предварительно сформированных криптографической функции хэширования и двоичной последовательности секретного ключа вычисляют двоичную последовательность цифрового водяного знака, повторяют действия по проверке подлинности принятых кодовых блоков до завершения их приема, принятое электронное изображение считают подлинным, если подлинными оказываются N принятых кодовых блоков, дополнительно у отправителя из i-й, где 1≤i≤L, упорядоченной двоичной последовательности квантованных вейвлет коэффициентов n-го кодового блока с использованием предварительно сформированных криптографической функции хэширования и двоичной последовательности секретного ключа вычисляют двоичную последовательность цифрового водяного знака i-й упорядоченной двоичной последовательности квантованных вейвлет коэффициентов n-го кодового блока.
Далее i-ю упорядоченную двоичную последовательность квантованных вейвлет коэффициентов n-го кодового блока кодируют с использованием арифметического кодирования в i-ю кодированную последовательность этого блока, определяют число M≥1 символов различия интервала кодирования, отсчитывая от первого, начиная со стороны старших символов, несовпавшего двоичного символа верхней и нижней границ интервала кодирования последнего кодируемого двоичного символа i-й упорядоченной двоичной последовательности квантованных вейвлет коэффициентов n-го кодового блока. Заменяют последние М-1 двоичные символы i-й кодированной последовательности n-го кодового блока на М-1 двоичных символа вычисленной двоичной последовательности цифрового водяного знака i-й упорядоченной двоичной последовательности квантованных вейвлет коэффициентов этого блока.
У получателя после разделения двоичной последовательности n-го принятого кодового блока на L кодированных последовательностей этого блока декодируют i-ю кодированную последовательность n-го принятого кодового блока с использованием арифметического декодирования в i-ю упорядоченную двоичную последовательность квантованных вейвлет коэффициентов этого блока. Определяют число M символов различия интервала декодирования, отсчитывая от первого, начиная со стороны старших символов, несовпавшего двоичного символа верхней и нижней границ интервала декодирования последнего декодируемого двоичного символа i-ой упорядоченной двоичной последовательности квантованных вейвлет коэффициентов n-го принятого кодового блока.
Из i-й упорядоченной двоичной последовательности квантованных вейвлет коэффициентов этого блока с использованием предварительно сформированных криптографической функции хэширования и двоичной последовательности секретного ключа вычисляют двоичную последовательность цифрового водяного знака i-й упорядоченной двоичной последовательности квантованных вейвлет коэффициентов этого блока.
Побитно сравнивают последние М-1 двоичные символы i-й кодированной последовательности этого блока с M-1 двоичными символами вычисленной двоичной последовательности цифрового водяного знака i-й упорядоченной двоичной последовательности квантованных вейвлет коэффициентов этого блока и при их совпадении i-ю упорядоченную двоичную последовательность квантованных вейвлет коэффициентов этого блока считают подлинной, а при признании подлинными всех L упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов этого блока блок считают подлинным.
В предлагаемой совокупности действий при аутентификации ЭИ к сжатому потоку не добавляется дополнительных двоичных символов цифрового водяного знака: для аутентификации ЭИ от каждой УДП квантованных вейвлет коэффициентов каждого кодового блока ЭИ вычисляют ДП цифрового водяного знака этой УДП и в соответствующую ей кодированную последовательность встраивают такую часть ДП цифрового водяного знака длиной M≥1 битов, которая не изменяет результат кодирования этой УДП в соответствующую ей кодированную последовательность, при этом точность кодирования аутентифицированного ЭИ не уменьшается относительно точности кодирования ЭИ без аутентификации. Для аутентификации ЭИ используется избыточность арифметического кодирования, возникающая при кодировании последнего двоичного символа i-й УДП квантованных вейвлет коэффициентов n-го кодового блока. Данная избыточность заключается в возможности использования при кодировании последнего двоичного символа любой двоичной последовательности в пределах от нижней границы до верхней границы интервала кодирования этого символа.
Указанная новая совокупность действий за счет встраивания M-1 двоичных символов ДП цифрового водяного знака i-й УДП квантованных вейвлет коэффициентов n-го кодового блока вместо избыточных M-1 двоичных символов i-й кодированной последовательности этого кодового блока позволяет аутентифицировать ЭИ без потери точности кодирования ЭИ и без добавления к кодированному ЭИ двоичных символов цифрового водяного знака.
Поэтому указанная новая совокупность действий позволяет аутентифицировать ЭИ без увеличения длины кодированного с обеспечением аутентификации ЭИ по сравнению с длиной кодированного без обеспечения аутентификации ЭИ и без снижения точности кодирования аутентифицированного ЭИ.
Заявленный способ поясняется чертежами, на которых показаны:
- на фиг. 1 - общая схема аутентификации ЭИ;
- на фиг. 2 - рисунки, поясняющие предварительное формирование ДП СК и криптографической функции хэширования;
- на фиг. 3 - алгоритм формирования кодированного с обеспечением аутентификации ЭИ;
- на фиг. 4 - временные диаграммы формирования аутентифицированного n-го кодового блока;
- на фиг. 5 - временные диаграммы кодирования УДП КВК n-го кодового блока с использованием арифметического кодирования в кодированные последовательности этого блока;
- на фиг. 6 - таблица состояний арифметического кодирования УДП КВК n-го кодового блока в кодированные последовательности этого блока;
- на фиг. 7 - временные диаграммы проверки подлинности n-го принятого кодового блока;
- на фиг. 8 - алгоритм проверки подлинности n-го принятого кодового блока ЭИ;
- на фиг. 9 - временные диаграммы декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования;
- на фиг. 10 - таблица состояний арифметического декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования;
- на фиг. 11 - значения длины и коэффициента сжатия кодированных с обеспечением аутентификации ЭИ для способа-прототипа и заявленного способа аутентификации ЭИ.
Реализация заявленного способа представлена на примере системы аутентификации ЭИ, включающей блок формирования аутентифицированного ЭИ 1 и блок проверки принятого ЭИ 2, которые взаимодействуют через канал передачи 4 (фиг. 1). У отправителя на первый и второй входы блока формирования заверенного ЭИ 1 передают аутентифицируемое ЭИ и ДП СК, соответственно. С выхода блока формирования аутентифицированного ЭИ 1 кодированное с обеспечением аутентификации ЭИ передают по каналу передачи 4 получателю. Также в канале передачи 4 нарушителем с использованием блока перехвата и навязывания неподлинного ЭИ 3 может осуществляться перехват переданного отправителем кодированного с обеспечением аутентификации ЭИ. Нарушитель пытается модифицировать перехваченное ЭИ в выгодное ему неподлинное ЭИ, которое нарушитель передает получателю по каналу передачи 4. У получателя проверку подлинности принятого ЭИ осуществляют в блоке проверки принятого ЭИ 2 с использованием ДП СК. Результат проверки подлинности принятого ЭИ считывают с выходов блока проверки принятого ЭИ 2 "подлинное ЭИ" и "неподлинное ЭИ", соответственно.
В способе аутентификации ЭИ реализуется следующая последовательность действий.
Предварительное формирование для отправителя и получателя ДП СК заключается в следующем. Данную последовательность формируют с использованием генератора случайных импульсов, генерирующего случайные равновероятные нулевые и единичные импульсы, независимые друг от друга. Способы формирования случайным выбором символов ДП СК известны и описаны, например, в книге: Д. Кнут "Искусство программирования на ЭВМ". - М: Мир, 1977, т. 2, стр. 22. Длина ДП СК в битах должна быть не менее 256 бит, что описано, например, в ГОСТ 28147-89. Примерный вид ДП СК показан на фигуре 2(a). Единичные значения битов на фигурах показаны в виде заштрихованных импульсов, нулевые значения битов - в виде незаштрихованных импульсов.
Способы предварительного формирования для отправителя и получателя криптографической функции хэширования известны и описаны, например, в книге М.Д. Смид, Д.К. Бранстед "Стандарт шифрования данных: Прошлое и будущее", ТИИЭР, 1988, - т. 76, №5, стр. 49. Они заключаются в формировании криптографической функции хэширования, используя алгоритм шифрования данных DES в режиме обратной связи по шифртексту или в режиме обратной связи по выходу. При этом шифрование выполняют над упорядоченной двоичной последовательностью квантованных вейвлет коэффициентов кодового блока, а в качестве ключа шифрования используют ДП СК. Примерный вид упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока показан на фигуре 2(б). В результате использования предварительно сформированных криптографической функции хэширования и ДП СК вычисляют ДП цифрового водяного знака упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока. Данные способы обеспечивают формирование каждого битового значения ДП цифрового водяного знака упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока в зависимости от каждого битового значения упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока и от каждого битового значения ДП СК. Примерный вид ДП цифрового водяного знака упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока (ДП ЦВЗ УДП) показан на фигуре 2(в).
Алгоритм формирования кодированного с обеспечением аутентификации ЭИ представлен на фигуре 3.
1
2
1
2
Аутентифицируемое ЭИ представлено матрицей пикселей электронного изображения размером w×w пикселов, где w≥2 и w≥2. Примерный вид значений яркости пикселей (ЯП) ЭИ, поочередно считанных слева направо строка за строкой, представлен на фигуре 4(a).
Известные способы выполнения над ЭИ вейвлет преобразования описаны, например, в книге S. Lyu, H. Farid "Steganalysis Using Higher-Order Image Statistics", IEEE Transactions on Information Security and Forensics, vol. 1, pp. 111-119, 2006. Над ЭИ выполняют k-уровневое, где k=1, 2, 3, … K, а 1≤ K≤10, вейвлет преобразование с формированием матрицы коэффициентов вейвлет преобразования ЭИ такого же размера, как и размер исходного ЭИ в пикселях. Матрица коэффициентов вейвлет преобразования ЭИ состоит из матриц горизонтальных, вертикальных, высокочастотных и низкочастотных коэффициентов вейвлет преобразования ЭИ. На фиг. 4(б) показан пример значений низкочастотных, вертикальных, высокочастотных и горизонтальных коэффициентов первого уровня вейвлет преобразования ЭИ. Видно, что вейвлет коэффициенты (ВК) ЭИ принимают как положительные, так и отрицательные значения и могут быть нецелочисленными.
Способы квантования полученных в результате преобразования значений ВК ЭИ известны и описаны, например, в книге Я. Ричардсон "Видеокодирование. Н.264 и MPEG-4 - стандарты нового поколения". - М., Техносфера, 2005, стр. 78-80. Значения ВК ЭИ квантуют, например, путем их округления до ближайшего целого значения. Примерный вид квантованных вейвлет коэффициентов (КВК) ЭИ показан на фигуре 4(в).
1
2
1
1
2
Способы разделения квантованных вейвлет коэффициентов на N≥2 кодовых блоков каждый размером n×n коэффициентов, где n≥2 и n≥2, известны и описаны, например, в книге Я. Ричардсон "Видеокодирование. Н.264 и MPEG-4 - стандарты нового поколения". - М., Техносфера, 2005, стр. 38-40. Из матрицы квантованных вейвлет коэффициентов ЭИ, начиная, например, с ее левого верхнего угла, выделяют матрицу коэффициентов размера n строк и n столбцов, которая образует n-й, где n=1, 2, …, Ν, кодовый блок, в данном случае первый кодовый блок. Затем справа или снизу от выделенной матрицы коэффициентов выделяют следующую матрицу коэффициентов такого же размера, которая образует следующий кодовый блок и так далее, пока из матрицы квантованных вейвлет коэффициентов ЭИ не выделены все коэффициенты. Размер кодовых блоков выбирают, например, порядка 16×16, 32×32 коэффициентов и т.д., что определяется числом формируемых вейвлет коэффициентов кодового блока. Примерный вид квантованных вейвлет коэффициентов первого (n=1) кодового блока представлен на фигуре 4(г).
1
2
1
2
Способы преобразования квантованных вейвлет коэффициентов n-го кодового блока в их двоичные последовательности известны и описаны, например, в книге: ISO/IES 15444-1. Information technology - JPEG2000 image coding system. Женева, 2001, стр. 219-222. КВК n-го кодового блока по фиксированному правилу кодирования преобразовывают в ДП КВК этого блока. Оно заключается в преобразовании целочисленного значения каждого КВК n-го кодового блока в двоичную последовательность, в которой каждый последующий бит отличается по информационной значимости в 2 раза, а старший двоичный символ этой двоичной последовательности кодирует знак квантованного вейвлет коэффициента. Положительное значение квантованного вейвлет коэффициента, кодируют, например, единичным двоичным символом, а отрицательное значение - нулевым двоичным символом. Например, значение первого КВК первого (n=1) кодового блока, равное -8=-(8+0+0+0), преобразовывают в первую ДП КВК этого блока вида 01000, а значение второго КВК этого блока, равное +273=256+16+1, преобразовывают во вторую ДП КВК этого блока вида 1110010001, а значение последнего n×n-го КВК этого блока, равное +241=128+64+32+16+1, преобразовывают в n×n-ю ДП КВК этого блока вида 111110001. Примерный вид ДП КВК первого (n=1) кодового блока показан на фигуре 4(д).
L-1
Способы преобразования двоичных последовательностей КВК n-го кодового блока в L≥2 упорядоченных двоичных последовательностей КВК этого блока известны и описаны, например, в книге В. Воробьев, В. Грибунин "Теория и практика вейвлет-преобразования". - СПб., ВУС, 1999, стр. 159-161. Они заключаются в последовательной записи первых битов всех двоичных последовательностей КВК n-го кодового блока в первую упорядоченную двоичную последовательность КВК этого блока, последовательной записи вторых битов всех двоичных последовательностей КВК n-го кодового блока во вторую УДП КВК этого блока и т.д. Упорядоченность двоичных последовательностей КВК n-го кодового блока заключается в выбранном порядке последовательной записи битов двоичных последовательностей КВК n-го кодового блока ЭИ в УДП КВК этого блока. Число L выбирают как наименьшее целое число, обеспечивающее соотношение вида: значение 2 должно быть не меньше абсолютной величины наибольшего значения квантованных вейвлет коэффициентов n-го кодового блока с учетом знака. Примерный вид УДП КВК n-го кодового блока показан на фиг. 4(e). Например, первая УДП КВК первого кодового блока имеет вид 0111…1.
Способы вычисления ДП цифрового водяного знака i-й УДП квантованных вейвлет коэффициентов n-го кодового блока из i-й, где 1≤i≤L, упорядоченной двоичной последовательности квантованных вейвлет коэффициентов n-го кодового блока с использованием предварительно сформированных криптографической функции хэширования и ДП СК известны и описаны, например, в книге М.Д. Смид, Д.К. Бранстед "Стандарт шифрования данных: Прошлое и будущее". ТИИЭР, 1988, - т. 76, №5, стр. 49. Они заключаются в криптографическом преобразовании i-й УДП квантованных вейвлет коэффициентов n-го кодового блока, используя алгоритм шифрования данных DES в режиме обратной связи по шифртексту или в режиме обратной связи по выходу. При этом шифрование выполняют над i-й упорядоченной двоичной последовательностью квантованных вейвлет коэффициентов n-го кодового блока, а в качестве ключа шифрования используют ДП СК. В результате использования предварительно сформированных криптографической функции хэширования и ДП СК вычисляют ДП цифрового водяного знака n-й УДП квантованных вейвлет коэффициентов n-го кодового блока, примерный вид которой показан на фигуре 4(ж). Пусть, например, ДП цифрового водяного знака первой УДП квантованных вейвлет коэффициентов n-го кодового блока имеет вид "1100010001000110" длиной 16 двоичных символов.
Способы кодирования очередной, с первой до L-й, УДП КВК n-го кодового блока с использованием арифметического кодирования в кодированные последовательности n-го кодового блока известны и описаны, например, в книге Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". - М., ДИАЛОГ-МИФИ, 2002, стр. 35-43. Они заключаются в последовательном кодировании очередных двоичных символов УДП КВК n-го кодового блока в соответствии с текущими значениями интервала кодирования арифметического кодирования и текущими значениями вероятностей кодируемых нулевых символов и единичных символов с последовательным формированием кодированных последовательностей n-го кодового блока.
При этом начальное нижнее значение интервала кодирования устанавливается в минимальное значение, а начальное верхнее значения интервала кодирования - в максимальное значение. Например, при представлении значений интервала кодирования шестнадцатью двоичными символами, начальное нижнее значение интервала кодирования арифметического кодирования L[0] устанавливают в минимальное значение, равное нулевому значению в десятичном представлении или 0000000000000000 в двоичном представлении, где старшие двоичные символы записывают слева, а начальное верхнее значение интервала кодирования арифметического кодирования H[0] устанавливают в максимальное значение, равное 65535 в десятичном представлении или 1111111111111111 в двоичном представлении. Пример начального состояния (Нач. сост.) арифметического кодирования представлен на фиг. 5.
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
Начальное состояние арифметического кодирования также заключаются в установке начального значения вероятности кодируемых нулевых символов р[0] и начального значения вероятности кодируемых единичных символов р[0]. При установке начального значения вероятности кодируемых нулевых символов р[0] и начального значения вероятности кодируемых нулевых символов р[0] в выбранные значения должно выполняться ограничение вида: р[0]+p[0]=1. Начальное значение вероятности кодируемых нулевых символов р[0] вычисляют по формуле вида , а начальное значение вероятности кодируемых единичных символов p[0] вычисляют по формуле вида , где N[0] - начальное число закодированных нулевых символов, N[0] - начальное число закодированных единичных символов, а N[0] - начальное число закодированных нулевых и единичных символов, равное N[0]=N[0]+N[0]. В известных способах, описанных, например, в книге Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". - М., ДИАЛОГ-МИФИ, 2002, стр. 124-130, устанавливают начальное число закодированных нулевых символов равным N[0]=1, а начальное число закодированных единичных символов - равным N[0]=1, то есть начальные значения вероятности кодируемых единичных и нулевых символов устанавливают равными: p[0]=p[0].
0
1
0
1
1
1
1
0
0
1
1
0
Начальное значение интервала кодирования арифметического кодера I[0], равное I[0]=H[0]-L[0], разделяют на начальные значения подинтервала нулевых символов D[0] и подинтервала единичных символов D[0], длины которых прямо пропорциональны начальным значениям вероятностей кодируемых нулевых символов р[0] и единичных символов р[0], соответственно. Начальную длину подинтервала единичных символов D[0] определяют по формуле вида D[0]=I[0]×p[0], а начальную длину подинтервала нулевых символов D[0] определяют по формуле вида D[0]=I[0]-D[0]. Например, начальная длина подинтервала единичных символов D[0] имеет десятичное значение 32768 или 1000000000000000 в двоичном представлении, а начальная длина подинтервала нулевых символов D[0] имеет десятичное значение 32767 или 0111111111111111 в двоичном представлении. Подинтервал единичных символов расположен сверху подинтервала нулевых символов, как показано, например, на фиг. 5. Верхнюю границу подинтервала нулевых символов обозначают как значение Q, и данный подинтервал начинается снизу от нижней границы интервала кодирования арифметического кодирования до значения Q исключительно, а подинтервал единичных символов простирается от значения Q включительно до верхней границы интервала кодирования арифметического кодирования исключительно. Начальное значение Q имеет десятичное значение 32767, как показано на фиг. 6 в первой строке при t=0.
Примерный вид кодирования показанной на фиг. 4(e) первой УДП КВК n-го кодового блока в виде двоичной последовательности "011111" длиною 6 двоичных символов с использованием арифметического кодирования в кодированную последовательность n-го кодового блока представлен на фиг. 5.
0
При поступлении на вход арифметического кодирования первого кодируемого символа, являющегося нулевым двоичным символом, значение интервала кодирования первого символа I[1] устанавливают равным начальному значению подинтервала нулевых символов D[0], поэтому нижнее значение интервала кодирования первого символа L[1] устанавливают равным начальному нижнему значению интервала кодирования арифметического кодера L[0], равному, например, 0, а верхнее значение интервала кодирования первого символа арифметического кодирования Н[1] устанавливают равным текущему значению Q, равному, например, 32767, как показано на фиг. 5. Самый левый бит двоичного представления значения L[1] сравнивают с самым левым битом двоичного представления значения H[1], например, вида 000…0 и 0111…1, соответственно, как показано на фиг. 6 при t=1. При их совпадении значение самого левого бита двоичных представлений значений L[1] и Н[1] считывают в качестве закодированного бита кодированной последовательности n-го кодового блока. Например, при кодировании УДП КВК n-го кодового блока в виде двоичной последовательности "0111111" первым закодированным битом кодированной последовательности этого блока является совпавший при сравнении нулевой двоичный символ, как показано на фиг. 6, вторая строка сверху при t=1. Считанный бит удаляют из двоичных представлений значений L[1] и H[1], которые уменьшаются до длины 15 бит вида 000…0 и 111…1, соответственно. Двоичные символы двоичных представлений значений L[1] и Н[1] сдвигают справа налево на один разряд и справа к ним дописывают по нулевому двоичному символу. Способы считывания двоичных символов с удалением считанных символов известны и описаны, например, в книге: В. Шило "Популярные цифровые микросхемы". - М., Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной и последовательной записью/считыванием двоичных последовательностей. Операции сдвига справа налево на один разряд и дописывания справа нулевого двоичного символа увеличивают значения L[1] и H[1] в 2 раза и называются нормализацией параметров арифметического кодирования. Способы сдвига на один разряд в сторону старших разрядов двоичных последовательностей и записи в освободившийся младший разряд нулевого двоичного символа известны и описаны, например, в книге: В. Шило "Популярные цифровые микросхемы". - М., Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной и последовательной записью/считыванием двоичных последовательностей, и по своей сути являются умножением на два десятичных значений нижнего и верхнего значений интервала кодирования.
После каждого выполнения нормализации повторно самый левый бит двоичного представления нижнего значения интервала кодирования сравнивают с самым левым битом двоичного представления верхнего значения интервала кодирования. При их совпадении значение самого левого бита этих двоичных представлений считывают в качестве следующего закодированного бита кодированной последовательности n-го кодового блока.
0
0
1
0
1
После выполнения кодирования каждого очередного бита УДП КВК n-го кодового блока уточняют число закодированных нулевых символов и единичных символов. Так как первый кодированный бит является нулевым, то число закодированных нулевых символов увеличивают на единичное значение и оно составляет N[1]=2, и число закодированных нулевых и единичных символов становится равным N[1]=N[1]+N[1]=3. Пересчитывают текущее значение вероятности кодируемых нулевых символов  и текущее значение вероятности кодируемых единичных . В соответствии с этим длина подинтервала нулевых символов D[1] становится в 2 раза больше длины подинтервала единичных символов D[1], а параметр Q принимает значение 43690, как показано на фиг. 5 и на фиг. 6, третья строка сверху.
Если самый левый бит двоичного представления нижнего значения интервала кодирования не совпадает с самым левым битом двоичного представления верхнего значения интервала кодирования, то переходят к кодированию следующего бита УДП КВК n-го кодового блока и так далее до окончания кодируемых битов УДП КВК этого блока. Например, второй бит УДП КВК n-го кодового блока является единичным двоичным символом, как показано на фиг. 6, четвертая строка сверху, при t=2. При поступлении на вход арифметического кодирования единичного двоичного символа, значение интервала кодирования арифметического кодирования устанавливают равным значению предыдущего подинтервала единичных символов, поэтому нижнее значение интервала кодирования L[2] устанавливают равным значению Q, а верхнее значение интервала кодирования Н[2] устанавливают равным предыдущему верхнему значению интервала кодирования H[1]. Например, как показано на фиг. 5, значение L[2] устанавливают равным 43690, а Н[2] остается равным предыдущему значению 65554. Повторно самый левый бит двоичного представления значения L[2] сравнивают с самым левым битом двоичного представления значения Н[2] и при их совпадении значение самого левого бита двоичных представлений значений L[2] и Н[2] считывают в качестве очередного закодированного бита кодированной последовательности n-го кодового блока и так далее до окончания УДП КВК n-го кодового блока. Например, после кодирования последнего, шестого по счету, двоичного символа первой упорядоченной двоичной последовательности КВК n-го кодового блока результатом кодирования является двоичная последовательность, начинающаяся символами вида "011111" и продолжающаяся концевой последовательностью кодирования, в качестве которой может быть использованы любая двоичная последовательность, равная или большая нижней границы интервала кодирования последнего кодируемого двоичного символа i-й УДП квантованных вейвлет коэффициентов n-го кодового блока и меньшая верхней ее границы, как показано на фиг. 5 и на фиг. 6 при t=6. При выборе любой из указанного множества двоичных последовательностей арифметическое декодирование закодированных символов выполняется безошибочно.
Способы определения числа M≥1 символов различия интервала кодирования, отсчитывая от первого, начиная со стороны старших символов, несовпавшего двоичного символа верхней и нижней границ интервала кодирования последнего кодируемого двоичного символа i-й УДП квантованных вейвлет коэффициентов n-го кодового блока известны и описаны, например, в книге А. Сикарев, О. Лебедев "Микроэлектронные устройства формирования и обработки сложных сигналов". - М., Радио и связь, 1983, стр. 106-110 и заключаются в использовании цифровых компараторов и сумматоров. Например, верхняя и нижняя границы интервала кодирования последнего кодируемого двоичного символа i-й УДП квантованных вейвлет коэффициентов n-го кодового блока имеют десятичные значения 65520 и 40555, соответственно, как показано на фиг. 5 при t=6, а их двоичные последовательности имеют вид "1111111111110000" и "1001111001101011", соответственно, как показано на фиг. 6 при t=6. Начиная со стороны старших символов сравнивают одноименные двоичные символы этих двоичных последовательностей. В данных последовательностях первый двоичный символ, расположенный слева, являющийся единичным символом, совпадает. Второй двоичный символ, являющийся единичным для верхней границы интервала кодирования, и являющийся нулевым для нижней границы интервала кодирования, не совпадает. Начиная с первого выявленного несовпавшего двоичного символа верхней и нижней границ интервала кодирования и до конца двоичных последовательностей подсчитывают число M≥1 символов различия интервала кодирования. Например, если первый выявленный несовпавший двоичный символ является вторым по счету символом, начиная со стороны старших символов, а длина двоичных последовательностей верхней и нижней границ интервала кодирования последнего кодируемого двоичного символа i-й УДП квантованных вейвлет коэффициентов n-го кодового блока равна 16 битам, то число символов различия интервала кодирования равно M=15.
Способы замены последних М-1 двоичных символов i-й кодированной последовательности n-го кодового блока на M-1 двоичных символа вычисленной ДП цифрового водяного знака i-й УДП квантованных вейвлет коэффициентов этого блока заключаются в следующем. Считывается двоичная последовательность нижней границы интервала кодирования последнего кодируемого двоичного символа i-й УДП квантованных вейвлет коэффициентов n-то кодового блока. Из этой последовательности удаляют последние, расположенные справа, М-1 двоичных символов и на их место записывают М-1 двоичных символа вычисленной ДП цифрового водяного знака i-й УДП квантованных вейвлет коэффициентов этого блока. Способы считывания двоичной последовательности, удаления из нее последних М-1 двоичных символов и записи на место удаленных двоичных символов М-1 двоичных символов другой двоичной последовательности известны и описаны, например, в книге А. Сикарев, О. Лебедев "Микроэлектронные устройства формирования и обработки сложных сигналов". - М., Радио и связь, 1983, стр. 114-130 и заключаются в использовании регистров сдвига с параллельным считыванием и записью двоичных последовательностей. Например, двоичная последовательность нижней границы интервала кодирования последнего кодируемого двоичного символа первой УДП квантованных вейвлет коэффициентов n-го кодового блока имеет вид "1001111001101011" длиной 16 символов, как показано на фиг. 6 при t=6. Для описанного примера определено значение числа M=15, соответственно, M-1=14. Для этой УДП вычислена ДП цифрового водяного знака вида "11 0001 0001 0001 10" длиной 16 символов, как показано на фиг. 4(ж). Из двоичной последовательности нижней границы интервала кодирования последнего кодируемого двоичного символа первой УДП квантованных вейвлет коэффициентов n-го кодового блока сохраняют первые два двоичных символа вида "10" и оставшиеся двоичные символы на первые, например, 14 двоичных символов вычисленной ДП цифрового водяного знака этой УДП. Сформированная в результате замены двоичная последовательность имеет вид "1011 0001 0001 0001", как показано на фиг. 6 в последней строке.
В целом первая кодированная последовательность n-го кодового блока имеет вид, например, "01 1111 1011 0001 0001 0001", где первые 8 символов однозначно определены арифметическим кодированием первой УДП квантованных вейвлет коэффициентов, а последующие четырнадцать символов получены описанной выше заменой на символы вычисленной ДП цифрового водяного знака этой УДП, как показано на фиг. 4(з).
Способы записи разделительного маркера УДП по окончании арифметического кодирования очередной УДП КВК n-го кодового блока в ДП сжатого ЭИ известны и описаны, например, в книге: В. Шило "Популярные цифровые микросхемы". - М., Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной и последовательной записью/считыванием двоичных последовательностей. Разделительный маркер УДП блока предназначен для обеспечения разделения ДП принятого получателем ЭИ на кодированные последовательности n-го принятого кодового блока. Разделительный маркер УДП блока является уникальной двоичной последовательностью, априори известного для отправителя и получателя вида. Примерный вид разделительного маркера УДП в виде уникальной двоичной последовательности вида 110...0 показан на фиг. 4(з).
Способы записи разделительного маркера кодового блока по окончании арифметического кодирования УДП КВК n-го кодового блока в ДП сжатого ЭИ известны и описаны, например, в книге: В. Шило "Популярные цифровые микросхемы". - М., Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной и последовательной записью/считыванием двоичных последовательностей. Разделительный маркер кодового блока предназначен для обеспечения разделения ДП принятого получателем ЭИ на двоичные последовательности его принятых кодовых блоков. Разделительный маркер кодового блока является уникальной двоичной последовательностью, априори известного для отправителя и получателя вида. Примерный вид разделительного маркера кодового блока в виде уникальной двоичной последовательности вида 0101...01 показан на фиг. 4(з).
Примерный вид кодированных последовательностей с первой по L-й УДП КВК n-го кодового блока показан на фиг. 4(з).
Примерный вид двоичной последовательности кодированного ЭИ, состоящей из двоичных последовательностей с первого до N-го кодовых блоков, показан на фиг. 4(и).
Способы передачи получателю кодированного ЭИ известны и описаны, например, в книге А.Г. Зюко, Д.Д. Кловский, М.В. Назаров, Л.М. Финк "Теория передачи сигналов". - М.: Радио и связь, 1986, стр. 11. Примерный вид двоичной последовательности принятого получателем ЭИ показан на фиг. 7(a).
Алгоритм проверки подлинности n-го принятого кодового блока ЭИ представлен на фиг. 8.
Способы разделения ДП принятого получателем ЭИ на кодированные последовательности принятых кодовых блоков с использованием разделительного маркера кодового блока известны и описаны, например, в книге: А. Сикарев, О. Лебедев "Микроэлектронные устройства формирования и обработки сложных сигналов". -М., Радио и связь, 1983, стр. 72-80. Они заключаются в разделения ДП принятого получателем ЭИ на кодированные последовательности его принятых кодовых блоков с использованием разделительного маркера кодового блока известного получателю вида, указывающего границы каждого принятого блока. Далее аналогичным образом ДП n-го принятого кодового блока разделяют на кодированные последовательности этого блока с использованием разделительного маркера УДП известного получателю вида. Примерный вид КП n-го принятого кодового блока с разделительным маркером кодового блока и разделительными маркерами УДП представлен на фигуре 7(б).
0
1
0
1
1
1
1
0
0
1
0
1
0
1
Способы декодирования i-й кодированной последовательности n-го принятого (Пр.) кодового блока с использованием арифметического декодирования известны и описаны, например, в книге Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". - М., ДИАЛОГ-МИФИ, 2002, стр. 35-43. Они заключаются в последовательном декодировании с использованием арифметического декодирования i-й кодированной последовательности n-го Пр. кодового блока в соответствии с текущими значениями интервала декодирования арифметического декодера и текущими значениями вероятности декодируемых нулевого символа и единичного символа. Начальное состояние (Нач. сост.) арифметического декодирования представлено на фиг. 9. Начальное значение интервала декодирования арифметического декодера II[0], равное ΙΙ[0]=НН[0]-LL[0], где LL[0] - начальное нижнее значение интервала декодирования арифметического декодера, а НН[0] - начальное верхнее значение интервала декодирования арифметического декодера, разделяют на начальные значения подинтервала декодирования нулевых символов DD[0] и подинтервала декодирования единичных символов DD[0], длины которых прямо пропорциональны начальным значениям вероятности декодируемых нулевого символа рр[0] и единичного символа рр[0], соответственно. Начальную длину подинтервала декодирования единичных символов DD[0] определяют по формуле вида DD[0]=II[0]×рр[0], а начальную длину подинтервала декодирования нулевых символов DD[0] определяют по формуле вида DD[0]=II[0]-DD[0]. Например, как показано на фиг. 9, для арифметического декодирования первой кодированной последовательности n-го Пр. кодового блока установлены начальные значения LL[0]-0 и НН[0]=65535. Видно, что начальные границы интервала кодирования и начальные границы интервала декодирования совпадают. На фиг. 10 показана таблица состояний арифметического декодирования первой кодированной последовательности n-го принятого кодового блока. Например, начальное число декодированных нулевых символов равно NN[0]=1, а начальное число декодированных единичных символов - NN[0]=1, соответственно, начальное число декодированных нулевых и единичных символов равно NN[0]=NN[0]+NN[0]=1+1=2. Соответственно, начальное значение вероятности декодируемых единичных символов равно  и начальное значение вероятности декодируемых нулевых символов равно  Верхнее значение подинтервала декодирования нулевых символов обозначают как значение QQ, и данный подинтервал начинается снизу от нижнего значения интервала декодирования до значения QQ исключительно, а подинтервал декодирования единичных символов простирается от значения QQ включительно до верхнего значения интервала декодирования исключительно. Начальное значение QQ имеет десятичное значение 32767, как показано на фиг. 10 в первой строке при t=0.
0
1
0
На вход арифметического декодирования поступает кодированная последовательность n-го Пр. кодового блока, например, КП первой УДП КВК вида 0111 1110 1100 0100 0100 01 длиной 22 двоичных символа, сформированной арифметическим кодированием первой УДП КВК. Как и ранее описанное арифметическое кодирование, операции арифметического декодирования используют такую же разрядность выполняемых операций, например, 16 двоичных разрядов. Поэтому на вход арифметического декодирования считывают входные данные из первых 16 бит данной кодированной последовательности вида 0111 1110 1100 0100, что соответствует десятичному числу 32454. Текущее десятичное значение считанной кодированной последовательности, указанное на фиг. 9 стрелкой, сравнивают с границами начального значения подинтервала декодирования нулевых символов DD[0], находящимися, например, в пределах от 0 до 32767 и с границами начального значения подинтервала декодирования единичных символов DD[0], находящимися, например, в пределах от 32767 до 65535. В зависимости от того, в пределах какого подинтервала декодирования символов оказалось текущее значение считанной кодированной последовательности, принимается решение о декодировании очередного символа упорядоченной двоичной последовательности КВК n-го принятого кодового блока. Например, так как текущее значение считанной кодированной последовательности оказалось меньше значения QQ, то первый декодированный символ является нулевым и следующие границы интервала декодирования устанавливают соответствующими границам начального значения подинтервала декодирования нулевых символов DD[0].
Для декодирования следующего символа устанавливают нижнее значение интервала декодирования арифметического кодирования LL[1] равным предыдущему значению LL[0], например, LL[0]=0, а верхнее значение интервала декодирования арифметического кодирования НН[1] равным значению QQ, например, QQ=32767. Самый левый бит двоичного представления значения LL[1] сравнивают с самым левым битом двоичного представления значения НН[1], например, вида 000…0 и 01111…1, соответственно. При их совпадении выполняют нормализацию арифметического декодирования: значение самого левого бита двоичных представлений значений LL[1] и НН[1] удаляют и двоичные символы двоичных представлений значений LL[1] и НН[1] сдвигают справа налево на один разряд и справа к ним дописывают по нулевому двоичному символу. Одновременно с этим, значение самого левого бита входных данных удаляют и двоичные символы входных данных сдвигают справа налево на один разряд и справа к ним дописывают следующий двоичный символ декодируемой последовательности, например, нулевой символ, семнадцатый по счету в КП первой УДП КВК. Как, например, показано на фиг. 10 в строке "нормализация", входные данные приобретают двоичное представление 1111 1101 1000 1000 и десятичное значение 64904. Переменная LL[1] принимает десятичное значение 0 и двоичное представление 00…0, а HH[1] - десятичное значение 65534 и двоичное представление 111…10. Так как самые левые биты двоичных представлений LL[1] и НН[1] не совпадают, то повторное выполнение нормализации не требуется.
После декодирования каждого символа пересчитывают текущее значение вероятности декодируемого нулевого символа и текущее значение вероятности декодируемого нулевого символа, например, после декодирования первого символа, являющегося нулевым, по формуле вида  и по формуле вида , соответственно. Устанавливают текущие длины подинтервалов декодирования единичных символов и нулевых символов и устанавливают текущее значение QQ=43689 с двоичным представлением вида 1010 1010 1010 1001.
Текущее десятичное значение входных данных сравнивают с границами текущего значения подинтервала декодирования нулевых символов и подинтервала декодирования единичных символов. Текущее десятичное значение входных данных 64904 оказалось в пределах подинтервала декодирования единичных символов, поэтому очередной декодированный символ является единичным.
Для декодирования следующего символа устанавливают нижнее значение интервала декодирования LL[2] равным, например, QQ=43689, а верхнее значение интервала декодирования НН[2] равным предыдущему значению НН[1]. Самый левый бит двоичного представления значения LL[2] сравнивают с самым левым битом двоичного представления значения НН[2] и при их совпадении выполняют нормализацию арифметического декодирования и т.д.
После завершения декодирования кодированной последовательности очередной УДП КВК n-го Пр. блока ЭИ определяют число М символов различия интервала декодирования, отсчитывая от первого, начиная со стороны старших символов, несовпавшего двоичного символа верхней и нижней границ интервала декодирования последнего декодируемого двоичного символа i-й УДП квантованных вейвлет коэффициентов n-го принятого кодового блока.
Способы определения числа М символов различия интервала декодирования полностью соответствуют способам определения числа М символов различия интервала кодирования. Например, верхняя и нижняя границы интервала декодирования последнего декодируемого двоичного символа i-й УДП квантованных вейвлет коэффициентов n-го принятого кодового блока имеют десятичные значения 65520 и 40554, соответственно, как показано на фиг. 9 при t=6, а их двоичные последовательности имеют вид "1111111111110000" и "1001111001101010", соответственно, как показано на фиг. 10 при t=6. Например, если первый выявленный несовпавший двоичный символ является вторым по счету символом, начиная со стороны старших символов, а длина двоичных последовательностей верхней и нижней границ интервала декодирования последнего декодируемого двоичного символа i-й УДП квантованных вейвлет коэффициентов n-го принятого кодового блока равна 16 битам, то число символов различия интервала декодирования равно M=15. Заметим, что различие в значениях нижних границ интервала кодирования и интервала декодирования, 40555 и 40554, соответственно, не приводит к разным результатам при определении числа символов различия интервала кодирования и интервала декодирования, соответственно.
Способы вычисления ДП цифрового водяного знака i-й УДП квантованных вейвлет коэффициентов n-го принятого кодового блока из i-й УДП квантованных вейвлет коэффициентов n-го принятого кодового блока с использованием предварительно сформированных криптографической функции хэширования и ДП СК аналогичны способам вычисления ДП цифрового водяного знака i-ой УДП квантованных вейвлет коэффициентов n-го кодового блока из i-й УДП квантованных вейвлет коэффициентов n-го кодового блока с использованием предварительно сформированных криптографической функции хэширования и ДП СК. Например, для первой УДП КВК n-го принятого кодового блока вычислена ДП цифрового водяного знака вида "11 0001 0001 0001 10" длиной 16 символов, как показано на фиг. 7(в).
Способы побитного сравнения последних М-1 двоичных символов i-й кодированной последовательности n-го принятого кодового блока с М-1 двоичными символами вычисленной ДП цифрового водяного знака i-й УДП квантованных вейвлет коэффициентов этого блока заключаются в следующем. Из i-й кодированной последовательности n-го принятого кодового блока выделяют последние М-1 двоичные символы, как описано, например, в книге: В. Шило "Популярные цифровые микросхемы". - М., Радио и связь, 1987, 85-130, с использованием регистров сдвига и цифровых счетчиков. Аналогичным образом из вычисленной ДП цифрового водяного знака i-й УДП квантованных вейвлет коэффициентов этого блока выделяют первые М-1 двоичные символы. Способы побитного сравнения этих двух двоичных последовательностей известны и описаны, например, в книге: А. Сикарев, О. Лебедев "Микроэлектронные устройства формирования и обработки сложных сигналов". - М., Радио и связь, 1983, стр. 108-109, с использованием цифровых компараторов. Если на параллельных входах сравниваемых двоичных значений все сравниваемые пары совпадают, то на выходе цифрового компаратора формируется сигнал, при наличии которого i-ю УДП квантованных вейвлет коэффициентов n-го принятого кодового блока считают подлинной.
Например, последние М-1 двоичных символов i-й кодированной последовательности n-го принятого кодового блока имеют вид "1100 0100 0100 01" длиной 14 символов, как показано на фиг. 7(г), и побитно совпадают с первыми М-1 двоичными символами вычисленной ДП цифрового водяного знака i-й УДП квантованных вейвлет коэффициентов этого блока.
При признании подлинными всех L УДП квантованных вейвлет коэффициентов n-го принятого кодового блока этот блок считают подлинным.
Принятое ЭИ считают подлинным, если подлинными оказываются N принятых кодовых блоков.
Проверка теоретических предпосылок заявленного способа аутентификации ЭИ проверялась путем его аналитических исследований.
Было выполнено кодирование электронных изображений, каждое из которых содержало по Ν=15480 кодовых блоков каждый размером 32×32 квантованных вейвлет коэффициентов. Квантованные вейвлет коэффициенты каждого кодового блока преобразовывали в L≤11 упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го кодового блока, которые кодировали с использованием арифметического кодирования в кодированные последовательности этого блока. Кодирование электронных изображений было выполнено в трех вариантах: без обеспечения аутентификации, с обеспечением аутентификации в соответствии со способом-прототипом и с обеспечением аутентификации в соответствии с заявленным способом аутентификации ЭИ.
Подсчитывали размер несжатого ЭИ и размер кодированного ЭИ в байтах. Также вычисляли коэффициент сжатия ЭИ в разах путем деления размера несжатого ЭИ на размер кодированного ЭИ. Точность кодирования ЭИ оценивали путем подсчета пикового отношения сигнал/шум кодированного изображения относительно некодированного изображения. Результаты кодирования трех различных ЭИ показаны в таблице на фиг. 11. В способе-прототипе для обеспечения защищенности к попыткам нарушителя подмены подлинного аутентифицированного ЭИ на неподлинное ЭИ длина двоичных последовательностей ЦВЗ каждого кодового блока должна быть не менее 32 бит, что вызывает увеличение длины кодированного с обеспечением аутентификации по сравнению с длиной кодированного без обеспечения аутентификации ЭИ.
Видно, что обеспечение аутентификации при кодировании ЭИ с использованием способа-прототипа приводит к снижению точности кодирования аутентифицированного ЭИ. Это выражается в уменьшении пикового отношения сигнал/шум первого изображения с 39.3 дБ до 38.1 дБ, для второго изображения с 42.1 дБ до 40.2 дБ и для третьего изображения с 40.51 дБ до 39.4 дБ. При обеспечении аутентификации в соответствии с заявленным способом аутентификации ЭИ не снижается пиковое отношение сигнал/шум кодированного ЭИ и не увеличивается длина кодированного ЭИ по сравнением со случаем арифметического кодирования без обеспечения аутентификации ЭИ.
Таким образом, в заявленном способе аутентификации ЭИ обеспечивается аутентификация ЭИ без увеличения длины кодированного с обеспечением аутентификации ЭИ по сравнению с длиной кодированного без обеспечения аутентификации ЭИ и без снижения точности кодирования аутентифицированного ЭИ.