Научная статья на тему 'О построении (n, k)-схемы визуальной криптографии с применением класса линейных хэш-функций над бинарным полем'

О построении (n, k)-схемы визуальной криптографии с применением класса линейных хэш-функций над бинарным полем Текст научной статьи по специальности «Математика»

CC BY
132
22
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВИЗУАЛЬНАЯ КРИПТОГРАФИЯ / ЛИНЕЙНЫЕ ХЭШ-ФУНКЦИИ

Аннотация научной статьи по математике, автор научной работы — Косолапов Ю.В.

В статье исследуется вопрос построения (n, k)-схемы визуальнойкриптографии, в которой черно-белое секретное изображение рас-пределяется среди n участников и только коалиции мощности k и бо-лее участников могут восстановить секретное изображение. Именноисследуется вопрос применения набора F хэш-функций для постро-ения (n, k)-схемы на основе (k, k)-схемы визу альной криптографииМ. Наора и А. Шамира. Получены условия на F, при выполнениикоторых возможно построение (n, k)-схемы. В работе, в частности,исследуется применение класса линейных хэш-функций, который вобщем случае не позволяет построить (n, k)-схему, однако с помо-щью него возможно построен ие (n, K, k)-схемы, для которой любыеk -1 и менее участников восстановить секрет не могут, а любые K иболее могут. Для класса линейных хэш-функций получены достаточ-ные условия на K, при выполнении которых коалиция мощности Kи более может восстановить секрет. В частном случае исследованасхема разделения секрета среди восьми участников, построенная наоснове (4, 4)-схемы Наора Шамира с применение м класса линейныххэш-функций. Показано, что такая схема является (8, 4)-схемой и ха-рактеризуется меньшей длиной долей секретов и большей контра стно-стью, чем (8, 4)-схема, построенная с помощью класса хэш-функций,предложенного М. Наором и А. Шамиром

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Косолапов Ю.В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

On the Construction of (n, k)-schemes of Visual Cryptography Usinga Class of Linear Hash Functions Over a Binary Field

The paper explores the use of a set of hash functions for constructing a secret sharing scheme amongn participants based on the (k, k)-scheme M. Nahor and A. Shamir. Conditions are obtained for a set ofhash functions, in which it is possible to construct (k, n)-schemes where any coalition of power k or morecan restore a secret, and a coalition of lower power cannot restore the secret. In particular, the applicationof the class of linear hash functions is investigated. In general, this class does not allow us to construct a(k, n)-scheme, but it is possible to construct a (k, K, n)-scheme for which any k -1 and less participantscannot restore the secret, and any K and more can. For a class of linear hash functions, sufficient conditionsare obtained for K, in which the coalition of power K and more can restore the secret. In a particular case,a secret sharing scheme for eight participants was devel oped, based on the (4, 4)-scheme of M. Naor andA. Shamir using a class of linear hash functions. It is shown that for any 4-power coalition the secret can berestored, that is, the constructed scheme is a (8, 4)-scheme. The (8, 4)-scheme constructed in particularis characterized by a shorter length of shares than the (8, 4)-scheme constructed in accordance with thealgorithm proposed by M. Naor and A. Shamir.

Текст научной работы на тему «О построении (n, k)-схемы визуальной криптографии с применением класса линейных хэш-функций над бинарным полем»

ИНФОРМАТИКА

УДК 517.9

О ПОСТРОЕНИИ (п, к)-СХЕМЫ ВИЗУАЛЬНОЙ КРИПТОГРАФИИ С ПРИМЕНЕНИЕМ КЛАССА ЛИНЕЙНЫХ ХЭШ-ФУНКЦИЙ НАД БИНАРНЫМ

ПОЛЕМ

Ю. В. Косолапов

Косолапов Юрий Владимирович, кандидат технических наук, доцент кафедры алгебры и дискретной математики, Южный федеральный университет, Россия, 344006, Ростов-на-Дону, Большая Садовая, 105/42, itaim@mail.ru

В статье исследуется вопрос построения (п, к)-схемы визуальной криптографии, в которой черно-белое секретное изображение распределяется среди п участников и только коалиции мощности к и более участников могут восстановить секретное изображение. Именно исследуется вопрос применения набора & хэш-функций для построения (п, к)-схемы на основе (к, к)-схемы визуальной криптографии М. Наора и А. Шамира. Получены условия на &, при выполнении которых возможно построение (п, к)-схемы. В работе, в частности, исследуется применение класса линейных хэш-функций, который в общем случае не позволяет построить (п, к)-схему, однако с помощью него возможно построение (п, К, к)-схемы, для которой любые к - 1 и менее участников восстановить секрет не могут, а любые К и более могут. Для класса линейных хэш-функций получены достаточные условия на К, при выполнении которых коалиция мощности К и более может восстановить секрет. В частном случае исследована схема разделения секрета среди восьми участников, построенная на основе (4,4)-схемы Наора - Шамира с применением класса линейных хэш-функций. Показано, что такая схема является (8,4)-схемой и характеризуется меньшей длиной долей секретов и большей контрастностью, чем (8,4)-схема, построенная с помощью класса хэш-функций, предложенного М. Наором и А. Шамиром.

Ключевые слова: визуальная криптография, линейные хэш-функции. 001:10.18500/1816-9791 -2018-18-2-227-239

ВВЕДЕНИЕ И ПОСТАНОВКА ЗАДАЧИ

В [1,2] предложена схема разделения секрета (СРС), в которой некоторый секрет я разделяется среди конечного множества участников п = {0,..., п— 1}, занумерованных числами от 0 до п — 1, и только подмножество участников с мощностью не менее определенного заранее числа к может восстановить исходный секрет.

Схемы разделения секрета, в которых любые k и более участников образуют правомочную коалицию, то есть могут восстановить секрет, а меньшее число участников секрет восстановить не может, называются пороговыми (n, к)-схемами [3]. В настоящее время СРС применяются как самостоятельно, так и в качестве примитива при синтезе других криптографических протоколов, например, протоколов многосторонних конфиденциальных вычислений [4]. Здесь и далее под СРС будем понимать следующую схему. Пусть секретом является вектор s = (sb ..., sM) длины M1) из множества {0,1}M (M ^ 1), n — упорядоченное множество из n участников, среди которых дилер разделяет секрет. Для 1-го бита s¡ = b(£ {0,1}) секрета s независимо от других битов этого секрета дилером применяется протокол разделения одного бита. Именно для бита b протокол разделения бита состоит в нахождении дилером для каждого i £ n значения соответствующего (несекретного) отображения

