Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[51]

На 0-й показан 8-битовый режим CFB, работающий с 64-битовым алгоритмом. Блочный алгоритм в режиме CFB работает с очередью, размер которой равен размеру используемого блока . Сначала очередь заполнена IV, как и в режиме CBC. Очередь шифруется и для крайних левых восьми битов результата выполняется XOR с первыми 8-битовым символом открытого текста для получения первого 8-битового символа шифротекста. Т е-перь этот символ передается. Те же восемь битов также передвигаются на место крайних правых восьми битов очереди, а крайними левыми битами становятся следующие восемь битов . Крайние восемь левых битов отбрасывается. Следующий символ открытого текста шифруется тем же способом . Дешифрирование является обратным процессом. И шифрующей, и дешифрирующей стороной блочный алгоритм используется в режиме шифр о-вания.

Если размер блока алгоритма - n, то -битовый CFB выглядит следующим образом (см. -1-й): Ci = Pi ®Ek(Cl.1) Pi = Ci ®Ek(Q.,)

Сдвиговый регистр

Шифрование

Самый левый байт

Сдвиговый регистр

Шифрование

Самый левый байт

(а) Шифрование

(б) Дешифрирование

Рис. 9-9. Режим 8-битовой обратной связи по шифру.

Pn-1PnPn+1

Рис. 9-10. n-битовый CBF с n-битовым алгоритмом.

Как и режим CBC, режим CFB связывает вместе символы открытого текста так, что шифротекст зависит от всего предшествующего открытого текста.

Вектор инициализации

Для инициализации процесса CFB в качестве входного блока алгоритма может использоваться вектор ин и-циализации IV. Как и в режиме CBC IV не нужно хранить в секрете.

Однако IV должен быть уникальным. (В отличие от режима CBC, где IV не обязан быть уникальным, хотя это и желательно.) Если IV в режиме CFB не уникален, криптоаналитик может раскрыть соответствующий о т-крытый текст. IV должен меняться для каждого сообщения. Это может быть последовательный номер, увеличивающийся для каждого нового сообщения и не повторяющийся в течение времени жизни ключа . Если данные шифруются с целью последующего хранения, IV может быть функцией индекса, используемого для поиска да н-ных.


Распространение ошибки

В режиме CFB ошибка в открытом тексте влияет на весь последующий шифротекст, но самоустраняется при дешифрировании. Гораздо интереснее ошибка в шифротексте. Первым эффектом сбоя бита шифротекста является сбой одного бита открытого текста. Затем ошибка попадает в сдвиговый регистр, и пока сбойный бит не выйдет из регистра, будет формироваться неправильный шифротекст. В 8-битовом режиме CFB из-за сбоя единственного бита портятся 9 байтов расшифрованного открытого текста. Потом система восстанавливается, и весь последующий шифротекст расшифровывается правильно. В общем случай в n-битовом режиме CFB одна ошибка шифротекста влияет на дешифрирование текущего и следующих m/n-l блоков, где m - размер блока.

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

CFB самовосстанавливается и после ошибок синхронизации . Ошибка попадает в сдвиговый регистр и, пока она находится там, портит 8 байтов данных . CFB представляет собой пример блочного шифра, который можно использовать как самосинхронизирующийся потоковый шифр (на уровне блоков ).

9.7 Синхронные потоковые шифры

В синхронном потоковом шифре поток ключей генерируется независимо от потока сообщения . Военные называют этот шифр ключевым автоключом (Key Auto-Key, KAK). При шифровании генератор потока ключей один за другим выдает биты потока ключей . При дешифрировании другой генератор потока ключей один за другим выдает идентичные биты потока ключей. Это работает, если оба генератора синхронизированы. Если один из них пропускает один из циклов, или если бит шифротекста теряется при передаче , то после ошибки каждый символ шифротекста будет расшифрован неправильно .

Если такое случается, отправитель и получатель должны повторно синхронизировать свои генераторы пот ока ключей прежде, чем можно будет продолжить работу. Что еще хуже, они должны выполнить синхронизацию так, чтобы ни одна часть потока ключей не была повторена, поэтому очевидное решение перевести генератор в более раннее состояние не работает.

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

Генератор должен выдавать один и тот же поток ключей и для шифрования, и для дешифрирования, след о-вательно, выход генератора должен быть предопределен . Если он реализуется на конечном автомате (т.е., ко м-пьютере), последовательность со временем повторится. Такие генераторы потока ключей называются периодическими. За исключением одноразовых блокнотов все генераторы потока ключей являются периодическими .

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

Конкретная длина периода зависит от приложения . Генератор потока ключей, шифрующий непрерывный канал T1, будет шифровать 2? бит в день. Период генератора должен быть на несколько порядков больше этого значения, даже если ключ меняется ежедневно . Если период имеет достаточную длину, ключ можно будет м е-нять раз в неделю или даже раз в месяц .

