VEST

VEST

VEST (англ. Very Efficient Substitution Transposition, очень эффективная перестановка) — это серия аппаратных поточных шифров общего назначения, которые обеспечивают однопроходное шифрование с аутентификацией и могут работать как хэш-функция, стойкая к коллизиям второго рода. Шифры VEST разработаны в Synaptic Laboratories. Все шифры этой серии поддерживают режим работы с ключами переменной длины.

Содержание

История

Шифры VEST были разработаны Шоном О’Нейлом (Sean O’Neil). Впервые были представлены на турнире eStream в 2005 году, прошли во второй отборочный тур, но не попали в третий и, соответственно, не прошли в финал.

Применение поточных шифров

Поточные шифры начали активно использовать в годы войны, ещё до появления электроники.

Преимущества поточных шифров:

  • Простота проектирования;
  • Простота аппаратной реализации;
  • Высокая скорость шифрования (важно при магистральном шифровании больших потоков информации);
  • Отсутствие эффекта размножения ошибок, который присутствует в блочных шифрах;
  • Обеспечивают высокую криптостойкость

Поточные шифры и их применение:

  • RC4 (системы защиты информации в компьютерных сетях, например в протоколах SSL и TSL);
  • A3 (процесс аутентификации в глобальном цифровом стандарте для мобильной сотовой связи GSM);
  • A5 (обеспечения конфиденциальности передаваемых данных между телефоном и базовой станцией в европейской системе мобильной цифровой связи GSM);
  • SEAL (криптографический алгоритм)(является одним из самых быстрых шифров)
  • Также поточные шифры используются в:

Одним из примеров поточных шифров является шифр VEST

Аппаратная реализация

Общая структура

VEST Structure.PNG

Схема шифрования состоит из четырёх основных компонентов: нелинейный счетчик, линейный счетчик-диффузор, биективный накапливающий регистр с большим числом состояний и линейный смеситель на выходе. Ядро шифров VEST можно представить как взаимно-однозначные регистры сдвига с нелинейной обратной связью (NLFSRs) с множеством параллельных обратных связей, работающие вместе с системой нелинейных модульных счетчиков (RNS) с очень длинным периодом. Модульный счетчик состоит из 16 регистров сдвига с нелинейной обратной связью с взаимно простыми длинами периодов. Счетчик-диффузор – это набор 6-битовых линейных смесителей с обратной связью, сжимающий выходные данные с 16 счетчиков в 10 бит. Ядро накапливающего регистра – регистр сдвига с нелинейной параллельной обратной связью, на вход которого подаются выходные 10 бит от счетчика-диффузора. Выходной смеситель – набор 6-битовых линейных смесителей.

Счетчик-диффузор

Биты, поступившие на вход счетчика-диффузора, смешиваются перед подачей их на вход накапливающего регистра по следующему правилу: d_0^{r+1}\ =\ d_1^{r} + c_1^{r} + c_4^{r} + c_5^{r} + c_{11}^{r} + c_{13}^{r} + 1
d_1^{r+1}\ =\ d_2^{r} + c_0^{r} + c_2^{r} + c_6^{r} + c_{8}^{r} + c_{14}^{r}
d_2^{r+1}\ =\ d_3^{r} + c_3^{r} + c_4^{r} + c_7^{r} + c_{10}^{r} + c_{15}^{r}
d_3^{r+1}\ =\ d_4^{r} + c_0^{r} + c_3^{r} + c_5^{r} + c_{9}^{r} + c_{12}^{r}
d_4^{r+1}\ =\ d_5^{r} + c_1^{r} + c_4^{r} + c_6^{r} + c_{12}^{r} + c_{15}^{r} + 1
d_5^{r+1}\ =\ d_6^{r} + c_0^{r} + c_7^{r} + c_9^{r} + c_{13}^{r} + c_{14}^{r}
d_6^{r+1}\ =\ d_7^{r} + c_1^{r} + c_8^{r} + c_{11}^{r} + c_{14}^{r} + c_{15}^{r}
d_7^{r+1}\ =\ d_8^{r} + c_2^{r} + c_5^{r} + c_6^{r} + c_{10}^{r} + c_{12}^{r} + 1
d_8^{r+1}\ =\ d_0^{r} + c_0^{r} + c_3^{r} + c_7^{r} + c_{8}^{r} + c_{9}^{r} + 1
d_9^{r+1}\ =\ d_9^{r} + c_8^{r} + c_{10}^{r} + c_{12}^{r} + c_{13}^{r} + c_{15}^{r} + 1

Накапливающий регистр

VEST-4 accumulator.png