fi : {0,1} х R ^{0,1}m, (1)

где R — подходящее для конкретной СРС множество, значения из которого принимает случайный аргумент, m £ N, m > 1. Таким образом, по биту s¡ = b формируется набор из n долей, который представим в виде набора n векторов, каждый из которых принадлежит {0,1}m:

si ^ (S0, si,..., s¡n_i), si = fi(si, ri), i = 0,..., n - 1, (2)

где r — значение случайного аргумента, выбранное дилером из R случайно и равновероятно для 1-го бита. Для секрета s = (si,..., sM) протокол разделения секрета состоит в нахождении для каждого участника i £ n соответствующей доли si длины M • m и вида si = si У ... У sM, где a У b — конкатенация векторов a и b.

Пусть n(K) = {ii,... , iK} — подмножество участников мощности K, n(K) С n, а SK = [si1,..., siK] — набор долей секрета s. Символом gn(K) обозначим такое отображение вида

gn(K) : {0,1}m х ... х {0,1}m ^ {0,1}, (3)

4-v-'

k

что gn(K)(s¿l,...,siK) = s¿ для K ^ k, а при K < k вероятность события gn(K)(sii,...,siK) = 1 равна 1/2. Другими словами, отображение gn(K) однозначно восстанавливает каждый бит секрета s при K ^ к, а при K < к вероятность восстановления каждого бита равна вероятности угадывания значения соответствующего бита. Протокол восстановления 1-го бита коалицией n(K) состоит в нахождении значения gn(K)(s¿1,...,siK), а протокол восстановления секрета коалицией n(K) по совокупности долей SK состоит в нахождении вектора вида

9n(K)(sil,.. •, sIk) II gn(K)(s2i,..., s2k) II ... У 9n(KК,..., sMK).

Отметим, что любое черно-белое изображение может быть представлено в виде вектора из нулей и единиц, где «0» соответствует, например, белому пикселю изображения, а «1» — черному. В [5] М. Наором (Naor) и А. Шамиром (Shamir) предложена (n,k)-схема разделения секрета, представляющего собой черно-белое изображение. В основе этой схемы лежит построение на основе исходного изображения n таких черно-белых изображений («теневых» изображений), что при совмещении любых k из них (и более) можно восстановить исходное секретное изображение. При этом «совмещение» теневых изображений следует представлять как наложение этих изображений, нанесенных на прозрачную пленку, а «восстановление» —

как просмотр совмещенных теневых изображений на свет. Свою схему М. Наор и А. Шамир назвали схемой визуальной криптографии, так как при совмещении к и более «теневых» изображений имеется возможность визуально отличить области, соответствующие черным пикселям, от областей, соответствующих белым пикселям. Другими словами, имеется ненулевая относительная контрастность (различие) между черными и белыми областями. Заметим, что порог контрастной чувствительности глаза человека составляет порядка 0.01 [6], поэтому представляют интерес (п, к)-схемы с относительной контрастностью не менее 0.01. В [5] сначала строятся (к, к)-схемы, а затем на основе этих схем строится (п, к)-схема (п > к), в частности, с использованием к-универсальных хэш-функций.

В настоящей работе ставится задача исследования (п, к)-схемы, построенной на основе класса линейных хэш-функций [7], который, с одной стороны, не является к-универсальным классом хэш-функций при к > 2, а с другой стороны, для рассматриваемой (п, к)-схемы содержит меньше функций, чем класс, предложенный в [5], что позволяет уменьшить размеры (длины) долей участников.

Работа имеет следующую структуру. В парагр. 1 приводятся необходимые сведения о схемах визуальной криптографии из [5] и предварительные результаты относительно применения хэш-функций для построения (п, к)-схем. В парагр. 2 исследуется схема визуальной криптографии на основе класса линейных хэш-функций и доказывается утверждение о контрастности восстанавливаемого секретного изображения. Там же приводятся результаты анализа (8,4)-схемы. Доказательство основного результата для (8,4)-схемы вынесено в приложение.

1. ПРЕДВАРИТЕЛЬНЫЕ СВЕДЕНИЯ И РЕЗУЛЬТАТЫ

Пусть я = (^1,..., вм)(£ {0,1}м — секрет, соответствующий черно-белому изображению. Опишем протокол восстановления 1-го бита в/ секрета я в соответствии с [5]. Секретному биту в/ соответствует набор долей секретов (2). Для двух векторов а = (а1,..., ат)(е {0,1}т) и Ь = (Ьь ..., Ьто)(е {0,1}т) определим операцию V покоординатного логического «или»: а V Ь = (а1 V Ь1,... ,ат V Ьт), где операция «аУб» — это логическое «или» двоичных величин а и Ь. Для восстановления значения бита в/ = Ь коалицией участников п(К) = {г1,..., гк} необходимо найти вектор

рГ = < V < V...V 4 (4)

и вычислить для этого вектора вес Хэмминга ) — количество ненулевых координат вектора. Согласно [5] при К ^ к отображение (3) должно иметь вид

