Теорема 1. Марковский процесс имеет единственное финальное распределение вероятностей, и на выходе каждого блока сигнал имеет равномерное распределение.
Даются оценки интервала времени между двумя съёмами сигналов, обеспечивающего независимость этих сигналов.
Подробное изложение представленных результатов можно найти в [4].
ЛИТЕРАТУРА
1. Sheng L., Yong-Bin K., and Lombardi F. CNTFET-Based Design of Ternary Logic Gates and Arithmetic Circuits // IEEE Trans. Nanotechnology. 2011. V. 10. No. 2. P. 217-225.
2. Кузнецов В. М., Песошин В. А., Столов Е. Л. Марковская модель цифрового стохастического генератора // АиТ. 2008. №9. С. 62-68.
3. Хинчин А. Я. Работы по математической теории массового обслуживания. М.: Физмат-гиз, 1963. 236 с.
4. Столов Е. Л. Математическая модель генератора случайных чисел на основе трёхзначной логики // Прикладная дискретная математика. 2012. №2(12). С. 43-49.
УДК 519.7
ОДНОРАЗОВАЯ КОЛЬЦЕВАЯ ПОДПИСЬ И ЕЁ ПРИМЕНЕНИЕ В ЭЛЕКТРОННОЙ НАЛИЧНОСТИ
Г. О. Чикишев
Кольцевая подпись (ring signature) [1] позволяет участнику группы подписывать сообщения от имени всей группы (указывая для проверки вместо своего открытого ключа ключи всех участников группы). Проверяющий уверен, что использован один из секретных ключей, но чей именно — он не знает. В работе мы вводим новый вид кольцевой подписи, наделяя её свойством одноразовости: в случае повторного использования одного и того же секретного ключа личность его автора будет раскрыта (иными словами, анонимно подписать можно лишь одно сообщение).
Такое свойство востребовано во многих областях: электронные выборы (каждый участник может проголосовать только один раз), цифровые деньги (электронные монеты можно потратить лишь единожды) и т. д. Продемонстрируем применение алгоритма в сфере открытых электронных транзакций на примере децентрализованной р2р-валюты Bitcoin [2]. Это решение позволяет участнику совершать полностью неот-слеживаемый платёж (что на данный момент невозможно в Bitcoin), открыто публикуя детали операций по переводу и получению средств.
Алгоритм одноразовой кольцевой подписи состоит из нескольких этапов:
— GEN — генерация ключей. Каждый участник готовит два закрытых ключа
0 < x,y < N и публикует два открытых ключа Px = xQx и Py = yQy электронной подписи ECDSA.
— RING-SIG — создание кольца подписей. Алиса готовит n — 1 «подделку» чужих подписей ECDSA (mi, Ai, ßi), применяя технику «2-parameter forgery» [3]:
Ai = UiQx + ViPxH; ßi = —H(Ai) ■ v—1 mod N; mi = щ ■ ßi mod N, и выбирает такое mis, чтобы все mi рекуррентно замкнулись в кольцо
Zi0 = H (m, mi0+n-i ф H(m, mi0+n—2 Ф H(m, ■ ■ ■ Ф H(m, mi0 Ф Zio ) ■■■ ))) (1)
для произвольно выбранного i0 E {1,... , n}.
После этого Алиса использует оба секретных ключа (х и y) для создания одной настоящей подписи (m¿s ,Ais ,fiia): (A¿s, fiis) = (yQx, (m¿s - H(A¿s )x)y-1 mod N). Теперь проверяющему достаточно проверить все n подписей ECDSA обычным образом, а также уравнение (1).
NIZK-SIG — кроме кольца подписей, Алиса конструирует неинтерактивное доказательство эквивалентности двух «логарифмов»: Ais = ysQx (набор из «половинок» подписей ECDSA) и Pys = ysQy (набор из вторых открытых ключей). Доказательство обладает свойством нулевого разглашения в том смысле, что индекс Алисы is остаётся в секрете.
Алиса генерирует случайные пары (qi, wi) из {1,... , N — 1}2 и вычисляет
L i qiQx, если i s, r J qiQy, если i S,
i qiQx + WiAi, если i = s; i [qiQy + WiPyi, если i = s.
После этого Алиса вычисляет хэш c = H(L1,... , Ln, R1,... , Rn, m) и конструирует подпись-доказательство
'wi, если i = s, (qi, если i = s,
n r ■ — <
c — ^ Ci mod N, если i = s; i |qs — csy mod N, если i = s.
Доказательством, являющимся частью подписи, служит набор пар (ci,ri).
— VER — проверка подписи включает в себя проверку следующих равенств:
Ai = (miP~1)Qx + (H(Ai)P~1)Px i,
Zi0 = H (m, mi0+n-1 0 H(m, mi0+,n-2 © H(m, ■ ■ ■ 0 H(m, mi0 0 Zi0) ■ ■ ■))) ,
n
^ c = H(L’1,..., L'n, R[,..., R'n, m) mod N, i=1
где Li riQx + ciAi; Ri riQy + ciPyi
Для того чтобы проверка доказательства была успешной, Алиса должна использовать свой второй закрытый ключ на этапе RING-SIG при создании своей подписи (mis, Ais, Pis). Поэтому повторное его применение приведет к появлению одинаковых значений Ais = ysQx в разных кольцевых подписях, что укажет на соответствующую пару открытых ключей и приведёт к идентификации Алисы.
Используя одноразовую кольцевую подпись, можно совершать полностью неотсле-живаемые платежи в системе электронных денег Bitcoin. Транзакции Bitcoin хранятся в публичной децентрализованной базе данных и явно содержат адреса отправителей и получателей. Совершая перевод в два этапа, можно достигнуть полной анонимности:
1) Перевод: отправитель Алиса совершает платёж на «системный кошелёк», регистрируя оба публичных ключа, полученных на этапе GEN, для подписи анонимного чека. Так же поступают и другие пользователи, поэтому в любой конкретный момент в текущей базе одновременно находится множество ключей.
2) Получение: Боб получает от Алисы чек (сообщение, подписанное на этапах RING-SIG и NIZK-SIG) и публикует его вместе с транзакцией по переводу денег с системного кошелька на свой счёт.
Все возможные отправители, которые могли подписать чек, равновероятны, поэтому платёж между Алисой и Бобой является неотслеживаемым.
ЛИТЕРАТУРА
1. RivestR., Shamir A., and Tauman Y. How to Leak a Secret // Proc. 7th Internat. Conf. on the Theory and Application of Cryptology and Information Security: Advances in Cryptology, 2001. P. 552-565.
2. Nakamoto S. Bitcoin: A Peer-to-Peer Electronic Cash System. http://bitcoin.org/bitcoin. pdf. 2009.
3. RivestR., Micali S., and Goldwasser S. A Digital Signature Scheme Secure against Adaptive Chosen-Message Attacks // SIAM J. Computing. 1988. V. 17. No. 2. P. 281-308.
4. Cramer R., Damgard I., and Schoenmakers B. Proofs of partial knowledge and simplified design of witness hiding protocols // LNCS. 1994. V. 839. P. 174-187.
УДК 519.7
ОПТИМАЛЬНЫЕ ЛИНЕЙНЫЕ ПРИБЛИЖЕНИЯ СЕТЕЙ ФЕЙСТЕЛЯ. ОЦЕНКА СТОЙКОСТИ ШИФРА SMS4 К ЛИНЕЙНОМУ КРИПТОАНАЛИЗУ
Г. И. Шушуев
Для применения линейного криптоанализа к итеративному блочному шифру требуется найти линейное приближение для конкретного числа раундов. Если известно лучшее приближение, то можно определить минимальную трудоёмкость линейного криптоанализа шифра, то есть оценить его криптографическую стойкость. Таким образом, задача оценки криптографической стойкости сводится к поиску линейных приближений и нахождению среди них лучшего. В связи с этим возникает ряд проблем, так как, помимо того, что нужно исследовать раундовую функцию, необходимо правильно согласовывать приближения раундов. Как правило, при проведении линейного криптоанализа выбирается некоторое найденное линейное приближение без доказательства того, что оно является лучшим.
Для поиска лучшего приближения можно перебирать всевозможные линейные соотношения, но на это может потребоваться больше времени, чем на составление словаря, поэтому необходимо придумывать другие способы. Предлагается подход к нахождению линейных приближений сети Фейстеля и поиску оптимального.
Определение 1. Раундовая функция — функция вида F : (Zm)n ^ Zm. Пусть F (Xi ,X2,..., Xn) = Y, где Y, Xi E Zm, i = 1, 2,... ,n.
Как правило, раундовая функция сети Фейстеля удовлетворяет некоторым ограничениям, например, является простой (применяется в SMS4) или псевдо-простой (DES, TEA). Функция F называется простой, если F(Xi,X2,..., Xn) = G(Xi ® X2 Ф... ФXn) для некоторой функции G : Zm ^ Zm. Функция F называется псевдопростой, если F(Xi,X2,... ,Xn) = G(Li(Xi) Ф L2(X2) Ф ... Ф Ln(Xn)) для некоторых функции G : Zm ^ Zm и набора функций Ll,..., Ln, где Li : Zm ^ Zm.
Определение 2. Линейным приближением функции F называется соотношение
bi ■ Xi Ф &2 ■ X2 Ф ... Ф bn ■ Xn = a ■ F (Xi,..., Xn), (1)
выполняющееся с вероятностью 1/2 + e, где |e| ^ 1/2, a, bi E Zm, i = 1, 2,... ,n.
Величину e назовём линейным преобладанием соотношения или просто преобладанием. Вектор bi назовём маской для вектора Xi. Определим функцию