Младшие пять бит x_0, x_1, x_2, x_3, x_4 преобразуются нелинейными функциями f_0, f_1, f_2, f_3, f_4, которые образуют блок подстановки. Значения этих функций линейно смешиваются с пятью выходными битами d_0, d_1, d_2, d_3, d_4 счетчика-диффузора и возвращаются обратно в состояние регистра в x_{p0}, x_{p1}, x_{p2}, x_{p3}, x_{p4} соответственно. Биты x_5, x_6, x_7, x_8, x_9 линейно смешивают со значениями следующих пяти функций с обратной связью f_5, f_6, f_7, f_8, f_9 и с пятью битами счетчика-диффузора d_5, d_6, d_7, d_8, d_9 и возвращаются в состояние регистра в x_{p5}, x_{p6}, x_{p7}, x_{p8}, x_{p9} соответственно. Биты от x_{10} до x_{M+9} линейно смешиваются с значениями функций f_{10},..., f_{M+9}, а в режиме шифрования с аутентификацией ещё и с битами шифротекста.

Работу ядра накапливающего регистра (в режиме без аутентификации) можно изобразить с следующем виде:

x_{pj[5]}^{r+1}\ =\ f_j(x_0^r,x_1^r, x_2^r, x_3^r, x_4^r) + d_j^r,   0 \le j < 5;

x_{pj[5]}^{r+1}\ =\ f_j(x_{pj[0]}^r,x_{pj[1]}^r, x_{pj[2]}^r, x_{pj[3]}^r, x_{pj[4]}^r) + x_j^r + d_j^r, 5 \le j < 10;

x_{pj[5]}^{r+1}\ =\ f_j(x_{pj[0]}^r,x_{pj[1]}^r, x_{pj[2]}^r, x_{pj[3]}^r, x_{pj[4]}^r) + x_j^r, 10 \le j < W;

Режимы работы

Загрузка ключа

Перед генерацией ключевого потока, шифрованием данных или хешированием шифр работает в режиме загрузки ключа, состоящий из R_0  = F + 16 раундов, где F — длина ключа в битах. Формируется последовательность битов, состоящая из 15 нулей, ключа, единичного бита и ещё 15 нулей. Эта последовательность загружается с регистры начиная с младшего бита по 16 бит до тех пор, пока единичный бит не окажется в первом регистре. Далее происходят следующие операции: c_i{}^{r+1}{}_0 \ =\ g_i(c_i{}^{r}{}_0,c_i{}^{r}{}_1,c_i{}^{r}{}_2,c_i{}^{r}{}_6,c_i{}^{r}{}_7)+c_i{}^{r}{}_{B[i]-1},

c_i{}^{r+1}{}_1 \ =\ 0,if r+i<15,

c_i{}^{r+1}{}_1 \ =\ c_i{}^r{}_0 + k_{r+i-15},if 15 \leq r+i<F+15,

c_i{}^{r+1}{}_1 \ =\ 1,if r+i \ =\ F+15,

c_i{}^{r+1}{}_1 \ =\ 0,if  F+15<r+i,

c_i{}^{r+1}{}_j \ =\ c_i{}^{r+1}{}_{j-1},2 \leq j<B_i,0 \leq i<16;

x_{pj[5]}^{r+1}\ =\ f_j(x_0^r,x_1^r, x_2^r, x_3^r, x_4^r) + d_j^r,   0 \le j < 5;

x_{pj[5]}^{r+1}\ =\ f_j(x_{pj[0]}^r,x_{pj[1]}^r, x_{pj[2]}^r, x_{pj[3]}^r, x_{pj[4]}^r) + x_j^r + d_j^r, 5 \le j < 10;

x_{pj[5]}^{r+1}\ =\ f_j(x_{pj[0]}^r,x_{pj[1]}^r, x_{pj[2]}^r, x_{pj[3]}^r, x_{pj[4]}^r) + x_j^r, 10 \le j < W;

0 \leq r < R_0.

Хэширование

Этот режим используется для хеширования данных и для загрузки вектора инициализации. Входные данные хешируются по 8 бит за раунд: c_i{}^{r+1}{}_0 \ =\ g_i(c_i{}^{r}{}_0,c_i{}^{r}{}_1,c_i{}^{r}{}_2,c_i{}^{r}{}_6,c_i{}^{r}{}_7)+c_i{}^{r}{}_{B[i]-1},

c_i{}^{r+1}{}_1 \ =\ c_i{}^r{}_0+k_{(r-R_a)*8+i},

c_i{}^{r+1}{}_j \ =\ c_i{}^{r}{}_{j-1},2 \leq j<B_i,0 \leq i<8;

c_i{}^{r+1}{}_0 \ =\ g_i(c_i{}^{r}{}_0,c_i{}^{r}{}_1,c_i{}^{r}{}_2,c_i{}^{r}{}_6,c_i{}^{r}{}_7)+c_i{}^{r}{}_{B[i]-1},

c_i{}^{r+1}{}_j \ =\ c_i{}^{r}{}_{j-1},2 \leq j<B_i,0 \leq i<16;

x_{pj[5]}^{r+1}\ =\ f_j(x_0^r,x_1^r, x_2^r, x_3^r, x_4^r) + d_j^r,   0 \le j < 5;

x_{pj[5]}^{r+1}\ =\ f_j(x_{pj[0]}^r,x_{pj[1]}^r, x_{pj[2]}^r, x_{pj[3]}^r, x_{pj[4]}^r) + x_j^r + d_j^r, 5 \le j < 10;