пК)(1 I I )^1, если ) ^ ^(п(К^

У |0, если Цр^) < ¿(п(К)) — а(п(К)) • т,

где ^(п(К))(^ т) — пороговое значение для веса Хэмминга, при котором вектор Р^1 соответствует биту в/ = 1, а величина а(п(К))(0 < а(п(К)) < 1) характеризует относительную контрастность между вектором вида (4), соответствующим в/ = 1, и вектором того же вида, соответствующим в/ = 0:

„(„(К)) = М'(р1 ) — М'(Р0). (5)

т

Заметим, что пороговое значение ^(п(К)) и относительная контрастность а(п(К)) в общем случае могут зависеть также и от 1 (так как значение г при выполнении

протокола разделения секрета (2) выбирается случайно и равновероятно), однако здесь рассматриваются только (п, к)-схемы, где эти величины не зависят от значения случайного аргумента. При К < к в (п, к)-схеме веса «черного» и «белого» пикселей должны быть неразличимы, т.е. а(п(К)) = 0.

В [5] построена (к,к)-схема (далее — схема Наора - Шамира), для которой т = 2*-1 и величины ¿(п(К)) и а(п(К)) зависят только от мощности К коалиции п(К). В удобном виде приведем описание (к,к)-схемы из [5].

Рассмотрим множество Ш Е1 = {^1,02, • • •, } — наборы подмножеств множества Ш четной и нечетной мощности соответственно. Набору Е? сопоставляется (к х т)-матрица 5? = (в?)к-01, в? = (5д), Ь £{0,1}, где

{ео; в1;...; е*— }. Пусть Е0 = {00, 00 ,...,00^-1} и

5,

? ,1, если е^ £ 0?,

«Л

При к = 4 имеем:

0, иначе,

Ь £ {0,1}.

Е0 = {{е0, е1}, {е0, е2}, {е0, ез}, {е1, е2}, {е1, ез}, {е2, ез}, 0, {е0, е1, е2, ез}}, = {{е0}, {е1}, {е2}, {ез}, {е0, е1, е2}, {е0, е1, ез}, {е0, е2, ез}, {е1, е2, ез}},

(6)

а соответствующие матрицы имеют вид

50 =

/1 1 1 0 0 0 0 1\ 1 0 0 1 1 0 0 1 01010101 \0 0 1 0 1 1 0 1/

51 =

/1 0 0 0 1 1 1 0\ 01001101 0 0 10 10 11 \0 0 0 1 0 1 1 \)

(7)

Согласно [5] далее по матрицам (6) строятся соответствующие им коллекции матриц С0 и Сь С = {7(5?) : 7 £ }, Ь £ {0,1}, где симметрическая

группа перестановок множества {1,..., 2*-1}, |^2*-11 = 2*-1!, 7 (5?) — перестановка столбцов матрицы 5? в соответствии с перестановкой 7. Для построения к долей, соответствующих одному биту Ь(£ {0; 1}) секретного вектора 8, случайным образом выбирается матрица 5? из С?; доля участника г представляет собой г-ю строку матрицы 5?, г £ {0, ...,к — 1} (нумерация с нуля). Поэтому отображение (1) в данном случае — это выбор г-й строки в случайно выбранной из коллекции С? матрице 5? = 7(5?), 7 £ & = ^2*-1.

Пусть т С {0, ...,к — 1}, 1 ^ |т | ^ к — 1, 7 (5 ? )т — матрица, полученная из матрицы 7(5?) выбрасыванием строк с номерами из множества {0,..., к —1}\т, ^Г — вес вектора, получающегося выполнением операции V над строками матрицы 5? с номерами из множества т, Ь £ {0,1}. Матрицы 50 и 51 обладают следующими свойствами [5]:

1) матрица 50 имеет один нулевой столбец, а в матрице 51 таких столбцов нет;

2) наборы (7(51 )т)7е^2к-1 и (7(50)т)7к-1 совпадают с точностью до перестановки матриц внутри наборов;

3) < = и ^Т1 = <2 для любых таких т1 и т2, что 1 = |т2| < к, где Ь £ {0,1}.

Из свойства 3) следует, что ад^ зависит только от мощности К множества т, поэтому положим ^Т1 = . В силу свойства 3) и способа построения коллекций С0

и С для (к,к)-схемы Наора-Шамира величины ¿(п(К)) и а(п(К)) зависят только от мощности К коалиции п(К). Соответствующие величины обозначим ¿(К) и а(К). В частности, из свойств 2) и 1) следует, что для (к, к)-схемы Наора-Шамира

(К) — ^ если К < к, ¿(К) (, если К < к, ..)

а( ) > ^, если К - к, ( ) [2к-1, если К - к.

В [5] предложен способ построения (п, к)-схемы на основе (к, к)-схемы. При построении коллекций матриц С0 и С для (п, к)-схемы М. Наором и А. Шамиром предлагается использовать класс Ж — {/}|=1 хэш-функции вида / : {0,..., п — 1} —► {0,..., к — 1}. Здесь представляется удобным описать формирование случайной матрицы ¿ь(е Сь) для бита Ь, а не вводить громоздкое определение коллекции Сь. Для построения матрицы ¿г случайным образом выбираются (возможно, с повторениями) Ь матриц Тьд,. . . ,Ть,ь (Ть'я е Сь) из коллекции Сь, построенной для (к,к)-схемы Наора-Шамира. Элемент на пересечении г-й строки (0 ^ г ^ п — 1) и 0 + (1 — 1) • (2к-1))-го столбца (1 < з < 2к-1, 1 < 1 < Ь) матрицы ¿ь — (ёЬ)п—^ определяется следующим образом:

+(/-1)-(2к-т) — ^'(я). , Л е Ж• (9)

Построенная таким образом матрица ¿ь состоит из п строк и 2к-1 • Ь столбцов и представима в виде конкатенации Ь матриц размера (п х п): ¿ь — [Ть'1 || ... || Ть'ь], где (п х п)-матрица Ть,г имеет вид Ть,г — [Т^)]П-о , где Т^'1 — з-я строка матрицы Ть'г(е Сь).

Утверждение 1. Пусть п(К) — {г1 } — коалиция, В — {г1 },

рь — ук=1 ёь., Пусть А С Ж,

С (В,/) — |{/(Ь): ь е В }|, / е А, (10)

СА (1) — |{/ е А : С (В,/) — 1}|. Тогда относительная контрастность а(п(К)) для (к, п)-схемы, построенной с применением хэш-функций из А, вычисляется по формуле

а(п(К)) — . (11)

Доказательство. Несложно проверить, что величина ад(рь) может быть представлена в виде Цр1) — С/(к)^(к)+£ С/и Цр0) — Цр1)—С/(к)(а(к)2к-1),

1=1

где а(К) — относительная контрастность для (к,к)-схемы Наора-Шамира. Подставляя в (5) значения ад(рь) вместо ад(рь), Ь е {0,1}, и учитывая равенство а(к) — (см. (8)), получим (11), так как в этом случае т — |А| • (2к-1). □

Учитывая, что (к) — 0 при К < к для любого В мощности К и менее, то любая коалиция мощности менее к не сможет восстановить секрет (черные и белые пиксели неразличимы). Следующее утверждение устанавливает ограничение на класс функций Ж, который может применяться для построения (п,к)-схемы по (к, к)-схеме.

