СПОСОБ АУТЕНТИФИКАЦИИ ЭЛЕКТРОННОГО ИЗОБРАЖЕНИЯ (ВАРИАНТЫ)
METHOD OF AUTHENTICATING ELECTRONIC IMAGE (VERSIONS)

Заявленные технические решения объединены единым изобретательским замыслом и относятся к области электросвязи и информационных технологий, а именно к технике защиты подлинности электронных изображений (ЭИ), сжимаемых алгоритмами сжатия ЭИ, такими как 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. Данный способ аутентификации ЭИ заключается в предварительном формировании для отправителя и получателя ДП СК, криптографической функции хэширования и криптографической функции шифрования. У отправителя разделяют ЭИ на M≥2 блоков каждый размером n×n пикселов, где n≥2 и n≥2, над каждым m-ым, где m=1, 2, …, М, блоком ЭИ выполняют вейвлет преобразование, полученные в результате преобразования вейвлет коэффициенты квантуют и преобразуют в ДП вейвлет коэффициентов m-го блока ЭИ, которые преобразуют в N≥2 УДП вейвлет коэффициентов m-го блока ЭИ. Из K, где K=N-1, УДП ВК m-го блока ЭИ вычисляют его хэширующую последовательность с помощью предварительно сформированной криптографической функции хэширования. Затем из хэширующей последовательности m-го блока ЭИ вычисляют его ДП цифрового водяного знака с помощью предварительно сформированных криптографической функции шифрования и ДП СК. Аутентифицируют m-й блок ЭИ, для чего встраивают ДП ЦВЗ m-го блока ЭИ в N-ую УДП ВК этого блока ЭИ заменой N-ой УДП ВК этого блока ЭИ на его ДП ЦВЗ.
Полученные УДП ВК с встроенной ДП ЦВЗ m-го блока ЭИ кодируют с использованием арифметического кодирования в кодированные последовательности этого блока, включающие маркеры, причем действия по аутентификации у отправителя блоков ЭИ повторяют до завершения их поступления.
Передают аутентифицированное ЭИ получателю, где проверяют подлинность принятого получателем ЭИ, для чего разделяют ДП принятого получателем ЭИ на двоичные последовательности его принятых блоков, которые разделяют на кодированные последовательности m-го принятого блока ЭИ, декодируют их и выделяют N УДП ВК m-го принятого блока ЭИ. Выделяют из N-ой УДП ВК m-го принятого блока ЭИ ДП ЦВЗ m-го принятого блока ЭИ и запоминают ее.
Из K УДП ВК m-го принятого блока ЭИ вычисляют его хэширующую последовательность с помощью предварительно сформированной криптографической функции хэширования. Затем из хэширующей последовательности m-го принятого блока ЭИ вычисляют его ДП ЦВЗ с помощью предварительно сформированных криптографической функции шифрования и ДП СК и сравнивают ее с ранее выделенной и запомненной ДП ЦВЗ m-го принятого блока ЭИ. При их совпадении m-ый принятый блок ЭИ считают подлинным. Повторяют действия по проверке подлинности принятых блоков ЭИ до завершения их приема. Принятое ЭИ считают подлинным, если подлинными оказываются М принятых блоков ЭИ.
Недостатком указанных аналогов является относительно низкая устойчивость аутентифицированного ЭИ к воздействию ошибок канала передачи. Это обусловлено тем, что при искажении ошибками канала передачи любого бита ДП m-го принятого аутентифицированного БЭИ в этой двоичной последовательности происходит размножение ошибок из-за использовании функции хэширования для ее вычисления и в итоге этот БЭИ считают неподлинным.
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, кодового блока квантованных вейвлет коэффициентов преобразуют в двоичные последовательности квантованных вейвлет коэффициентов n-го кодового блока, которые преобразуют в L≥2 упорядоченные двоичные последовательности (УДП) квантованных вейвлет коэффициентов n-го кодового блока, из первых K, где 1≤K≤L, УДП квантованных вейвлет коэффициентов n-го кодового блока с использованием предварительно сформированных криптографической функции хэширования и ДП СК вычисляют ДП цифрового водяного знака (ЦВЗ) n-го кодового блока, которую встраивают в последние T, где K≤T≤L, УДП квантованных вейвлет коэффициентов этого же блока, номера которых определяют предварительно сформированной ДП СК, УДП квантованных вейвлет коэффициентов n-го кодового блока, включая УДП вейвлет коэффициентов с встроенной ДП ЦВЗ n-го кодового блока, кодируют с использованием арифметического кодирования в кодированные последовательности этого блока, по окончании арифметического кодирования УДП квантованных вейвлет коэффициентов n-го кодового блока в ДП кодированного ЭИ записывают разделительный маркер кодового блока, причем действия по аутентификации у отправителя кодовых блоков повторяют до завершения их поступления.
Передают кодированное ЭИ получателю, где проверяют подлинность принятого получателем ЭИ, для чего разделяют ДП принятого получателем ЭИ на двоичные последовательности его принятых блоков, которые разделяют на кодированные последовательности принятых кодовых блоков, декодируют кодированные последовательности n-го принятого кодового блока с использованием арифметического декодирования и выделяют L УДП квантованных вейвлет коэффициентов n-го принятого кодового блока, из последних T УДП квантованных вейвлет коэффициентов n-го принятого кодового блока, номера которых определяют предварительно сформированной ДП СК, выделяют ДП ЦВЗ n-го принятого кодового блока, которую запоминают, из первых K УДП квантованных вейвлет коэффициентов n-го принятого кодового блока с использованием предварительно сформированных криптографической функции хэширования и ДП СК вычисляют ДП ЦВЗ n-го принятого кодового блока, которую побитно сравнивают с запомненной выделенной ДП ЦВЗ этого блока, при их совпадении n-ый принятый кодовый блок считают подлинным, повторяют действия по проверке подлинности принятых кодовых блоков до завершения их приема, принятое ЭИ считают подлинным, если подлинными оказываются N принятых кодовых блоков.
Способ-прототип аутентификации ЭИ обеспечивает контроль подлинности ЭИ, сжимаемого с использованием алгоритмов сжатия, таких как JPEG2000 и т.п.
Недостатком ближайшего аналога (прототипа) является существенное увеличение длины кодированного с обеспечением аутентификации ЭИ по сравнению с длиной кодированного без обеспечения аутентификации ЭИ. Данное увеличение длины обусловлено тем, что при аутентификации в кодированное ЭИ встраивается значительное число достаточно длинных двоичных последовательностей ЦВЗ в каждый n-ый кодовый блок. Для обеспечения высокой защищенности к попыткам со стороны нарушителя подмены подлинного аутентифицированного ЭИ на неподлинное ЭИ длина двоичных последовательностей ЦВЗ каждого кодового блока должна быть не менее 32 бит, а число кодовых блоков в электронном изображении достаточно велико, что вызывает существенное увеличение длины кодированного с обеспечением аутентификации ЭИ по сравнению с длиной кодированного без обеспечения аутентификации ЭИ.
Техническим результатом заявляемых решений является уменьшение разницы длины кодированного с обеспечением аутентификации ЭИ по сравнению с длиной кодированного без обеспечения аутентификации ЭИ.
1
2
1
2
Указанный технический результат в первом варианте заявляемого способа аутентификации ЭИ, использующего установку секретных начальных границ интервалов кодирования и декодирования, достигается тем, что в известном способе аутентификации ЭИ, заключающемся в предварительном формировании для отправителя и получателя двоичной последовательности секретного ключа, у отправителя над ЭИ выполняют вейвлет преобразование, полученные в результате преобразования вейвлет коэффициенты квантуют и разделяют на N≥2 кодовых блоков квантованных вейвлет коэффициентов каждый размером n×n коэффициентов, где n≥2 и n≥2, квантованные вейвлет коэффициенты n-го, где n=1, 2, …, N, кодового блока квантованных вейвлет коэффициентов преобразуют в двоичные последовательности квантованных вейвлет коэффициентов n-го кодового блока, которые преобразуют в L≥2 упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го кодового блока, упорядоченные двоичные последовательности квантованных вейвлет коэффициентов n-го кодового блока кодируют с использованием арифметического кодирования в кодированные последовательности этого блока, по окончании арифметического кодирования УДП квантованных вейвлет коэффициентов n-го кодового блока в двоичную последовательность кодированного ЭИ записывают разделительный маркер кодового блока, причем действия по аутентификации у отправителя кодовых блоков повторяют до завершения их поступления, передают кодированное ЭИ получателю, где проверяют подлинность принятого получателем ЭИ, для чего разделяют ДП принятого получателем ЭИ на двоичные последовательности его принятых блоков с использованием разделительного маркера каждого кодового блока, которые разделяют на кодированные последовательности n-го принятого кодового блока, декодируют кодированные последовательности n-го принятого кодового блока с использованием арифметического декодирования в L упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го принятого кодового блока, повторяют действия по проверке подлинности принятых кодовых блоков до завершения их приема, принятое ЭИ считают подлинным, если подлинными оказываются N принятых кодовых блоков, дополнительно предварительно для отправителя и получателя вычисляют длину упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока.
У отправителя перед кодированием УДП квантованных вейвлет коэффициентов n-го кодового блока с использованием арифметического кодирования устанавливают секретные начальные границы интервала кодирования арифметического кодирования в соответствии с предварительно сформированной ДП СК или в соответствии с предварительно сформированной ДП СК и номером n-го кодового блока.
У получателя перед декодированием кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования устанавливают секретные начальные границы интервала декодирования арифметического декодирования в соответствии с предварительно сформированной ДП СК или в соответствии с предварительно сформированной ДП СК и номером n-го принятого кодового блока. После декодирования упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го принятого кодового блока подсчитывают длину каждой декодированной упорядоченной двоичной последовательности квантованных вейвлет коэффициентов этого блока и сравнивают подсчитанные значения этой длины с предварительно вычисленной длиной упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока, и при их совпадении для каждой из L подсчитанных значений длины n-ый принятый кодовый блок считают подлинным.
Таким образом, в первом варианте способа аутентификации ЭИ используют установку секретных начальных границ интервала кодирования арифметического кодирования и интервала декодирования арифметического декодирования в соответствии с предварительно сформированной ДП СК.
1
2
1
2
Указанный технический результат во втором варианте заявляемого способа аутентификации ЭИ, использующего установку секретных начальных значений вероятностей кодируемых и декодируемых нулевых символов и единичных символов, достигается тем, что в известном способе аутентификации ЭИ, заключающемся в предварительном формировании для отправителя и получателя двоичной последовательности секретного ключа, у отправителя над ЭИ выполняют вейвлет преобразование, полученные в результате преобразования вейвлет коэффициенты квантуют и разделяют на N≥2 кодовых блоков квантованных вейвлет коэффициентов каждый размером n×n коэффициентов, где n≥2 и n>2, квантованные вейвлет коэффициенты n-го, где n=1, 2, …, N, кодового блока квантованных вейвлет коэффициентов преобразуют в двоичные последовательности квантованных вейвлет коэффициентов n-го кодового блока, которые преобразуют в L≥2 упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го кодового блока, упорядоченные двоичные последовательности квантованных вейвлет коэффициентов n-го кодового блока кодируют с использованием арифметического кодирования в кодированные последовательности этого блока, по окончании арифметического кодирования УДП квантованных вейвлет коэффициентов n-го кодового блока в двоичную последовательность кодированного ЭИ записывают разделительный маркер кодового блока, причем действия по аутентификации у отправителя кодовых блоков повторяют до завершения их поступления, передают кодированное ЭИ получателю, где проверяют подлинность принятого получателем ЭИ, для чего разделяют ДП принятого получателем ЭИ на двоичные последовательности его принятых блоков с использованием разделительного маркера каждого кодового блока, которые разделяют на кодированные последовательности n-го принятого кодового блока, декодируют кодированные последовательности n-го принятого кодового блока с использованием арифметического декодирования в L упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го принятого кодового блока, повторяют действия по проверке подлинности принятых кодовых блоков до завершения их приема, принятое ЭИ считают подлинным, если подлинными оказываются N принятых кодовых блоков, дополнительно предварительно для отправителя и получателя вычисляют длину упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока.
У отправителя перед кодированием УДП квантованных вейвлет коэффициентов n-го кодового блока с использованием арифметического кодирования устанавливают секретные начальные значения вероятностей кодируемых нулевых символов и единичных символов в соответствии с предварительно сформированной ДП СК или в соответствии с предварительно сформированной ДП СК и номером n-го кодового блока.
У получателя перед декодированием кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования устанавливают секретные начальные значения вероятностей декодируемых нулевых символов и единичных символов в соответствии с предварительно сформированной ДП СК или в соответствии с предварительно сформированной ДП СК и номером n-го принятого кодового блока. После декодирования упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го принятого кодового блока подсчитывают длину каждой декодированной упорядоченной двоичной последовательности квантованных вейвлет коэффициентов этого блока и сравнивают подсчитанные значения этой длины с предварительно вычисленной длиной упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока, и при их совпадении для каждой из L подсчитанных значений длины n-ый принятый кодовый блок считают подлинным.
Таким образом, во втором варианте способа аутентификации ЭИ используют установку секретных начальных значений вероятностей кодируемых нулевых символов и единичных символов и секретных начальных значений вероятностей декодируемых нулевых символов и единичных символов в соответствии с предварительно сформированной ДП СК.
1
2
1
2
Указанный технический результат в третьем варианте заявляемого способа аутентификации ЭИ, использующего изменение по ключу границ интервала кодирования арифметического кодирования и интервала декодирования арифметического декодировании для каждого кодируемого и декодируемого бита, заключающемся в предварительном формировании для отправителя и получателя двоичной последовательности секретного ключа, у отправителя над электронным изображением выполняют вейвлет преобразование, полученные в результате преобразования вейвлет коэффициенты квантуют и разделяют на N≥2 кодовых блоков квантованных вейвлет коэффициентов каждый размером n×n коэффициентов, где n≥2 и n≥2, квантованные вейвлет коэффициенты n-го, где n=1, 2, …, N, кодового блока квантованных вейвлет коэффициентов преобразуют в двоичные последовательности квантованных вейвлет коэффициентов n-го кодового блока, которые преобразуют в L≥2 упорядоченные двоичные последовательности квантованных вейвлет коэффициентов n-го кодового блока, УДП квантованных вейвлет коэффициентов n-го кодового блока кодируют с использованием арифметического кодирования в кодированные последовательности этого блока, по окончании арифметического кодирования УДП квантованных вейвлет коэффициентов n-го кодового блока в ДП кодированного ЭИ записывают разделительный маркер кодового блока, причем действия по аутентификации у отправителя кодовых блоков повторяют до завершения их поступления, передают кодированное ЭИ получателю, где проверяют подлинность принятого получателем ЭИ, для чего разделяют двоичную последовательность принятого получателем ЭИ на двоичные последовательности его принятых блоков с использованием разделительного маркера каждого кодового блока, которые разделяют на кодированные последовательности n-го принятого кодового блока, декодируют кодированные последовательности n-го принятого кодового блока с использованием арифметического декодирования в L упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го принятого кодового блока, повторяют действия по проверке подлинности принятых кодовых блоков до завершения их приема, принятое ЭИ считают подлинным, если подлинными оказываются N принятых кодовых блоков, дополнительно предварительно для отправителя и получателя вычисляют длину упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока.
У отправителя перед кодированием очередного бита очередной УДП квантованных вейвлет коэффициентов n-го кодового блока с использованием арифметического кодирования изменяют границы интервала кодирования арифметического кодирования в соответствии с предварительно сформированной ДП СК или в соответствии с предварительно сформированной ДП СК и номером n-го кодового блока, у получателя перед декодированием очередного бита очередной кодированной последовательности n-го принятого кодового блока с использованием арифметического декодирования изменяют границы интервала декодирования арифметического декодирования в соответствии с предварительно сформированной ДП СК или в соответствии с предварительно сформированной ДП СК и номером n-го принятого кодового блока. После декодирования упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го принятого кодового блока подсчитывают длину каждой декодированной упорядоченной двоичной последовательности квантованных вейвлет коэффициентов этого блока и сравнивают подсчитанные значения этой значений длины с предварительно вычисленной длиной упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока, и при их совпадении для каждой из L подсчитанных значений длины n-ый принятый кодовый блок считают подлинным.
Таким образом, в третьем варианте способа аутентификации ЭИ используют изменение по ключу границ интервала кодирования арифметического кодирования перед кодированием очередного бита очередной УДП квантованных вейвлет коэффициентов n-го кодового блока с использованием арифметического кодирования и соответствующее изменение по ключу границ интервала декодирования арифметического декодирования перед декодированием очередного бита очередной кодированной последовательности n-го принятого кодового блока с использованием арифметического декодирования в соответствии с предварительно сформированной ДП СК.
1
2
1
2
Указанный технический результат в четвертом варианте заявляемого способа аутентификации ЭИ, использующего изменение по секретному ключу значений вероятности кодируемых и декодируемых нулевых и единичных символов для каждого кодируемого и декодируемого бита, заключающемся в предварительном формировании для отправителя и получателя двоичной последовательности секретного ключа, у отправителя над электронным изображением выполняют вейвлет преобразование, полученные в результате преобразования вейвлет коэффициенты квантуют и разделяют на N≥2 кодовых блоков квантованных вейвлет коэффициентов каждый размером n×n коэффициентов, где n≥2 и n≥2, квантованные вейвлет коэффициенты n-го, где n=1, 2, …, N, кодового блока квантованных вейвлет коэффициентов преобразуют в двоичные последовательности квантованных вейвлет коэффициентов n-го кодового блока, которые преобразуют в L≥2 упорядоченные двоичные последовательности квантованных вейвлет коэффициентов n-го кодового блока, УДП квантованных вейвлет коэффициентов n-го кодового блока кодируют с использованием арифметического кодирования в кодированные последовательности этого блока, по окончании арифметического кодирования УДП квантованных вейвлет коэффициентов n-го кодового блока в ДП кодированного ЭИ записывают разделительный маркер кодового блока, причем действия по аутентификации у отправителя кодовых блоков повторяют до завершения их поступления, передают кодированное ЭИ получателю, где проверяют подлинность принятого получателем ЭИ, для чего разделяют двоичную последовательность принятого получателем ЭИ на двоичные последовательности его принятых блоков с использованием разделительного маркера каждого кодового блока, которые разделяют на кодированные последовательности n-го принятого кодового блока, декодируют кодированные последовательности n-го принятого кодового блока с использованием арифметического декодирования в L упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го принятого кодового блока, повторяют действия по проверке подлинности принятых кодовых блоков до завершения их приема, принятое ЭИ считают подлинным, если подлинными оказываются N принятых кодовых блоков, дополнительно предварительно для отправителя и получателя вычисляют длину упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока.
У отправителя после кодирования очередного бита очередной УДП квантованных вейвлет коэффициентов n-го кодового блока с использованием арифметического кодирования при нулевом значении очередного бита предварительно сформированной ДП СК или очередного бита предварительно сформированной ДП СК и номера n-го кодового блока увеличивают вероятность кодируемых нулевых символов после кодирования очередного нулевого бита, иначе увеличивают вероятность кодируемых единичных символов, а при единичном значении очередного бита предварительно сформированной ДП СК или очередного бита предварительно сформированной ДП СК и номера n-го кодового блока уменьшают вероятность кодируемых нулевых символов после кодирования очередного нулевого бита, иначе уменьшают вероятность кодируемых единичных символов. У получателя после декодирования очередного бита очередной кодированной последовательности n-го принятого кодового блока с использованием арифметического декодирования при нулевом значении очередного бита предварительно сформированной ДП СК или очередного бита предварительно сформированной ДП СК и номера n-го принятого кодового блока увеличивают вероятность декодируемых нулевых символов после декодирования очередного нулевого бита, иначе увеличивают вероятность декодируемых единичных символов, а при единичном значении очередного бита предварительно сформированной ДП СК или очередного бита предварительно сформированной ДП СК и номера n-го принятого кодового блока уменьшают вероятность декодируемых нулевых символов после декодирования очередного нулевого бита, иначе уменьшают вероятность декодируемых единичных символов.
После декодирования упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го принятого кодового блока подсчитывают длину каждой декодированной упорядоченной двоичной последовательности квантованных вейвлет коэффициентов этого блока и сравнивают подсчитанные значения этой значений длины с предварительно вычисленной длиной упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока, и при их совпадении для каждой из L подсчитанных значений длины n-ый принятый кодовый блок считают подлинным.
Таким образом, в четвертом варианте способа аутентификации ЭИ используют изменение значений вероятности кодируемых и декодируемых нулевых и единичных символов для каждого кодируемого и декодируемого бита в соответствии с предварительно сформированной ДП СК.
Указанные новые совокупности действий по четверым вариантам за счет адаптации арифметического кодирования к изменению по секретному ключу границ интервала кодирования или значений вероятности кодируемых нулевых и единичных символов арифметического кодирования позволяют уменьшить длину кодированного с обеспечением аутентификации ЭИ. Поэтому указанные новые совокупности действий позволяют уменьшить разницу длины кодированного с обеспечением аутентификации ЭИ по сравнению с длиной кодированного без обеспечения аутентификации ЭИ.
Заявленный способ (варианты) поясняется чертежами, на которых показаны:
- на фиг. 1 - общая схема аутентификации ЭИ;
- на фиг. 2 - рисунки, поясняющие предварительное формирование ДП СК и вычисления длины упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока;
- на фиг. 3 - алгоритм формирования аутентифицированного ЭИ при установке секретных начальных границ интервала кодирования;
- на фиг. 4 - временные диаграммы формирования аутентифицированного n-го кодового блока;
- на фиг. 5 - временные диаграммы кодирования УДП КВК n-го кодового блока с использованием арифметического кодирования в кодированные последовательности этого блока без установки секретных начальных границ интервала кодирования;
- на фиг. 6 - таблица состояний арифметического кодирования УДП КВК n-го кодового блока в кодированные последовательности этого блока без установки секретных начальных границ интервала кодирования;
- на фиг. 7 - временные диаграммы кодирования УДП КВК n-го кодового блока с использованием арифметического кодирования в кодированные последовательности этого блока при установке секретных начальных границ интервала кодирования;
- на фиг. 8 - таблица состояний арифметического кодирования УДП КВК n-го кодового блока в кодированные последовательности этого блока при установке секретных начальных границ интервала кодирования;
- на фиг. 9 - временные диаграммы проверки подлинности n-го принятого кодового блока;
- на фиг. 10 - алгоритм проверки подлинности принятого ЭИ при установке секретных начальных границ интервала декодирования;
- на фиг. 11 - временные диаграммы декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования при установке секретных начальных границ интервала декодирования;
- на фиг. 12 - таблица состояний арифметического декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования при установке секретных начальных границ интервала декодирования;
- на фиг. 13 - временные диаграммы декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования без установки секретных начальных границ интервала декодирования;
- на фиг. 14 - значения длины и коэффициента сжатия кодированных с обеспечением аутентификации ЭИ для способа-прототипа и первого варианта заявленного способа аутентификации ЭИ;
- на фиг. 15 - алгоритм формирования аутентифицированного ЭИ при установке секретных начальных значений вероятностей кодируемых нулевых и единичных символов;
- на фиг. 16 - временные диаграммы кодирования УДП КВК n-го кодового блока с использованием арифметического кодирования в кодированные последовательности этого блока при установке секретных начальных значений вероятностей кодируемых нулевых и единичных символов;
- на фиг. 17 - таблица состояний арифметического кодирования УДП КВК n-го кодового блока в кодированные последовательности этого блока при установке секретных начальных значений вероятностей кодируемых нулевых и единичных символов;
- на фиг. 18 - алгоритм проверки подлинности принятого ЭИ при установке секретных начальных значений вероятностей декодируемых нулевых и единичных символов;
- на фиг. 19 - временные диаграммы декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования при установке секретных начальных значений вероятностей декодируемых нулевых и единичных символов;
- на фиг. 20 - таблица состояний арифметического декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования при установке секретных начальных значений вероятностей декодируемых нулевых и единичных символов;
- на фиг. 21 - временные диаграммы декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования без установки секретных начальных значений вероятностей декодируемых нулевых и единичных символов;
- на фиг. 22 - значения длины и коэффициента сжатия кодированных с обеспечением аутентификации ЭИ для способа-прототипа и второго варианта заявленного способа аутентификации ЭИ;
- на фиг. 23 - алгоритм формирования аутентифицированного ЭИ при изменении по секретному ключу границ интервала кодирования арифметического кодирования для каждого кодируемого бита;
- на фиг. 24 - временные диаграммы кодирования УДП КВК n-го кодового блока при изменении по секретному ключу границ интервала кодирования арифметического кодирования для каждого кодируемого бита;
- на фиг. 25 - таблица состояний арифметического кодирования УДП КВК n-го кодового блока в кодированные последовательности этого блока при изменении по секретному ключу границ интервала кодирования арифметического кодирования для каждого кодируемого бита;
- на фиг. 26 - алгоритм проверки подлинности принятого ЭИ при изменении по ключу границ интервала декодирования арифметического декодировании для каждого декодируемого бита;
- на фиг. 27 - временные диаграммы декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования при изменении по секретному ключу границ интервала декодирования арифметического декодировании для каждого декодируемого бита;
- на фиг. 28 - таблица состояний арифметического декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования при изменении по секретному ключу границ интервала декодирования арифметического декодировании для каждого декодируемого бита;
- на фиг. 29 - временные диаграммы декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования без изменения по секретному ключу границ интервала декодирования арифметического декодировании для каждого декодируемого бита;
- на фиг. 30 - значения длины и коэффициента сжатия кодированных с обеспечением аутентификации ЭИ для способа-прототипа и третьего варианта заявленного способа аутентификации ЭИ;
- на фиг. 31 - алгоритм формирования аутентифицированного ЭИ при изменении по секретному ключу значений вероятности кодируемых нулевых и единичных символов для каждого кодируемого бита;
- на фиг. 32 - временные диаграммы кодирования УДП КВК n-го кодового блока при изменении по секретному ключу значений вероятности кодируемых нулевых и единичных символов для каждого кодируемого бита;
- на фиг. 33 - таблица состояний арифметического кодирования УДП КВК n-го кодового блока в кодированные последовательности этого блока при изменении по секретному ключу значений вероятности кодируемых нулевых и единичных символов для каждого кодируемого бита;
- на фиг. 34 - алгоритм проверки подлинности принятого ЭИ при изменении по секретному ключу значений вероятности декодируемых нулевых и единичных символов для каждого декодируемого бита;
- на фиг. 35 - временные диаграммы декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования при изменении по секретному ключу значений вероятности декодируемых нулевых и единичных символов для каждого декодируемого бита;
- на фиг. 36 - таблица состояний арифметического декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования при изменении по секретному ключу значений вероятности декодируемых нулевых и единичных символов для каждого декодируемого бита;
- на фиг. 37 - временные диаграммы декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования без изменения по секретному ключу значений вероятности декодируемых нулевых и единичных символов для каждого декодируемого бита;
- на фиг. 38 - значения длины и коэффициента сжатия кодированных с обеспечением аутентификации ЭИ для способа-прототипа и четвертого варианта заявленного способа аутентификации ЭИ.
Реализация заявленных способов (варианты) представлена на примере системы аутентификации ЭИ, включающей блок формирования аутентифицированного ЭИ 1 и блок проверки принятого ЭИ 2, которые взаимодействуют через канал передачи 4 (фиг. 1). У отправителя на первый и второй входы блока формирования заверенного ЭИ 1 передают аутентифицируемое ЭИ и ДП СК, соответственно. С выхода блока формирования аутентифицированного ЭИ 1 кодированное с обеспечением аутентификации ЭИ передают по каналу передачи 4 получателю. Также в канале передачи 4 нарушителем с использованием блока перехвата и навязывания неподлинного ЭИ 3 может осуществляться перехват переданного отправителем кодированного с обеспечением аутентификации ЭИ. Нарушитель пытается модифицировать перехваченное ЭИ в выгодное ему неподлинное ЭИ, которое нарушитель передает получателю по каналу передачи 4. У получателя проверку подлинности принятого ЭИ осуществляют в блоке проверки принятого ЭИ 2 с использованием ДП СК. Результат проверки подлинности принятого ЭИ считывают с выходов блока проверки принятого ЭИ 2 "подлинное ЭИ" и "неподлинное ЭИ", соответственно.
В способе по первому варианту аутентификации ЭИ, при установке секретных начальных границ интервалов кодирования и декодирования, реализуется следующая последовательность действий.
Предварительное формирование для отправителя и получателя ДП СК заключается в следующем. Данную последовательность формируют с использованием генератора случайных импульсов, генерирующего случайные равновероятные нулевые и единичные импульсы, независимых друг от друга. Способы формирования случайным выбором символов ДП СК известны и описаны, например, в книге:, например, в ГОСТ 28147-89. Примерный вид ДП СК показан на фигуре 2(a). Единичные значения битов на фигурах показаны в виде заштрихованных импульсов, нулевые значения битов - в виде незаштрихованных импульсов.
1
2
1
2
1
2
1
2
Способы предварительного для отправителя и получателя вычисления длины упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока известны и описаны, например, в книге Я. Ричардсон "Видеокодирование. Н.264 и MPEG-4 - стандарты нового поколения". - М., Техносфера, 2005, стр. 38-80. Для этого выбирают размер кодового блока квантованных вейвлет коэффициентов ЭИ, состоящего из n×n коэффициентов, где n≥2 и n≥2. Типичными значениями размера кодового блока квантованных вейвлет коэффициентов ЭИ, являются, например, 16×16, 32×32 коэффициентов и т.д., что описано, например, в книге Я. Ричардсон "Видеокодирование. Н.264 и MPEG-4 - стандарты нового поколения". - М., Техносфера, 2005, стр. 38-40. Длину упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока вычисляют как произведение n и n. Например, при выбранных размерах кодового блока квантованных вейвлет коэффициентов n=32 и n=32 предварительно вычисленная длина упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока составляет L0=1024. Примерный вид упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока с предварительно вычисленной длиной L0 показан на фигуре 2(б). Например, пусть предварительно вычисленная длина упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока составляет L0=6.
Алгоритм формирования аутентифицированного ЭИ при установке секретных начальных границ интервала кодирования представлен на фигуре 3.
1
2
l
2
Аутентифицируемое ЭИ представлено матрицей пикселей электронного изображения размером w×w пикселов, где w≥2 и w≥2. Примерный вид значений яркости пикселей (ЯП) ЭИ, поочередно считанных слева направо строка за строкой, представлен на фигуре 4(a).
Известные способы выполнения над ЭИ вейвлет преобразования описаны, например, в книге S. Lyu, Н. 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
2
1
2
Способы разделения квантованных вейвлет коэффициентов на N≥2 кодовых блоков каждый размером n×n коэффициентов, где n≥2 и n≥2, известны и описаны, например, в книге Я. Ричардсон "Видеокодирование. Н.264 и MPEG-4 - стандарты нового поколения". - М, Техносфера, 2005, стр. 38-40. Из матрицы квантованных вейвлет коэффициентов ЭИ, начиная, например, с ее левого верхнего угла, выделяют матрицу коэффициентов размера n строк и n столбцов, которая образует n-ый, где n=1, 2, …, N, кодовый блок, в данном случае первый кодовый блок. Затем справа или снизу от выделенной матрицы коэффициентов выделяют следующую матрицу коэффициентов такого же размера, которая образует следующий кодовый блок и так пока из матрицы квантованных вейвлет коэффициентов ЭИ не выделены все коэффициенты. Размер кодовых блоков выбирают, например, порядка 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.
Способы установки у отправителя секретных начальных границ интервала кодирования арифметического кодирования в соответствии с предварительно сформированной ДП СК заключаются в следующем.
Известные способы установки начальных границ интервала кодирования арифметического кодирования без использования секретного ключа заключаются в установке начального нижнего значения его интервала кодирования в минимальное значение, начального верхнего значения его интервала кодирования в максимальное значение. Например, при представлении значений интервала кодирования шестнадцатью двоичными символами, начальное нижнее значение интервала кодирования арифметического кодирования L[0] устанавливают в минимальное значение, равное нулевому значению в десятичном представлении или 0000000000000000 в двоичном представлении, где старшие двоичные символы записывают слева, а начальное верхнее значение интервала кодирования арифметического кодирования H[0] устанавливают в максимальное значение, равное 65535 в десятичном представлении или 1111111111111111 в двоичном представлении. Пример начального состояния (Нач. сост.) арифметического кодирования без установки секретных начальных границ интервала кодирования представлен на фиг. 5.
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
<mrow><msub><mi>p</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><msub><mi>N</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow></mfrac></mrow>
<mrow><msub><mi>p</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><msub><mi>N</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow></mfrac></mrow>
Известные способы установки начального состояния арифметического кодирования также заключаются в установке начального значения вероятности кодируемых нулевых символов p[0] и начального значения вероятности кодируемых единичных символов p[0]. При установке начального значения вероятности кодируемых нулевых символов p[0] и начального значения вероятности кодируемых нулевых символов p[0] в выбранные значения должно выполняться ограничение вида: p[0]+p[0]=1. Начальное значение вероятности кодируемых нулевых символов p[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], длины которых прямо пропорциональны начальным значениям вероятностей кодируемых нулевых символов p[0] и единичных символов p[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.
При установке секретных начальных границ интервала кодирования в соответствии с предварительно сформированной ДП СК выполняют следующие действия. Для этого, например, из ДП СК поочередно считывают, начиная с левых битов, первую и вторую двоичные подпоследовательности длиной по 16 бит каждая. Двоичные подпоследовательности преобразуют в десятичные числа, считая, например, их левые символы наиболее значимыми и сравнивают десятичные числа между собой. Начальную нижнюю границу интервала кодирования арифметического кодирования L[0] устанавливают в значение, равное меньшему десятичному числу, а начальную верхнюю границу интервала кодирования арифметического кодирования H[0] устанавливают в значение, равное большему десятичному числу. Например, в соответствии с ДП СК, представленной на фиг. 4(a), начальную нижнюю границу интервала кодирования арифметического кодирования L[0] устанавливают в значение 16384 в десятичном представлении или 010…0 в двоичном представлении, а начальную верхнюю границу интервала кодирования арифметического кодирования H[0] устанавливают в значение, равное 32678 в десятичном представлении или 100…0 в двоичном представлении. Примеры установленных секретных начальных границ интервала кодирования арифметического кодирования в соответствии с предварительно сформированной ДП СК представлены на фиг. 7.
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
<mrow><msub><mi>p</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><msub><mi>N</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow></mfrac></mrow>
<mrow><msub><mi>p</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><msub><mi>N</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow></mfrac></mrow>
Начальное значение интервала кодирования арифметического кодирования I[0] при установке секретных начальных границ интервала кодирования в соответствии с предварительно сформированной ДП СК устанавливают равным I[0]=H[0]-L[0]. Например, начальные верхнее H[0]=32768 и нижнее L[0]=16384 значения интервала кодирования арифметического кодирования при t=0 показаны на фиг. 8. Начальное значение интервала кодирования арифметического кодирования I[0] разделяют на начальные значения подинтервала нулевых символов D[0] и подинтервала единичных символов D[0], длины которых прямо пропорциональны начальным значениям вероятностей кодируемых нулевых символов p[0] и единичных символов p[0], соответственно. Начальное значение вероятности кодируемых нулевых символов p[0] вычисляют по формуле вида
, а начальное значение вероятности кодируемых единичных символов p[0] вычисляют по формуле вида
. В кодируемых УДП КВК n-го кодового блока устанавливают, например, начальное число закодированных нулевых символов равным N[0]=1, а начальное число закодированных единичных символов - равным N[0]=1, как показано на фиг. 8. Начальную длину подинтервала единичных символов D[0] определяют по формуле вида D[0]=I[0]×p[0], а начальную длину подинтервала нулевых символов D[0] определяют по формуле вида D[0]=I[0]-D[0]. Для примера, показанного на фиг. 8, при установленных начальных значениях интервала кодирования значение Q, численно равное длине подинтервала нулевых символов D[0], составило десятичное значение 24575 или двоичное значение 0101…1.
Особенности способов установки у отправителя секретных начальных границ интервала кодирования в соответствии с предварительно сформированной ДП СК и номером n-го кодового блока заключаются в следующем. Десятичный номер n-го кодового блока преобразуют в его двоичную последовательность. Предварительно сформированную двоичную последовательность СК и двоичную последовательность номера n-го кодового блока суммируют, начиная с одноименных младших двоичных битов, по модулю 2. Способы суммирования двух двоичных последовательностей известны и описаны, например, в книге: А. Сикарев, О. Лебедев "Микроэлектронные устройства формирования и обработки сложных сигналов". - М., Радио и связь, 1983, стр. 107-108 на основе сумматоров по модулю 2. Затем выполняют ранее описанные действия, устанавливая секретные начальные границы интервала кодирования арифметического кодирования в соответствии с полученной суммарной двоичной последовательностью СК и двоичной последовательностью номера n-го кодового блока.
Способы кодирования очередной, с первой до L-ой, УДП КВК n-го кодового блока с использованием арифметического кодирования в кодированные последовательности n-го кодового блока известны и описаны, например, в книге Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". - М., ДИАЛОГ-МИФИ, 2002, стр. 35-43. Они заключаются в последовательном кодировании очередных двоичных символов УДП КВК n-го кодового блока в соответствии с текущими значениями интервала кодирования арифметического кодирования и текущими значениями вероятностей кодируемых нулевых символов и единичных символов с последовательным формированием кодированных последовательностей n-го кодового блока.
Примерный вид кодирования показанной на фиг. 4(e) первой УДП КВК n-го кодового блока в виде двоичной последовательности "011111" длиною 6 двоичных символов с использованием арифметического кодирования в кодированные последовательности n-го кодового блока с установкой у отправителя секретных начальных границ интервала кодирования представлен на фиг. 7.
0
При поступлении на вход арифметического кодирования первого кодируемого символа, являющегося нулевым двоичным символом, значение интервала кодирования первого символа I[1] устанавливают равным начальному значению подинтервала нулевых символов D[0], поэтому нижнее значение интервала кодирования первого символа L[1] устанавливают равным начальному нижнему значению интервала кодирования арифметического кодера L[0], равному, например, 16384, а верхнее значение интервала кодирования первого символа арифметического кодирования H[1] устанавливают равным текущему значению Q, равному, например, 24575, как показано на фиг. 7. Самый левый бит двоичного представления значения L[1] сравнивают с самым левым битом двоичного представления значения H[1], например, вида 010…0 и 0101…1, соответственно. При их совпадении значение самого левого бита двоичных представлений значений L[1] и H[1] считывают в качестве закодированного бита кодированной последовательности n-го кодового блока. Например, при кодировании УДП КВК n-го кодового блока в виде двоичной последовательности "0111111" первым закодированным битом кодированной последовательности этого блока является совпавший при сравнении нулевой двоичный символ, как показано на фиг. 8, вторая строка сверху при t=1. Считанный бит удаляют из двоичных представлений значений L[1] и H[1], которые уменьшаются до длины 15 бит вида 100…0 и 1011…1, соответственно. Двоичные символы двоичных представлений значений L[1] и H[1] сдвигают справа налево на один разряд и справа к ним дописывают по нулевому двоичному символу. Способы считывания двоичных символов с удалением считанных символов известны и описаны, например, в книге: В. Шило "Популярные цифровые микросхемы". - М., Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной и последовательной записью/считыванием двоичных последовательностей. Операции сдвига справа налево на один разряд и дописывания справа нулевого двоичного символа увеличивают значения L[1] и H[1] в 2 раза и называются нормализацией параметров арифметического кодирования. Способы сдвига на один разряд в сторону старших разрядов двоичных последовательностей и записи в освободившийся младший разряд нулевого двоичного символа известны и описаны, например, в книге: В. Шило "Популярные цифровые микросхемы". - М., Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной и последовательной записью/считыванием двоичных последовательностей, и по своей сути являются умножением на два десятичных значений нижнего и верхнего значений интервала кодирования.
0
0
1
0
1
<mrow><msub><mi>p</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>1</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><msub><mi>N</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>1</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mo stretchy="false">[</mo><mn>1</mn><mo stretchy="false">]</mo></mrow></mfrac><mo>=</mo><mfrac><mn>2</mn><mn>3</mn></mfrac></mrow>
<mrow><msub><mi>p</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>1</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><msub><mi>N</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>1</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mo stretchy="false">[</mo><mn>1</mn><mo stretchy="false">]</mo></mrow></mfrac><mo>=</mo><mfrac><mn>1</mn><mn>3</mn></mfrac></mrow>
После каждого выполнения нормализации повторно самый левый бит двоичного представления нижнего значения интервала кодирования сравнивают с самым левым битом двоичного представления верхнего значения интервала кодирования. При их совпадении значение самого левого бита этих двоичных представлений считывают в качестве следующего закодированного бита кодированной последовательности n-го кодового блока. Например, после первого выполнения нормализации между собой сравнивают самые левые биты двоичных представлений вида 100…0 и 1011…1 и считывают совпавший единичный двоичный символ в качестве второго закодированного бита кодированной последовательности n-го кодового блока, как показано на фиг. 8, третья строка сверху. После второго выполнения нормализации повторно самый левый бит двоичного представления нижнего значения интервала кодирования сравнивают с самым левым битом двоичного представления верхнего значения интервала кодирования, в приведенном примере снова выявляют совпадение сравниваемых битов и считывают совпавший нулевой двоичный символ в качестве третьего закодированного бита кодированной последовательности n-го кодового блока, как показано на фиг. 8, четвертая строка сверху. После выполнения кодирования каждого очередного бита УДП КВК n-го кодового блока уточняют число закодированных нулевых символов и единичных символов. Так как первый кодированный бит является нулевым, то число закодированных нулевых символов увеличивают на единичное значение и оно составляет N[1]=2, и число закодированных нулевых и единичных символов становится равным N[1]=N[1]+N[1]=3. Пересчитывают текущее значение вероятности кодируемых нулевых символов
и текущее значение вероятности кодируемых единичных
. В соответствии с этим длина подинтервала нулевых символов D[1] становится в 2 раза больше длины подинтервала единичных символов D[1], а параметр Q принимает значение 43686, как показано на фиг. 7 и на фиг. 8, пятая строка сверху.
Если самый левый бит двоичного представления нижнего значения интервала кодирования не совпадает с самым левым битом двоичного представления верхнего значения интервала кодирования, то переходят к кодированию следующего бита УДП КВК и n-го кодового блока и так далее до окончания кодируемых битов УДП КВК этого блока. Например, второй бит УДП КВК n-го кодового блока является единичным двоичным символом, как показано на фиг. 8, пятая строка сверху, t=2. При поступлении на вход арифметического кодирования единичного двоичного символа, значение интервала кодирования арифметического кодирования устанавливают равным значению предыдущего подинтервала единичных символов, поэтому нижнее значение интервала кодирования L[2] устанавливают равным значению Q, а верхнее значение интервала кодирования H[2] устанавливают равным предыдущему верхнему значению интервала кодирования H[1]. Например, как показано на фиг. 7, значение L[2] устанавливают равным 43686, а H[2] остается равным предыдущему значению 65528. Повторно самый левый бит двоичного представления значения L[2] сравнивают с самым левым битом двоичного представления значения H[2] и при их совпадении значение самого левого бита двоичных представлений значений L[2] и H[2] считывают в качестве очередного закодированного бита кодированной последовательности n-го кодового блока и так далее до окончания УДП КВК n-го кодового блока. Например, результатом кодирования первой УДП КВК n-го кодового блока в виде двоичной последовательности "011111" является двоичная последовательность вида "0101111".
После кодирования последнего двоичного символа очередной упорядоченной двоичной последовательности КВК n-го кодового блока в кодированную последовательность n-го кодового блока считывают концевую комбинацию кодирования очередной УДП в виде двоичного представления нижнего значения интервала кодирования. Например, после кодирования УДП КВК n-го кодового блока в виде двоичной последовательности "011111" длиною 6 двоичных символов концевая комбинация кодирования (конц. комбин.) этой УДП имеет вид "0011 1100 01111100", как показано на фиг. 8, последняя строка.
Если не все упорядоченные двоичные последовательности КВК n-го кодового блока закодированы, то продолжают арифметическое кодирование очередной УДП КВК этого блока.
Примерный вид кодирования УДП КВК n-го кодового блока в виде двоичной последовательности "011111" длиною 6 двоичных символов с использованием арифметического кодирования в кодированные последовательности n-го кодового блока без установки у отправителя секретных начальных границ интервала кодирования представлен на фиг. 5, а последовательные состояния арифметического кодирования показаны на фиг. 6. Результатом кодирования является двоичная последовательность вида "011111" с концевой комбинацией кодирования "0011 1100 1101 0110", что существенно отличается от результата кодирования этой же двоичной последовательности с установкой у отправителя секретных начальных границ интервала кодирования, показанного на фиг. 8. Выполняемые действия кодирования при установке у отправителя секретных начальных границ интервала кодирования и без такой установки одинаковы, однако результат кодирования различен.
Способы записи разделительного маркера кодового блока по окончании арифметического кодирования УДП КВК n-го кодового блока в ДП сжатого ЭИ известны и описаны, например, в книге: В. Шило "Популярные цифровые микросхемы". - М., Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной и последовательной записью/считыванием двоичных последовательностей. Разделительный маркер кодового блока предназначен для обеспечения разделения ДП принятого получателем ЭИ на двоичные последовательности его принятых кодовых блоков. Разделительный маркер кодового блока является уникальной двоичной последовательностью, априори известного для отправителя и получателя вида. Примерный вид разделительного маркера кодового блока в виде уникальной двоичной последовательности вида 0101…01 показан на фиг.4(ж).
Примерный вид кодированных последовательностей с первой по L-ой УДП КВК n-го кодового блока показан на фиг. 4(ж).
Примерный вид двоичной последовательности кодированного ЭИ, состоящей из двоичных последовательностей с первого до N-го кодовых блоков, показан на фиг. 4(з).
Способы передачи получателю кодированного ЭИ известны и описаны, например, в книге А.Г. Зюко, Д.Д. Кловский, М.В. Назаров, Л.М. Финк "Теория передачи сигналов". - М.: Радио и связь, 1986, стр. 11. Примерный вид двоичной последовательности принятого получателем ЭИ показан на фиг. 9(a).
Алгоритм проверки подлинности n-го принятого кодового блока при установке секретных начальных границ интервала декодирования представлен на фиг. 10.
Способы разделения ДП принятого получателем ЭИ на кодированные последовательности принятых кодовых блоков известны и описаны, например, в книге: А. Сикарев, О. Лебедев "Микроэлектронные устройства формирования и обработки сложных сигналов". - М., Радио и связь, 1983, стр. 72-80. Они заключаются в разделения ДП принятого получателем ЭИ на кодированные последовательности его принятых кодовых блоков с использованием разделительного маркера кодового блока известного получателю вида, указывающего границы каждого принятого блока. Примерный вид КП n-го принятого кодового блока представлен на фигуре 9(б).
Способы установки секретных начальных границ интервала декодирования в соответствии с предварительно сформированной ДП СК, или в соответствии с предварительно сформированной ДП СК и номером m-го принятого блока ЭИ, в точности соответствуют ранее описанным способам установки секретных начальных границ интервала кодирования.
0
1
0
1
1
1
1
0
0
1
0
1
0
1
<mrow><mi>p</mi><msub><mi>p</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><mi>N</mi><msub><mi>N</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mi>N</mi><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow></mfrac><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow>
<mrow><mi>p</mi><msub><mi>p</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><mi>N</mi><msub><mi>N</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mi>N</mi><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow></mfrac><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow>
Начальное состояние арифметического декодирования с установкой секретных начальных границ интервала декодирования в соответствии с предварительно сформированной ДП СК, или в соответствии с предварительно сформированной ДП СК и номером m-го принятого блока ЭИ, представлено на фиг. 11. Начальное значение интервала декодирования арифметического декодера II[0], равное II[0]=HH[0]-LL[0], где LL[0] - начальное нижнее значение интервала декодирования арифметического декодера, а HH[0] - начальное верхнее значение интервала декодирования арифметического декодера, разделяют на начальные значения подинтервала декодирования нулевых символов DD[0] и подинтервала декодирования единичных символов DD[0], длины которых прямо пропорциональны начальным значениям вероятности декодируемых нулевого символа pp[0] и единичного символа pp[0], соответственно. Начальную длину подинтервала декодирования единичных символов DD[0] определяют по формуле вида DD[0]=II[0]×pp[0], а начальную длину подинтервала декодирования нулевых символов DD[0] определяют по формуле вида DD[0]=II[0]-DD[0]. Например, как показано на фиг. 11, установлены начальные значения LL[0]=16384 и HH[0]=32768. Видно, что секретные начальные границы интервала кодирования и интервала декодирования совпадают. На фиг. 12 показана таблица состояний арифметического декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования при установке секретных начальных границ интервала декодирования. Например, начальное число декодированных нулевых символов равно NN[0]=1, а начальное число декодированных единичных символов - NN[0]=1, соответственно, начальное число декодированных нулевых и единичных символов равно NN[0]=NN[0]+NN[0]=1+1=2. Соответственно, начальное значение вероятности декодируемых единичных символов равно
и начальное значение вероятности декодируемых нулевых символов равно
. Верхнее значение подинтервала декодирования нулевых символов обозначают как значение QQ, и данный подинтервал начинается снизу от нижнего значения интервала декодирования до значения QQ исключительно, а подинтервал декодирования единичных символов простирается от значения QQ включительно до верхнего значения интервала декодирования исключительно. Начальное значение QQ имеет десятичное значение 24575, как показано на фиг. 12 в первой строке при t=0.
Для сравнения, начальное состояние арифметического декодирования без установки секретных начальных границ интервала декодирования представлено на фиг. 13.
Способы декодирования кодированных последовательностей n-го Пр. кодового блока с использованием арифметического декодирования известны и описаны, например, в книге Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". - М., ДИАЛОГ-МИФИ, 2002, стр. 35-43. Они заключаются в последовательном декодировании с использованием арифметического декодирования кодированных последовательностей n-го Пр. кодового блока в соответствии с текущими значениями интервала декодирования арифметического декодера и текущими значениями вероятности декодируемых нулевого символа и единичного символа.
0
1
0
На вход арифметического декодирования с установленными секретными начальными границами интервала декодирования поступают кодированные последовательности n-го Пр. кодового блока, например, КП первой УДП КВК вида 0101 1110 0111 1000 1111 100 длиной 23 двоичных символа, сформированной арифметическим кодированием с установленными секретными начальными границами интервала кодирования. Как и ранее описанное арифметическое кодирование, операции арифметического декодирования используют такую же разрядность выполняемых операций, например, 16 двоичных разрядов. Поэтому на вход арифметического декодирования считывают входные данные из первых 16 бит данной кодированной последовательности вида 0101 1110 0111 1000, что соответствует десятичному числу 24184. Текущее значение считанной кодированной последовательности, указанное на фиг. 11 стрелкой, сравнивают с границами начального значения подинтервала декодирования нулевых символов DD[0], находящимися, например, в пределах от 16384 до 24575 и с границами начального значения подинтервала декодирования единичных символов DD[0], находящимися, например, в пределах от 24575 до 32768. В зависимости от того, в пределах какого подинтервала декодирования символов оказалось текущее значение считанной кодированной последовательности, принимается решение о декодировании очередного символа упорядоченной двоичной последовательности КВК n-го принятого кодового блока. Например, так как текущее значение считанной кодированной последовательности оказалось меньше значения QQ, то первый декодированный символ является нулевым и следующие границы интервала декодирования устанавливают соответствующими границам начального значения подинтервала декодирования нулевых символов DD[0].
Для декодирования следующего символа устанавливают нижнее значение интервала декодирования арифметического кодирования LL[1] равным предыдущему значению LL[0], например, LL[0]=16384, а верхнее значение интервала декодирования арифметического кодирования HH[1] равным значению QQ, например, QQ=24575. Самый левый бит двоичного представления значения LL[1] сравнивают с самым левым битом двоичного представления значения HH[1], например, вида 010…0 и 0101…1, соответственно. При их совпадении выполняют нормализацию арифметического декодирования: значение самого левого бита двоичных представлений значений LL[1] и HH[1] удаляют и двоичные символы двоичных представлений значений LL[1] и HH[1] сдвигают справа налево на один разряд и справа к ним дописывают по нулевому двоичному символу. Одновременно с этим, значение самого левого бита входных данных удаляют и двоичные символы входных данных сдвигают справа налево на один разряд и справа к ним дописывают следующий двоичный символ декодируемой последовательности, например, единичный символ, семнадцатый по счету в КП первой УДП КВК. Как, например, показано на фиг. 12 в строке "первая нормализация", входные данные приобретают двоичное представление 1011 1100 1111 0001 и десятичное значение 48369. Переменная LL[1] принимает десятичное значение 32768 и двоичное представление 100…0, а HH[1] - десятичное значение 49150 и двоичное представление 1011…0. Так как самые левые биты двоичных представлений LL[1] и HH[1] совпадают, то выполняют вторую нормализацию арифметического декодирования аналогичным образом, например, описанную на фиг. 12 в строке "вторая нормализация". В результате выполнения второй нормализации самые левые биты двоичных представлений LL[l] и HH[1] снова совпадают, что требует выполнения третьей нормализации арифметического декодирования аналогичным образом, например, описанную на фиг. 12 в строке "третья нормализация". В результате третьей нормализации переменная LL[1] принимает десятичное значение 0 и двоичное представление 000…0, а HH[1] - десятичное значение 65528 и двоичное представление 111…1000.
<mrow><mi>p</mi><msub><mi>p</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>1</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><mi>N</mi><msub><mi>N</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>1</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mi>N</mi><mo stretchy="false">[</mo><mn>1</mn><mo stretchy="false">]</mo></mrow></mfrac><mo>=</mo><mfrac><mn>2</mn><mn>3</mn></mfrac></mrow>
<mrow><mi>p</mi><msub><mi>p</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>1</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><mi>N</mi><msub><mi>N</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>1</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mi>N</mi><mo stretchy="false">[</mo><mn>1</mn><mo stretchy="false">]</mo></mrow></mfrac><mo>=</mo><mfrac><mn>1</mn><mn>3</mn></mfrac></mrow>
После декодирования каждого символа пересчитывают текущее значение вероятности декодируемого нулевого символа и текущее значение вероятности декодируемого нулевого символа, например, после декодирования первого символа, являющегося нулевым, по формуле вида
и по формуле вида
, соответственно. Устанавливают текущие длины подинтервалов декодирования единичных символов и нулевых символов и устанавливают текущее значение QQ=43686 с двоичным представлением вида 1010 1010 10100110.
В результате третьей нормализации входные данные приобретают двоичное представление 1111 0011 1100 0111 и десятичное значение 62407. Текущее десятичное значение входных данных сравнивают с границами текущего значения подинтервала декодирования нулевых символов и подинтервала декодирования единичных символов. Текущее десятичное значение 62407 входных данных оказалось в пределах подинтервала декодирования единичных символов, поэтому очередной декодированный символ является единичным.
Для декодирования следующего символа устанавливают нижнее значение интервала декодирования LL[2] равным, например, QQ=43686, а верхнее значение интервала декодирования HH[2] равным предыдущему значению LL[1]. Самый левый бит двоичного представления значения LL[2] сравнивают с самым левым битом двоичного представления значения HH[2] и при их совпадении выполняют нормализацию арифметического декодирования и т.д.
Если текущее десятичное значение входных данных становится равным нижнему значению интервала декодирования, то декодирование кодированной последовательности очередной УДП КВК m-го Пр. блока ЭИ закончено. Если текущее значение больше нижнего значения интервала декодирования, то декодирование продолжается. Например, при декодировании шестого символа текущее десятичное значение входных данных стало равным нижнему значению интервала декодирования (значение 40510), как показано на фиг. 12 при t=6. Подсчитанное значение длины, равное 6, совпадает с предварительно вычисленной длиной упорядоченной двоичной последовательности вейвлет коэффициентов кодового блока.
Для декодирования всех шести символов из КП первой УДП КВК вида 0101 11100111 1000 1111 100 потребовались первые 22 двоичных символа.
После завершения декодирования кодированной последовательности очередной УДП КВК m-го Пр. блока ЭИ выполняют декодирование кодированной последовательности следующей УДП этого блока до завершения декодирования последней L-ой УДП. Если каждая из L подсчитанных значений длины совпадает с предварительно вычисленной длиной упорядоченной двоичной последовательности вейвлет коэффициентов кодового блока, то n-ый принятый кодовый блок считают подлинным.
0
1
Нарушитель выполняет перехват передаваемого ЭИ, разделяет его на кодированные последовательности и пытается выполнить декодирование кодированных последовательностей УДП КВК принятых кодовых блоков. Выполнение арифметического декодирования нарушитель осуществляет так же, как и получатель, за исключением установки секретных начальных границ интервала декодирования в силу незнания ДП СК. Нарушитель произвольным образом выбирает свое начальное состояние арифметического декодирования, например, устанавливает начальные границы интервала декодирования вида LL[0]=0 и HH[0]=65535, начальные значения вероятности декодируемых нулевого символа pp[0]=1/2 и единичного символа pp[0]=1/2, как показано на фиг. 13. На вход такого арифметического декодирования поступают кодированные последовательности n-го принятого кодового блока, например, КП первой УДП КВК вида 0101 1110 0111 1000 1111 100 длиной 23 двоичных символа, сформированной арифметическим кодированием с установленными по секретному ключу границами интервала кодирования. На вход арифметического декодирования считывают входные данные из первых 16 бит данной кодированной последовательности вида 0101 1110 0111 1000, что соответствует десятичному числу 24184. В результате выполнения последовательных операций арифметического декодирования, показанных на фиг. 13, декодируют последовательность вида "0100111…" длиной 7 двоичных символов, при этом декодирование кодированной последовательности очередной УДП КВК n-го принятого кодового блока не закончено, так как текущее десятичное значение входных данных не равно нижнему значению интервала декодирования. В результате длина декодированной последовательности очередной УДП КВК n-го принятого кодового блока не соответствует исходной длине этой кодированной последовательности и в результате значение данной длины не равно предварительно вычисленной длине упорядоченной двоичной последовательности вейвлет коэффициентов кодового блока и этот принятый кодовый блок не будет признан подлинным.
Способы подсчета длины каждой из L упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го принятого кодового блока известны и описаны, например, в книге А. Сикарев, О. Лебедев "Микроэлектронные устройства формирования и обработки сложных сигналов". - М., Радио и связь, 1983, стр. 125-131, на основе использования двоичных счетчиков.
Способы сравнения подсчитанной длины каждой из L упорядоченных двоичных последовательностей вейвлет коэффициентов n-го принятого кодового блока с предварительно вычисленной длиной упорядоченной двоичной последовательности вейвлет коэффициентов кодового блока известны и описаны, например, в книге А. Сикарев, О. Лебедев "Микроэлектронные устройства формирования и обработки сложных сигналов". - М., Радио и связь, 1983, стр. 178-183. Они заключаются в побитном сравнении двоичных представлений сравниваемых значений длин с использованием цифровых компараторов, формирующих управляющий сигнал при несовпадении в любом сравниваемом двоичном разряде попарно сравниваемых значений длин. Затем с использованием двоичных счетчиков, описанных, например, в книге А. Сикарев, О. Лебедев "Микроэлектронные устройства формирования и обработки сложных сигналов". - М., Радио и связь, 1983, стр. 107-131, подсчитывают число совпавших длин и сравнивают подсчитанное число совпадений с числом L. Если подсчитанное число совпадений равно числу L, то n-ый принятый кодовый блок считают подлинным. Принятое ЭИ считают подлинным, если подлинными оказываются N принятых кодовых блоков.
Проверка теоретических предпосылок заявленного способа аутентификации ЭИ (первый вариант), использующего установку секретных начальных границ интервалов кодирования и декодирования, проверялась путем его аналитических исследований.
В первом варианте заявленного способа аутентификации ЭИ, использующего установку секретных начальных границ интервалов кодирования и декодирования, было выполнено кодирование электронных изображений, каждое из которых содержало по N=15480 кодовых блоков каждый размером 32×32 квантованных вейвлет коэффициентов. Квантованные вейвлет коэффициенты каждого кодового блока преобразовывали в L≤11 упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го кодового блока, которые кодировали с использованием арифметического кодирования в кодированные последовательности этого блока. Перед кодированием УДП квантованных вейвлет коэффициентов n-го кодового блока с использованием арифметического кодирования устанавливали секретные начальные границы интервала кодирования арифметического кодирования в соответствии с предварительно сформированной ДП СК. Секретные начальные нижнюю и верхнюю границы интервала кодирования арифметического кодирования устанавливали в интервале десятичных значений от 0 до 65535, при представлении значений интервала кодирования шестнадцатью двоичными символами. Подсчитывали размер несжатого ЭИ и размер кодированного ЭИ в байтах. Также вычисляли коэффициент сжатия ЭИ в разах путем деления размера несжатого ЭИ на размер кодированного ЭИ. Результаты кодирования трех различных ЭИ в первом варианте заявленного способа аутентификации ЭИ, использующего установку секретных начальных границ интервалов кодирования и декодирования, показаны в таблице на фиг. 14. В способе-прототипе для обеспечения защищенности к попыткам нарушителя подмены подлинного аутентифицированного ЭИ на неподлинное ЭИ длина двоичных последовательностей ЦВЗ каждого кодового блока должна быть не менее 32 бит, что вызывает увеличение длины кодированного с обеспечением аутентификации по сравнению с длиной кодированного без обеспечения аутентификации ЭИ. Для сравнения в таблице показаны результаты кодирования этих же ЭИ с использованием арифметического кодирования без обеспечения аутентификации. Видно, что обеспечение аутентификации при кодировании ЭИ с использованием арифметического кодирования приводит к увеличению длины кодированного ЭИ по сравнению с длиной кодированного ЭИ без обеспечения аутентификации на 7374…7426 байт, и вызывает некоторое уменьшение значения коэффициента сжатия ЭИ, примерно на 0,25 раза. Однако при использовании способа-прототипа увеличение длины кодированного ЭИ по сравнению с длиной кодированного ЭИ без обеспечения аутентификации составляет 7920 байт, и уменьшение значения коэффициента сжатия ЭИ составляет от 2,05 до 2,1 раза, как показано на фиг. 14.
Таким образом, в первом варианте заявленного способа аутентификации ЭИ, использующего установку секретных начальных границ интервалов кодирования и декодирования достигается уменьшение разницы длины кодированного с обеспечением аутентификации ЭИ по сравнению с длиной кодированного без обеспечения аутентификации ЭИ.
Отличия второго варианта способа аутентификации ЭИ от первого варианта способа заключаются в установке секретных начальных значений вероятностей кодируемых и декодируемых нулевых и единичных символов в соответствии с предварительно сформированной ДП СК.
Алгоритм формирования аутентифицированного ЭИ при установке секретных начальных значений вероятностей кодируемых нулевых и единичных символов представлен на фиг. 15.
0
1
0
1
Способы установки у отправителя секретных начальных значений вероятностей кодируемых нулевых и единичных символов заключаются в следующем. Устанавливают начальное число закодированных нулевых символов N[0] и начальное число закодированных единичных символов N[0] в соответствии с предварительно сформированной двоичной последовательностью СК. Для этого, например, из ДП СК поочередно считывают, начиная с правых битов, первую и вторую двоичные подпоследовательности длиной по 9 бит каждая. Считанные первую и вторую двоичные подпоследовательности преобразуют в первое и второе десятичные числа, соответственно, считая, например, их левые символы наиболее значимыми. Начальное число закодированных нулевых символов N[0] устанавливают равным первому десятичному числу, а начальное число закодированных единичных символов N[0] устанавливают равным второму десятичному числу.
0
1
0
1
0
1
<mrow><msub><mi>p</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><msub><mi>N</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow></mfrac></mrow>
<mrow><msub><mi>p</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><msub><mi>N</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow></mfrac></mrow>
<mrow><msub><mi>p</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><msub><mi>N</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow></mfrac><mo>=</mo><mfrac><mrow><mn>600</mn></mrow><mrow><mn>850</mn></mrow></mfrac></mrow>
<mrow><msub><mi>p</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><msub><mi>N</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow></mfrac><mo>=</mo><mfrac><mrow><mn>200</mn></mrow><mrow><mn>850</mn></mrow></mfrac></mrow>
Например, первые справа девять двоичных символа предварительно сформированной двоичной последовательности СК вида "1001011000", что составляет десятичное число 600, используют для установки начального числа закодированных нулевых символов N[0] равным десятичному числу 600, а вторые 9 двоичных символа предварительно сформированной двоичной последовательности СК вида "011111010", что составляет десятичное число 250, используют для установки начального числа закодированных единичных символов N[0], равного десятичному числу 250. При этом секретное начальное значение вероятности кодируемых нулевых символов p[0] вычисляют по формуле вида
, а секретное начальное значение вероятности кодируемых единичных символов p[0] вычисляют по формуле вида
, где N[0] - начальное число закодированных нулевых и единичных символов, равное N[0]=N[0]+N[0]=600+250=850. Например, как показано на фиг. 16, секретное начальное значение вероятности кодируемых нулевых символов равно
, а секретное начальное значение вероятности кодируемых единичных символов равно
.
0
1
0
1
0
1
1
0
0
<mrow><msub><mi>D</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mi>I</mi><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>×</mo><msub><mi>p</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mn>65535</mn><mo>×</mo><mfrac><mrow><mn>600</mn></mrow><mrow><mn>850</mn></mrow></mfrac><mo>=</mo><mn>46259</mn></mrow>
Начальное значение интервала кодирования арифметического кодера I[0], равное I[0]=H[0]-L[0], разделяют на начальные значения подинтервала нулевых символов D[0] и подинтервала единичных символов D[0], длины которых прямо пропорциональны секретным начальным значениям вероятностей кодируемых нулевых символов p[0] и единичных символов p[0], соответственно. Начальную длину подинтервала нулевых символов D[0] определяют по формуле вида
, а начальную длину подинтервала единичных символов D[0] определяют по формуле вида D[0]=I[0]-D[0]=65535-46259=19276. Например, на фиг. 17, для t=0, при установленных секретных начальных значениях вероятностей кодируемых нулевых и единичных символов начальное значение Q, численно равное длине начального подинтервала нулевых символов D[0], составило десятичное значение 46259 или двоичное значение 1011 0111 1011 0011.
0
1
0
1
Также начальное число закодированных нулевых символов N[0] и начальное число закодированных единичных символов N[0] устанавливают в соответствии с предварительно сформированной двоичной последовательностью СК и номером n-го кодового блока. Для этого предварительно сформированную двоичную последовательность СК и двоичную последовательность номера n-го кодового блока суммируют, начиная с одноименных младших двоичных битов, по модулю 2. Затем выполняют ранее описанные действия, устанавливая начальное число закодированных нулевых символов N[0] и начальное число закодированных единичных символов N[0] в соответствии с полученной суммарной двоичной последовательностью СК и двоичной последовательностью номера n-го кодового блока.
Кодирование очередной, с первой до L-ой, УДП КВК n-го кодового блока с использованием арифметического кодирования в кодированные последовательности n-го кодового блока при установке секретных начальных значений вероятностей кодируемых нулевых и единичных символов выполняют аналогично ранее описанному первому варианту заявляемого изобретения. На фиг. 16 представлен примерный вид кодирования УДП КВК n-го кодового блока в виде двоичной последовательности "011111" длиною 6 двоичных символов с использованием арифметического кодирования в кодированные последовательности этого блока при установке секретных начальных значений вероятностей кодируемых нулевых и единичных символов, а на фиг. 17 - таблица состояний арифметического кодирования этой УДП. У отправителя устанавливают начальное состояние границ интервала кодирования, например, L[0]=0 и H[0]=65535, как показано на фиг. 16. Для приведенного примера УДП КВК n-го кодового блока результатом кодирования является двоичная последовательность вида "10110100". После кодирования последнего двоичного символа очередной упорядоченной двоичной последовательности КВК n-го кодового блока в кодированную последовательность n-го кодового блока считывают концевую комбинацию кодирования очередной УДП в виде двоичного представления нижнего значения интервала кодирования. Например, после кодирования первой УДП КВК n-го кодового блока концевая комбинация кодирования этой УДП имеет вид "0100 1010 1111 0000", как показано на фиг. 17, последняя строка.
Алгоритм проверки подлинности n-го принятого кодового блока при установке секретных начальных значений вероятностей декодируемых нулевых и единичных символов представлен на фиг. 18.
<mrow><mi>p</mi><msub><mi>p</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><mi>N</mi><msub><mi>N</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mi>N</mi><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow></mfrac><mo>=</mo><mfrac><mrow><mn>600</mn></mrow><mrow><mn>850</mn></mrow></mfrac></mrow>
<mrow><mi>p</mi><msub><mi>p</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><mi>N</mi><msub><mi>N</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow><mrow><mi>N</mi><mi>N</mi><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo></mrow></mfrac><mo>=</mo><mfrac><mrow><mn>200</mn></mrow><mrow><mn>850</mn></mrow></mfrac></mrow>
Способы установки у получателя секретных начальных значений вероятностей декодируемых нулевых и единичных символов идентичны способам установки у отправителя секретных начальных значений вероятностей кодируемых нулевых и единичных символов. Например, как показано на фиг. 19, секретное начальное значение вероятности декодируемых нулевых символов равно
, а секретное начальное значение вероятности декодируемых единичных символов равно
.
0
1
Особенности последовательного декодирования с использованием арифметического декодирования кодированных последовательностей n-го Пр. кодового блока в соответствии с секретными начальными значениями вероятности декодируемых нулевого символа и единичного символа заключаются в следующем. На вход арифметического декодирования с установленными секретными начальными значениями вероятностей декодируемых нулевого символа и единичного символа поступают кодированные последовательности n-го Пр. кодового блока, например, КП первой УДП КВК вида 1011 0100 0100 1010 1111 0000 длиной 24 двоичных символа, сформированные арифметическим кодированием с установленными значениями вероятностей кодируемых нулевого символа и единичного символа. На вход арифметического декодирования считывают входные данные из первых 16 бит данной кодированной последовательности вида 1011 0100 0100 1010, что соответствует десятичному числу 46154. Текущее значение считанной кодированной последовательности сравнивают с границами начального значения подинтервала декодирования нулевых символов DD[0] от 0 до 46259 и с границами начального значения подинтервала декодирования единичных символов DD[0] от 46259 до 65535. В зависимости от того, в пределах какого подинтервала декодирования символов оказалось текущее значение считанной кодированной последовательности, принимают решение о декодировании очередного символа упорядоченной двоичной последовательности КВК n-го принятого кодового блока и т.д. Таблица состояний арифметического декодирования кодированных последовательностей n-го принятого кодового блока с использованием арифметического декодирования установкой секретных начальных значений вероятностей декодируемых нулевых и единичных символов представлена на фиг. 20.
Если текущее десятичное значение входных данных становится равным нижнему значению интервала декодирования, то декодирование кодированной последовательности очередной УДП КВК n-го Пр. кодового блока закончено. Если текущее значение больше нижнего значения интервала декодирования, то декодирование продолжается. Например, при декодировании шестого символа текущее десятичное значение входных данных стало равным нижнему значению интервала декодирования (значение 35166), как показано на фиг. 20 для t=6. Если каждая из L подсчитанных значений длины совпадает с предварительно вычисленной длиной упорядоченной двоичной последовательности вейвлет коэффициентов кодового блока, то n-ый принятый кодовый блок считают подлинным.
Для декодирования всех шести символов из КП первой УДП КВК вида 1011 0100 0100 1010 1111 0000 потребовались первые 22 двоичных символа.
<mrow><mi>p</mi><msub><mi>p</mi><mn>0</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><mn>100</mn></mrow><mrow><mn>300</mn></mrow></mfrac></mrow>
<mrow><mi>p</mi><msub><mi>p</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><mn>200</mn></mrow><mrow><mn>300</mn></mrow></mfrac></mrow>
Нарушитель выполняет перехват передаваемого ЭИ, разделяет его на кодированные последовательности и пытается выполнить декодирование кодированных последовательностей УДП КВК принятых блоков ЭИ. Выполнение арифметического декодирования нарушитель осуществляет так же, как и получатель, за исключением установки секретных начальных значений вероятностей декодируемых нулевых и единичных символов в силу незнания ДП СК. Нарушитель произвольным образом выбирает свои начальные значения вероятностей декодируемых нулевых и единичных символов, например, устанавливает начальное значение вероятности декодируемых нулевых символов равным
, а начальное значение вероятности декодируемых единичных символов равным
, как показано на фиг. 21. На вход такого арифметического декодирования поступают кодированные последовательности n-го Пр. кодового блока, например, КП первой УДП КВК вида 1011 0100 0100 1010 1111 0000 длиной 24 двоичных символа, сформированной арифметическим кодированием с установленными по ДП СК секретными начальными значениями вероятностей кодируемых нулевых и единичных символов. На вход арифметического декодирования считывают входные данные из первых 16 бит данной кодированной последовательности вида 1011 0100 0100 1010, что соответствует десятичному числу 46154. В результате выполнения последовательных операций арифметического декодирования, показанных на фиг. 21, декодируют последовательность вида "1110001…" длиной более 7 двоичных символов, при этом декодирование кодированной последовательности очередной УДП КВК n-го Пр. кодового блока не закончено, так как текущее десятичное значение входных данных не равно нижнему значению интервала декодирования. В результате длина декодированной последовательности очередной УДП КВК n-го Пр. кодового блока не соответствует исходной длине этой кодированной последовательности и в результате значение данной длины не равно предварительно вычисленной длине упорядоченной двоичной последовательности вейвлет коэффициентов кодового блока и этот принятый кодовый блок не будет признан подлинным.
Проверка теоретических предпосылок заявленного способа аутентификации ЭИ (второй вариант), использующего установку секретных начальных значений вероятностей кодируемых и декодируемых нулевых и единичных символов, проверялась путем его аналитических исследований.
Во втором варианте заявленного способа аутентификации ЭИ, использующего установку секретных начальных значений вероятностей кодируемых и декодируемых нулевых и единичных символов, было выполнено кодирование электронных изображений, каждое из которых содержало по N=15480 кодовых блоков каждый размером 32×32 квантованных вейвлет коэффициентов. Квантованные вейвлет коэффициенты каждого кодового блока преобразовывали в L≤11 упорядоченных двоичных последовательностей квантованных вейвлет коэффициентов n-го кодового блока, которые кодировали с использованием арифметического кодирования в кодированные последовательности этого блока. Перед кодированием УДП квантованных вейвлет коэффициентов n-го кодового блока с использованием арифметического кодирования устанавливали секретные начальные значения вероятностей кодируемых и декодируемых нулевых и единичных символов в соответствии с предварительно сформированной ДП СК длиной 8 бит. Подсчитывали размер несжатого ЭИ и размер кодированного ЭИ в байтах. Также вычисляли коэффициент сжатия ЭИ в разах путем деления размера несжатого ЭИ на размер кодированного ЭИ. Результаты кодирования трех различных ЭИ во втором варианте заявленного способа аутентификации ЭИ, использующего установку секретных начальных значений вероятностей кодируемых и декодируемых нулевых и единичных символов, показаны в таблице на фиг. 22. В способе-прототипе для обеспечения защищенности к попыткам нарушителя подмены подлинного аутентифицированного ЭИ на неподлинное ЭИ длина двоичных последовательностей ЦВЗ каждого кодового блока должна быть не менее 32 бит, что вызывает увеличение длины кодированного с обеспечением аутентификации по сравнению с длиной кодированного без обеспечения аутентификации ЭИ. Для сравнения в таблице показаны результаты кодирования этих же ЭИ с использованием арифметического кодирования без обеспечения аутентификации. Видно, что обеспечение аутентификации при кодировании ЭИ с использованием арифметического кодирования приводит к увеличению длины кодированного ЭИ по сравнению с длиной кодированного ЭИ без обеспечения аутентификации на 7502…7722 байт, и вызывает уменьшение значения коэффициента сжатия ЭИ на 0,26…0,64 раза. Однако при использовании способа-прототипа увеличение длины кодированного ЭИ по сравнению с длиной кодированного ЭИ без обеспечения аутентификации составляет 7920 байт, что превышает достигнутые значения во втором варианте заявленного способа аутентификации ЭИ, как показано на фиг. 22.
Таким образом, во втором варианте заявленного способа аутентификации ЭИ, использующего установку секретных начальных значений вероятностей кодируемых и декодируемых нулевых и единичных символов достигается уменьшение разницы длины кодированного с обеспечением аутентификации ЭИ по сравнению с длиной кодированного без обеспечения аутентификации ЭИ.
Отличия третьего варианта способа аутентификации ЭИ заключаются в изменении по секретному ключу границ интервала кодирования арифметического кодирования и интервала декодирования арифметического декодировании для каждого кодируемого и декодируемого бита.
Алгоритм формирования аутентифицированного ЭИ при изменении по секретному ключу границ интервала кодирования арифметического кодирования для каждого кодируемого бита представлен на фиг. 23.
У отправителя перед кодированием очередного бита очередной УДП квантованных вейвлет коэффициентов n-го кодового блока с использованием арифметического кодирования изменяют границы интервала кодирования арифметического кодирования в соответствии с предварительно сформированной ДП СК. Для этого перед кодированием очередного бита очередной УДП квантованных вейвлет коэффициентов n-го кодового блока с использованием арифметического кодирования изменяют границы интервала кодирования арифметического кодирования в соответствии с очередным битом секретного ключа. Например, при единичном значении очередного бита секретного ключа уменьшают на единичное значение верхнюю границу интервала кодирования арифметического кодирования Н, а при нулевом значении очередного бита секретного ключа увеличивают на единичное значение нижнюю границу интервала кодирования арифметического кодирования L.
0
1
Примерный вид кодирования показанной на фиг. 4(e) первой УДП КВК n-го кодового блока в виде двоичной последовательности "011111" длиною 6 двоичных символов с использованием арифметического кодирования в кодированные последовательности n-го кодового блока с изменением границы интервала кодирования арифметического кодирования перед кодированием очередного бита в соответствии с предварительно сформированной ДП СК представлен на фиг. 24. Пусть для кодирования этой двоичной последовательности длиною 6 двоичных символов используют двоичную последовательность секретного ключа вида "010010" такой же длины. Перед кодированием первого бита данной УДП в соответствии с равными начальными значениями вероятностей кодируемых нулевых символов p[0] и единичных символов p[0], устанавливают начальные верхнее H[0]=65535 и нижнее L[0]=0 значения интервала кодирования арифметического кодирования и значение Q=32767,, как показано на фиг. 25 при t=0. Первый бит секретного ключа имеет нулевое значение, поэтому нижнюю границу интервала кодирования арифметического кодирования L увеличивают на единичное значение, следовательно, L[0]=1. С учетом воздействия первого бита секретного ключа уточняют состояние арифметического кодирования, то есть при измененных границах интервала кодирования вычисляют значение Q, как показано во второй строке таблицы на фиг. 25.
Перед кодированием второго бита данной УДП второй бит секретного ключа имеет единичное значение, поэтому текущее значение верхней границы интервала кодирования H[1]=65534 уменьшают на единичное значение и значение верхней границы интервала становится равным H[1]=65533 и т.д.
Результатом кодирования данной УДП КВК n-го кодового блока в виде двоичной последовательности "011111" длиною 6 двоичных символов является двоичная последовательность вида "01111" с концевой комбинацией кодирования "0011 1100 1100 1100", как показано на фиг. 25, последняя строка.
Алгоритм проверки подлинности n-го принятого кодового блока при изменении по ключу границ интервала декодирования арифметического декодирования для каждого декодируемого бита представлен на фиг. 26.
У получателя перед декодированием очередного бита очередной кодированной последовательности n-го принятого кодового блока с использованием арифметического декодирования изменяют границы интервала декодирования арифметического декодирования в соответствии с предварительно сформированной ДП СК.
Для этого перед декодированием очередного бита очередной кодированной последовательности n-го принятого кодового блока с использованием арифметического декодирования изменяют границы интервала декодирования арифметического декодирования в соответствии с очередным битом секретного ключа. Например, при единичном значении очередного бита секретного ключа уменьшают на единичное значение верхнюю границу интервала декодирования арифметического декодирования HH, а при нулевом значении очередного бита секретного ключа увеличивают на единичное значение нижнюю границу интервала декодирования арифметического декодирования LL.
Например, на вход арифметического декодирования поступает кодированная последовательность первой УДП КВК вида 0111 1001 1110 0110 0110 0 длиной 21 двоичных символов, сформированной арифметическим кодированием с изменением по ключу границ интервала кодирования арифметического кодирования для каждого кодируемого бита. Для арифметического декодирования используют двоичную последовательность секретного ключа "010010", такого же вида, что и для арифметического кодирования.
0
1
Примерный вид арифметического декодирования указанной кодированной последовательности с изменением границы интервала декодирования арифметического декодирования перед декодированием очередного бита в соответствии с предварительно сформированной ДП СК представлен на фиг. 27. На вход арифметического декодирования считывают входные данные из первых 16 бит указанной кодированной последовательности вида 0111 1001 1110 0110, что соответствует десятичному числу 31206. Перед декодированием первого бита данной КП в соответствии с равными начальными значениями вероятностей декодируемых нулевых символов pp[0] и единичных символов pp[0], устанавливают начальные верхнее HH[0]=65535 и нижнее LL[0]=0 значения интервала декодирования арифметического декодирования и значение QQ=32767, как показано на фиг. 28 при t=0. Первый бит секретного ключа имеет нулевое значение, поэтому нижнюю границу интервала декодирования арифметического декодирования LL увеличивают на единичное значение, следовательно, LL[0]=1. С учетом воздействия первого бита секретного ключа уточняют состояние арифметического декодирования, то есть при измененных границах интервала декодирования вычисляют значение QQ, как показано на второй строке фиг. 28.
0
1
Текущее значение считанной кодированной последовательности, указанное на фиг. 27 стрелкой, сравнивают с текущими границами подинтервала декодирования нулевых символов DD[0] от 1 до 32767 и с текущими границами подинтервала декодирования единичных символов DD[0] от 32767 до 65535. Так как текущее значение считанной кодированной последовательности лежит внутри текущих границ подинтервала декодирования нулевых символов, то принимают решение о декодировании первого символа, являющегося нулевым символом и т.д.
Декодирование очередной кодированной последовательности УДП КВК n-го Пр. кодового блока заканчивают, когда текущее десятичное значение входных данных численно совпадает с нижним значением интервала декодирования. Например, при декодировании шестого символа текущее десятичное значение входных данных стало равным нижнему значению интервала декодирования (значение 40550), как показано на фиг. 28 при t=6. В результате из КП первой УДП КВК n-го Пр. кодового блока декодировано 6 символов, что совпадает по длине с предварительно вычисленной длиной упорядоченной двоичной последовательности вейвлет коэффициентов кодового блока. Если каждая из L подсчитанных значений длины совпадает с предварительно вычисленной длиной упорядоченной двоичной последовательности вейвлет коэффициентов кодового блока, то n-ый принятый кодовый блок считают подлинным.
Нарушитель выполняет перехват передаваемого ЭИ, разделяет его на кодированные последовательности и пытается выполнить декодирование кодированных последовательностей УДП КВК принятых блоков ЭИ. Выполнение арифметического декодирования нарушитель осуществляет так же, как и получатель, за исключением корректного изменения границ интервала декодирования арифметического декодирования перед декодированием очередного бита в силу незнания секретного ключа. Пусть нарушитель пытается декодировать перехваченное ЭИ без изменения по ключу границ интервала декодирования арифметического декодировании для каждого декодируемого бита. Например, на вход такого арифметического декодирования поступает кодированная последовательность первой УДП КВК вида 0111 1001 1110 0110 0110 0 длиной 21 двоичных символ, сформированной арифметическим кодированием с изменением по ключу границ интервала кодирования арифметического кодирования для каждого кодируемого бита, как показано на фиг. 29. В результате выполнения последовательных операций арифметического декодирования, показанных на фиг. 29, декодируют последовательность вида "0111101…" длиной более 7 двоичных символов, при этом декодирование кодированной последовательности очередной УДП КВК n-го Пр. кодового блока не закончено, так как текущее десятичное значение входных данных не равно нижнему значению интервала декодирования. В результате длина декодированной последовательности очередной УДП КВК n-го Пр. кодового блока не совпадает по длине с предварительно вычисленной длиной упорядоченной двоичной последовательности вейвлет коэффициентов кодового блока и данный кодовый блок не будет признан подлинным.
Проверка теоретических предпосылок заявленного способа аутентификации ЭИ (третий вариант), использующего изменение по секретному ключу границ интервала кодирования арифметического кодирования и интервала декодирования арифметического декодировании для каждого кодируемого и декодируемого бита, проверялась путем его аналитических исследований.
В третьем варианте заявленного способа аутентификации ЭИ, использующего изменение по секретному ключу границ интервала кодирования арифметического кодирования и интервала декодирования арифметического декодировании для каждого кодируемого и декодируемого бита, было выполнено кодирование тех же электронных изображений и в тех же условиях, что и для первых двух вариантах заявленного способа аутентификации ЭИ. Результаты кодирования трех различных ЭИ в третьем варианте заявленного способа аутентификации ЭИ при изменении границ интервала кодирования арифметического кодирования на ±1 и ±2 показаны в таблице на фиг. 30. Видно, что обеспечение аутентификации при кодировании ЭИ с использованием арифметического кодирования при изменении границ интервала кодирования арифметического кодирования на ±1 и ±2 приводит к увеличению длины кодированного ЭИ по сравнению с длиной кодированного ЭИ без обеспечения аутентификации на 2708…3812 байтов и на 4341…4453 байтов, что существенно меньше увеличения длины кодированного ЭИ при использовании способа-прототипа, составляющего 7920 байт.
Таким образом, в третьем варианте заявленного способа аутентификации ЭИ, использующего изменение по секретному ключу границ интервала кодирования арифметического кодирования и интервала декодирования арифметического декодировании для каждого кодируемого и декодируемого бита достигается уменьшение разницы длины кодированного с обеспечением аутентификации ЭИ по сравнению с длиной кодированного без обеспечения аутентификации ЭИ.
Отличия четвертого варианта способа аутентификации ЭИ заключаются в изменении значений вероятности кодируемых и декодируемых нулевых и единичных символов для каждого кодируемого и декодируемого бита в соответствии с предварительно сформированной ДП СК.
Алгоритм формирования аутентифицированного ЭИ при изменении по секретному ключу значений вероятности кодируемых нулевых и единичных символов для каждого кодируемого бита представлен на фиг. 31.
У отправителя после кодирования очередного бита очередной УДП квантованных вейвлет коэффициентов n-го кодового блока с использованием арифметического кодирования при нулевом значении очередного бита предварительно сформированной ДП СК увеличивают вероятность кодируемых нулевых символов после кодирования очередного нулевого бита, иначе увеличивают вероятность кодируемых единичных символов, а при единичном значении очередного бита предварительно сформированной ДП СК уменьшают вероятность кодируемых нулевых символов после кодирования очередного нулевого бита, иначе уменьшают вероятность кодируемых единичных символов. Для этого перед кодированием очередного бита очередной УДП квантованных вейвлет коэффициентов n-го кодового блока с использованием арифметического кодирования изменяют вероятность кодируемых символов в соответствии с очередным битом секретного ключа.
0
1
0
1
Например, при нулевом значении очередного бита секретного ключа после кодирования очередного нулевого бита увеличивают на единичное значение число закодированных нулевых символов N, а после кодирования очередного единичного бита увеличивают на единичное значение число закодированных единичных символов N. Соответственно, при единичном значении очередного бита секретного ключа после кодирования очередного нулевого бита уменьшают на единичное значение число закодированных нулевых символов N, а после кодирования очередного единичного бита уменьшают на единичное значение число закодированных единичных символов N.
0
0
1
1
0
1
0
0
1
0
0
0
0
1
Примерный вид кодирования показанной на фиг. 4(e) первой УДП КВК n-го кодового блока в виде двоичной последовательности "011111" длиною 6 двоичных символов с использованием арифметического кодирования в кодированную последовательность n-го кодового блока с изменением по секретному ключу значений вероятности кодируемых нулевых и единичных символов для каждого кодируемого бита представлен на фиг. 32. Пусть для кодирования этой двоичной последовательности длиною 6 двоичных символов используют двоичную последовательность секретного ключа вида "11001" длиною 5 двоичных символов. Начальное число закодированных нулевых символов N[0] устанавливают равным N[0]=1, а начальное число закодированных единичных символов N[0] устанавливают равным N[0]=1. Перед кодированием первого бита данной УДП в соответствии с равными начальными значениями вероятностей кодируемых нулевых символов p[0] и единичных символов p[0], устанавливают начальные верхнее H[0]=65535 и нижнее L[0]=0 значения интервала кодирования арифметического кодирования и значение Q=32767, как показано на фиг. 33 при t=0. После кодирования нулевого первого бита данной УДП вероятности кодируемых нулевых символов p[0] и единичных символов принимают значения р[0]=2/3 и p[0]=1/3, соответственно. Так как первый бит секретного ключа имеет единичное значение, то после кодирования нулевого первого бита данной УДП уменьшают на единичное значение число закодированных нулевых символов N, то есть оно становится равным N=1 и вероятности кодируемых нулевых символов p[0] и единичных символов принимают значения p[0]=1/2 и p[0]=1/2, как показано на фиг. 32 при t=1. Само арифметическое кодирование очередных битов очередной УДП квантованных вейвлет коэффициентов n-го кодового блока не отличается от способа арифметического кодирования, описанного в способе-прототипе.
1
Например, после кодирования третьего бита очередной УДП КВК n-го кодового блока, имеющего единичное значение, в соответствии с нулевым значением третьего бита секретного ключа увеличивают на единичное значение число закодированных единичных символов N и т.д.
Результатом кодирования первой УДП КВК n-го кодового блока в виде двоичной последовательности "011111" с использованием арифметического кодирования в кодированную последовательность n-го кодового блока с изменением по секретному ключу значений вероятности кодируемых нулевых и единичных символов для каждого кодируемого бита является двоичная последовательность вида "011" с концевой комбинацией кодирования "0111 1010 1010 0011", как показано на фиг. 32.
Алгоритм проверки подлинности n-го принятого кодового блока при изменении по секретному ключу значений вероятности декодируемых нулевых и единичных символов для каждого декодируемого бита представлен на фиг. 34.
У получателя после декодирования очередного бита очередной кодированной последовательности n-го принятого кодового блока с использованием арифметического декодирования при нулевом значении очередного бита предварительно сформированной ДП СК увеличивают вероятность декодируемых нулевых символов после декодирования очередного нулевого бита, иначе увеличивают вероятность декодируемых единичных символов, а при единичном значении очередного бита предварительно сформированной ДП СК уменьшают вероятность декодируемых нулевых символов после декодирования очередного нулевого бита, иначе уменьшают вероятность декодируемых единичных символов.
0
1
0
1
Для этого после декодирования очередного бита очередной кодированной последовательности n-го принятого кодового блока с использованием арифметического декодирования изменяют значение вероятности декодируемых символов в соответствии с очередным битом секретного ключа. Например, при нулевом значении очередного бита секретного ключа после декодирования очередного нулевого бита увеличивают на единичное значение число декодированных нулевых символов NN, а после декодирования очередного единичного бита увеличивают на единичное значение число декодированных единичных символов NN. Соответственно, при единичном значении очередного бита секретного ключа после декодирования очередного нулевого бита уменьшают на единичное значение число декодированных нулевых символов NN, а после декодирования очередного единичного бита уменьшают на единичное значение число декодированных единичных символов NN.
Например, на вход арифметического декодирования поступает кодированная последовательность вида 0110 1111 0101 0100 011 длиной 19 двоичных символов, сформированная арифметическим кодированием с изменением по секретному ключу значений вероятности кодируемых нулевых и единичных символов для каждого кодируемого бита. Для арифметического декодирования используют двоичную последовательность секретного ключа "11001" такого же вида, что и для арифметического кодирования.
0
1
Примерный вид арифметического декодирования указанной кодированной последовательности с изменением по секретному ключу значений вероятности декодируемых нулевых и единичных символов для каждого декодируемого бита представлен на фиг. 35. На вход арифметического декодирования считывают входные данные из первых 16 бит указанной кодированной последовательности вида 0110 1111 0101 0100, что соответствует десятичному числу 28500. Перед декодированием первого бита данной КП в соответствии с равными начальными значениями вероятностей декодируемых нулевых символов pp[0] и единичных символов pp[0] устанавливают начальные верхнее HH[0]=65535 и нижнее LL[0]=0 значения интервала декодирования арифметического декодирования и значение QQ=32767, как показано на фиг. 36 при t=0.
0
1
0
0
0
1
В результате декодирования первого бита указанной кодированной последовательности и последующей нормализации нижняя и верхняя границы интервала декодирования арифметического декодирования приобретают значения LL[1]=0 и HH[1]=65534, соответственно. Так как первый декодированный бит имеет нулевое значение, то вероятности декодируемых нулевых символов и единичных символов принимают значения pp[0]=2/3 и pp[0]=1/3, соответственно. Так как первый бит секретного ключа имеет единичное значение, то после декодирования нулевого первого бита данной УДП уменьшают на единичное значение число декодированных нулевых символов NN, то есть оно становится равным NN=1 и вероятности декодируемых нулевых символов и единичных символов принимают значения pp[0]=1/2 и pp[0]=1/2, как показано на фиг. 36 при t=1. Само арифметическое декодирование очередных битов очередной КП n-го принятого кодового блока не отличается от способа арифметического декодирования, описанного в способе-прототипе.
1
Например, после декодирования третьего бита очередной КП n-го принятого кодового блока, имеющего единичное значение, в соответствии с нулевым значением третьего бита секретного ключа увеличивают на единичное значение число декодированных единичных символов N и т.д.
Декодирование очередной кодированной последовательности n-го Пр. кодового блока заканчивают, когда текущее десятичное значение входных данных численно совпадает с нижним значением интервала декодирования. Например, в результате декодирования шестого бита текущее десятичное значение входных данных 31395 численно совпало с нижним значением интервала декодирования, как показано на фиг. 36 при t=6, и на этом декодирование данной кодированной последовательности n-го Пр. кодового блока заканчивают.
Нарушитель выполняет перехват передаваемого ЭИ, разделяет его на кодированные последовательности и пытается выполнить декодирование кодированных последовательностей принятых кодовых блоков. Выполнение арифметического декодирования нарушитель осуществляет так же, как и получатель, за исключением корректного изменения по ключу значений вероятности декодируемых нулевых и единичных символов для каждого декодируемого бита в силу незнания секретного ключа. Пусть нарушитель пытается декодировать перехваченное ЭИ с изменением по ключу нарушителя значений вероятности декодируемых нулевых и единичных символов для каждого декодируемого бита, при этом ключ нарушителя отличается от секретного ключа. Например, ключ нарушителя имеет вид "001…".
На вход арифметического декодирования у нарушителя поступает первая кодированная последовательность n-го Пр. кодового блока вида 0110 1111 0101 0100 011 длиной 19 двоичных символов, сформированная арифметическим кодированием с изменением по секретному ключу значений вероятности кодируемых нулевых и единичных символов для каждого кодируемого бита. В результате выполнения нарушителем последовательных операций арифметического декодирования, показанных на фиг. 37, использовав все входные биты, нарушитель декодирует последовательность вида "0101…" длиной 4 двоичных символов и более, при этом декодирование очередной кодированной последовательности n-го Пр. кодового блока не закончено, так как текущее десятичное значение входных данных 31395 не равно нижнему значению интервала декодирования 16378. В результате длина данной декодированной последовательности n-го Пр. кодового блока не равна предварительно вычисленной длине упорядоченной двоичной последовательности квантованных вейвлет коэффициентов кодового блока, и n-ый принятый кодовый блок считают неподлинным.
Проверка теоретических предпосылок заявленного способа аутентификации ЭИ (четвертый вариант), использующего изменение по секретному ключу значений вероятности кодируемых и декодируемых нулевых и единичных символов для каждого кодируемого и декодируемого бита, проверялась путем его аналитических исследований.
В четвертом варианте заявленного способа аутентификации ЭИ, использующего изменение по секретному ключу значений вероятности кодируемых и декодируемых нулевых и единичных символов для каждого кодируемого и декодируемого бита, было выполнено кодирование тех же электронных изображений и в тех же условиях, что и для первых двух вариантах заявленного способа аутентификации ЭИ. Результаты кодирования трех различных ЭИ в четвертом варианте заявленного способа аутентификации ЭИ показаны в таблице на фиг. 38. Видно, что обеспечение аутентификации при кодировании ЭИ с использованием арифметического кодирования приводит к увеличению длины кодированного ЭИ по сравнению с длиной кодированного ЭИ без обеспечения аутентификации на 3033…4278 байтов, что существенно меньше увеличения длины кодированного ЭИ при использовании способа-прототипа, составляющего 7920 байт.
Таким образом, в четвертом варианте заявленного способа аутентификации ЭИ, использующего изменение по секретному ключу значений вероятности кодируемых и декодируемых нулевых и единичных символов для каждого кодируемого и декодируемого бита достигается уменьшение разницы длины кодированного с обеспечением аутентификации ЭИ по сравнению с длиной кодированного без обеспечения аутентификации ЭИ.
Проведенные исследования подтверждают, что при использовании предлагаемых вариантов способа аутентификации ЭИ обеспечивается уменьшение разницы длины кодированного с обеспечением аутентификации ЭИ по сравнению с длиной кодированного без обеспечения аутентификации ЭИ.