x_{pj[5]}^{r+1}\ =\ f_j(x_{pj[0]}^r,x_{pj[1]}^r, x_{pj[2]}^r, x_{pj[3]}^r, x_{pj[4]}^r) + x_j^r + e^{(r-R_i-1)*M+j-10}, 10 \le j < 10+M;

x_{pj[5]}^{r+1}\ =\ f_j(x_{pj[0]}^r,x_{pj[1]}^r, x_{pj[2]}^r, x_{pj[3]}^r, x_{pj[4]}^r) + x_j^r , 10+M \le j < W;

R_a \leq r < R_b.

Генерация ключевого потока

В этом режиме на вход не подаются никакие данные. А биты с выхода складываются с открытым текстом по модулю 2.

Шифрование с аутентификацией

В этом режиме биты зашифрованного сообщения попадают обратно в регистр.

Криптостойкость

На данный момент не известно ни одной атаки на шифры VEST, которая работала бы быстрее, чем атака полным перебором ключей или внутренних состояний регистра.

Тест на случайность

Каждая компонента шифров VEST была тщательно проверена лучшим из существующих тестов на случайность. Отдельные потоки выходных данных с накапливающего регистра, смешанные с выходными данными счетчиков, и выходные данные шифров VEST практически не отличаются от случайной последовательности. Из-за короткого периода отдельные счетчики не проходят тест на случайность, но линейная комбинация трех или четырёх таких счетчиков успешно проходят тест на случайность

Проверка алгебраической структуры на наличие дефектов

Проверки алгебраической структуры шифров VEST показывают, что при любом контролируемом изменении состояний накапливающего регистра появляющаяся взаимосвязь между входными и выходными битами не отличается от случайной последовательности уже после четырёх раундов.

Применение

Смарт-карты

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

Устройства идентификации

Шифр VEST-4 удовлетворяет необходимым требованиям радиочастотной идентификации:

  • шифрование с аутентификацией;
  • низкая стоимость;
  • массовый параллелизм;
  • высокая надежность;
  • низкие энергозатраты.

Беспроводные сети

Источники



Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "VEST" в других словарях:

  • VEST — High Level Structure of VEST General Designers Sean O Neil First published June 13, 2005 Cipher deta …   Wikipedia

  • vest — vb [Anglo French vestir, literally, to clothe, from Old French, from Latin vestire] vt 1 a: to place in the possession, discretion, or province of some person or authority all legislative powers herein granted shall be vest ed in a Congress of… …   Law dictionary

  • Vest — steht für: Vest (Gerichtsbezirk), mittelalterliche Verwaltungseinheit Vest (Kentucky), Town in den Vereinigten Staaten Personennamen: Charles Marstiller Vest (* 1941), US amerikanischer Ingenieur, Präsident des MIT George Graham Vest (1830–1904) …   Deutsch Wikipedia

  • vest — s.n. Unul dintre cele patru puncte cardinale, opus estului; p. ext. Loc pe orizont, regiune unde apune soarele; apus. ♦ Nume generic dat unui loc, unei regiuni, unui stat aşezat spre apus (în special nume dat statelor din apusul Europei şi din… …   Dicționar Român

  • Vest — Vest, v. t. [imp. & p. p. {Vested}; p. pr. & vb. n. {Vesting}.] [Cf. L. vestire, vestitum, OF. vestir, F. v[^e]tir. See {Vest}, n.] 1. To clothe with, or as with, a vestment, or garment; to dress; to robe; to cover, surround, or encompass closely …   The Collaborative International Dictionary of English

  • Vest — Vêst, adj. et adv. die veraltete Schreibart des Wortes fest, welche nur noch in der figürlichen Bedeutung für mannhaft, tapfer, in den Kanzelleyen üblich ist, so fern dieses Wort daselbst noch als Titel der Ritter und ritterlichen Personen… …   Grammatisch-kritisches Wörterbuch der Hochdeutschen Mundart

  • Vest — Vest, n. [L. vestis a garment, vesture; akin to Goth. wasti, and E. wear: cf. F. veste. See {Wear} to carry on the person, and cf. {Divest}, {Invest}, {Travesty}.] [1913 Webster] 1. An article of clothing covering the person; an outer garment; a… …   The Collaborative International Dictionary of English

  • vest — [vest] n. [Fr veste < It < L vestis, garment < IE base * wes , to clothe > OE werian, to WEAR1] 1. a) a short, tightfitting, sleeveless garment worn, esp. under a suit coat, by men b) a similar garment worn by women c) an insert or… …   English World dictionary

  • vest — n. sleeveless garment that is usually worn over a shirt and often under a suit jacket, waistcoat; sleeveless garment worn for protection (i.e. life vest, bulletproof vest); undershirt (British); dickey, vestee v. dress oneself or another (as with …   English contemporary dictionary

  • vest — In BrE, a vest is an undergarment for the top part of the body and also a garment worn by athletes. In AmE the first of these is called an undershirt, and vest is a term for what in BrE is a man s waistcoat and also for a short sleeveless jacket… …   Modern English usage


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»