Утверждение 2. Пусть В — набор всех подмножеств множества {0,..., п — 1} мощности к. Для того чтобы (п, к)-схема, построенная на основе (к, к)-схемы и набора хэш-функций А (С Ж), обеспечивала ненулевую относительную контрастность, необходимо и достаточно, чтобы для всех В £ В выполнялось неравенство СА (к) > 0.

Доказательство. Достаточность условия следует из (11).

Докажем необходимость. Предположим, что (п, к)-схема обеспечивает ненулевую контрастность, но существует такое В', |В'| = к, что СА(к) = 0. Отсюда получаем, что коалиция участников с номерами из В' не сможет восстановить секретное изображение, так как контрастность нулевая (следует из (11)). Но это противоречит тому, что контрастность ненулевая. □

В общем случае для заданного подмножества А (С Ж) набор В можно представить в виде объединения непересекающихся подмножеств: В = ВА иВАи... иВ^,

= |А|, где ВА = {В £ В : С/(к) = г}. Если ВА = 0, то набор А удовлетворяет условиям утверждения 2, при этом если в разбиении множества В имеется более одного непустого подмножества, то для каждого из этих подмножеств обеспечивается своя относительная контрастность. Таким образом, наборы функций А (в частности, А = Ж), удовлетворяющие условиям утверждения 2, в общем случае позволяют строить схемы визуальной криптографии, названные в [8] несбалансированными. В [5] ко множеству А (в частном случае, к классу Ж) предъявляются более строгие требования, чем в утверждении 2, для обеспечения одинаковой (сбалансированной) контрастности: для всех В £ В и всех 1 ^ q ^ к вероятность того, что случайно выбранная функция / £ А имеет q различных значений на множестве В, должна быть одной и той же. В частности, как указано в [5], этому условию удовлетворяет класс Ж', являющийся классом к-универсальных (к-независимых) хэш-функций [9], так как для любых разных х1,. . . из {0,... ,п — 1} случайные величины ^(х1),. . . (хк) полностью независимы, если ^ — случайно и равновероятно выбранная функция из Ж'. Согласно теореме 5.2 из [5] относительная контрастность в этом случае равна , а длина каждой доли, соответствующей одному секретному биту, равна п*2*-1. Например, при построении (8,4)-схемы на основе (4, 4)-схемы с использованием предложенного в [5] класса 4-универсальных хэш-функций каждый бит будет представлен 32768-ю битами в «теневом» изображении, при этом контрастность будет приблизительно 0.00024. Далее будет показано, что существует такой класс хэш-функций, для которого (8,4)-схема обеспечивает контрастность не менее 0.011, при этом каждый бит кодируется не более чем 512-ю битами.

2. (п, к)-СХЕМА НА ОСНОВЕ КЛАССА ЛИНЕЙНЫХ ХЭШ-ФУНКЦИЙ

Рассмотрим множество всех (0,1)-матриц размера (р х £), £ ^ р. Пусть

Ь/ : {0,1}1 ^{0,1,..., 21 — 1} (12)

— функция, ставящая однозначно в соответствие вектору из {0,1}1 число из множества {0,..., 21 — 1}, а Ь-1 : {0,..., 21 — 1} ^ {0,1}1 — обратная к Ь функция. (Удобным представляется полагать, что Ь-1 (г) — двоичная запись числа г.) Зафиксируем отображение

Н : ^ {1,..., }, (13)

однозначно ставящее матрицам из десятичное число из диапазона {1,..., }. Для Н £ определим функцию Д(Я) : {0,..., 2Р — 1} ^ {0,..., 2* — 1}, действующую на элемент х £ {0,..., 2Р — 1} по правилу: Д(Я)(х) = Ь*(Ь-1 (х) • Н). Класс функций = {Д(Я) : Н £ называется классом линейных хэш-функций [7],

Пусть к = 2*, п = 2Р. Применим правило (9) для построения СРС, где Ж = . Отметим, что такая СРС в общем случае может не являться (п, к)-схемой в том смысле, что не для любой коалиции мощности к относительная контрастность будет ненулевая. Однако она при определенных условиях на К является (п, К, к)-схемой, где менее к участников секрет восстановить не могут, а не менее К могут (гатр-схема [4]).

Утверждение 3. Пусть СРС с п участниками построена на основе (к, к)-схемы Наора-Шамира с применением правила (9) и класса Р)*. Тогда для любой коалиции п(К) мощности К не менее 2Р — (2Р-* — 1) выполняются равенства:

ГТ*-1 (2Р — 2^)

а(п(К)) = (2к_Д) , т = 2Р'* • (2к-1). (14)