Синхронные потоковые шифры также предохраняют от любых вставок и удалений шифротекста , так как они приводят к потере синхронизации и будут немедленно обнаружены . Однако, они не защищают полностью от битовых сбоев. Как и при блоковых шифрах в режиме CFB, Мэллори может изменить отдельные биты потока. Если ему известен открытый текст, он может изменить эти биты так, чтобы эти биты дешифрировались так, как ему надо. Дальнейшие биты при дешифрировании превратятся в чепуху (пока система не восстановится) , но в определенных приложениях Мэллори может принести заметный ущерб .

Вскрытие вставкой

Синхронные потоковые шифры чувствительны к вскрытию вставкой [93]. Пусть Мэллори записал поток шифротекста, но не знает ни открытого текста, ни потока ключей, использованного для шифрования открытого


текста.

Оригинальный открытый текст: plp! p3 Pi Оригинальный поток ключей: kl k! kj ki Оригинальный шифротекст: cl c! c3 ci

Мэллори вставляет один известный ему бит, w, в открытый текст после pl и затем пытается получить модифицированный открытый текст, шифрованный тем же потоком ключей . Он записывает получившийся новый шифротекст:

Новый открытый текст: pl ppl pi pi Оригинальный поток: k. k! k-i ks k!, Обновленный шифротекст: cl cz c3 ci ci

Так как он знает значение p, он может определить весь открытый текст после этого бита по оригинальному и новому шифротекстам:

k! = cz sp, затемp! = c! s k! kj = c3 Spt, затем p3 = c3 S fc3 kt = c, S p3, затем p,, = cs S ks

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

9.8 Режим выходной обратной связи

Режим выходной обратной связи (Output-feedback, OFB) представляет собой метод использования блочного шифра в качестве синхронного потокового шифра. Этот режим похож на CFB за исключением того, что n битов предыдущего выходного блока сдвигаются в крайние правые позиции очереди (см. -2nd). Дешифрирование является обратным процессом. Такой режим называется n-битовым OFB. И при шифровании, и при дешифрировании блочный алгоритм работает в режиме шифрования. Это иногда называют внутренней обратной связью, потому что механизм обратной связи не зависит ни от потоков открытого текста, ни от потоков шифротекста [291]. Если размер блока алгоритма n, то n-битовый алгоритм OFB выглядит, как показано на :

C, = P, © S,! S, = *I, - I,) P, = C, © Sh Si = Ek*Si,

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

Рис. 9-11. 8-битовый режим

Вектор инициализации

В сдвиговый регистр OFB также сначала должен быть загружен IV. Он должен быть уникальным, но сохранять его в секрете не обязательно .

Распространение ошибки

В режиме OFB распространения ошибки не происходит. Неправильный бит шифротекста приводит к непр а-вильному биту открытого текста. Это может быть полезно при цифровой передаче аналоговых величин, напр и-мер оцифрованного звука или видеоизображения , когда случайный сбой бита допустим, но распространение ошибки нежелательно.

С другой стороны, потеря синхронизации смертельна. Если сдвиговые регистры при шифровании и при д е-шифрировании отличаются, то восстановленный открытый текст представляет собой бессмыслицу . Любая система, использующая режим OFB, должна включать механизм обнаружения потери синхронизации и механизм заполнения обоих сдвиговых регистров новым (или одинаковым ) IV для восстановления синхронизации .

Рис. 9-12. n-битовый OFB с n-битовым алгоритмом. OFB и проблемы безопасности

Анализ режима OFB [588, 430, 431, 789] показывает, что OFB стоит использовать только, когда размер обратной связи совпадает с размером блока. Например, 64-битовый алгоритм нужно использовать только в 64-битовом режиме OFB. Несмотря на то, что правительство США разрешает для DES и другие размеры обратных



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120] [стр.121] [стр.122] [стр.123] [стр.124] [стр.125] [стр.126] [стр.127] [стр.128] [стр.129] [стр.130] [стр.131] [стр.132] [стр.133] [стр.134] [стр.135] [стр.136] [стр.137] [стр.138] [стр.139] [стр.140] [стр.141] [стр.142] [стр.143] [стр.144] [стр.145] [стр.146] [стр.147] [стр.148] [стр.149] [стр.150] [стр.151] [стр.152] [стр.153] [стр.154] [стр.155] [стр.156] [стр.157] [стр.158] [стр.159] [стр.160] [стр.161] [стр.162] [стр.163] [стр.164] [стр.165] [стр.166] [стр.167] [стр.168] [стр.169] [стр.170] [стр.171] [стр.172] [стр.173] [стр.174] [стр.175] [стр.176] [стр.177] [стр.178] [стр.179] [стр.180] [стр.181] [стр.182] [стр.183] [стр.184] [стр.185] [стр.186] [стр.187] [стр.188] [стр.189] [стр.190] [стр.191] [стр.192] [стр.193] [стр.194] [стр.195] [стр.196] [стр.197] [стр.198] [стр.199] [стр.200] [стр.201] [стр.202] [стр.203]