Доказательство. Пусть Вк,р — множество двоичных (К хр)-матриц, состоящих из попарно различных строк, причем двум двоичным матрицам В1 и В2, в каждой из которых нет повторяющихся строк и отличающихся только порядком строк, соответствует одна матрица из Вк,р. Отметим, что каждая матрица В = (Ь^)к1, Ъ £ {0,1}р, принадлежащая Вк,р, однозначно соответствует коалиции {Ьр (Ъ1),..., Ьр (Ък)} из К участников набора п. Пусть Н — (рх £)-матрица из множества , гапк(Н) = £, тогда матрица Н может быть рассмотрена как проверочная матрица некоторого бинарного [р,р — £]-кода ^ длины р и размерности р — £. Для заданного у £ множеством решений уравнения у = хН относительно вектора неизвестных х = (х1,..., хр) является некоторый смежный класс кода ^. Так как мощность смежного класса равна | = , то для того, чтобы при умножении на матрицу Н бинарных векторов длины р, представляющих собой строки матрицы В, получалось 2* различных значений, достаточно, чтобы в матрице В было не менее • (2* — 1) + 1 различных строк. Таким образом, для каждой матрицы Н ранга £ в матрице В • Н найдутся 2* различных строк. Так как над полем ¥2 имеется П5-0(2Р — 2-7') матриц размера р х £ и ранга £, то

для В £ Вк,р имеем: | ^ П5=0(2Р — 2-7'). Имеется 2гапк(я) возможных значений линейных комбинаций строк матрицы Н, поэтому при гапк(Н) < £ любая линейная комбинация строк этой матрицы дает менее к значений. Поэтому на основании (11) получаем (14). □

Таким образом, при К ^ 2Р — (2Р-* — 1) построенная схема является (п, К, к)-схемой. Из доказательства утверждения 3 получаем

Следствие 1. Пусть Ж = = {Д(Я) £ : гапк(Н) = £}, к = 2*,

п = 2Р. Тогда для (п, К, к)-схемы при К ^ 2Р — (2Р-* — 1) имеем: а(п(К)) = ^¿т,

т = ПЛ==0(2р — *) • (2к-1).

Далее рассматривается случай, когда к = 4 и п = 8 (р = 3, £ = 2), для которого показано, что построенная СРС является (8,4)-схемой. Напомним, что для (4,4)-схемы Наора-Шамира матрицы 50 и 51 имеют вид (7), ¿(4) = 8, а = 8. Пусть 8 = {0,..., 7} — участники схемы. Участнику с номером г сопоставим в соответствие

вектор Ь-1 (г) длины три. Рассмотрим множества Ж — Ж3'2 и В — В4.3, \Ж| — 64, — 70. Для (4 х 3)-матрицы В — (Ь«)4=1 символом Ь3(В) обозначим множество {Ьз(Ь1),..., Ьз(Ь4)} (см. (12)).

Утверждение 4. Для множества В имеет место разбиение В — и В2, В \ — 56, |В2 \ — 14, причем В' П В2 — 0 и для любых В е справедливы равенства ) (1) — 1, (2) — 21, С^) (3) — 36, (4) — 6, для любых

В е В2 — равенства <^(1) — 4, <^(2) — 36, (3) — 0, (4) — 24.

Доказательство утверждения 4 приведено в приложении. Пусть х — отображение, ставящее в соответствие любой коалиции 8(4) — {г1,г2, г3, г4} матрицу из В по правилу: х(8(4)) — (Ь-1 (г.))4=1, где Ь-1 (г.) — 3-я строка матрицы х(8(4)).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Утверждение 5. Схема, построенная с применением класса по правилу (9) на основе (4,4)-схемы Наора - Шамира, является (8,4)-схемой, при этом т — 512 и множество В распадается на два множества , \ — 56 и В'2, \В2\ — 14, так, что

а(8(4)) —

[6/512

(15)

0.0117 для х(8(4)) е В', "[24/512 « 0.0468 для х(8(4)) е В2.

Доказательство. Доказательство вытекает из утверждений 1, 2 и 4. □

Из утверждения 4 получаем, что если некоторой коалиции мощности 4 соответствует матрица из В, то ^(р1) — 430 и ад(р°) — 424, где рь — вектор вида (4) при К — 4. В случае, когда такой коалиции соответствует матрица из В'2, то ^(р1) — 424 и ) — 400. Вычисления в соответствии с (14) показывают, что для семи и восьми долей относительная контрастность равна 42/512 « 0.082. Из результатов работы [10] и утверждения 5 следует, что построенная (8,4)-схема обеспечивает приемлемую для схем визуальной криптографии относительную контрастность восстанавливаемых изображений. Также отметим, что построенная схема лучше (как по контрастности, так и по длине долей секрета) соответствующей (8,4)-схемы, построенной с применением класса к-универсальных хэш-функций (к — 4), предложенного в [5].

Пример применения (8,4)-схемы показан на рисунке.

Из утверждения 2 и доказательства утверждения 4 следует, что построенная (8,4)-схема может быть модифицирована путем рассмотрения класса — — {Л(я) : Н е Ж, гапк(Я) — 2}, так как для каждой матрицы из В в найдется хотя бы одна функция, для которой выполняется условие из утверждения 2. В этом случае длина доли каждого участника равна 336 (а не 512), при этом а(8(4)) — 6/336 « 0.0178 для х(8(4)) из В и а(8(4)) — 24/336 « 0.0714 для х(8(4)) из В2 (сравните с (15)). Из следствия 1 получаем, что при использовании класса ЖЖ2 для семи и восьми долей относительная контрастность равна 0.125.

Применения (8,4)-схемы ЛррНеаНопБ о! (8,4)-зеЬете

Заметим, что в [10] построена (n, к)-схема, для которой при n = 8 и k = 4 относительная контрастность равна 0.0208(3), а каждый пиксель кодируется 48-ю битами. Таким образом, построенная в настоящей работе с применением Fh (8,4)-схема лучше по контрастности (8,4)-схемы из [10], когда х(8(4)) £ B, и незначительно хуже, когда х(8(4)) £ B, однако при этом длина пикселя в построенной схеме больше в 7 раз.

Библиографический список

1. Shamir A. How to share a secret // Communications of the ACM. 1979. Vol. 22, № 11. P. 612-613.

2. Blakley G. R. Safeguarding cryptographic keys // Proc. of the National Computer Conference. 1979. Vol. 48. P. 313-317.

3. Погорелое Б. А., Сачков В. Н. Словарь криптографических терминов. М. : МЦНМО,

2006. 91 с.

4. Chen H., Cramer R., Goldwasser S., Haan R., Vaikuntanathan V. Secure Computation from Random Error Correcting Codes // Advances in Cryptology - EUROCRYPT 2007. EUROCRYPT 2007. Lecture Notes in Computer Science. Berlin ; Heidelberg : Springer,

2007. Vol. 4515. P. 291-310. DOI: 10.1007/978-3-540-72540-4_17

5. Naor M., Shamir A. Visual cryptography // Advances in Cryptology - EUROCRYPT'94. EUROCRYPT 1994. Lecture Notes in Computer Science. Berlin, Heidelberg : Springer, 1994. Vol. 950. P. 1-12. DOI: 10.1007/BFb0053419

6. Pelli D.G., Bex P. Measuring contrast sensitivity // Vision Res. 2013. Vol. 90. P. 10-14. DOI: 10.1016/j.visres.2013.04.015

7. Carter J. L., Wegman M. N. Universal classes of hash functions // Journal of Computer and System Sciences. 1979. Vol. 18, iss. 2. P. 143-154. DOI: 10.1016/0022-0000(79)90044-8

8. Bose M., Mukerjee R. Optimal (k,n) visual cryptographic schemes for general k // Des. Codes Cryptogr. 2010. Vol. 55, iss. 1. P. 19-35. DOI: 10.1007/s10623-009-9327-6

9. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C. Introduction to Algorithms. Cambridge, Massachusetts; London, England : MIT Press, 2009. 1312 p.

10. Lakshmanan R., Arumugam S. Construction of a (k,n)-visual cryptography scheme // Des. Codes Cryptogr. 2017. Vol. 82, iss. 3. P. 629-645. DOI: 10.1007/s10623-016-0181-z

ПРИЛОЖЕНИЕ. ДОКАЗАТЕЛЬСТВО УТВЕРЖДЕНИЯ 4

Рассмотрим разбиение BB = B0 U B U B2 Очевидно, что Bo = B = 0, |B| = 7, |Вз| = матрицы множества B2:

Bi =

U B3, где Bi = ^ 63, поэтому BB

{B £ BB : rank(B) = i}. = B2 U B3. Выпишем все

/0 0 0 0 0 0 0 0 0 0 0 0

0 1 0 , B2 = 0 1 0 , Вз = 1 0 0 , В 4 = 1 1 0

0 0 1 1 0 0 0 0 1 0 1 1

V0 1 1 1 1 0 1 0 1 1 0 1

0 0 0 0 0 0 0 0 0

1 1 1 , В6 = 1 1 1 , В7 = 1 1 1

1 1 0 0 1 1 1 0 1

0 0 1 1 0 0 0 1 0

B5

Множество Вз представим в виде В3 = Взд и В3,2 и В3,3, где В3д — матрицы из Вз, у которых первая строка нулевая (напомним, строки не упорядочены, поэтому можем полагать, что нулевой является первая строка), В3,2 — матрицы из В3, содержащие четыре

ненулевые строки, каждая из которых равна сумме трех других строк, В3'3 — матрицы из В3, содержащие ненулевые строки и одна из строк является суммой двух каких-либо других строк. Покажем, что \В3д \ = 28, \В3.2 \ = 7, \В3.3\ = 28. Заметим, что имеется (23 — 1)(23 — 2)(23 — 22) = 168 матриц над ¥2 размера (3 х 3) и ранга 3. При этом множество всех этих матриц разбивается на классы, где в каждом классе матрицы отличаются только перестановкой строк. Так как в каждом таком классе 6 матриц, то \В3д \ = 168/6 = 28. Отсюда также следует \В3.2\ = \В3д\/4 = 7 и \В3.3\ = \В3\ — (28 + 7). Выпишем все матрицы множества В^3.2:

Bi

(1 1 Л 0 0 1 0 1 0 100

В.5

101

1 0

0 1

B2

1 1 1 1

0 1

0 1

\° 0 V

Вб

101

Вз

111 1 1 0 100 10

100

Вт

В4

/1 1 o^ 011 100 00

/

11 01 00

1 1 1

1

101

/

Множество матриц H = H3'2 также представим в виде разбиения H = H U H U H2, где H = {H G H : rank(H) = i}. Легко проверить, что |H0| = 1, |H2| = Cf • 2 =42 и |Hi| = 64 - (42 + 1) = 21. Из (10) следует, что C(63(В),fh(H)) = 1 для всех В G B и всех H G H, где h(^) — отображение вида (13). Для удобства множество H представим в виде: H = H2,i U Н2,2 U H2,3, где H>,i — множество матриц из H, содержащих одну нулевую строку, H>,2 — множество матриц из H, не содержащих нулевых строк, но при этом какие-либо две строки совпадают, Н2,з — множество матриц из H2, в которых нет нулевых строк, а сумма всех строк над F2 равна нулевой строке. Непосредственно проверяется, что |H2,i | = |H2,21 = 18, |Н2,з| = 6.

Вычислим C(63(В),fh(H)) для случая В g B3 и H g H. Пусть В g В3д, тогда имеет место представление: В = ( ° ), где 0 = (0,0,0) g F2, В' — (3 х 3)-матрица ран-

В

га 3. Отметим, что В' • H := {В' х H : H g H} = H. Отсюда получаем количество значений, которое принимает функция f,(H) на строках матриц из множества В3д, когда

H g H. Так как матрицы из H2 име-

Таблица 1 / Table 1 Распределение C(63(В),fh(H)) для В3д и H2 The distribution of C(63(В),Д(Н)) for В3д and H2

Матрица/Matrix H2,2 Н2,з

C (6з(В ),fh(H)) 3 4 3 4 3 4

В G B3,I 18 0 18 0 0 6

ют ранг 2, то С(63(В),Д(я)) равно либо трем, либо четырем. На каких функциях С(63(В),Д(я)) = 3, а на каких С(63(В),/,(я)) = 4, показано в табл. 1. В частности, все функции /,(я) для Н е Ж2.1 и Ж2'2 принимают три значения, а для Н е Ж2.3 — четыре значения.

Отметим, что так как гапк(Н) = 2 для всех Н е Ж, то сВ(Ж2) (1) = 0 для всех В е В, где Д(Н) = {/,(я) : Н е Ж2}. Действительно, Н можно рассматривать как проверочную матрицу некоторого бинарного [3,1]-кода длины 3 и размерности 2, мощность которого равна 2. Так как в матрице В четыре разные строки, то в этом случае С(63(В),/,(Я)) > 1. Отметим, что вектор а = ЬН в теории кодирования называется синдромом вектора Ь.

Рассмотрим случай, когда В е В?3.2. Если Ь — строка матрицы В такая, что ЬН = 0, то С(63(В),/,(Я)) = 4. Действительно, предположим, что имеются две разные строки Ь' и Ь'' такие, что Ь'Н = Ь''Н. Отсюда следует, что (Ь'©Ь'')Н = 0. Так как в матрице В нет нулевых

строк, то Ь' © Ь'' = Ь. Но это противоречит тому, что в матрице нет строк, которые бы являлись суммой двух других строк этой матрицы (следует из определения множества В е В3,2). Если в матрице В нет таких строк Ь, что ЬН = 0, то С(63(В),Д(я)) = 2. Покажем это. Заметим, что С(63(В), Д(я)) < 4, так как всего для матрицы Н может быть 4 разных синдрома, а по предположению нулевого синдрома при умножении строк матрицы В на матрицу Н нет. Выше также отмечалось, что С(63(В),Д(я)) > 1. Покажем, что С(63(В),Д(я)) = 3. Предположим, что первым строкам Ь, Ь2 и Ь3 матрицы В соответствуют три разных синдрома: 81, 82 и 83 соответственно. Но так как четвертая строка Ь4 матрицы В является суммой первых трех строк, то 84 = 8Х © 82 © 83. В силу того что С(63(В),Д(я)) < 4, получаем, что какие-то два вектора из набора 8Х, 82, 83 совпадают, что противоречит предположению. Отсюда С(63(В),Д(Я)) = 2.

Для каждого вектора Ь из Е:] четного веса во множестве Н2,2 найдется набор из 6 матриц, при умножении вектора Ь на которые получается нулевой синдром. Причем для двух разных ненулевых векторов четного веса такие наборы матриц не пересекаются (иначе получили бы, что эти векторы линейно зависимые). Для векторов нечетного веса синдромы на матрицах из Н2,2 ненулевые. Заметим, что в наборе В3,2 только одна матрица содержит все векторы нечетного веса — матрица Вх, а остальные содержат по два вектора четного веса. Следовательно, в В3,2 имеется одна матрица (матрица Вх), при умножении которой на любую матрицу из Н2,2 получаются два различных вектора (для разных матриц из Н2,2 векторы могут быть разными). И имеется 6 матриц в В3,2, которые на 12 матрицах из Н2,2 принимают четыре разных значения, а на 6 матрицах — два значения. Для матриц из Н2,1 только векторы единичного веса могут давать нулевой синдром. Поэтому в В3,2 имеется одна матрица, которая на всех матрицах из Н2,1 дает четыре разных значения; три матрицы, которые на 12 матрицах из дают четыре значения и на 6 матрицах дают два значения; три матрицы, которые на 12 матрицах из Н2,1 дают два значения и на 6 матрицах дают четыре значения.

Для матриц из Н2,3 только векторы веса три могут давать нулевой синдром, так как все столбцы матриц из Н2,3 имеют четный вес. Следовательно, четыре матрицы из В3,2 на всех матрицах Н2,3 дают четыре разных значения и три матрицы из В3,2 на всех матрицах из Н2,3 дают два разных значения (табл. 2).

Рассмотрим множество В3,3. Без

Таблица 2 / Table 2 Распределение C(63(В),Д(я)) для Вз,2 и H2 The distribution of C(63(В),/h(H)) for B3,2 and H2

нарушения общности можно полагать, что для каждой матрицы В = (Ь«)4=1 из В3,3 выполняется условие: Ь1 = Ь2 © Ь3 и гапк(В)' = 3, где В' = (Ь)4=2. Рассмотрим множество В • Н2 = = {ВН : Н е Н}. Из вида матриц множества В3,3 следует, что В • Н2 = {((Ь1 © Ь2)т II Нт)т : Н = = (Ь^)3=1 е Н2}. Отсюда следует распределение для С(63(В),Д(я)), показанное в табл. 3.

Теперь рассмотрим множество

. Представим его в виде Н = = Нх,1 и Н|)2 и Н1)3, где Нх,1 — матрицы, состоящие из трех одинаковых ненулевых строк, Н|)2 — множество матриц, состоящих из двух одинаковых ненулевых строк и одной нулевой строки, Н|)3 — множество матриц, состоящих из одной ненулевой и двух нулевых строк; |НМ| = 3, |Н1,21 = 9, |Н,эI = 9.

Матрицы множества В3Д при умножении на любую матрицу Н из не дадут нулевую

Матрица / Matrix H2,i H2,2 H2,3

C (63 (В ),Д(я)) 2 4 2 4 2 4

В2, В3, В4 6 12 6 12 6 0

В5 ,Вб ,В7 12 6 0 6

В1 0 18 18 0

Таблица 3 / Table 3

Распределение C(63(В),/^(Я)) для B3,3 и H2

The distribution of C(63(В),/h(H)) for B3,3 and H2

Матрица / Matrix H2,i H2,2 H2,3

C (63 (В ),/Л(Н)) 3 4 3 4 3 4

В £ BB3,3 12 6 18 0 6 0

матрицу (иначе бы получили, что матрицы из множества Взд имеют ранг 2). Поэтому C(Ьз(В), fh(H)) = 2 для всех H е H и всех B е Взд.

Рассмотрим множество Вз,2. Отметим, что в Вз,2 только матрица Bi не имеет строк четного веса, поэтому только матрица B1 на множестве Н.д даст одно значение, а все остальные матрицы из Вз,2 на матрицах из H.,1 будут давать два значения. В общем случае, для любой матрицы H из H1 найдется матрица B (только одна), строки которой представляют собой смежный класс кода с проверочной матрицей H. При этом для матрицы B имеется ровно три матрицы из Hi, дающие одинаковый синдром (если учитывать линейные комбинации столбцов матриц H). На остальных матрицах из H матрица B дает два значения. Поэтому ) (1) = 3 и ) (2) = 18 для всех B е Вз,2.

Все матрицы из Вз,з на матрицах из H дают два значения, так как произведение таких матриц не может дать нулевую матрицу, и в матрицах из Вз,з первая строка является суммой каких-то двух других строк. Поэтому синдром, соответствующий первой строке, равен сумме синдромов и cB(Hl) (2) = 21 для всех B е Вз,з.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рассмотрим теперь множество В2. Так как rank(B) = 2 для любой B е В2, то B может быть представлена в виде: B = (0Т || bT || bj || (b1 © b2)т)т, где aT — транспонированный вектор а. Тогда во множестве H найдутся 18 матриц (по 6 штук на каждую ненулевую строку матрицы B), что при умножении на них матрица B будет давать два разных значения (так как любую ненулевую строку матрицы B вместе с нулевой строкой можно рассматривать как одномерный код, а оставшиеся две ненулевые строки - как смежный класс этого кода; для кода размерности один также существует 6 различных проверочных матриц). Также отметим, что если для двух ненулевых строк матрицы синдромы одинаковые, то для других двух строк синдромы будут нулевые. Если же для двух ненулевых строк матрицы B синдромы ненулевые и разные, то синдром для третьей ненулевой строки будет отличен от этих двух. Таким образом, для оставшихся 24 матриц из H2 при умножении на B будет четыре разных значения.

Рассмотрим множество H. Непосредственно проверяется, что матрица B4 принимает на всех матрицах набора Н1д одно (нулевое) значение, так как все строки матрицы B4 имеют четный вес. Все остальные матрицы на всех матрицах набора H.,1 принимают 2 значения. Также любая из матриц B1, B2 ,!?з дает на матрицах из И,2 два разных значения (так как есть две разные строки единичного веса). На матрицах из Н1,з эти матрицы (B1, B2, B^ дают одно значение на трех матрицах и два значения на 6 матрицах. Матрица B4 дает два значения на всех матрицах наборов H1,2 и Н1,з. Для каждой матрицы B5 ,B6, B7 в H1,2 найдутся три матрицы, на которых будет приниматься одно значение, а для остальных 6 матриц — два значения. На всех матрицах из Н1,з матрицы B5, B6, B7 принимают два разных значения

Таблица 4 / Table 4 (так как в матрицах B5, B6, B7 имеет-Распределение C(63(B),/h(H)) для В2 и H The distribution of C(63(B),/h(H)) for B2 and H

Матрица / Matrix Hi,i Hi,2 H1,3

C (63 (B ),/ь(я)) 1 2 1 2 1 2

B4 3 0 0 9 0 9

Bi ,B2, B3 0 3 0 9 3 6

B5, Вб, B7 0 3 3 6 0 9

ся строка из единиц и в матрицах из Ж|,з вес каждого столбца не выше 1). Результаты для этого случая^обобще-ны в табл. 4. Полагая Вд = В3диВ3,3 и = В3,2 и В2 и учитывая, что нулевая матрица из Ж дает одно значение, получим доказываемое утверждение.

Образец для цитирования:

Косолапое Ю. В. О построении (к, п)-схемы визуальной криптографии с применением класса линейных хэш-функций над бинарным полем // Изв. Сарат. ун-та. Нов. сер. Сер. Математика. Механика. Информатика. 2018. Т. 18, вып. 2. С. 227-239. 001: 10.18500/1816-9791-201818-2-227-239

On the Construction of (n, k)-schemes of Visual Cryptography Using a Class of Linear Hash Functions Over a Binary Field

Yu. V. Kosolapov

Yury V. Kosolapov, https://orcid.org/0000-0002-1491-524X, Southern Federal University, 105/42, Bol'shaya Sadovaya Str., Rostov-on-Don, 344006, Russia, itaim@mail.ru

The paper explores the use of a set of hash functions for constructing a secret sharing scheme among n participants based on the (k, k)-scheme M. Nahor and A. Shamir. Conditions are obtained for a set of hash functions, in which it is possible to construct (k, n)-schemes where any coalition of power k or more can restore a secret, and a coalition of lower power cannot restore the secret. In particular, the application of the class of linear hash functions is investigated. In general, this class does not allow us to construct a (k, n)-scheme, but it is possible to construct a (k, K, n)-scheme for which any k - 1 and less participants cannot restore the secret, and any K and more can. For a class of linear hash functions, sufficient conditions are obtained for K, in which the coalition of power K and more can restore the secret. In a particular case, a secret sharing scheme for eight participants was developed, based on the (4,4)-scheme of M. Naor and A. Shamir using a class of linear hash functions. It is shown that for any 4-power coalition the secret can be restored, that is, the constructed scheme is a (8,4)-scheme. The (8,4)-scheme constructed in particular is characterized by a shorter length of shares than the (8,4)-scheme constructed in accordance with the algorithm proposed by M. Naor and A. Shamir.

Key words: secret sharing scheme, visual cryptography, linear hash functions. References

1. Shamir A. How to share a secret. Communications of the ACM, 1979, vol. 22, № 11, pp. 612-613.

2. Blakley G. R. Safeguarding cryptographic keys. Proc. of the National Computer Conference, 1979, vol. 48, pp. 313-317.

3. Pogorelov B. A., Sachkov V. N. Slovar' kriptograficheskih terminov [Dictionary of cryptographic terms]. Moscow, MTsNMO, 2006. 91 p.(in Russian).

4. Chen H., Cramer R., Goldwasser S., Haan R., Vaikuntanathan V. Secure Computation from Random Error Correcting Codes. Advances in Cryptology - EUROCRYPT 2007. EUROCRYPT 2007. Lecture Notes in Computer Science. Berlin, Heidelberg, Springer, 2007, vol. 4515, pp. 291-310. DOI: 10.1007/978-3-540-72540-4_17

5. Naor M., Shamir A. Visual cryptography. Advances in Cryptology — EUROCRYPT'94. EUROCRYPT 1994. Lecture Notes in Computer Science. Berlin, Heidelberg, Springer, 1994, vol. 950, pp. 1-12. DOI: 10.1007/BFb0053419

6. Pelli D.G., Bex P. Measuring contrast sensitivity. Vision Res., 2013, vol. 90, pp. 10-14. DOI: 10.1016/j.visres.2013.04.015

7. Carter J. L., Wegman M. N. Universal classes of hash functions. Journal of Computer and System Sciences, 1979, vol. 18, iss. 2, pp. 143-154. DOI: 10.1016/0022-0000(79)90044-8

8. Bose M., Mukerjee R. Optimal (k,n) visual cryptographic schemes for general k. Des. Codes Cryptogr., 2010, vol. 55, iss. 1, pp. 19-35. DOI: 10.1007/s10623-009-9327-6

9. Cormen T. H., Leiserson C. E., Rivest R. L., Stein C. Introduction to Algorithms. Cambridge, Massachusetts; London, England, MIT Press, 2009. 1312 p.

10. Lakshmanan R., Arumugam S. Construction of a (k,n)-visual cryptography scheme. Des. Codes Crypt ogr., 2017, vol. 82, iss. 3, pp. 629-645. DOI: 10.1007/s10623-016-0181-z

Cite this article as:

Kosolapov Yu. V. On the Construction of (k, n)-Schemes of Visual Cryptography Using a Class of Linear Hash Functions Over a Binary Field. Izv. Saratov Univ. (N. S.), Ser. Math. Mech. Inform., 2018, vol. 18, iss. 2, pp. 227-239 (in Russian). DOI: 10.18500/1816-9791-2018-18-2-227239

i Надоели баннеры? Вы всегда можете отключить рекламу.