Текст
                    1
*'
f*
,, - /
dt
к.
М
ш
I
г
I
«
*
1^
/
^лгл
' /f
t
.^"ЧП*
»
1^
41
-**
•■ .
S
\1ЛГ
ф
т
.«
* щ
ф
и
#
#
#
'4"^
^
1ш^
стовцев
э
аховенко
#.
#
^
#
•t
и
#
f»
W
tf
#
«
«f
/•
#f
9
■Л
I
«
Ъ A
ff
4
%
%
НПО «ПРОФЕССИОНАЛ», Санкт
рбург
I -
^
4
#
/к
^
■%у


-H j3 СОДЕРЖАНИЕ ■г. -J - Jl^ ВВЕДЕНИЕ ГЛАВА 1. МНОЖЕСТВА, АЛГОРИТМЫ 9 СЛУЧАЙНЫЕ ОТОБРАЖЕНИЯ 1.1. 1.2. Сведения из теории множеств 6 Сведения из теории алгоритмов 8 1.2Л. 1.2.2. Алгоритм и исчисление 8 1.3. Сложность алгоритма 10 Нестандартные вычислительные модели... 12 1.3.1. 1.3.2. 1.4. Молекулярный компьютер 13 Квантовый компьютер 14 Случайные последовательности и случайные отображения 16 1.4.1. 1.4.2. Понятие случайности 16 Свойства случайного отофажения... 17 Упражнения к главе 1 20 Литература к главе 1 20 ГЛАВА 2. ГРУППЫ 22 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. Понятие группы 22 Подфуппы 23 Гомоморфизмы и изоморфизмы 26 2.7. 2.8. Действие фуппы на множестве 28 Группа подстановок 28 Вложимость коммутативной полугруппы в фуппу 31 Прямые произведения фупп 31 Категории 32 Угфажнения к главе 2 33 Литература к главе 2 33 ГЛАВА 3. КОММУТАТИВНЫЕ КОЛЬЦА 34 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 3.9. 3.10. 3.11. 3.12. 3.13. 3.14 3.15 Понятие кольца 34 Гомоморфизмы колец 36 Частные 36 Предварительные сведения о полиномах... 37 Идеалы и классы вычетов 38 Делимость идеалов 41 Евклидовы кольца и кольца главных идеалов 42 Разложение на множители 43 Кольцо эндоморфизмов модуля. Модули над кольцами 45 Свойства полиномов , 46 Производная и кратные корни 46 Симметрические функции 47 Разложение на множители полиномов от нескольких переменных 48 Полукольца и решетки 50 Кольцо полиномов Жегалкина 51 3.15.1. Полиномы Жегалкина 51 3.15.2. Разложение на множители в кольце G„ 53 3.15.3. Симметрические функции кольца G„ 54 3.15.4. Кольцо дифференциальных операторов кольца G„ 54 3.15.5. Эндоморфизмы кольца G„ 55 Упражнения к главе 3 56 Литература к главе 3 57 ГЛАВА 4. ПОЛЯ 58 4.1. 4.2. 4.3. Общие сведения о полях. Простые поля 58 Расширения полей 59 4.2.1. Простые расширения 60 4.2.2. Конечные расширения 62 4.2.3. Целые элементы поля 64 Конечные поля 65 4.3.1. Строение конечных полей 65 4.4. 4.5. 4.6. 4.7. 4.8. 4.3.2. Автоморфизмы конечных полей 67 4.3.3. Норма и след в конечных полях 69 Элементы теории Галуа 70 Поля деления круга 72 Дискретное преобразование Фурье 73 Нормирования 74 Пополнения поля Q ир-адические числа ...75 Упражнения к главе 4 77 Литература к главе 4 78 ГЛАВА 5. СВЕДЕНИЯ ИЗ ТЕОРИИ ЧИСЕЛ....79 5.1. 5.2. 5.3. 5.4. Однозначное разложение на множители в кольце Z 79 Некоторые числовые функции 79 Кольцо Ж/пЖ 81 Квадратичные и кубические вычеты. 5.5. 5.6. Квадратичный закон взаимности 83 Суммы Гаусса и Якоби 87 Квадратичные числа и квадратичные формы 89 5.7. 5.6.1. Кольцо целых квадратичных чисел 89 Идеалы квадратичных порядков 91 5-6.3- Квадратичные формы 93 т^лгебраические числа 95 5.6.2. Упражнения к главе 5 -98 Литература к главе 5 98 ГЛАВА 6. ЭЛЕМЕНТЫ АЛГЕБРАИЧЕСКОЙ ГЕОМЕТРИИ. ЭЛЛИПТИЧЕСКИЕ КРИВЫЕ ...99 6.1. 6.2. Аффинные алгебраические многообразия ...99 Проективная плоскость и проективное пространство 100
475 6.3. Сложение точек на конике 102 6.4. Кубические кривые. Закон сложения 102 6.5. Особые и неособые кубики 105 6.6. Касательные и точки перегиба алгебраической кривой 106 6.7. Нормальные формы эллиптической кривой 107 6.8. Группа неособых точек кубики 108 6.9. Невозможность рациональной параметризации эллиптической кривой 109 6.10. Параметризация эллиптической кривой с помощью эллиптических функций 110 6.10.1. Эллиптические функции ПО 6.10.2. Функция Вейерштрасса 112 6.10.3. Параметризация эллиптической кривой над полем С 113 6.11. Дискриминант иу-инвариант 115 6.12. Закон сложения точек эллиптической кривой 115 6.13. Эллиптические кривые над числовыми полями 117 6.14. Изоморфизмы и эндоморфизмы эллиптических кривых 119 6.14.L Изоморфизмы над полями характеристики, отличной от 2 и 3 „ 119 6Л4.2. Изоморфизмы над полями характеристики 3 120 6.14.3. Изоморфизмы надполями характеристики 2 121 6.14.4. Бирациональный изоморфизм кривых 121 6.14.5. Эндоморфизмы эллиптических кривых 123 6.14.6. Изоморфизмы эллиптических кривых над алгебраически незамкнутым полем 124 6.15. Отображения алгебраических кривых 128 6.15.1, Регулярные функции и отображения 128 6.15.2, Рациональные функции и рациональные отображения 130 6.15.3, Проективные кривые 131 6.15.4, Изогении эллиптических кривых 132 6.15.5, Полиномы Жегалкина как функции на поверхности единичного куба 133 6.16. Дивизоры на алгебраических кривых 134 6.16Л, Локальное кольцо точки и нормирование 134 6Л6.2, Дивизоры 135 6Л6.3. Спаривание Вейля 137 6.17. Эллиптические кривые над конечными полями 139 6Л8. Гиперэллиптические кривые 141 6.18Л. Функции на кривых 6.18.2. Якобиан Упражнения к главе 6 148 Литература к главе 6 149 ГЛАВА 7. ВЫЧИСЛИТЕЛЬНЫЕ АЛГОРИТМЫ АЛГЕБРЫ И ТЕОРИИ ЧИСЕЛ 151 7Л. Алгоритмы умножения 151 7.LL Алгоритм умножения Карацубы-Офмана 151 7Л.2. Умножение в классах вычетов 151 7Л.З. Умножение с помошью быстрого преобразования Фурье 153 7.1.4. Модульное умножение. Метод Монтгомери 155 7Л.5. Деление 157 7.2. Алгоритмы обращения и вычисления наибольшего общего делителя 158 7.3. Минимизация базиса решетки 160 7.4. Разложение над конечным полем полиномов от одной переменной 161 7.5. Извлечение квадратных и кубических корней в конечном поле 161 7.5.1. Извлечение квадратного корня в случае д = Ъ (mod 4) 162 7.5.2. Извлечение квадратного корня в случае q-^5 (mod 8), ^ 9 (mod 16) 162 7.5.3. Извлечение квадратного корня в общем случае для нечетного q 163 7.5.4. Извлечение квадратного корня в случае четного q 163 7.5.5. Решение квадратного уравнения 163 7.5.6. Извлечение кубического корня в конечном поле 164 7.6. Вычисление символа Якоби 165 7.7. Проверка чисел и полиномов на простоту 165 7.8. Разложение чисел в мнимом квадратичном порядке Z[V- D] 166 7.9. Приведение числа по модулю решетки 169 7.10. Умножение точки эллиптической кривой на число 171 7.11. Вычисление функции Вейля 172 7.12. Сложение элементов якобиана гиперэллиптической кривой 173 7ЛЗ. Арифметика группы классов мнимых квадратичных порядков 174 Упражнения к главе 7 175 Литература к главе 7 176 ГЛАВА 8. КРИПТОГРАФИЯ И ЗАЩИТА ИНФОРМАЦИИ 177 8.1. Основные понятия защиты информации.... 178 8.2. Исчисление атак 181 8.2.1. Упорядоченность моделей нарушителя и безопасных систем ... 181 8.2.2. Множества возможностей нарушителя 182 8.2.3. Тривиальная модель нарушителя.... 184 8.2.4. Нетривиальная модель нарушителя 186 8.2.5. Место 1фиптографии в защите информации 188
476 8.3. Основные понятия и определения криптографической защиты данных 189 8.3.1, Криптографические примитивы 189 8.3.2, Хэш-функция 190 8.3-3. Шифр 191 8.3.4. Понятие стойкости криптографических алгоритмов 191 8.4. Шифрование 192 8.4.1. Симметричное и несимметричное шифрование 193 8.4.2. Способы шифрования 194 8.5. Аутентификация 195 8.5.1. Опознавание 197 8.5.2. Контроль целостности и подлинности данных 198 8.6. Управление ключами 198 8.7. Задачи, положенные в основу безопасности криптофафических алгоритмов 199 Упражнения к главе 8 201 Литература к главе 8 202 ГЛАВА 9. СИСТЕМА RSA И ЗАДАЧА РАЗЛОЖЕНИЯ 203 9.1. Безопасность системы RSA и задача разложения на множители 203 9.2. Детерминированные методы разложения.. 204 9.2.1. Метод пробного деления 204 9.2.2. Метод «giant step — baby step» 205 9.2.3. Метод Ферма 205 9.2.4. Метод диофантовой аппроксимации 206 9.3. Вероятностные методы разложения 207 9.3 Л. р-метод Полларда (метод «Монте-Карло») 207 9.3.2. Метод непрерывных дробей 207 9.3.3. Метод квадратичного решета 209 9.3.4. (/7- 1)-метод 210 9.3.5. Разложение на эллиптической кривой 210 9.3.6. Разложение на квантовом компьютере 212 9.4. Атаки на систему RSA, не треб^тощие разложения 213 9.4.1. Случай малого секретного показателя 213 9.4.2. Случаи специальных открытых показателей 214 9.4.3. Атаки на основе эндоморфизмов.... 215 Упражнения к главе 9 216 Литература к главе 9 217 ГЛАВА 10. ДИСКРЕТНОЕ ЛОГАРИФМИРОВАНИЕ В КОНЕЧНОМ ПОЛЕ И СМЕЖНЫЕ ЗАДАЧИ 218 10.1. Метод базы разложения 218 10.2. Логарифмирование в простом поле методом решета числового поля 222 10.2.1. Подготовительные теоретико-числовые результаты 222 10,2,2, Метод решета числового поля 223 10.3. Логарифмирование врасширенном поле 227 10.4. Группа классов мнимого квадратичного порядка 228 10.5. Логарифмирование в группе функций Лукаша 229 10.6. Связь между задачами Диффи-Хеллмана и дискретного логарифмирования 229 Упражнения к главе 10 230 Литература к главе 10 231 ГЛАВА 11. ЗАДАЧА ДИСКРЕТНОГО ЛОГАРИФМИРОВАНИЯ ^ НА ЭЛЛИПТИЧЕСКОЙ КРИВОЙ 233 11.1. Универсальные методы логарифмирования 233 11.1.1. Метод Гельфонда 233 11.1.2. Методы встречи посередине и «giant step — baby step» 234 11.1.3. Метод Полларда 235 11.1.4. Метод встречи на случайном дереве 235 11.1.5. Сравнение сложности логарифмирования на эллиптической кривой и в конечном поле 238 11.1.6. Логарифмирование с помощью квантового компьютера 239 П.2. Влияние комплексного умножения на сложность логарифмирования 240 11.3. Логарифмирование с использованием функции Вейля 241 11.4. Другие задачи, связанные с логарифмированием 243 11.5. Время жизни параметров криптосистемы, основанной на дискретном логарифмировании 246 11.5.1. Мультипликативная группа ноля....247 11.5.2. Группа точек эллиптической кривой 247 11.6. Логарифмирование в якобиане гиперэллиптической кривой 248 11.7. Требования к эллиптической кривой 249 Упражнения к главе 11 250 Литература к главе 11 251 ГЛАВА 12. ШИФРОВАНИЕ С ОТКРЫТЫМ КЛЮЧОМ 252 12.1. Шифрование с открытым ключом для группы вычислимого порядка 252 12.1.1. Бесключевое шифрование Месси-Омуры 253 12.1.2. Протокол Эль-Гамаля шифрования с открытым ключом 254 12.2. Шифрование с открытым ключом для фуппы трудновычислимого порядка...255 12.2.1. Протокол шифрования Рабина 256 12.2.2. Вероятностное шифрование 256 12.3. Ранцевые алгоритмы шифрования с открытым ключом 258
477 12.4. Генераторы псевдослучайной последовательности 260 Упражнения к главе 12 261 Литература к главе 12 262 ГЛАВА 13. ЦИФРОВАЯ ПОДПИСЬ 263 13.1. Поддись на группе трудновычислимо го порядка 263 13.1.1. Схема подписи RSA 264 13.1.2. Схема подписи Рабина 264 13.1.3. Схема подписи Фиата-Шамира 265 13.2. Подпись на группе вычислимого порядка 265 13.2.1. Схема подписи Эль-Гамаля 265 13.2.2. Схема подписи Шнорра 267 13.2.3. ГОСТ Р 34.10-94 и DSS 268 13.3. Сравнительный анализ представленных схем подписи 269 13.4. Скрытый канал 270 13.5. Другие схемы подписи 271 13.5.1. Схема «неоспоримой» подписи 271 13.5.2. Схема подписи «вслепую». Электронные платежи 273 13.5.3. Схема подписи с восстановлением сообщения 274 13.5.4. Инкрементальная подпись 274 Упражнения к главе 13 275 Литература к главе 13 276 ГЛАВА 14. ДРУГИЕ КРИПТОГРАФИЧЕСКИЕ ПРОТОКОЛЫ 278 14.1. Схемы предъявления битов 278 14.2. Диалоговые доказательства с нулевым разглашением 279 14.2.1. Доказательство знания изоморфизма графов 279 14.2.2. Доказательство знания разложения составного числа 280 14.2.3. Доказательство знания дискретного логарифма 281 14.2.4. Доказательство правильности выбора составного числа 281 14.3. Бездиалоговые доказательства с нулевым разглашением 283 14.4. Передача информации со стиранием 285 14.5. Разделение секрета 287 14.6. Протоколы управления ключами 288 14.6.1. Установление ключа на основе сршметричных методов 289 14.6.2. Доставка ключа 290 14.7. Временная метка 291 14.7.1. Централизованная реализация временной метки 291 14.7.2. Децентрализованная реализация временной метки 292 Упражнения к главе 14 293 Литература к главе 14 293 ГЛАВА 15. КРИПТОСИСТЕМЫ НА ЭЛЛИПТИЧЕСКИХ И ГИПЕРЭЛЛИПТИЧЕСКИХ КРИВЫХ 294 15.1. Расчет числа точек эллиптической кривой в общем случае 294 15.1.1. Предварительные сведения 295 15.1.2. Полиномы деления 296 15.1.3. Алгоритм Чуфа 297 15.2. Расчет числа точек эллиптической кривой над расширенным полем 299 15.3. Расчет числа точек эллиптических кривых С7 = 0, 1728 над простыми полями 301 15.3.1. Кривая/= х^ +В 301 15.3.2. Кривая / - х^ + Лх 303 15.4. Эллиптические кривые с комплексным умножением 305 15.4.1. Генерация эллиптических кривых с комплексным умножением 306 15.4.2. Влияние комплексного умножения на скорость вычислений 308 15.5. Эллиптические кривые над расширенными полями специальных характеристик 311 15.6. Протоколы на эллиптических кривых 314 15.6.1. Встраивание открытого текста в координату точки 314 15.6.2. Аналог криптосистемы RSA 315 15.6.3. Установление сеансового ключа 316 15.6.4. Шифрование 317 15.6.5. Цифровая подпись 318 15.6.6. Опознавание, канал со стиранием и доказательства с нулевым разглашением 321 15.6.7. Вычислимая в одну сторону функция, свободная от коллизий 324 15.6.8. Генераторы псевдослучайной последовательности 325 15.6.9. Протоколы для электронных платежей 326 15.7. Криптосистемы на гиперэллиптических кривых 329 15.8. Криптосистемы на изогениях эллиптических кривых 331 15.8.1. Задача вычисления изогении и квантовый компьютер 331 15.8.2. Криптографические протоколы на изогенных кривых 332 Упражнения к главе 15 334 Литература к главе 15 335 ГЛАВА 16. ОБЩИЕ СВЕДЕНИЯ ОБ ИТЕРИРОВАННЫХ КРИПТОАЛГОРИТМАХ 336 16.1. Основные понятия классической криптографии 336 16.2. Некоторые положения теории секретности Шеннона 336 16.2.1. Объем текстов, однозначно огфеделяющих ключ 339 16.2.2. Теория аутентификации Симмонса.... 340 16.3. Булевы функции и булевы формулы 340
478 16.4. Аффинно эквивалентные булевы функции и подстановки 342 16.5. Задача вскрытия ключа и математические задачи 344 16.5.1. Задача вскрытия ключа и NP-полные задачи 345 16.5.2. Задача о выполнимости 345 16.6. Требования к шифрам 347 16.7. Шифры замены и перестановки 350 16.7.1. Моноалфавитная замена 350 16.7.2. Полиалфавитная замена 351 16.8. Операторы, используемые при построении блочных шифров 353 16.9. Описание итерированных шифров в терминах булевых функщтй 356 Упражнения к главе 16 357 Литература к главе 16 358 ГЛАВА 17. АЛГЕБРАИЧЕСКИЕ МЕТОДЫ КРИПТОАНАЛИЗА 359 17.1. Метод обобщения и редукции. Метод гомоморфизмов 359 17.2. Замкнутые и чистые шифры 360 17.2.1. Вскрытие ключей замкнутых и чистых шифров 360 17.2.2. Проверка шифра на замкнутость и чистоту 361 17.3. Решеточный криптоанализ 362 17.3.1. Решеточно продолженные булевы функции и решеточные полиномы .. 362 17.3.2. Метод криптоанализа 365 17.4. Метод арифметического продолжения булевых футякций 369 17.5. Анализ шифров с малым порядком нелинейности 375 17.6. Криптоанализ на основе рационального продолжения полиномов Жегалкина 377 17.6.1. Теоретические основы 377 17.6.2. Метод криптоанализа 379 17.7. Криптоанализ на основе 2-адического продолжения полиномов Жегалкина 383 17.7.1. Теоретические основы 383 17.7.2. Метод криптоанализа 384 17.8. Максимизация числа совпавших разрядов промежуточных текстов 385 17.9. Анализ с использованием сжимаюш[их гомоморфизмов 386 17.10. Поиск коллизий хэш-функции 388 17.11. Компромисс время/память 389 17.12. Сочетание перебора и вычисления ключа... 390 17.13. Отбраковка классов ключей 391 17.14. Задачи, к которым сводится задача вскрытия ключа 392 17.15. Вскрытие ключа на квантовом компьютере 393 Угфажнения к главе 17 394 Литература к главе 17 395 ГЛАВА 18. СТАТИСТИЧЕСКИЕ МЕТОДЫ КРИПТОАНАЛИЗА 396 18.1. Некоторые определения 396 18.2. Дифференциальный криптоанализ 397 18.2.1. Конечные разности 397 18.2.2. Метод криптоанализа 398 18.2.3. Анализ с помощью усеченных диффере нимало в 405 18.2.4. Анализ с помощью дифференциалов высших порядков 406 18.2.5. Атака «бумеранг» 406 18.3. Криптоанализ на основе списка ключей и связанных ключей 407 18.4. Линейный криптоанализ 408 18.5. Анализ степенных шифров методом сдвига 416 18.6. Генерация экстремальных подстановок для шифров 418 18.6.1. Экстремальные подстановки 418 18.6.2. Булевы функции для экстремальных подстановок 419 18.6.3. Примеры экстремальных подстановок 420 Упражнения к главе 18 422 Литература к главе 18 423 ГЛАВА 19- ПРИМЕНЕНИЕ ИТЕРИРОВАННЫХ ШИФРОВ И ХЭШ-ФУНКЦИЙ 425 19.1. Режимы шифрования 425 19.1.1. Режим простой замены 425 19.1.2. Режим гаммирования 425 19.1.3. Режим гаммирования с обратной связью 426 19.1.4. Режим сцепления блоков. Выработка имитовставки 426 19.2. Некоторые вопросы применения шифров 427 19.3. DES 429 19.4. FEAL 431 19.5. IDEA 432 19.6. ГОСТ 28147-89 433 19.6.1. Стойкость шифра ГОСТ 28147-89 ....435 19.6.2. Стойкость шифра ГОСТ 28147-89 при наличии у нарушителя лабораторных возможностей 435 19.7. RC5 436 19.8. Blowfish 438 19.9. SAFER 439 19.10. RIJ14DAEL(AES) 440 19.11. MD5 441 19.12. ГОСТ Р 34.11-94 442 Упражнения к главе 19 444 Литература к главе 19 445 ОТВЕТЫ И УКАЗАНИЯ К УПРАЖНЕНИЯМ 447 ПРИЛОЖЕНИЕ. ЭЛЛИПТИЧЕСКИЕ КРИВЫЕ Д]ЮСГАНДАРТА ПОДПИСИ ГОСТ Р341(>-2001 ...452 УКАЗАТЕЛЬ 464
,*? ■^r,^^- ВВЕДЕНИЕ последние годы в России и за рубежом поя- называют криптофафией дилетантьг). Криптогра криптографии, фические алгоритмы — нематериальные объекты БИЛОСЬ множество издании по Большинство книг носит прикладной характер и слабо связанные с окружающим физическим ми ориентировано на применение готовых крипто- ром, а методы их анализа и вовсе относятся к «ми графических алгоритмов. Вопросам безопасности ру идей». Поэтому в криптоанализе часто исполь- криптографических алгоритмов и теоретическим зуются разделы математики, не имеющие прямого основам криптографии в этих книгах уделяется отношения к описанию физической реальности и недостаточное внимание. В настоящем издании относящиеся к области алгебры, теории чисел и алгебраической геометрии. Поскольку в россий- Как и другим наукам из области информаци- ских технических вузах этим дисциплинам тради- онного противоборства, криптографии присущи ционно уделяется явно недостаточное внимание. предпринята попытка восполнить этот пробел. два направления: защита и нападение. Первое на- главы содержат необходимые результаты из правление представлено собственно криптогра- этих областей математики (множества и алгорит- фией, второе — криптоанализом. За рубежом эти мъг, группы, кольца, поля, алгебраические числа, направления объединяют термином «криптоло- эллиптические кривые). В главе 7 рассматриваются гия». Авторы придерживаются мнения, что разде- вычислительные методы алгебры и теории чисел, ление криптографии на две различных дисципли- которые могуг быть использованы при разработке ны неправильно. Это разделение служит «обосно- и анализе криптографических алгоритмов. •Т4 нием» появления множества слабых криптогра фических алгоритмов— ведь анализом их безо Быстрое развитие криптографии приводит к расширению ее предметной области и росту числа методов исследования. Принято различать пасности занимается другая наука. Такая позиция разработчиков криптоалгоритмов представляется криптографию с открытым ключом (несиммет- безответственной. Представьте себе инженера- ричную) и криптографию с секретным ключом строителя. который заявляет: «Я спроектировал (симметричную). По-видимому, такое разделе мост, но простоит ли он десять лет, я не знаю, так ние обусловлено не тем, является ключ откры как не умею рассчитывать прочность мостов». тым или секретным. а типом математической Интеграция России в международное сообще- задачи. положенной в основу безопасности соот ство ведет к росту популярности зарубежных ветствующих криптоалгоритмов, и, следователь криптографических алгоритмов. Если разработ- но, методами решения этой задачи, чик информационной системы не хочет пола- Дня криптографии с открытым ключом харак- гаться на мнение экспертов, он должен составить терны «нерукотворные» задачи, сформулированные для хорошо исследованных алгебраических crpj^ic- собственное мнение о безопасности тех или иных криптосистем. Для этого он должен отве- тур (групп, колец, категорий). Вряд ли кто-либо тить себе на вопросы: каков уровень стойкости сможет утверждать, что задача разложения нату- данной криптосистемы и каким он ожидается в рального числа на множители создана (не сформу- будущем; чем именно обеспечивается стойкость лирована, а именно создана) человеком, поскольку и чем обусловлена уязвимость криптосистемы по натуральные числа «существуют» независимо от отношению к данному методу анализа, и каким человека. То же можно сказать и о задаче дискрет- образом криптосистему можно усилить. Данная ного логарифмирования в циклической группе. Ме- книга ориентирована именно на такого читателя. тоды анализа таких задач используют алгебраиче Криптофафия — это в основном анализ крип- скую теорию соответствующих структур. тографических алгоритмов (а отнюдь не их про Главы 9-15 посвящены вопросам криптогра граммно-аппаратная реализация, которую часто фии с открытым ключом. Безопасность соответствующих криптографических алгоритмов основана 1 тт /г на сложности решения массовых математических задач, число которых быстро растет. Систематизация этих задач по степени их общности, начиная с унифицированных задач (определение структу- Некоторым оправданием для разработчиков является то, что методы криптоанализа часто не публикуются, так как по сути являются информационным оружием.
ры и порядка конечной группы, вычисление дис Поэтому ^ изучение конкретных компьютер ных систем или используемых в них шифров не кретного лог^эифма в циклической группе вычислимого порядка, вычисление категорного избежно носит оттенок «сиюминутности». Пей морфизма) позволяет упорядочить методы их решения. Поэтому сначала подробно рассматриваются методы решения этих задач (универсальные, применимые к любым математическим структу- , и специальные, применимые к конкретным ствительно глубокие фундаментальные знания в области криптографии дает изучение методов криптоанализа. Вряд ли возможно в одной книге разобрать все известные варианты атак на криптоалгоритмы. Задача осложняется тем, что атаки постоян- рам, алгебраическим структурам), в том числе на кван товом компьютере, а затем — собственно крипто графические алгоритмы и протоколы, построен ные на указанных задачах. Рассматриваются спо собы противодействия квантовому компьютеру. Большое внимание уделено вопросам проекти рования криптосистем на эллиптических кривых: перечень методов, рассмотренных в книге, ко- выбору кривой, разработке быстрых вычислитель- нечно, не полон, и заинтересованный читатель может испытать себя в разработке новых мето- — решение увлекательных головоломок). Для уяснения механизмов крип- но совершенствуются, а оценки стойкости шифров снижаются. Кроме того, авторы далеки от мысли, что в открытой печати публикуются все разработанные методы криптоанализа. Поэтому стой ных алгоритмов, анализу и прогнозированию кости, построению криптографических протоколов. дов (взлом шифров Методы решения математических задач и проектирования криптосистем поясняются мно гочисленными примерами, позволяющими луч тоанализа большинство указанных методов со ше уяснить теоретический материал. главах 16-19 рассматриваются вопросы анализа и проектирования итерированных шифров. провождается примерами. Данная книга обобщает криптографическую серию издательства «Мир и Семья» (Ростов Симметричные шифры и хэш-функции имеют цев А.Г. Алгебраические основы криптографии. ву безопасности, каждый конкретных уторов, а задача, положенная в осно- раз уникальна. Про алгебраические свойства таких криптоалгоритмов обычно ничего определенного сказать нельзя, по СПб 5 2000; Ростовцев А.Г.. Маховенко Е.Б. Вве дение в криптографию с открытым ключом. СПб., 2001; Ростовцев А.Г., Маховенко Е.Б. Вве дение в теорию итерированных шифров. СПб. 5 этому их анализ часто представляет собой «набор 2003). Это издание включает в себя материалы трюков» и относится скорее к области искусства, курсов лекций, читаемых авторами в Санкт- чем науки. Это обстоятельство открывает возмож- Петербургском государственном политехниче- ности для изобретения новых методов и приемов ском университете на кафедре «Информацион- криптоанализа По-видимому, некоторые симметричные шифры можно считать стойкими лишь постольку, поскольку не найдены способы их взлома. ная безопасность компьютерных систем» по Обычно симметричные шифры и хэш функции строятся на основе циклической композиции отображений, описываемых несложными наборами булевых функций. Такие криптоалгоритмы будем называть итерированными. Сюда относятся шифры и хэш-функции DES, FEAL IDEA, ГОСТ 28147-89, дисциплинам «Теоретико-числовые методы в криптографии», «Основы алгебры и теории чисел», «Элементы алгебраической геометрии» «Криптографические методы защиты информа ции», «Теория итерированных шифров». 5 14 Книга содержит 19 глав. Главы 16. ? 10 12 5 18 написаны А-Г, Ростовцевым, главы 3 Blowfish 5 RIJNDAEL 5 ГОСТ Р 34.11-94 MD5 и т. п. 9, 13, 15, 17^ 19 написаны совместно А.Г товцевым и Е.Б. Маховенко. Рос Итерированные криптоалгоритмы, исполь зуюш;иеся в компьютерных системах, а также методы их анализа можно охарактеризовать сро- конце глав приведены упражнения, позво ляюш;ие закрепить теоретические сведения. Не которые упражнения предполагают использова ком их жизни; ние стандартных математических пакетов Методы криптоанализа Криптоалгоритмы Компьютерные системы (Maple, Mathematica). Упражнения, помеченные символом * , носят исследовательский характер Для более глубокого изучения материала заинте Число Единицы Время жизни десятки Практически не ограни чено Десятки сотни Сотни тысячи Десятки Несколько лет лет ресованный читатель может обратиться к источникам, указанным в списке литературы. приложении приведены п^эаметры криптосистем на эллиптических кривых для реализации электронной цифровой подписи по стандарту ГОСТ Р 34.10-2001.
ОБОЗНАЧЕНИЯ (а) ментом а: циклическая группа, образованная эле (а) тома ? к, к К[х1 главный идеал, образованный элемен- полем К,, поле и его алгебраическое замыкание; №ь. ? X п кольца полиномов над аффинное координатное кольцо ал состояние квантового бита, квантового гебраической кривой С над полем К., регистра; а поле рациональных функций алгеб К{С) присвоение переменной а значения fe; раической кривой С над полем К\ ? 5S, £, ... — идеалы ? а, Ь,с А\В 7 .. —векторы; разность множеств А и В; А@В—прямая сумма колец или модулей А и В; а® b — сумма по модулю 2; а делит b (b делится на а); — изоморфизм алгебраических струк- а 1 2 тур (групп, полугрупп, колец, полей и т. п.); 2 (К) аффинная плоскость над полем К; символ Лежандра (>1коби); а л J биномиальный коэффициент; аН левый смежный класс по подгруппе Н; множество (поле) комплексных чисел; char(j^ С1(0;, характеристика поля К; группа классов идеалов квадратич ного порядка 0^; Div(C) группа дивизоров на алгебраиче ской кривой С; divOO дивизор функции/на алгебраической кривой; Е/К — эллиптическая кривая, заданная урав пением с коэффициентами из поля К; — эллиптическая кривая, рассматривае Е(Ю- мая над полем К; End(M) — кольцо эндоморфизмов модуля М; Fp, F, конечные поля из или из и элементов, где р простое число; g(X, v|/) — сумма Гаусса для мультипликатив ного хшэактера у и аддитивного характера ш; Gal(Z/K) группа Галуа расширения L/K; п 2 [л:ь ? ^:J/ta(l ©XiX ---^х п @х П КОЛЬЦО полиномов Жегалкина; G/H факторгруппа группы G по нормаль ной подгруппе Я; На — ЯЕ)- J(C)- правый смежный класс по подгруппе щ -инвариант эллиптической кривой Е\ якобиан алгебраической кривой С; сумма Якоби для характеров у. К(х) ? К{х, V) ПОЛЯ рациональных функций над полем К. L/K (L:K) /7 (c;v) расширение L поля К; степень расширения L над К; 0(ехр(с(1п77П1п1п77)^ субэкс поненциальная функция сложности; #М ш- мощность множества М; максимальный идеал; р максимальный идеал локального коль ца Ор: NOix, у) Лх, у) D — ЧИСЛО решении уравнения О над конечным полем; - квадратичный порядок дискриминанта Д F локальное кольцо точки Р алгебраиче ского множества, состояш,ее из функций лярных в точке Р; 5 регу 1 (К), (К) проективная прямая, проек тивная плоскость над полем К: р простои идеал; поле рациональных чисел; поле р-адических чисел; Q[a] числовое поле, полученное присоеди пением к полю Q алгебраического числа а; R * поле веш,ественных чисел; множество обратимых элементов кольца R; RM кольцо классов вычетов кольца по идеалу 21; гет(Н) — булевой функции Н; удаление решеточно продолженной val(/0 значение адического нормирова ния целевой функции Н; SL2(Z) Тг(х) — модулярная группа; след элемента х: X целая часть положительного числа х (наибольшее целое число, не превосходящее х); р кольцо целых рациональных чисел; кольцо целых /7-адических чисел; дискриминант эллиптической кривой; характер абелевой группы; т * композихщя отображений g и для координатных колец
Глава 1. МНОЖЕСТВА, АЛГОРИТМЫ, СЛУЧАЙНЫЕ ОТОБРАЖЕНИЯ 1.1. Сведения из теории множеств Множество совокупность объектов а (элементов множества), обладающих неко торым общим свойством. Элементами множества торого универсального множества могут быть другие множества, однако говорить о определить тами В. Симметрическая разность определяется какA~B~{A\B)kj{B\A). Нетрудно видеть, что . Если все рассматриваемые множества А\^ ^2? ••• являются подмножествами некото можно , как раз- дополяеяие множества обо множестве всех множеств нельзя [2]. Множество, состоящее из элементов а,, значается {а,}. Пустое множество 0 не содержит ни одного элемента. Равные множества состоят из одних и тех же элементов. Если каждый элемент ность U\Ai. Декартовым произведением множеств А\^ ...,А п называется множество 1 X ... X /х iij состоящее из упорядоченных наборов {(йь ..., а^)}, где а I I Декартово произведение X ... X >4 называется множества А является элементом множества Д тх) декартовой степенью и обозначается А\ называется подмножес1пвом множества 5, обозначается А^В. Если при этом А^В, то говорят кому-либо что является собственн ым подмножеством м ножества з5, то 1 обозначается Если и Если каждому элементу а множества А по ка правилу сопоставляется единствен ный объект ф(й:), то это сопоставление называет ся функщей H2iA. Если все объекты ф(й:) принад В. Множество всех подмножеств лежат некоторому множеству 5, то сопоставле да1ШОго множества обозначается Р{А), Если ние а -> ф(й:) называется отображ'ением А в и {а, fe,c}, то Р(А)= {{0},{а}, {Ь}, {с}, {а, Ь}, обозначается ф: л -^5. Элемент (р(а) называется {а,с}, {Ь,с}, {а,Ь,с}}. образом элемента а, элемент а называется про цгш, сопоставляющие каждой элементов образ единственный, но для данного образа про На множествах определены бинарные опера- образом элемента ц>(а). Для данного прообраза паре множества элемент этого же множества. Множе- образ в общем случае единственным не является замкнуто относительно бинарной опера- Совокупность всех прообразов элемента ip(a) на ство ции *, если а * операция * называется: для всех а, о е А. Бинарная зывается полным прообразом. Совокупность всех прообразов отображения называется областью коммутативной, если а А; * * а для всех а, определения отображения, совокупность всех а * * * ассоциативной, если для всех а,Ь,се A-J дистрибутивной (относительно операции для всех а *с образов — областью значений. Ограничением отображения ф: А жество на мно 5 * если а * с е А. Объединением множеств * э называется такое отображение , что ф(х) = v|/(x) для всех х е заданное на Продолоюением отображения ф: ^ -> 5 на множе ство называется такое отображение и за называется множество Avj В, состоящее из тех элементов. которые являются элементами или Пересе данное на С, что ф(х) = \|/(х) для всех х ^ А (при этом области значений ф и ш могут различаться). чением множеств и называется множество АглВ, состоящее из элементов, которые являют ся элементами А и В. Бинарные операции объединения и пересечения коммутативны и ассоциативны, каждая из них дистрибутивна одна отно- Пример отображений. . Пусть 1.1.1 Ограничение и продолжение М множество целых чисел. М множество положительных сительно другой. Разность множеств А\В чисел и ф: М М простых отображение, ставящее в определяется как множество элементов А, не являющихся элемен соответствие каждому целому числу количество его положительных делителей, отличных от еди- . То- 1 Ассоциативность означает, что в выражении ницы. Например, ф(2) гда ограничением Ф(^) Ф(4) 2, Ф(6) на будет отображение так как каждое простое число имеет ^\ * а? * * а^, скобки можно расставлять произволь- единственный неединичный положительный де но, при этом значение выражения не изменится. литель.
Пусть М множество положительных Бияаряым отногиеяием на множестве А явля простых чисел, А — множество положительных ется любое подмножество R множества^ х А. отображение, ставя целых чисел и ф: М щее в соответствие каждому элементу из Мчис- дующими свойствами: Бинарные отношения могут обладать еле ло I. Продолжения отображения лены неоднозначно. Например: на опреде равно числу положительных простых делителей числа а: Ф(а) если а простое 5 ф(а) если а составное. симметричность: если aRb^ то bRa; антисимметричность: если а oRb и bRa, то рефлексивность: aRa; транзитивность: если aRb и bRc, то aRc. Симметричное, рефлексивное и транзитивное отношение R называется эквивалентностью. Отображение называется инъектив ным, если из а^Ь следует ц>(а)^ц>(Ь). Отобра жение называется сюръективным^ или отображением А на В, если каледый элемент из имеет хотя бы один прообраз из А. Инъектив- ное и сюръективное отображение называется би~ отображения ш су- ективным. Для биективного ществует обратное отображение 1 такое, что если ц)(а) fe, ТОф (Ь) а. Если / А и g:B отображения, то их композигшя (или произведение) g/отображает в С и определяется как g(/(x)) для всех х е А. Композицию отображений удобно иллюстрировать диаграммами. Диаграмма называется коммутативной, если гично, диаграмма gf. Анало > > D называется коммутативной, если е/== FG [6]. Теорема 1.1.1. Композиция отображений множества в себя ассоциативна. Доказательство. Областью определения и областью значений таких отображений является данное множество А, поэтому композиция отображений определена корректно. Пусть/ g, /г — отображения множества А в себя и а Тогда ШЖа) = Ш\Ка)) =ЛяФ(аШ Agh){a) =AgKa)) =М{Кт- Пример 1.1.2. Эквивалентность Равенство целых чисел. 2. Подобие треугольников. на Бинарное отношение, определенное множестве плоских многоугольников (углы в 180° не допускаются), при котором эквивалентными являются многоугольники с одинаковым числом углов. Теорема 1.1.2. Бинарное отношение является эквивалентностью тогда и только тогда, когда оно разбивает множество, на котором оно определено, классы. на попарно непересекающиеся Доказательство. Пусть отношение является эквивалентностью. Объединим все элементы. эквивалентные данному элементу а, в один класс Ка. Элементы в этом классе попарно эквивалентны в силу транзитивности: если а ^ и а с, то ^ с. Кроме того, все элементы, эквивалентные какому-либо элементу класса, принадлежат этому же классу, что таюке следует из свойства транзитивности. Таким образом, каждый класс задается любым своим элементом: если а^ Ь, то Ка = Kf). Если построить сначала класс элементов, эквивалентных а, а затем класс элементов, эквивалентных , то эти два класса будут совпадать при а^ b и не будут пересекаться в противном случае. Действительно, если предположить, что а неэквивалентны и элемент с принадлежит и обоим классам Ка и Kh, то а-с и с то есть а — противоречие. Таким образом, эквивалентность разбивает множество на попарно непересекающиеся классы. Обратно, если задано разбиение множества на попарно непересекающиеся классы, определить отношение: а - то можно если а и лежат в одном классе. Это отношение симметрично. рефлексивно, транзитивно, то есть является эк вивалентностью. Антисимметричное, рефлексивное и транзи тивное бинарное отношение называется отно шением (частичного) порядка >. Если а>Ь и афЬ^то говорят, что а строго больше fe, и запи-
сывают а> b. Двойственное отношение порядка если a>Lrob<a. чаях получаем противоречие. Можно сказать. что свойство D не определяет никакого множе Указанное отношение в общем случае приме- ства. Но это значит, что не каледое точно описан нимо не ко всем элементам множества. Если это отношение применимо ко всем элементам. то множество называется лияеияо упорядоченным. Пример 1.1.3. Упорядоченные множества, . 1У1ножество (Z, <) целых чисел, упорядо ченных отношением «меньше или равно» (ли нейное упорядочение). . Множество (Р(М), е) всех подмножеств множества М, упорядоченных отношением теоретико-множественного включения (частичное упорядочение). Множество положительных целых чисел , в котором <а:| V» означает, что х делит у >п (частичное упорядочение). Мощностью множества называется число его элементов. Мощность множествам обозначается #М. Для множества подмножеств имеет место #Р(Щ Например, #0 но Справедливо неравен равенство Р(0) непусто и #Р(0) сгво #Р(М) > #М Два множества М и Nравномощны, если существует биективное отображение M<r^N. Конечные множества равномощны, если они состоят из одинакового числа элементов. Конечное множество не может быть равномощно собственному подмножеству. Для бесконечных множеств это неверно. Например, множество Z целых чисел равномощно собственному подмножеству 2Z чет- 2Z задается умно- ных чисел (отображение жением на 2). Множества, равномощные нату ральному ряду, назьшаются счетными. Мы придерживаемся так называемой «наив ной» теории множеств. Она характеризуется наличием парадоксов. Различают логические и семантические п^эадоксы. Логические парадоксы связаны непосредственно с аксиоматикой и определениями теории множеств. Парадокс Кантора. Существует ли множество всех множеств? одной стороны, это не запрещено. С другой стороны, если оно существует, то оно является элементом самого себя, то есть его мощность строго меньше самой себя, так как #Р(М)>#М. Это рассуждение можно считать доказательством того, всех множеств не существует. что множества Парадокс Рассела. Пусть для множества М выполняется свойство D тогда и только тогда, когда М€ М. Пусть множество элементов ное свойство определяет множество. Семантические парадоксы, в отличие от логических, включают в себя понятия «истина», «ложь», «определяет». Парадокс лэюеиа. Некто говорит: «Я лгу». Если он лжец, то он сказал правду. Если он солгал, то он не является лжецом. Парадокс Ришара. В русском языке существует конечное число букв. Следовательно, существует конечное число фраз, содержащих не более 150 букв. Поэтому с помощью таких фраз можно охарактеризовать лишь конечное множество натуральных чисел. Конечное множество натуральных чисел содержит наименьший элемент — наи- (см. также и 3.14). Рассмотрим фразу «к— меньшее из натуральных чисел, которые нельзя охарактеризовать никакой фразой русского языка. содержащей не более 150 букв». Она характеризует число к и содерашт менее 150 букв. Можно сказать, что эта фраза не определяет никакого натурального числа, но тогда возникает вопрос, по каким критериям можно определить, какие фразы определяют числа, а какие нет. Прилагательное, обладающее свойством, которое оно обозначает, назовем автологическим. Примеры автологических прилагательных: «трехсложный», «русский». Прилагательное, не обладающее свойством, которое оно обозначает, назовем гетерологическим. Примеры гетерологи- ческих прилагательных: «односложный», «красный», «горячий», «французский». Очевидно, что обла- не может одновременно прилагательное дать и не обладать свойством, которое оно обо значает. Попробуем определить тип прилагатель ного «гетерол огическое». Если предположить. что оно не обладает свойством, которое обозначает, то оно гетерологическое, то есть обладает этим свойством. Если предположить. что оно обладает свойством, которое обозначает, то оно обладает есть не является автологическим, то свойством, которое обозначает. Парадоксы встречаются при попытке приме нить некоторое суждение к самому себе. 1.2. Сведения из теории алгоритмов 1.2.1. Алгоритм и исчисление Под алгоритмом будем понимать корректно М, для которых выполняется свойство D. Какое определенный дискретный вычислительный свойство выполняется для Т: Т е Т или Т € Т? процесс, перерабатывающий входные данные в Если предположить, что Г е Г, то Г ^ Г, а если выходной результат за конечное число шагов. предположить, что Т € Т, то Т е обоих слу- Понятие алгоритма тесно связано с вычисли
#. тельной моделью, описывающей процесс пере- По с>ти дела, исчисление есть список «раз работки. Существуют различные вычислитель- решительных правил», называемых также novo ные модели, отражающие уровень развития тех- ждающими правилами. В отличие от алгоритма НИКИ, например, машина Тьюринга или специа- эти правила не предписывают, а разрешают пе- лизированный конечный автомат. реходить от одних конструктивных объектов к Будем различать детерминированные и веро- другим. Подобно тому как алгоритм задает алгоритми- ятностные алгоритмы. Детерминированный алгоритм всегда действует по одной и той же схеме ческий (или вычислительный) процесс, исчисле и гарантированно решает поставленную задачу ние задает исчислителъный (или пороэюдающий) (или не дает никакого ответа). Вероятностный процесс. Этот процесс разбивается на отдельные алгоритм использует генератор случайных чисел и дает не гарантированно точный ответ [17]. шаги, каждый из которых состоит в получении нового объекта из уже полученных к началу этого '^ :^\ :--:= шага объектов путем применения произвольного Пример 1.2.1. Алгоритмы. разрешительного правила. Объекты, к которым Детерминированным является алгоритм де- применяется правило, называются его посылками. При этом одно и то же правило, примененное к ления дробей: Если bed Ф О, то а с ad be , иначе ответа нет одной и той же посылке, может давать различные результаты. так как может применяться по Вероятностным является следующий алго : «Является ли чис разному. Например, правило хода пешки в шах ритм, отвечающий на вопрос пор простым?»: сгенерировать случайное число а 5 где <а<р проверить равенство а р 1 (mod р) Если матах может применяться к каждой пешке. Объекты, получающиеся в ходе работы исчисления, называются допустимыми. Допустимый объект определяется по индукции: если объ- объектов ект получается из допустимых оно выполняется, то число /?, вероятно, простое. Если оно не выполняется, то число/? составное. Для гарантированного ответа на вопрос, является ли число р длины 100 десятичных знаков простым, необходимо перебрать все числа а от до Однако, если нас устраивает ответ й],..., а^ с помощью разрешительного правила, то он является допустимым. Начало индукции определяется нульпосылочными правилами: если объект b удовлетворяет такому правилу (получается «из ничего»), то он допустим. В шахматах нульпосылочным является правило, задающее «Число р простое с вероятностью 0,9999», то начальное расположение фигур достаточны всего три успешных итерации I, алгоритма. Всякое исчисление работает с элементами не которого множества, называемого рабочей средой исчисления. Все состояния исчислительного Вероятностные алгоритмы в общем случае не процесса лежат в этом множестве. Работа исчис- менее эффективны, чем детерминированные (ее- ления состоит в образовании новых допустимых ли генератор случайных чисел всегда дает набор элементов (или допустимых состояний) рабочей одних и тех же чисел, возможно, зависящих от среды. Исчислительный процесс можно описать входных данных. то вероятностный алгоритм становится детерминированным). нуль посы л о чное деревом, корень которого — состояние, кансдая вершина соответствует допус современной логике наряду с понятием алгоритма существует столь же фундаментальное понятие исчисления (дедуктивной системы) [9]. Исчисление — тимому состоянию, ребра получению нового помощью разреши — способ задания множества пу тем указания исходных элементов и правил вы вода новых элементов из исходных или уже по допустимого состояния с тельных правил. Путь от корня до данной вер шины называется выводом для данного допусти мого состояния. строенных. Исчисление отражает и обобщает интуитивное представление об индуктивном порождении множества [8]. Примерами исчислений являются игры с четкими правилами (шахматы, преферанс и др.). Некоторые виды исчислений используются для задания алгебраических структур (например, теория колец строится из исход- формальных грамматик и задания множеств, распознаваемых конечными автоматами [8]. Исчисление можно рассматривать как инструмент не только образования множества допустимых состояний, но и преобразования начального состояния, являющегося входом исчисления. Это приводит к понятию исчисления со входом. ной системы аксиом), описания Пример 1.2.2, Исчисления. ^^ . Шахматная игра, заданная фиксированной начальной позицией, правилами ходов и целью игры. . Игра в преферанс, заданная случайной на- 2 Этот алгоргам реализует псевдопростой тест Ферма чальной позицией, правилами ходов и целью игры.
10 3. Дифференциальное исчисление (как и мно- лее общо. п 0(1) (полиномиальная сложность)^ гие другие разделы математики) строится дедук тивно из системы аксиом. Алгоритмы и исчисления жестко связаны [9]. и алгоритмы, сложность которых невозможно оценить полиномом. Алгоритмы полиномиальной сложности называют также эффективными. Такое разбиение алгоритмов позволяет ис Для каждого исчисления, порождающего пару пользовать их композицию. Если алгоритм (х,>'), существует алгоритм, для которого х явля- имеет полиномиальную сложность ется входом, а v — на данной выходом. 1.2.2. Сложность алгоритма Как правило, если задача имеет решение, то она может быть решена различными алгоритмами. При этом возникает вопрос сравнения алго- вычислительнои модели и алгоритм is содержит полиномиальное число шагов, на которых выполняется алгоритм А, то итоговая сложность алгоритма £/4 является полиномиальной. Типичный алгоритм, сложность которого не ритмов. Одной из основных характеристик качества алгоритма является его сложность. Для оп- которых ределения сложности алгоритма свяжем с каж- . назы- является полиномиальной, — перебор ключей шифра при известных открытых и зашифрован- классе алгоритмов, сложность ных текстах. не является полиномиальной, будем различать два подкласса: алгоритмы с экспонен- дои конкретной задачей некоторое число, ваемое ее размером^ которое выражало бы меру альные) циальнои сложностью алгоритмы е Dili) И С 0{\) (или экспоненци- субэкспоненгшальной количества входных данных. Например, для за- сложностью е^"^ <S<n ^^ (или субэкспоненци дачи умножения чисел размером может быть длина наибольшего из сомножителей, для задачи альные). К первому подклассу относится алгоритм «giant step— baby step» (см. п. 11.1.2) со умножения квадратных матриц матрицы. число строк сложностью 0(п fln2.1„. где п Время (число элементарных операций вычис- длина входа алгоритма в битах; ко второму под- — алгоритм разложения составного числа классу лительной модели), затрачиваемое алгоритмом как функция размера задачи, называется времен- длины п бит на множители (см. п. 9.3) со слож ной слоэюностью (или просто сложностью) этого алгоритма Значение этой сложности при неограниченном увеличении размера задачи называ- ностью е 0{4^пп) Будем называть функцию v=^/(xi, ...,х п вы ется асимптотической временной сложностью. Сложности вероятностных алгоритмов можно сравнивать, если вероятности получения правильного результата одинаковы. Иногда алгоритм требует хранения некоторых данных, полученных в ходе его работы. Объем памяти, требуемый для работы алгоритма при решении задачи данного размера, называется емкостной слоснсностью данного алгоритма. Соответствующим образом определяется и его асимптотическая емкостная сложность. Обычно на практике при оценке сложности ал- числимои^ если существует алгоритм полиномиальной сложности, ее вычисляющий. Если (наилучший известный) такой алгоритм имеет сложность выше полиномиальной, то функцию будем называть трудновычислимой. Для широкого класса вычислительных моделей оказывается справедливой полиномиальная эквива : если алгоритм решает задачу за поли лентность номиальное время на модели А., то существует ал горитм, который решает эту же задачу за полиномиальное время на модели В., и обратно. Это отношение разбивает множество вычислительных моделей на классы эквивалентности. В рамках горитмов пользуются именно асимптотической сложностью, которую определяют с помощью О- такого класса можно не различать вычислитель символики. Если алгоритм решает задачу за время не более си, где с остается ненулевой ограниченные модели, оперирующие с битами (умножитель битов), и модели, оперирующие со словами фикси- нои величиной при увеличении числа и, то говорят, что асимптотическая временная сложность алгоритма равна 0{п). Соответственно, произ рованнои длины и имеющие встроенные специали зированные вычислители (умножитель слов). Однако радикальная смена вычислительной вольная константа может быть записана как 0(1). модели может приводить к изменению понятия Для функций/и g одной переменной можно запи- вычислимости. Например, квантовый компьютер сать fin) = 0{g{n)\ если существует константа с (см. п. 1.3.2), обладая экспоненциально большим такая, что при неограниченном увеличении числа п выполняется неравенствоДи) < сфг). номиальной сложностью решать задачу разло Алгоритмы можно разбить на два класса: ал- жения составных чисел, тогда как для традици объемом виртуальной памяти, позволяет с поли горитмы, сложность S которых оценивается в символике некоторым полиномом от п или, бо- не известны. оннои вычислительной модели такие алгоритмы
// Как правило, на практике требуется, чтобы алгоритм решал не частную задачу (например. разложить на множители число 128 4. Задача о простом числе. Дано натуральное число п. Является ли оно простым? Сертифика- + 1), а широ- том для ответа «нет» является делитель числа п. кии класс частных задач (например, разложить Задача об изоморфизме графов. Даны два на множители число длины п бит или разложить графа с п вершинами. Можно ли перенумеровать на множители число вида 2" + с для малого цело- вершины первого графа так, чтобы получить го числа с). Это требование вытекает из естест- второй граф? Сертификатом для ответа «да» яв- венного желания разработчика алгоритмов при ляется перестановка вершин первого графа. Граф наиболее общий ре- можно задать квадратной матрицей размера п с минимуме затрат получить зультат. Такой класс частных задач будем назы- элементами из множества {О, 1}. Элемент а и вать массовой задачей или просто задачей. означает. что существует ребро, связывающее чу Будем говорить, что алгоритм А решает зада- вершину i с вершиной у; нулевой элемент означа если он решает каждую частную задачу из ет, что такого ребра не существует. . Задача о выполнимости булевой формулы класса i, то есть является в этом смысле универ сальным. Под споэюяостъю массовой задачи будем понимать минимальную по всем Дана вычислимая булева формула от п перемен универ- ных в виде совокупности наборов булевых фор сальным алгоритмами сложность решения алго- мул, подставляемых друг в друга. Принимает ли ритмом класса Т. наиболее трудной частной задачи из она значение «истина»? Сертификатом для ответа «да» является набор переменных, при котором Алгоритмические проблемы удобно исследо- булева формула принимает значение «истина». вать на классе задач выбора^ допускающих ответ 7. Задача коммивояжера. Дана к^эта, содержала» или «нет» на поставленный вопрос. Для то- щая п городов и расстояния между ними. Сущест- го чтобы оставаться в конструктивных рамках, вует ли замкнутый путь длины менее т через все потребуем, чтобы предъявленный результат до- города? Сертификатом для ответа «да» является требуемый маршрут. Карта может быть представ пускал эффективную проверку. Вычислительное устройство, решающее задачу выбора, должно лена квадратной матрицей {cijj)^ в которой номера предъявлять сертификат^ позволяющий прове- столбцов и строк соответствуют городам, а эле- рить правильность ответа и собственную досто- менты а^ — расстоянию мел<ду городами i nj. Будем называть массовую задачу выбора ре верность с полиномиальной сложностью. Сертификат должен выдаваться хотя бы для одного из ответов «да» или «нет». Указанные ограничения шаемой^ если существует решающий ее эффек- на практике не являются существенными [9]. тивный алгоритм. Если асимптотическая сложность (наилучшего известного) такого алгоритма Пример 1.2.3. Задачи выбора. Задача решения квадратного уравнения. выше полиномиальной, то задачу будем назы вать трудяорегис емои. Дано квадратное уравнение с целыми коэффициентами длины п. Имеет ли оно вещественные Не для каждой массовой задачи выбора может существовать универсальный алгоритм. из ответов корни? Сертификатом для любого «да» или «нет» является дискриминант полинома. Соответствие дискриминанта уравнению легко проверить. Неотрицательный дискриминант определяет существование вещественных корней. Пример 1.2.4. Задачи выбора, для которых не существует универсального алгоритма. . Разрешимость диофантова уравнения. Дан полином от нескольких переменных с целыми коэффициентами. Требуется указать универсаль- Задача о корнях полинома. Дан полином fix) степени п с целыми коэффициентами огра- целые корни? ничейной длины. Имеет ли он Сертификатом для любого из ответов «да» или ный алгоритм, который распознавал бы, имеет ли этот полином целые корни. 2. Представимость магриц с целыми коэффициентами. Назовем квадратную магрицу М предста- вимой через матрицы Ми - - -, Мт, если имеет место «нет» являются п корней полинома. Правиль ность представленного сертификата можно про- равенство М-||М^^ , где г, е {1, 2, ...,/7}. Тре верить, поделив fix) поочередно на полиномы вида X X , где {Xi} — множество корней. Сложность проверки правильности сертификата является полиномиальной от и и от длины коэффициентов полинома Задача о составном числе. Дано натуральное буется указать алгоритм, который для каждой матрицы М распознавал бы, представима ли М через Ml, ...,Мг. 3 Сертификат огфеделен неоднозначно. В данном число п. Является ли оно составным? Сертифика- случае сертификатом для ответа «нет» также может быть том для ответа «да» является делитель числа п. число си\<а<п, такое, что а"^^ ф 1 (mod п\ см. п. 4.3.1.
12 Эквивалентность слов в свободной полу- ностью. Примером задачи из класса co-NP слу- группе"* (или в алфавите с определяющими соот- жит задача 4 из примера 1.2.3. Пересечение классов NP и co-NP непусто: NP п CO-NP. Совпадают ли классы Р и NP, Р ношениями). Из букв пятибуквенного алфавита а, ^, с, J, е образуются слова (цепочки конечной длины). Для любых слов Л, В задана ассоциатив- и NP п co-NP, неизвестно. пая операция композиции АВ^ заключающаяся в По аналогии с полиномиальной эквивалент- записывании слова В непосредственно за словом ностью вычислительных моделей (для данного А^ при этом А(БС) = (АВ)С. Имекгг место опреде- класса алгоритмов) можно ввести понятие поли- ляющие соотношения bd ас са^ ad da^ be сК номиальнои сводимости задач. Говорят, что за db^ еса ~ се, edb = de, сса = ссае. Требуется дача^ полиномиально сводится (или просто сво построить алгоритм, который распознавал бы эквивалентность слов. дится) к задаче л, если существует алгоритм гю линомиальнои сложности, сводящий каждую частную задачу из класса л к частной задаче из Отметим, что отсутствие универсального ал- класса В, Это означает, что массовая задача частную задачу является не более сложной (с точностью до алго горитма, решающего каждую данного класса, не означает, что не существует ритма полиномиальной слолоюсти), чем массо алгоритма, решающего данную частную задачу вая задача Д причем решение с полиномиальной или даже некоторый подкласс частных задач. сложностью задачи В означает и решение задачи Анализ сложности перечисленных в примере А. Отношение полиномиальной сводимости реф- 1.2.3 задач выбора показывает, что задачу мож лексивно, антисимметрично и транзитивно, то но решить с полиномиальной сложностью. Для есть является отношением частичного порядка. этого нужно вычислить знак дискриминанта Если же при этом и задача В полиномиально квадратного уравнения. Задача 2 таклсе допуска- сводится к задаче А^ то эти задачи полиномиалъ но эквивалентны^ решение любой из них означа ет полиномиальный алгоритм, основанный на том факте, что свободный член полинома равен ет решение другой. произведению всех корней. Тогда можно перебрать все целые делители и свободного члена (их димости помощью отношения полиномиальной сво в классе NP была выявлена «самая число ограничено) и проверить делимость поли- сложная» задача, к которой сводятся все осталь нома на X - W. Что касается остальных задач, то ные задачи из NP возможность решения их с , — задача о выполнимости бу- полиномиальной левой формулы (теорема Кука [1]). Кроме того. сложностью неочевидна (например, для задачи 4 было установлено, что эта задача не единствен требуется точный ответ, а не ответ типа «число п ная, существует класс задач, полиномиально эк простое с вероятностью 99 %»). вивалентных задаче о выполнимости. настоя множестве задач выбора можно выделить щее время известно несколько сотен таких задач. несколько классов. Одним из них является класс Этот класс задач называется NP-полным (или задач, для которых известен детерминированный алгоритм полиномиальной сложности (для этих задач наличие сертификата излишне). По определению задачи выбора ответ может быть проверен с помощью сертификата детерми- NPC), сюда относятся задачи из примера нированным алгоритмом полиномиальной сложности. Если вычислительная модель обращается к некоему оракулу, который может угадывать правильный сертификат, то проверить правильность ответа можно с полиномиальной сложностью. Класс задач, обозначаемый NP, обладает тем свойством, что правильность ответа «да» может быть проверена с полиномиальной сложностью, хотя ответ и сертификат могут вырабатываться с 1.2.3. Для некоторых задач из класса NP, например, для задачи об изоморфизме графов и задачи о составном числе, NP-полнота не доказана. Класс NP-cлoэfcныx задач состоит из тех задач, к которым сводятся задачи из класса NP- полных. Типичными NP-сложными задачами являкпгся экстремальные задачи, аналогичные NP-полным, например, следующая переформулировка задачи коммивояжера. Дана к^та, содержащая п городов и расстояния между ними. Какова минимальная длина замкн>того маршрута через все города? помощью недетерминированной вычислитель ной модели. Примером задач из класса NP слу жга задачи 3,5 из примера 1.2.3 1.3. Нестандартные вычислительные модели Класс задач, обозначаемый co-NP, обладает тем свойством, что правильность ответа «нет» мол<ет быть проверена с полиномиальной слож- 4 Традиционно для решения математических том числе криптоаналитических) задач исполь зуются компьютеры, реализованные в виде элек тронных устройств, универсальных (программи Определение свободной полугруппы см. в гл. 2. руемых) или специализированных, сконструиро
ванных для решения конкретной задачи. Такие мент^ная спираль ДНК может быть присоеди компьютеры могут различаться разрядностью, нен или удален. объемом памяти, тактовой частотой, конфигура Каждый фрагмент цепочки представляет со цией. Все эти компьютеры как вычислительные бой один двоичный разряд строки, который мо модели полиномиально эквивалентны (предпола- жет быть взаимно однозначно сопоставлен буле или зации данного вычислительного алгоритма). Это функции. Если фрагмент цепочки снабжен сти означает, что если задача может быть решена за кером. гается, что объем памяти достаточен для реали- вой переменной промежуточной булевой то значение соответствующего разряда п шагов на одной вычислительной модели, то она строки равно 1, если не снабжен, то может быть решена за г{^^^ шагов на другой вы числительной модели. Поэтому множества вы Моле1а^лярный компьютер может выполнять числимых полиномиальной сложностью) фун- следующие базовые операции: кции для этих моделей совпадают. Мерами сложности задач для таких компьютеров наряду со сложностью алгоритма могут быть и физические параметры: энергия, необходимая для решения задачи, физический объем компьк»тера и др. Несколько лет назад были предложены качественно новые вычислительные модели — моле- объединение двух множеств строк в одно множество; разделение множества строк на два таких подмножества, что в одно подмножество попадают те строки, в которых значение бита , а в другое под- которых значение на данной позиции равно множество строки в ьулярныи компьк»тер и квантовый компьютер, которые могут изменить представление о вычислимых функциях и для которых ограничения по бита на этой же позиции равно установка данного двоичного разряда строки в состояние рассеиваемой энергии не столь значительны. установка данного двоичного разряда строки в состояние 0. 1.3.1. Молекулярный компьютер Эти операции, а такл^е считывание результата Молекулярный компьютер [\{)ЛЪ^ ocY{OB2iYL пг. выполняются с использованием физических и использовании химических свойств молекул химических механизмов. Например, объедине- ДНК. Каждая молекула ДНК представляет собой ние двух множеств строк реализуется выливанием их содержимого, переведенного в состояние Информация в ДНК представлена раствора, в общий сосуд. Разделение множества двойную спираль, состояшую из комплементар ных половин. в алфавита из четырех букв А, С, Т, G. В двои- строк молшо выполнять с помощью нагрева или ной спирали блок А спирали соединяется с бло электрофореза (пропускания постоянного тока ком комплементарной спирали, блок С соеди- через раствор). Установка бита на данной пози- няется с блоком G. Цепочке ATTGTC спирали ции строки в состояние 1 выполняется добавле- соответствует цепочка TAACAG комплементар- нием в раствор соответствующих стикеров. ной спирали. При нагревании двойные спирали Лишние стикеры удаляются фильтрацией. Дли- ДНК распадаются на одиночные и при наличии тельность вычислений на молекулярном компь- соответствующих комплементарных фрагментов ютере оценивается в сотни часов [14]. могут быть достроены до двойных. На сегодняшний день задача вскрытия ключа молекулярном компьютере информация шифра на молекулярном компьютере решается представляется строками. Каждая строка состоит перебором. Основное преимущество молеку- из цепочки неперекрывающихся попарно раз лярного компьютера высокая параллельность личных фрагментов, представленных символами и малая энергоемкость вычислении — реализу- в алфавита {А, Т, С, G} молекул ДНК (одиноч- ется одновременным проведением вычислений с пая спираль) с возможно присоединенными ком- большим множеством строк. плементарными спиралями с тикерами (от Сложность задачи по отношению к молеку англ. sticker— наклейка) для некоторых фраг- лярному компьютеру оценивается требуемым ментов [18]. В соответствии с законом компле- объемом раствора (один литр раствора содержит ментарности, код стикера однозначно определя примерно 10 молекул ДНК). Например, для ется кодом фрагмента. Для каждого фрагмента вскрытия ключа длиной 256 бит требуется по рядка 10 ^ литров раствора. цепочки соответствующий стикер как компле 5 В ЖИВОЙ природе лублирование молекул происхо дит путем превращения двойной спирали в две одиноч ных и достраивания одиночных спиралей до двойных. 6 По-видимому, в ближайшее время можно ожи дать появления вычислительных алгоритмов для мо лекулярных компьютеров.
14 1-3.2. Квантовый компьютер Другой «экзотический» вычислитель — гипотетический квантовы и компьютер 7 5 ПОЗВОЛЯЮ щии с полиномиальной сложностью решать задачи разложения составного числа и логарифмирования в произвольных группах вычислимого порядка [7, 12, 19]. Например, задача разложения бит может быть на множители числа длины 2 решена со сложностью 0{L ). Однако несмотря на то, что алгоритмы для квантового компьютера существуют, проблема создания его работающей модели далека от решения. Квантовый компьютер, лишь немногих задач. Информация в квантовом компьютере пред как и молекулярный, удобен для решения ставлена квантовыми битами кубитами (от англ. qubit = quantum bit). Бит информации пред ставлен квантовой частицей, которая может находиться в двух состояниях. Состояние частицы спином («спин (для ее может характеризоваться вверх» или «спин вниз»), поляризацией квантов света ная) и т. п. горизонтальная или вертикаль Квантовая частица, находящаяся в двлос воз ха можных ортогональных состояниях и или рактеризуется вектором этих состоянии (волно вой функцией): Y = a|0) + Pjl), где а, Р — ком плексные амплитуды. Нормализацией амплитуд можно получить равенство а 2 + 2 Тогда значения а 2 И 2 МОЖНО интерпретировать как вероятность нахождения частицы в состоянии или 1. Случай а 1Ш соответствует одина ковои вероятности состоянии О и отличие от обычного бита, представляюще го О или 1, кубит может находиться в суперпози ции этих состояний. Однако при измерении ку бита его состояние фиксируется. элементов (состояний системы). Это условие является необходимым для реализации такого отображения на квантовом компьютере. Например, одновходовая логическая функция НЕ: реализует подстанов)^ на множестве {0,1} или, для кубитов, jJ>~>jU>. Логическая функция ® суммы по модулю 2 (операнды запи саны парой) может быть представлена в виде би ективного отобрал^ения пар битов (00) (01) ПО модулю 2 задается вторым разрядом выход (00), (01), (10) -> (11), (11) -> (10). Здесь сумма НОИ пары Соответствующее отображение для кубитов имеет вид \А) \В) -> \А) \А ® В), Влияние «лишнего» выходного кубита в дальнейшем мо жет быть устранено. Логическая функция установки бита в необ ратима, поэтому введем второй бит для получе ния обратимости: (00) (00), (01) (10), (01), (11)->(11). Здесь аргумент функции (10)-> представлен первым (левым) разрядом входа. значение первым разрядом выхода. Для уста новки бита в О второй разряд входа должен быть нулевым. Получаем отображение для кубитов ви- да И) 10) 10) И). Логическая двухвходовая функция И (л) не может быть реализована обратимым отображением пары битов, однако ее можно реализовать для тройки битов [15, 16]: Одним из фундаментальных ограничений на традиционные компьютеры является энергетиче- Здесь операнды представлены первым и вто- ская необратимость переключения логического рым разрядами входа (при этом третий разряд элемента из одного состояния в другое: при не- должен быть нулевым), а результат— третьим реключении энергия необратимо рассеивается. Поэтому для создания мощного компьютера требуется мощный источник питания, а также вентилятор для охлаждения. разрядом выхода. Соответствующее отображение Квантовый компьютер позволяет реализовать переключение из одного состояния в другое без рассеивания энергии. Для этого необходимо чтобы реализуемые отображения для всевозможных состояний квантовой системы, состоящей из п кубитов, задавали биекцию на множестве из и ДЛЯ кубитов имеет вид \А) \В) |0) -> \А) \В) \А л В), Аналогично можно реализовать и другие логические функции, а следовательно— произвольный вычислительный процесс по аналогии с обычным компьютером. При этом операции «установки в О», «стирания» и т. п. должны задаваться обратимыми отобрал^ениями множеств за счет введения дополнительных кубитов. Одна из основных операции, реализуемых Квантовый компьютер и популярная в послед ние годы квантовая криптография (включая кванто вые шифраторы) — разные вещи. квантовым компьютером. когерентная супер позиция. Эта операция для одиночного кубита описывается следующим образом:
15 У{кЛУ- cost Пт !0) /е ■ sm - 2 Если перейти к нормализованным значениям N V, ') COS /стг le ^sm /гтг а 2 J I 1 . ТО вероятность состояния / равна j 1 J 2 Например, /V п 2' л/2 (10) + И» кубит ail . По теореме Шредингера [10], если квантово механическая система нормализована в некото переводится из нулевого состояния в равновероятные состояния. Квантовым регистром называется coBOiQ'TEHOCTb кубитов в одной квантово-механической системе. рыи момент времени, то она нормализована в любой момент времени. Поскольку состояние /^-разрядного квантового регистра описывается вектором из Л^ со Предположим, что квантовый регистр. со стоящий из л кубитов, находится в нулевом со стоянии и все состояния обратимы, то любое преобразование информации, реализуемое регистром, можно описать квадратной невырол<ден- п стоянии: / ^=1 НОИ матрицей размера Л^. Невырол<денная матри- Операция когерентной супер- ца соответствует преобразованию информации в квантовом регистре тогда и только тогда, когда позиции к э , примененная ко всем кубитам регистра, переводит регистр из нулевого состояния в суперпозицию всех 2" возмолшых состояний с равной вероятностью любого состояния от (О0...0)до(11. 1): 8 /7 П 2^-\ 110) / >2 /7/2 1^0) ( . I nil /=1 /=1 (7=0 Эту операцию можно рассматривать как экспо ненциальное увеличение объема памяти кванто вого регистра: с /? до 2 . Квантово-механическая система описывается вектором состояний в гильбертовом пространстве (оно аналогично линейному векторному пространству над полем исключением того. комплексных чисел за что векторы могут иметь комплексную длину). Для квантового регистра из п кубитов гильбертово пространство имеет размерность N=2'\ Всевозможные Л^ состояний регистра задают ортогональный базис гильбертова пространства, при измерении состояние регистра фиксируется. Вектор состояний квантового регистра имеет вид а = (ai, ..., а/^). Здесь а, — амплитуда (волновой функции) в состоянии /. Вероятность того, что при измерении регистр окажется в состоянии /, равна а I 2 N 5 У=1 2 где с 2 норма с а+ 6/, то И =^а^ -\~Ь^. комплексного числа: если 2 8 Такая операция называется также щзеобразова нием Уолша—^Адамара. она унитарна (обратима, сохраняет нормализо ванность вектора состоянии; транспонированная матрица комплексных дополнений равна обратной матрице). Предположим, что на квантовом компьютере с помощью логических операций реализовано вычисление функции F произвольного аргумента /V а: F: Па)). в левом регистре на ходится аргумент, а в правом — значение функции F, Тогда с помощью когерентной суперпозиции за один шаг можно получить значение функции для всех Т аргументов: /V 2"-1 2"-1 F: о) 10) F(a)) /=0 1 о Здесь начальное состояние левого регистра может быть получено из нулевого состояния. Чтобы «измерить» значение функции F для определенного значения аргумента, эту операцию нужно повторить (9(2 ) раз, каждый раз «измеряя» состояние правого регистра. Очевидно, что в этом случае квантовый компьютер не имеет преимуществ по сравнению с традиционным — временная слолшость вычислении оценивается экспонентой от п. Однако, если нас интересует период функции F, то его можно быстро найти с использованием квантового дискретного преобразования Фурье (см. также п. 4.6). Это преобразование может быть легко реализовано с использованием типовых логических функций. Поэтому одной из особенностей квантового компьютера является то, что он эффективно вычисляет скрытые периоды функций. Если квантовый компьютер дает решение задачи, то оно должно быть наблюдаемым. Это значит, что при измерении состояния квантового регистра результат измерения с большой вероятностью должен соответствовать решению задачи.
16 1.4. Случайные последовательности и случайные отображения Под {колмогоровской) энтропией объекта понимается наименьший объем его описания. Шенноновская энтропия определяется как 10 1.4.1, Понятие случайности Hs Y^P'^^^p ) 9 / Рассмотрим бесконечные двоичные после где {pi} — совокупность вероятностей рассмат цовательности (вместо двоичного алфавита риваемои полной схемы событий. Использование можно рассмотреть любой конечный алфавит), шенноновской энтропии в описании информаци Какую последовательность можно считать слу ли чайной? Является случайной последова онных процессов (в частности, при анализе безопасности) неявно предполагает, что наилучшим гельность, образованная начальными цифрами алгоритмом предсказания очередного числа 7Г? Традиционная теория вероятностей не этот вопрос: она описывает символа последовательности является его угадывание. цает ответа на ^ воиства совокупности таких последовательно- тей. Если в теории вероятностей утверждается нечто про свойство случайной последователь ности, то это означает, что свойство выполня гтся для подавляющего большинства последо вательностей [11]. Существуют частотный, слолшостный и ко аичественныи подходы к понятию случайности бесконечной последовательности [9]. Частотный подход Мизеса основан на том. ето в случайной последовательности должна на элюдаться устойчивость частот. Например, в ^ лучаинои двоичной последовательности симво- должны встречаться независимо и с пы и равными вероятностями не только в основной последовательности, но и в любой ее подпосле- цовательности, выделенной в соответствии с не которым правилом, не зависящим от последова гельности. Иными словами, этот подход означа гт, что в случайной последовательности отсутствуют какие-либо закономерности. При таком подходе определение случайности зависит от правила выбора указанной подпосле- цовательности из исходной последовательности. Различные правила выбора давали Мизес, Черч, Колмогоров, Лэвленд, соответственно получались различные определения случайности. Одно из правил выбора, использующихся на практике, заключается в отбрасывании некоторых членов последовательности, причем вопрос об оставлении или отбрасывании решается алгоритмически с помощью вычислимой функции. Согласно этому определению последовательность, содержащая в начальном отрезке тысячу идущих подряд нулей, считается случайной, что противоречит интуиции. Согласно сложностному подходу Колмогорова случайная последовательность должна иметь сложное строение, которое не может быть описано с использованием короткого текста. Это предположение с очевидностью противоре чит практике, если последовательность порол<да ется детерминированным алгоритмом. Конечный отрезок бесконечной случайной последовательности не допускает простого описания. Сложность такого описания близка к длине последовательности. Бесконечная последовательность называется случайной по Колмогорову, если колмогоровская энтропия ее начальных отрезков быстро возрастает с увеличением длины этих отрезков. Количество информации^ содержащейся в конечной последовательности, равно ее Колмогоровской энтропии. Поскольку двоичные знаки числа п допускают простое описание и мог}^' быть легко найдены (несколько тысяч бит числа тг можно найти за несколько секунд), эту последовательность нельзя считать случайной по Колмогорову. Количественный подход Мартин-Лёфа основан на том, что случайных последовательностей много, а неслучайных— мало. Неслучайными считаются те последовательности, в которых наблюдается закономерность, то есть любое проверяемое свойство последовательностей, присущее лишь узкому их классу. Последовательность случайна, если она выдерживает тесты, выявляющие такие закономерности. Однако если потребовать, чтобы последовательность вьщержи- вала любой тест, то окал^ется, что случайных последовательностей вообще не существует. Поэтому принято ограничиваться теми тестами, для которых доля удовлетворяющих им последовательностей стремится к нулю при неограниченном увеличении длины последовательности. Между указанными определениями случайности имеются следующие соотношения. Последовательность случайна по Колмогорову тогда и только тогда, когда она случайна по Мартин-Лёфу. Определения случайности на основе частотного 10 9 Понятие оптимального способа описания неконструктивно и поэтому допускает произвол. Однако практике для алгоритмических (криптографиче- на Это требование включает в себя и одинаковые ских) генераторов (псевдо)случайной последователь частоты для пар символов, троек символов и др ности это описание известно. -ь_-х I '
ft?: подхода с использованием различных правил вы дают все множество ненулевых вычетов по мо бора являются более широкими. Множество по- дулюУ(0- Такой генератор легко реализуется ап- следовательностей, случайных согласно частот- паратно на сдвиговых регистрах. Например, при ному подходу, строго включает последовательности, случайные по Колмогорову и Мартин-Лёфу. т /+ /+ получаем 1 = / + г. Генератор Пример 1.4.1. Энтропия. реализуется на четырехразрядном сдвиговом ре гистре, где выход четвертого разряда складыва ется по модулю z с выходом первого разряда и Предположим, что шифр ГОСТ 28147-89 поступает на вход первого разряда Сложность (см. п. 19.6) вырабатывает гамму— последова- вычисления очередного бита последовательно тельность, полученную рекуррентно повторным сти линейная от длины регистра. зашифрованием шифртекста, длина гаммы равна о68 г- 1-_ _ . _ _. . _ .._ - бит. Гамма статистически похожа на случай ную последовательность в том смысле, что успешно выдерживает наиболее употребительные статистические тесты. Тогда шенноновская эн- 1.4.2. Свойства случайного отображения тропия гаммы равна 68 бит, тогда как колмого- ровская энтропия (т.е. количество информации) равна шенноновскои энтропии ключа и состав Случайные отображения широко используются при анализе криптографических алгоритмов «в среднем». Рассмотрим случайное отображение / конеч- ляет256 8 бит. то Разработчики криптографических систем час необоснованно используют шенноновскии подход к описанию алгоритмов защиты инфор мации. Это иногда приводит к досадным ошиб — использование крипто кам. Типовая ошибка — графически слабых генераторов псевдослучайной последовательности, вырабатывающих последовательность, которая обладает хорошими ного множества М в себя. В общем случае это отображение не является обратимым. Его можно задать в виде направленного графа, вершинами которого являются элементы множества М, а стрелки (ребра) показывают, в какой элемент из М переходит данный элемент. Если j =fij) для е М. то на фафе это соответствует стрелке, вы статистическими свойствами. но не является случайной по Колмогорову. На самом деле еле ходящей из вершины / и входящей в вершину у Поскольку к любому элементу / конечного мно жества М отображение можно применять неог раниченное число раз, то траектория, начинаю щаяся с вершины /, должна зациклиться. Поэто использовать алгоритмический подход и дует определение случайности по Колмогорову (или, что то же самое, по Мартин-Лёфу). му соответствующий направленный граф должен иметь вид леса (совокупности деревьев), ребра которого направлены от листьев к корням, а корни соединены в циклы. Так как отображение Пример 1.4.2. Неслучайные по Колмогорову применимо к каясдому элементу множества М, то последовательности с хорошими статистически- из каждой вершины графа стрелка выходит, однако не в каждую вершину стрелка входит. ми свойствами. Линейный конгруэнтный генератор, выра- axi-^b батывающий последовательность л^/+1 и (mod m), где о, т и НОД(а, т) Длина последовательности равна т. Сложность пред сказания x^^i по известному х, минимальна.'^ . Генератор так называемой М-последова тельности, используемой в технике связи, обла дает очень хорошей автокорреляционной харак Долю листьев фафа случайного отображения (то есть элементов множества М, не являющихся образом ни одного элемента при действии отображения У) молшо определить через вероятность того, что данная вершина является листом. Число всевозможных отображений, переводящих элементы множества М в элементы М за исключением данного элемента, равно числу #М- теристикои и просто реализуется, однако неслу- буквенных слов в (#М чаен по Колмогорову. линейным сравнением 13 Генератор л^/+1 tx I описывается (mod (2,/0)Х где идеал (2,J{t)) задается вычетами по модулю 2 и по модулю неразложимого полинома У(0 такого, что всевозможные степени элемента t порож- я- ^ ^й. '=* 11 12 Подробнее о сравнениях см. п. 3.5. Использование квадратичного или иного конгруэнтного генератора с несложным уравнением, как щзавило, не позволяет получить последовательность, случайную по Колмогорову. -буквенном алфавите. Действительно, отображение можно задать таблицей из двух строк длины #М, в которой верхняя строка соответствует имени прообраза, а нижняя — имени образа, причем информацию об отображении несет только нижняя строка. Нижняя строка содержит #М символов в (#М буквенном алфавите. Поэтому число таких ото бражений равно (#М Поскольку число всевозможных отображений равно #М, вероят ность выбираемого наугад отображения, при ко 13 См. подробнее пп. 3.5,4.3. г--^^ ^-'-•ТП-^1кУ тором ни один элемент не переходит в данный элемент, равна V 'T^i 'S% -^^^^ч^ "4*1 * Н"-^^^
18 (#М) им им им значение для V #М ? е ср средней длины цикла равно [4]. Таким же выражением оцени- где е — основание натурального логарифма вается и длина пути до входа в цикл т ср #М/8. Если множество М велико, то оказывается, что почти все отображения М^-М имеют одинаковые статистические свойства [3, 5]. В част ности, для графа случайного отобра^^ения: почти все вершины лежат на одном дереве; длина цикла равна средней высоте дерева, то есть среднему числу ребер. соединяющих Случайное дерево обладает сжимающим свойством (один образ может иметь несколько прообразов), которое используется при исследовании криптографических алгоритмов. Оценим параметры этого сжатия. Определим понятие глубины на дереве. Все листья имеют глубину 0; вершина, не являющаяся листом, имеет глубину а, если максимальное расстояние от нее до гсакого-нибудь листа равно Глубина задает отношение порядка на вершина вершинах графа случайного данную вершину с корнем. Эта длина равна 0(л№); структура леса при обращении стрелок описывается ветвящимся процессом (процессом нах дерева размножения и гибели), порожденным час- отображения, не лежащих в цикле). Если А, Б — тицами, которые соответствуют корням де- вершины дерева, то ^ > j5 при d(A) > d{B). Поня ревьев. Каждая частица живет ровно один тие глубины иллюстрируется рисунком 1.1 (глу такт. На следующем такте она дает случай- бина отсчитывается дискретно сверху вниз, ли ное число потомков, распределенное по за- стья имеют глубину 0). кону Пуассона с параметром V и при этом погибает. Распределение этом случае имеет вид [5]: Р{к) Рекуррентное применение отображения Пуассона \Uek\). в к Будем рассматривать деревья, в которых чис ло вершин #Л/велико. Определим ширину p{d) фафа как долю вер шин, имеющих заданную глубину. Зададим оди данному элементу а множества М дает последо- наково распределенные случайные величины вательность о, да), fijyd)) ==/ (а), / (а), .... Она соответствует последовательности вершин с на- ^k{t\ 2 ? ? для которых вероят ность определяется выражением чальнои вершиной а, если двигаться по стрелкам. Начиная с некоторого элемента с номером т^ последовательность начнет повторяться. Это соответствует входу в цикл графа. Обозначим длину цикла через /. Оценим длину цикла и расстояние до него для заданного начального элемента а. Полагаем, что Ffe if) Г l/(er\). Рассмотрим ветвящийся процесс jLi(rt с дис состояние систе кретным временем мы определяется числом \x(t) частиц, сущест вующих в системе в момент времени t: ^ элемент а под действием / с равной вероятно- сгью переходит в любой элемент множества М. Вероятность того, что ц(Г + Xi(t)-^X2it)-^ ... +л:^(л(0. т для данного элемента равна 1/#М, то есть элемент должен переходить в себя. Вероятность того, что причем }x(t + начинается с )а(0) ? если jLi(^) частиц. Пусть процесс т (или того, что / 2, т 0), равна вероятности того, что данный элемент не переходит в себя, а его образ переходит в себя (или в исходный элемент), то есть равна (1 -1/#М)(1/#М). Вероятность того, что длина пути до входа в цикл равна т, а длина цикла равна /, молшо найти с помощью выражения F(m, /) #М #М #м т~\~1 #М Математическое ожидание длины цикла оп ределяется равенством ср Tl-P{mJ), где Рис. 1-1. Глубрша на случайном дереве суммирование ведется по всем длинам циклов от 1 до /;? и по всем тсутО до #М. Приближенное 14 Частицы считаются неразличимыми.
19 Вероятности Pf. молшо задать с помощью про Для рассматриваемых вероятностей при боль изводящей фз^кции — формального (без учета ших d имеет место рекуррентное соотношение сходимости) степенного ряда G(z) r>0 г P(d) ехр( 1 + P(d I))- Раскладывая его в ряд, видим, что V л :. -г „_ Формальная переменная z маркирует вероят ности. Определим производящую функцию для ве роятностей вырождения процесса к поколению t p(d) P(d 1) + Q{d 2 + Q(d 3 . • Э Friz) M^^\ 15 •--5 где Q(d) P(d), причем P(d) P(d 1). Сле довательно, последовательность P(d) при нату где Л/ математическое ожидание. Имеет место ральных а монотонно стремится к некоторому равенство для производящих функций [3,5] t+\ (^) Ft (F(z)) F(F,(z)%Fo{z) ^. пределу. Этот предел единственный и равен Будем искать оценку для P{d) в виде степенного ряда Для вырол<дения процесса к поколению t + справедливо равенство p{d) Oq ~\~aJd + а 2 2 + ... . F,(^ о F(F, t-\ О F(F(/^ О 1-2 (Л О F(Fi...Fiz-)...)). Поскольку с ростом d вероятность P(d) стре- . Раскладывая мится к единице, ясно, что ао экспоненту в ряд, получаем для больших глубин Обозначим ДО вероятность вырол<дения про- асимптотическую оценку цесса к поколению /. По определению произво дящей функции получаем: Q(d) 0(1/J), Pid) o(i/dy РФ) F(z о Po e. Это событие соответствует гибели частицы без Точнее, Q(d)^2/d при больших значениях J. Ширина графа определяется выражением то потомства, а при обращении стрелок фафа — му, что данная вершина является листом. Полученная вероятность совпадает с вероятностью листа, найденной выше. Для вырождения процес- или p(d) P(d) P(d 0(l/d 2 Точнее, p(d) lid 2 при больших значениях d. са к поколению 2 (то есть в поколении При #М. 00 И процесс vXi) не или что то же самое, для того, чтобы глубина вырождается с вероятностью, стремящейся к вершины была не более 1, имеем вероятность единице [5]. Вырол<дение процесса происходит в р(1) F{F(z О (1/е)е \1е ехр( 1 + ехр( !))• моменты имеющие порядок 4Ш. Следова Аналогично, вероятность вырождения к поколению 3 (вероятность того, что глубина вершины ве превышает 2) равна тельно, и высота случайного дерева, содержаще го #М вершин, асимптотически равна 0(л/# М). Д2) О F{,F{,F(z))) ехр( + ехр( + ехр(-1))). Сжимающие свойства случайного отображения положены в основу алгоритма Полларда (см. п. 9.3.1). Индуктивный переход очевиден. Вероятность Теорема 1.4.1. Пусть/— отображение конеч гого, что глубина вершины не превышает d^ они- ного множества М в себя. Для любого х сывается башней из d экспонент: Мсу ществует натуральное число п такое. что P{d) ехр( + ехр( + ... + ехр( 1)...)). h (X) 2и {х\ где fix) М i-\ ix)). Последовательность ехр(-1), ехр(-1 +ехр(-1)). ехр( + ехр( + ехр( О)), стремится к еди \х) Пуст Доказательство. Очевидно, что равенство ч г2пг ч -. ^ /л - _ _ (х) при п возможно только в цикле. ь М лежащий в цикле корень дерева. нице снизу. Действительно, если предположить, что некоторый элемент последовательности превышает следовательности превышает 1. Продолжая этот на котором расположен элемент х. Тогда для не которого натурального к будет выполняться ра то тогда и предыдущий элемент по переход, получаем, что первый элемент последо вательности должен превышать I. Поскольку в действительности он меньше i, то и все элементы последовательности меньше венство з/=/'(^), при этом значение/ {х) будет лежать в том же цикле. Определим расстояние г между значениями/^\x) и/ (х) как число шагов, которые необходимо сделать из вершины /^ {х\ чтобы попасть в вершину/ (х). Если из вершины ''^\х) делать два шага, а из вершины/\x) — один
20 шаг, то расстояние будет сокращаться на 1. Таким образом, после г одиночных шагов в цикле получим равенство/^^Ял^) =f^^^^'\x). Отсюда п = к + г. Следствие 1.4.2. обозначениях теоремы 1.4.1 имеет место равенство п #М). Упражнения к главе Пусть а •> целые числа и / .2 лим отображение ф: (а + 60 а. Опреде- которое может быть рассмотрено как отображение множества комплексных чисел в себя. Является ли это отображение инъективным, сюръ- ктивным, биективным? Постройте продолнение отображения ф из предыдущей задачи на множество пар рациональных чисел, офаничение на множество пар чисел от О до 9. Покажите, что для любых множеств выполняется равенство С Сгл(А В) (СглА)'(СглВ) столбик Оцените сложность умножения в двух /^-битных чисел на вычислительной мо дели, использующей сложение и умножение -битных слов? Оцените слсмсность алгоритма слсшсения двух п- битных чисел в операциях сложения двух битов. Найдите асимптотическую сложность в битовых операциях деления (без остатка) числа длины 2п бит на число длины п бит на вычислительной модели, использующей сложе ние и умножение битов. Найдите асимптотическую сложность деления (без остатка) числа длины 2п бит на число длины п бит на вычислительной модели. 10 11 12 13 использующей сложение и умножение слов длины b бит. Найдите асимптотическую сложность вычисления остатка от деления числа длины 2п бит на число длины п бит на вычислительной модели, использующей сложение и умножение слов длины b бит. Найдите сложность вычисления наибольшего общего делителя двух натуральных чисел алгоритмом Евклида на вычислительной модели, использующей сложение и умножение слов длины b бит. Найдите сложность решения системы линейных уравнении методом гауссова исключе ния в предположении, что элементарной one рацией является сложение и умножение элементов матрицы. Определите экспериментально высоту дерева и длину цикла графа «случайного» отобра + x(mod/?), где/? 10 жения видаХ-^) простое число. Проверьте экспериментально поведение по следовательности. описываемой башней из экспонент, при малых и больших глубинах. Опровергните закон исключения третьего «каждое высказывание или истинно или ло жно». Литература к главе Ахо А., Хопкрофт Дж., Ульман Дж. Построение и : Мир, вычислительных алгоритмов М анализ 1979. Ван дер Варден Б.Л. Алгебра. М.: Наука, 1979. Гульден Я., Джексон Перечислительная ком бинаторика. М.: Наука, 1990. Кнут Д. Искусство программщювания для ЭВМ. X т. Т. Основные алгоритмы. М.: Мир, 1976. Т. 2: ПолучисленБые алгоритмы. М.: Мир, 1977. Колчин В.Ф. Случайные отображения. М.: Наука, 1984. Ленг С. Алгебра. М.: Мир, 1968. Манин Ю.И. Классическое вычисление, квантовое вычисление и факторизация Шора // Кванто вый компьютер и квантовые вычисления. Ижевск Ижевская республиканская типография, 1999 Т. 2. С. 248-286. 10 И 12 Математический энциклопедический словарь. М. Сов. энциклопедия, 1988, Успенский В.А., Семенов А.Л. Теория алгорит мов: основные открытия и приложения. М.: Hay ка, 1987. Фейнман Р. Моделирование физики на компью терах // Квантовый компьютер и квантовые вычисления. Ижевск: Ижевская республиканская типография, 1999. Т. 2. С. 96-124. Феллер В. Введение в теорию вероятностей и ее приложения. В 2-х т. Т. 1. М.: Мир, 1984. Шор П. Полиномиальные по времени алгоритмы разложения числа на простые множители и нахождения дискретного логарифма для квантового компьютера // Квантовый компьютер и квантовые вычисления. Илсевск: Ижевская республиканская типография, 1999. Т. 2. С. 200-247.
13 14 15 16 Adleman L.M. Molecular computation of solutions to combinatorial problems // Science. 1994. Vol. 266. 1021 1024. Braich R., Johnson C, Rothemund P., et al. Solution of satisfiability problem on a gel-based DNA computer // DNA computing 6-th international workshop. Leiden, Netherlands. June, 2000. P. 31-42. Chuang L., Laflamme R., Shor P.W., Zurek W.H. Quantum computers, fectoring and decoherence. Tech- ufrgs. nical Report LA-UR-95-241 // http://www.if br/-jgallas /QUBITS/CURSO/fatoracao9503007. pdf Hughes R.J. Quantum computation. Technical Re port LA-UR-98-288 // Feynman and Computation, 17 18 19 A.J.G.Hey (ed.), Perseus, Reading, 1999 //p23.lanl.gov/Quantum/papers/feynman.pdf http Menezes A., van Oorschot P., Vanstone Handbook of Applied Cryptography. CRC Press, 1997. Roweis S., Winfree E., Burgoyne R., et. al. A sticker based model for DNA computation // Proceedings of the second annual meeting on DNA based computers. Princeton iHiiversity. June, 1996. P. 27. Shor P.W. Algorithms for quantum computation discrete logarithms and factoring // Proceedmgs of the IEEE 35-th ann. Symposium. On Foundation of Computer Science, 1994. P. 124-134.
Глава 2. ГРУППЫ Аппарат теории групп является основопола ающим в криптографии. решимости уравнении ах уа Для до казательства достаточно подставить эти ре шения в уравнения: 2.1. Понятие группы а(а фа \ 1 {аа Ыа 1 еЬ 1 be (Мультипликативной) группой называется Предположим, что есть два решения х\ и Хо множество G^0, на котором задана бинарная 1ссоциативная операция, обычно называемая умножением^ если выполняются следуюидие усло- уравнения ах и ахо слева на а Умножив равенства ахх -I -1 а ^ ахо а 1 получим а аХ] а I ? 6, отсюда л: 1 а Хо ъия. Однозначность деления. Если ах ау, то X К Замкнутость по умножению: для любых а. если ха-уа^ тох~у. Для доказательства умно- G выполняется аЬ G. В множестве G существует единичный элемент жим равенство ах — ау слева на а , равенство ау. ха уа справа на а . Получим а 1 ах а 1 е такой, что еа ае а для любого а G. Для любого а е G существует обратный эле следовательно, ех чае получим хаа 1 еу, X уаа 1 V. Во втором слу ? хе уе,х У- мента Gтакой, что а а an е группе существует единственный единиц Группа G называется абелевои, или коммута пивной^ если операция умножения коммутативна. определении группы операция (умножение) ie конкретизируется. Гр)/пповой операцией мо- кет слулштъ и сложение, например, сложение це- 1ЫХ чисел. Если операция называется слоэюением. ныи элемент. Доказательство следует единственности решения уравнения ах из а. Каждый элемент группы имеет единственный обратный элемент. Доказательство следует из единственности решения уравнения ах е. го группа является аддитивной Обращение произведения {аЬ) 1 1 а 1 доказательства достаточно умножить части равенства справа или слева на (аЬ) Для обе этом случае единичный элемент называется нулем, а вместо эбратного элемента а'^ используется противопо- южный элемент -а. Аддитивная абелева гр)/ппа называется модулем. В аддцтивной группе вместо циативнои операции умножения, называется по Множество, замкнутое по отношению к ассо ^+( для краткости пишут а а в мульти 1 [шикативной группе вместо аЬ пиш> а X нием Называть операцию сложением или умноже- дело вкуса. Операцию обычно называют лугруппои. Если это множество обладает единич ным элементом, то оно называется моноидом. Единичный элемент е в моноиде единственный, так как из предположения о существовании дру гого единичного элемента е' вытекает равенство Если умножение коммутативно, то е ее е :ложением, если на элементах гр>т1пы задана другая операция или отображение, которое опре- целяется как умножение. Умножение одного и того же элемента на себя полугруппа называется коммутативной. Если рассматриваемое множество замкнуто записывают в виде степени: а а а 2 cfa" (Г +и по отношению к операции умножения и каждое имеет единственное ха [сГ) 1 5 а т (сГ) П сГ Очевидно, что здесь т из уравнении ах решение при любых а, 6, то это множество назы п целые числа. вается квазигруппой. Элементы, для которых выполняется равенст во а = а, называются идемпотентными. Гр>т1пы обладают следующими свойствами. Уравнения ах и у а в гр\т1пе G всегда имеют единственные решения ? а именно X а 1 и Ьа 1 Поэтому условия Пример 2.1.1. Полугр>т1пы. 1. Натуральные числа по сложению образуют полугруппу без нулевого элемента и по умноже- можно заменить условием однозначной раз- нию образуют моноид.
23 2. Отображения множества в себя образуют по- группы являются сама группа и единичный эле лугруппу, в которой умножение определяется как мент. композиция отображений (ассоциативность умножения отображений доказана в теореме 1.1.1). Пример 2.2.1. Подгруппы. Подмножества некоторого множества с Группа 4- целых чисел по сложению со операцией объединения образуют коммутатив- держит подгруппу 2Z четных чисел и подгруппу ную полугруппу, любой элемент является идем- пЖ чисел, кратных натуральному числу/7. потентным. Подмножества Группа Q* ненулевых рациональных чисел некоторого м ножества с по умножению содержит подгруппу (1, и операцией пересечения образуют коммутатив- подгр>тту рациональных чисел, представляю ную полугруппу, любой элемент является идем- щих собой положительные и отрицательные це потентным. лые степени двойки. 3. Группа невырожденных квадратных матриц Пример 2.1.2. Группы по умножению (муль- содержит в качестве подфуппы группу невыро- типликативные группы). жденных верхних (нижних) треугольных матриц. Множество * ненулевых рациональных чисел. в которой единичным элементом является еди ничная матрица. Множество комплексных корней п~я степе Если F и Н— подгруппы туппы G то ни из гГ\Н— подгруппа группы G. Действительно Множество подстановок (обратимых ото из е е бралфнии конечного множества в себя. см а е Н следует Нследует а ^ Fг\Ни е Fr\H. а 1 из F Г\Н\ из а Z 5 а 5 П. 2.5). Если подстановки, то их произве eF и а, 6 е 77 следует аЬ ^ F г\Н. дение TS определяется как T{S{x)) для некоторого X. Единичным элементом группы подстановок Центр группы G является ее подгруппой. принадлежат центру является единичная, или тождественная, подста новка, обеспечивающая Six) X. Действительно, если а, группы, то для всех элементов х группы и имеет место равенство ах = ха. Умножая слева и справа . Множество невырожденных (обратимых) квадратных матриц одного и того же размера. 1 это равенство на а , получим . Множество вращений плоскости относительно начала координат. . Группа кватернионов^ состоящая из восьми а 1 аха 1 а ^хаа 1 учетом равенства а 1 а аа 1 е получим ха а jc, то есть центр вместе с каждым эле- элементов ±1, ±/, ±/, ±к с законом умножения ментом содержит и обратный элемент. Умножим / е -ji k,jk ik I i,{ ■J -J Л ■ k k,( 2 J. равенство ax = xa на b. Получим bax лу перестановочности элементов a abx bxa. СИ и X имеем xab, то есть центр вместе с элементами а, b Операция умножения подстановок и операция содержит их произведение. умножения матриц в общем случае не коммута тивны, следовательно, некоммутативными ока зываются и соответствующие группы. Группа, образованная положительными и от рицательными степенями одного элемента а, на Элементы а, b группы, для которых выполня- зывается циклической и обозначается (а): ется равенство аЬ Ьа называются перестановочными. Совокупность элементов, перестано вочных с любым элементом группы. (а) {..., а Г} ? •? а 1 ,а о 1^ 9 ^^^4 Ф а « * (^ ^ * • • I » называется Элемент а называется образующей цикличе- ее центром. Центр любой фуппы содерлшт еди- ской группы (а). Если в циклической группе нет одинаковых элементов, то она называется сво Группа называется конечной, если число ее бодной. Примером свободной циклической фуп ничныи элемент. элементов является натуральным числом, в про пы может служить группа целых чисел отно тивном случае группа бесконечна. Число элемен- сительно сложения; образующей является число тов конечной грлппы называется ее порядком. (или 1). Циклическая грлппа является конечной, если 2.2. Подгруппы среди ее элементов есть равные. Если а сГ при т, то т е, так что в этом случае некоторая г Подмножество Н группы G называется под- степень с натуральным показателем образующей ^ 1 ТТ 1 - ТТ —1 ХГ _ S' . _.V руп пой. если из а. b е Н следует аЬ ^ Н и а ? группы равна е. Наименьший натуральный пока G Н. Тогда е аа Н. Подгруппами любой затель, обладающий этим свойством, называется порядком элемента а. Если порядок элемента а 1 Операции умножения ъСшН совпадают. равен и, то среди элементов е, а 5 •1 сГ нет рав
24 ных (в противном случае выполнялось бы*/ сГ при т, тогда т е кии же элемент 1 вида сГ противоречие). Вся конечно порожденной свободной абелевой груп- заданного множества образующих пе равен одному из е 5 аь . для •5 ^П каждый элемент о с точностью до эле из а, ...^а ^ именно а, где г— остаток от деления мента т на п. Таким образом, порядок циклической (векторным) группы, образованной элементом порядка w, тоже равен п. группы кручения характеризуется индексом 1 (/"ь ..., (Л таким, что '1 I ta'{ ...а'^ Множество образующих можно рассматривать Для любого элемента b циклической группы как множество букв из некоторого алфавита _ И/? !-■ __ ГГ _ -1 __ _ ^ _ 5 порядка п имеет место равенство е. Если по- при этом если а— буква, то а тоже буква. Из рядок циклической группы {а) является простым, букв можно составлять слова, в том числе одно- то {а) не имеет подгрупп, отличных от {г} и (а), буквенные и пустое слово, не содержащее ни од- в противном случае циклическая группа имеет ной буквы. В словах допускается сокращение, при подгруппы. Например, если п 12, то группа котором подряд стоящие буквь! аа или а а вы имеет подфуппы порядков 2, 3, 4, 6, образован- черкиваются. Определим ные соответственно элементами а •> а •> а 5 С^. операцию умножения слов как конкатенацию, то есть приписывание к Циклическая группа всегда абелева. Это не- первому слову второго слова. Символ конкатена- посредственно следует из коммутативности ело- ции не представлен ни одной буквой. Например, ения для целочисленных показателей; (abbe) bed) abbbea. Эквивалентность слов ctaf г^ а fvh а fct. Если а — образующая конечной циклической группы G порядка и, то каждому элементу можно взаимно однозначно сопоставить (скалярный) индеке его или диекретный лога рифм целое число т, Q<m<n такое, что определим как их совпадение с учетом указанного сокращения. Такое умножение определено на всех словах и обладает ассоциативностью. Единичным элементом является пустое слово; каждое слово имеет обратное, записанное «задом наперед» и состоящее из обратных букв. Например, обратным к слову аЬеа' е будет слово е" ae^^b'^cf . По- Пусть а некоторый элемент группы G. То ._ ^ гг -2 -1 этому слова с операцией конкатенации и указанным сокращением образуют свободную группу. гда элементами группы G будут также ..., а ? а 5 а а , (Г, а •> Если G содержит еще один элемент не являющийся степенью элемента а. Подмножество 5" букв из алфавита S такое, что элементом *S" является только одна из букв а или а~^^ называется еиетемой образующих группы. то элементами группы G являются и всевозмож ные произведения ао, оа, а bba, baab ab и во Пример 2.2.2. Система образующих группы обще произвольные конечные произведения вида ..., где И/ G Z. Среди этих произведе- SL2(Z). аЧ"' а 3?«4 Рассмотрим множество квадратных матриц НИИ могут быть равные. Такие произведения об размера 2 с элементами из Z. Произведение таких разуют подгруппу Н группы G. Если группа Н матриц обладает свойством ассоциативности и да- бесконечна, то она называется евободной груп- ет матрицу с элементами из Z. Чтобы обратная 5 ее определитель пой, образованной элементами а и о, а сами эле- матрица имела элементы из менты анЬ называются образующими группы Н. доля^ен бьггь равен ±1. Такие матрицы обра:уют общем случае группа может содержать не- (общую линейную) группу GL2(Z). Эта группа со- сколько и даже бесконечно много элементов (образующих), ни один из которых не представим в виде произведения других элементов. Например, держш^ подгруппу SL2(Z) матриц с определителем , называемую модулярной группой. Систему об- образующими группы Q рациональных чисел по умножению являются все простые числа. Аналогично определяется свободная группа. Если бесконечная группа не имеет элементов ра:^^ющих группы SL2(Z) составляют матрицы полу и , причем 2 и грП п . Доказательство этого утверждения см конечного порядка, то ее называют группой без кручения. В противном случае группа имеет кручение . Элементы конечного в работе [6]. порядка в такой группе составляют группу кручения. Например бесконечная группа содержит группу круче ния 5 Бесконечная группа Z с операцией сложения является группой без кручения. Если множество образующих группы конечно, то говорят, что группа конечно пороэюдена. В Множество аН (соответственно, //а), где Н— подгруппа группы G и а— некоторый элемент из G, называется левым смеэюным классом (соответ- 2 SL2(Z) называется также специальной линейной группой.
ственно, правым смеэюным классом) группы G по подгруппе Н. Смежные классы иногда называют классами смежности. Между элементами группы Н и элементами правого смежного класса На имеется естественное взаимно однозначное соответствие •? ? 11, 16, ...}, АО, ... I 5 I • • • ? ? 3, 10, , 12, 17, 19, •? 1,6, 13, 20, ...},{..., 14,...}. Смежные классы можно задать числами (наименьшими неотрицательными Z za г/. и иа 1 Z. представителями). ь . *' .-^Ч !< Если подгруппа Н конечна, то число элемен Элемент называется сопряэюенным с тов в каждом правом смежном классе равно по- элементом а, если существует элемент G G та рядку группы Н. В абелевой группе левый и пра- кой, что 1 ah. Сопряженность является экви выи смежные классы совпадают. валентностью, так как это отношение рефлек ah еле сивно Теорема 2.2.1. Два правых смежных класса дует а е аеХ симметрично (из -1 \—111 —]\ hh группы G по подгруппе Н либо совпадают, либо не имеют общих элементов. с bg следует с и транзитивно (из 1 ah и ihg) aihg)) Подгруппа N группы G называется нормальной. Доказательство. Достаточно установить, что если она вместе с каждым элементом содержит все, если два правых смежных класса имеют общий с ним сопряженные. Эквивалентное определение элемент то они совпадают Пусть X На и нормальной подгруппы: N 1 Ng для любого X е Но. Рассмотрим смежный класс Нх. Так как G (то есть gN=Ng, элементы нормальной под хе На, то X za Нх Hza при некотором zgH 1 Ha.Hoa~z X, так что На = Hz х Следовательно, На Нх. Аналогично, НЬ и Нх. Нх, со всеми элементами групп ы перестановочны группы). Правые и левые классы по нормальной подгруппе совпадают. Каждая группа содержит так что//а т. - к i нормальную подфуппу, например, саму себя или подгруппу, состоящую из единичного элемента. Теорема 2.2.2. Группа является объединением Центр группы является ее нормальной подгруппой. попарно непересекающихся правых смелшых абелевой группе любая подгруппа нормаль- классов по подгруппе. на, однако обратное неверно: если любая под- Доказательство непосредственно следует из группа группы G нормальна, то G не обязательно теоремы 2.2.1, ибо любой элемент а фуппы принад- абелева. Любая подгруппа Н группы G индекса 2 явля леншт некоторому смежному классу, именно На, а различные классы не имеют общих элементов. ется нормальной. Действительно, существует Таким класс может образом, быть элемент g G\H такой 5 что Н U gH. Поэто каждый правый смежный му g//является дополнением НвО. Но точно так представлен единственным же G = Н^ Hg и Hg является дополнением Н в элементом. Указанное в теореме 2.2.2 разбиение G. Поэтому//g группы называется разлоэюением группы по под- gH. - ^--'-V-* "1-^ Теорема 2.2.4. Смежные классы группы по группе. Число (правых) смежных классов группы G по подгруппе Н называется {правым) индексом нормальной подгруппе //образуют подфуппу в G. подгр^ты Н. Для левых смежных классов имеют Доказательство. Рассмотрим произведение место аналогичные утверждения. Число смеж- смежных классов (аН)(ЬН) аНЬН аЬНН аЬН •. i'-л я -к ■ >^- ных классов обозначается (G : Н). Тогда порядок то есть произведение смежных классов является конечной группы равен (G : {е}). смежным классом и соответствует произведению их представителей. Представители являются эле- Теорема 2.2.3. Пусть G — конечная группа и ментами фуппы G, поэтому их произведение ас- HzdF, где H,F—подгруппы группы G. То- социативно. Единичным элементом подгруппы, образованной смежными классами, является сама G Tm{G:F) = {G:H){H:F). Доказательство. Запишем G, Н в виде объ- нормальная подгруппа Н. Обратным к классу аН прений непрпегекярпп11>гегя сме"жнк1Х классов: является кпясс сГ /7. ■ единении непересекающихся смежных классов: G = KJigjH), H=\J{hjF). Умножив второе равен ство на gi, получим gfl^KJigihF)— объедине ние попарно непересекающихся множеств. то есть G = \j{gjhjF). Пример 2.2.3. Смежные классы. Пусть G то есть Н (группа по сложению), Н 7Z, Группа, образованная смежными классами группы G по нормальной подгруппе Н, называется факторгруппой G по Ни обозначается G/H це- крат Эта Так, смежные классы аддитивной группы лых чисел по подгруппе тЖ целых чисел ных т составляют факторгруппу 1 • • •? 14, 14,...}. Тогда факторгруппа порядка т является циклической с смежные классы по Н: \..ш^ 5 15, ...}, образующей W Ъ f-^-^ --r-l_^:^tiri j^ - -
26 23. Гомоморфизмы и изоморфизмы Пусть и G I группы с операциями и * называ ф(а) * Ф(й) Часто операции в группах G соответственно. Отображение ф: G ется гомоморфизмом^ если (р{а для любых а, и G' полагают очевидными и гомоморфизм определяют как ф(ай) = ф(а)ф(й). Понятие гомоморфизма можно определить и для полутрупп: это отображение полугрупп ^2 г такое, что (^{siSj) = фС^Оф^) iVia любых ^ь . Поскольку каждая группа является также полугруппой, то можно определить гомоморфное отображение полугруппы в группу и обратно, гомоморфное отображение группы в полугруппу. Пример 2.3Л. Гомоморфизмы. 1. Гомоморфизм мультипликативной группы положительных вещественных чисел в ад- >0 дитивную группу задать следующим образом: вещественных чисел можно log: (R>o * + ? logxy logx + logy. X, у >0 2. Гомоморфизм аддитивной группы DR. + вещественных чисел в (R >0 * мультипликативную группу положительных вещественных чисел ехр: [R н- (R * >0 ехр(х + у) р(х) ехрО), х,у R^ Для каждого элемента а е G отображение а а", где п еЖ, есть гомоморфизм группы G в себя. Биективный гомоморфизм (p'.G-^G' называ ется изоморфизмом групп G uG\ группы называются изоморфными; обозначается uG' G. Гомоморфизм ф: G G называется эндомор физмом. Эндоморфизмы допускают умножение как композицию отображений группы, при этом — эндоморфизмы, то ф\|/ — эндомор- если физм. и Эндоморфизмы группы образуют моноид End(G) по умножению, единичным элементом которого является тождественное отображение. 3 Например, существует гомоморфизм полугруппы целых чисел по умножению в мультипликативную группу вычетов по модулю простого или составного числа п, при котором умножению целых чисел в £. соответствует умножение их образов — вычетов по модулю п. Этот гомоморфизм положен в основу методов дискретного логарифмирования и разложения, используемых в криптографии с открытым ключом при анализе стойкости криптографических алгоритмов. 4 По определению ФЦ/(а) = ф(м^(й)). Изоморфизм ф: G -^G называется автоморфизмом. Произведение автоморфизмов является автоморфизмом. Автоморфизмы группы образуют группу автоморф измов, обозначаемую Aut(G). Единичным элементом этой группы является тождественное отображение. Отображе- являются автоморфизмами ния а а и а а циклической группы. Множество элементов группы G, которое при гомоморфизме i^'.G-^G переходит в единичный элемент, называется ядром гомоморфизма и обозначается КегГф). Как любое отображение, го моморфизм имеет образ (который может не совпадать с О). Образ гомоморфизма обозначается 1т(ф). Инъективный гомоморфизм i^-.G-^ G\ который устанавливает изоморфизм между группой G и ее образом в G', называют влоэюением.^ Например, группа рациональных чисел может быть вложена в группу вещественных чисел. Лемма 2.3.1* Гомоморфный образ группы яв ляется группой. Доказательство. Пусть G' — гомоморфный их образ группы G. Пусть а, й, с е Gud,b\c' — гомоморфные образы. На множестве G' по определению гомоморфизма задано умножение. Из а(Ьс) следует (а'Ь')с' = a\b'd) — ассоциа- {аЬ)с тивность умножения в G. Из ае а следует а е d, то есть в G существует единичный элемент е\ Из существования для каждого а ^ G такого что Ьа Vd такого, что имеет обратный. е^ следует существование е\ то есть каждый элемент в G G Лемма 23.2. Ядро гомоморфизма ф: G является нормальной подгруппой группы G. Доказательство. Сначала покажем, что ядро гомоморфизма является подгруппой. Пусть а. Кег(ф). Тогда ф(ай) = ф(а)ф(й) / „/ ее е f ? то есть ядро замкнуто по умножению. По определе J „ *■ _-К „ / _л-1 / ./\—1 _/ _ нию гомоморфизма ф(а ф(а) е то е аа 1 ie') Кег(ф). Тогда Кег(ф). Поэтому ядро гомоморфизма есть если а е Кег(ф), то и а является подгруппой группы G. Для левого смежного класса аКег(ф) имеем d. Пусть ф(й) = d. Определим элемента х из уравнения ф(аКег(ф)) гомоморфный а е образ Ыах) Тогда dx'=a\ х'=е\ следовательно. а t аКегГф). Значит, класс, соответствующий элементу а, является левым смежным классом аКег(ф). Таким же образом можно показать, что класс, соответствующий элементу а', является правым 5 Шедполагается, что операции умножения в G и G' совпадают.
27 смежным классом Кег(ф)а. Получаем аКег(ф) = Кег(ф)а. Следовательно, Кег(ф)— нормальная подгруппа. Построим гомоморфный образ G группы G с заданным ядром гомоморфизма И. Теорема 2.3.3 гомоморфизмах групп)» Гомоморфный образ G г группы G изоморфен факторгруппе группы G по ядру этого гомомор физма Обратно, каждая нормальная подгруппа Н определяет гомоморфизм, для которого она является ядром. Доказательство. Первая часть утверждения доказана в лемме 2.3.2, вторая часть доказана в теореме 2.2.3, так как равенство {аН){ЬН) = аЬН определяет гомоморфизм групп G и G///, при этом Н является ядром гомоморфизма. Следовательно, имеет место изоморфизм G f GIH. Теорема о гомоморфизмах групп устанавлива ет существование единственного изоморфизма такого, что диаграмма рисунка 2.1 коммутативна. / G t G/H Рис, 2,1, Коммутативная диаграмма гомоморфизмов групп Гомоморфизмы групп иногда изображают в виде следующих диаграмм. Пусть G Ф >G \1 2 >G 3 последовательность из двух гомоморфизмов. Будем говорить. что эта последовательность точная, если 1т(ф) = Кег(\|/). Например, последовательность Н Ф >G \> >о/н является точной, если Н— нормальная подгруп- — вложение, \|/ — гомоморфизм па группы G, ф Пример 232, Изоморфизмы. Пусть G циклическая группа порядка п тк. Пусть Н— ее подгруппа, порожденная , где а— образующая группы G. элементом Ясно, что порядок элемента равен т и порож денная им группа состоит из элементов е. а •> э а' *. Представителями о ? смежных классов G по Н могут служить а , а, ..., а^. Умножение смежных классов сводится к сложению показа- порождает Н. Таким L ибо телеи по модулю образом, здесь факторгруппа изоморфна цикли ческой группе порядка к. Целые числа ? ,...,// с операцией умно жения по модулю простого числа р образуют циклическую группу (см. теорему 4.3.6). Для р=11 множество образующих: {2, 6, 7, 8}. Для образующей 2 группа содержит десять элементов: {1, 2, 4, 8,5,10,9,7,3,6} — — ЭТО степени двойки от О до 9. Следовательно, автоморфизм полностью определяется образом образующей. Поэтому группа ав томорфизмов содержит четыре элемента: ф(2) 1 (тождественное отображение), ф(8) .^хч о9 г» . .1 ,Ф(7) 7 ? ф(6) = 2^. Видно, что автоморфизмы группы соответствуют возведению образующей в степень, взаимно простую с порядком группы. Если G циклическая группа порядка п и G = H, то группа Н тоже циклическая того же порядка. Действительно, группа G имеет образующую а и все элементы группы G являются степенями элемента а. Тогда изоморфный образ элемента а в группе Н является образующей циклической группы Н порядка п. Следовательно, порядок группы Н кратен п. Но изомор физм взаимно однозначное отображение, ка ждыи элемент группы Н имеет единственный прообраз в группе G. Следовательно, группа Я— циклическая порядка п. Каждой паре элементов э поставить в соответствие группы G можно коммутатор их fe^] ghg h , при этом [g, h] G переставляет элементы gun: [g, h]hg = gh. Если элементы ■й n перестановочны, то [g^h] = e. Интуитивно ясно, что чем больше в группе коммутаторов, тем сильнее она отличается от абелевой. Множество всех с ядром Н. Более длинная последовательность коммутаторов группы G образует подгруп пу называется точной, если она гомоморфизмов точна в каждой паре последовательных гомо морфизмов. Например, точность последователь [G,G] группы G, группы G, где [g, g] называемую коммутантом е единичный элемент и fe^] 1 1 1 [/г, g]. Поскольку а [G,G]a = a a[G,G] ности е >Н ф >G 41 >G/H >е означает, что инъективно э сюръективно и = [G, G], то коммутант — нормальная подгруппа. Факторгруппа G/[G, G] является абелевой. Характером конечной абелевой группы G на зывается гомоморфизм у группы G в группу * 1т(ф) Кег(ш). Здесь Кег(ф)= {е}, если группы ненулевых комплексных чисел. Для x.yeG вы Я, G мультипликативные (в случае аддитивных полняется равенство XWXO) %(Р^У% %(.е) групп пишут о вместо е)и Н= Кег(\|/). При этом У(а)у(а Любое комплексное
28 число может быть записано в виде ге"^. а по скольку I .2 1 И г.е^^^г^е'^'^ -nvje /■(ф,+<Р2'* 1 2 э ТО ЛЮ для т е М. Элемент е индуцирует тождественное отображение. бому значению характера соответствует г 9 то Отображение т Um) является гомомор физмом группы G в группу подстановок множе есть значения характера являются комплексными стъг^ М корнями из Если Xi и Х2 — характеры группы G, то можно определить произведение характеров XiXiip) как 7i(^f)X2('^). Произведение характеров являет- Пример 2.4.1. Действие группы на себе, качестве множества М может использовать ся сама группа G. Для всякого элемента ся характером группы G. Определим характер определим отображение G а G равенством (а у{а), где черта означает аЛх) формулой ху. Это действие группы G на себе на- комплексное сопряжение, и единичный харак- зывают сопряэ^сением, или трансформировани тер 8, где г{а) для всех а е G (произведение ем. Каждое отображение о,, является автомор сопряженных комплексных чисел с единичным физмом группы G, то есть для всех z,xe име модулем равно единице). Таким образом, харак- ^х место a(xz) теры абелевои группы G образуют абелеву Oyix)aJz) и обладает обратным что достигается заменой у на у . Таким образом группу. отображение у -^ Оу есть гомоморфизм группы G в ее группу автоморфизмов. Ядро этого гомо- Теорема 2.3.4. Пусть G — циклическая груп- морфизма состоит из таких элементов у, для ко ху X для всех па порядка п и а — ее образующая. Тогда каж- торых выполняется равенство дый характер группы G может быть представлен х е G, то есть из всех у, перестановочных со все в виде %к(^ т е Inimk/ 0<т<п 5 ДЛЯ не которого ? 0<к<п %о группа характе ров изоморфна группе G. ми элементами группы. Другими словами, ядро гомоморфизма группы совпадает с центром этой группы. Доказательство. Пусть характер груп пы G. Тогда и (а) Х(^") х(^) Аналогично определяется действие полугруппы ? то есть все на множестве М. В общем случае полугруппа характеры циклической группы порядка п явля- представляет собой набор отображений (не обяза ются Х(«) корнями %к(^) степени п из Поэтому ^27iik/n ^j^ некоторого k,0<k<n Тогда %Ja т е 2 nikmjn Таким образом, все ха тельно обратимых) множества М в себя. Множество всех отображений множества из п элементов в себя допускает ассоциативное умножение (см. теорему 1.1.1) и поэтому образует полугруппу. Пере- рактеры группы G различны и образуют группу нумеруем элементы этого множества от О до и . Эта группа циклична с Отображения можно задавать таблично. Каждое следовательно, изоморфна корней степени п из образующей группе G. XI и. отображение / полностью определяется набором образов fiQ\ .. .,fin Если числа от до п 2.4. Действие группы на множестве считать буквами в некотором алфавите, то сущест вует взаимно однозначное соответствие Пусть М— некоторое конечное множество из между множестюм отображений и множеством слов из п- буквенного алфавита. Число таких слов равно гГ. п элементов, G — группа. В общем случае множество Ми группа G имеют различную природу. Например, М— множество из десяти цифр, а 2.5. Группа подстановок G множество всевозможных перестановок Подстановка это взаимно однозначное этих цифр. Под действием группы G на мноэюе- стве М понимают отображение G х М-^ М такое, что если д: G G, /77 G М, то хт е М, где через хт обозначен образ пары (х, т). Множество М называют G-мноэюеством. Имеет место равенство: отображение конечного множества в себя. При соответствующей нумерации (или упорядоче (ху)т х(ут\ ет т нии) элементов конечного множества М, на котором определена подстановка, ее можно свести к подстановке на некотором конечном подмножестве натуральных чисел. Любая подстановка для любых X 5 т М: е единичный эле является элементом некоторой группы, задаю- взаимно однозначное отображение этого щей мент группы G. Каждый элемент х группы G ин- множества в себя. дуцирует взаимно однозначное отображение (перестановку элементов) множества М: 6 6 TJm) хт Иногда говорят не о подстановках, а о переста новках элементов множества М.
29 Совокупность всех подстановок, действую- же в степень НОК(Гр ..., г.)), дает тождествен щих на М, определяет симметрическую группу #М Действительно, в силу обратимости п для каждой подстановки существует обратная подстановка. Единичным элементом группы является тождественная подстановка. Произведение подстановок определяется как последова ную подстановку. Таким образом, подстановку можно задавать набором циклов. Степени подстановки образуют циклическую подгруппу симметрической группы. Действительно, произведение подстановок является под- тельное выполнение этих подстановок. Если множество М состоит из п элементов, то симметрическая группа имеет порядок п\. Если некоторое множество подстановок образует группу, то становкои, операция умножения ассоциативна; подгруппа степеней подстановки S содержит тождественную подстановку; подстановка S^^ непо- под- средственно предшествует тождественной становке в она является подгруппой симметрической груп пы. Заметим, что симметрическая группа неком мутативна. Пусть задана подстановка на множестве нату {S,S 2 3 J s\. последовательности подстановок Коммутативность подгруппы следует из коммутативности сложения для показателей: S'S' S'S I l+J ральных чисел J ? ■5 п. Подстановки можно Транспозицией называется подстановка. со представлять различным образом: в виде табли- храняющая неподвижными все элементы, кроме цы, в виде функции (для небольшого класса под- двух, которые меняются местами, становок аналитическое представление может Каждая подстановка может быть представле- быть сравнительно простым), в виде произведе- на (различными способами) как произведение ния циклов. конечного числа транспозиций. Например, если Обычно подстановка представляется в виде транспозицию, переставляющую местами эле- таблицы из двух строк: первая содержит числа менты i и /, обозначить (/,/'), то подстановку с 2, ...,п в естественном порядке, а вторая об цикловым строением (6), (1, 5, 7), (2, 8, 4, 9) разы соответствующих элементов первой строки Например, для п можно получить из тождественной подстановки последовательным применением следующих транспозиций (очередность слева направо): (1.7), (7, 5), (2, 9), (9, 4), (4, 8), (8,3). Отсюда вытекает алгоритм представления Вообще говоря, первая строка не несет ника кой информации, поэтому она может быть опу щена. Нижняя строка содержит некоторую пере становку чисел 1,2,..., п. Рассмотрим результаты многократного при менения подстановки к множеству чисел, на ко подстановки, заданной совокупностью циклов, в виде произведения транспозиций. Достаточно построить представление для одного цикла (г'ь ...,4). Этот цикл состоит из транспозиций (/ь 4), (4, ik-i) 5 • • • ? тором она определена. Поскольку это множество Разбиение подстановки S на циклы индуциру ет эквивалентность. Два элемента аи b множест конечно, то для числа а и подстановки ;^ после ва ? на котором действует подстановка, эквива довательность а. S(a\ S(S(a)) S\a\ S (а\ ... э дает цикл, образованный элементом а. Очевидно что такой же цикл дают любые числа, лежащие в цикле, образованном числом а. Выбрав число не принадлежащее этому циклу, можно постро лентны, если существует натуральный показа j/^\ - /-^ Зто отношение сим тель j такой, что S (а) метрично (если а переводится в й, то й некоторой степенью подстановки S переводится в а), реф лексивно {а переводится в а тождественной под ить другой цикл, образованный числом Про должая эту процедуру до тех пор, пока не будут перечислены все числа 1, 2,..., Л2, получим представление подстановки в виде совокупности непересекающихся циклов. рассмотренном примере имеются следую- , 4, 9). Длины щие циклы: (6), (1,5,7), (2, циклов, образованных числами соответственно. , равны. Если в общем случае становкои), транзитивно (если а переводится в b переводится в с, то а переводится в с). Поэтому каждый элемент множества {1, 2, ...,п} входит в один и только в один цикл. Таким образом, последовательность циклов в записи подстановки можно произвольно менять — это все равно будет та же подстановка. Последовательность длин циклов подстановки задает ее цикловый тип. Наиболее часто встре- подстановка разбивается на циклы длины чающийся тип подстановки из п элементов имеет г V • • • ? ' /? то подстановка, полученная возведени один цикл длины л и один цикл длины / ем исходной подстановки в степень г J да Пусть подстановка представлена в виде про- циклов длины Г/. Составим сумму изведения '=1 (п 1) + (Г2 1)+...+(г, J равную п L Значе-
30 ние суммы называется декрементом подстановки двумя подстановками: 5*1 S. Если декремент четный, то подстановка называ- 9 2, 3, 4 7, 8, и (8, 7, 4, 3, 6, 5, 2, 1). Цикловое строение под стоя четной, в противном случае подстановка на- становок имеет вид: (1), (2), (3), (4), (5, 7), (6, приме для 1 и (1, 8), (2, 7), (3, 4), (5, 6) для ^2. Орбита зывается нечетной. Любая транспозиция, ненная к подстановке, меняет ее четность. Поэто- элемента 3 относительно группы G равна {3, 4}, му транспозиция является нечетной подстанов- орбита элемента 1 равна {1, 8, 6, 5, 7, 2}. Эле- кой. Число четных подстановок равно числу не- мент 1 переводится в 8 подстановкой Sj, в четных подстановок той же степени. Произведе- становкой 52515*2, в 2 подстановкой 525|525i52. под ние четных подстановок является четной подстановкой. Четные подстановки образуют нормаль- Пусть М {хи 5 ^п] • Определим стабили щю подгруппу группы подстановок, называемую затор элемента т ^ М как множество подстано знакопеременной группой. Знакопеременная группа вок, сохраняющих элемент т неподвиишым. является коммутантом симметрической группы. Стабилизатор данного элемента является под- Рассмотрим один цикл подстановки, содер- группой группы подстановок. В симметрической жащии некоторое подмножество элементов группе и стабилизатор изоморфен группе rt-i множества М 2, ...,п}. Этот цикл содер- Смежные классы группы п по стабилизатору жится не только в рассматриваемой подстановке, элемента Х\ состоят из всех подстановок, перево но и в других подстановках, определенных на дящих х^ в элементы Х/, пробегающие все множе том же множестве. Свяжем с данным циклом ствоМ подстановку, определенную на М, которая все Если группа G действует на себе посредством элементы множества М, не входящие в данный сопряжении ? то цикл. оставляет неподвижными. Тогда любая мал изатором стабилизатор G. называется элемента х нор- этом случае подстановка, разложенная на циклы, может быть число орбит конечной группы G определяется по представлена в виде произведения подстановок, связанных с этими циклами. формуле #0 y(G:G X Обобщением понятия цикла является орбита. Пусть G — группа подстановок, действующих на /еС где множество представителей различных множестве М. Тогда G является подгруппой симметрической группы. Определим орбиту элемента т е М относительно группы подстановок G как подмножество О^Мтакое, что любая подстановка из G не выводит элемент т за при этом для любого элемента классов сопряженных элементов; G^ — нормали затор элемента х; iG:Gx) — число левых смеж ных классов G по Gv. пределы и о существует подстановка из переводя Подстановка, не имеющая неподвижных элементов, называется беспорядком. Число беспорядков может быть найдено по формуле включения-исключения [5]. Пусть даны G(m). Тогда суще- Л^ предметов, которые могут обладать щая т в о. Иначе говоря, ствует подстановка из G, которая переводит о в ными свойствами Pi, ..., Р/,. Обозначим TV, задан т. Для любых двух элементов i,j е О существу ет подстановка из G, которая переводит / в у. Ее ли ...для <г<к число предметов, обладающих свойст вами Pi состоит из степеней единственной подстановки, то орбита элемента т е М совпадает с циклом элемента т. Так же, как и циклы, две орбиты одной и той же группы или не пересекаются, или совпадают. Достаточно показать, что если две орбиты G{mi) и G{m2) одной и той же группы имеют общий элемент т, то они совпадают. Пусть т = х{т\) для 'i' / (и, возможно, другими). Тогда число предметов, не обладающих ни одним из свойств Р,., ..., Р,, равно ft I J * г2 ут. -хП N о N I", + S ^v. YNи, +...+ { к I '1 >h h >h >'3 некоторой подстановки X G. Следовательно, Согласно этой формуле число беспорядков среди подстановок из п элементов равно G(m) Gx(m\) G(m\). Аналогично можно пока зать, что G{m) = G{m2). Поэтому G{m\) Gimj). Всякая группа подстановок имеет орбиты. + + ( /г ? е Орбитой симметрической группы является множество М. все Пример 2.5.1. Орбита. Пусть на множестве М где е — основание натурального логарифма. Группа подстановок G некоторого множества М называется транзитивной над М, если некоторый элемент (З из М может быть переведен с по- {1,2, 4,5. 7,8} действует группа подстановок G, образованная мощью подстановок из этой группы во все эле менты М.
31 Если группа G не является транзитивной над па К\М)^ называемая группой Гротендыка, и го- М {интранзитивная группа), то множество М распадается на области транзитивности, то есть моморфизм моноидов у: М К(М). Доказательство. Пусть F{Af)— свободная такие области, которые под действием подстано- абелева группа, порожденная моноидом М. Обо- вок из G переводятся сами в себя. В основу этого значим через [х] образующую группы F(M), со разбиения положено следующее отношение, ответствующую элементу X М. Пусть Элементы а зитивности М входят в одну область тран- нормальная подгруппа, порожденная всеми эле если существует подстановка из G, ментами вида [^:j^]M где X, которая переводит а в Ь. Это отношение рефлексивно (под действием единичной подстановки, входящей в группу G, а переходит в а), симмет- жим у: М F(M) К(М) К(М) F{M)fB. Ы Определим М. Поло отображение как композицию вложения М в задаваемого соответствием х —> [х], и ото рично (если а под действием подстановки пере- бражения F{M) -> F{M)IB. Тогда требуемый ходит в то под действием обратной подста- гомоморфизм. новки переходит в а), транзитивно (если а под действием подстановки Ci\ переходит в с и с под . то а Теорема 2.6.2. Если в коммутативном моно действием подстановки Sj переходит в под действием подстановки SjSi переходит в Следовательно, этим условием М разбивается на классы эквивалентности, которые называют системами интранзитивности. Пусть G — группа подстановок множества М Группа G дваэюды транзитивна, если для любых иде М выполняется закон сокращения (из ас be следует а^Ь и из са = сЬ следует а бражение у:М~> К{М) инъективно. то ото Доказательство. Рассмотрим пары i^.y) ? где X, М и определим эквивалентность i^,y) (х', у'), если ху t х'у Это отношение двух пар (а, й), (с, d), где а, Ь, с, d е М, а ^ Ь, c^d, Ыа) найдется подстановка G такая. что с, h(b) d. Ясно, что дважды транзитивная группа транзитивна. рефлексивно и симметрично. Если выполняются законы сокращения, то это отношение транзитивно. Умножение пар определим покомпонентно. Тогда классы эквивалентности пар образуют группу с единичным элементом (1, 1), представляющим класс (х, х). Эта группа сов- Пример 2.5.2. Транзитивность. . Пример 2.5.] иллюстрирует разбиение на системы интранзитивности, совпадающее с разбиением на орбиты. . Симметрическая группа падает с группой Гротендика К{М). Обратным элементом к паре (х, у) является (у, х). Имеет место гомоморфизм, переводящий X G М В любой степени транзитивна и дважды транзитивна. Знакопере менная группа любой степени также транзитив — дважды транзи на а для степени и более класс пары (1, х). Из закона сокращения следует, что этот гомоморфизм инъективен. Таким образом, построен инъективный гомоморфизм коммутативного моноида М в коммутативную группу К{М). тивна [2, 3]. 2.6. Вложимость коммутативной полугруппы в группу Следовательно, коммутативный моноид может быть вложен в группу, если в нем действует закон сокращения согласно теореме 2.6.2. 2.7. Прямые произведения групп Иногда в прикладных задачах возникает во прос о возможности гомоморфного вложения Группа G называется прямым произведением полугруппы S в группу G так, чтобы умножению групп элементов в полугруппе соответствовало умно- и (обозначается G X В\ если вы полнены следующие условия. жение элементов в группе. Если полугруппа S не содержит единичный элемент, то пополним ее единичным элементом е так, чтобы еа иБ нормальные подгруппы в G 2. G АВ. ае а для всех а е S. Поэтому можно рассматривать задачу о вложении моноида в группу. пБ {е}. Эти требования равносильны тому, что каж- случае коммутативного моновда М дый элемент группы А перестановочен с каждым необходимым и достаточным условием такой элементом группы 5 каждый элемент g группы вложимости является закон сокращения: каждое из является произведением ah элементов равенств ас Ъсиса — сЪ влечет за собой а ьщ. а и и элементы а, о однозначно опре деляются элементом g. По индукщ1и можно определить прямое про Теорема 2.6.1. Пусть М— коммутативный моноид. Тогда существует коммутативная груп- изведение нескольких групп. В случае аддитив
32 ных групп аналогом прямого произведения (для Морфизм и: А называется изоморфиз конечного числа слагаемых) является сумма. обозначаемая символом В. если А и прямая Тогда мом, если существует морфизм v: В такой. что l(V является единичным морфизмом в нормальные подгруппы Мог(Д B)vivu является единичным морфизмом в bG,G 4-Ви^пВ (0}. Теорема 2.7.1 (основная теорема об абеле- доморфизмами объекта Мог(^,^). Морфизмы объекта А в себя называются эн- обозначаются и вых группах). Любая конечная абелева группа End(^). Из определения категории следует, что может быть представлена в виде прямого произ- композиция эндоморфизмов является эндомор ведения циклических групп, порядки которых физмом, то есть эндоморфизмы End(^) образуют являются степенями простых чисел. Доказательство см. в работе [1]. моноид. Если G 1 X п Пл.. .Л2^ где п I ... X G г имеет порядок Эндоморфизмы объекта А^ являющиеся изо морфизмами, будем называть автоморфизмами Легко видеть, что автоморфизмы объекта А обра то группы G имеет вид каждый характер зуют группу, так как для них определена ассоциативная операция композиции, существует Ininuh т.,. .,т^ «/' е п 1 . е единичный автоморфизм, физм имеет обратный. и каждый автомор для некоторых т г 1, ...,П И группа ха рактеров конечной абелевой группы G изоморф на G. Доказательство этого утверждения анало гично доказательству теоремы 2.3.4. теории категорий объект характеризуется не как множество (то есть из каких элементов он состоит), а своими связями с другими объектами. Функтор — отображение категорий, согласованное со структурой категории. Если С] и Cj — 2.8. Категории категории. то функтор Т:С 1 С 2 состоит из отображения объектов ? Ob(Ci) в объекты Категорией С назовем класс (множество ко U\:A Т(В) 0Ь(С2) и отображения морфизмов в морфизмы Щ Пщ): Т(А) Т(В) торое не может быть элементом другого класса) При этом выполняются условия: ОЬ(С) объектов на котором определен класс А отображений Мог(^, В% называемых морфизма ми А в 17Г4) для всех ^ G Ob(Ci); причем выполняются следующие свои Т{\ для двух морфизмов и: А —> Mor(Ci) выполняется условие и V из ства: для каждой пары объектов {А, В) существует T(vu) T(v)T(u). морфизм и: А В; для каждой тройки объектов (А, В, С) задано произведение (композиция) морфизмов Мог(В, о X Мог(^, В) -> Мог(^, С). При этом произведение морфизмов удовлетворяет аксиомам: два множества Мог(^, В) и Мог(^', В') не пе- Пример 2.8.1. Категории. . Категория групп. Объектами являются группы, а морфизмами — гомоморфизмы групп. . Категория множеств. Объектами являются множества, а морфизмами — отображения множеств. . Категория моноидов. Объектами являются ресекаются за исключением случая, когда моноиды, а морфизмами— гомоморфизмы мо А\В В\ этом случае множества мор физмов совпадают; ноидов. 4. криптографии важную роль играет циф для каждого объекта А существует единич- ровая подпись для сообщения (см. гл. 13). Под ный морфизм \а^Мох(А,А) такой, что для пись и сообщение связаны с помощью провероч каждого и Мог (^, В) и для каждого V Мог(Д ^) выполняется и\ А и, XaV v; ного соотношения. Пары (сообщение, подпись) можно рассматривать как объекты категории, а закон композиции ассоциативен, то есть для и Uox{A, В\ V Мог(Д С), W Мог(С, D) отображения таких пар п. 13.2). как морфизмы (см. выполняется w{vu) - {wv)u для любых объек тов А, Д С, Z). 7 Эта теорема положена в основу метода дискрет . Гельфонда в цикличе ного логарифмирования ской группе (см. п. 11.1.1). 1 Г-*: ^ -^ V- -i ^^ т-^^ t ^t-.-'t?,- _ л
Упражнения к главе 2 Какие из перечисленных систем образуют группу, полугруппу, квазигруппу: множество натуральных чисел по сложению; множество вещественных чисел по умножению; множество наборов булевых функций с операцией композиции (подстановки наборов в другой набор вместо переменных); множество функций ах-\-Ь cx-h-d с вещест венными коэффициентами с операцией композиции; подмножество группы подстановок мно жества М, сохраняющее неподвижным данный элемент а подмножество группы подстановок множества Л/, переводящих элемент а е М в другой элемент b е М; множество целых чисел с а"; операцией множество целых чисел с операцией а* Л а множество вещественных чисел с опера цией a*fc ab ? множество вещественных чисел с опера цией а* b a't-b abl Опишите все нормальные подгруппы адди тивнои группы IL целых чисел. Опишите все эндоморфизмы аддитивной группы Z целых чисел. Что собой представляет факторгруппа Q/Z? Покажите, что в этой группе каждый элемент имеет конечный порядок. Почему отображение а а 1 в общем случае не является автоморфизмом группы? Найдите все нормальные подгруппы группы всех подстановок из трех элементов. Покажите, что любая подгруппа циклической группы будет циклической и. следовательно. нормальной. Что собой представляет свободная подгруппа мультипликативной группы рациональных чисел, образованная числами ? э 3? Найдите множество образующих мультипли кативнои группы ненулевых рациональных чисел. 10 11 12 13 15 16 17 18 19 20 21 22 Пусть G — циклическая группа порядка 15 с образующей а. Что собой представляет факторгруппа Gl{a Пусть GL/,([R) — группа невырожденных (об ратимых) квадратных матриц размера п с вещественными коэффициентами. Покажи-ге что множество матриц SL„([R) е GL,,([R) с он э образует нормальную под GLJR). ределителем группу группы . Установите изоморфизм между мультипликативной группой чисел {1,-1} и аддитивной группой {О, 1} с операцией сложения по модулю 2. . Найдите знакопеременную подгруппу группы подстановок из четырех элементов. 14. Покажите, что доля беспорядков среди все- подстановок асимптотически возможных равна 1/е. Покажите, что порядок группы делится на порядок подгруппы. Изоморфны ли аддитивная группа Q рациональных чисел и мультипликативная группа положительных рациональных чисел? Покажите, что в любой группе ее подгруппа индекса 2 является нормальной. Покажите э что группа простого порядка все гда циклическая и, следовательно, абелева. Покажите, что если произведение двух левых смежных классов группы G по подгруппе И является левым смежным классом, то подгруппа//является нормальной подгруппой в G. Множество {истина, ложь} с операцией И образует коммутативный моноид. Можно ли вложить этот моноид в группу? Подстановки А^ вое строение: имеют следующее цикло , (4, 8, 6) 5 5 4,8), 9 9 9 9 9 ТЫ элементов и 9 Найдите орби в свободной группе G образованной подстановками А^ В. Покажите, что если абелева группа содержит — простое чис- 23 элементов порядка р, где р — л о, то она не циклическая. Группа G действует на себе посредством со- совпадает пряжения. Орбита элемента х е с X. Покажите, что х принадлежит центру группы. ■ ^\, Литература к главе 2 Ван дер Варден Б.Л. Алгебра. М.: Наука, 1979. Каргополов М.И., Мерзляков Ю.И. Основы тео рии групп. М.: Наука, 1982. Курош А.Г. Теория групп. М.: Наука, 1967. Лент С. Алгебра. М.: Мир, 1968. Тараканов В.Е. Комбинаторные задачи и (0,1) матрицы. М.: Наука, 1985. Milne J.S. Сгош) theory (Lecture notes) http*y/www.jmilne.org/math/.
Глава 3. КОММУТАТИВНЫЕ КОЛЬЦА Теория колец позволяет обращаться с различ Если в кольце выполняется условие 3, то го- ными на первый взгляд множествами, такими как ассоциативно' если выполня- целые числа, полиномы, рациональные функции 9 ворят, что кольцо ется условие 4, то говорят, что кольцо коммута- ряды, отображения групп, с использованием оди- тивпо; если выполняется условие 5, то говорят с наковых правил. Аппарат теории коммутативных кольце с единичным элементом. Если в кольщ колец широко применяется при разработке и ис- выполнены требования 3-5, то элементы кольце следовании криптографических алгоритмов. образуют коммутативный моноид по умножению. 3.1. Понятие кольца Кольцом называется непустое множество На основе закона ассоциативности сложения и умножения можно определить суммы и произведения элементов кольца: ? на котором определены две операции «сложе п и сопоставляющие каж ние» и «умножение»,— дым двум элементам « и fc их сумму а + b е «/ а, -^а-у 4-. 4-й «9 И а I а.а^„.а^. /=1 /=1 произведение аЬ е R, Предполагается, что опера ции удовлетворяют следующим условиям. Все элементы по сложению образуют модуль сомножители, можно ным образом. причем слагаемые, а в коммутативных кольцах v переставлять произволь- а-^х с нулевым элементом Умножение дистрибутивно относительно сложения (слева и справа): (а + Ь)с = ас-^ be, с{а ^Ь) = са-^ сЬ. Из однозначной разрешимости уравнения следует, что дистрибутивность выпол- Индукцией по п получаем равенства («1 -Ь ... 4- й и аф 4- ... 4- й и а(Ьх 4-... 4- fc т аЬл + ... -^ аЬ 1 пъ няется и относительно вычитания Умножение на О дает 0: {ах 4-... л-а„){Ьх + ... + М й-0 а(а аа аа axbx't- ... + «1 Ьщ 4- ... 4-й п^1 + ... 4-/7 п^^т* а а)а аа аа кия определении кольца на операцию умноже не накладывается никаких ограничении, кроме дистрибутивности. Однако часто возникает необходимость рассматривать кольца, в которых умножение удовлетворяет тем или иным естественным дополнительным требованиям. Наиболее часто встречаются: Ассоциативность умножения: (аЬ)с Коммутативность умножения: аЬ Пример 3.1.1. Кольца. Кольцо целых чисел (ассоциативное а(Ьс) 4. Ьа. Существование единичного элемента е тако- а для любого элемента а го, что ае еа (при этом элемент е может отличаться от числа 1).^ коммутативное, с единичным элементом). 2. Кольцо тЖ целых чисел, кратных т (ассоциативное, коммутативное, без единичного элемента прит> 1). . Кольцо булевых формул с операциями сложения по модулю 2 («сложение») и конъюнкции («умножение») (ассоциативное, коммутативное, с единичным элементом). 4. Кольцо формальных (без учета сходимости^ степенных рядов (ассоциативное, коммутатив- I Если кольцо не содержит единичного элемента, такой элемент можно формально присоединить к кольцу, дополнив этим кольцо суммами вида ае. Поэтому обычно считают, что кольцо уже содержит единичный элемент. ное, с единичным элементом). 5. Кольцо квадратных матриц с целыми элементами с обычными операциями сложения v умножения матриц (ассоциативное, некоммутативное, с единичным элементом). . Кольцо квадратных матриц с рациональными элементами с обычной операцией сложения матриц и операцией иорданова умножения
33 A-B (AB 4- BA), где в скобках обычное умножение матриц (неассоциативное, коммутативное, с единичным элемешч)м). . Кольцо подмножеств некоторого множества с операциями симметрической разности («сложение») и пересечения («умножение») (ассоциативное, коммутативное, с единичным элементом). Пусть 9 элементы фуппы кватер пионов (см. пример 2.1.2, п. 6), рассматриваемые как базисные векторы пространства векторов с рациональными коэффициентами. Тогда {а + Ы + "^cj-^dk} — — кольцо кватернионов с операцией умножения {а + Ы л- cj -^ dk){A + Ы 4- Cj 4- Dk) (аЛ ЬВ сС dD)'t(aB + bA'^cD-dQi'^(aC't- "t-cA-^dB-hOy ^(aD't-dA "t-bC cB)k (ассоциа тивное, некоммутативное, с единичным элемен том 4-0/4-0/4-0^). X ■ Далее будем рассматривать только ассоциативные кольца с единичным элементом. Коммутативное кольцо называется целост- следует, что хотя равен нулю. ным^ если из равенства аЪ бы один из сомножителей а или Если же аЬ при а О, fc О, то элементы а и называются делителями нуля. Примером целост ного кольца является кольцо Ж целых чисел. такие, что выполняется равенство аа \ а 1 а е. Элементы а для которых в R существуют об аа bb то ратные элементы, образуют фуппу по умноже нию. Действительно, если {аЬ) ты Ь-'а-' е. элемент кольца R. Такие элемен пу называют обратимыми^ а указанную - группой обратимых элементов кольца. груп 2 Если произвольный элемент а кольца складывать сам с собой, то после нескольких сложений может получиться нулевой элемент. В этом случае циклическая группа по сложению, образованная элементом а. является конечной. Наи меньшее положительное целое число w, для которого выполняется равенство wa = О при любом ненулевом «, называется характеристикой кольца. Если это равенство не выполняется ни при каких положительных w, то говорят, что кольцо имеет характеристику Если характеристика кольца является составным числом, то кольцо не может быть целостным. ^ ^ На основе закона ассоциативности можно ввести степени и кратные, при этом п)а па: "^V t d"d 7 а т+п ■Ad )1\)1 а'""; (аЬ) п fliH * - а b : па а-^ а -^ ... 4-й; та -^па = {т -^ п)а 5 п{т.а) пт.а\ п(а -^ Ь)~па -^ пЬ\ • ■ л Пример 3.1.2. Кольца с делителями нуля. . Целые числа с операциями сложения и ум -^" --- п{аЬ) {па)Ь а{пЬ) ножения по модулю 35 образуют кольцо. Для (здесь /7/, п — целые числа и в общем случае мо- а 10, 21 имеем аЬ 210 О (mod 35). 2. Кольцо булевых функций с операциями сло- гут не быть элементами кольца). Если в коммутативном кольце с единичным жения по модулю 2 и умножения (конъюнкции), элементом Любая булева функция/при возведении в квадрат при а е разрешимо уравнение ах то кольцо называется полем. В поле равна сама себе, / поэтому f "^f^fif"^ все ненулевые элементы образуют абелеву то есть каждый отличный от константы элемент группу по умножению. Действительно, сущест этого кольца является делителем нуля. вование единичного элемента е по умножению Кольцо элементами которого являются следует из разрешимости уравнения ах а, су пары целых чисел. Операции сложения и умноже- ществование обратного элемента а следует из ния: {a,b)^{c,d)=^(a^c,b^d), (a,b){c,d)-='(ac,bd). разропимости уравнения ах=^е. Поле является Здесь снаружи скобок символы сложения и ум- целостным кольцом: умножая равенство аЬ ножения означают операции в кольце 7?, а внутри скобок— сложение и умножение в кольце Ж. при ах а на а получаем Уравнение разрешимо однозначно, так как, предпо- Поскольку покоординатные операции удовле- ложив существование двух решении. творяют условиям ? ? то и операции в удов ах имеем 1 ах' и, умножая последнее равенство на а летворяют им. Нулем здесь служит пара (О, 0). получаем х Делителями нуля являются пары вида («, 0) и , / X . (О, Ь\ поскольку (й, 0)(0, (О, 0). ■А IV:» т /; J^ ^ z> Сокращение равенств ах = ау, ха = уа на элемент а в общем случае возможно лишь тогда, когда а не является делителем нуля. Например, в кольце но 2^9 Для справедливо равенство -) Группу обратимых элементов иногда называют группой единиц, а сами обратимые элементы единицами. ничныи элемент этом случае единица кольца и еди- — разные понятия. Например, комплексные числа с целыми коэффициентами образуют кольцо, в котором обратимые элементы со- некоторых элементов коммутативного ставляют множество {1, ? /■}, однако единич- кольца R могут существовать обратные элементы ныи элемент число
36 3.2. Гомоморфизмы колец На кольца естественным образом распространяются понятия гомоморфизма и изоморфизма J V Отображение ф: R мом колец R и R\ если выполняются равенства Кольца можно рассматривать как объекты ка называется гомоморфив- тегории, а гомоморфизмы колец— как морфиз- мы этой категории ф(й 4- fc) = ф(й) 4- ф(й), ф(йй) = ф(й)ф(Й) 3.3. Частные для любых й, b ^ R. Биективный гомоморфизм колец называется изоморфизмом колец. Теорема 3.2.1. Гомоморфный образ кольца яв Предположим, что каждый элемент коммута- является одновременно эле- тивного кольца ментом поля а сумма и произведение двух ляется кольцом. Гомоморфный образ коммутатив- любых элементов кольца R в поле К совпадают с ного кольца является коммутативным кольцом. Доказательство [3]. Пусть i?— кольцо, R — суммой и произведением этих элементов в коль — це R. Тогда говорят, что кольцо R (эндоморфно) множество, на котором определены две операции, вложено в поле К. Например, кольцо Ж является и ф:7? t гомоморфизм. Покажем, что в t выполняются аксиомы кольца. Пусть а\ Ь\ с t а. ceR. образы элементов (й 4- й) -ь с = й 4- (fc 4- с) следует Из подмножеством поля \ь комплексных чисел, при этом сумма и произведение чисел в Z совпадают г равенства с суммой и произведением чисел в С. 4-fc')4-c' d 4- (fc' 4- с'). Так же доказываются ассоциативность умножения и коммутативность сложения. Если коммутативное кольцо R вложено в не- а то есть Из равенства « 4- О = « следует а' 4- О' в R' существует нулевой элемент О', совпадающий с ф(0). Так же доказывается существование в которое поле К, ментов кольца К, то внутри поля к из эле строить частные можно а аЬ 1 1 а. если Выполняются еле- противоположного элемента -а\ совпадающего с а). Покажем, что выполняется дистрибутивность. Поскольку аф 4- с) = «fc 4- ас^ то по определению гомоморфизма получаем дующие правила: а с тогда и только тогда, когда ad be и bd (для проверки достаточно умножить Ф(й(й 4- с)) = аЧЬ' 4- с'\ (р(аЬ + ас) = аЪ' 4- а'с\ обе части первого равенства на bd); поэтому а'(Ь' 4- с') = а'Ь' 4- а'с'. Кроме того. а 4- С ad-h-bc Ф(0 следует d b Ф(0) ф(а) ф(а). Из аЬ Ьа bd ,bd 9 f b'd. a с Такими же рассуждениями можно показать. ас bd 9 bd что (р{е) полем) е\ ф(й ф(й) Частные составляют целостное (если кольцо является кольцо (так как поле К не содержит делителей нуля). Кроме случае изоморфизма R t все алгебраиче- того, каждый ненулевой элемент а имеет об ские свойства кольца R переносятся на кольцо R. Поэтому изоморфный образ целостного кольца является целостным кольцом. При гомоморфиз- , отображение ратный Поэтому частные составляют поле. а ме это неверно. например является гомоморфизмом, но содержит делители нуля. Изоморфный образ по ля является полем. которое называется полем частных коммутатив ного кольца R. Если кольцо R целостное, то ча а стные можно строить для всех b общем случае для построения поля частных Пример 3.2.1. Изоморфизм колец. Кольцо кватернионов (см. пример 3.1.1, п. 8) коммутативного кольца R не обязательно нахо изоморфно кольцу квадратных матриц размера 2. дить поле К. Пусть физм — мнимая единица. Тогда изомор- колец задается отображением базисных векторов: J •> I •> Теорема 3.3.1. Каждое целостное кольцо можно вложить в некоторое поле К. Доказательство [3]. Очевидно, что если состоит из одного нуля, то это возможно. Рассмотрим случай, когда R содержит ненулевой элемент. Па е элементов («, b кольца R сопоста-
37 вим дробь а ^ь Определим эквивалентность на общем случае в качестве возможных знаме парах (й, Ь) -^(с.а) в соответствии с указанным нателеи можно использовать не все элементы, не являющиеся делителями нуля, а лишь некоторое выше правилом 1. Очевидно, что это отношение симметрично и рефлексивно. Кроме того, оно транзитивно 5 ? (g,f) 9 так то ad как если (а,Ь) (c,d). мультипликативное подмноэ/сество S кольца такое, что ху ^ S для всех х, у ^ S. Построение частных в этом случае приводит к кольцу част и ых Ruo S. ■ be ? dg ? следовательно -^ -:f ? adf bcf bdg. Сократим на менты двойного равенства и получим af крайние эле- fce, то есть {а^Ь) (g.A Это отношение разбивает множество пар («, Ь) на классы эквивалентности. которые обозначим а Пример 3.3.1. Кольца и поля частных. 1. Полем частных для кольца Z является поле рациональных чисел. 2. Кольцом частных кольца Z по мультипликативному подмножеству, образованному степе- Определим сложение и нями двойки {1, > , ...}, является кольцо ра циональных чисел, у которых в знаменателе сто умножение дробей а е и в соответствии с пра ит степень двойки. 3. Кольцо частных кольца Ж/35Ж совпадает с вилами 2, 3: а 4- е ad-\-be а е bd 5 ае М One рации определены корректно, так как если 3.4. Предварительные сведения и й?^0, то bd и выражения ad+be bd и ае М о полиномах имеют смысл. При переходе от («, fc) к эквива лентной паре (d, b') получаем ab' = a'b. Тогда: Пусть целостное кольцо. С помощью но вого элемента х ^ построим выражение вида ■V4r- '- "^ г-. adb f a'db; fix) />0 a:X 1 I 5 В котором a / и сумма содер- adb' -h beb' = a'db + b'eb ? (ad + be)b'd = (dd + b'e)bd. ЖИТ конечное число слагаемых. Такие выраже ния называются полиномами над кольцом 7?, сим вол X называется переменной, элементы а I ко л ^ Следовательно, ad + be dd + b*e bd b'd ^ TO есть эффициентами. Степенью deg(/) полинома/на зывается наибольшее число /, для которого «/ ^ сложение каждой из эквивалентных пар с одной и той же дробью дает одинаковые суммы. Ана- Полиномы можно складывать и умножать, при этом символ X считается перестановочным со всеми элементами кольца. Сложение и умноже логично можно показать, что умножение каждой ние выполняется по формулам из эквивалентных пар на одну и ту же дробь дает что одинаковый результат. Нетрудно проверить, введенные операции ассоциативны, коммутатив а.х I + Тьу Тс,.', С I а I +ь i > ;>0 />0 />0 ны и дистрибутивны. Кроме того, полученное поле частных содержит само кольцо 7?, если ото- а.х / I И^ / :Х I I С:Х , С I т^л />0 />0 ;>0 J+k I ждествить элемент а с дробью аЬ 5 Эти дроби складываются и умножаются так же, как элементы кольца R. Следовательно, построенное поле К содержит кольцо R, и операции сложения и умножения в К соответствуют сложению и умножению в R, Теорема 3.4Л, Полиномы образуют кольцо. Доказательство. Выполнение требований по сложению очевидно, так как сложение коэффициентов выполняется в кольце R, Нулем кольца полиномов является полином с нулевыми коэффициентами. Дистрибутивность следует из равенства Эта конструкция может быть перенесена и на коммутативное кольцо R с делителями нуля. В этом случае знаменателем дроби может быть aXh+c.) J abf^ + ajC^ j+k I j^k 1 }+Ы1 Ассоциативность умножения следует из pa любой элемент кольца, не являющийся делите- венства для коэффициентов лем нуля. Построенное таким образом множество частных образует кольцо, содержащее исход ное кольцо 7?, и называется кольцом частных. -^ ^-^ __гТ* а к 1Х У+^ I Yhc т s a,.b,c k^^r-m U+m=j k+!+m=i
38 Кольцо полиномов над R обозначается Щх\, старший коэффициент полученного полинома Полиномы степени О являются элементами коль- будет равен 0. Из результата опять можно вы- , поэтому кольцо полиномов содержит R, честь кратное g{x) и т. д. Повторяя эту процедуру ца Переход от i? к R\pc\ называется присоединением несколько переменной х к кольцу R, К кольцу R\x раз, получим остаток со степенью 1 можно меньшей, чем присоединить новую переменную xj ё R\pc\\, при равенство deg(^). gh-\-r. Значит, можно записать где deg(r) deg(^). Такая этом в силу перестановочности х\ и х2 получится процедура называется делением (с остатком), кольцо i?[xi][jC2] = R\xu -V2]. Таким образом можно получить кольцо i?[x,, ...,х,] полиномов от не- 3.5. Идеалы и классы вычетов скольких переменных, элементы которого имеют вид л 1 Zj^il.Jr,^^\ '"-^п случае полинома от не Пусть некоторое кольцо. Собственное скольких переменных различают степень по пе ременной Xj, при этом коэффициенты при х, подмножество будет подколъцом кольца в степенях являются полиномами от различных остальных переменных. Степенью полинома от п переменных называют наибольшую сумму по- ~|~ * * * *" /м» если оно замкнуто по сложению и умножению и вместе с каждым элементом содержит противоположный (считается, что правила сложения и умножения в л и в о одинаковые). Ассоциативность сложения и умножения и дистрибутивность для S казателеи выполняются автоматически, так как S R, Вместо переменной х в полином дх) е R[x] можно подставлять произвольный элемент Пример 3.5.1. Подкольца. а даже произвольный элемент а некото Поле рациональных чисел является коль RX перестановочный со всеми цом и содержит в себе следующие подкольца: рого кольца элементами из R, при этом Да) называется значением полинома J{x) для аргумента а. Если /а) значение полинома/(х), g(a) — значение полинома g(x) и f(x) + g(x) = r{xX /x)^W s(xX кольцо ж целых чисел; кольцо wZ; кольцо, состоящее из одного нуля; то /а) + g(a) = rial /aWa) s{a). Поэтому кольцо рациональных чисел вида тр , где п сопоставление переменной X произвольного п элемента а Щх] задает гомоморфизм колец не делится нар. R, /?, а 0, называется пра Теорема 3.4.2. Если кольцо то кольцо R[x] тоже целостное, и целостное. Подмножество 21 вым идеалом, если: является подгруппой аддитивной группы есть degOfe) = degCO + deg{g) (то й 4- fc € 21); для любых а 21 выполняется для любыхДх), g(x) i Доказательство R[xl для ах х любых 21, то есть 2Lt и а выполняется 21. Пусть fix) а^х t I 5 Аналогично определяется левый идеал Если ;>0 g{x) У]Ь,х', deg(/) = т, deg(^) = п. Тогда стар идеал является одновременно правым и левым, то его называют двусторонним идеалом или про- ;>0 СТО идеалом. коммутативных кольцах все шим коэффициентом полинома Лх^х) будет а т'-^п О, так как a„. 0,fc п о и кольцо R целостное. Поэтому ЯхМх) ^ О, а degO^) = degO^ + deg(^) идеалы двусторонние. Идеал, в отличие от подкольца, замкнут относительно умножения на элементы кольца, то есть идеал является подкольцом, но обратное неверно. Следствие 3.4.3. Если кольцо R целостное, то кольцо R\x\, ...,хЛ тоже целостное. . Например, для кольца i?[x] кольцо подкольцом, но не идеалом. будет Доказательство выполняется индукцией по числу переменных. Пример 3.5.2. Идеалы. 1. Нулевой идеал (то есть состоящий из одного нуля). Пусть кольцо и пусть fix) а.х t Единичный идеал (то есть содержащий все I 5 />0 КОЛЬЦО R), gix) Yb,x\ deg(/) m, AQg{g) = n, m>n. Qi /5 />0 / И n e. Тогда, если e(jc) умножить на . Идеал кольца полиномов, состоящий из полиномов, имеющих общий корень (см. п. 3.11). . Идеал {а\ порожденный элементом а. то «тХ т-п есть состоящий из всевозмояшых выражений вида и вычесть полученный полином из пх\ то га, гпе г е 7?. Т ои ипеал пазы ваетс глав ым.
39 5. Идеал (ai, ..., аД порожденный элементами ф(г) О]. ,,,, а^. Такой идеал состоит из сумм вида г S а. для 5 € 7?, то ф(г О', то есть ^ J „ --^ J ' >' V Гй / ; ' где Г/ € 7?. Элементы «^ ...,«,. образуют 6a5wc идеала. 3 Таким образом, каждому гомоморфизму соответствует идеал, являющийся его ядром. Гомоморфный образ кольца R по идеалу 21 называется Любой идеал 21 как нормальная подгруппа кольцом классов вычетов R по % или фактор аддитивной группы кольца К определяет разбие- кольцом, и обозначается i?/2l. , :::^ j--_ ние кольца на смежные классы, или классы вычетов по идеалу 21: г + 21, где г е 7?. Для клас Рассмотрим обратную задачу. Построим сов вычетов можно задать умножение: кольцо R\ являющееся гомоморфным образом (г 4- 2t)(5 + 21) = Г5 + 21. Умножение определено кольца R по идеалу 21. корректно. Действительно, зададим эти классы вычетов другими элементами ri + 21 и ^i + 21, где J^. Г\ г + а. S\ s'^b и й, 21. Тогда Теорема 3.5.2 гомоморфизмах колец). Гомоморфный образ кольца изоморфен кольцу {гу + Щ{8х + 21) = (г 4- а + Щ{8 4- й 4- 21). Посколь- классов вычетов по ядру гомоморфизма. Kya + 2l=fc + 2l = 2l,To ns^ + 21 = r^ + 21. Два элемента а, b называются сравнимыми по идеалу 21 (или по модулю 21), если а-Ь €21. Этому соответствует запись а Доказательство. качестве элементов кольца R' возьмем классы вычетов кольца i?/2t. Отображение, при котором каждому элементу а (mod 21) или, соответствует образ а короче (с) а (21), называемая сравнением пишут Если главный идеал то а (mod (с)) или а (mod , корректно определено и является гомоморфизмом колец. Между элемен тами кольца R' и классами вычетов из Л/21 суще ствует биекция. Класс К^ соответствует элементу Над сравнениями можно выполнять операции а f R' класс h элементу R', сумма и (mod 21) остается произведение классов переходят в Ка+ь и Каь^ то Очевидно, что сравнение а в силе, если к обеим его частям прибавить один и есть им соответствуют а' -^ Ь' и аЪ 5 ТОТ же элемент или если обе части умножить на {а + Ь) f а f + b f ? {ab) f a f f \ Поэтому Таким образом J один и тот же элемент. Если а = Ь (mod 21), то имеет место изоморфизм колец Л f i?/2l a-^c^b + с (mod21), ас = be (mod21) и ca (mod21). Если a=b (mod21) и a r f cb (mod 21), TO a+d=b+d b-^b f (mod 21), TO есть сравнения Теорема 3.5.2 устанавливает точность после довательности гомоморфизмов колец [5] можно почленно складывать и, следовательно, умножать на целое число. Кроме того, сравнения 21 i?/2t можно почленно перемножать: аа г Ъа f bb f (mod 21). Таким образом, со сравнениями можно оперировать как с равенствами, за исключением того, что сокращать в кольцах на делитель нуля, вообще говоря, нельзя. ^^ ш^ *- - i' ^ * Пример 3,5,3, Кольца классов вычетов. 1. Для кольца Z и идеала пЖ кольцом классов вычетов является Ж/пЖ, 2. Для кольца Q[x] полиномов с рациональ- и главного идеала. ными коэффициентами Теорема 3.5.1, Ядро гомоморфизма R' (не обязательно коммутативных) колец является идеалом в 7?, а полные прообразы элементов из К являются классами вычетов по этому идеалу. образованного полиномом J[xX кольцом классов вычетов является QM/(/(x)). Доказательство. Пусть (р: R f гомо морфизм. Покажем, что 21 = Кег(ф) является дву На множестве идеалов коммутативного коль ца можно определить бинарные операции ело жения, умножения и пересечения. сторонним идеалом. Если Ф(«) Ф№) f R, ТО 21 и. а. то есть Пусть 21 и ?8 идеалы коммутативного а 21. Значит, следовательно, модуль. Кроме того, если кольца i?. Определим сумму идеалов 21 + ?8 как подмножество кольца 7?, образованное суммами г а % то ф(Гй) ф(г)ф(й) О', Ф(аг) вида а-^ К где а % «. ф(а)ф(г) = 0'. Поэтому идеал. Теперь по Сложение идеалов коммутативно; 21 + Ш кажем > что полные прообразы элементов из f Ш + 21 и ассоциативно; для любых трех идеалов являются классами вычетов по этому идеалу. Ее % «, имеет место равенство (21 + ®) + С ли ф(г) г г то Ф(й + г) = О' + г' г f Если 21 + (?8 + £) = 21 + !8 + е. Каждый идеал идем по тентен по сложению: 21 + 21 = 21. Нулем для one 3 Базис идеала и число элементов базиса опреде рации сложения идеалов является нулевой идеал (0). Поэтому идеалы образуют коммутативный лены неоднозначно. Если {^ь ..., ^г} — базис идеала моноид по сложению (для ненулевого идеала 21 не 21 и Z? е 21, то {аи .••5 ^п тоже базис идеала 21 существует идеала ® такого, что 21 + ® (0).
40 Теорема 3.5.3. Пусть 21 и Ф— идеалы ком- Доказательство. По определению произве- мутативного кольца R, Справедливы следуюшие дения идеалов WS з (а,й/). Кроме того, для лю fg утверждения . 21 + Ш — — идеал. 21 + Ф — наименьший идеал, содержащий 21 и«. бого 21?8 существует представление > где/ 21 ? Ш Если а + ^в (ai 5 1 «Л, («1 5 5 О г? 1 5 5 (fei fe.) 5 ТО где Г/, Sj € i?. Поэтому Однако f-^Yu^fli^g X ^(/«' ^ S^/. ? /я Доказательство [4]. 1. Пусть «, й / и Имеет место включение 21« 21п^В, по ^ Тогда (й 4- i) + (d + fc') = (й + «') + (fc 4- скольку элементы идеала 21® имеют вид аЬ^ где + &') 21 + ®. Если г — любой элемент кольца R а 21, «. Но ЙЙ 21 и аЬ «. Поэтому то г(й + h)~ra+ rb, где r« е 5 г/) ®. Поэтому й/) 21п«. сумма идеалов является идеалом кольца R. . Пусть идеал С содержит идеалы 21 и ?8. То f ■ Пример 3.5.4. Произведение и пересечение гда £ содержит суммы « + fc, где а 21-й ?В. то идеалов. есть 21 + ?8, поэтому наименьший такой идеал £ совпадает с 21 + ®. ?8 ляют собой множество полиномов, свободный кольце 7Цх\ идеалы (х, 3) представ 3. Идеал («ь ••> «п '^i , ..., fcs) содержит идеалы член которых делится на и 2t + « «. соответствии с п. 2 получаем 21п?8 Ъ (X, 3), а 21?8 2 Тогда ^^ Зх,9) и («ь 5 й Г5 1 5 суммы идеалов 21 + ® этому 21 +Ш («ь 5 й Г; («1, По определению 21 п ?8 строго больше, чем Шё: 2jc + 3 е 21 п ®, .,й^, Ьи ..., fcv), по 4 НО 2х: + 3 21«. , ад. Теорема 3.5.5. Для идеалов коммутативного Пересечение идеалов коммутативного кольца кольца 7? выполняется дистрибутивность: (как множеств) является идеалом. Действитель но, если 21 и ® — идеалы кольца R, то 21 п ® непусто и содержит по крайней мере 0. Если с^ С2 е 2tn ®, то С\, С2 е 21 и Си Сг е ®, поэтому 21(« + а = St?8 + 2ie. Доказательство. Идеал 21(®+С) порожда Ci + с? е 21 и Ci + ^2 е ®, то есть С\^ Ci е 21 п ®. Поскольку для г и с € 21 п ® справедливо ется элементами вида aQ) + с), где а с € С Но для элементов кольца 2L «, выполняется ГС Е 21, ГС Пусть ?8,тогс€21пШ 21 и « идеалы коммутативного «(fc + c)-afc + ac€2t?8+2lC Поэтому 2t(?8 + С) 2t?8 + 2t£. Однако идеал 21?8 + 2t£ порождается элементами аЪ + «с. кольца R. Идеал 21®, порожденный всеми произ- равенство аЪ + ас для ведениями afc,, где а J I 21 и 7 ?8, состоит из St(« + С) 3 21« + 2te которых справедливо € 2t(® + С), то есть поэтому 21(?8 + С) сумм вида У^«/й/ и называется произведением 21Ш+21С. 6 идеалов. Произведение идеалов коммутативно и ассоциативно: 2l« = ?82t, 2l(?8£) = (2l^B)e. Еди- Иногда классы вычетов коммутативного кольца R по идеалам 2ti, ..., 2t„ определяют кольцо i?. ничным элементом для операции умножения идеалов является само кольцо R. Поэтому идеа лы коммутативного кольца образуют коммута Теорема 3.5.6 (китайская теорема об остах тивныи моноид по умножению Теорема 3.5.4. Если («ь • • 5 ^rh "В ках). 21,,... 21, + 21- Пусть коммутативное кольцо и ,2L идеалы кольца такие. что (Ьи ..., bs\ то 21® = («1^1, «1^25 .-•, оА). R для всех / ^у. Тогда для любого набора элементов jci, ...,x,;, где х, е i?/2t/, существует такой, что X = Xi (mod 21Л для всех элемент х <1<П. Доказательство. Докажем теорему по ин 4 Сумму идеалов 21 + S обозначают также (21, S) дукции. Для W существуют элементы идеалов и называют их наиболъшгш общим делителем. а\ е 21], «2 ^ 212 такие, что «i + «2 = е. Тогда тре 5 Пересечение идеалов называют также их наи буемое представление для элемента X R: X меньшим общим кратным. 6 Отметим, что 2tS не состоит из попарных про- Х2а\ +JCi«2. Предположим, что теорема доказана для п изведений элементов, входящих в 21, S (эти произве дения не образуют идеал); а пораж-дается этими про изведениями. идеалов со свойством 21, + 21, для всех i^i Следовательно, существуют пары элементов а I 21 1 и I 21„ / > 2, такие, что «/ + Ь, е. Про
41 П изведение сумм ]"[(«/ +Ь^) = е. Кроме того 5 ПО ГО (=2 Ненулевой необратимый элемент р целостно кольца называется простым, если из р\аЬ определению идеала это произведение является п элементом идеала 2lj +ГТ21у . Следовательно, следует/? | а или/? | Ь. Простым идеалом кольца R называется такой идеал ф, кольцо классов вычетов 7?/ф которого является целостным. Если а' 5 1=2 г т. то из условия аЪ t следует, что этот идеал совпадает с кольцом R: а t или г Другими словами. из аЬ п 2t,+f|2t /■=2 / R, (mod ф) следует « = О (mod ф) или b = Q (mod ф), силу справедливости теоре- то есть произведение двух элементов делится на идеал ф тогда и только тогда, когда на Ш делится мы при п можно найти элемент vi е 7? такой. один из сомножителей. п что у\ = е (mod 21 1 и I (modr~[2l,). Но тогда i=2 ТОЧНО так же найдутся элементы Vj ^ R такие, что Пример 3.6.1. Простые идеалы. 1. Единичный идеал, содержащий все кольцо R I 2. Для кольца Z простым идеалом является е (mod Щ и j, = О (mod J][St^). В этом случае идеал (р), образованный простым числом р, . Нулевой идеал является простым только целостного кольца. Например, У'^' п требуемый элемент хек имеет вид х У^^.У I для в кольце /=1 Китайская теорема об остатках часто исполь зуется в криптографии и вычислительной техни ке. Примеры ее использования: (mod 35), кольца. имеет место равенство 10-2] но 10 и 2] ненулевые элементы быстрое умножение больших чисел п. 7.1.2); (см Идеал Ш коммутативного кольца R называется максымалы^ым^ если он не содержится ни в каком другом идеале, кроме самого кольца R. нахождение индекса элемента конечной цик- Гельфонда (см. п. 1 ] .1.1) за счет представления ее в виде тивного кольца Теорема 3.6.1. Каждый отличный от еди лическои фуппы алгоритмом ничного максимальный идеал Ш коммута является простым, и кольцо прямого произведения групп в соответствии классов вычетов ШШ является полем. Обрат с теоремой 2.7.1; но, если ШШ поле, то Од — максимальный вычисление дискретного логарифма в группе идеал. « р методом базы разложения (см. п. 10.1) Кольцо в котором существует единствен ныи элемент х для каждого набора х I Rl% /5 на Доказательство. Для доказательства того, что RIdK является полем, достаточно показать, что в кольце классов вычетов RJdJl разрешимо ' при й'^0'. Это равносильно уравнение ах зывается прямой суммой колец R]% и обознача- разрешимости сравнения ах (mod Ш) при ется/г=i?2i^ е... ei?st„. а 9я. Идеал 9я и элемент а порождают совме стно идеал (ОН, а). Поскольку а €Ш,то идеал Ш 3.6. Делимость идеалов является делителем идеала (ОН, «) и ОН ^ (ОН, а). Так (ОН,й) как ОН максимальный идеал. то R. Из последнего равенства следует, что Для элементов коммутативного кольца можно произвольный элемент b кольца R можно пред ввести понятие делимости на идеал. Пусть ставить в виде т + аг, где m е ОН, г е 7?. Го t df идеал кольца R. Если g е 21, то говорят, что а моморфизм из кольца R в кольцо i?/OH переводит делится на идеал 21. Если все элементы идеала 21 это равенство в равенство принадлежат идеалу 21', то говорят, что 21 делит- решение уравнения ся на 21', или что 21' делит 21, и обозначают 21 t.j ах Ь\ , которое дает Таким образом. t 21. Например, идеал («, Ъ) делится на идеал («, fc, с). Пусть 21 {Ь\ 21 / (&'). Тогда запись {Ъ) (mod (&')) означает, что гЬ\ где г 5 И дели является то, что в разложении можно не учитывать обратимые элементы. Действительно, пусть кольцо — обра- целостное идеал этого кольца и е мость главных идеалов соответствует делимости элементов. 7 тимыи элемент. Тогда вместе с каждым элементом а идеал 21 содержит и еа. Если идеал содержит элемент 7 е, то он содержит и элемент е с кольцом R. кк 1 то есть совпадает Определение делимости для идеалов дает некоторые преимущества по сравнению с определением делимости для элементов. Одним из преимуществ не имеющим делителей. Максимальный идеал называют также идеалом
42 кольцо i?/9H— поле и, следовательно, не имеет меньшей степени. Поскольку в Щх\ существуй целителей нуля. Поэтому идеал fflt является про- алгоритм деления. то для а справедливс U тым. Докажем обратное утверждение. Если К1Ш представление Поэтому deg(r) qa + г, где deg(r) deg(«) Но если г ^ О, то г € 21 явля поле и собственный делитель идеала 9Я, то ется элементом поля К. Поскольку каждый эле- для а %а ОН, сравнение ах = Ь (mod 9д) од- мент идеала 21 делится на некоторый полином, тс нозначно разрешимо при любом Ъ (это следует г не может быть ненулевой константой. Следова из однозначной разрешимости уравнения ах в рассматриваемом поле). Следовательно, ах mod 21), отсюда Q = b (mod 2t) для произвольного тельно, г Тогда qa, то есть 21 = (а), идеаг 21 главный. f R, Значит, 21 R. Целостное кольцо, в котором каждый идеаг является главным, называется кольцом главнъо Таким образом, любой максимальный идеал идеалов. Таким образом, Ж и Щх\ являются коль- является простым. Обратное, однако, неверно. Цами главных идеалов. Например, в кольце Q[x,j;,z] идеалы (х) и {х.у) Любое поле является кольцом главных идеа- являются простыми, при этом идеал (х, у) является собственным делителем идеала {х). Действи- гельно, для колец классов вычетов справедливы равенства Q[x,j;,z]/(x)-Q[y,z], <^[x,y,z\l{x,y) Q[z]. Поскольку Q — поле, то эти кольца клас ов вычетов являются целостными согласно тео лов, так как если 21 — произвольный ненулевое идеал поля, го вместе с любым элементом а ог содержит и а а е^ то есть 21 {е) единствен ныи ненулевой идеал. Эти рассул^ения можно обобщить следующим образом. Пусть целостное кольцо i реме 3.4.2. Следовательно, идеалы {х\ (х, v) яв- существует функция g\ К >о ияются простыми. ЕслиОЛ максимальный идеал коммутатив , которая каждому ненулевому элементу а е к сопоставляет неотрицательное целое число g(a) со следующими нюго кольца 7?, то для любого идеала 21 произве- [^ение идеалов 21 и 9Л равно их пересечению. 3.7. Евклидовы кольца свойствами: 1) для аФО.ЬфО справедливо g{ab) > g{a)\ для любых двух элементов а, b существует представление , где й ^ О qa~^r, в кото- и кольца главных идеалов ром г = о или g(r) gia). Для кольца Z целых чисел g{a) а 9 для коль- Понятие евклидова кольца, связанное с алго ритмом Евклида, удобно пояснить на примерах Рассмотрим сначала кольцо целых чисел. ца К[х] полиномов g{a) deg(«). Кольцо с такими свойствами называют евтти довым кольцом, или евклидовой областью Лемма 3.7.1. В кольце Ж каждый идеал явля Обобщением лемм 3.7.1, 3.7.2 является следующая теорем а. ь/ тся главным. Доказательство. Пусть 21— произвольный Теорема 3.7.3. В любом евклидовом кольщ вдеал кольца Ж. Если 21 (0) каждый идеал является главным. ■ -* нулевой идеал 9 ТО главный идеал. Если в есть ненулевое число с, то ~с е 21. Одно из этих чисел поло жительное. Пусть а — наименьшее положитель Применяя эту теорему к единичному идеалу совпадаюпдему с евклидовым кольцом получаем, что все элементы кольца R являются кратны- ное число идеала 21. Тогда для произвольного ми некоторого элемента а ^ R. числа fc е 21 имеет место равенство Ь = qa~^r, где элемент а частности, ca^ г остаток от деления b на а. Так как О представляется в г аи eeR, Для qa получаем виде да а ае. гт дае. откудг я наименьшее положительное число идеала. юг 0. Следовательно, b be. то есть евклидово кольцо обязательно со- да, то есть все числа из вдеала 21 кратны «, 21 = (а) и идеал 21 — главный держит единичный элемент е. кольце главных идеалов R два любых пену левых элемента а, b порождают идеал (а, Ь) вид Лемма 3.7.2. Если К— поле, то в кольце Щх] {га + 5Й}, который тоже является главным и ПОЛИНОМОВ от одной переменной каждый идеал следовательно, порожден некоторым элeмeнтo^ главный. то есть Доказательство Если 21 нулевой идеал рых g. ra + sb, а е R. Значит, № па для некотс является наибольши! то 21 (0) и утверждение теоремы верно Пусть общим делителем элементов «, и (d) {а. произвольный ненулевой идеал. Поскольку степень полинома — целое неотрицательное число, то в идеале 21 существует полином а наи- Таким образом, в кольце главных идеалов ка^ дые два элемента имеют наибольший общий щ литель.
43 Пример 3.7.1. Евклидовы кольца. 1. Кольцо Z[/], где / = v^ — мнимая единица. Присоединив к кольцу Z элемент /, получим множество, состоящее из чисел вида а = « + fc/. где й, о € Z, и представляющее собой кольцо целых гауссовых чисел. Это кольцо является подмножеством поля комплексных чисел и поэтому целостно. Определим функцию g{a) = (а+ Ы)(а - Ы) = а^ + Ь^ Ж >о Функция g обладает свойством мультиплика- ЧТО легко проверить прямым вычислением. При тивности: g'(cxp) = g-(a)g-(p) для любого р 7^ О можно найти частное а s + ti, где S, t рациональные числа. Пусть тип ближайшие целые к S и t такие, что S т ,к п ? и пусть y^m + ni^ Z[/]. Тогда а т) 2 +(t 2 + Число а Ру является элементом кольца Z[/]. Тогда либо 5 = 0, либо я{Ъ) < g(p), так как g(5) а gi^)g а 1р g(P) Кольцо Z[co], где + со ком плексный кубический корень из удовлетво 2 Тогда а т) 2 Ht 2 m)(t + + Число а ру является элементом кольца Z[co]. Тогда либо 5 = 0, либо g{5) < g(p), так как g(8) а gi^)g а 3g(P) ных Кольцо полиномов i^x,j] от двух перемен- также кольца полиномов от большего числа переменньгх) над полем К не является евк лидовым. Например, для /л% У) х^/^и g(x, у) = ху + х+у не существует остатка г от деления / на g со степенью меньшей, чем deg(g). Это кольцо также не является и кольцом главных идеалов. Например, идеал (х, у) не главный. евклидовом кольце наибольший общий делитель двух элементов а, b (вычисляемый алгоритмом Евклида) образует главный идеал, совпадающий с идеалом (а, 6), образованным этими элементами. Поэтому иногда вместо НОД(а, пишут (а, Ь). 3.8. Разложение на множители Согласно основной теореме арифметики в кольце Ж существует однозначное разложение на простые множители. Однако такая однозначность имеет место не во всех целостных кольцах. Пример 3.8.1. Отсутствие однозначного раз ряющий уравнению со + со + 1 = 0. Присоединим ложения на множители. к кольцу элемент со; полученное множество состоит из чисел вида а а + йсо вместо со 2 МОЖНО подставить (поскольку со). Рассмотрим кольцо Z[V Ж[хУ(х 2 + 5) где а. чисел вида а+Ь\[-5 с целыми коэффициентами , и представляет собой кольцо. Это кольцо целостно как подмножество поля комплексных чисел. Определим функцию а^ Ъ. Здесь число 6 может быть разложено суще ственно разными способами: • 3 и (1+л/ 5)(1 л/-^). ли S /. gi^) (а + йсо)(а + бсо 2 с^ + Ъ 2 аЪ >о Функция g обладает свойством мультиплика gZ[co] тивности: ^(аВ) - ё'(а)е(В) для любого При (3^0 можно найти частное а ар РР 5 + ГСО, где S, t— рациональные числа. Пусть тип ближайшие целые к S и такие, что S т At п , и пусть у т + п(х) Z[co] Покажем, что полученные сомножители 2, 3, ]+л/ далее не раскладываются. Пей ствительно ? если предположить. что (а + Ъл} 5)(с + с/л/-5) с целыми а, 6, с, с/, то должны быть легко видеть, что делители числа сопряженными. Значит, {а+Ьл} 5)(а 2 с целыми а и Ь. что невозможно 5) Очевидно, аналогичное предположение о разложимости числа 3 тоже ведет к противоречию. С другой
44 стороны, если предположить, что существует раз ложение 1 + л/ (а + Ъл! 5)(с + С целы ми а, 6, то должно существовать и разложение с/л/ 5 ). Перемножив эти числа, получаем (1+л/ 5)(1 2 2 + 5/?^Хс 2 + 5с/ 2 Поскольку а +56 ^2, а +5Ь т^ 3, то остает ся а^ + 56^ с^ + 5с/^ откуда а +1, Ъ с +1, с/ +1, то есть числа 1+л/ тоже на множители не раскладываются. Говорят, что элемент а целостного кольца на про обладает однозначным разложением стые мноэ/сители, если имеет место равенство a==upi...pr, где и— обратимый элемент кольца, — неразложимые элементы, и для двух таких / разложении а W] г и а v!q\...qs имеет ме сто J I г/Л/, где ц — обратимые элементы. и S ир Ы] и^И . Целостное кольцо называется факториалъ ным^ если всякий его элемент имеет однозначное разложение на простые множители. В фактори альном кольце неразложимые элементы являют ся простыми. --- ^Ло V.- Любой элемент а целостного кольца может быть представлен как произведение самого себя Теорема 3.8.2. Всякое кольцо главных идеа лов обладает однозначным разложением на про стые множители. на произвольный обратимый элемент b кольца и факториальном кольце не обратного к нему элемента 1 а (ab)b ] . Такие разложения называются тривиальными. Эле разложимые элементы являются простыми. Доказательство. Сначала докажем, что ка ждыи ненулевой элемент имеет однозначное мент, допускающий только тривиальное разло- разложение на простые множители. Обозначим через множество главных идеалов кольца жение, называется неразлоэилшым. Простой элемент всегда неразложим, но неразложимый эле- образующие которых не имеют разложения на мент может не быть простым. В примере 3.8.1 в простые множители. Предположим, что 5'^ 0, и выполняется 3), НО 5)|2 И + 5)|3, то (1 + л/ 1 + л/ Элементы а и с^аЬ, для обратимого 6, назы вают ассоциированными. Каждый из них являет покажем, что это ведет к противоречию Рас смотрим произвольную цепочку возрастающих есть элемент главных идеалов (аз) и из S. Мы неразложимый, но не простои. утверждаем, что она не может быть бесконечной. ся делителем другого. Поэтому (а) (с), (с) (а) и, значит, (а) - (с), то есть ассоциированные элементы порождают один и тот же идеал. Отношение ассоциированности является эквивалентностью и разбивает множество элементов кольца на классы. Таким образом, класс неразложимых ассоциированных элементов можно представить одним неразложимым элементом. Если элемент b является делителем элемента а, но b не ассоциирован с а (то есть а = 6с и с не Действительно, сумма идеалов такой цепочки является идеалом в 7J и, следовательно, главным идеалом, который обозначим через (а). Образующая а этого идеала должна лежать в некотором элементе цепочки, скажем. в и п и . Имеем (а) с (а„). Значит, цепочка обрывается на Следовательно, любой идеал, содержащий Ш и отличный от и имеет образующую, до HbU4 делителем элемента а. является обратимым), то b называется собствен- этом случае а не является делителем b и идеал (Ь) является собственным делителем идеала (а). (В противном слу- пускающую разложение на простые множители. Элемент а„ не может быть простым, так как иначе он имел бы тривиальное разложение на простые множрггели. Значит, существует представление а„ == be, где (Ь) ^ (а„), (с) ^ (а„), а потому и с обладают разложением на простые множи- чае выполнялось бы равенство ad, то есть а = acd и е = ее/, и элемент с был бы обратимым.) Поэтому неразложимый элемент можно определить как ненулевой элемент, не имеющий необратимых собственных делителей. тели. Но произведение этих множителей дает разложение на простые множители для а„. Следовательно, множество S может быть только пустым. имеет два разложения Предположим, что а а upx,,,p^~u^q\,,.qs на простые множители. Так ненулевой эле Лемма 3.8.1. Пусть а g мент целостного кольца и идеал {а) — простой Тогда а — неразложимый элемент. Доказательство. Если а = Ьс, то один из со какр1 делит произведение в правой части равенст ва, то/»] делит один из элементов 5/. После перену мерации (в силу коммутативности) мо51шо считать что это qi. Тогда найдется обратимый элемент щ Сокращая на р\, получаем 5 такой что qi UiPi wp2-"A-г/'г/1^2---?л- Доказательство однозначно сти разложения завершается по индукции. множителей, например. ? лежит в (а\ Тогда Однозначное разложение на простые множители можно написать ad. где а acd Hcd=e, то есть с — обратимый элемент. R, Следовательно, имеет место и в евклидовых кольцах, так как они яв ляются кольцами главных вдеалов по теореме 3.7.3.
45 Для коммутативных колец справедливы еле- доморфизма ф выполняется ф(а + 6) = ф(а) + ф(&). дующие включения: (коммутативные кольца} => {целостные кольца} {факториальные коль Тогда (х(ф + vj;))(a) = х(ф(^)) + X(v(^)) или Х(ф + V) ~ ХФ "•" XV- Наконец, существует единич- ца} {кольца главных идеалов} => {евклидовы ный эндоморфизм s, отображающий каждый эле кольца}. мент модуля в себя, при этом 8ф бого ф. ф8 для лю Теорема 3.8.3, В произвольном кольце главных идеалов неразложимый необратимый эле- Кольцо эндоморфизмов модуля не обязательно мент р порождает максимальный идеал, то есть целостное или даже коммутативное. Например, кольцо классов вычетов по этому идеалу являет- аддитивная группа кольца Z[/] является модулем, ся полем. Пусть ф: {а + Ы) -> а, vj;: {а + Ы) -> Ы. Легко убе Доказательство. Если элемент р неразло- диться. что это эндоморфизмы модуля (но не жим, то у него нет собственных делителей. По- кольца!) Z[/]. Тогда фш Шф о нулевой эн скол ы^ главным по условию каждый идеал является доморфизм, при этом ни один из сомножрггелей не ? то идеала (/?) тоже нет собственных является нулевым эндоморфизмом. модуле делителей, кроме единичного идеала. Следова- квадратных матриц размера 2 над полем операция тельно, идеал (р) максимален. По теореме 3.6.1 умножения на матрицу является эндоморфизмом, кольцо классов вычетов по идеалу (р) является Однако произведение матриц некоммутативно, полем. ■ Модуль, имеющий простой порядок/», является циклическим с образующей а. Следовательно, 3.9. Кольцо эндоморфизмов модуля Модули над кольцами каждый элемент такого модуля можно предста вить в виде wa. п Пусть М— модуль. Отображение ф модуля М в себя по определению является эндоморфизмом, G М Оп- . Тогда эндоморфизм полностью определяется образом образующей. Образующая может иметь р образов, следова- если ф(а + 6) = ф(а) + ф(6) для всех а, ределим произведение эндоморфизмов ф и vj; как композицию отображений. Тогда для т е М выполняется (ф1];)(т) = фСч'С/??)). Посколы^ областью определения и областью значения эндоморфизмов являются элементы модуля М, то можно определить сумму эндоморфизмов как сумму их образов, при этом сложение образов выполняется в соответствии с групповой операцией модуля. Если а, 6, т — элементы мо- тельно, кольцо эндоморфизмов состоит из р эле ментов. Если ф(а) = пга^ \\f(a) = па, то (ф + \\f)(a) (пг + л)а, (ФЧ^)(а) ~ тпа^ при этом сложение и умножение выполняются по модулю Таким образом, кольцо эндоморфизмов модуля порядка р изоморфно кольцу Ж1рЖ. Эндоморфизмы конечных групп часто ис пользуются в криптографии как для анализа безопасности алгоритмов, так и для ускорения вычислении. Примером может слу5кить ком дуля ш(/?7) м ? эндоморфизмы и ф(/?7) плексное умножение на эллиптических кривых (см. пп. 6.14.5, 7.10). а. 6, то (ф + \\i){m) = ф(/?7) + \\f{ni) ~a + b. Пусть дуль. ДЛЯ — коммутативное кольцо, М— которого определено умножение МО на Теорема 3.9.1. Эндоморфизмы модуля обра- элементы кольца /с, и при этом выполняются свойства {а + Ь)т ~ am + от, М. зуют кольцо. Доказательство. Сумма эндоморфизмов яв- любых а, 6 ^ Rum ляется эндоморфизмом: (ф + \\f)(a + 6) = (ф + \\f)(a) + +(ф + ш)(6) = ф(а) + \\j(a) + ф(6) + \\j(b) = ф(а + 6) + кольцом R. (аЬ)т афт) для Такая конструкция называется модулем над + \\f{a + Ъ). В силу свойств модуля сложение эн доморфизмов коммутативно и ассоциативно. Отображение о всех элементов модуля в нулевой элемент ид/ модуля является нулевым эндомор физмом: (ф + о)(а) = ф(а) + о(а) = ф(а) + О м ф(а). Кроме того, для каждого эндоморфизма ществует противоположный эндоморфизм кои, что ф(а) су та а). Следовательно, эндомор физмы образуют модуль по сложению. Дистрибу тивность умножения эндоморфизмов относитель но сложения следует из того, что для любого эн Пример 3.9.1. Модули над кольцами. . Модулем над кольцом является векторное пространство над произвольным полем К, при этом в качестве кольца R используется поле К. 2. Аддитивная группа кольца Z[/] может быть рассмотрена как двумерный модуль над Z. . Аддитивная группа кольца R\pc\ может быть рассмотрена как модуль над R. . Любое коммутативное кольцо может бьп^ь рассмотрено как одномерный модуль над собой [7]. 9 Модуль над R называют также /^-модулем.
46 Для любого модуля существует эндомор Пусть К— поле. Тогда Щрс\ является кольцом физм: а па а + а + + а раз, п ^Ж). По- главных идеалов, то есть каждый идеал порож этому любой модуль является модулем над ден единственным элементом. Аналогичное ут верждение справедливо и для колец от несколь Любой идеал кольца R является его подмоду- ких переменных над полем К. лем, если рассматривать R как модуль над собой Разные идеалы могут быть изоморфны как моду ли над R. Идеал 21 целостного кольца R как мо дуль изоморфен кольцу 7с тогда и только тогда, когда он главный. Действительно, если 51 - (а) Теорема ЗЛ0Л< В кольце К[Х], ...,х„] каждый идеал конечно порожден. Доказательство см. в работе [3] и И г G то 7 га но, пусть ф: R нужный изоморфизм. Обрат — изоморфизм модулей, е — единичный элемент кольца и ф(е) Ф) ф(ге) /^ф(е) га. то есть 5 (а) а. Тогда Поэтому Полином называется однородным, если все его слагаемые имеют одинаковую степень. Произведение однородных полиномов является однородным полиномом. число неизоморфных как модули идеалов цело стного кольца является мерой его отклонения от кольца главных идеалов [7]. Теорема ЗЛ0.2. Полином Дх], ...,Х/^) степени d является однородным тогда и только тогда, ко гда для любого и /жь.... их п d имеет место равенство шЛ I\Jv [5 • • • ? ^/7 ЗЛО. Свойства полиномов Если R Доказательство. Поскольку каждый одно- однородного полинома / имеет член ах"^^ ...х"^"" целостное кольцо, то присоединени степень ем переменной х получаем коммутативное кольцо полиномов /J[jc]. Такое присоединение можно выполнять несколько раз, в результате чего получа- то аЫк 1 а I ...{ш,Х" СИЛ Лл mmwJC ^ d ется кольцо R\x\^ •••,^и]- В этом случае говорят, что полином fixu ...,^/7) е ^[-^^ь •••5^J определен Вынося общий множитель и, получаем, что для каждого однородного полинома выполняется равенство fiuxx, ..., vxj) = ufix^ --.^Хп). Необходимость доказана. над кольцом R. Согласно теореме 3.4.2 кольцо R[xu ...,^/7] — целостное. Если К— поле частных кольцаR, то поле частных кольцаR[xu ---.хЛ обо- Докажем достаточность. Для любого одно члена степени aiia 1 а 1 ...(шГ^ выполняется равенство Поскольку ^^ai+...+a, а, а. значается через К(хх, ...,х„). Элементы поля оно справедливо для любого и, то из гомомор К(Х],..., x„) называются рациональными функция- физма, получаемого подстановкой элементов ми. Всякая рациональная функция может быть кольца вместо переменных х, и г/, следует, что записана в виде —, где/, g е R[x], • • * m/V п Hg^O для каждого слагаемого выполняется равенство ai + ... + а л Следовательно, все слагаемые Если для некоторого набора (бь ..., л где имеют одинаковую степень а, то есть полином / 7J, знаменатель g(6i, ..., fe„) отличен от нуля. является однородным. то говорят, что рациональная функция опре делена в (йь ..., &„). Подставив вместо переменных X, элементы 6„ можно получить значение функции в поле К. Полином из R\x\,. менных можно рассматривать как полином от одной переменной х„ над кольцом R\xu ...,х^]], то есть как элемент кольца Щхи •.., x„_i][x„ Отметим, что символ и в формулировке тео ремы можно рассматривать как новую независи мую переменную. В случае полиномов от не скольких переменных можно определить опера цию подстановки полинома вместо независимой ..,х„] от нескольких пере переменной. 3.11. Производная и кратные корни 10 этом случае его коэффициенты являются полиномами. Пусть коммутативное кольцо и Например, для полинома ху +2ху + Ъу коэффи Я^) R\x\ Произвольный полином. Присоеди циент при X равен у + 2у, коэффициент при равен х^ + 3. 3 ним к коммутативному кольцу R[x] новую пере G R[x, h] менную h и построим полином fix + h) Разложим этот полином по степеням h: - ч 10 Действительно, имеет место изоморфизм R[xu ,х и /vIXij ...5 X ^-1 ][х У} задаваемый подста нов ко и. 2 Ах + К) =Лх) + hMx) + кЪ{х) + .... и Однородный полином также назьгеают формой.
47 2 Найдем вычет по модулю п : fix + h) ^fix) + hfx(x) (mod h 2 л FU,... 5 n TF,if„...JM J=\ f 5 Коэффициент fxipc) при /? называется произ rneF водной полинома У(зс) и обозначается /'Г^) / 5 Оче f Пусть полные производные. — целостное кольцо с единичным видно, что значение f(x) можно получить, если элементом. Элемент а называется найти разность Кх + К)- fbc\ разделить ее на и положить Поэтому в поле вещественных полинома fix) R\x\ 5 если Да) корнем этом случае полином f{x) делится на х~а. Действительно, чисел это определение производной совпадает с поскольку ЕЫ — евклидово кольцо, то деление определением производной в дифференциальном f(x) на jc - а дает равенство Ях) q(x)(x d) + i исчислении. Такое чисто алгебраическое определение про где г — константа. Подстановка в это равенство X а дает г О, то есть fix) = q(x)(x - а). По ин изводнои применимо к кольцам, в которых нель дукции получаем, что если ax^...^ak различ зя определить производную традиционными ме- ные корни полинома/х), то/х) делится на про тодами, например, к кольцам полиномов над ко- изведение {х - а\)..,(х печными полями, кольцам полиномов над коль- Ok). Отсюда следует, что полином степени п над цом циркулянтных матриц, кольцам классов вы- целостным кольцом имеет не более л корней. Однако, если кольцо имеет делители нуля, то число корней может быть больше п. Например, в четов и т. п. Теорема 3.11.1. Пусть Дх), g(x)— произволь кольце квадратное уравнение х имеет ные полиномы из коммутативного кольца. Имеют четыре корня: 1, 6, 29, 34. место равенства (/+ gY Доказательство. По определению произ Если fix) делится на (х k+i к ь но не делится на ь то а называется корнем кратности водной fix + h)+^x + h) fix) + hfXx) + g(x) + h^{x) (mod lf\ полиномаДх). Корень кратности к полинома Х^) над целост , яв производной/'(л'). ным кольцом характеристики, отличной от ляется корнем кратности то есть производная суммы равна сумме произ водных. Аналогично, Действительно, из равенства fix) а) Wx), где g(x) не делится на х-а, следует, что/'(х) к{х - df~^g{x) + (х - af^{x). Очевидно, что сум ^ При пере fix + h)^x + h)^ (fix) + hf\x))im + hg Yx)) к второе ела /^Ж^) + (/*'Wg(^) +A^)g\^))h (mod h 2 ма в правой части делится на (х ходе к сравнению по модулю гаемое обращается в нуль, а первое слагаемое отлично от нуля. Таким образом, сумма не делится на (х к Утверждение теоремы по индукции обобщается на произвольное число слагаемых и сомно- стой корень) не является корнем производной а) . Следовательно, корень кратности 1 (или про жителей. Имеет место равенство {ах) г anj^ и. Эти рассуждения остаются верными и при за следовательно. мене линейного полинома х - а, соответствую г щего корню а, на произвольный полином. и а.х I алх 1-\ Назовем полином I 1=\ Лх) (от одной переменной) R[x] свободным от квадратов^ если он не Если кольцо к является полем, то для про изводнои рациональной функции также спра ведлива формула дифференциального исчисле ния: делится на квадрат полинома, отличного от кон станты. Полином У(х) над целостным кольцом свободен от квадратов, если НОД(/(х), f'(x)) е 3.12. Симметрические функции f f\^)gix) - f{x)g'(x) 2 (X) кроме того, выполняются формулы для част ных производных полиномов от нескольких пе ременных, а также для производной сложной функции: если F(xi, ...,х„) h/(xi 5 X п ПОЛИ номы из ЖХ], ...,Х и и Е дР/дх., то Пусть целостное кольцо. Полином из если он кольца R[x\^ ---,^и] называется симметрическим полиномом^ от переменных хь---^Х/^, переходит в себя при любой перестановке этих переменных. 12 Симметрический полином называют также С7ш метрической функцией.
48 С помощью новой переменной z построим по Докажем единственность. Если <^\(Уъ--:Уп)^ лином fiz) степеням z: Яг) xx)...(z X п п~\ Z GiZ + Разложим его по ■+( /7 Or,. Тогда Пусть ф то и 9i(ab...,a„)^92(ai 5 5 ст„). ф1 ф2, тогда достаточно показать, что CTl Xi +Х2 + ... +Х„, ИЗ (р(уъ ■■■,Уг,)^0 следует ф(а1 СТ2 XiX2 + Х1Х3 + ... + X и IX 5..., а„) ^0. Каждое слагаемое в ф(уь ---^J/?) ^ О можно записать в и? СТз Х\Х2Х'г + XiJC2-^4 """-.. "^-^ Qj-а2 а2-ссз виде Щ У2 л 2^ п лХ т а п 12* • "^ft* п ". среди всех наборов показателей (аь ...,сс„), соответствующих коэффициенту а ^ , существует первый в словарном упорядочении. Заменим у^ на а,, тогда получится Очевидно, что это симметрические функщ1И. первое в словарном смысле слагаемое полинома ФуНКЩ1И а I называются элементарными сгш метрическими функциями. Если в некоторый полином ф(аь ■■■„ ст„) вместо переменных а/ подставить элементарные симмет- .. то этот полином Ф(а1 5 ..., а /7 aj а2 а }i Это слагаемое нельзя ни с чем сократить, следовательно. ф(а1,..., а„)7^0. :\: рические функщ^и от х-[^..., будет симметрической функцией от Xj i :\: и при этом слагаемое вида со^^...о^" Следствие 3.12.2. Каждая симметрическая функция корней полинома выражается через ко- 1 п окажется одно- эффициенты этого полинома. родным полиномом степени \Хх + 2|а2 + ... + и|а„ от х,^ так как кал<дая элементарная симметрическая функция а,: является однородным полиномом степени /. Сумму 10,1 + 2ц2 + --. +«Ц„ назовем весом слагаемого со^^ ...а^". Весом полинома ф(а1 1 и ь ...,а л назовем наибольший вес его слагаемых. Оказы Доказательство. Если fiz) п Z + aiz + ... хЛ.. .(z хЛ + аг>. то а\ -<Уи aj ^ъ ..., а п п а„. Остается применить теорему 3.12.1. Важной симметрической функцией является произведение квадратов разностей корней поли нома/(■>^) = х" + а\х" + ... а и Щх\ вается, любой симметрический полином может бьггь выражен как полином от элементарных симметрических функций. D П( X 1 X.) 2 J i>J Выражение для D как полинома от коэффици Теорема 3.12.1. Симметрический полином ентов а\ =-аь сц СТ2, ... ь а л п а. называется и над целостным кольцом может быть единствен- дискриминантом полинома fix). Если кольцо ным образом представлен в виде полинома от целостное^ то нулевой дискриминант означает г> элементарных симметрических функций. что хотя бы один из сомножителей в выражении Доказательство. Упорядочим словарно задан- для D равен нулю^ то есть J(x) имеет хотя бы ный симметрический полином от Xi так^ чтобы один кратный корень слагаемое зсГ*...х^" 1 предшествовало слагаемому Симметрические функции можно представ 1 ...X лять и с помощью другого базиса. Обозначим п п ь если первая ненулевая разность а I I п п п положительна. Посколы^ этот полином симмет т 1 Х^ jTj X 2 ...,Т П X" рическии. то в него вместе со слагаемым /=1 /=1 /=1 ах f»...x^" входят и все слагаемые, показатели ко э Здесь о и '^2 CTl 2 2а2, тз CTl 3 3cTia2 + торых являются некоторой перестановкой показа + Заз и т. д. Если полином рассматривается над телей а^. Первое (в словарном упорядочении) ела гаемое обозначим а полем характеристики или (при п р\ то X 1 ..л а п ДЛЯ этого слагае функции X, алгебраически независимы (см. п. 4.2) и молшо выражать целую симметрическую функ г> мого ai > ... > а„. Такую же сумму дает произведе- цию через т,. ние элементарных симметрических функций __ ■*с ь V --" ао а 1 1 а 2 а а 2 2 *^'...а^" . Вычтем это произведение из 3.13. Разложение на множители данного полинома, упорядочим разность словарно. полиномов от нескольких переменных Кольцо полиномов Щхи - 5 ^и] над целостным найдем старшее слагаемое и повторим процедуру. Поскольку степень разности не превышает степени первоначального симметрического поли- кольцом R целостно. Следуя работе [3]^ покажем^ что аналогичное утверждение имеет место и для нома, а число его слагаемых конечно, то на неко тором шаге алгоритм остановится. факториальных колец.
49 Пусть целостное кольцо и п /(^) Лемма 3.13.2. В равенстве /(х) а ал / произвольный полином из Щрс\. g{^) по /=0 Наибольший общий делитель а коэффициентов (70,..., а„ называется содерэюанием полиномаУ(х). ТогдаДх) = а^х\ где g(x) — полином с содержанием 1, причем а, g(x) определены однозначно с точностью до обратимых элементов. — полином от нескольких переменных^ то различают содержание относительно различных переменных. лином g(x) с содержанием 1 определяется однозначно с точностью до обратимых в R элементов. Обратно, полином у(х) определяется полиномом g(x) однозначно с точностью до обратимых в К[х\ элементов. Произведению/i(x)^(x) биективно соответствует произведение g\(x)g2ix) поли- Если/ Пример 3.13.1. Содержание. у + х номов с содержанием 1. Если полином Дх) неразложим в К\х\ то полином g(x) неразложим в 7J[x], и обратно. Доказательство. представления полинома/(х): Пусть даны два разных: Полином ху + v^ + Ж^ 3 + из кольца Z[x, V] меннои ^М[у] имеет содержание х + 1 по пере /(^) а ь так как (х + 1)/ + (х + 1)(х - \)у + (х + 1)(х^ имеет место равенство gi^) с h(x). х + Тогда adg(x) сЬЫх). Содержание в левой части равно аа^ содержание в правой части равно Лемма 3.13.1, Произведение двух полиномов be. Следовательно ь ad гЬс^ где s — обратимый с содержанием содержанием вновь является полиномом с элемент кольца R. Подставим это равенство в и сократим Доказательство. Пусть /(х) = ао+ aix +..., six) О + b\X+ ... — полиномы с содержанием предыдущее sg(x) = h(x). Значит^ полиномы обратимым в R множителем. на сЬ. и Получим отличаются Предположим обратное: содержание полинома Таким же образом для произведения полино J{x)g(x) равно с и является необратимым элемен- мов том кольца R. Если /,w а — произвольный простои делитель элемента с, то р должен делить все коэффициенты полиномаУ(->^)^(х). По условию не все g\i^) ? 2 (X) с gli^) получаем /, (^)/2 (^) ас М ё\ {^)82 (^) - Согласно лемме коэффициентыХх) и g(x) делятся на/?. Пусть г и 3.13.1 произведение g\{x)g2{x) опять является по S максимальные степени х^ для которых а,- и S линомом с содержанием Следовательно ь про не делятся на р. Коэффициент при х Хх)я(х) равен аЛ + a^ifes+i + аг^ф r^s полинома s-\ + а. г-гь'х+г + + aj^2bs^2 + .... В этой сумме все слагаемые, кроме первого, делятся на р^ так как один из сомножителей делится на/?. Поскольку коэффициент при х'^'^ по предположению делится на /?, то arbs тоже должно делиться на р. Получили противоречие. Следовательно^ содержание полинома fix)g(x) равно изведению /i(-X")^(x) соответствует произведение gi(p^)g2(pc). Если полиномУ(х) неприводим^ то и g(x) будет разложение разложению неприводимым, поскольку любое вида gi^) gi(x)g2(x) Приводит к /(^) а gix) а Si (^)g2 (^) - Обратное утвер ждение доказывается аналогично. Теорема 3.13.3. Если фактор нал ьное ждый полином из Щх] однозначно раскладыва Пусть К— поле частных кольца R. Тогда ка- кольцо, то и R[x] — факториальное кольцо. Доказательство. Целостность кольца R[x] ется на простые множ^ггели. Чтобы перейти от была доказана в теореме 3.4.2. Рассмотрим раз- разложения в Щх] к разложению в R[x]^ предста- ложение на множители произвольного полинома ним каждый полином Лх) Щх] в виде F(x) ИЗ Щх]. Неприводимый полином обязательно 9 является константой в или неприводимым по где F(x) R[x] и произведение знамена телей коэффициентов полинома дх). Полином F(x) представим как произведение его содержа- линомом с содержанием 1, так как любой другой полином разложим в произведение своего содержания и полинома с содержанием ния а на полином g(x) с содержанием i, то есть F(x) аЫх), и Пх) а g(x). Имеет место еле дующая лемма . Следова тельно, для разложения f(x) нужно сначала разложить его в произведение содержания и полинома с содержанием 1, а потом каждый из сомножителей раскладывать на простые множители. По условию теоремы содержание однозначно
50 раскладывается на простые множители с точно Для упорядоченного множества стью до обратимых элементов, полиномы с со- элементом О будет число (^ >0 ь держанием также однозначно раскладываются согласно лемме 3.13.2 Следствие 3.13.4. Если факториальное кольцо ь К его поле частных и полином fix) неразложим в К[х\ то fix) неразложим и в Щх^, 3.14. Полукольца и решетки Полукольцом S будем называть структуру с дву мя операциями— сложением и умножением. в которой выполняются следующие свойства []]: все элементы по сложению образуют комму тативный моноид с нулем 0; все элементы идемпотентны относительно операции сложения и умножения: а + а а. а а а для всех а все ненулевые элементы образуют коммута тивныи моноид по умножению с единичным элементом ром\ О • а ь причем является аннулято a-Q О для всех а г> умножение дистрибутивно относительно сложения: аф +с) = аЬ + ас. Примерами полукольца являются: множество подмножеств некоторого множества с операциями объединения и пересечения подмножеств ь множество высказывании, принимающих истин ное или ложное значение, с операциями ИЛИ^ И. Элемент а упорядоченного множества М на зывается мингшалъным., если неравенство х а невозможно ни для какого х е М. Элемент а упо рядоченного множества М называется макси мольным^ если неравенство х>а невозможно ни для какого X М. Наименьший элемент обязательно будет ми нимальным, но обратное неверно. Различие меж ДУ минимальным и наименьшим элементами можно пояснить на следующем примере упо рядоченном множестве (Р*(М) непустых под множеств множества М наименьшего элемента нет, а минимальными являются все одноэлемент ные подмножества. Если упорядоченное множество имеет наименьший (наибольший) элемент, то он будет единственным минимальным (максимальным) элементом. Теорема 3.14.1. Каждое непустое конечное множество имеет минимальный и максимальный элементы. Доказательство [6]. Пусть множество М состоит из элементов х\, ..., х„. Положим т\ Xi и для mk положим Wk Xk, если Xk mk-\ ? и П1к-\ в противном случае. Тогда т п ми нимальныи элемент. Аналогично доказывается существование максимальных элементов. Теория решеток имеет дело со свойствами отношения порядка^ заданного на некотором (частично) упорядоченном мноэюестве, Очевидно^ что всякое подмножество упорядоченного множества является упорядоченным ножеством с тем же отношением порядка. всякое упорядоченное что Легко показать, ножество М содержит не более одного элемента неравенству аъ.х для всех «5 удовлетворяющего лементов х из М, Действительно, если а и два таких элемента, то имеет место а<Ь откуда а называется ь а ь Такой элемент, если он существует. наименьшим обозначается символом элементом {нулем) и ; двойственный к нему элемент упорядоченного множества, если он существует называется наибольшим символом элементом Таким {единицей) и обозначается образом^ если такие элементы существуют, то для всех X е М имеет место двойное неравенство 0<х< Ясно г> что если X^ X п Xi ь ТО X^ X п Пример 3.14.1. Упорядоченные множества . Для упорядоченного множества {Р{М), элементом О будет пустое множество, а элемен том само множество М. Элементы а и упорядоченного множества (М, <) называются сравнимыми^ если а<Ь или а, В противном случае элементы несравнимы. Линейно упорядоченные подмножества упоря доченного множества называются цепями, В це пи понятие наименьшего и минимального эле ментов совпадают. Элемент а е Л называется верхней гранью не пустого подмножествах упорядоченного множе ства (>4, <), если выполняется неравенство х а для всех X G X Двойственно вводится понятие нилсней грани. Ясно, что подмножество может '. а иметь много верхних и много ншкних граней, может не иметь ни одной. Наименьшая верхняя грань подмножества X называется точной верхней гранью и обозначается sup а. Из свойства антисимметричности отношения порядка следует, что если точная верхняя грань существует^ то она единственна. Двойственно вводится понятие точной нижней грани mix. Если точная нижняя грань существует, то она единственна. Решеткой называется упорядоченное множество X, в котором любые два элемента х, у имеют точную нижнюю гранц или «пересечение»^ обозначаемое X л у, и точную верхнюю грань, или
51 «объединение»^ обозначаемое х v у. Решетками полукольцо с двумя бинарными операциями: являются множества (Z {Р(М), >0 ,1), (^ >0 ,^\ (R >05 ^\ сложением v и умножением л. Пусть решетка с нулем и единицей. До Решетка L называется полной^ если любое ее полнением к элементу х называется элемент подмножество X имеет в L точные верхнюю и такой, что хлу=0, xvy Если каждый нижнюю грани. Ясно, что любая непустая полная элемент решетки L имеет дополнение, то гово решетка содержит наибольший элемент / и наи- рят, что L является решеткой с дополнениями. Не меньший элемент О (для этого надо положить все решетки имеют дополнения. Например, в це X НОИ L). Любая конечная решетка является пол- пи элементы, отличные от . Любое линейно упорядоченное множество нений. и не имеют допол является решеткой. Действительно, для пары сравнимых элементов упорядоченного множества точной нижней гранью будет меньший из этих больший. элементов, а точной верхней гранью Пусть (Z, <) — некоторая решетка. Сопоставляя каждой паре элементов х, у е Z их точную нижнюю грань, определим на множестве L бинарную операцию (x,j;)->x л у. Аналогично определим бинарную операцию (х, j) -> xvy. Эти операции идемпотентны: х ах XV X х: коммутативны: х Ау= у ax^xv y=yvx; ассоциативны: X л (у л z) = (х Aj) л z, X V (у V z) (х V j) V Z. кроме того, имеют место законы поглощения XA(yVz)=XV(yAz) X Гомоморфизмом ш решеток L и М называется отображение М такое, что для любых а. G L выполняются условия vj/(a v b) = \\}(а) v \]f(b) Ц1(а A Zj) = Ц1(а) a Ц^(Ь). Биективный гомоморфизм решеток называется изоморфизмом. и Решетка L называется дистрибутивно^ если для любых элементов а, равенства: с G выполняются а A(bv с) = (а Ab)v (а А с); Пример 3.14,2. Булевы функции как решетки Булевой функцией п переменных будем назы вать отображение (true, false} л Если сопоставить true и false {true, false}. , то булева функция задается отображением F 2 п 13 2 Множество булевых функций п переменных. заданных в базисе И (а), ИЛИ (v), НЕ обра зуют дистрибутивную решетку, в которой каждый элемент обладает единственным дополнени- . Дополнением к булевой функции / будет ее ем инверсия тогда, когда/ При этом тогда и только . Кроме того, это множество является полукольцом, в котором операция ИЛИ является сложением, а И — умножением. 3.15. Кольцо полиномов Же1 алкина 3.15.1. Полиномы Жегалкина Кольцом Gy^ полиномов Жегалкина называется кольцо классов вычетов а V (6 А с) = (а V 6) А (а V с) Каждое из этих равенств влечет другое, бая цепь является дистрибутивной решеткой Имеет место следуюш.ая теорема [2]. Лю 2 Г^Ь ,X„]/(Xi(] ©Jfi), .xJ\@x,)) Элементы кольца G„ называются полиномами Жегалкина. Кольцо G„, в отличие от обычного кольца по- Теорема 3.14.2. Если в дистрибутивной ре- линомов над Рз, конечно. Степень полинома Же- шетке L для любого с е Z имеют место равенства галкина по каждой переменной не превосходит cvx = cvyHCAJc = cAy, гдех,уе1,тох = у. 1. Поэтому можно записать т = Доказательство Из закона поглощения следует, что х = х а (с v х). Из первого условия теоремы имеем х = х а (с v х) = х а (с v j^). В силу дистрибутивности решетки, раскрывая скобки, получаем х = (х ас) v (х aj). Заменяя хас на J А с, получаем х = (у а с) v (х Ау). В силу дистрибутивности X =у А (с V Х) -у А (с V j) п а о а.х,- Уа,х,х_,. ®^Х..л^\ X п I i>J где все 2" коэффициентов а„ а^^ поле 2 , а\ Г1 лежат в 2 и выполняется равенство х, X 17 И, следовательно, х т I X, ДЛЯ т Аксиоматика дистрибутивной решетки с нулем и аксиоматика полукольца совпадают, поэтому такую решетку можно рассматривать как . Нетрудно заметить, что мощность множества G„ равна 2 , как и моищость множества булевых функций п переменных. л-ч *^ См. также п. 16.3.
52 Каждый полином Жегалкина задает некото рую булеву функцию, если сопоставить true -о- и т . Рекуррентное построение матрицы L^ определяет способ быстрого вычисления коэффици- полинома Жегалкина ентов полинома Жегалкина для таблично задан- представляли одну и ту же булеву функцию, то ной булевой функции (по аналогии с быстрым их сумма (XOR-разность) представляла бы нуле- преобразованием Фурье, см. пп. false Если бы два вую константу. Однако сумма двух различных полиномов отлична от нуля. Поэтому каждая булева функция может быть представлена в виде полинома Жегалкина единственным образом, следует Полиномы/и/@ ] задают инверсные функции Булеву функциюДхь ...,-^„ двоичным вектором из ным вектором из .,х можно задать как значении, так и двоич- коэффициентов полинома Жегалкина. Переход от табличного задания бу- ,х к заданию полиномом левой функциидхь ... Жегалкина выполняется следующим образом Очевидно, что а^ =/(0), где О — вектор, состоя щий из одних нулей. Коэффициенты а/, 1 </<«, можно найти так: а/ = Ш) ®fiS)-> где 1 вектор. г-я координата которого равна J, а остальные ко ординаты нулевые. Сложение выполняется по модулю 2. Аналогично получаем ^(,-XO)e/i)eAi)e/ij), где вектор, /-Я и у-я координаты которого равны 1, а остальные координаты нулевые. Далее находим ciiik т ®т ®т ®т © @/ij)@/ik)@Xjk)©/(ijk), где ijk—вектор, /-я,/-я и А:-я координаты которого равны а остальные координаты нулевые, и т Данная процедура задает алгоритм представления булевой функции полиномом Жегалкина. Перевод вектора значений в вектор коэффициентов можно задать умножением на квадратную матрицу L^ размера 2 л над F 2 Перенумеруем наборы аргументов числами от до 11 J где вектору число соответствует число вектору 1 и т . Аналогично перенумеруем коэффициенты полинома Жегалкина. Тогда матрица „ будет нижней треугольной, в которой главная диагональ, первый столбец и последняя строка состоят из единиц Запишем результирующее преобразование в "-мерный вектор коэффи- виде а LS где а циентов полинома Жегалкина, вектор значений булевой функции Матрицы структуру: п мерный имеют регулярную блочную о h 7 2 V Л (Ц 0^ 3 у V 2j Обозначим через Е, единичную матрицу с / строками. Поскольку 2 £ , И ИЗ 2 к-\ 2 к Е.^ то по индукции получаем: 2 п К И Ln ция ^. Поэтому если булева функ (как вектор) обладает списком коэффици ентов а, то булева функция а (как вектор) обла дает списком коэффициентов f. Пример 3.15.1. Представление булевой функции полиномом Жегалкина. Пусть булева функция четырех переменных на наборах (О, О, О, 0), (О, О, О, 1), , О, 1,1) принимает соответственно значения (1, О, О, О, 1, 1,0,0, 1, ], 1, ], О, 1,0, произведение а - /.4 Вычисляем над 2 (\\ X V 1 1 1 1 1 I ] 1 1 1 1 1 ] ] I ] Эта строка задает следующие коэффициенты полинома Жегалкина ао, (34, аз, аз45 ci^^ сца, <^2з? <^2345 ^Ь ^U7 <^135 <^134? <^125 <^1245 ^ПЗу С1\2ЪА- Соответствующий полином Жегалкина равен @ Х4 @ Хз @ Х3Х4 @ Х2Хл @ Х2Х3Х4 @ Х\Х^ ХлХъ Л" 1X3X4 XiX2 терминах кольца п удобно описывать свойства шифров. Рассмотрим алгебраические свойства этого кольца
53 Теорема 3.15.1. В кольце G„ каждый элемент жества булевых функций для/ идемпотентен, каждый непостоянный элемент ется равенство S{fg) = S(f) u S(g) n ВЫПОЛНЯ является делителем нуля. Доказательство. Каждый элемент кольца Лемма 3.15.3. Неразложимыми в кольце п п взаимно однозначно соответствует булевой являются те и только те полиномы, которые на функции п переменных. Полиномы / и /@ за множестве из п аргументов принимают единст дают инверсные булевы функции, поэтому венное нулевое значение J/ / гй\ ш л Ш 1 -Ж. ^ гй\ -Ж. ш\ л jfL - .— л ^^Н 1 г _ _ _ ■ ^ лг® о, г @/ и/ Доказательство. Если элемент/ и мож но представить в виде произведения двух раз В общем случае сокращение в G„ недопустимо, личных элементов Например, а(а @Ь) = а(] @ й), но а Ь^] тогда, когда g и gh, то/= ] тогда и только . Следовательно, если/ принимает единственное нулевое значение, то на Теорема 3.15.2. Кольцо G„ содержит единст- всех остальных наборах gnh принимают значение венный обратимый элемент — константу Доказательство. Будем искать представле Тогда либо причем или либо и h Обратно, если полином / неразложим. ние fg. Умножив это равенство на/ получим то есть его как строку из 2" символов {0,1} нельзя fg; умножив его на g, получим g =fg. Отсюда представить в виде поразрядной конъюнкции двух следует/ Тогда fg г. fg в силу идемпотентности, / и ; значит, различных строк, из которых хотя бы одна отлична Других от строки / то строка / должна содержать единст делителей единицы нет венный нулевой символ. Действительно, в случае двух (и более) нулевых символов на наборах х и х' поразрядную как и и Поскольку каждый непостоянный полином из строку / можно представить является делителем нуля, кольцо частных конъюнкцию двух строк, из которых одна имеет единственный нуль на наборе х, а другая — единственный нуль на наборе х'. кольца G„ совпадает с G„, а поле частных кольца оказывается тривиальным и совпадает с р2 3.15.2. Разложение на множители в кольце п Согласно теореме 15 элемент является неразложимым в и Посмотрим, существуют ли в и другие неразложимые элементы силу идемпотентности выполняется равенство для любого / и натурального т. Такое разложе ние наряду с разложением/ /назовем три виалъиым. Назовем неразлоокммым полином, об ладающии только тривиальными разложениями. Некоторые полиномы, кажущиеся неразло жимыми, можно нетривиальным образом разло жить на множители. Например, в 2 X (ху@у@ \)(ху@х@у)\ (ху@х@ \)(xy@x®yY Следствие 3.15.4. п существует в точности л неразложимых полиномов, принимающих зна чение О в точности на одном из 2" наборов аргу ментов(0,0, ...,0),(0,0, JX Д1, -Л) Доказательство. По лемме 3.15.3 эти полиномы являются неразложимыми. Других неразложимых полиномов не существует, так как в G„ существует лишь 2" различных наборов аргументов. Набору (0,0,..., соответствует полином ХлХо X т набору (1,0, ,0) полином Xi)x 2 X т набору (], 5 5 НОМ Л) ® ^l)(] полином Х2)Х 3 X т 7 ®Xi)(l .,0)- набору Х2)... ПОЛИ (1, @х 7 п Все неразложимые полиномы имеют степень п Произведение равно 0. всех неразложимых полиномов j<- - х@у (х@у)(ху@]); х@у (ху@у@])(ху@х@ ]); х@ (ху@])(ху@х@ и т Однако в 2 В G„) есть элементы, кото рые невозможно разложить на множители На Теорема 3.15.5. Каждый полином из и облада ет однозначным разложением на неразложимые множители. Число неразложимых делителей полинома равно числу нулей в его табличном задании. Доказательство. Пусть полином/е и от личен от константы. Тогда существуют наборы пример, в Cj2 не раскладываются на множители в аргументов, на которых он принимает различные точности четыре полинома: ху@х@у; ху@ ]; ху@х 1; ху@у@ значения. Перечислим наборы, на которых/ Каждому такому набору можно взаимно одно значно сопоставить неразложимый полином Полином Жегалкина / однозначно определен I „, на котором р I Произведение указан набором своих нулей S(f). В силу изоморфизма ных неразложимых полиномов будет принимать мультипликативных моноидов кольца G„ и мно- значение О тогда и только тогда, когда/ то
54 есть ТТр^ . В соответствии с указанным по ЗЛ5.3. Симметрические функции кольца G„ строением разложение единственно Число не разложимых делителей полинома/равно числу Пусть (5^k п элементарная симметриче- Ли наборов, на которых/= 0. Поскольку рассматри ваются только нетривиальные разложения. то каждый делитель полинома / входит в произве екая функция степени к от переменных Xi, По основной теореме о симметрических функци ях [3] сумма и произведение элементарных сим дение только в первой степени Таким образом, кольцо G,-, обладает однознач ным разложением на неразложимые множители хотя и не является целостным. Поскольку в коль метрических функций a,^^k в G,-i являются симметрическими функциями. Следовательно, симметрические функции образуют подкольцо кольца ^. Это подкольцо содержит делители нуля, например, (о. 1 С7«,2)С7/7, 3 це п все непостоянные элементы являются де лителями нуля, то для степеней выполняется не равенство deg(/)<ydeg(A) Теорема 3.15.6. Каждую симметрическую функцию единственным образом можно представить в виде суммы элементарных симметрических функций. Доказательство. Пусть симметрическая Неразложимые элементы кольца G^ перестают быть таковыми в кольце G,.+i. функция/имеет степень т. Тогда в/будут входить всевозможные произведения т переменных. ^п^ Пример 3.15.2. Разложение на простые мно число которых равно Но элементарная жители полиномах! (d:;) хо в кольце уП1, 4 Составим таблицу истинности для полинома на X] @Х2. Этот полином принимает значение следующих наборах (xi, Х2, хз, Х4): (0,0,0,0), симметрическая функция Cr^j всевозможные произведения Следовательно, сумма /© о содержит те же переменных. т П,1П будет являться (0,0,0,1), (0,0,1,0), (0,0,1,1), (1,1,0,0), (1,1,0,1), симметрическим полиномом степени меньше т. (1,1,1,0), (1,1,1, 1). Составим таблицу соотвег- Повторяя эту процедуру несколько раз, получим ствия неразложимых полиномов и указанных полином нулевой степени наборов переменных Все элементарные симметрические функции можно получить из меньшего числа элементарных симметрических функций, а именно из множества {о J для о < / < log2n. в частности. О п ^12' О И.2' I I Например, для п получаем Os lOg 2 *^8,1*^8,4 ~*^8,55 *^8,2*^8,4 ~ *^8,б5 *^8,1*^8,2*^8,4 ме того, о ^„о ' «_2 /7_ / <^8,7 <^8,з; Кро- для всех / ^ 2". Доказательство этих утверждении следует из того, что число одинаковых слагаемых в симметрическом полиноме после раскрытия скобок оказывается четным. Перемножая все элементы второго столбца таб 3.15.4. Кольцо дифференциальных лицы, получаем разложение полиномах! Хо. операторов кольца G п кольце Gn можно определить дифференци является главным, рование. Операцию дифференцирования (диф Действительно, каждый полином из некоторого ференциалъный оператор) полинома / по пере Каждый идеал кольца идеала 21 (Аь --'^fm) МОЖНО задать таблично менной х, будем обозначать Д. Как обычно, про списком наборов переменных, на которых этот изводной полинома по переменной х/ назовем ко полином принимает значение . Пересечение эффициент при h в случае замены х, на х, ® всех таких списков даст список нулей, который Этот коэффициент, очевидно, равен коэффици- соответствует некоторому полиному /е 21, при снту прих,: если/^xj^ ®/i, гдeJ^,/l не зависят от этом /"= /i...^,. Тогда, очев но, 21 (f) X ь то от
5J Значение производной вычисляется как Д(/) ^■ о ф/к 1- Из определения производной вытекают еле дующие свойства: А( 1) Д(0) 3. Diipcjo Ф/i) ==/o, где/j не зависит отх,;. Для произведения элементов кольца п фор мула дифференцирования с учетом идемпотентности выглядит следующим образом. Если Xifo Ф/ь g=xso®gu где/ь gj не зависят от х,;. ТО/& л:,ОоЯо Ф/ogi Ф/igo) Ф/igi- В этом случае D,(fg) =/ogo wvo^m Ф/igo /gl л: / О ®fg\ ^z 1 Аналогично для трех сомножителей получаем Diifgh) =fogoho ®Moh ®Mxh ®Mxh ® ©/igo//o ®f\g^\ ®f\g\h 0 /^/^1 ^z 0 e/g/zi ^/ 1 Индукционный переход очевиден. Запись Д(/) можно рассматривать как умноже ние полинома/на Д. Произведение дифференци альных операторов ДД означает дифференциро вание по х,, а затем по X/, при этом D,Dj = DjDi. Вторая производная в п по любой переменной равна нулю. Можно определить сумму дифференциальных операторов (Д ® ДХ^ = D,{f) ® Д(/). Определим множество дифференциальных операторов как множество полиномов от Д, ...:,Dy^ с указанными операциями сложения и умножения. Множество дифференциальных операторов является подкольцом кольца эндоморфизмов аддитивной группы кольца G^. Для двух полиномов F и от D 1 1 1 Д, и двух полиномов /, g ri справедливо равенство (F@G){f@g) = F{f)@F{g)@G{f)@G{g). Поэтому свойства кольца дифференциальных операторов можно доказывать только для одночленов вида X J формальных переменных/)!, .... /)^. Каждый эле мент кольца дифференциальных операторов, от личный от о и Д является делителем нуля. Замену переменной х, в полиноме и на инверсное значение можно описать в терминах кольца дифференциальных операторов: /(^,, - ? X / 1 ? ^г!?^/+1 ? •••? ^iq) ^iJ УР^Л ? •••? ^ П (D + Е)Пх,, ? ^Л 3.15.5. Эндоморфизмы кольца п Эндоморфизмы модуля Gn с операциями ело жения (ф + \\f)(f) = ф(/) ® \\f(f) и умножения (?{\\f(f)) образуют кольцо End(G^), вклю- (Ф¥)(/) чающее в себя кольцо дифференциальных опера торов. Кольцо End(G„) совпадает с множеством квадратных матриц размера и над р2- Если таб лично заданные булевы функции fug предста вить в виде 2'^-мерных векторов f и g, то для one рации умножения на матрицу L будет выпол пяться условие Z(f ® g) = Lf@ Lg. Эндоморфизм модуля /7 является эндо морфизмом кольца G^, если (?(f® g) = ф(/) Ф (p{g) и Wg) ф(/)ф(я)- Для эндоморфизмов кольца и любых/ g п справедливы равенства: (Ф^)(АФ g) = Ф(^(/)) Ф Ф(^(я)); (<?^){fg) ф(¥(/))ф(¥(я)); Ф(0) ф(/) Ф(АФУ) Ф(1- Ф(/)ФФ(/) ф(1)ф(/), отсюда ф(1) если ненулевой эндоморфизм (существует многочлен/такой, что ф(/) ^ 0); Ф(1 ФУ) = ф(1) Ф фОО Фф(/) ? ТО есть эн доморфные образы инверсных функций для ненулевого эндоморфизма инверсны. По теореме о гомоморфизмах колец каждый эндоморфизм кольца п характеризуется идеа лом 5 который является ядром этого эндомор физма щихся в множеством элементов, отображаю Обратимые эндоморфизмы являются авто J тор морфизмами кольца G,^, их ядро состоит из нуля. Дифференциальные операторы образуют ком- Автоморфизмом является, в частности, единич- единич- HQg отображение, а также произвольная перестановка переменных Хь ..., х^. По теореме 3.15.6 каждый полином из G^ является произведением неразложимых полино мов, принимающих единственное нулевое значе ние на наборе из 2" аргументов. - - - мутативное кольцо характеристики ным элементом которого является тождествен ное отображение Е, нулевым— оператор ото бражаюгций любой полином в О, каждый опера противоположен сам себе. Два элемента кольца дифференциальных операторов будем считать равными, если их образы равны для лю бого прообраза. Кольцо дифференциальных операторов над Лемма 3.15.7. Любой автоморфизм ф кольца п изоморфно кольцу fnl^ i,...,Z)j/(A%...,D 2 п п переводит неразложимый полином в нераз для ложимыи полином. , V
56 Доказательство. Перестановка п нераз ме того, (?(fg) = ф(/)ф(^)- Поэтому перестановка ложимых полиномов является автоморфизмом неразложимых полиномов является автоморфиз кольца G,^. Для неразложимых полиномов р, ^pj мом кольца G,^. имеем S(p,Pj) = S{p)S{pj\ S(p, -bpj) = S(pdS(pj). По индукции в силу однозначности разложения по- Предположим, что существует автоморфизм лучаем S(fg) Предположим противное: (?(p) = gh, где неразложимый полином. Тогда, применяя обрат- столбец содержат по одному единичному эле _ 1 „-1 -1/_/_ч_ ^ __ч гт.__ кольца Cj^, который нельзя задать матрицей перестановки (квадратной невырожденной матрицей размера 2", в которой каждая строка и каждый ный автоморф из м э 1 {g)<? 1 (И). Поскольку (gh) автоморфизме получаем: при менту, а остальные элементы — нулевые). Тогда в матрице, задающей эндоморфизм модулей. любого элемента кольца 0„ есть ровно один должна существовать строка по крайней мере с прообраз, то (f^{g)'^l и ф^\/г) ^ 1. Следовательно, двумя единичными элементами (если хотя бы в Шр)) ^р—противоречие Каждый полином / и полностью определя одной строке нет единичных элементов, то мат рица вырожденная). Поскольку позиции каждой строки матрицы взаимно однозначно соответст- ется п мерным вектором f значений над F 0. Оп вует неразложимый полином, долл<:ен существо ределим операции л поразрядной конъюнкции и вать автоморфизм кольца G^, переводящий не © поразрядного сложения векторов. Тогда про- разложимый полином в произведение не менее изведению полиномов fg будет соответствовать двух неразложимых полиномов, что противоре- вектор f л g. Сумме полиномов/® g будет соот- чит лемме 3.15.7. ветствовать вектор f Ф g. Таким образом, существует 2"! автоморфиз Теорема 3.15.8. Множество автоморфизмов мов кольца G,^. кольца п совпадает с множеством перестановок Рассуждая так же, как и при доказательстве « неразложимых полиномов. теоремы 3.15.8, получаем. что эндоморфизмы Доказательство. Такая перестановка обра- кольца п задаются произвольными матрицами тима и сохраняет вес булевой функции (число Z, поскольку равенство Z(f л g) = (Zf) л (Zg) вы единичных значений функции на всем множестве полняется для любых векторов f, g. наборов аргументов), заданной полиномом Же При исследовании безопасности криптогра галкина. Взаимно обратные перестановки задают фических алгоритмов часто используются гомо 5 .. ., .Л « взаимно обратные отображения. Поскольку пере- морфизмы колец становка ф неразложимых полиномов/и g задает- ные Xi ся квадратной невырожденной над F2 матрицей размера 2", то равенство L(f®g) = Zf®Zg экви валентно равенству (p{f® g) - ф(/) Ф 9(g), где ф — р2, при которых перемен- заменяются элементами поля F?. Поскольку поле Г2 содержится в кольце Gf^ в ви де полиномов нулевой степени 5 ЭТИ гомомор — физмы могут быть очевидным образом дострое эндоморфизм, соответствующий матрице L. Кро- ны до эндоморфизмов кольца G„. -.'* -^ \ ' - Упражнения к главе 3 *■ -J Образуют ли кольцо булевы функции п переменных с операциями ИЛИ (сложение), И (умножение)? Покажите, что конечные множества с операциями симметрической разности (сложение) и объединения (умножение) образуют коммутативное кольцо. Является ли оно целостным? Покажите, что числа а + Ьл[П, где а. D э образуют кольцо. Является ли это кольцо целостным? Кольцо Ж[1] евклидово, следовательно, в нем Евклида. Найдите алгоритм работает НОД(13, 3 + 20, НОД(3 + 4/, 2/ + 1) в кольце zm. Постройте ненулевой гомоморфизм из кольца Z[x] в кольцо Z. Что является ядром этого гомоморфизма? Будет ли это отображение гомоморфизмом в случае х ^ /, где f Пусть 1? кольцо с единичным элементом Что означает сравнение а = Ь (mod (0)), (mod(l))? Что собой представляет гомоморфный образ кольца по нулевому идеа- а 9 лу^ Пусть коммутативное кольцо. Будет ли кольцом множество идеалов кольца с one рациями сложения и умножения идеалов? Почему выполняется равенство ЩхШ
Что собой представляют сумма, произведение и пересечение идеалов (10) и (15) кольца Z; идеалов (3) и (5) кольца Z? 2 8 х' + 10. Что собой представляет идеал (х , ху) кольца Q[x, у]; идеал (х^ + }^, 3) кольца QLx,;;]? . Найдите кратный делитель полинома х '7 >1 О . Найди!^ производную полинома х + х + х + + Х + x^ + 3x4l ZM. 12 (Z/2Z)[x] и наибольший общий де 13 литель его с производной. Какие из полиномов: х^ + 6, х^ 9,х 3 2х, X + X + 1 лежат в идеале (х, 3) кольца Z[x]? 14. Является ли простым идеал (0) кольца Z[x]; кольца (Z/35Z)[x]? 15. Постройте ненулевой гомоморфизм из коль- 16 17 ца G,7 в кольцо G^_i. Что является ядром этого гомоморфизма? Пусть К— некоторое поле. Покажите, что в кольце K[x,y,z] идеал (х) делится на идеал Постройте кольца частных для следующих колец: кольцо Z целых чисел; кольцо пЖ для целого п; кольцо, состоящее из рациональных чисел, знаменатель которых не делится на заданное число п: кольцо Ж/пЖ классов вычетов для целого п; кольцо C[x,v]/(y^ X классов выче тов, где полином X 3 неразложим (над полем С в общем случае раскладываются на линейные множители полино 18 19 мы только от одной переменной, но не от двух). При каких условиях эти кольца частных будут полями? Исследуйте алгебраические свойства «коль- цеподобной» структуры, образованной идеалами целостного кольца с операциями сложения и умножения идеалов. Покажите, что дискриминант полинома над полем равен нулю тогда и только тогда, когда этот полином имеет неединичный общий 20 делитель со своей производной. Чему равно содержание полинома J{x,y) в кольце Ж[х,у] х^ + 3х^ + 3х + + XV +V 21 22 23 относительно переменной х? Относительно переменной у7 Существуют ли в поле простые элементы? Разложите на неразложимые множители полином xy-^xz-^yzBG^. Опишите все автоморфизмы кольца G2. Литература к главе 3 I -J ^ «ъ Ахо А., Хопкрофт Дж., Ульман Дж. Построение и вычислительных агтгоритмов М Мир, анализ 1979. Биркгоф Г. Теория решеток. М.: Мир, 1984. Ван дер Варден Б.Л. Алгебра. М.: Наука, 1979. Кокс Д., Литтл Дж., О'Ши Д. Идеалы, многообра зия, алгоритмы, М.: Мир, 2000. Ленг С. Алгебра. М.: Мир, 1968. Салий В.Н. Решетки с единственными дополне ниями. М.: Наука, 1984. Шафаревич И.Р. Основные понятия алгебры Ижевск: Редакция журнала «Регулярная и хаоти ческая динамика». Ижевская республиканская ти пография, 1999.
Глава 4. ПОЛЯ 4.1. Общие сведения о полях Простые поля а+Ы ac-hbd-h(bc ad)i c-bdi с 2 + d 2 ac-bbd с о + d 2 + be ad с 2 + d 9 I Напомним, что полем называется целостное кольцо с единичным элементом е ^^^ О, в котором каждый ненулевой элемент имеет обратный. В поле все ненулевые элементы образуют имеет вид g + ///, где g,h — рациональные числа. Обратно, любое число вида g + /г/ с рациональными е, h может быть представлено как частное группу по абелеву мультипликативной группой поля. умножению, называемую элементов кольца Z[/]. Пусть 7 .h , где г. Типичный S и способ построения поля из целостного коль- л-,?, w е Z. Тогда можно записать ца присоединение частных или нахождение по максимальному кольца классов вычетов идеалу. Поле К не содержит идеалов, отличных от нулевого и единичного (совпадающего с К). Действительно, пусть 21— ненулевой идеал поля К Тогда существует обратимый в К элемент а е 21 g + hi ги + St ги sti I ! SU SU SU где числитель и знаменатель являются элемента ми кольца Z[/]. По определению идеала е аа G 21, и, следова Все гомоморфизмы полей инъективны (на тельно, любой элемент поля iT лежит в 21. пример, гомоморфное вложение поля Q в поле Пример 4.1.1. Поля. . Множество Q рациональных чисел является полем частных кольца Z целых чисел. Мультипликативная группа Q* поля Q состоит из ненуле- IR) или биективны (в противном случае в поле существовал бы собственный ненулевой идеал, что невозможно). — произвольное поле и его подмно- Если К жество тоже является полем, то называется вых рациональных чисел. Множество четных чисел образует кольцо 2Z, поле частных которо го в результате сокращения числителя и знаме подполем поля К. Поскольку любое поле содержит не менее двух элементов (О и е\ каждый из которых единственный. то пересечение двух нате л я на тоже совпадает с полем Анало подполей поля К является полем. Очевидно, что пересечение любого числа подполей поля К гично, множество рациональных чисел является полем частных любого кольца вида пЖ для цело- вновь является полем. Простым называется поле. не содержащее топ. собственных подполей. . Для произвольного поля К полем частных кольца полиномов К[х\ от одной переменной х является поле рациональных функций К{х), Поле только одно простое подполе. Теорема 4.1.1. Каждое поле содержит одно и К{х) СОСТОИТ из дробей вида а(х) Ь{х) э где а{х\ Ь(х) полиномы С коэффициентами из поля К и Доказательство. Пересечение всех подполей поля к является подполем, не имеющим собственных подполей. Предположим, что существуют два различных простых под пол я. В этом Ь\х) отличен от нуля. Мультипликативная группа случае пересечение этих подполей было бы соб поля К{х) состоит из дробей с ненулевым знаме- ственным подполем в каждом из них. Следова тельно, эти подполя— не простые. Противоре нателем. Кольцо Z[j] = Z + Z/ содержит Z, поэтому чие доказывает теорему. его поле частных К должно содержать всевозможные рациональные числа Q, а также мнимую Теорема 4.1.2 единицу I как дробь I Покажем, что кольцу Z/pZ, где рациональных чисел. Про стое пол е изо морф но простое число, или полю Q К Q(0 Q + Q/. Действительно, частное Доказательство. Пусть К— простое подполе поля L. Поле К содержит нуль О и единицу е
59 и, следовательно, кратные единичного элемента пе е-he-h...-he. Сложение и умножение этих п раз кратных осуществляется (п + т)е, {пё){тё) по 2 правилу пе-^те пте = пте. Следователь но, целочисленные кратные пе образуют коммутативное кольцо Р, Отображение п~^пе задает гомоморфизм кольца Z на кольцо Р. По теореме о гомоморфизмах колец Р ~ Z/©, где идеал состоящий из тех целых чисел п, которые лежат в ядре гомоморфизма, то есть дают равенство пе Доказательство. Поскольку а^О, то суще ствует а~ . Умножим обе части равенства та = па на а^ . Получим те = пе или, по определению (modp). Обратно, па. Если т характеристики пол я, если т = п (mod/?), то (т п па пЬ, то п(а п)а Тогда а та О.а Теорема 4.1.4. имеют место равенства полях характеристики (а^ЬУ = а^ ^Ъ^ р а' й'^. Доказательство. По формуле бинома Нью тона имеем Кольцо Р целостное, так как поле К — целостное кольцо. Поэтому и Z/© тоже целостное. Кроме того, идеал © не может быть единичным. так как иначе выполнялось бы е 0. Следова тельно, существуют только две возможности: (а + Ь) р а' + .+ аЬ р~\ + й р КР Здесь все коэффициенты, кроме первого и по 1.6 (р)^ гдер— простое число. В этом случае следнего, делятся на р, так как числитель у них делится на р. Поскольку р — характеристика появляется наименьшим положительным числом, для которого ре = 0. Ядро гомоморфизма содержит целые числа, кратные р, — это идеал (р) или. в другой записи, рЖ. Поэтому Р Z/(p) Ж/рЖ явля ется полем. В этом случае простое поле изоморфно полю Ж/рЖ, Простейшее простое поле состоит из двух элементов, О и 1. Таблица сложения и умножения имеет вид: 0 + 0 0 + + 0 + 0,0 • о ля, то в рассматриваемом поле все эти слагаемые равны нулю, то есть (а + Ь) р а р + й^. Аналогично рассуждаем и в случае разности. Положим с = а + fe. Тогда а с ? с р р с р v. р + й р ! Если/? — нечетное число, то число слагаемых в формуле бинома Ньютона четное и коэффициент при р равен Если/? ? то коэффициент при Ь' равен Отсюда заключаем, что в поле характеристики 2 выполняется равенство 2.6 (0). Тогда гомоморфизм являет ся изоморфизмом. Кратные пе все попарно раз этом случае коль личны: если пе то п 4.2. Расширения полей Пусть К— подполе поля L. Тогда L называет цо не является полем, так как Ж не является ся расширением поля л. Расширение L поля К полем. Простое поле К должно содержать не будем обозначать LIK. Рассмотрим строение только элементы из Р, но и их частные. В этом расширения L. Пусть случае целостные кольца Р и Ж имеют изоморф расширение поля К, произ ные поля частных. Поэтому простое поле К изо- вольное множество элементов из L. Существует морфно полю Q рациональных чисел. В поле, содержаш,ее в себе (как в множестве) поле К Таким образом, строение содержащегося в простого поля К с точностью до изоморфизма и множество S (таким полем является, например, L). Пересечение всех полей, содержащих К и определяется заданием простого числа или числа О, которые порождают идеал ©, состоящий из целых чисел п со свойством пе = 0. Число п является полем, причем наименьшим из полей, содержащих в себе К и S, и обозначается K(S). Говорят ? что K(S) получается присоединением множества S к полю К. Имеет место включение называется характеристикой поля и обознача «h У^-ш ^^ ^ ^.\ ь к K(S) L. Полю K(S) принадлежат все элементы из К, ется char(Z). При этом char(Z) = char(X). Числовые поля IR, С (см. п. 5.7) и поля функций, содержащие поле Q, имеют характеристику 0. ^, а также все элементы, полу- Теорема 4.1.3. Пусть а,Ья^О — произвольные ченные при сложении, вычитании, умножении и элементы поля L w р = char(Z). Тогда из равенст- делении этих элементов, то есть K{S) состоит из все элементы из ва та па ? где тип целые числа, следует. что т п (mod/?), и наоборот. Кроме того, если всех рациональных комбинаций a^s, па пЬп р i п.тоа -U JV -^ Ць ? где а h J J
60 J G K^ Si, tj G S. (Отсюда следует, что множество кольца можно выбирать различными способами.) Эти кольца Щх\ отображается в сумму элементов ? произведение элементов кольца К\х\ рациональные комбинации могут быть записаны отобралсается в произведение элементов кольца R ? как рациональные функции, то есть как отноше- так как и в кольце R, w в кольце а[х] присоеди ния полиномов. где переменные множества ? а коэффициенты полиномов элементы поля К. Например, если К чисел, а Л], — , Xfj — поле рациональных поле рациональных функций от с коэффициентами из Q, то в качестве множества S^ содержащего только степени пере меннои (Xi, Х\ , Х\ Х], 3 можно выбрать {^i}. (Xi, Х\ 2 ? Все эти множества определяют одно и то же поле Q(xi). Если множество S можно выбрать так, что оно является конечным, то пишут S=^ {щ, ..., Щ этом случае расширение K{S) обычно обозначают через K{uu •••,Un) и говорят, что элементы Uu •э и п присоединены к полю К. Отметим, что если присоединяемые элементы записаны в круглых скобках, — К{щ,... ? Un\ ТО имеется в виду множество рациональных комбинаций, то есть элементы щ^ ...^щ присоединяются к полю, и полученная конструкция также является полем. Если присоединяемые элементы записаны в квадратных скобках, — K[u\, ..., wj, — то имеет ся в виду множество целых рациональных ком бинаций (полиномов), то есть элементы щ, •• присоединяются к кольцу. •э и п Элементы и } можно присоединять поочеред но. Поскольку элементы Ui лежат в поле L и, еле довательно, перестановочны с любыми элемен , имеет место равенспгво К{и^{ц) там и из K(uj)(Ui) K(Ui, Uj). По индукции это равенство продолжается на любое число присоединяемых любого поля для элементов. Таким образом, можно построить расширение. Расширение, полученное присоединением од ного элемента, называется простым. -- ^ 4.2Л. Простые расширения Пусть К— поле я KciL. Пусть L\K произвольный элемент поля не являющийся элементом поля К. Рассмотрим простое расши рение K(t) поля К, Поле K(f) содержит кольцо R полиномов от пе ременной t с коэффициентами из К, ал I а i К. Сравним R с кольцом Щх] полиномов от — фор- одной переменной х. Отметим, что здесь х — мальная переменная, не имеющая отношения к полю K(f), at— элемент этого поля. Отображение Лх) Я(\ то есть ах I I ал I э является го элементы ненныи элемент перестановочен со всеми элемен тами поля К. По теореме о гомоморфизмах колец имеет место изоморфизм етх]/ф, где не который идеал. Уточним структуру идеала ^. Рассуждаем так же, как в случае простых полей. Гомоморфизм будет существовать при (0), тогда Щх]. Элементы кольца R получаются заме- , при этом НОИ переменной х на переменную из/О следует /{х) = 0. Здесь кольцо не является полем, однако оно может быть вложено в свое поле частных. Поэтому поле K{t\ являющееся полем частных кольца Ш] И есть требуемое расширение поля К. Очевидно, что K(f) в этом случае изоморфно полю рациональных функций от одной переменной х с коэффициентами из ПОЛЯ к. Здесь элемент t называется трансцендентным над К, а поле K(f) называется простым трансцендентным расширением. Однако возможна и более общая конструкция, когда некоторые ненулевые полиномы при подстановке t вместо х обратятся в нуль. Нетрудно видеть, что здесь также будет иметь ме- Цх]/^. Поэтому состоит из тех по- сто изоморфизм колец можно сказать, что идеал линомовДх), для которых t является корнем, то есть/О Поскольку кольцо R является подмножеством поля L с теми же операциями, оно не содержит делителей нуля. В силу последнего изоморфизма кольцо классов вычетов Я"х]/Ф тоже не имеет делителей нуля. Следовательно, идеал ^ явля ется простым Поскольку содержит ненуле вые элементы, то идеал ^ отличен от 7?, то есть противном случае не является единичным все элементы отображались бы в нуль). Поскольку в кольце К1х] все идеалы главные и случай: ^ = (р(х)), где р{х) — неприводимый над К полином такой, что p(t) = 0. Полином р(х) обла- V ^ (0)5 %> "^ R, единственно возможный дает наименьшей степенью среди всех полино мов, для которых t является корнем, так как ина че существовал бы полином с корнем t, не яв ляющийся элементом идеала (р(х)). При этом идеал (р(х)) является максимальным. Следовательно, имеет место изоморфизм ШУШх)) По теореме 3.6.1 кольцо классов вычетов по мак симальному идеалу является полем. Следова тельно, K(t) К[х]/(р(х)). Элемент t удовлетворяет уравнению p{t) моморфизмом колец. При этом сумма элементов Это уравнение называется уравнением, опреде
01 ляющим поле K(f). Элемент t называется алгеб- есть характеристика поля К равна 7. Очевидно раическач над К^ а поле K{t) — простым алгебраическим расширением. Таким образом, любой элемент поля K{t) в ширением поля Z/(7) и определяется уравнением что О < а, Ь<6. Тогда поле К состоит из 49 эле ментов. Это поле является алгебраическим рас •2 , 1 / + 1 Пусть основное поле, z переменная. Q(z) поле рациональных функций. Поле Q(z) этом случае является полиномом. С такими полиномами можно обращаться как с классами вычетов по модулю р{х\ то есть степень каждого из них меньше степени полинома/?(х). Для некото- является простым алгебраическим расширением рого полинома ХО ^ K[t\ равенство У(0 валентно сравнению^?) = О (mod p{t)). экви поля Z 3 Для построенных алгебраических и трансцен + 1 Действительно, положим дентных расширении можно строить новые рас ширения; при этом характеристика поля не меня ется. Z 3 +1 W Тогда Z 3 WZ W Корни этого уравнения не являются рациональными функ Пример 4.2.1. Расширения полей. циями с коэффициентами из Q. Поле Q(z) полу Если К Нх) поле рациональных функ ций, то трансцендентное расширение К{у) = А(х, у) будет полем рациональных функций от двух переменных над к, 2. Пусть ir= IR. Трансцендентным расширением этого поля будет попе IR(x) рациональных функ- чается присоединением корней этого уравнения к полю Q(>v). Пусть К С(х) поле рациональных функции. Простым квадратичным расширением поля К является, например, поле, образованное присоединением элемента квадратного ции, то есть всевозможных частных , где по корня из полинома нечетной степени (несмотря на то, что в поле il каждый полином от одной линомы / g имеют вещественные коэффициенты и g(x)^0. Для построения алгебраического рас ширения присоединим к полю IR корень неприво димого над IR квадратного полинома х + Этот переменной раскладывается на линейные множители, не существует рациональной функции из С(х), квадрат которой является полиномом нечетной степени). Однако присоединяемый элемент не может быть корнем из х, так как в ^ и все элементы такого поля корень обычно обозначается через / и удовлетво этом случае х были бы рациональными функциями от у^ то ряет уравнению /" = -1. Тогда элементы расши- есть такое поле было бы изоморфно полю К, репного поля представляют собой комплексные Точно так же нельзя присоединять и корень из про- ными коэффициентами. Присоединение к полю стейшее квадратичное расширение поля К по- IR корня любого неприводимого полинома дает лучается присоединением квадратного корня из числа а-^Ьи то есть полиномы от i с веществен- линейной функции от х. Следовательно, одно и то же поле С. . Пусть ir= {О, 1}. Здесь, очевидно, транс кубического полинома, не имеющего кратных корней. 2 например элемента такого. что цендентное расширение представляет собой поле рациональных функций с коэффициентами из К. Построим алгебраическое расширение K{f) сте- а)(х Ь)(х с). Последнее задает так уравнение кривую,^ Элементы пени 4. Выберем неприводимый полином вида р(х) X +Х + Обозначим корень этого поли нома через t. Тогда K{t) = K[t]/(p{t)). Циклическая называемую кубическую полученного расширения представляют собой функции вида а{х) + Ь{х)у, где а(х), Ь{х) ^ К, и называются функциялш на кубиче- случае квадратичное скои кривой. общем группа, образованная элементом t, имеет вид: {/, ^\ f, / = ^ + 1, Г^ + /, Г' + ^\ t"^ + г расширение получается присоединением эле + ^ + мента такого, что 2 +/х) 0. Здесь дискри ■J 2 3 + r + ^+l, ^-bf-ht-ht r + ^+1, r + f- + t, минант ~4Ях) имеет нечетную степень и не име ? ет кратных корней. t'+i ? ^+t I}- Здесь все степени элемента г представлены классами вычетов по Степень неприводимого над К полинома/7(х) с 1 t'+ 3 + . Деистви- дает единицу по модулю p(i). В частности, тельно, произведение модулю p(f). 4. Пусть К=Ж[1]/(7) — поле классов вычетов является простым элементом в кольце Z[/]). Поле К состоит из сумм вида а-\-Ы и включает в себя поле Z/(7) в качестве простого подполя, то корнем называется степенью элемента t. Если степень элемента t равна 1, то ^ является элемен том поля К^ то есть по существу расширения нет. Назовем два расширения и f поля к изо морфными (над X), если существует изоморфизм 1 Подробнее об этом см. гл. 6.
62 f ? оставляющий неподвижными элементы поля К. Поскольку простые трансцендентные расширения поля К изоморфны полю рациональных функций и этот изоморфизм сохраняет константы (элементы поля К), то такие расширения изоморфны. Простые алгебраические и трансцендентные расширения можно строить и не прибегая включающему K{f) полю L. При этом трансцен дентное расширение изоморфно полю рацио к нальных функций, а алгебраическое— кольцу классов вычетов К[х]/(р(хУ). Следовательно, алгебраическое расширение однозначно определяется полиномом/?(х). Имеет место следующая теорема. Теорема 4.2.1 Пусть и — расширение поля алгебраически незави- К. Элементы щ, ••> СИМЫ тогда и только тогда, когда из равенства Кщ ? •5 "и/ где fiiUu -.-.иЛ G Щии ..., wj. следует равенство нулю всех коэффициентов полинома/ Доказательство см. в работе [4]. Подмножество S поля L назовем алгебраически независимым^ если ни один из его элементов не зависит алгебраически от остальных. На алгебраически независимых подмножест- Поле L называется алгебраически замкнутым^ если каждый полином из Цх\ раскладывается на линейные множители. Алгебраически замкнутое поле не допускает дальнейших алгебраических расширений. Поэтому можно говорить о максимальном алгебраическом расширении данного поля. Примером алгебраически замкнутого поля является поле С комплексных чисел. Каждое поле К обладает единственным с точностью до изоморфизма алгебраически замкнутым алгебраическим расширением [2]. Такое однозначно определенное алгебраическое расширение называется алгебраическим замыканием поля К. Поле С, однако, не является алгебраическим замыканием поля Q, поскольку содержит неалгебраические над (Q числа, например, число , которое не служит корнем ни одного алгеб- 71 раического уравнения с рациональными коэффи циентами. Пусть L — расширение поля К. Элемент v е называется алгебраически зависимым от wi, . вах поля L можно ввести отношение порядка по возрастающему включению. Эти подмножества оказываются индуктивно упорядоченными, и среди них существуют максимальные. Наибольшая мощность подмножества среди мощностей всех таких множеств называется степенью трансцендентности поля L над К. Пример 4.2.2. Степень трансцендентности. К{х). Элемент х алгебраически незави сим от элементов поля К. Степень трансцендент ности поля L над К равна Если К(х\ М К(х ? ? то степень трансцендентности М над L равна 1, а степень трансцендентности Л/над К равна 2. . Если L = К(х), М= К(х, уУ(Лх, у)), где полином У(х, у) неприводим над алгебраическим замыканием поля К, то степень трансцендентности М над L равна О, а степень трансцендентности М над К равна э щ, если он является корнем полинома 4.2.2. Конечные расширения aJui и^У + a^n-iiui , ..., Uf^ m~l + . + Поле называется конечным расширением + ao(Wb ...,м„) где аХщ ? ..., Ui^j полиномы из Щщ ? ? , ..., и щ\, не назы- поля л, если L является конечномерным вектор ным пространством над К. При этом все элемен ты из L являются линейными комбинациями ко печного множества элементов wi, ...^щ с коэф все равные нулю. Элементы wi ваются алгебраически независимыми, если ни фициентами из К, Число элементов базиса век один из них не является алгебраически зависи- торного пространства называется степенью рас мым от остальных. Например ? если квадратичное расширение поля С(х) рациональных функций получается присоединением корня полинома j/ +У(х) ? где полином нечетной степени, не меньшей то элементы расширенного поля будут иметь вид а{х) + Ь{х)у, где а{х\ Ых) С(х). этом случае трансцендентное расширение поля С(х) строится ширения L над К и обозначается (L:K), Например, если к полю К присоединяется ко рень о е ? полинома р(х\ 1 .П~ 1 г- degO) п. то элементы ? •? iL-K) образуют базис поля L над К и п. Теорема 4.2.2. Если поле К конечно над и переменные х и v алгебраически зависимы. Если поле iL\¥) конечно над К {L:K)(K:k\ то конечно над и присоединением новой переменной у, то пере менные х и j; в поле С(х, у) алгебраически неза висимы. 2 Иногда в литературе степень расширения обо значается L/K. ^'Е * ■* ■Л* Ч. i^Y- -t- ■- JP - ?в^
63 Доказательство. Пусть {щ, ...^и над ^Ги (vb ..., v„7 базис базис К над к. Тогда ка и Пример 4.2.3- Поле разложения Пусть ясдый элемент из L можно представить в виде димыи над х^ + ш:^ + fe + с полином и ai QW an аз неприво его ком аш\ 4- + ам„. где а. е К можно представить в виде b\V} + К, и каждый элемент из где плексные корни. Тогда поле разложения имеет -^b..v т»' т ? ВИД ОГаьаьаз] Подстановка второго выражения в первое а^ + а2 + аз (Q[ai]:Q) а Q[a ь аз] (по теореме Виета Степень и (Q[aba2]:Q[ai]) *7- показывает^ что каждый элемент поля L линейно зависит от тп элементов u,Vj. Следовательно, число (L:k) конечно. Элементы UjVj линейно независимы над L так как w, линейно независимы над ем всех корней неприводимого над расширения или 2. Поэтому (Q[ab a2]:Q) = 3 или 6. Построим поле разложения К присоединени полинома Kuvj линейно независимы над к. Следовательно, (L:k) (L:K)(K:k\ Следствие 4-2.3. Если поле К конечно над к и (К:к) п. поле L конечно над к и (L:k) = тп, то конечно над Ки(1:К) т. х' -\-2. Положим а I 2 . После линейной над К замены переменной х полином / примет вид 2(z 3 1). Этот полином после деле ния на надС: раскладывается на простые множители Элемент w ^ L называется алгебраическим над если он удовлетворяет алгебраическому уравнению Xw) = О с коэффициентами из К Расширение L поля К называется алгебраическим над К, если каж- дый элемент поля L является алгебраическим над К. Теорема 4.2.4. Каждое конечное расширение L поля К получается присоединением к К конечного числа алгебраических над К элементов. Каждое расширение, полученное присоединением конечного числа алгебраических элементов, конечно. Доказательство. Пусть поле L является ко печным расширением поля К^ и степень расши рения равна п. Пусть w е 1\К., Тогда среди сте пеней м^ е W W ^ ^ ^ не более п линейно независимых. Значит, должно выполняться равенство ап -^ a\w + ... +а„и^ и при а/ G К. то есть каж дый элемент поля L алгебраичен над К. Обратно пусть н^— алгебраический элемент степени г ? W W г~\ линейно независи ? то есть расширение явля Тогда элементы е мы и образуют базис ется конечным. Применение нескольких после довательных алгебраических расширений теореме 4.2.2 дает конечное расширение. по Таким образом 5 каждое конечное расширение является конечным алгебраическим расширением Если при алгебраическом расширении к ис ходкому полю К присоединяются все корни урав нения Х-^) = О, то полученное поле называется по лем разлоэ1сения полинома J{x). В этом поле поли номдх) раскладывается на линейные множители. Для каждого полинома Х-^) е К[х\ существует поле разложения, которое строится следующим образом. Сначала присоединим к К какой-либо Z 3 l)(z 2 + Z + 1) Следовательно, полином fix) над С расклады вается на линейные множители: /W х + 1+л/^ х + 4^ъ Присоединение к полю Q элемента а 1 не влечет за собой присоединение элемента а 2 + Поэтому для полч^ения поля разложения к исходному полю необходимо присоединить два элемента: и 3 , то есть К 3 ]. Степень расширения {K:Q) Теорема 4.2.5. Пусть К— поле и полином fix) G К\рс\ неприводим над К. Тогда существует поле разложения полинома Ах) И (Z:X)<deg(/)!. Доказательство. Пусть щ — корень полинома у(л:) в поле L. Тогда в кольце Цх\ полином fix) делится на х ~ ai. Положим /. (х) X а 1 Тогда deg(fi) degOO Вычленяем все корни лежащие в поле ЩаЛ 5 находим корень an Щах] и повторяем процедуру. Поскольку на корень tx неприводимого делителя/(х) полинома *^^^^ои итерации степень полинома уменьшается Лх) При этом полином /i(x) будет иметь вид hTfiix), т>\. Затем присоединим к полу- J ченному расширению К{гЛ корень (2 неприводи Из формул Кардане для корней кубического мого полинома ^(х) и т. д. Ясно, что процесс за кончится после конечного числа шагов. уравнения следует, что (ОГсс ь a2]:Q) тогда и толь ко тогда, когда дис1фиминант полинома / является квадратом в Q. _, ..^^..^. ^ ..^.. ......s. -
64 по крайней мере на i, то после конечного числа х -е в рассматриваемом расширении являются шагов будут присоединены все корни полинома степенями одного корня. Для получения нормального расширения достаточно присоединить к попри этом {L\K) < deg(/)!. лю К образуюшую группы корней степени пиз е 5 Следствие 4.2.6. Для любого (не обязательно то есть некоторый корень уравнения У е неприводимого) полиномаДх) е Щх] существует поле разложения L, и(1:К)< deg(/)!. Очередность присоединения корней полинома для получения поля разложения несущественна, так как в поле разложения все элементы перестановочны. Теорема 4.2.7. Нормальное расширение не за висит от очередности присоединения корней не приводимых полиномов. Доказательство см. в работе [2]. Пусть полином fix) Щх] обладает Поскольку поле разложения нормально ? все ? ? а„. Тогда поле ^"ai ? •? а п и ПО поля разложения данного полинома совпадают. 4 4.2.3. Целые элементы поля корнями ai ле разложения полинома / изоморфны над К. Поэтому поле разложения полинома полностью определяется этим полиномом. Расширение L поля К называется нормальным над К, если оно алгебраично над К и каждый не- вольные поля. Пусть приводимый в Щх] полином, обладающий хотя кольца Т и элемент t ^ Т удовлетворяет уравне Обобщим понятие целого числа на произ целостное подколыдо бы одним корнем в Ц раскладывается в L[x] на линейные множители. Расширение L поля К, по- /?~1 нию вида h + Z'^/^ г ? где г, G 7с. Такой эле /=0 лученное присоединением всех корней одного, нескольких или бесконечного числа полиномов мент называется щлым над R. Суммы и произве из^х], является нормальным. Каждое дения целых над 5 элементов являются целыми алгебраическое расширение может над R. Поэтому целые над R элементы кольца быть вложено в некоторое нормальное расшире- образуют кольцо. ние ? например ? в алгебраически замкнутое поле Среди всех нормальных расширений, содержа щих данное поле, существует наименьшее. Пусть теперь поле частных, L целостное кольцо. К его hS — расширение степени п поля К множество элементов поля Z, являющихся Пример 4.2.4. Нормальные расширения. 1. Построим нормальное квадратичное расши рение поля К с характеристикой, отличной от присоединением корня неприводимого квадратно го полинома Дх) е^х]. Корни полинома Дх) ли целыми над R. Тогда S является кольцом ? жащим R. Например ? ? к ? содер Q(0 ? жи] ? Теорема 4.2.8. Любой элемент / поля L можно представить в виде S , где S G ? ге/г. г неино зависимы, поэтому присоединение одного корня означает присоединение и второго корня. Доказательство. Элемент / поля L удовле Следовательно, любое квадратичное расширение творяет алгебраическому уравнению с коэффи поля к является нормальным. Отсюда следует, что циентами из К: поле 1 ?-"?\ ^} ? где Д G К (мульти квадратичное расширение), нормально над К. Г^а п~\ п~\ + ... + «о (4.2.1) Поле разложения является нормальным Поскольку поле частных кольца R. то а I расширением. являются дробями с числителем и знаменателем Алгебраическое замыкание поля Q, полу- из R. Умножим все эти дроби на произведение ченное присоединением всех корней всех неприводимых полиномов, является нормальным расширением поля Q. всех знаменателей, тогда левая часть уравнения (4.2.1) превратится в полином с коэффициентами из R: bJ"-\-bn-i и-1 + ... +Л о Ум Пусть К — произвольное поле. Присоеди- пожив это уравнение на Ь„" \ получим ним к полю К все корни полинома У^ - е. Они образуют циклическую группу порядка п, изоморфную группе корней степени п из 1 в поле С. Поэтому группа корней степени п из е в рассматриваемом расширении поля К тоже циклична и имеет порядок п. Следовательно, все корни полинома п п ^ь п~\ п п-\ + ... -\-Ь о п~\ п 5 Иногда целый над R элемент кольца Т определя 4 ется как такой элемент, все степени которого линейно выражаются через конечное множество элементов Эти определения эквивалентны, если кольцо Т явля Доказательство этого утверждения см. в работе [4]. ется конечным над R.
65 Следовательно, bJ является целым элементом Доказательство. Полином над R, Положив г ние теоремы. S п L получим заключе Я^) обладает кратными корнями лишь тогда, когда/и/' имеют в ¥р[х\ общий делитель, отличный от обратимого элемента в поле порядком поля L называется всякое коль F,. Но fix) неприводим, поэтому цо в которое содержит и является конеч ным модулем над 7с. Кольцо S всех целых эле он может иметь нетривиальный наибольший общий делитель с производной (совпадающий с fix)) ментов поля рядком поля L. называется максимальным по 6 лишь при f Если Пх) Например, если R ,к <0,L Q(0, z [ л, Z /=0 а.х I I 5 ТО ТО порядками в поле L будут кольца Ж[пЦ, где целое число. Порядками поля функций Пх) п> п ^У\ ia,x (-1 f и la I (mod p). Отсюда Q(x) над Z будут кольца Z[x], Z[x ], Z[X^)], где следует, что полином / имеет ненулевые коэффи- fix) — произвольный полином изZ[x]. циенты а, лишь при степеняхх, кратных», то есть /^) g{^\ где S X р Полином может опять Целостное кольцо R называется целозамкну- представлять собой полином от 5^ тогда эта one тым, если каждый элемент поля частных кольца рация повторяется. Предположим, что g(s) не яв являющийся целым над R, лежит в R. Напри р мер, для кольцо целозамкнуто, для Q[/] кольцо Z[/] целозамкнуто. Целозамкнутым явля ется любое факториальное кольцо. ляется полиномом от 5 . Если его разложить на множители в некотором расширении поля F^, то он будет иметь только простые корни. Пусть корень полинома g, тогда элемент и такой t, будет корнем кратности р полинома/ 5 ЧТО и р 4.3. Конечные поля 4.3.1. Строение конечных полей Поле К называется конечным, или полем Га Пусть К — поле характеристики р. Если корень неприводимого над К полинома, обладающего только простыми корнями, то говорят, что расширение K[t] сепарабельно, в противном случае — несепарабелъно. Несепарабельным луа, если оно состоит из конечного числа эле- может быть только расширение расширенного ментов. Примером конечного поля является про- поля, то есть коэффициенты неприводимого постое поле, состоящее шр элементов, то есть по- линома/х) из теоремы 4.3.1 доллшы лежать в ле классов вычетов по модулю р. Поле из ментов обозначается F^. эле расширении поля К (если коэффициенты Дх) ле Поскольку поле F« конечно, его характеристика жат в К, то fix) Ф^ р (Ф) р Например, пусть К F.0) поле рациональных функций. Тогда не может быть нулевой. Следовательно, характе- расширение L\K, заданное полиномом f ристика поля F^ равна некоторому простому числу ]/р ; Ур ) будет несепарабельным.В даль р. Таким образом, поле F^ является конечным рас- нейшем будем рассматривать сепарабельные расширением некоторого простого поля F^, то есть ширения. Все конечные поля сепарабельны [4]. конечномерным векторным пространством над F^. Пусть размерность этого пространства равна п. Тогда каждый элемент поля F^ может быть единст- Пример 4.3.1. Конечное поле матриц. Рассмотрим поле квадратных матриц размера венным образом представлен в виде линейной комбинации аш] +... + амп, где а ¥^^^Q Р • Алгебраическое расширение поля Fp получается присоединением корня неприводимого над Fp полинома Дх). Выясним, могут ли у этого полинома быть кратные корни. над полем iro; в нем единичным элементом яв ляется единичная матрица Е. Такое поле состоит из следующих элементов: оЛ Л Теорема 4.3.1. Неприводимый полином fix) G Fp[x] имеет кратные корни, если он является полиномом от х^. в этом случае в поле разло- .А 1 у ? 2 У 5 ■-"" г^^ У 3 жения каждый корень имеет кратность р а 4 У 0^ ,А 5 У ? У 6 Максимальный порядок называют также глав ным порядком. 7 Иногда поле из а элементов обозначается также GF{a). 6 ,А 7 У У
66 ства Нетрудно заметить, что выполняются равен ЛЯ 2 + ^ + £ 6 7 +^ + £ ^^ ^ + £ ^^ Fp, в котором полином X я X полностью рас . Сумма любых элементов этого поля дает снова элемент поля, причем все элементы поля представляют собой линейные комбинации матриц Е^ А, А^. Матрица Aq является нулевым элементом поля. Из курса линейной алгебры известно, что для матриц выполняются кладывается на линейные множители. полу ченном поле разложения рассмотрим множество корней полинома х^-х. Это множество корней тоже является полем, так как если х я X и 1 ; я У. то {х±у) я x'^±f я •> -удлР и при ненулевом у. Полином х^ X 1уУ хЧу" X имеет в я аксиомы дистрибутивности. Группа ненулевых только простые корни. Действительно, его про элементов по умножению является циклической и, следовательно, коммутативной; в кольце мат риц нет делителей нуля. Каждая из матриц В I о Мат удовлетворяет уравнению В + В + Е ричный полином В^ + В +Е является неприводимым над кольцом квадратных матриц размера над полем Fa. Полученное поле изоморфно полю классов вычетов 2 [х]/(х + х +1). Изомор физм задается заменой символа х на матрицу А. Теорема 4.3.2. Каждый элемент х конечного поля ¥д удовлетворяет равенству х я X Доказательство. Мультипликативная фуп элементов (имеет по па поля рядок я состоит из 1)- Поэтому каждый ненулевой эле мент поля Тд удовлетворяет равенству х а~} ? где венство X единичный элемент поля. Умножим ра а-\ 1 _ т-г _ _ а Я на X. Получим равенство х я X, Я'' вклю справедливое для всех элементов поля чая нуль, то есть каждый элемент поля F^ являет ся корнем полинома х Q X Иначе говоря для всех элементов х X я я выполняется равенство X изводная равна ах я 1 поскольку (mod/?), то есть производная не имеет корней в рассматриваемом поле. Следовательно, поле является полем из q элементов. Теорема 4.3.5. Если полином fix) степени я делит полином х^ -х, то он имеет ровно личных корней в поле F^. раз Доказательство [1]. Рассмотрим полиномы X как элементы кольца Fo[x]. В этом fix) и х^ кольце справедлива теорема 3.8.2. ПосколькуДх) делит х^-х, то множество корней полинома Дх) является подмножеством корней полинома х Но X я X. я X раскладывается над и-^ на различные линейные множители, поэтому и/раскладывается на линейные множители и среди этих множи телеи нет двух одинаковых. Таким образом, поле F^ является нормальным расширением поля F^. Покажем, что мультипликативная группа конечного поля всегда циклична. случае простого поля получаем малую тео Теорема 4.3.6. Мультипликативная группа F ^ рему Ферма^ согласно которой для числа а, вза- конечного поля F. циклична я имно а Р-] простого (mod р). с Р^ имеет место сравнение Доказательство [1]. Пусть х— произволь- я 1 ? ный ненулевой элемент поля F^. Поскольку х то степени элемента х образуют подгруппу в группе Теорема 4,3,3. Имеет место равенство F^, порядок этой подфуппы является делителем X я X П( X а), где произведение берется по числа q adf ч всем элементам поля F^. я Доказательство [1]. Рассмотрим правую и левую части равенства как полиномы из F^[x]. Поскольку каждый элемент поля F^ является корнем я полинома х^ -X и число сомножителей в правой части равно ^, получаем утверждение теоремы. я Поле F^ состоит из всех корней полинома х которые присоединяются к простому полю F„. X ? Разложим число на простые мно п п жители: Па"' г I 5 причем все г, вза ,=] /-] имно просты, в группе ^. „ * существует не более 1)/р I элементов х, для которых х 1)/л- ? так как полином х (^-1)М- имеет 1)/а кор ней. Следовательно, в * я существует элемент а h для которого а. 1)/а / ^1. Тогда элемент / а т I имеет порядок г,. Все г, степеней эле Теорема 4.3.4. Для каждой степени простого числа р п существует единственное точно стью до изоморфизма) конечное поле F^. Доказательство. В случае п но. Пусть п > это очевид Построим такое расширение по мента ; являются различными, так как единственным простым делителем числа г, является /?/, и а'1/а Жя \)h){rilPi) ^Y, Произведение с П 1\ь 1 /=1 элементов взаимно простых порядков г, имеет
67 порядок группы F то есть является * я образующей сматривать как подстановки. Степени по дета новки образуют циклическую группу * автоморфизмы {а Следствие 4.3.7. Число образующих группы ческую группу а Но 5 а"(х) , поэтому образуют цикли- X X для всех я равно числу чисел, меньших и взаимно X Я' Следовательно, порядок группы авто простых с q Доказательство. Пусть а образующая морфизмов является делителем числа п. Пред положим, что существует положительный пока группы F^ . Рассмотрим группу, образованную элементом Ь = а\ Эта группа совпадет с группой что 1))- зате ль такой, что с/(х) X. Тогда уравнение X р X я ' если существует показатель имеет корень при любом х. Но это /- _ _ С1 ^^ Г-» а. то есть а а или St такой, (mod (q уравнение имеет не более корней. Значит 9 п. Поскольку для любого X из ПОЛЯ Элемент s обратим в Z/(q - 1 )Z тогда и только полняется равенство & (х) X р я вы X, то а" явля тогда, когда он взаимно прост с q ется единичным отображением (единичным элементом группы). 4.3.2. Автоморфизмы конечных полей Покажем, что других автоморфизмов поля я Опишем автоморфизмы поля смотрим отображение а: х ДОМОрфиЗМ ПОЛЯ >х р я^ п Рас Тогда а эн (аЪ) Р cfb Р 9 (а + Ь) Р Я С ядром так как cf + b^. Следовательно, каждый образ эндоморфизма имеет единствен ный прообраз. Поскольку поле F^ конечно, то пени п не более п отобрах^ение о взаимно однозначно. Таким образом, а является автоморфизмом. Простое поле Fp не имеет автоморфизмов, отличных от тождественного. Действительно, поле изр элементов изоморфно полю Ж/рЖ. Группа Ж циклична, поэтому аддитивная группа поля ^. р тоже циклична с образующей 1. Каждый авто морфизм сохраняет неподвижными нулевой и единичный элементы, а значит и все элементы поля Fp. Поскольку поле F^ содержит простое поле Fp, то все автоморфизмы поля F^ сохраняют неподвижными элементы из поля F^. Автоморфизмы можно умножать с помощью композиции отображений. Произведение двух так другой стороны, произведение двух автоморфизмов является эндоморфизмом как оно сохраняет операции сложения и умно жения. автоморфизмов как биективных отображений является биективным отображением и, следовательно, автоморфизмом. Единичное отображение, сохраняющее неподвижными все элементы поля F^, является единичным автоморфизмом. Кроме того, каждый автоморфизм как обратимое отображение имеет обратный автоморфизм. Рассмотрим множество автоморфизмов. со стоящее из степеней автоморфизма а Здесь а(х) X р ,С7^(Х) Р\Р X Р 2 И Т. Д. 2 Теорема 4.3.8. Автоморфизмы {а, а образуют циклическую группу порядка п. ? ...} нет. Из теоремы 4.3.8 следует, что существует не менее п автоморфизмов поля F^, q =/?". Поле F^ получено присоединением к простому полю корня неприводимого полинома степени п. Автоморфизм достигается заменой одного корня на другой. Однако число корней полинома сте- поэтому и число автомор- ? физмов не более п. Следовательно, других ав томорфизмов нет. Таким образом, все автомор физмы поля физма а: X - >х я р являются степенями автомор Теорема 4.3.9. Если п rs то поле из 1^ элементов содержит поле К из р элементов. В этом случае существуют автоморфизмы поля оставляющие неподвижными элементы поля К. Эти автоморфизмы образуют циклическую подгруппу группы автоморфизмов с образую щей а /■ Доказательство. Поля L и К являются ко печными расширениями поля Тогда по следствию 4.2.3 поле L является конеч (К^р (L-F. ным расширением поля К. Поскольку число п составное, то в циклической группе (а) автоморфизмов, оставляющих неподвижными элементы поля Fp, существует подгруп па, образованная автоморфизмами о*. Поскольку группа (а) конечна и циклична, то ее подгруппа тоже циклична. При этом группа (</) имеет порядок s. Любой элемент х поля К удовлетворяет равенству х Следовательно, автоморфизм подвилшыми элементы поля К. р S X. <г S оставляет не Поскольку числа г, 5 в формулировке теоремы 4.3.9 не обязаны быть простыми, то для конечного поля существуют автоморфизмы, оставляющие неподвижными элементы любого его под- поля. Если степень расширения конечного поля К над подполем к равна 5, то порядок группы ав- Доказательство. Поскольку автоморфизмы томорфизмов, оставляющих неподвижными эле действуют на конечном поле F., их можно рас- менты из А, равен s.
m Таким образом, поле L можно рассматривать как алгебраическое расширение конечного поля К^ не обязательно простого. Для составного показателя п полином х хце Теорема 4.3.10. Если дх)— неприводимый над F„ полином степени d, то полином х р р хпе лится наДл:) тогда и только тогда, когда d\n. лится на все линейные полиномы, а такя<:е на все неприводимые полиномы, степень которых делится на п. Поэтому формула для числа приведенных неприводимых полиномов степени п усложняется. Например, для п = or, где несколько г Доказательство. Корни полинома X р и X — раз личные простые числа, число неприводимых по являются простыми и образуют поле L Предпо- линомов степени п равно {р п Я г + )1п. ложим, что х^ -X делится на Дх). В этом случае Формула для числа неприводимых полиномов множество корней полинома fix) является под- степени п в общем случае определяется теоремой множеством корней полинома х X. то есть 5.2.6. элементами поля L. Тогда поле L содержит поле разложения полинома Дх). Следовательно, d\n. Обратно, если п - md, то поле L является расши- мов над конечным полем. Пример 4.3.2. Число неприводимых полино эле рением степени т поля К, состоящего из /?' ментов. Поскольку все поля из одинакового числа элементов изоморфны, то поле К изоморфно полю разложения полинома Дх). Значит, поле содержит все корни полинома Дх), то есть х делится наДх). Для » число неприводимых полиномов X степени п 5 . 2,1 X +Х + 1 + .Г+Х + равно 5 2)/5 5 ? Х^ + X' + 1, X , Х^ + X + X + + х^ + х^ + х + х+ 1,х^+х^ + 6. Это полиномы 1, x' + xV х^ + х^+ 1. Для» и п число неприводимых поли Следовательно, димых полиномов равно х^ - X. Здесь произведение всех неприво номов равно 6 3 24 2)/б 9. Это полино из FJx] степени, делящей п. мы х^ + х+1, х^ + х^+], х^+х^+ 1 ? X +Х +Х + + Х + учитываются и линейные не- X ^ + x^ + x^i-x + X ^ + х^ + х^ + х + приводимые полиномы. Теорема 4.3.10 позволяет оценить число непри водимых полиномов из ^р[х] степени п. Поскольку кольцо х^ + х^+х^+х+ 1, х^+х^ + х^ + х+1, х^ + х^ + х^ п + + хГ + р Fp[x] факториальное и все ненулевые эле менты поля FpM то fj являются обратимыми в кольце неразложимые элементы этого кольца можно рассматривать с точностью до обратимых элементов. Достаточно рассмотреть только неприводимые полиномы с единичным старшим коэффициентом. Умножение такого полинома на произвольный обратимый элемент кольца даст ассо- Конечное расширение конечного поля задается неприводимым полиномом. Если полином степени п раскладывается на множители в Fp[x], то хотя бы один из них имеет степень не более п/2. Следовательно, полином Дх) неприводим в F„[x], если НОД(/ X, Дх)) р для всехк<п Изложенное очевидным образом переносится ^ При этом циированныи с ним неприводимый полином. на случаи кольца F^[x], если символ р заменяется на д. Например, для поля Если число п простое, то х^ - х делится толь 4 2 т/(/^ +1 + число приведенных неприво ко на линейные полиномы и на неприводимые димых полиномов степени в 4 [X] равно полиномы степени п. этом случае в любом расширении поля F^ степени менее п ни один из неприводимых полиномов степени п не раскладывается на множители, но в расширении степе- 3 4)/3 20. Это 3 X +Х + ? 3 . 2,1 X +х + L неприводимые полиномы 3 2 X +х +Х+ 1, а также 17 ни п каждый такой полином раскладывается на линейные множители. Корни различных полиномов попарно различны, так как в противном случае не все коэффициенты полиномов были бы элементами поля F„. Корни полинома х^ - х об- других х^+х + + полиномов, 3 в частности x^ + t 5 X -^tx + t+ 1. Здесь X перемен ная, а ?— элемент поля ¥л. Все конечные поля из п элементов изо морфны как векторные пространства над Fn оди р п наковой размерности п [5]. Переход от одного поля к другому осуществляется заменой базиса. Осталь- Поэтому вид неприводимого полинома, задаю- разуют поле из р элементов. Это поле содержит простое поле, элементы которого соответствуют неприводимым линейным полиномам. ные элементы соответствуют корням неприво димых полиномов степени /з, каждый полином Алгебраическое расширение L степени п ко- имеет п корней. Следовательно, число приведен- нечного поля К является w-мерным векторным щего поле классов вычетов, непринципиален. ных (с единичным старшим коэффициентом) не- пространством над К. Пусть поле L получено приводимых полиномов степени п для простого присоединением корня t неприводимого над К п равно {р п )П, полинома/ Тогда L == K[t]/(f[t)).
69 Естественным базисом L над К является набор К получаем Тг(Ьс I be 1 Тг(х) be 1 е различных степеней t. Однако в вычислительном Если b пробегает все поле К, то след Тг(Ье I плане часто удобнее задавать базис L над А^ не в тоже пробегает все поле К. виде степеней элемента а в виде нормального Таким образом, это отображение является го базиеа, представляющего собой п значений авто- моморфизмом групп морфизмов поля для некоторого элемента G L , например, g'^t для которого все значения автоморфизмов различны: {g, a(g),..., <^~^(g)}- Определим норму элемента х произведение в поле К как 4.3.3. Норма и след в конечных полях Мх) о а(х) а(х) ..■cf 1 (X) X X р X If I Пусть ПОЛЯ к ^ р физм аддитивных групп мультипликативных групп L расширение степени п конечного Покажем, что существует гомомор- К и гомоморфизм Теорема 4.3.12. Норма N является гомомор физмом мультипликативных групп L К К Определим елед элемента х сумму Доказательство [1]. Доказательство, как и в поле К как ^ теореме 4.3.11, проведем в четыре этапа. Сначала покалсем, что норма произвольного элемента Тг(х) О a7x) + a(x) + ...+cf I X (х) лежит в К. Затем что выполняется равен ство N{xy) = N(x)N(y) и что для а е К справедливо х + х^ + ... +х р п~1 Мах) а и Мх) На последнем этапе покажем что норма отображает группу L на группу А^* Теорема 4.3.11. След Тг является гомомор 1. Возведем норму N(x) в степень р. Получим физмом аддитивных групп L К. (Щх)) р (х • X р X р"~\р Доказательство [1]. Доказательство проведем в четыре этапа. Сначала покажем, что след X р ■y^ X If произвольного элемента х лежит в К. За тем что выполняется равенство Тг(х + у) Для каждого элемента х р р Тг(х) + ТгО) и что для а К справедливо Тг(ах) выполняется равенство х^' =х. Поэтому (N(x)y' = N(x). Но поле А^ = F„ состоит в точности из тех элементов х, для аТг(х). На последнем этапе покажем, что которых выполняется равенство х^ = х. Следова след отображает поле L на все поле К. 1. Возведем след Тг(х) в степень». Получим (Тг(х)) Р Р (x + x^' + . +х и-1 Р \Р Р Х'' + Х р 2 + . + Х Р п Для каждого элемента х выполняется равенство л*'' = X. Поэтому (Yr{x)Y ~ Тг(х). Но поле К Fp состоит в точности из тех элементов х, для которых выполняется равенство х^ =х. Следовательно, Тг(х) К. поле характеристики р выполняется ра венство (х + у) для о < А: < W - 1. Под тельно, Л^(х) G К., причем Л^(0) и 7V(x) К для 2. Для произведения выполняется равенство i^y) X Р к для Q<k<n Подставляя эти равенства в выражение для нормы N{xy\ получа ем N{xyS[{y). Следовательно, норма является го моморфизмом группы L в некоторое подмножество группы К. 3. Элементы поля К удовлетворяют равенству а для Q<k<n— 1. Поэтому а р к N(ax) = ax-a^x^-a^\^^ 11-1 ti-l ..-а^ х^ ах-ах^ '...-ах^ п~\ а'^Шх). ставляя эти равенства в выражение для следа Тг(х +у\ получаем Тг(х) + Тг(у). 3. Элементы поля К удовлетворяют равенству а для Q<k<n~ 1. Поэтому а р 4. Рассмотрим ядро гомоморфизма, индуци рованного нормой. Для элементов ядра имеем х + х^ +х^ 2 + ... + Х р п~\ Тг(ш:) п-\ /=0 J 4. Полином X X р и-1 и-1 а X р I 1=0 + ... +х ] а Тг(х) имеет не более корней в поле К. Поле L содержит и п~] элементов. Следовательно, существует элемент 2 X Х+р+р-^+.^+р' ] X {р"-^)к р ' ? х^^' соответствии с теоремой 4.3.5 уравнение X (р"-^)к р имеет (р п !)/( корней в поле L, то есть ядро гомоморфизма имеет поря док {р П 1)/( 1). Тогда по теореме 2.3.3 фак X такой, что Тг(х) = с ^ О, е ^ К. Тогда для торгруппа L по ядру гомоморфизма имеет поря
70 док» падает с группой К. Следовательно, эта факторгруппа сов ты I лежат в поле а их следы в поле К. По * этому и значения полинома от следов этих эле ментов лежат в поле К. Пусть ЫК— простое алгебраическое расши- L. Тогда существует неприводимый .,. + «о с кор- рение и над К полином Дх) = х'^ + а хх + Пример 4.3.3. Норма и след в конечном поле. нем L-At) 1. Пусть 16 2 т/(г + /+1), a:-F2. Пай Выразим норму и след элемен- дем норму и след элемента Г + ? из поля L в поле та через коэффициенты этого полинома. ка К, Норма честве базиса поля L выберем степени элемента 2 .п-\ т- /-_ е t f Если базисные векторы умно + 0 15 будет равна 3 1+2+4+8 так как для любого жить на 9 ТО получим набор ?, г, ...,f. Тогда элемента у 16 справедливо у 15 же элемента равен элементы второго набора можно выразить через + (г + Л г..,^..^хт^. ^^*чт.^^^ ..0^^*40 /-^ог^.х^^Ч. /^ / ^—/2 ./.3.1 8 3 1 + 0 ненулевого След этого элементы первого набора (базиса): Lt L 5 ..., 3 + ty + (f + tf + (f + 0 4 + + t) + (f + t + t+l) + (t^ + t+l) + 9 a^i a\t ao. Этому npe + (f + образованию соответствует матрица Пусть 3 s[tW + 2t + 4\ К 5 Норма элемента 3^ + 4^ + 3 равна (Зг + 4^+3) 1+5+25 V а о а 1 а 2 След этого же элемента равен (ЗГ + 4/ + 3) + + (4Г + 3?+1) + (3/^ + Зг + 3) 4.4. Элементы теории Галуа а и-\ Автоморфизм конечного расширения конеч ного поля, сохраняющий неподвижными элемен- Сумма диагональных элементов матрицы ты исходного поля, достигается заменой одного равна Тг(0 а и-1 ? поэтому след элемента равен корня неприводимого полинома на другой а и-1 и совпадает со следом матрицы Т. -^ f. Это справедливо и для бесконечных по Найдем определитель матрицы Т. Для этого лей. Например, поле С обладает двумя очевид над [R: циклически сдвинем вниз на одну позицию все ными автоморфизмами строки матрицы Т. Это преобразование соответ- отображение и комплексное сопряжение. тождественное ствует умножению определителя на То Пусть L/K нормальное расширение. Ав гда определитель матрицы будет равен N{t) п ред томорфизмы расширения L/K оставляющие ао) п ао. След и норма являются неподвижными элементы из К, образуют груп инвариантами матрицы Г и не зависят от выбора базиса L над К. пу 9 называемую группой Галуа Gal(L/X), по неиные множители: скольку произведение автоморфизмов является поле L полином Дх) раскладывается на ли- автоморфизмом и ассоциативность умножения следует из теоремы 1.1.1; каждый автоморфизм имеет обратный; тождественное отображение является единичным автоморфизмом. При этом под группой Галуа алгебраического расширения Лх) ?,)(х t2)---(pC tn). Тогда можно выразить след и норму следую щим образом: LIK понимают группу Галуа минимального Тг(0 а п-\ + ^2+...+^«, 8 МО п ао Ф 1 ' V а а а ' Л7 * След и норма элемента являются сим метрическими функциями от всех п значений автоморфизма L над К для аргумента t и прини нормального расширения, содержашего данное расширение L. Расширение L/K называется абелевым^ если его группа Галуа абелева; циклическим^ если его группа Галуа циклическая [6]. Под группой полинома понимают группу Галуа поля разложения этого полинома. мают значения в поле К. Поэтому все п корней полинома Дх) имеют одинаковую норму и след. Покажем, что все симметрические функции от указанных аргументов тоже принимают значения в поле К. Действительно, любая симметрическая функция может быть выражена в виде элементарных симметрических функций. Каждая элементарная симметрическая функция может быть выражена в ввде полинома от следов TifO, Тг(/^),..., Тг(^") элементов t\ как показано в п. 3.12. Все элемен- Пусть Ях) Щх] неприводимый над К по лином, (аь ..., а п его корни в некотором расширении поля KwL — поле разложения этого полинома, являющееся нормальным расширением. Тогда L Ща, ? —, CLfjX. Автоморфизмы такого расширения ЫК зада ются заменой одного корня полинома/(^) на дру 8 Конечное нормальное сепарабельное расширение называют также расширением Галуа. -. -Л ?
71 гой. Корни {ai, ...,ос„} алгебраически зависимы мом аддитивных групп полей, а норма гомо над К, поэтому достаточно рассмотреть не все морфизмом мультипликативных групп. перестановки корней. а отображения (произ вольного) данного корня а. Таким образом, су ществует п автоморфизмов L над К [6]. Обобщим на произвольные поля теорему о существовании кратных корней неприводимого полинома над конечным полем (теорема 4.3.1). Пример 4.4.1. Группа Галуа. Теорема 4.4.1. Пусть К— поле, Дх) КЫ Пусть Дх) кы неприводимый над К неприводимый над К полином. Следующие ут полином и char(X) ^ 2. Квадратичное расшире- верждения эквивалентны. ние L поля К^ полученное присоединением корня полинома Дх), нормально, так как кгждьт корень линейно зависит от другого. Поэтому существует группа Gal(L/X), состоящая из двух автоморфизмов: тождественного и замены одного корня на другой. Пусть дискриминант полинома Дх) равен Второй автоморфизм переводит элемент fix) имеет кратные корни в поле разложения 2. НОД(Лх),/Чх)) К. Поле А^) к имеет характеристику p^Q и Кратность всех корнейДх) делится на». Доказательство [6]. 2. Пусть а ко D, а +Ь4Ъ^1 в элемент а Ьл[Б. Эта группа рень кратности т полинома Л^) и <^Т'Ф)- Тогда циклична. Соответственно расширение L/K явля ется циклическим. 2. Рассмотрим мультиквадратичное расшире ние /'(^) т(х а) т 1 фс) + (X - afg{x) а) т-\ (mg(x) + (х - a)gXx)\ поля А характеристики О, полученное по не следовательным присоединением корней скольких неприводимых квадратных полиномов отсюда НОД(/(х),/Чх)) . Поскольку к. Я^\ /« Щ.Х1 то и НОД(/(х),/'(л:)) G ^х] (это следует из алгоритма с дискриминантами /)i, ..., Д,. Такое расширение Евклида). Но deg(/') < deg(/) и/х) не имеет дели- . Это возможно тождественного, заменяет только тогда, когда характеристика поля К равна нормально (см. пример 4.2.4, п. 1), а автомор- телей в ^х], поэтому /(х) физм. отличный от элемент поля на сопряженный. Пусть автомор- /? иДх) является полиномом от х^. физмы / и фу осуществляют соответственно за мену элементов М, на л/Д, .То гда ф^ = ф ^ = ]. Автоморфизм ф;<р, переводит эле J менты + J и J в J 4. поле характеристики р справедливо равенство (х + а) р Пусть Дх) Ф р и х^ + а р разложения. Тогда см. теорему 4.1.4). р а, г В поле /(^) X р а I т I П( X / рт 1 •> И J соответственно; автоморфизм ф,<р / переводит элементы + ^ и W, в где р а I очевидно ^^rz: ^- J и соответственно. По этому ф/фу = фу<р/. Это равенство выполняется для всех /, /, поэтому группа Галуа мультиквадра- Связь между расширениями полей и их группа ми Галуа устанавливается следующей теоремой. Теорема 4.4.2 (основная теорема теории промежуточное поле. тинного расширения абелева и изоморфна пря- Галуа). Пусть М— нормальное конечное рас мому произведению циклических групп порядка ширение поля К и 2, а само мультиквадратичное расширение явля ется абелевым. К М. Между промежуточными полями и подгруппами Н группы G = Gal(A//X) существует биекция. При этом Понятие нормы и следа для конечных полей если I Ь, то подгруппа Ни соответст можно перенести и на конечные расширения бесконечных полей. Пусть L — конечное расши рение поля К, и {^ь ..., е п базис расширения L/K. Если то Re I Z «-/^7 9 где а.' е К, То гда след Тг(р)— это сумма диагональных эле ментов матрицы (a^), норма Л^(р)— определи тель матрицы (а,,). След является гомоморфиз вующая Lb содержит подгруппу /^2, соответствующую L2I порядок подгруппы Н в G равен {M\L\ индекс //в G равен {L\K). Н— нормальная подгруппа в G тогда и толь- — нормальное расширение ко тогда, когда поля К. Доказательство см. в работе [2]. •т £ ^\.
72 Пусть К— поле и Х[а] его конечное Корни степени п из е образуют абелеву груп расширение. Тогда а называется примитивным пу по умножению, так как из cf € И п € еле элементом поля L (над К). К каждое конечное сепарабельное расширение L/K обладает примитивным элементом (это означает, что присоединение корней нескольких различных неприводимых полиномов эквивалентно присоединению корня одного неприводимого полинома). Теорема 4.4.3 примитивном элементе) Пусть ^аь ..., aJ — алгебраическое расши рение поля К и минимальные полиномы для эле ментов а, не имеют кратных корней. Тогда суще ствует такой элемент р g Z, что L Ш]. Доказательство см. в работе [6]. дует (аЬ) п сРЪ П е и к« («") 1 е. Если К поле комплексных чисел, то эта группа циклична и порождается образующей (примитивным корнем степени п из е\ которая может быть записана как ^щ{1ш1п). Очевидно что вместо к МОЖНО использовать 9 , где НОД(А:, п)=\. Тогда X п е е\х е)(х 2 )...(х п 1 Если поле К имеет характеристику /?, то за- не делится на р. Тогда для пишем п где корня степени w из е Пример 4.4.2. Примитивный элемент. I. Пусть К Q[V2, л/З]. Рассмотрим группу Галуа Gal(Q[V2, V3]/Q). Положим a(V2) -Гг. т (л/З) л/з . Тогда (ат)(л/2 а(л/2 т(л/2 + + + л/3; (Ta)(V2 + VI) v^ VI группа автоморфизмов порождается авто морфизмами CI, поэтому к Q[V2 + VI] Пусть а 4i + VI Примитивный элемент по ля К. Поле К является полем разложения поли нома а)(х а(а)Хх тШЬ ах(а)) 4 2 X ОЬс^+1. Пусть К Q[ 1, V2, л/З ]. Это поле имеет 3 автоморфизмов. Группа автоморфизмов порождается тремя автоморфизмами а, т (см. п. h V т ev т е h е. поскольку {а + by ~ а' + Ъ^. Следовательно, все корни степени w из е являются и корнями степени h из е. Поле, получающееся присоединением h К К всех корней полинома х е, называется полем деления круга над К, или полем корней степени из е (если К имеет характеристику О, то пола гаем п И). этом поле полином fix) X е раскладывается на линейные множители, так как f(x) hx h-\ имеет корень лишь при х поскольку /2^0, то есть Дх) и f'{x) взаимно просты. Пусть 91, ...,65 — образующие группы корней степени h вз е. Полином Ф;,(х) 1 )...(х Ov) называется полиномом деления круга. Очевидно, что Фи(х) делит х —е. Если h— простое число. то число образующих равно \у h~\ ■ Л-2 ■ . ■ \ И X е е)(х + / + ... + X + е), поэтому Фи(х) / ^ +х^ ^ + ... +х + е. данного примера) и > Поле деления круга совпадает с полем разло- . Примитивный жения полинома Фи(х). Полином деления круга элемент имеет вид Поле К явля ется полем разложения полинома Т\(х + е.лГл + е2л[2 + е^4^) имеет целые коэффициенты и не зависит от характеристики поля [2]. Связь между цикличностью группы Галуа конечного нормального расширения и полиномом деления круга установлена в следующей теоре X 8 6 4 2 16х" + 88х"+192х"+144, ме. где произведение берется по всем различным наборам коэффициентов е, из {1, !}• 4.5. Поля деления круга Рассмотрим уравнение х =е над произвольным полем К, где п — натуральное число. Корни этого уравнения называются корнями степени п из единицы. Теорема 4.5.1. Пусть поле К содержит примитивный корень степени п из е. Тогда группа полинома х^ - а, где а ^ К ^ циклична и ее порядок делит п. Обратно, если группа Gal(Z/X) циклична и имеет порядок щ то L поле разложе ния полршома х п а. Доказательство см. в работе [5]. ч Поле деления круга называется также циклото мическим полем.
75 4.6. Дискретное преобразование Фурье Теорема 4.6.1 справедлива и при degCO п Пусть/х), фс) G КЫ 7 Пусть к— поле и К\рс\ — кольцо полиномов. По определению полином задается своими коэффициентами; если Ях) G К\х\ имеет степень п 1 п~\ Кх) I ах , g(x) у:ь,х'\ < * / о /=0 п ? то число коэффициентов равно п. Для сложения полиномов достаточно сложить их коэффициенты при одинаковых степенях х. Оказывается, что можно и умножать полиномы путем «покоординатного» умножения.'^ Для это- причем старшие коэффициенты могут быть ну левыми. Пусть существуют наборы значений по линомов \Х()у — 5 ^2п~2 И для 2п значении аргументов силу гомоморфизма колец Шх] и го нужно перейти от задания полинома множеством коэффициентов к заданию его множеством К имеют место равенства значении. Л^д + gi^d = (/+ gX^ilfipcdgi^d = {fg)(^d- (4.6.2) /j-i Пусть Пх) а^х' G К\х\. Гомоморфизм /=0 Поэтому умножение полиномов, заданных наборами значений, выполняется «покоординат- колец К[х\ -^ К определяется следующим образом: для полиномаДх) вычисляется значение Дх/) X некоторого элемента подстановкой вместо X/ € л. Покажем, что множество значений поли номаДх) для п аргументов полностью определя ет полином степени п. Теорема 4.6.1. Полином fix) е ^х] степени ременных {хЛ. ным» умножением значении. Если полиномы, заданные набором коэффициентов и набором значений, рассматривать как векторы, то из (4.6.1) следует, что переход от одного способа задания к другому является линейным преобразованием над К, то есть описывается некоторой невырожденной матрицей Q. Очевидно, что вид матрицы определяется набором пе- п полностью определяется своими значения Удобный для практики вид этой матрицы по ми /хо), ...,/х„_]), где элементы Х/ е К попарно лучается, если в качестве набора {х/} использо различны. вать множество корней степени w из е в поле К. Доказательство. Предположим, что в поле этом случае поле ^должно быть алгебраическим К существуют п различных элементов хо,..., х^]. Для каждого полинома fix) можно вычислить расширением поля или, для простои характе значение Дх,), то есть каждому полиному соот ристики /?, должно выполняться сравнение р (mod 2 и ветствует единственный набор Например, если К 7, ТО ДЛЯ П 4,8, значении 16 значения корня степени п из 1 равны соответ ственно 4, 2, 3 (дхо), ..., дх„_])}. Покажем, что не существует двух различных полиномов, дающих одинаковые Отображение, определяемое матрицей Q, век- наборы (Дхо), ...,/х^])}. Для этого рассмотрим тора коэффициентов полинома степени не выше отображение (д^о), ■ • •, fi^n-\)} мое формулой К\х1 задавае п п 1 п~\ g{x) Е/(^,) П( X ^у) В вектор значении называется дискретным преобразованием Фурье. Пусть со — образующая группы порядка п в группе К . Тогда матрицы Q и Q~' имеют вид ^=0 «-1 П( (4.6.1) е е е ^i ^у) е со со 2 Q е со 2 СО 4 Так как К поле, знаменатель каждого ела гаемого отличен от нуля. Полином фс) имеет степень не более п поэтому пол ином е со"-' со''-' е со п~\ со п-1 5 СО Нх) А^) g(x) имеет степень не более п .Не е е е е '* трудно видеть, что г(х) имеет п различных корней. Такое может быть лишь в том случае, если полином г(х) нулевой. Следовательно, полином однозначно определяется набором е со"-' со"-' со Q 1 е со"-' со"-' со 2 степени п п значений (Дхо), ...,дх п~\ H/x)-g(x). е со со 2 ... СО и-1 10 Непосредственное умножение полиномов «в столбик» имеет квадратичную от п сложность. удобно к Если W = 2 , то произведения у = Qx и х Q 1 вычисляются; преобразование вектора
74 умножением его на матрицу П в этом случае на- причем равенство возможно лишь при а = О, то зывается быстрым преобразованием Фуръе (см. есть сумма квадратов элементов упорядоченного п. 7.1.3). п-Л Имеют место равенства со {) для любого /=0 поля всегда неотрицательна. Единичный элемент е ^е всегда положителен. Для единичного эле- е + е + ...+е>0 п е п е О < / < W. Например, при j со п е со ^е и со п е = (со +... + со + е е)(со «-1 + ... + со + е), поэтому со п-~\ 4- Если элемент со' образует группу порядка г. мента получаем для любого п. Поэтому упорядоченное поле всегда имеет нулевую характеристику. Простейшим случаем упорядоченного поля является поле Q рациональных чисел. то i является делителем п Тогда со F е (со } е)(со }{г~ 1) Поле К называется нормированным^ если для + .. + со^ + е), откуда следует каждого элемента а ^ К определено значение со-''^''~'^ + ... +со^ + е Любая элементарная симметрическая функ ция, кроме нормы, может быть представлена в «-1 виде полинома от со у , где О <7 < W, с нулевым /=0 свободным членом и, следовательно, равна ну лю. Это обстоятельство положено в основу вы числения преобразования Фурье. Теорема 4.6.2. Дискретное преобразование Фурье К[х]- является гомоморфизмом колец Щх]/(У е). Доказательство. То, что дискретное преобразование Фурье задает гомоморфизм из КШ в некоторое кольцо R, следует из формулы (4.6.2 общем случае степень полинома, задаваемого набором значений, может быть больше п. Поскольку значение преобразования Фурье как вектор всегда имеет размер п,то R является кольцом 7Цх]/21 классов вычетов по некоторому идеалу 21. Каждый идеал в кольце Щх] — главный, поэтому нахождение идеала 21 сводится к нахождению полинома степени w, имеющего нулевое значение преобразования Фурье. Подставляя в л" е вместо X значения корней степени w из е, пол уча ем нули. Следовательно, 21 (^ е\ 4.7. Нормирования Поле называется упорядоченным^ если: для его элементов выполняется ровно одно из соотношении а О, а а из условия а ah и следует а + и а Этих требований достаточно, чтобы охарак- в целом. Например, если . Элемент а отрицательный. теризовать поле то а если а Абсолютной величиной \а\ элемента а из упорядоченного поля назовем неотрицательный из элементов а. а. Тогда аЬ\ а + Ь\<\а\ + \Ь\. Кроме того, а 2 9 а 2 а\\Ь1 функции ф(а). называемой (valuauon), со свойствами: и нормированием ф(а) поля: элемент некоторого упорядоченного 5 ^ l-*L ф(«)' (р(аЬ) О ддя а ^ О, ф(0) ф(а)ф(й); ^ ф(а -^ Ь)< ф(а) -Ь- ф(й). Из свойств е, ф{а) 5 получаем. что ф(е) е. а). Из свойства 4 следует, что ф(а Ь) < ф(а) + ф(й). Каждое поле обладает дальнейшем не будем рассматри тривиальным нормированием: ф(а) = е для а ^ О и ф(0) вать это нормирование. Если K = Q, то можно положить ф(а) а. Если Существуют и другие виды нормирования — простое число, то каждое рациональ ное ненулевое а можно представить а {ф)р Положим /7 для целого W, где ф„(а) л При в виде не делятся на/?, этом выполняются свойства 1-4. Такое нормирование называется/? адическгш нормированием поля Q. Например, ф2(3) о 5 ф2(10) 1 , ф2( 16) 4 5 Ф, 40 3 . Ф2 48 25 4 '^L Любое нормирование поля эквивалентно абсолютному нормированию или некоторому адическому нормированию [3]. Обобщим эту конструкцию Пусть про извольное целостное кольцо, К — его поле частных, ф — произвольный простой идеал кольца R такой, что: все степени Ф^Ф", . попарно различны и их пересечение равно нулю; если элемент а делится в точности на ф"', а элемент b делится в точности на ф , то эле мент аЬ делится в точности на ф т+п Эти свойства выполняются, например. для поля Рдх) рациональных функций, являющегося полем частных кольца главных идеалов ¥р[х]. и Значение нормирования, а иногда и функцию нормирования, называют нормой.
75 Простым идеалом кольца является любой глав- Поскольку в поле К выполняются свойства ассо ный идеал, образованный неприводимым поли- циативности, коммутативности и дистрибутивно номом. ^-адичес7<ое нормирование поля К зада- сти, то элементы с неотрицательным нормирова ется максимальной степенью идеала ф, на кото- нием образуют кольцо. рую делится данный элемент поля (степени ф, на которые делится числитель, берутся со знаком тель- Из v(a) о, v(b) О получаем а степени, на которые делится знамена v(a + min(v(a), v(b)) со знаком «-»). качестве значения нормирования используется максимальная сте v(a mm(v(a), v(b)) пень идеала ф, на которую делится числитель (знаменатель). ца. Если с Vic) произвольный элемент этого коль то v{ac) ~ v(a) + v(c) v(a) По Например, для поля Q(x) нормирование по этому элементы с положительным нормировани идеалу (х) дает: 2 ф(;,)(Х +2Х) ! (хГ, Ф(х) х^+2^ X о (xY, Ф(х) У х^+2 х^ + Зх^ (X) 9 ем образуют идеал J. Наконец, из аЬ (J) или. что то же самое, из v(ab) = v{a) + v{b) > О следует, что хотя бы один из элементов а или b имеет положительное нормирование, то есть а е или G (J) или (J)). Поэтому идеал простои. Нормирование поля К назьгоается неархи медовым^ если ф(а + й) < тах(ф(а), ф(й)), в про тивном случае нормирование называется архи Кольцо А элементов поля X, обладающих не отрицательным дискретным нормированием, на зывается кольцом дискретного нормирования медовым. Примером архимедова нормирования Элементы кольца А называются целыми (относи- поля служит абсолютная величина, ^^-адическое тельно нормирования). Говорят, что а делится на нормирование поля Q неархимедово. Неархимедово нормирование обладает свой ством: если ф(х) > ф^у), то ф(л: +3^) = ф(х). Дейст (относительно нормирования v), если а целый элемент. то есть v{d) vibl Элементы коль ца с нулевым значением нормирования вительно, если предположить обратное, то един- являются обратимыми элементами кольца нор- ственно возможный случай: (?(х-^у) < ф(х). Тогда мирования. Поскольку все элементы множества X (^^У) >'Иф(х+>')<ф(х), ф( Это <?(у) ^ ф(л:). А\3 обратимы, то идеал 3 не имеет делителей в противоречит определению неархимедова кольце А. Поэтому он является максимальным нормирования: ф(х) < тах(ф(х +3^), ф(->')). Часто используют показательное неархиме Следовательно, кольцо классов вычетов А/J является полем, это поле называют полем классов дово нормирование, когда вместо нормирования вычетов нормирования. ф(а) via) рассматривают показатель v(a). Тогда: вещественное число: со: 5 v(a) v(0) v(ab) v(a + й) > min(v(a), г\й)). 4.8. Пополнения поля (D v{a) + vib); ир-адические числа Среди нормирований различают дискретные Последовательность {«/} элементов нормиро и недискретные. Дискретные нормирования ха- ванного поля называется фундаментальной^ если рактеризуются тем, что для каждого из них су- для каждого положительного 8 из поля значении ществует наименьшее положительное v{d) такое, нормирования ф существует натуральное п что все остальные v{a) кратны ему. Недискрет- такое, что ф(ар ~а^<г ддя любых ные нормирования характеризуются тем, что их п{г) п п. Определим сумму и произведение фундаменталь значения могут быть сколь угодно близки к ну- ных последовательностей: С/ лю. Нормирование абсолютной величиной не- гда последовательности ai + b и W} /5 / aibi. То l^-'l тоже будут дискретно 9 адическое нормирование дискрет но. фундаментальными. Введенные операции сложе ния и умножения удовлетворяют аксиомам коль ца, поэтому фундаментальные последовательно Теорема 4.7.1. В показательно нормирован- сти образуют коммутативное кольцо. ном поле К все элементы а со свойством л\а) образуют кольцо. Совокупность элементов, для которых нормирование положительно, является Поле К называется полным относительно нормирования 5 если оно удовлетворяет крите простым идеалом J этого кольца. Доказательство. Из v(a) рию Коши: каждая фундаментальная последова тельность элементов поля К имеет предел в К. v(b) следует Определим нуль-последовательность как v(a + v(a и v(ab) v(a) + v(b) фундаментальную последовательность со свои
16 t-^ ством «сходимости к нулю», то есть для любого разность принадлежит модулю М/. Если / £ при существует натуральное п такое, что \а\ < г некоторая ^у-адическая фундаментальная последо- / > п. Нуль-последовательности образуют вательность рациональных чисел, то для каждого идеал 21 в кольце R фундаментальных последовательностей. Следовательно, можно образовать кольцо классов вычетов L = Rl%. Это кольцо яв (mod/? начиная Гк) <Р с некоторого п n(j\ имеем ■} при i>n(j\ n(j\ то есть г I Гк J Таким образом, все числа г„ начиная с ляется нормированным полем [2]. Действитель- некоторого i>n{j\ лежат в однозначно опреде но, если элемент а е Z определяется фундамен- ленном классе вычетов Щ по модулю уЦ. Поэтому тальной последовательностью {аЛ над полем К с фундаментальная последовательность нормированием 5 ТО по определению нормиро определяет некоторую последовательность классов вания |ф(а;) - ф(0/)| < ф(а, - аХ то есть {ф(^/)} вычетов Rq 1 2 ..., вложенных друг в дру тоже фундаментальная последовательность, об- га указанным способом. При этом если I ладающая некоторым пределом с^ в поле вещест нуль-последовательность, то "J нулевой класс венных чисел. Положим ф(а) Все фундамен- вычетов. Сумме фундаментальных последова тальные последовательности с одним и тем же тельностеи соответствует сумма классов вычетов. пределом определяют одно и то же значение частности, прибавление к фундаментальной ф(а). Нетрудно проверить, что функция ф в поле последовательности нуль-последовательности не удовлетворяет всем четырем требованиям, изменит последовательности классов вычетов. предъявляемым к нормированию. случае неархимедова нормирования доста- для Каждому адическому числу взаимно одно значно соответствует некоторая последователь точно потребовать, чтобы ф(«/+] ai)<z ность классов вычетов. Поэтому адическое /> п(г\ Действительно, а р а я это сумма число можно представить с помощью последова слагаемых вида а^л ют значение, меньшее тоже меньше 8, так как а,, и если все они име- тельности классов вычетов. Кроме того, то и значение суммы адическое число а можно представить в виде бесконечной суммы, положив Го 5о, Го ф(а (+1 ai) < тах(ф(а/ц_]), ф(аЛ). Л]/?, ..., I 4- + J /+1 I J Sjp\.... Тогда г,+| =лo + 5]^) + Л//?^. Получаем Таким образом, в поле, полном относительно неархимедова нормирования, любая последовательность {«/} имеет предел, если только разно- J 00 а ИшУ /^■00 /=о s^p I S:P I /=0 сти Oi+i Gi стремятся к нулю. то есть если При этом S I обычные целые числа. Такие lima /7-^00 П 0. Этот критерии можно переформулировать числа а называют целыми р-адическими числами. Множество целых »-адических чисел является целостным кольцом, которое обозначается Жр. Для сходимости бесконечного ряда «] + «2 + - • • Дробное р-адическое число имеет вид необходимо и достаточно, чтобы lima 0. а а V + а^т^хр + ... + «о + С1\Р + сы) + ... случае архимедова нормирования это не так, на пример, гармонический ряд хо д ится. 4- 1 /2 + 1 /з + рас Если поле Q рациональных чисел нормировать относительно абсолютной величины (архимедово нормирование), то в результате пополнения получим поле IR веш,ественных чисел. Если использовать /?-адическое нормирование, то в результате пополнения получим поля и содержртг слагаемые с отрицательными степенями р. Поэтому каждое дробное /?-адическое число можно превратить в целое адическое число умножением на некоторую степень/?. Сложение и умножение адических чисел вьшолняется аналогично сложению и умноже нию рациональных чисел в ичнои системе 2,Q3, Q55 Q75 Qib ■•• /?-адических чисел, равноправные с полем IR. Элементы поля Q^, могут быть представлены в более удобной форме, чем фундаментальная последовательность. Поле Q^ как пополнение поля Q имеет нулевую характеристику. Рассмотрим для неотрицательных целых чисел 1,2,... модуль М/, состоящий из рациональных чисел, числитель которых делится на р\ а знаменатель не делится на/?. Для таких чисел нормиро вание удовлетворяет неравенству ф(а) < гГ Ня^п счисления, только рациональные числа записы ваются, начиная адические числа со старших разрядов. а начиная с младших разрядов Пример 4.8.1. Арифметика кольца Жр. Найдем в 2 элемент I Запишем О 7 2 + 2 . 2-адическое число имеет вид со l + VO-2', Представим искомый элемент в ы\ со виде X вем два числа сравнимыми по модулю р, если их а 2 / Тогда 5х == X + 2^х = 1. Коэффи /=0
77 циенты неизвестного найдем последовательными 2 7 . Решим квадратное уравнение х = И в ^ сравнениями по модулям 2, 4, 8 и т. д. Сравнение Корень из ] 1 будем находить последовательным по модулю 2 дает Хо = 1. Сравнение по модулю 4 решением сравнений дает Ъс 1 (mod 4), откуда х\ = 0. Сравнение по модулю дает 4x9 + 4х о откуда Х2 и т.д. Пусть X (mod 7). Тогда Xq для хо + 7xi + 7 Х2 + 2 степеней числа Имеем или Хг) Таким образом. в 2 имеет место равенство ние Хг) 2. Находим Xi 00 2 . Выберем значе- решением сравнения + 28x1 - 11 (mod Т). Отсюда 28х 1 1 12 2i Xi 2. Находим Х2 решением >=о (2 + 14 + 7^X2^ = 11 (mod 7^), откуда (mod 7 сравнения 7% 2 00 2. Найдем сумму х Тр (mod 7 Х2 / В Жр. Имеем для и т. д. Второе значение корня из /=о разности /?-адических чисел х X частности, число рх 11 будет задаваться последовательностью коэф фициентов, противоположных по модулю ко 1. Отсюда эффициентам первой последовательности. в 9 имеет ВИД 00 12 / 1=0 Упражнения к главе 4 -^>- -. ■* о Что собой представляет простое поле с нулевой характеристикой? Существует ли эндоморфизм поля в его собственное подполе? Покажите, что поле не имеет идеалов, отличных от нулевого и единичного. Покал<:ите, что алгебраическое замыкание поля Q не совпадает с полем С комплексных чисел. Постройте квадратичные расширения: а) поля з; б) поля Q; в) поля С(х) рациональных функций поле 2 im 4 + Г + наидите корни поли нома fit) 4 + Г + и корни других неприво димых полиномов степени hit) git) t +t -^t +t+\. Выразите корни по линомов g, h через корни полинома/как век торы над р2. Почему квадратичное расширение поля явля ется нормальным? Приведите примеры нор мальных расширений, получающихся при 5 соединением одного корня полинома, отлич ного от у Пусть е. простое поле и РДх) — его про стое трансцендентное расширение Тогда ка ждому элементу поля РДх) можно поставить во взаимно однозначное соответствие рациональное число заменой переменной х на число/?: ах / I* J х J а,р г Ть ■ J J Изоморфны ли ПОЛЯ Q и РДх)? 9. 10 Как найти число приведенных неприводимых полиномов степени п в кольце Fp[x] для простого и составного п7 Найдите кратные корни полинома/(х) х' + ,5,4 4-Х +Д X 3 X 2 Х + 3 ы В его поле 11 разложения путем вычисления НОД(/(х),/'(х)). Найдите все неприводимые полиномы вида 2 3 12 13 14 15 16 FJx] имеют X + а, X + й в кольце Fi9[x]. Какие ненулевые полиномы в нулевую производную? Какие ненулевые рациональные функции в ¥р{х) имеют нулевую производную? Пусть Z[/], f — кольцо целых гауссовых чисел. Покажите, что идеал (2 + /) в этом кольце является максимальным. то есть Z[/]/(2 + /) является полем. Покажите, полученное поле изоморфно полю F5. что Покажите, что дляр>2 в кольце Fp[x] суще ствует неприводимый полином вида х^ + а. 2 Исследуйте действие отображений ф и ф , где ф: X ~> X на элементы поля 2 И/(/ + г+1). Найдите порядок циклической группы, образованной отображением ф. Пусть F^, расширение степени п простого ПОЛЯ Fy,, где л — простое число. След и норма для \Fg по определению явля- симметрическими юте я э лементар ными функциями от п переменных и отображают ¥д В F^^. Являются ли остальные элементарные симметрические функции отображениями ¥д В F„?
18 Ю Покажите, что над полем ниех +а где а G * ?' п 9 уравне а 9 всегда имеет един ственное решение. Найдите это решение. Пусть F Й9 2", конечное поле. При каких условиях квадратное уравнение х + х + а где а G F^ , имеет корни в F *? ч я- [9. Пусть К— поле. Покажите, что если для по линома из К[х] выполняется условие НОД(/^/') G К, то/свободен от квадратов. Покажите, что алгебраически замкнутое поле не может бьггь конечным. Пусть К— поле и К(х)— поле рациональных функций. Пусть /е Щх) и /' — производная функции / Покажите, что /' е К{х) и что отображение /7/ является гомомор 22 23 24 25 физмом мультипликативной группы поля Щх) в аддитивную группу этого поля. Покажите, что элементы кольца дискретного нормирования, нормирование которых больше 1, образуют идеал. Найдите произведение целых чисел 2 + 2 + 2 2 + 2 5^ + и адических + 3-54- + 3 ■ 5П 3 ■ 5^ + Что собой представляет факторгруппа Жр/Ж7 Является ли она циклической? Пусть П ПОЛЯ я Р„М/(Дх)) расширение степени р и жите, что элементы базис \Fa над F„. корень полинома У(х). Пока- ^ образуют ч-.г^ V ^-^ X Литература к главе 4 > Айерлэнд К., Роузен М. РСлассическое введение в современную теорию чисел. М.: Мир, 1987. Ван дер Варден Б.Л. Алгебра. М.: Наука, 1979. Коблиц Н. />адические числа, />адический анализ и дзета-функции. М.: Мир, 1982. Ленг С. Алгебра. М.: Мир, 1968. Лидл Р., Нидеррайтер X. Конечные поля. Мир, 1988. М.: Milne J. Fields and Galois theory (Lecture notes) http.7/www.jmilne.org/math/.
Глава 5. СВЕДЕНИЯ ИЗ ТЕОРИИ ЧИСЕЛ Теоретико-числовые задачи являются хоро ческих алгоритмов. Это обусловлено достаточ вида /^т для простого т называются числами шим фундаментом для построения криптографи- Мерсенна. Если существует разложение гл, где г ной изученностью указанных задач и удобством нечетное, то число их программного воплощения. лено в виде rs 4- может быть представ rs 4- 5.1. Однозначное разложение на множители в кольце Z .v + 1)(2 rs-s rs-2s 4- 4- IX поэтому числа вида / 4- могут быть простыми 5 если / не имеет нечетных делителей, то есть яв Множество Ж является евклидовым кольцом ляется степенью двойки. Числа вида 2 2 к 4- назы и, следовательно, обладает однозначным разло- ваются числами Ферма. На сегодняшний день жением на простые множители. Поскольку коль- известны следующие простые числа Ферма: цо ж содержит два обратимых элемента (1 и 1), 17,257,65537. разложение на простые множители производится с точностью до обратимого элемента кольца, то есть до знака простого числа. Теория чисел изобилует нерешенными про блемами Простых чисел бесконечно много. Доказа- несложными." Например которые на первый взгляд выглядят тельство этого факта дал еще Евклид. Действительно, если предположить обратное, то существует наибольшее простое число. Тогда, если к произведению всех положительных простых чисел прибавить единицу, получим число, превышающее наибольшее простое число, которое не будет делиться ни на одно из простых чисел. Противоречие доказывает неправильность предположения. Для большого натурального числа п количество простых чисел, меньших w, обозначим через Имеет место асимптотическое (теорема П.Л. Чебышева): равенство п{п) п Inn конечно или бесконечно множество простых (числа Мерсенна) или чисел вида 2 + (числа Ферма); можно ли каждое четное число представить в виде суммы двух простых чисел (гипотеза Гольдбаха); конечно ли множество простых чисел вида 5.2. Некоторые числовые функции Число п ^ Ж называется свободным от квадратов, если оно не делится на квадрат никакого простого числа. На практике представляют интерес простые _ ^/Н 1 ^1 , л _ _^. _ числа вида и 4- Теорема 5.2,1. Любое число 7 2 П gZ может так как в кольцах вы- быть записано в виде п = аЬ ^ где а. b ^ Ж и а четов по модулю этих чисел удобно выполнять свободно от квадратов. арифметические операции. Если число т состав Доказательство. ное, т = rs, то Пусть п и А' раз fS у 1)(2 га-г _1_ 2га-2 г _|_ + 1), ложение числа п на простые множители. Каждый 2Ь. + г„ показатель поэтому гда, когда г где г или может быть простым только то- то есть число т простое. Числа нечетно число d,. Положим а можно записать в виде в зависимости от того, четно или Па' ? П А' Тогда п ah 2 требуемое разложение. ^ Аналогично доказывается, что ддя произвольно го поля К существует бесконечно много непривод и 2 этом случае упор я мых полиномов в кольце К[х], дочивание полиномов проводится по их степеням. Знаменитая великая теорема Ферма была дока занав 1990-х годах с использованием аппарата эллип тических 1фивых.
80 На множестве Z>o положительных целых чисел с>тцествует ряд естественно определенных функций. Определим функцию Мебиуса \i{n\ п е Z>o. Положим ц( 1) ? Ып) О, если п не свободно от квадратов, и \i(p\...pk) ные простые числа. к 1Г, где I Теорема 5,2.2. При п > имеем Y\^{d) О, d\n где сумма берется по всем делителям d числа п. включая ИИ. / Доказательство. Если п П й^ то вклад /=1 в сумму показателей /э превышающих единицу. нулевой. Следовательно, имеем равенство Уц(^) Ti^- ? d\n Sb...,S/ где сумма берется по всем наборам (sj, ...,8/), 8/ G {О, 1}. Тогда /)(1) ц(1)/(1) 1)(п) Yv^id) О, W £/[« Теорема S.2J (теорема обращения Мебиу различ- са). Пусть F{n) = Yf{d). Тогда d\n fin) у ^i{d)F{nld). d\n Доказательство. Можно записать F f-i Тогда F ■ \i Поэтому /)-ц f-E fin) iF Ц)(«) У iiid)F{nld). d\n Определим функцию Эйлера <^{п\ где п >о 3 как количество положительных целых чисел, меньших п и взаимно простых с п, включая единицу (при этом по определению ф(1) пример, ф(2) 1,Ф(5) 4, ф(6) Ф(12) 1). На 4. Ее ли» простое число, то ф(р) T^d) d\n + V V V + ... + ( / / Определим умнооюение Дирихле для двух ком Теорема 5.2.4 Выполняется равенство 1ф(^) п. d\n Доказательство. Рассмотрим п рациональ плекснозначных функций/и g, определенных на ных чисел вида l/w,2/w,..., w/w и сократим каж множестве Z>o: {f-g){n) fidy )gid Здесь J, Jt =« дую из дробей на наибольший общий делитель числителя и знаменателя. Множество знаменате- сумма берется по всем парам положительных лей будет представлять собой все множество по- целых чисел du <^2, дающих в произведении п, ложительных делителей числа п. включая 1 и п. в качестве знаменателя. Поэтому значение суммы Умножение Дирихле коммутативно, так как ум- Если d\n, то в точности ф(^) чисел рассматривае ножение комплексных чисел коммутативно, и ^loro множества после сокращения будут иметь если одно из слагаемых имеет вид f^di)g(d2% то существует и слагаемое вlщгiJ[d2)g(d\). Сложение таких пар слагаемых, очевидно, коммутативно. Кроме того, умножение Дирихле ассоциативно, так как выполняется равенство ТФ) совпадает с числом элементов рассмат d\n риваемого множества, то есть V (p{d) п d\n _f if-ig- h))in) = ((/ • g) ■ h){n) Z fid,)gid2 )hid,). d,d2d-i=n I Теорема 5.2.5. Если n П pf' TO /=i _ ^ ^ Функции с умножением Дирихле образуют коммутативный моноид. Единичным элементом Ып) I 'ft г*' * » T-lx,-- является функция со свойством Е{\) и Е{п) О для всех целых п Доказательство. Поскольку V9(J) = w, то Рассмотрим функцию / вида 1{п) = 1 для всех п G Z>o. Для любой функции / имеет место ра- d\n из теоремы обращения Мебиуса следует, что венство (/ ■ f){n) - (/ • 1){п) Yfid) Тогда d\n Ып) TKd) п п ф>тцсш1я / является обратной к функции Мебиуса относительно умножения Дирихле. Действи- d\n П 4- / П I i>J I J П тельно ? ; Рэ J \ Pi J
81 Для больших чисел п имеет место асимптоти мультипликативна. то функция g{n) Yf{d) ческое равенство ф(?7) п d\n Inlnw функция Мебиуса позволяет определить так же точное число неприводимых над F^ приве денных полиномов степени п. также мультипликативна. Из китайской теоремы об остатках следует, что для взаимно простых чисел р\, ...^ри имеет место изоморфизм колец Ж1рхЖ@ ...@ Теорема 5^.6. Число N, неприводимых в ¥р\х\ полиномов степени п равно © Ж1ркЖ. Отсюда вытекает, что функция Эйлера является мультипликативной. Мультипликативной является также функция \i{n). 1 -ь ■ ■7 л^ п П Z vk^ld) d г-. - :VJ. i > . ^^t -.-1- 5.3. Кольцо <^»- y« \ '*'--=?■ d\n ; - -^ "Г''-_^1 VJ " ^■ t V -t- \ Доказательство. Обозначим через G^x) неприводимый над Fp полином степени d из F„[x]. Уточним некоторые положения теории сравнений (см. п. 3.5) применительно к целым числам. Покажем, что для полинома х равенство: р X выполняется V 1 X Р и X ЦоЛ^) (5.2.1) d\n Аппарат теории сравнений часто используется при изучении вопросов, относящихся ко всему мноя^еству целых чисел, в частности при решении диофантовых уравнений. Диофаитовым называется уравнение видаДх!, ...,х„) = О, где/— полином над Ж, с целочисленными решениями. ' . ^ ^- ^ -V Действительно, поскольку t «,.р"-1 р X (mod р) ■< и НОД(х р и X, (Х^ 7 II х)') 1, то полином X р II Из теоремы о гомоморфизмах колец следует, что если диофантово уравнение имеет решение в Ж, как сравнение по наоборот, если то оно имеет решение в произвольному модулю п. и X не имеет кратных корней в алгебраическом замыка НИИ поля ¥fj и, следовательно, свободен от квад сравнение не имеет решения хотя бы по одному модулю, то соответствующее диофантово уравнение неразрешимо. ратов в р F Jx]. По теореме 4.3.10 неприводимый р и полиномдх) степени а делит т -х тогда и толь Пример 5.3.1. Диофантовы уравнения. . Уравнение х + ах + b = Q при нечетных а, b ко X р II тогда, когда d\n. Следовательно, полином не имеет целочисленных решений. Для доказа X представляет собой произведение непри- тельства достаточно рассмотреть соответствую водимых полиномов, С1^епени которых делят п Тогда, приравнивая степени обеих частей равен щее сравнение по модулю то х~ + ах Если X ства (5.2.1), имеем п УсШ d Применяя тео ли 2 X d\n X + ax + b (mod (mod (mod X + ax + h TO x^ + ax (mod (mod 2). Ec (mod 2) рему обращения Мебиуса к последнему равенст ву, получаем заключение теоремы. .... .^ 3 3 . Уравнение х -7у + 4 численных решений. Д}ш не имеет цело д о каз ате л ь ств а рас смотрим соответствующее сравнение по модулю Теорема 5.2.6 показывает различие между коль 7. То, что сравнение х'' + 4 (mod не имеет цами Ж и FJxJ. Если для первого кольца точная реп1ений, легко мояшо проверить перебором. формула для числа простых элементов, меньших заданного, неизвестна (возможно, в явном виде ее и не существует), то для второго такая формула есть. Другое отличие характеризуется слож:ностью разложения. Если наилучший известный алгоритм разложения чисел обладает субэкспоненциальной сложностью, то полиномы раскладываются с полиномиальной сложностью (см. гл. 7,9). Уравнение у^ = х + 11х + 8 не имеет решений в целых числах. Это утверждение следует из рассмотрения соответствующего сравнения по модулю Получаем х^+ 2x4-2 (mod3) Правая часть всегда принимает значение 2, а ле вая значения О или Китайская теорема об остатках устанавливает гомоморфизм кольца Ж и колец классов вычетов Ж1т,Ж для взаимно простых т,. Следовательно, Числовая функция / называется мулыпгтли произведению и сумме чисел соответствуют кативнои^ если НОД(а, Ь) для чисел а э таких. что вьшолняется условие /йЬ) произведение и сумма вычетов по модулям т Для / восстановления числа х по его вычетам fia)f{b). Поэтому мультипликативная функция можно использовать следующее утверждение полностью определяется своими значениями на (целочисленный аналог интерполяционной фор- степенях простых чисел. Если функция An) мулы Лагранжа).
82 Теорема 5,3,1 (китайская теорема об остат- одна из которых имеет порядок 2, а другая ках для кольца Ж). Пусть числа т\^ ...^т^ вза- порядок 2 " . имно простые. X м, 1 х,- (mod /W/), (mod mi). Тогда М 1П\...ти^ Доказательство см. в работе [1] к X У х,.МД^ (mod 7V) / i Доказательство. Идеал, образованный любой парой чисел (т^^ пу) в кольце Ж равен Ж^ то есть применима китайская теорема об остатках Теорема 5,3,4. Группа {Ж1пЖ) является циклической тогда и только тогда, когда w = 2, 4, р"^ Ip" для нечетного простого/?. Доказательство см. в работе [1]. (см. теорему 5.3.5). прямой сумме колец: Кольцо изоморфно Например, (Ж1\5Ж) = {1, 2, 4, 7, 8, 11, 13, 14}. Ни один из этих элементов не образует группу порядка 8. Ж1тлЖ@ ... @Ж1ткЖ. ^ Поэтому достаточно показать, что значение х из заключения теоремы удовлетворяет сравне- Рассмотрим вопрос о разрешимости сравнения а (mod/?), где а т^ О (mod/?), для простого/?. Теорема 5.3.5. Пусть р — простое число. Ее НИЮ X Xi (mod т^. Так как МД = 1 (mod m,), то ли НОД(?7,/? то сравнение х" = а (mod/?). сравнение х = х, (mod mi) выполняется. где а 7^ О (mod/?), разрешимо при любом а. Если Поскольку в Ж имеет место однозначное раз НОД(п, р МО при а (Р d то это сравнение разреши l(mod/?). Доказательство. Если НОД(?7,р ложение на мнояштели, то изучение сравнении по произвольному модулю сводится к изучению п обратимо по модулю р отображение х то сравнении по модулям степеней простых чисел взаимно однозначно и является автоморфизмом Ж1р'Ж в соответствии с китайской теоремой об группы Fp*. Следовательно, сравнение разреши- остатках. Любой элемент х НИЮ X р группы Ihp . МО всегда. Пусть НОД(?7,/? - \) = d> 1. Мультип- р удовлетворяет сравне- ликативная группа F^ циклична с образующей g. X (mod/?). Следовательно, имеет ме- Тогда х сто равенство X р X х(х \)(х 2)...(х и (mod/?), а V После сокращения 1)(х 2)...(х на 4- X получим X р- + ваемое сравнение имеет вид g (mod/?). Рассматри ^ (modp). По (mod/?). Полагая х этому для показателей выполняется сравнение пи V (mod (л 1)) (modp), получаем теорему Вильсона: (р (mod/?). 1)! Последнее сравнение разре шимо тогда и только тогда, когда d\ и соответствии с китайской теоремой об ос- Образующую мультипликативной группы татках теорема 5.3.5 остается справедливой при замене /? на число т такое, что группа обратимых элементов по модулю т циклична, при этом сле- кольца иногда называют примитивным корнем по модулю п Посмотрим, для каких п группа (Ж/пЖ) ЦИК лическая. Согласно теореме 4.3.6 и следствию группа ¥р при /? 7^ 2 циклическая, число обдует заменить /? на ф(т). 4.3 разующих равно ф(р Теорема 5.3.2. Если/?— простое число, то группа (Ж/р^Ж) циклическая. Доказательство см. в работе [1]. ^ о Если сравнение dt ^ а (mod тп) разрешимо, то говорят, что а является вычетом степени п по модулю т. В противном случае а является невычетом степени п по модулю т. э Вопюосы (mod /? и £ разрешимости сравнении х ^а а (mod/»), где а т^ О (mod/»), /»> 3, тесно связаны. * Для (Z/8Z) 5, 7. Каждый из них в квадрате дает единицу: (mod 8). Следовательно, случая /? = 2 ситуация иная. Группа состоит из четырех элементов: группа {Ж1%Ж) не является циклической. То же имеет место и для степеней двойки, больших Теорема 5.3.3. Группы {ЖИЖ) и {Ж1АЖ)* цик Теорема 5.3.6. Сравнение х" = а (mod/?), где а 7^0 (mod»), D>3, НОД(?7,») разрешимо тогда и к ТОЛЬКО тогда, когда сравнение j^ а (mod/? ) разрешимо при всех к. Доказательство. Если п очевидно. Предположим, что п то утверждение . Пусть сравнение уР^а (mod/?^) разрешимо wxq — его решение. Тогда х\ Хо + Ьр е лические. Группа {ЖИЖ) при А: > 3 является ния, при этом х п \ тоже решение этого сравне . Най Xq 4- пЪр (mod/? e+l прямым произведением двух циклических групп, дем коэффициент Ъ, при котором выполняется
\ 83 сравнение X n 1 a (mod p e+l ЭТОМ случае nx /7-1 0 X n 0 e (mod p), где X n 0 )/p'' целое число. Это сравнение разрешимо единст венным образом. Следовательно, сравнение х'^ сложным. Покалсем. как свести данную задачу в кольце классов вычетов по модулю т к задачам в кольцах классов вычетов по простым нечетным а модулям р. Пусть т с Пг^' Достаточно рас / (modp) разрешимо при всех разрешимо при всех к. е При е оно смотреть случай НОД(а, т) = 1. Тогда по китай теореме об остатках сравнение 9 рсшимо и^»и вссл П.. ^j,Qj^ теореме об остатках сравнение х^^а Обратно, пусть сравнение ^_^ ^ а {тоАр ) раз- ^^^^^ т) разрешимо тогда и только тогда, когда QHMo и у = xq +рх\ + ... + » Xjt_] — его реше- .^oo^^.tit^iv^lc ^глот,тт*^гл«а решимо и Xq +рХ\ + D его реше ние. Тогда xq будет решением этого сравнения по модулю». * '' ' '"' разрешимы сравнения -н _,^_^ - X 2 2 а (mod 2^), X ^aimoAp е, :>'г- ■^^-Р ^ ^ -* * --> 5.4. Квадратичные и кубические вычеты Квадратичный закон взаимности Из теорем 5 следует, что сравнения Если сравнение 9 jr а (mod m). а (mod/?*') разрешимы тогда и только то гда, когда разрешимы сравнения х^ = а (mod/?^) Поскольку единственным квадратичным выче где \\ОШа^ пг) = \^ разрешимо, то а называется квад том как по модулю 4, так и по модулю 8 являет л 2 / 1 ^Сч СЯ 1 Сравнение jc а (mod разрешимо тогда раптчным вычетом по модулю т, в противном и только тогда, когда а (mod 9 jr а случае а называется квадратичным невычетом а по модулю т. Если сравнение х = а (mod m), где точно НОД(а, т) = 15 разрешимо, то а называется кубическим вычетом по модулю т^ в противном случае а называется кубическим невычетом по модулю т. при е и (mod при е>3. Таким образом, доста рассмотреть разрешимость сравнения (mod р) для простых нечетных При этом порядок группы р всегда четный, и во прос о разрешимости квадратичного сравнения нетривиален. *- ^ --_ - -^ 7-4 *^ С- .- Пример 5.4.1. Квадратичные вычеты и невы четы X 2 При т 1, 4, 2, 2, для X 1 2 3 1. ^. J. (mod 7) и X 3 получаем , 1,6, (mod 7) соответственно. Поэтому 1, 2, 4 являются квадратичными вычетами, а 3, ными невычетами по модулю ются кубическими вычетами, а 2, ческими невычетами по модулю — квадратич Числа 1, 6 явля 4,5 куби соответствии с результатами предыдуш.его параграфа вопрос о разрешимости сравнения а (mod т) по модулю произвольного натурального т сводится к вопросу о разрешимости этого сравнения по модулям простых делителей числа т Если а {р-\)1 простое число и 1 (modp) 5 то факторгруппа ¥р 1{а) имеет четный порядок и сравнение разрешимо, причем суш.ествуют два решения. Аналогичное утверждение справедливо и для кубических вычетов. Сравнение х ^а (modp) имеет единственное решение для любого а р •> если НОД(р Если же р 1,3) 1, то есть если л ^ 2 (mod 3) (mod 3), то НОД(/? 1,3) Сле довательно, кубическое сравнение разрешимо, l(mod/?) (при этом существуют если а {р-1)/3 три разных решения) или если а случаях оно неразрешимо. В остальных Обратный вопрос — для каких т разрешимо сравнение X 2 а (mod т) является более Определим символ Леэюандра а для числа ^-C-V-_s ^ ^ 1 - ... !■-. I- ii. '.^ а по простому нечетному модулю а если а является квадратичным вычетом по моду а лю э э если а является квадратичным невычетом по модулю /?, и а О, если а (modp). Таким образом, для чисел а, взаимно простых с р, символ Лежандра является квадратичным характером. Теорема 5.4.1. Символ Лежандра обладает следуюш.ими свойствами а + кр а \ >--- -^^ р для всех к е Z; аЪ 9 а для всех таких. что ^ ^ ■ь^ НОД(^>, р) а р 1 У а 2 (modp). В частности ? . -^ / -i- 1,если л (mod 4), и ? -Г_ "J если» = 3 (mod 4);
84 a J a 9 р1л 8 9 при изменении a от до символ Теорема показывает. что вычисление символа Лежандра а сводится к вычислению символов Лежандра для простых делителей Лежандра принимает значения и а числа а одинаково часто Доказательство [1]. Свойство 1 следует из определения символа Лежандра. Свойство еле Теорема 5.4.2 (квадратичный закон взаим ности). Для нечетных простых л, q выполняется дует из свойства 4. Свойство 3 следует из теоре мы 5.3.5. Свойство следует из утверждения Получаем цепочку равенств в поле F^: равенство 4 аЪ (аЬ) 2 а 2 Р 1 2 Докажем свойство Пусть е 2ш18 КОМ плексныи корень степени рень из О- Тогда из (квадратный ко ^+^ 1 V2 (1 + /) + л/2(1 ^ И (^+^ К2 Положим т 1 ^+Г- Оба ком плексных числа q и т являются корнями полиномов с целыми рациональными коэффициентами, то есть целыми алгебраическими числами. Коммутативное кольцо А = Ж[^] содержит кольцо Ж. Доказательство см. в работах [1, 4]. Обобщением символа Лежандра для произ т вольного модуля п Up i является символ Яко- /=] би а п , где pi — нечетные простые (не обязательно различные) числа Положим ' а^ К ±1 J Теорема 5.4.3, Символ Якоби обладает еле Поэтому можно рассматривать кольцо классов дующими свойствами. Для нечетного п вычетов А1(р). Это кольцо имеет характеристику /?, в нем (^ + ^ Имеем р + (Л р +\ р (mod»). а-^кп п ) а п для всех к ^; т п-1 9 ^"' р-\ 2 гЛ J (mod») ah 2 'а^ п Кп для всех таких. что и НОД(^>, п) т р т (mod») р +^ р (mod») /" fi 1 V п 2 э ^ Поскольку 8 э то для » = ±1 (mod спра ведливо р +^ V ^+1 1 1 и для справедливо р +1 ■р 3 +^ 3 ±3 4^ + ^ (mod 1 так как 3 1 р Отсюда т^ = т, если » = ±1 (mod 8), и т р если » = ±3 (mod 8). Поэтому если ±1 (mod 8), и если ±3 (mod 8). Объединение этих условии дает 8 г ; i -С- W Г аЪЛ К П ) а г п ЪЛ \п) э п 1л 8 5 'а\(Ъ ^^ \- :^с;-^ > --^ —■- - Гн tj -Wm- ''*- -I. •-i т _ -*.. V ) (o-l)(fe-l) 4 '^ ■-■:;-. -i^t-;fM ^i^^ для нечетных поло V a жительных avih. Доказательство [1]. Свойства и еле дуют из определений символов Лежандра и Якоби. Для доказательства свойства 3 отменам, что для нечетных »1,/?2 выполняется сравнение а Свойство (р-1)/2 следует из того, что сравнение 1 (mod р) имеет в точности ip 1)/2 решении. PxPi Pi + Pi (mod 2) (5.4.1) X -Т. J-'i-i='*V.. .
85 Действительно, этому р]р2 1 1-1)(р2 1) + (р2 (mod 4), по Символ Якоби в вычислительном плане явля (mod 4). Поде- ется более удобным, чем символ Лежандра. Дей лив обе части последнего сравнения на полу чим выралсение (5.4.1). По индукции получаем _j" Тогда т I Ы (mod 2) ствительно, для вычисления символа Лежандра нужно знать, что число р простое, а выяснить это достаточно сложно. Поэтому на практике символ Якоби используется Лежандра. Например, для вычисления символа /" 47 ГЮ! V 101 V 47 47 /" \ г \ п т Pi I т П( 2 Pi 1 1 2 /-I /71.../7..-1 т 7 2 Кроме того, символ Якоби используется для распознавания простоты числа в вероятностном алгоритме Соловэя-Штрассена (см. п. 7.9). Если п состоит из нескольких различных не- Для доказательства свойства 5 отметим, что для нечетных рь/^2 выполняется сравнение 2 2 АЛ 2 А 2 + А (mod 2) (5.4.2) четных простых сомножителей, то количество квадратичных вычетов и невычетов по модулю п различно. По китайской теореме об остатках а является квадратичным вычетом по модулю п^ если а— квадратичный вычет по каждому простому делителю числа п. Если же а является квадратичным невычетом хотя бы по одному из 2 еиствительно, /?, 2 И р. делятся на 5 простых делителей числа п^ то а квадратичный {р 7 1 Чр 2 2 О (mod 16), поэтому 2 2 А А ip 2 1 Vi + {p 2 2 невычет по модулю п. Таким образом, квадратич ных вычетов по модулю п не больше, чем квадра 1) (mod 16). Поделив обе части тичных невычетов по модулю п. Поэтому равен на получим сравнение (5.4.2). По индукции /" получаем ство а не означает, что а является квадра V п т 2 1 / 2 /=] (mod 2) тичным вычетом по модулю п. Если а является квадратичным невычетом по модулям двух различных простых делителей, то символ Якоби по модулю их произведения равен 1. Например, для /" Тогда п 35 5- выполняется равенство т П( 8 m 2 , V 35 J у^ г « 1 Г i=\ \ ) \ ) 1)( 1. Однако, если 'а^ \п 8 8 Докажем свойство Если а Р\---Рь b определения символа Якоби и квадратичного закона взаимно- то а является квадратичным вычетом не для всех простых делителей ?7 и по китайской теореме об остатках является квадратичным невычетом по модулю п. q\...qb то с учетом свойства к I Г сти имеем а г \ р.-ХЧ J 1 Пример 5.4.2. Применение квадратичного за \^а) iy=i 2 2 кона взаимности Сумму в 1. Найдем все нечетные простые числа, для которых число является квадратичным выче показателе степени достаточно вычислить по модулю 2. Получаем том. Согласно квадратичному закону взаимности г к I TL I J а I J \ . Поэтому для р^±\ (mod 10) число 5 S / ,,=,2 2 2 -, 2 а (mod 2) . является квадратичным вычетом по модулю р. . Найдем все нечетные простые числа, для которых число 7 является квадратичным вычетом. Согласно квадратичному закону взаимности
86 г \ 5 если (mod 4), и г \ ) Доказательство. Имеют место равенства 5 2со + 1, 2со 2 +1. Согласно квадра если р = Ъ (mod 4). Квадратичные вычеты по моду тичному закону взаимности является квадра лю7 это 1,2,4. Получаем тичным вычетом по модулю простого числа » в следующих (mod 6). Следовательно, существуют X, такие, что х^ + З кр. Левая часть равенства рас г слл^аях: г \ ) и (mod 4); V ) и кладывается на простые множители в евклидо вом кольце Z[co] единственным образом: (mod 4); то есть если »е {±1,±3,±9} (х + (mod 28). + 2со)(х + + 2со 2 кр. Из квадратичного закона взаимности вытекает Предположим, что число р является простым элементом кольца Z[co]. Тогда один из сомножи- ряд интересных свойств, касающихся разложения простых чисел на множители в расширениях кольца Z. телеи X + I + 2со или х + + 2со должен делиться на/? как полином от со. Поскольку это не так, то число » раскладывается на мнояштели в Z. Определим норму числа а+ Ьсо как N(a + Ьсд) Теорема 5.4.4. Пусть 1-ы-\ . Простое (а + biiy){a + £>со а ра аЪ + Ъ . Справедливо равенство 7V(aB) = iV(aW(B). Комплексные дели циональное число на простые множители в Z[/]. Доказательство. Согласно квадратичному заявляется квадратичным вы- (mod 4). (mod 4) раскладывается тели числа р являются простыми элементами кольца Z[co], поскольку из разложения следует разложение в целых числах: ар 2 кону взаимности Ы{а)Мф). Следовательно, возможны два слу четом по модулю простого числа р Следовательно, существуют х чая: Ма) MP) ИЛИ N(a) Nm р- такие что кр. Левая часть равенства раскладывается на простые множители в евклидовом кольце Z[/] Если первом случае а является обратимым элементом кольца Z[co] и число/? ассоциировано с Р, то есть — простой элемент этого кольца. Во втором единственным образом: (х + i){x кр. бы число р являлось простым элементом кольца Zr?], то один из сомножителей х + i или х случае элементы а и Р кольца Z[co] являются простыми и сопряженными. I де лился бы на/? как полином от i. Поскольку это не так, то число р раскладывается на множители в Следствие 5-4.7- Простое число /? _. 2 т . т2 (mod 6) представимо в виде/? а аЬ + b , где а,Ь^ Z[i]:p ар. Для доказательства достаточно раскрыть Определим норму числа а + Ы как N(o + Ы) . Т .4 . Т -Ч 2 . Т 2 ^ _ . скобки в представлении/? = (а + Ьсд)(а + Ьсд 2 ВО (а + bi){a N(aB) Ы) о + b . Справедливо равенст М(а)Мф). Комплексные делители числа /? являются простыми элементами кольца Z[/], поскольку из разложения Следствие 5-4-8- Простое число р представимо в виде/? = с + 3d , где с, J е (mod 6) разложение в целых числах: 2 аР следует 7V(aW(p). Сле- Доказательство. ставление неоднозначно: следствии 5.4.7 пред довательно, возможны два случая: Ма) о 2 ab + b 2 N(B) 2 или Ма) MB) /?. в первом случае а является обратимым элементом кольца Z[/] число /? ассоциировано с 2 bx-b) + ( 2 И ТО есть /? простои 2 а)( + ( 2 элемент этого кольца. Во втором случае элемен ты а и Р кольца Z[(l являются простыми и со пряженными. t- При этом числа а и b ие могут быть оба чет ными, так как р — нечетное число. Поэтому су ществует представление р'=(а + Ьсд)(а + Ьсд 2 Следствие 5-4.5. Простое число /? (mod 4) при котором а ^ 1 (mod 2), £) = О (mod 2). Тогда с представимо в виде суммы квадратов двух нату ральных чисел. учетом равенства со 1 + л/ получас м Теорема 5.4.6- Пусть со 1+ а + Ь 1 + л/ ЛГ V а + Ь J\ с 2 + 3J 2 9 J Простое рациональное число (mod 6) рас где с а кладывается на простые множители в Z[co]. 2 bll.d bll. b)i-b) + ( 2 Поскольку получаем те для же
87 значения с 2 И 2 ла» 2 2 5 ТО представление простого чис с + 3d единственно. Если для а 4^0 сравнение не имеет решений, то существует характер ц такой, что |11(йг) ч^ Имеют место также кубический и биквадра тичный законы взаимности [1]. Действительно, характеры порядка п образуют циклическую подгруппу 5.5. Суммы Гаусса и Якоби с образующей — образующая циклической группы характеров. Если бы для всех/ X (/7-1)/« , где е 2 w/( р выполнялось равенство J (а) 5 ТО из изомор Поле включает в себя мультипликативную и физма группы ¥р и группы характеров следова аддитивную группы. Для каждой из этих групп можно определить характеры. Мультипликативный характер конечного поло бы что существует элемент g € * р такой, что /1 а (mod/?). Пусть сумма характеров порядка п п-\ )1 ля Р Представляет собой гомоморфизм из равна S. Тогда Z и' («) Y\^\a) [i(a)S группы * р в группу « г{(^ШЬ) Xi^b) Значе У=о м Отсюда S 0. ниями характера являются корни степени из 1 то есть числа вида е 2 шт/{ j , Причем если Таким образом, N(x 2 1 + а образующая группы F. и ^ и Р g, ТО, полагая %(g) е '^шКр 5 получаем %(^) е 2nin/{p Со гласно теореме 2.3.4 группа характеров изо морфна группе ¥р . Единичным элементом пы характеров является характер %q: %о(а) груп для Все изложенное справедливо и для мультипликативных характеров расширенного конечного "^ элементов. При этом р просто за- поля из меняется на д. всех а * р Примером характера для поля Аддитивный характер поля ¥р представляет собой гомоморфизм аддитивной группы этого р является символ Лежандра. Теорема 5.4.1 показывает, что поля в группу комплексных корней степени р из Лежандра, отображение, задаваемое символом представляет собой гомоморфизм группы подгруппу квадратных корней из 1 группы С . Доопределим Аддитивный р в ш(а) т (а) е 2 niinal р характер {т). имеет вид а Аддитивные характеры образуют группу, изоморфную F^, с значение характера для нуля, единичным элементом щ(а) для всех а е р-> Если у 1^ Уо, то у(0) = О, и Хо(0) включая 0. Отметим, что Обозначим сравнения г" через МЫ" т (а) т а) . число решении а (mod/?) (без учета кратности). , то это сравнение всегда Характеры Шо и Хо совпадают, хоть и являют Если НОД(?г,/? имеет единственное решение. Если НОД(?г,/7 то это сравнение имеет d решений или ни одного решения в зависимости от того, является практике достаточно 1). ся элементами различных групп. Суммой Гаусса поля ¥р называется выралсение ^(bV)"^ "ExWvW (5.5.1) JceF ЛИ а вычетом степени На р рассмотреть случаи, когда п Для комплексного числа g(x, Vj/) = Re(g) + Im(e)f Теорема 5.5.1. N{x n Ух(^), где сумма положим I g(x, V) J^) 2 + Im(g) 2 X ~Xo берется no тем характерам, порядок которых де Теорема 5.5.2. Сумма Гаусса обладает еле лит п. дующими свойствами Доказательство. поле р существует п g(Xo, Щ) Р- корней степени п из силу изоморфизма группы характеров и группы ¥р существует ровно п характеров, порядок которых делит п^ включая единичный характер Хо- Если X ^ Хо, то g(x, Щ) Если \\f ^ 1|/о, то g(Xo, V) Если X ^ Хо, V ^ Vo, то I g-(x, V) Гр Для а сумма всех характеров, кроме еди Доказательство Если Хо Шо, то ка ничного, равна нулю. Посколы^ Хо(0) 5 то ждое слагаемое в правой части равенства (5.5.1) сумма характеров равна 1, что соответствует од- равно 1, а их сумма gCxo? Vo) равна/?. ному решению. Если Щ 9 %ч^%о, то сумма Гаусса пред Если для а^О сравнение имеет решение, то ставляет собой сумму мультипликативных ха а (modp). рактеров и поэтому равна нулю (см. доказатель ство теоремы 5.5.1). существует элемент о такой, что Тогда у(а) lib lib) lo(b)
88 Если Хо, Ц^^Щ. то сумма Гаусса пред также равна нулю. Если У^Хо, 4f^4fQ и \if\ — образующая цик лическои группы аддитивных характеров, то для а р X(^)g(bVj-X(^) Yli^a(^) jcgF р yx(ax)Vi(ax)-g(bVi)- xeF P Отсюда следует, что для ненулевых о все значения |g(x,Vo)| равны, так как Ыа)\ = 1. Кроме Теорема 5.5.3. Справедливы следующие ра ставляет собой сумму аддитивных характеров и венства. 2. ДХо, Хо) ДХо, Аъ Хо) 4. Если XX'^ Хо, то J(y, у') ^(bVi)g(x',V 1 ^(ХХ'. Vi) Доказательство. Утверждение 1 следует из определения единичного характера Хо- Утвер- доказывается аналогично утверждению ждение 2 теоремы 5.5.2. Для доказательства утверждения 3 заметим. что того. < g(x. а г{а 1 Мх, Vi) и g(bV Q г{а \ Мь^^З-хС'^Жь^!)- Перемножим эти две суммы: Аъг \ Тг{ф) Е гЧ{\ а)) Тг{с), a+b=\Ji4bQ а^\ СФ-\ где с аК\ а). Поскольку сумма характеров по всем с равна нулю, то J(x, X Для доказательства утверждения 4 рассмот рим произведение ^(Х, ^а )ё{Ъ ^а) ^ г{^Ш^'~ )ё{Ъ Vi ЖХ. Vi) Суммируя g(x.V^)g"(bV^) по всем ненуле вым а, получаем (р ~ l)|g(x, Vi)l • С другой стороны. g{l.^а)ё{Ъ^а) ^YjLxi^)liy)^ai^)"^aiy) X 1 у Е ?^(^)х( jv а у)- X у последнем выражении аргументы аддитив ного характера \\fa пробегают все множество зна чении от до при этом каждое значение встречается одинаковое число раз. Тогда Zv.(0 о. если а 9^0, и Ум/ДО р-> если / / а 0. Суммируя по ненулевым а, получаем ^(x,Vi)^(x'.ViH Z'^^^^Vi W 2Ly!{y)^iiy) X у yxWx'(3^)Vi(^+3^) Ух(^)х'(з^М(0 Х,У I X+y~t Если / О, то ^.г(^Шу)-Тг{хШ 1)Ухх'(х) = о, x+v=0 X л: так как хх ^ Хо- Если / ^ О, то Ух(->^)х'(з^)- Уха^)х'(/^) х^уЫ VA-V^\ liOi'it) Ух(и)х'(у)=хх'(ОЛьх') H + V=:l Таким образом. V- ^ я(х, Vi )я(х', Vi)=у ii'iOAi, х') Vi (О / -л. ^а Дь x'kto', vi)- у- S ^(5^' ^о )ё(.Ъ ¥й) = Z Z X(^)X(3^)5(J^, 3^)/' а X У У х(^)х(->^)/? р(р X Если подставить значения для норм гауссо вых сумм из теоремы 5.5.2 в выражение для суммы Якоби, то получим I J(x, х') I л[р- где 5(х, у) случае. Получаем еслил" Через суммы Якоби выражается число реше }\ и 5(х, v) = О в противном ний алгебраического уравнения от двух перемен Р{Р 1)и Я(Х, V) Ъ^)\ 1 Мх, V. )1 ных над Nip^+y^ конечным полем. Обозначим 1) число решений уравнения через Пусть X и мультипликативные характеры /+ 2 (5.5.2) поля ¥р. Суммой Якоби называется выражение в поле ¥р. Можно записать _п_ 4 - Аъ ^) Ti(a)4b). а '.f I. ^ ■"^ Мх ^ + v^ ЙГ+Й=1 Ул^( X 2 a)N(v 2 b). a+b=A
В9 где сумма берется по всем парам йг, £> е Fp таким. что а + b Поскольку N{x 2 1 + а , то Теорема 5.5.4. Число N решений уравнения п а. xf / I в поле ¥р выражается формулами /=1 -1^ 2 . 2 N{x' + у р-Т а 4- а + Ъ а а+Ь^} N пМ 4- УхК ^}^)-%п(^ ^ и )Л 1 ^••"fjLii) для Ь = 0: Jr'- ^-ш Две первые суммы равны нулю, поэтому число решений уравнения (5.5.2) определяется суммой Якоби для квадратичных характеров Щх 2 + У 2 Р + а о+/)=1 7V=;,"-4y(xi...xJ(%i(^r')...x.«')^(Xiv.. 9 и для Ъф^^ где суммы берутся по всем «-наборам характеров Хь •••, Хп таким, что / Хо ' х- 5^ Хо и г\---г п %о. Доказательство см. в работе [1] Применяя утверждение 3 теоремы 5.5.3, полу чаем а Уравнение (5.5.2) а+Ь^\ + решении, если р имеет р решений, если/? = 1 (mod 4) Аналогично, (mod 4), и р Щх^ + v^ = 1) У (Хо (^)+х(^)+%' (^))(Хо (Ь)+хФ)+%' т, a+h=] где кубический характер. В соответствии с теоремой 5.5.3 получаем: У Хо {^)%Ф) о+й=1 yii^)i4b) У Ф)1 1 (*) х( й+й=1 о+Ь=1 Тогда Мх 3 + 3 V 2 + 2 ЛЬ X) + Дх. 2 2 Поскольку 3 . уравнение + 2Re(J(y, у)) решений. 1)-,™ X +V 3 имеет и 2 + общем случае сумма Якоби может быть распространена на произведение нескольких характеров. Обозначим 5.6. Квадратичные числа и квадратичные формы 5.6.1. Кольцо целых квадратичных чисел Пусть К Qi-sfD] квадратичное расшире ние поля Q, то есть D не является квадратом це лого числа. Если записать D т 2 D\ где и сво бодно от квадратов, то QL Эле менты поля К называются квадратичными числами дискриминанта D. , то К называется бещественным Если D квадратичным полем; если _D < О, то X называет ся мнимым квадратичным полем. Соответствен но определяются вещественные и мнимые коль па цел ых квадратичных чисел. Свободное от квадратов число D называется дискриминантом. квадратичного поля.^ Далее под целым элементом квадратичного поля будем понимать целое над Z квадратичное число. Будем рассматривать кольца целых (над Z) квадратичных чисел дискриминанта D с единичным элементом. В таком кольце дискриминант может быть не свободен от квадратов [7], например, кольцо, образованное числами вида а + b-J а + 2bJ 1 . По определению элемент кольца целых квад ратичных чисел это корень полинома *^vXi ?'•'•» Хи J Ух 1 I • -Х и V* и h ti+...+t п 1 о 1 э-"э Хи ^ т,^ 1 л+...+/ =0 1 •X п п 2 х" + Ах + В, (5.6.1) где А. е и 2 4В D 2 т D . Корни поли нома (5.6Л) имеют вид - V — -5,., Выразим число решении уравнения с разде ленными переменными над конечным полем че рез сумму Якоби. 3 Если знак дискриминанта непринципиален, то поле К называют квадратичным, а его элементы квадратичными числами. - .
90 А±л[а 4В (5.6.2) Кольцо целых над Z квадратичных чисел дискриминанта D называется квадратичным порядком и обозначается Оо- Одно и то же квадратич- Из (5.6.2) следует, что целые квадратичные ное поле содержит различные квадратичные порядки, упорядоченные по включению. Например, числа могут иметь вид а а+ Ьл[в ? (5.6.3) квадратичными порядками поля Q[V2] ЯВЛЯЮТ с я кольца Жф] Z[Vl8] где а, b е Если числа а и оба четные 2 то Пусть D~m D\ где т и D г свободно от дробь (5.6.3) можно сократить на Числа квадратов. Кольцо Оа называется миксгталъным а + Ь4Ъ образуют кольцо. Выясним для каких порядком поля К ~ QK/)'], а коэффициент т значений D в знаменателе (5.6.3) стоит 2 (счита- кондуктором квадратичного порядка. ем, что хотя бы одно из чисел а или b нечетное). m^D Поскольку не может быть четным. то (mod 4). Если в (5.6.3) двойка в знаменателе не сокращается, то есть число т нечетное. то т (mod 4) и /) f D (mod 4). Сравнивая коэффициенты в (5.6.1) и (5.6.3) с учетом (5.6.2), получаем: а А. а^ + Dp Тогда коэффициент а должен быть нечетным противном случае, чтобы В было целым, коэф фициент тоже должен быть четным, то есть дробь (5.6.3) может быть сокращена). Тогда, что бы было целым, коэффициент b тоже должен быть нечетным. Нетрудно убедиться, что произведение квадратичных чисел а+ а Ьл[в и t а + ь'4о ? где все коэффициенты а, Z>, а\ г нечетные числа, равно: ар ad + bb'D + (ab' + db)4D Найдем для числителя вычеты по модулю 4 ad + bVD = 2 (mod 4), ab' + a'b = 2 (mod 4), TO есть числитель и знаменатель можно сократить на 2. Если числа а, b (или а\ Ь') оба четные, то, очевидно, произведение ар можно записать в виде (5.6.3). Таким образом, доказана следующая теорема. Аддитивная группа квадратичного порядка 2 Оо дискриминанта D^ т D' является двумерным модулем над Z. Пусть няемыи к П1 — элемент, присоеди для получения квадратичного по рядка, при этом т ^ при D 7^ 1 (mod 4) и \ + 4d т При D (mod 4). Тогда базис мо дуля имеет вид [1, ^,;,], то есть О^ = Z + Z^,„. Очевидно 5 что при D D выполняется включение On' 3 On. D Например, если D f ? D то 2 + 3 е О,у, но 2 + 3 ^О п Имеет место изоморфизм колец О/у/Ор Поскольку квадратичный порядок Оо содержит ся в поле К, он является целостным кольцом. Пример 5.6,1. Квадратичные поля, их целые элементы и базисы. Теорема 5.6.1. Целые квадратт1чные числа дискриминанта D имеют вид а + b-yJD при произвольном дискриминанте и а + ь4в при D (mod 4) и а (mod 2). Элементы поля QL-vTD] имеют вид Q + лГЬ Q hb^D Опреде Для квадратичного числа а сущест вует сопряоюенное чгюло а а лим норму квадратичного числа: Ма) аа Норма квадратичного числа является рациональ Замена D ■<— 4D позволяет все целые квадра- ным числом вида Db 2 норма целого квадра тичные числа записать со знаменателем этом D ^ 1 (mod 4) или _D = О (mod 4). При тичного числа является целым числом, при этом М(аВ) MaVV(p).
Например, норма целого квадратичного числа а + Ъ \ + Jd равна а +аЬ + D 2 (Г + аЪ + Ъ является симметрической функцией Единичную норму имеют в точности корни сте- Норма квадратичного числа позволяет задать на некоторых квадратичных порядках структуру евклидова кольца. Квадратичный порядок Ои является евклидовым, если для любых элементов 2 пени 6 из I: {±1, ±со, ±со }, где со 4- Для остальных значении дискриминанта D норма не является симметрической функцией. а,Р Оо существует элемент у е Оо такой, что Условию (/ + Db или а 2 + аЬ + 2»> <1 (5.6.4) удовлетворяют лишь а ±\Л случае D < О евклидовыми являются кольца Вещественные квадратичные порядки имеют целых элементов при D ? 11}. бесконечные группы обратимых элементов ? об Доказательство этого факта можно провести геометрически. Зададим на комплексной плоскости точечную решетку, состоящую из тех точек плоскости, которые являются элементами коль- пах уравнения Пелля х^ ца. Каждая точка имеет несколько ближайших к ладающих нормой ± I. Если е — обратимый эле мент, то е — тоже обратимый элемент для про . Нахождение группы обрати извольного п е мых элементов связано с решением в целых чис Dy 2 ±1. ней точек. Свяжем с точкой (О, 0) ее зону как Пример 5.6.2. Обратимые элементы. множество точек комплексной плоскости, которые расположены к ней ближе, чем к другим Для D обратимым является элемент точкам решетки. Неравенство (5.6.4) означает, что зона точки (О, 0) должна лежать строго внут- 4- ^ С нормой а также все степени этого числа и сопряженного с ним. Обратным к обра ри единичного круга. С ростом абсолютной ве личины дискриминанта зона точки (О, 0) растет. тимому элементу является сопряженный эле мент, умноженный на его норму. случае D> О евклидовыми являются кольца целых элементов при D е {2, 3, 5, 6, 7, 11, 13, 17, 21,29,33,37,41,57,73}. . Для 2л/т[2 D 12 обратимым является элемент с нормой а также все степени этого числа и сопряженного с ним. Обратным к обрати Группы обратимых элементов мнимых и веще ственных квадратичных порядков различаются. мому элементу является сопряженный элемент. Группа обратимых элементов вещественного Теорема 5.6.2. Группа обратимых элементов квадратичного порядка циклическая. Образую мнимого квадратичного порядка содержит четы- щая группы обратимых элементов называется ре элемента при D шесть элементов при фундаментальной единицей. Например, фунда D и два элемента при остальных значениях дискриминанта. Доказательство. Элемент мнимого квадра тичного порядка является обратимым тогда и толь ко тогда, когда его норма является обратимым эле ментальной единицей кольца Z[V2] является число 1 + V2 с нормой > г -^ ^i ■4 ' Л--ш.- ментом в Z, то есть равна l." Иными словами, об ратимые элементы являются комплексными кор 5.6.2. Идеалы квадратичных порядков нями из числа имеют вид случае D а + Ь общем случае идеал квадратичного порядка целые квадратичные может быть порожден несколькими элементами. симметрической функцией норму имеют только наборы а их норма задается с/ + b . Единичную например в кольце 2[л/ существует идеал +1, * и а (3, 1 + V 5), образованный двумя простыми эле ±1, соответствующие числам ±1 и 4- ментами кольца (см. пример 3.8.1). случае D целое квадратичное число имеет вид а + Ь 4- Теорема 5.6.3. Множество аЖ + Ж(Ь + Его норма где а. и (4а) D\ является 4 Обратимые элементы квадратичных порядков называют также единицами (не путать с числом 1). +л/^)/2, идеалом в Ojj. Любой идеал квадратичного по рядка О о может быть задан в указанном виде. Доказательство. Сначала докажем, что эле 5 Норма элемента мнимого квадратичного поряд менты образую!^ аддитивную группу в О D ка неотрицательна. Действительно,
92 {ас + d{b + y[D)l2 ) + {ae +f{b + yfD)/2 ) а(с + e) + id +f} (b + у/П)/2. Теперь покажем, что произведение элемента (4, 2 +2л/ 2J ? (2). Аналогично получаем другие разложения на простые идеалы: О о на элемент 21 лежит в 21. Пусть D (mod 4), (3) (3, 1 + 5), а (c + d^[D)/2 е О о э где с где 6 21иу атс+ Ьпс/2 + ndD/2 ар (mod 2), (А+b4d)I2 , (1 + л/ (2, 1 + V 5)(3, 1 + V 5), (2, 5)(3, 50. И amd + 4- bndll Кроме того, нетрудно убедиться, что каждый + ПС 12 Тогда можно записать из четырех указанных простых идеалов при воз аА' +В{Ь + 4о)12. Покажем, ЬВ)12а е что t {А ведении в квадрат дает главный идеал. Напри Z, рассмотрев сравнение по модулю мер, (2, 1 + л/ 2 4а: ЪВ (mod Ad). Bb bnc+ ndD Поскольку 2 nd bnc 2 D (mod 4a), 2 )nd TO (2, 1 + V 5) 2 (2). Действительно, 4 + 2л/ (4, 2 + 2л/ 5). (mod Ad). Аналогично рассматривается и случай _D = О (mod 4). Осталось показать, что любой идеал может Все элементы, порождающие этот идеал, де лятся на 2. Разность двух последних элементов ? образующих идеал, дает 6, и (4, (2). быть представлен в виде суммы идеалов aZ + Z(Z) + 4d)I2 . Пусть D ^ 1 (mod 4). Аддитивная подгруппа кольца Оо как двумерного Подмножество рациональных чисел, знаменатель которых не делится на заданное простое число /?, образует кольцо Z. Идеалы кольца имеют вид {pR^p^R^ ...}. Поэтому для любого модуля порождается элементами вида (а, ф + 6')/2), где а, К г . Покажем, что если главного идеала (р) кольца Z существует кольцо р, состоящее из рациональных чисел, знамена- эта подгруппа совпадает с идеалом 21, то г тель которых не делится на р (такие кольца на Потребуем выполнения условия ар 21, если зываются дробными идеалами). Тогда St., а О о и 21. Положим а = (с + d^JD) 2, {Р\ и (р)21^,. Поэтому можно сказать, что am + n(b + b'4D) 2. Тогда у ар где-Л {А + b4d)I2 , атс+ Ьпс/2 + nb'dD/2 viB~amd+ bndl2 + + nb'c/2. Запишем у = аА' + В'(Ь + Ь'4Ъ)/2. Veil (без на- 1). То- идеал 21,5 является обратным к идеалу (р). ситуация справедлива Аналогичная и для квадратичных полей: г называется дробным ловие г выполняется, если ? г рушения обпщости можно положить гда любой идеал может быть представлен в виде аЖ + Ж(Ь + 4о)/2. Теорема 5.6.4. Каждый идеал кольца целых квадратичных чисел может быть единственным образом представлен в виде произведения про- с точностью до обратимых элементов стых идеалов. Доказательство см. в работе [6]. Пример 5.63. Разложение на простые идеалы. идеалом квадратичного порядка O/j, если существует такое d ^Ж^ что dOi' = 0]j. Теорема 5.6.5. Дробные идеалы квадратичного порядка Оо образуют группу относительно операции умножения идеалов. Единичным элементом группы является кольцо Оо. Доказательство см. в работе [6]. Таким образом, в кольце целых квадратичных чисел разложение на простые идеалы однозначно случае D > О желательно учитывать влияние бесконеч ной группы обратимых элементов). Нормой 7V(2l) идеала 21 квадратичного поряд Неоднозначность разложения на простые каО D является порядок факторгруппы 0/У21. множители в кольцах числовых полей пропадает Норма идеала задает гомоморфизм из муль при переходе к идеалам. Так, возвращаясь к типликативнои полугруппы идеалов в мультип примеру 3.8.1, получаем однозначность разложе ния идеала (2) на простые идеалы в Z[v 51: (2) (2, 1 + л/ 5)(2, ликатнвную полугруппу Ж : ЩшВ) "= ЩЩЩ^У Поэтому из равенства идеалов 21 = ШС следует равенство норм М{Щ = N(^)N{(t). В частности. Действительно, идеал с простои нормой является простым. Норма идеала 21 поля К может бьггь определена (2,1 + (4, 2 + 2л/ ^ 2л/ 6). с использованием группы Галуа: ДГ(21) где автоморфизм ст заменяет vD на 21 а(21). л/^. Но (4,6) (2), И (2, 2а) (2) для любого Простое рациональное число р при перехо а 0/> Поэтому де от ^ к квадратичному порядку может оста
93 ваться простым, раскладываться на простые содержащий идеал Ш&. Умножение классов множители или разветвляться. Соответственно, главный идеал (р) является простым, раскладывается на множители, если (р) = фф, где идеалов квадратичных порядков коммутативно и ассоциативно: АВ ВА ? А(ВС) (АВ)С. Единртч ным классом является класс, содержащий главный сопряженные простые идеалы, и разветвляется, идеал. Пусть идеал 21 соответствует классу А и если (р) == ф . Пусть D — дискриминант квадратичного порядка. Если выполняется равенство аш главный идеал. Тогда класс В, содержащий D ? КР D или VP D О, ТО Кр простое идеал Ш, является обратным к классу А. Таким образом, классы идеалов квадратичного порядка Оо образуют абелеву группу классов С\{Оо\ и эта ! число р, соответственно, остается простым, рас клады вается на сопряженные множители или разветвляется. Например, в кольце Z[v-2] идеал (5) остает ся простым, при этом фуппа конечна, поскольку каждый класс А содержит идеал с нормой, меньшей чем д/| Z) |, где D — дискриминант квадратичного порядка [6]. Классы идеалов группы С1(Оо) представлены идеалами, определенными с точностью до главно- 1. Идеал (3) рас- го идеала. Поскольку идеалы 21 и (a)2t лежат в кладывается на множкгели: 3 (l+V 2)0 2), одном классе, естественно задать класс идеалом с минимальной абсолютной величиной нормы (та- при этом 1. Идеал (2) разветвляется: кои идеал всегда существует, поскольку в под множестве натуральных чисел существует наи меньшее). Назовем идеал класса приведенным^ 2)(V 2), при этом если абсолютная величина его нормы минимальна. Заметим, что произведение приведенных Назовем два дробных идеала 21 и Ш квадра идеалов не обязательно дает приведенный идеал, поэтому после умножения идеалов необходимо выполнить операцию приведения (см. п. 7.13). тичного порядка О D эквивачентными (21 «), если существуют ненулевые элементы а, р g Ои такие, что oSl = рШ. Поскольку (а) = аО^, все ненулевые главные идеалы а(В) эквивалентны Это Р(а) [3]. отношение разбивает криптографии представляет интерес раз ложение простых чисел на множители в мни мых квадратичных порядках. Простое число может раскладываться в мнимом квадратичном все множество порядке только на сопряженные множители идеалов на классы эквивалентности. Число классов эквивалентности называется числом классов поля К (или кольца О^). Поля К при D Если D Ф 1 (mod 4), то ВЪ . Такое раз ложение можно найти с полиномиальной слож ностью (см. п. 7.8). Если D (mod 4), то раз 19, 43, 67, 163 имеют число ложение имеет вид классов, равное а каждый элемент в макси мальных порядках O/j имеет однозначное разложение на простые множители. Число классов мнимого квадратичного порядка On может быть вычислено со сложностью ал-Ъ . V^ ал-Ъ 4В J J и 0(Д1ое/)) 2 [8]. Ар (2а + Z) + Ьл[0)(2а + b ъЩ с 2 2 Dd\ Кольцо главных идеалов обладает числом классов 1. Действительно, если (а), Ш (Р), где с а то, положив , получаем Ш. Число клас 2а+ Ь. Поэтому число Ар можно представить в виде указанной разности (суммы для отрицательного дискриминанта). ...-,..- сов показывает, насколько данный идеал отстоит от главного ршеала. Если h — число классов поля 5.6.3. Квадратичные формы л, то для каждого идеала 21 идеал главным [6]. h является Связь идеалов и квадратичных форм над следует из выражения для нормы идеалов. Если Класс, содержащий идеал 21, будем обозна (а. В) (ои + ру) длях, у G Z, то чать А. Классы идеалов можно умножать. Определим ЩЩ (ои + ру)(ои + ру) ах 2 2 + Ьху + су , произведение классов идеалов АВ как класс, где а,Ь,с&
94 Пусть Дх, y)~cD? + bxy + су^ = (а, b, с) квад Например, для дискриминанта -3 существует ратичноя форма над с дискриминантом единственная приведенная форма (\1, 1, 1); для Л 2 Аас [2]. Тогда Z) (mod при четном дискримршанта -4 единственная приведенная и Л (mod 4) при нечетном Ъ: Любое число D е. указанного вида является дискримршантом квадратичной формы вида (mod 2). форма (1,0, I). Однако для больших по абсолютной величине дискриминантов приведенная форма не единственна. Для Л = -15 существуют две Л (mod 4), Л (mod 4) Л приведенные формы (1,1,4), (2,1,2). Л 71 существует семь приведенных Для форм: (1,1,18), (2, ±1,9), (3,±1,6), (4, ±3,5). Число Квадратичная форма положительно опреде- классов положительно определенных квадратич- лена^ если а и Л < 0. Будем рассматривать ных форм дискриминанта Л совпадает с числом положительно определенные квадратичные фор- классов идеалов мнимого квадратичного порядка мы. Кондуктор квадратичной формы дискрими- дискриминанта нанта Л — такое наибольшее натуральное число 0{J\ Л |) [6]. 7W, ЧТО существует квадратичная форма с дис- Л и асимптотически равно криминантом Л/г??^ . квадратичной формой/можно связать сим Каждый класс эквивалентных квадратичных форм содержит единственную приведенную квадратичную форму. метрическую матрицу М Если положительно определенная форма с опреде (а, Z), с) нормальна и а< 4Ъ лителем DjA. Рассмотрим 5 ТО / является произведение матрицы приведенной [6]. и Щ\ Щг Щ\ Щг) G SL2(Z) на вектор (х, у) Для нормализации квадратичной формы (а, Z), с) нужно выполнить следующие действия: а и • (х, у) = (г/цХ + г/^У, U2\X + Ujzv). вычислить S 2а ? Тогда можно определить функцию/^/ • (х, у)) Положим (fU)(x, у) = del и-ли (^. у))' положить 2 (а, b + 2sa, as +bs + c\ Назовем квадратичные формы fug эквива лентными, если существует матрица U е SL2(Z) (а, b, с) нормальна и не приведена, то Если/ нормализация квадратичной формы (с. с единичным определителем такая, что Нетрудно заметить, что дискриминанты экврша лентных квадратичных форм совпадают. Ука Z),a), полученной применением отображения Г, даст прртведенную форму: занная эквивалентность разбивает множество квадратичных форм на классы. Выполнить (j<r-- нормализация (/)). Пока (а', Ь\ с') не приведена, выполнять: Группа SL2(Z) порождается нормализация (с', -Ь\ а')). парой матриц и (см. пример 2.2.2). Тогда Пример 5.6-4 Приведение квадратичной 4 Е. fl п , JS (с, ~Ь, а\ формы. Пусть/=(10, 101,256) — квадратичная фор ма дискриминанта -39. Выполняем нормализа 10 101 JT /7 2 (а, b + 2ап, ал +Ьп + с). цию: S 20 5;/ (10, 1, 1). Эта форма Форма (а, Z), с) называется норлшлъной, если не приведена. Выполняем нормализацию формы а<Ь<а, Нормальная форма называется приве- при а = с. Приведенная денной, если а<с и (1, 10): + 1 S форма/называется главной, если 1,/ (1, 10) приве \.К 2 D денная форма. V По теореме 5.6.3 идеал квадратичного порядка может быть 2 представлен как двумерный (поскольку b^^D (inod 4), третий коэффициент модуль, одна из координат которого веществен формы является целым). Других приведенных пая, поэтому любой (целый) идеал Ол может быть форм с коэффициентом а не существует. представлен двумя образующими (а, р), а дроб
95 ный идеал On — произведением целого идеала на рациональное число. Если аир взаимно просты в может быть взаимно од- Пусть аЖ + Ь + лГо \ 0/J, то идеалу (ос J дробный позначно сопоставлена квадратичная форма. Деи ствительно, норма идеала задается квадратичной идеал, а, b ^ и формой: ЩЩ StSt Ах 2 ■л + Вху + Су~, где X, пробегают все множество Ж. Поскольку StSt, G Q. Тогда его норма равна а. Соответствующий целый идеал имеет и его норма равна а. Поэтому идеал мнимого квадратичного порядка с коэффициентом а является обратимым целым идеалом. то то А,В,С (mod7V(2t)). Тогда можно опреде- есть единичным элементом группы классов. лить квадратичную форму ,£ л (а,Ь,с) -1 щщ' щщ' щщ На множестве квадратичных форм одного и того же дискриминанта определена коммутативная операция композиции/з ^fifi, которой соответствует операция умножения идеалов. Пусть квадратичной форме 2 2 + а2Соу соответствует идеал I а^х + Ьху + (аи X), форме 2 2 а2Х +bxy + aiCoy 2 СО ответствует идеал 2 (а2, Х), где Ь + лГо Тогда идеалу 3 I 2 (aiOj, X) ' > л Ч^ Простой идеал ф g Оо мнимого квадратич 4 I ного порядка имеет вид рЖ + К+^ , где ■^ к ,- простое число такое. Л что ^ и Ь. =л[о(то<14р),0<Ьр<р. р 5.7. Алгебраические числа Обобщим понятие целого квадратичного чис ла. Назовем целым алгебраическим числом ко рень некоторого х + а \Х . приведенного + оо из кольца Ж[х]. полинома соответствует форма i ■»''-- \^ - 2 2 3 а]а2Х + Ьху + Соу . По аналогии с приведением квадратичных форм можно выполнять приведение идеалов в группе классов мнимого квадратичного порядка. Для этого нужно соотнести идеал (а,Ь) аЖ + Ь+лГо J мнимого квадра тичного порядка дискриминаргга Z), где eQ, С положительно определенной квадратичной формой (а, Ъ^ с) этого же дискриминанта, операцию композиции квадратичных форм с операцией ум- Пример 5.7.1. Целые алгебраические числа. Все числа из Ж являются целыми алгебраиче скими. Числа 1 + ? .4i . ^ это 2 корни полиномов X + 1, X 2 х-н 1, X 4 2 Юх" + соответственно и поэтому являются целыми ал гебрартческими, но числа 5 таковыми не являются. Если допустить, что коэффициент при х и ПО линома Дх) может быть произвольным ненулевым целым числом, то корень такого полинома называется алгебраическим числом. Поделив/(^) тичных форм — с операцией приведения идеалов. ножения идеалов, а операцию приведения квадра- на старший коэффициент, получаем, что алгебраические числа являются корнями полиномов Квадратичные формы позволяют лучше уяс- из Q[x]. Поэтому каждое рациональное число нить структуру групп классов мнимых квадра- является алгебраическим. тичных порядков. Пусть aZ + Z)+V^ и aeSt, а. ~ ах л-у b+Jb Свяжем с идеалом 2 2 квадратичную форму дх, у) = ах + Ьху + су , где 2 Л с Аа Тогда норма элемента а равна Жа) аа а/(х, у). Алгебраическое расширение К поля Q назы вается числовым полем (или полем алгебраических чисел). Кольцо О^ целых элементов числового поля называется кольцом целых алгебраических чисел. Согласно теореме о примитивном элементе, каждое числовое поле имеет вид Q[a], где а корень неприводимого полиномаДх) g Z[x]. Кольцо Ж\х\ обладает однозначным разложением на множители. Если Дх) g Z[x] — полином
96 с корнем ос, то а является корнем хотя бы одного из неприводимых делителей полинома Дх). Теорема 5-7.1- Алгебраическое число а является корнем единственного прршеденного неприводимого полинома/(х) G Q[x]. Если а является Пример 5-7-2- Норма и минимальный полином алгебраического числа. 1. Сопряженными с целым алгебраическим числом a = a + bJD. +с ^ 2 ЯВЛЯЮТСЯ числа другого полинома g(x) е Q[x], то корнем Лх) I g(x). Доказательство. Предположим, что существует полином g(x) е Q[x] с корнем а и fix) не a+bJo^ а ЬЖ + сЖ, Произведение четырех сопряженных чисел рав делит g{x)- Кольцо QM евклидово, поэтому HoN(a) = a^ + b^ + c 4 2i2 2 2 2 2 lab^Dx - 2aVA - Ib'c'D.D. НОД(/(х), g{x)) = 1 и существуют полиномы ф). Соответствующее числовое поле получается при Ь(х) G Q[x] такие, что а(х)/{х) + b(x)g(x) Под становка в последнее равенство а вместо х дает противоречие. Следовательно, Дх) |g-(x). Полином Хх) из теоремы 5.7.1 определен однозначно числом а и называется митшачъным ал полиномом числа а. Если deg(/) = w, то а — гебраическое число степени п. Полином Ях) яв ляется минимальным для всех своих п корней. Пусть К— расширение степени п поля (Хо, 5 (X и п~\ базис ^ над (D. Норма N{a) элемента а представляет собой гомоморфизм к Q, сохраняющий непод вижными элементы поля Q , и вычисляется как определитель матрицы (%) (см. п. 4.3.3). След Тг(а) элемента а представляет собой гомоморфизм аддитивных групп A^-Q, сохраняющий неподвижными элементы из Q, и вычисляется как сумма диагональных элементов матрицы {а и Пусть ао, ..., о,^1 — автоморфизмы числового поля К^ сохраняющие неподвил<ными элементы из Q. Образ элемента а ^ К под действием изо морфизма Gi обозначим через а^'\ Элементы а называют сопряэюеннъши с а. Тогда (' /7-1 Ща) а (О /7-1 5 Тг(а) а С) /=0 ;=0 соединением одного элемента л/^ 2 Минимальный полршом числа q равен Лх) (х + М + D, )(х + х(х D,)ix X 4 2( Я + D 2 + (Z) 2 1 ' ^2/-^ . v-^i -^2 АГ- Норма мультиквадратичного числа а 1=А а I равна произведению сопря женных чисел: и Ща) «0 + Tj ,«, 5 jM~in /=1 где произведение берется по всем (/ь ...,//7). Полагая Dq " наборам можно получить выражение для нормы в виде элементарных сим- метрических функций от а, Df. Например, для п получаем: О 3 3 Ma) 8 3 a'D' I I Aa 6 0 2 4 ;=1 . . 1=1 a. D I AalTa^D^+AalTa^a^.D.D. + J J i=\ '>j 2 +4< X a^a^.D^D 2 . / . 4«o I 1Ф1'Фк а^ЛЦОр, Мршимальныи полином fix) G Q[x] числа a раскладывается на линейные множители в нор мальном расширении поля Q: /7-1 ^ '■rf- Rx) П( X а (0) /=0 и-1 Тогда коэффициент при х равен -Тг(а), сво бодный член равен {-\fN{a). Нетрудно заметить, что если над мультиквад- ратичным полем К норма числа а е К равна N}^a), то над квадратичным расширением L поля К норма этого числа будет равна Ni(a) = Nidcif. Пусть ,., + Jd и и К Q[E]. Мини мальныи полином для примрггивного элемента, задающего мультиквадратичное расширение К^ и равен f(x) х + Tj / , где произве Л^НЛ} /=1 дение берется по всем 2" наборам (/т, ...,/„). По 6 Примитивный элемент поля определен неоднозначно, например, Q[a, р] = Q[a, ар]. Разным примитивным элементам соответствуют разные минимальные полиномы. этому степень мультиквадратичного расширения равна 2". V-^ ^ -- --■к ,^ к» -г_^ f- Ъ p-f-ih Пусть (K:Q) = 2иОк кольцо целых элемен то в поля К, Если а ^ К^ то существует число
97 a € такое, что аа g Ок. Действительно, суще- имеет один вещественный и два комплексных 7 И-1 . . 7 - „, ствует полршом «-та . + й о с рациональны- корня, то ранг группы равен 1. Если расширение ми коэффициентами, для которого а является корнем. Умножив этот полршом на наименьшее общее кратное знаменателей коэффициентов получим полином с целыми коэффициентами. ,— целые числа. Поэтому можно считать, что Умножим этот полином на и-1 а) п-\ + ь п-2 и-1 а) и-2 и-1 и-2 + ... +Ь О и-1 п-2 И п la целое алгебраическое число. Для базиса осо, ..., a„-_i е К определим дис кргшинант А(ао рицы (Тг(а,а,)). 5 5 а„-1 как определитель мат лежат в Z. Поэтому все а, являются целыми ал гебраическими числами и А(ао, ..., a„_i G Базис поля К над Q, как и в случае квадратичных чисел, может быть выбран неоднозначно. Целые элементы поля К образуют w-мерную решетку. Любой набор линейно независимых векторов, проведенных из начала координат в точки решетки, образует базис, при этом каящый вектор содержит лишь две точки решетки, включая начало координат. Определим минимачьный базис ао,..., а^-ь для которого абсолютная величина дискриминанта А(ао, ..., a^^i) минимальна. Теорема 5.7.2. Пусть К— поле алгебраиче ских чисел с минимальным базисом и-1 Каждый идеал 21 кольца целых алгебраических чисел поля К может быть представлен в виде Zao + + Za п-\ последовательными мнимыми К1^ задается п квадратичными расширениями присоедршением элементов ^] 5 ••••) -у! D П ' ТО степень непри водимого полинома равна 2", все корни ком Тогда плексные и ранг группы обратимых элементов равен Т Кольца целых алгебраических чисел обычно не обладают однозначным разложением на простые множители. Например, в кольце целых элементов поля Q[ . справедливы равен Норма и след целого алгебраического числа ства . 2 Однако однозначность разложения появляется при переходе к идеалам: любой идеал однозначно представим в виде произведения простых идеалов (следовательно, главный идеал, образованный данным алгебраическим числом, однозначно представим в виде произведения простых идеалов). Понятие нормы идеала, введенное для квадратичных полей, переносрггся и на числовые поля. Пусть К— числовое поле, обладающее коль цом целых О Kd ЩОк множество идеалов кольца Ок, L — алгебраическое расширение поля к. обладающее кольцом целых О ь ЩОд множество идеалов кольца О^, и N(a) — норма элемента а е L в К. Тогда норма задает гомоморфизм мультипликативных групп идеалов , при этом диаграмма гомомор- Ы(0 L И ЩОк физмов на рисунке 5.1 коммутативна [8]. Теорема 5ЛЗ. Каждый ненулевой идеал кольца целых алгебраических чисел может быть однозначно представлен простых идеалов. в виде произведения Доказательство теорем 5.7.2, 5.7.3 см. в ра ботах [1, 5]. Группа обратимых элементов кольца О к в общем случае свободная, не циклическая, но конечно порожденная. Число образующих (ранг) группы обратимых элементов определяется следующей теоремой. Теорема 5.7.4. Пусть полином, задающий 2s расширение К1^^ имеет г вещественных и комплексных корней. Тогда ранг группы обра тимых элементов кольца Ок равен r + s Доказательство см. в работе [8]. Например ? если К = ^\оЛ и а задается мрши мальным полиномом, который имеет три веще ственных корня, то ранг группы обратимых эле * I d(Oi N N ЩОк У - Рис. 5.1. Коммутативная диаграмма гомоморфизмов групп идеалов Диаграмма рисунка 5.1 утверждает равенство МЩИ{Щ. Здесь О L отображается на все кольцо Ок. При этом достаточно определить норму только для простых идеалов. Если числовое поле К нормально над Q, то норма идеала 21 может быть вычислена с использованием группы Галуа Gal(^Q) [8]: Nm) \\а{Щ СЩКЮ) Норма главного идеала (а) равна |7V(a)|. Приведем без доказательств ряд результатов 5 ментов равен 2. Если минимальный полином доказанных в работе [8].
Теорема 5.7.5, Каждый простой идеал кольца О к максимален. Теорема 5.7.6. Число классов h числового по ля к конечно, для любого вдеала 21 кольца Ок и идеал 21 является главным. вого поля К^ (L:K) = т. Тогда . Если р — простой идеал в Ок, то N(pOj т Если то Мф)а простой идеал в Oi и ^пОк, CTGGaKL/AT) Целые квадратичные и алгебраические числа анализе криптографических используются при алгоритмов с открытым ключом, основанных на Теорема 5.7.7. Пусть L — расширение число- задачах разложения, нахождения индекса в мультршликативнои группе конечного поля, на хождения индекса квадратичного поля. в группе классов мнимого Упражнения к главе 5 Покажите^ что мультиплрткативная функция 10. *При каких условиях простое число раскла- полностью определяется своими значениями дывается на простые множители в мнимом на степенях простых чисел. Восстановите по китайской теореме об ос- квадратичном кольце с числом классов 1? татках число, сравнимое с по модулю 6 и с 3 по модулю по модулю с2 Покажите что уравнение X 1 3 + 3/+13 + j?+x^ + x^ + неразрешимо в целых числах Найдите корни уравнения + х^ + х'^ = ОвполеРз,. Символ Лежандра является квадратичным характером группы ¥р. Пусть п нечетное составное число. Является ли символ Якоби квадратичным характером группы (Ж/пЖ) ? Покажите, что кольцо евклидово, и найдите его обратимые элементы. Разложргге число 17 на множители в кольце и покажите, что эти множители про стые. Для каких простых р числа -3, 6, 21 будут квадратичными вычетами? Покажите, что — целое алгебраическое число, и найдите группу Галуа для числового поля, полученного присоедршением этого числа к полю Q. Является ли условие fD необходимым и VP достаточным для разложения простого числа в евклидовом квадратичном кольце дис- 11 криминанта Z)? Покажите, что имеет место изоморфизм ад ДИТИВНЫХ групп OofOjn^o 12. Является ли Ощ^п идеалом в О/^ 13 Какова наименьшая натуральная степень, в которой идеал (7, ным в кольце Z[v iW 27) является глав 271? 14. Что собой представляет кольцо целых эле ментов поля разложения полинома х + 2? Выберите какой-нибудь неглавный идеал этого кольца, ts какой степени этот идеал станет главным? 15. Покажите, что в зависимости от вычета дис криминанта D по модулю 4 норма целого квадратичного числа равна 2 а Db 2 или а 2 + ab + b 2 D)/4. Литература к главе 5 Айерлэнд к., Роузен М. Классическое введение в современную теорию чисел. М.: Мир, 1987. Боревич З.И., Шафаревич И.Р. Теория чисел. М.: Наука, 1985. Ван дер Варден Б.Л. Алгебра. М.: Наука, 1979. Hay Виноградов И.М. Основы теории чисел. М.: ка, 1981. Кэртис Ч., Райнер И. Теория представлений конечных групп и ассоциативных алгебр. М.: Наука. 1969. Buchmann J. Algorithms for binary quadratic forms //www.cdc.informatik.todarmstadt.de/~buchmann/ AlgorithmsForQuadraticForms.ps. Cohn H. A Second Course in Number Theory J. Wiley & Sons, Inc., 1962. Milne J.S. Algebraic number theory (Lecture notes) // www.math.lsa.umich.edu/~milne/.
Глава 6. ЭЛЕМЕНТЫ алгебраической ГЕОМЕТРИИ ЭЛЛИПТИЧЕСКИЕ КРИВЫЕ Алгебраическая геометрия изучает геометри- ется конечным числом полиномов/i, ...,Д). По ческие объекты, задаваемые алгебраическими этому каждый идеал определяет некоторое ал уравнениями с коэффициентами из некоторого гебраическое многообразие [7, 8]. поля, и тесно связана с алгеброй, теорией чисел, В случае п I аффинное пространство назы- топологией. Идеи и методы алгебраической гео- вается аффинной плоскостью^ а алгебраическое метррш и теории алгебраических кривых оказа- многообразие, идеал которого образован оди лись плодотворными не только в прикладном ночным полршомом,— (плоской) ачгебраиче плане (криптография), но и при решении фунда- ской кривой? Степень полинома, задающего кри ментальных проблем математики. Например, в вую, называется степенью кривой. 1995 г. с использованием теории эллиптических кривых была доказана великая теорема Ферма: не существует целых чисел X, 7, Z таких, что при п выполняется равенство Z" + У" и Эллиптические кривые перспективных инструментов один для из самых построения криптографических алгоррггмов. Кроме того, аппарат теории эллиптических кривых оказывается полезным и при анализе криптографических алгоритмов, основанных на задачах разложения и дискретного логарифмирования в конечном поле. Пример 6.1.1. Алгебраические многообразия и их ршеалы. 1. Все аффинное пространство А {К) совпада ет с множеством нулей нулевого идеала (0). . Полином ах + Ьу + с, где а ^ О или fe ^ О, за дает прямую на аффинной плоскости. 3. Точка (Хт, ...^Хг) аффинного пространства задается набором п линейно независимых линейных уравнении. 4. Пустое множество является алгебраическим многообразием, заданным полиномом Ох + 6Л. Аффинные алгебраические многообразия Пусть К— поле. Аффинным п~мерным про странством A"(jK) над К назовем множество то чек {Р (Xi 5 ^ X п G /Г ^ значения х\ ^ ^ X п на I зываются аффинными координатами. Аффинное ачгебраическое мносисество это подмножество аффинного пространства, на котором обращаются в /ь ...,Ае K[xi нуль полиномы X {Ре К" I (р) 5 5 к (р) 0)}. Если I ? из этих полиномов построить идеал Для алгебраического многообразия как множества общих корней нескольких полино МОЕ ИЗ K[xi^ ..., х„] можно определить идеач Этот ршеал состоит из всех полиномов кольца АТх] ? •? X и ? обращающихся в нуль в ка ждой точке многообразия V. Множество поли номов из 3{V) действительно является идеалом, так как если/и g— полиномы, обращающиеся в , то полиномы /± g тоже обращаются в на на Кроме того, для h е. К\х\ ? хЛ полином/й всюду равен О на V. Соответствие {алгебраические многообра (идеалы кольца К[х\ ЗР1Я} биекцией: V{^{V)) объяснить тем ? • ? X и не является что идеалы но 3{V{J)) ^ J. Это можно определяют и 5 ТО множество нулей полиномов / одно и то же алгебраическое многообразие 5 НО совпадет с множеством нулей всех элементов идеала 3. Поэтому алгебраическое многообразие различны между собой. Пусть алгебраические многообразия I и 2 F(U) можно охарактерр1зовать идеалом J. При задаются идеалами 3\ и З2 соответственно. Тогда этом V{3) = F(T) для w G >0 Согласно теореме 3.10.1 каждый идеал кольца Щх, ? ? X и конечно порожден (то есть определя объединение пересечение I lU п 2 задается идеалом 'ЗхЪ 5 а 2 идеалом Ui + J2. Поэтому 2 I Поскольку алгебраическая кривая — множество Алгебраическое многообразие иногда называют нулей полинома Дх, у\ говорят^ что она задана урав- апгебраическим множеством. нением/ 0.
100 можно ограничиться рассмотрением многообра- рассматриваться над расширением поля ^ зий, заданных простыми идеалами. Такие много- пример, над его алгебраическим замыканием. образия называются неприводимыми. Неприво- на по димая алгебраическая кривая задается неприво димым (над алгебраическим замыканием К ля К) полршомом из кольца К\х^ у\. Рассмотрим прршеры алгебраических кривых. 6.2. Проективная плоскость и проективное пространство 1 Аффинная прямая А {К) над полем К пред Пример 6Л.2, Алгебраические кривые. . Алгебраическая кривая, заданная полино ставляет собой поле К. 1 Проективной прямой Р {К) над полем К назо мом Ах. У) {ху+ 1)(х^+/ + вем множество пар {(X, Y) ^ К \ (О, 0)} с эквива лентностью (X Y) - {аХ^ аУ), если а е К*. ~ 7^ 5 Полином J(x, у) раскладывается на множите ли, поэтому алгебраическая кривая является объ единением кривых ху + и X V . Если то каждая точка (X, Y) е V\K) эквивалентна точке (х. 1) аффинной прямой. Но на проективной прямой есть точка вида (X, 0), не соответствующая никакой аффинной точке. Эта точка Вместо этой кривой можно рассмотреть две более простых алгебраических кривых, задаваемых 00 называется бесконечно удаченной. Поэтому неразложимыми делителями левой части уравнения. Таким образом, изучение алгебраической кривой сводится к изученрпо ее подмножеств, задаваемых нулями неприводимых полиномов. 2. Алгебраическая кривая, заданная полино- I {К) I А\К) U {Р 00 2 Проективной плоскостью Р (К) над полем К назовем множество троек {(X, Y^Z) еК^\ (О, О, 0)} с эквивалентностью (X 7,2) - (аХ, aY, aZ), если MOM а ^ к. Здесь X, 5 проективные координаты. Лх.у) X 2 ху + /. Свяжем аффинную плоскость с проективной. Полином J(x, у) неприводим над Q, и кривая Полагая х X .У для Z ^ о, получаем биек состоит из одной точки (О, 0). Однако при пере- цию меи<ду множеством точек (х, у) аффинной ходе к полю Q[V полршом Хх, j^) раскладыва плоскости и подмножеством точек (х,у. про ется на множители: ективнои плоскости. Однако на проективной X 1+л/ N Х + \ J\ J ПЛОСКОСТИ есть точки с нулевой Z-координатой, которые не соответствуют никаким точкам аффинной плоскости. Прямые на проективной плоскости задаются линейными Поэтому данная алгебраическая кривая однородными полиномами над аХ-^ bY+ cZ. Проективная прямая, заданная алгебраически замкнутым полем является объе- уравнением Z динением двух прямых. «Непохожие» полиномы 4 4 х^+/ + р называется бесконечно удаченной. Точки этой прямой называются бесконечно и удаченными. Поэтому {К) А\Ю U РЧЮ, где + 3 определяют над R одно и то же пус- «добавка» Р (К) соответствует бесконечно уда тое многообразие. Однако при переходе к алгеб- ленной проективной прямой. раически замкнутому полю lu такая неоднознач ность исчезает. Все три проективные координаты равноправны. Поэтому в качестве аффинной плоскости. Прршеденные примеры показывают, что ино содержащейся в проективной плоскости, можно гда целесообразно рассматривать алгебраические рассматривать плоскости с координатами многообразия над алгебраически замкнутым по- X 5 лем. Алгебраическую кривую С, заданную уравне нием с коэффициентами из поля К^ будем обо при Z ^ О, X 5 при 7^0 т X Т X при По аналогии с проективной плоскостью можно значать С/К\ алгебраическую кривую, точки ко- определить w-мерное проективное пространство торой лежат в К, будем обозначать С(К). п Даже если уравнение fix^y) , задающее кривую С, имеет коэффициенты из простого по- G X {К) и+1 как множество точек {(Хь ...,X+i) ^ {О, О, ...,0)} с эквивалентностью (Хь ..., (йХь ..., oXy^^-i) для любого а е. К. ля , множество решений этого уравнения (и, соответственно, множество точек кривой) может При этом и (К) А\К) U P""4iQ, где «добавка» п-\ (К) соответствует бесконечно удаленно
101 му проективному подпространству размерности п 1, заданному условием Х+т На проективной плоскости любые прямые пе- лены эллипсом Множество невырожденных кривых btoj: порядка в аффинной плоскости над (R преде 17 ,00 . — с^: X ресекаются. Достаточно рассмотреть в аффинной crj? 2 2 + ьу ьу и параболой тх 2 гипербо. Все эти плоскости две параллельные прямые ах-^ Ьу+ кривые эквивалентны относительно проективг + с и ах-\- by-^d При переходе к проек- замены переменных. С помощью аффинной тйвным координатам получим систему уравне мены переменных можно получить а НИИ аХ-\- bY-\-cZ этой системы дает Z uaX-^bY-\-dZ Решение т Тогда проективные уравнения для элл^ то есть точка пересече- са. гиперболы, параболы соответственно прим ния прямых лежит на бесконечно удаленной пря вид:г + г zlx^ мои. Тогда аХ-^ ЬУ Поскольку а не AXZ. Переход эллипса к гиперболе и обратно задается замеш возможно, предположим, что Zj^O. Последнее переменных Z-^^X. Переход от эллипса к параб уравнение при Х= О дает 0. Точка (О 5 не ле задается заменой переменных (Д F, Z) лежит в проективной плоскости, поэтому можно считать Х^ 0. Получаем искомую точку пересечения вида {X X^ + Y^ Y,X+Z). При этом Z примет вид Y~ a/b,0). Класс эквивалентности (X, F, Z) при Z^O ypaBHCHti 4XZ. Таким образол в проективной плоскости P^((R) эллипс, гипербс ла и парабола эквивалентны относительно обра 2 имеет единственного представителя вида (х, у^ I); тимого преобразования координат. при Г^ О (х. 5 z); при (1,У,г)- Аффинной алгебраической кривой соответст вует алгебраическая кривая на проективной плос Пример 6.2.2. Пифагоровы тройки. Согласно теореме Пифагора в прямоугольном кости. Если аффинная алгебраическая кривая треугольнике с катетами X, Г и гипотенузой задана полиномом степени п вида а..х'у^ ч 5 0</+/ <п имеет место равенство Х^ + Г^ 2 скт (6.2.1) то соответствующая проективная кривая задает ся однородным полиномом степени п вида / J aX'Y'Z n-l'j . Например, аффинной кривой. 0</-ьу</7 заданной полиномом х^ + ху+у^ + I, соответству ет 2 проективная кривая, заданная полиномом X'Z+XYZ + ' + Z\ Аффинное преобразование координат над полем К имеет вид Г(х) = Zx + Ь, где х = (х, у) g А, обратимая матрица над К^Ь — вектор сдвига. Проективное преобразование координат плоскости р^ш ЭТО линейное преобразование вида Т(Х)-=^МК, где мая матрица размера 3 X (X, Г, Z), М~~ обрати над К. Это преобразо вание на аффинной плоскости действует как аф финное преобразование координат, в чем не трудно убедиться, положив Z Поскольку множество обратимых матриц об разует группу, проективное преобразование ко ординат задает на множестве проективных ал гебраических кривых симметричное, рефлексив ное и транзитивное бинарное отношение. При ся на классы эквивалентности. Пример 6.2.1. Проективные кривые второго порядка. (Аффинной) коникой в К^ называется алгеб раическая кривая, заданная квадратным уравне -2 нием а(х, у) ах" + Ьху + су" + dx + еу +/ или 4~| Х^ + Г^ 2 0. Уравнение (6.2.1) задает алгебраическую кри вую. В некоторых случаях стороны могут выра жаться целыми числами, например 5 (3,4, ИЛИ (5, 12, 13). Как же найти все целочисленные решения уравнения (6.2.1)? Для этого можно перейти к плоской кривой над Q, поделив обе части этого уравнения на z и положив X X ^У Тогда уравнение (6.2.1) примет вид (6.2.2) Уравнение (6.2.2) задает окружность, и наша задача сводится к поиску рациональных точек на окружности. Параметризуем окружность (6.2.2) (то есть от двух переменных перейдем к одной): *v ^ч-^мС: -л 2t X e+\ -у J X Э - Otc ю д a получаем все решения уравнения этом множество проективных кривых разбивает- (6.2.1): <» »" J 7Г_ *? X 2/т, 2 2 7W ,Z = / +7W -- Л реше для произвольных /, /W G Z. Если (X, F, Z) ние, то (оХ, аУ, aZ) — тоже решение. Поэтому дос таточно рассмотреть /, т такие, что НОД(/, ni) Многообразия в проективном пространстве задаются однородными полиномами. Пусть сте-
102 пень полршома из идеала, задающего аффинное мента -А нужно провести через точку А прямую, многообразие, равна т. Переход от аффинного параллельную касательной в точке Е. Покажем, что сложение ассоциативно. Рассмотрим на ко- многообразР1я к проективному выполняется за меной одночленов (Л: , Л» •••^ одночленами а т /I.. ./„ Y"i Y " Y ^1 "-^и ^и+] d \ ..-d п 63. Сложение точек на конике кон сложения. имеющий На окружности существует естественный за- простую геометриче- фиксированная произвольные скую интерпретацию. Пусть точка окружности над (R, ^ и точки. Проведем через точку Е прямую, парал лельную прямой АВ. Она пересечет окрулшость в точке С, которая является суммой точек А + В (рис. 6.1). нике ч- три точки А, В. С, и пусть + в 2(рис. 6.2). Рис. 6.2. Сложение точек на конике Равенство + (5 + С) + 5) + С эквива лентно утверждению: «Если А, 5, С, £, Р, точки коники и АВ\\ЕР, BC\\EQ, то AQ\\CPy> Это частный случай теоремы Паскаля [5]. Если слагаемые совпадают, то секущая стано вится касательной. Все эти рассуждения справедливы в любом поле X, в том числе и в конечном поле. Пересечение алгебраической кривой С{К) с Рис. 6.1. Сложение точек на окружности прямой, заданной уравнением ах + Ьу + с можно описать алгебраически. Выразим из урав- Таким же способом можно определить закон нения прямой одну переменную через другую и сложения на эллипсе, параболе или гршерболе: подставим в уравнение кубики. Получим урав- достаточно, чтобы прямая пересекала конику в нение от одной переменной. Корни этого урав- двух точках. При совпадении точек А и секу нения дают точки пересечения кривой С{К) с щая АВ становится касательной. прямой Кратность корня называется кратно стъю пересечения. В общем случае для описания Теорема 6.3.1. Указанный закон сложения точек пересечения удобно рассматривать алгеб- превращает множество точек конржи, заданной раически замкнутое поле. над полем (R, в абелеву группу. Доказательство. Поскольку все невырож денные коники эквивалентны относительно про ективного преобразования переменных, доста 6.4. Кубические кривые. Закон сложения точно рассмотреть эллипс. Любые две точки что сложение Назовем {плоской аффинной) кубической кри вой {кубикои) над полем К алгебраическую кри можно складывать. Очевидно, коммутативно (прямые АВ и ВА совпадают). Ну- вую С(Х), заданную полиномом л ем является сама точка Е. Для нахождения эле- / а,.ху J ? где 3 общем случае касательная определяется над пополнением L поля К с помощью понятия сходимости. Однако в полном поле L уравнение касательной в точке с координатами из К совпадает с уравнением касательной, определенным с помощью алгебраиче- а/ G Kw наибольшее значение i+j равно 3. Соответствующая проективная кубика С{К) задается 4 Согласно теореме Паскаля, если в проективную ской производной. Это совпадение обусловлено тем, конику вписан произвольный шестиугольник и про- что уравнение кривой алгебраично и алгебраическое тивоположные стороны продолжены до пересечения, определение производной в поле К совпадает с авали- то точки пересечения противоположных сторон лежат тическим. на одной прямой.
103 полиномом а.Х / ■ J 3-i-j На любой кубике сечения уравнение 2 3 5 которое имеет три i,J решения: два соответствуют случаю 5 а тоже существует естественный закон сложения. Зафиксируем произвольную точку Е кривой. Для сложения точек А v\ В проведем прямую АВ, она пересечет С(К) в некоторой точке Р. Точку пересечения прямой РЕ с кубикой будем называть суммой точек А и В (рис. 6.3). третье имеет вид Z = 0 и соответствует бесконечно удаленной точке (О, 1, 0). Покажем, что точки кубики с операцией сложения образуют абелеву группу. Коммутативность операции сложения очевидна. Легко можно показать, что Е— нулевой элемент. Докажем ? ассоциативность введенной операции. Равенство + (5 +О + С) + 5 эквивалентно тому, что точки пересечения прямых, соединяющих точки + 5 и + и в, лежат на кубической кри вой. Обозначим Pi АС, Р2 Е(А + В\ Ръ В{А+С\ q,=AB, q2 = E(A + CX q^ = C{A+B\ где р\ — прямая, проходящая через точки А и С, Р2~~ — прямая, проходящая через точки Е и А-^ В, и т. д. Будем считать, что все точки пересечения этих прямых попарно различны. Тогда ассоциативность операции сложения вытекает из следующей теоремы [4]. '-^> _лЧ Рис. 6.3. Сложение точек на кубике Теорема 6.4.1. Пусть А и точка пересечения прямых / и Яр </,7<3, причем точки и по Обычно в качестве точки Е выбирают беско парно различны. Про все точки 1р кроме 33 5 нечно удаленную точку Роо- Существование та кои точки следует из того, что, положив в проек тивном уравнении кубической кривой Z = 0, по известно, что они лежат на кубике. Тогда точка Азз тоже лежит на этой кубике. Доказательство. Пусть Pix, у) и лучим непустое множество решении для коорди яЛ^^ у) натХ, F, которое соответствует точкам пересече- уравнение/?1/?2Рз рз, уравнение q^qiqs противном случае бесконечно удаленной можно qi-, Оъ- уравнения прямых pi и Тогда задает тройку прямых рт, р2^ ния кубржи с бесконечно удаленной прямой задает тройку прямых q\ 5 назвать прямую Х= О или 0). Кубика apip2P3-^bqiq2q3 проходит через определении сложенртя использовано еле все точки Ау. Покажем, что в таком виде можно дующее свойство кубики: если прямая Пересе- представить уравнение любой кубики, проходя- кает С(К) в двух точках, то она пересекает ее щей через восемь из девяти точек Ajj. Выберем в еще ровно в одной точке. Действительно ? из качестве осей координат прямые р^ и ^i, то есть уравнения прямой ах-^ Ьу-^ с можно выра выполним замену переменных X Р\Ос. У\ зить X через у и подставить результат в уравне q\(x^y). Пусть рассматриваемая кубика зада ние кубики. Получим уравнение от одной пере- ется уравнением Р(х, Функции P(0,j^) и менной с коэффициентами из К. По условию. yPii^^ У)РзФ^ у) обращаются в нуль в трех точках него есть два корня в К, значит, должен быть и ^п, А2ъ ^зь лежащих на оси Оук Кроме того, эти третий корень в К. Если рассматривать проек- функции— полиномы степени не более 3. Сле- то степень уравнения после довательно. тивную кривую, подстановки равна 3. Возможно ли, чтобы кубика и прямая, участвующие в геометрическом законе сложения, имели менее трех точек пересечения на аффинной плоскости? Поскольку прямая проходит через две точки кубики, то единственно возмолшый слу- две точки пересечения. Например, кубика ДО, V) ^Р2(0, j^te(0, у). Аналогично можно bxq2{x, Q)q3{x, 0). Рассмотрим полином показать. что Р(х, 0) V чаи &?^.У) Р(х, У) mpiiO, у)рз(0, у) - bxq2(x, 0)q3(x, 0). х^+х + пересекается с прямой х в двух Ясно, что точках: (О, и (О, МОИ X 1). Подставив уравнение пря в уравнение кубики, получим 6(0, V) ДО, V) ^Р2(0, у)рз(0, у) Степень этого уравнения равна 2, то есть третьей точки пересечения нет. Однако при переходе к проективной кривой F^Z^X^+^^ + Z и ективнои прямой X про получаем для точек пере Равенство ао(у) + а^ (у)х + а2(у)х^ + ... = О при выполняется тогда и только тогда, когда , следовательно, полином б(х,_у) делится на X. Аналогично можно показать, что полином X С1о(у)
104 &PC. делится на v, то есть Qix,y)^xyQi(x,y). Теорема 6.4.3. Пусть F(X, ненулевая Степень полинома 0,х,у) не более тельно, 6](x,v) э следова- форма степени а от двух переменных. Тогда F линейная функция или кон- имеет на проективной прямой Р (К) не более станта. В точках ^^22, ^23, ^32 обращаются в нуль нулей. В случае алгебраически замкнутого поля функции Р, р2Рз и ^2?35 то ссть В НИХ обращастся в она имеет ровно d нулей (при условии, что корни нуль и функция Поскольку в ху^О, то в них обращается в нуль и линейная функция Q}. Точки ^22, ^23, ^32 НС лсжат на одной этих точках подсчитываются с учетом их кратности). Доказательство. Пусть прямой, а для ненулевой линейной функции уравнениеХх, у)^0 определяет прямую. Следова тельно, Qi = О, то есть Р(х, у) = apw-^-^ + bq^qigs- F(X,Y) = a^'^ + aa^^X'^-^Y+ ... +аоГ^. частности, точка F связан неоднородный полином от одной 33 лежит на кубике Дх, v) переменной (рис. 6.4). Ч\ Лх) аж d + аа-\Х d-\ + ... + ао. полученный делением дх на F^^O 5 где X X Ясно, что для всех а^ К справедливы следующие равносильные утверждения: .Да) Ос^(х-а)1Дх) {X aY) I F(Z, F(a, X Рис. 6.4. Точки и прямые на кубике Значит, нули полинома/соответствуют нулям полинома F на Р (К), отличным от точки 9 Теорему 6.4.1 можно применять и в тех слу чаях, когда некоторые точки Ау совпадают. Для кривых степени п>3 теорему 6.4.1 мож но обобщить. (то есть точки Р^ на проективной прямой). Пали чие у F нуля на бесконечности (F(l, 0) чает, что а^ = О, то есть deg(/) < озна 1 . Кратность нуля полинома F в точке (а, 1) на Р'(^ равна кратности нуля полинома / в соответствующей точке Теорема 6.4.2. Пусть А и точки пересечения а ^ К, то есть равна deg(/). Таким образом. прямых р I и э hj п, причем точки А,,- попарно различны. Про все точки Ац, для которых кратность нуля полинома F в точке (а, наибольшая степень выражения X это i -\-j <п -\-3, известно, что они лежат на кривой степени п. Тогда и остальные точки тоже лежат рую делится а в точке (1, а 7, на кото- наибольшая степень 7, на которую делится F. на этой кривой. Доказательство см. в работе [4]. Пусть т со кратность нуля полинома F в точке (1,0). Кольцо Щх] целостное, то есть полином степени т ее имеет не более т ос общем случае точки пересечения могут нулей и ровно т ее нулей в случае алгебраиче быть кратными. Например, две коники над полем ски замкнутого поля. IR могут пересекаться в четырех, трех, двух или одной точке (рис. 6.5). Этот результат можно Обобщением теоремы 6.4.3 является теорема обобщить и на случай произвольных кривых и Безу, согласно которой общее число точек пере произвольных полей. сечения проективных кривых и D степени deg(0 т, deg(Z>) ^ п над алгебраически замк нутым полем равно тп, если точки пересечения подсчитываются с соответствующей кратностью (с учетом бесконечно удаленных точек) [5]. /^1+-Р2+-Рз+-Р4 2Л+Р2 + -РЗ 2P^ + 2Р 2 ЪРл+Р г 4Р Таким образом, геометрический закон сложения точек на неприводимой кубической кривой задает структуру абелевой группы. Нулем группы является точка Е, а точка -Р (третья точка пересечения прямой РЕ и кубики) является про- 1 Рис. 6.5. Пересечение коник тивоположной к точке Р. В случае алгебраически замкнутого поля эта группа бесконечна.
105 6.5. Особые и неособые кубики чения -4 Рассуждая аналогично, получаем для Пересе прямой и кубики уравнение аХ Рассмотрим примеры пересечения ьубики с Пересечение двойное (тройное при а Сле прямой ~ъ ^. 4 :- -^.v .-,г: ^> довательно, также имеет место равенство + (О, 0) (О, 0). Пример 6.5.1. Пересечения кубики с прямой. \ Покажем, что кривая у^-х +Ах + В пересе Из рассмотренных примеров видно. что в кает бесконечно удаленную прямую Z = О в одной двух последних случаях точка (О, 0) ведет себя точке, причем кратность пересечения равна 3. Пе- по-особому, а именно является аналогом понятия реходим к проективной форме кривой. Подставляя «бесконечность» для натуральных чисел. в уравнение кривой Y Z=X -^AXZ + BZ значе ние 3 , получаем X имеет тройной корень X ективной кривой 7?^ О, так как точка (0,0 Последнее уравнение По определению про- Точка /Д Y, Z) кривой, заданной уравнением называется неособой, если в этой 5 не точке хотя бы одна частная производная лежит на проективной плоскости, поэтому координаты точки пересечения кривой с бесконечно _ отлична от нуля, в противном случае удаленной прямой молшо записать как (0,1,0) Поскольку эта точка лежит на бесконечно удален- точка называется особой. Кривая, которая не со 67 1. dZ ной прямой, она является бесконечно удаленной. Покажем, что кривая >/ =х +х" (рис. 6.6) пе ресекает произвольную прямую, проходящую че рез точку (О, 0), в этой точке с кратностью 2 или 3. -^ ^ -^ ЦГ / ^ , "^ ^^ _ - V- ^. -•- -^ -J к 4 - у %^-: X ч X ч \ U - -^ 5 держит особых точек, называется неособой. противном случае кривая называется особой!" Покажем, что если алгебраическая кривая не является неприводимой, то она содержит особую точку. Пусть кривая задана нулями полинома где F(Z, 7, Z) =/Х, 7, 7)^Х, ¥,Т)и/, родные полиномы. В соответствии с теоремой , рассматриваемые над одно Безу кривые /= О и алгебраически замкнутым полем, пересекаются. дифференцирования Согласно правилам dF дХ дХ + g дХ Аналогичные равенства име ют место и для частных производных по Z. Рис. 6.6. Кривая у г х^+х^ \-^г ■: Переходим к проективной форме -О - ».■; £ -^i^_K- Л Уравнение кривой имеет вид 7^2 кубики. Х^ + X^Z\ уравнение прямой, проходящей через точку (О, 0): ах\ соответствующее проективное уравнение: оХ. Подставляя уравнение прямой в уравнение О, то есть име- 1^бики, получаем X Qi'^'Z^ crZ) Рассмотрим производную полинома F по X в точке пересечения кривых/ и этой dF точке дХ Аналогично получаем dF д¥ dF dz о. Таким образом, кривая, не яв ляющаяся неприводимой, всегда особая. ем двойное (тройное при а = ±\) пересечение в проективной точке (О, О, 1). Отсюда следует, что Р + (0,0) (0,0). Пример 6.5.2. Особые точки. 1. Кривая Покажем, что кубика У = х^ (рис. 6.7) пере- (О, 0), так как в этой точке X + X содержит особую точку секает произвольную прямую, проходящую через точку (О, 0), в этой точке с кратностью 2 или 3. ^^ Ji i^^Vi* --■■ ^ ^■.- -Г U .4 дх Зх 2 + 2х ду 2у i — ^ '^ ■ - V х^ ,1^ ^x■ ■тг XI ■- t'^ :- ^ к Рис. 6.7. Кривая у^ 3 X Точка (О, 0) называется точкой самопересече пня., или узлом. *\ -: "Vi--^ ^'>т; 5 Неособая кривая называется также гладкой, не вырожденной, несингулярной. Особая кривая называется также вырожденной, сингулярной. Однако супер вырожденная (суперсингулярная) кривая не является особой.
im 2. Кривая 2 X 3 содержит особую точ1^ от аффинного (или проективного) преобразова- (0, 0), так как в этой точке ния дх Зх 2 U 2у координат. (Uu t/2, t/з), где X Пусть X Ofj е к. Пусть Fix) уравнение кривой, тогда эта же кривая е координатах Uu t/2. и 3 имеет вил Точка (О, 0) называется острием, или точкой G(Uu U2, U3) =-F{X^{ul Х2{и% Хз(иУ). Найдем част- возврата. 3. Покажем, что бесконечно удаленная точка ные производные, задающие касательную к эток 9 1,0) является особой для кривой х(х Ь)(х с). Для этого перейдем к проективной кривой в произвольной точке: дС форме: YZ 9 (^ aZ)(X bZ)(X cZ) и поделим dU dF 6Х I J I dXf dU I^ a и J I обе части этого уравнения на F^O. Пусть X Поскольку преобразование координат обра- X э Z , тогда проективной точке (л, 7, Z) тимо, то матрица и невырождена Следо- будет соответствовать аффинная точка (х, 1, z). вательно, набор Получим уравнение дС dUj нулевой тогда и толькс F(x, z) z 2 az){x bz)(x cz) Нетрудно видеть, что при х э Z обе про изводные обращаются в нуль. Значит, кривая яв ляется особой. Понятие особой точки не зависит от способа описания кривой, то есть от способа задания координат э в чем легко убедиться, подставив X аи + 6v, V = си + Jv в уравнение кривой. Покажем, что кубика а)(х Ь)(х с\ где числа а, Ь, с различны, является неособой. Действительно, для аффинного уравнения частная производная по у равна нулю только при у=0^то есть этому условию может удовлетворять одна из точек (а, 0), (6, 0), (с, 0). Очевидно, что частная производная по х в этих точках отлична от нуля. Например, 6)(а при с)^0. X а производная равна так как одновременно афЬ, аФс. Легко проверить, что бесконечно удаленная точка (О, 1, 0) на проективной кривой Y^Z {Х aZiX bZtX cZ) тоже не является особой. тогда, когда набор dF дХ нулевой Если / / dF dF dF л г э э еХ, ' дХ^ ' dXj , и dG dG dG 5 Э dU, dU^ dU^ векторы-строки, x и u — векторы-столбцы, тс X Аи, чит, уравнения gu ту же прямую. Пусть точка fA. Поэтому gu и fx ifA)(A 1 fx. Зна- определяют одну v бической кривой (Xr, /?5 R (Хр, Yp, Zp) принадлежит ку- , то есть F{P) = О, и пусть произвольная точка проективной плоскости. Точки проективной прямой РЬ имеют вид аР + bR. Здесь точки рассматриваются как векторы над полем К, сложение точек означает покоординатное сложение векторов (ил^ сложение точек на проективной плоскости, отличное от сложения точек на кривой), умножение точки на элемент а ^ К означает скалярное умножение вектора: aP + bR-= (аХр + ЬХ^, aY. + bYp, aZp + bZ^ 6.6. Касательные и точки перегиба алгебраической кривой Касательная к проективной кривой С(К) в точке Р задается уравнением ^ — ■ dF дХ (Р)Х + dF д¥ (P)Y + dZ (P)Z О, Точки прямой PR, отличные от к, имеют вщ Р + tR. Рассмотрим точки пересечения этой прямой и кривой F = О как функции от t. В nameiv случае F — полином степени 3, поэтому F(P + tR) = F(P) + at + b^ + ci 3 Pit) Здесь соответствует точке Р; кроме того F{P) О по условию, тогда ^ -г: ^- fr-^ а F,^P)X + FKP) Y + FmZ, где частные производные вычисляются в точке где Fx, Fy, F^ ~ производные по X, 7, Z соответ Это уравнение первой степени, следовательно, оно задает прямую. Теперь ясна связь между особой точкой и касательной: в особой точке ка сательная не определена. Касательная к кривой в неособой точке зада ется однозначно уравнением кривой и не зависит ственно. ^п^ {Fxx {Р)Х 2 + F XY {P)XY + Fxz {P)XZ + + F YY {P)Y 2 + FyySP)YZ + F„(P)Z'~),
107 где F XX вторая частная производная по X. ХУ вторая частная производная по Д 7 и т Полином Q^t) имеет в нуле кратный корень при а О, то есть точка Р неособая неособой точке Р кривой F определена касательная. Если кратность пересечения кривой с касательной равна то называется точкой (и, конечно, а перегиба. В этом случае так как прямая PR является касательной). Неособая проективная кубика С(К) всегда имеет хотя бы одну точку перегиба [4]. Кубика над алгебраически замкнутым полем имеет девять точек перегиба. Прямая, проходящая через две точки перегиба кубики, проходит и через третью [4]. а над алгебраически замкнутым полем — к нор мольной форме Дойринга У + (хху + у X 3 7.6) 4. Если характеристика поля отлична от 2 и то уравнение виду 1 1 может быть преобразовано к ^ш Ч - ^ 2 3 х'-^Ах-^В. л. (6.7.7) Доказательство. Условию того, что кубика , (6.7.6), неособая, в уравнениях (6.7.3), (6.7 (6.7.7) соответствуют неравенства а 4Ь^0; (О, 1 1 }\о?^2Т,4А^-\-27В^^0. Для доказательства утверждения 1 рассмот рим проективную кубику 6Л. Нормальные формы F(X 9 9 Z) а...Х I и J 3-i~j (6.7.8) /+/"<3 эллиптическом кривой Назовем эллиптической кривой неособую ку- ной заменой переменной над полем С. У нее есть точка перегиба. Линей ^ Ь¥-\- cZ мож аХ бическую кривую. но обеспечить координаты этой точки равными Рассмотрим наиболее употребительные (нор- (О, 1,0), причем касательная в этой точке будет мачьные) формы уравнения эллиптической кри- задаваться уравнением 7 = 0. Это значит, что пере вой 5 получаемые линейной заменой проективных сечение кубики F с бесконечно удаленной переменных. Большинство из них являются част- прямой Z - О имеет кратность ными случаями обобщенной формы Вейерштрас- {X, Y. П z=o , то есть полином азоХ^ + аглХ^У + апХУ'^ + аоз!"^ име са содержащей единственную бесконечно удаленную точку, которая является точкой перегиба. ет корень X кратности Следовательно, агл an С1оз но азо ^ О, так как иначе рас а бесконечно удаленная прямая является каса- сматриваемая кривая целиком содержала тельной в этой точке. Существование нормальных форм обосновывается следующей теоремой. бы прямую Z = о (уравнение делилось бы на Z и кубика не являлась бы неприводимой кривой). Ка сательная в точке (О, 1, 0) задается уравнением Теорема 6.7.1. Справедливы следующие ут верждения. 1. Уравнение кубики над произвольным по лем может быть сведено к обобщенной форме Вейерштрасса Fa<0, 1, 0)Z+ FKO, 1, 0)7+ F^(0, 1 1 9 0)Z Для наиденного ограничения на а^^оХ 3 имеем F^0,1,0)-FK0, 1,0) Но при этом + а^ху + с^зУ 3 2 X +а2Х +а4Х + аб. (6.7.1) Если характеристика поля отлична от то уравнение (6.7.1) может быть преобразовано к виду 2 3 2 X + Ь2Х + ЬаХ + be. (6.7.2) F^CO, 1,0)?^ О, так как в противном случае точка (О, 1,0) была бы особой. Однородный полином FziX, 7, Z) степени 2 в точке (О, 1, 0) принимает значение аоо. Можно считать, что ао2- 1. Тогда в аффинных координатах уравнение (6.7.8) запи шется в виде а над алгебраически замкнутым полем — к виду Ста, Ь] /-^ аиху-^ ао^у-\-Рз{х) ? где 3 (X) полином степени Сделав подхо у =х + ах + 6х (6.7.3) f\ к - или к форме Леэюандра z^ < 2 х(х \)(х Х). (6.7.4) дящую замену переменной х, можно получить коэффициент при х^, равный -1. Тогда уравнение (6.7.8) примет вид (6.7.1). Это уравнение неособой кубической кривой справедливо для поля любой характеристики. 3. Если характеристика поля отлична от то Первое утверждение доказано. уравнение (6.7.1) может быть преобразовано к Несложные выкладки показывают, что замена виду 2 переменных вида x<r~ux + i% 3 2 иу + sux + t 2 ■\ + ахху + азУ = х" + а/^ + а^. (6.7.5) сохраняет вид уравнения (6.7.1) при и К" и / 5 S,
108 Если характеристика поля отлична от то приводимой и представляет собой объединение возможно деление на 2. Тогда заменой перемен- трех прямых). Если перейти к аффинной форме ных а^х/2 а 3 в левой части уравне ния (6.7.1) можно этого уравнения с координатами х X выделить полный квадрат . У и Уравнение примет вид (6.7.2), где затем сделать замену переменных V 3 у. 2 «2 + а?, b 4 «4 + а,а., b 6 а.+ а 2 3 и лу, то с учетом равенства х 3 и 3 V полу чим уравнение в форме Вейерштрасса (Дойрин 7 2 Если поле является алгебраически замкнутым, то правую часть в (6.7.2) можно разложить на га): V + 3uMV+ v V 3 Уравнение (6.7.9) удобно описывает точки линейные множители: еЛ(х е2){х вз). За перегиба неособой кубики, которые имеют вид меной переменной х X е\ получаем (6.7.3). 1), (1,0, 1), (-1,L0), (0,соЛ), (со,0. со со%0),(0,-соМ),(со^О, 2 со). со, 0), где со Правую часть в (6.7.3) тоже молшо разложить на удовлетворяет уравнению со + со + множители: х(х d2)(x d3). Заменой перемен ныхх d2X. 3 2 получим уравнение вида (6.7.4). Утверждение 2 доказано. Если характеристика поля отлична от Теорема 6.7.2. Все девя^гь точек перегиба неособой проективной кубики над ачгебраически то замкнутым полем характеристики, отличной от и 3, различны. возможно деление на 3. Заменив в (6.7.2) х на Доказательство см. в работе [4]. ^-^.- ^: X 2 /3, получим нулевой коэффициент при х. и 6.8. Группа неособых точек кубики Тогда, если характеристика поля отлична от 3, уравнение примет вид (6.7.7). Утверждение доказано. общем случае, если характеристика поля замкнутым полем с характеристикой, отличной отлична от 3, то в уравнении (6.7.1) аналогично от 2, может быть задана уравнением Эллиптическая кр ив ая над алгебраически можно обеспечить нулевой коэффициент при х и привести его к виду (6.7.5). Этим доказана пер вая часть утверждения 3. Покажем, что если характеристика алгебраи 2 х(х а){х ь\ где корни правой части уравнения попарно раз личны. Если правая часть уравнения имеет крат чески замкнутого поля отлична от J, то кривая ный корень, то кубика является особой (в том может (6.7.6). быть По представлена в форме Доиринга аналогии с доказательством утвер ждения 2 приводим (6.7.5) к виду у^ + с^ху + СъУ .3.2. /rs rs^ числе над полем характеристики 2). Любая прямая у = кх пересекает кубику в осо X + С2^Г + СлХ-i причем точка (0,0) лежит на кривой. Эта точка по условию неособая, то есть в бой точке с кратностью не менее 2. Поэтому, ее ли соединить особую точку кубики с любой дру гои ее точкой, то третья точка пересечения полу ней существует касательная, задаваемая уравне- ченной прямой с кубикой будет этой же самой нием {1у + с\х + Сз)У -Ъхг' + Icix + q - Cjj. Точка особой точкой. Таким образом, сложение особой точки с любой другой точкой всегда дает один и тот же результат. Поэтому особая точка не может (О, 0) имеет порядок, отличный от 2, если каса тельная в ней имеет конечный угловой коэффи циент, то есть q - 0. Точка (О, 0) является точкой перегиба тогда и только тогда, когда С2 == О и сз ^ 0. Выполнив нормализащ1Ю Сз - I подходящей заменой переменной у^ получим нормальную форму Доиринга (6.7.6), определенную для кривой над алгебраически замкнутым полем с характеристикой, отличной от 3. быть рассмотрена как элемент абелевой группы точек 1^бики. Однако для неособых точек кубики можно определить геометрический закон сложения, как для эллиптических кривых. о Теорема 6.8.1 Если в уравнении кривой Для кубики над алгебраически замкнутым по . су 0(х) полином Qjc) над полем 7^ имеет корень лем, характеристика которого отлична от щ^стъу^т нормальная форма Гессе [4, 13, 21]: кратности 2, то существует вычислимый в обе стороны изоморфизм между группой неособых точек кривой и мультипликативной группой по )^ + Y^ + Z 3 3uXYZ. (6.7.9) ■ * u;>? л ■-■.-г С"; у -,v*-.^. i 7 Кривая, заданная таким уравнением, неосо бая, если ц ?^ О и 3 ?t (при кривая над ал гебраически замкнутым полем не является не Обратный переход к форме Гессе (с учетом проективного уравнения кривой) тоже задается полиномиальными уравнениями, поэтому указанная замена переменных корректна.
im ля к. Если полином g(x) над полем К имеет ко- логарифмирования: в простом поле г^^ для дан- рень кратности 3, то существует вычислимый в ных образующей а и элемента b найти число х обе стороны изоморфизм между группой неосо- такое, что d^Ъ (mod/?).^ Для изоморфных обра- бых точек кривой и аддитивной группой поля К. зов эта задача формулируется так. Пусть Доказательство. Докажем сначала второе изоморфизм из группы __" .2 . 3 г^.__ _ . _- /г___ -гг.. _/г. р утверждение для кривой пускает параметризацию X 2 .t 3 Эта кривая до- точек кубики. Для образующей точки в группу неособых ф(а) и качестве ну точки ф(6) кубической кривой с точкой са ля будем использовать бесконечно удаленную мопересечения над полем F» найти число х такое. точ1^. Точки пересечения этой кривой с прямой что хА. ах -\- by -\- с сГ' + at + b определяются соотношением Если прямая не проходит через Следствие 6.8.2. Задача логарифмирования на особую точку, то с?^0. Получаем кубическое кубической кривой над конечным полем не ме уравнение от ^ с нулевым коэффициентом при нее сложная, чем задача дискретного логариф Сумма корней такого уравнения по теореме Вне- мирования в том же поле. та равна нулю. Для бесконечно удаленной точки Доказательство. Если сложность задачи логарифмирования в р меньше, соответствуют значения параметра /U, чем сложность задач логарифмирования на всех О значение параметра to равно нулю. Пусть точ- дискретного кам А и 1в. Прямая АВ пересекает кубику в точке R. Тогда неособых кубиках, то можно перейти к особой -\-1в + tji = 0. Прямая OR пересекает кубику в кубике с точкой самопересечения. точке А -\- В, значит, tn + + +в Следова тельно, tA+B + tB. Особой точке соответ ствует ^ == со. Вычислимость прямого и обратного изоморфизмов очевидна. 6.9. Невозможность рациональной параметризации эллиптической кривой Кривая х^+х^ также допускает рацио нальную параметризацию 1 1 ,/ 3 Прямая ах + by + с Согласно примеру 6.2.1 невырожденная кони /- 2 пересекает эту кривую в точках. ка может быть сведена к уравнению и V и па для которых значения параметра t удовлетворя (Г^, {). Очевидным образом ют соотношению а \) + b(t 3 0 + с Если 6 ?^ О, то после деления обеих частей этого соотношения на b получим кубическое уравнение для раметризована параметризуется и прямая у ка которой может быть выражена в виде (х, v) ах -\- b. любая точ / с коэффициентом при 3 и коэффициентом (/, at + b). Заметим, что в обоих случаях параметризация имеет вид полиномов. Особые 1^би- ки таюке допускают параметризацию. Однако при t. Корни такого уравнения удовлетворяют эллиптическая кривая не может быть параметри соотношению t\t2 + ^2^3 + hh замену переменной s 1 1 Если сделать зована с помощью рациональных функций. , то последнее уело Теорема 6.9.1. Пусть эллиптическая кривая вие будет эквивалентно равенству Л1Л2Л3 == 1. Вы- , 1, 0), Е(К) задана в форме Лежандра уравнением в качестве нуля на кривой точку и л берем которой соответствуют значения Для нахождения суммы точек А а В рассмотрим точку i?, в которой прямая АВ пересекает кри- (6.7.4) над алгебраически замкнутым полем К, характеристика которого отлична от 2. Не суш;е ствует полиномов Рь 2 , бь 2 таких, что функ ции y(t) вую Так P,it)/P,it),x(t) = Q,it)/Q,it) ОТЛИЧНЫ как SaSbSr и SrSqSa+В то от константы SaSb- Особой точке соответствует не одно. а два значения параметра t, а именно ±1 и удовлетворяют эллиптической кривой над полем К . Доказательство [4]. Cjtynafi, когдаХО и Mf) являются элементами поля К, неинтересен — это или оо). Вычисление изоморфизма требует вы полнения фиксированного числа арифметиче- константы. Пусть y{t% x{t) ^ К . Тогда, подстав ских операций в поле К, то есть имеет полино- ляя полиномы Р, б в уравнение кривой, получим миальную сложность. 2 При рассуждении мы не фиксировали поле К и не использовали специфических свойств поля комплексных или вещественных чисел. Поэтому данная теорема верна для кубики над любым полем, конечным или бесконечным. основу безопасности многих криптографи- 1 1 XQ 2 2 2 9 2 2 ^ -1 -' I ч ., ^ 8 Эта задача положена в основу стандартов циф ровой подписи РФ и США (см. пп. 13.2.3,15.6.5). 9 Здесь имеется в виду сложность «самой сложной ческих алгоррттмов положена задача дискретного частной задачи» данного класса.
no Можно считать, что полиномы 1 и 2 взаим но просты, 0\ и Q2 взаимно просты. Так как 9 3 ^'й 1 2 2 й(а 2 ха ?ie 2 2 2 ТО полином Ро^, взаимно простой с Рл , делится на 3 1 б2% 3 И полином ft' взаимно простой с gi. 9 1 XQi^ делится на Р4. Следовательно 2 5 ПОЛИНОМЫ 2 2 И 3 2 различаются на константу поле все ненулевые элементы обратимы). Сокра ТИМ на эти полиномы и домножим Pi на квадрат нын корень из константы. Получим равенство 2 1 QAQ 1 йхе 1 WiX (6.9.1) Кроме того, полином 3 2 квадрат некоторого полинома, следовательно, и g2 — квадрат некоторого полинома. Полиномы в правой части равенства (6.9.1) попарно взаимно просты, поэтому каждый из — полный квадрат. Значит, четыре полинома них Сь & 1 QbQ 1 XQ2, попарно различных и вза имно простых, являются полными квадратами (попарное различие следует из того, что X ?^ О, Покажем, что такое невозможно. Рассмотрим линейную комбинацию вида aQi + bQ2, где Таким образом, рациональная (то есть с ис пользованием алгебраических метризация функций) пара для можна. Однако эллиптической кривой невоз существует параметризация с использованием неалгебраических аналитиче ских (так называемых эллиптических) функций. 6.10. Параметризация эллиптической кривой с помощью эллиптических функций 6.10.1. Эллиптические функции Функция/над С называется двоякопериодиче скощ если существуют комплексные числа coi и С02 такие, что COj/cO 2 ^ DR , и для любых т. п е имеет место равенствоy(z + mcoi + ИСО2) "^Л^)- Будем считать, что поворот от coi к СО2 происходит по часовой стрелке. Назовем решеткой ранга 2: L "= Zcoi + ZCO2. Двоякопериодическая свободный модуль функция. все особые точки которой являются полюсами, называется эллиптической. В окрестности полюса а эллип- а,Ь^К , и предположим, что существуют четыре тическая функция/допускает разложение полинома, квадраты которых попарно различны и представимы в виде указанной комбинащ1и. Два из этих квадратов обозначим R и R ■? 2. Так как Л и Л^) Co(z г + ci(z г+\ + ? где Со ?^ О, г е 7 взаимно просты, то два оставшихся квадрата можно представить как 3 а,Я 2 hRl и силу периодичности эллиптическая функ- Щ1Я полностью определяется своими значениями в области {a)C0i + a2C02 | 0<ai, а2<1}, которая называется фундаментальным параллелограм мои решетки П=^С/Х (рис. 6.8). Противополож ные стороны параллелограмма П в силу перио (отметим, что это линейная комбинация с коэф- дичности по coj и со? отождествляются («склей 2 4 а^К 2 2 o^Rn . Поскольку R 1 и Ri взаимно про сты, то и J^^R 1 + тоже взаимно просты фициентами из 7^ ). Но их произведение является полным квадратом ( -Rq ^ 4 ). Значит, каждый из л/^/г 1 + Kr 2 тоже является полным квадратом. Такие же рассуждения можно провести и для 7?з, i?45 выразив через них R\ и R^. Получим, что R\ и тоже являются полными квадратами. Таким ваются»), поэтому он эквивалентен тору. Сложение комплексных чисел можно выполнять по модулю решетки Z. При этом комплексная плоскость разбивается параллельными прямыми на параллелограммы. Комплексные числа образом, в линейной комбинации cR\ + dRi оказалось четыре полных квадрата, но степень Ri в два раза меньше, чем степень Qy. Такое рассуждение молшо проводить неограниченно долго, однако складываются как векторы комплексной плоскости; затем все параллелограммы отождествляются. Образом суммы по модулю решетки является точка параллелограмма, соответствующая ука заннои сумме векторов. ^- степень полиномов I конечна, следовательно, на некотором шаге получим, что Rt не может являть ся квадратом. Противоречие доказывает теорему. COi Аналогичное утверждение имеет место и для эллиптических кривых, заданных над полем характеристики 2. COi + СО2 V ^\ Л ^Тш ^\*-Л. Ж^ _4V Рис 6,8, Фундаментальный параллелограмм
Ill Теорема 6.10.1. Эллиптическая функция, не имеющая полюсов, постоянна. Доказательство. Предположим, что эллиптическая функция Д2) не имеет полюсов. Функция \f{z)\ непрерывна на С и поэтому ограничена на C/Z и — в силу двоякой периодичности — на всей комплексной плоскости С. По теореме Лиу- вилля всюду ограниченная функция постоянна. а значит, вычет функции f в точке а равен г Поэтому V/;- 0. Докажем равенство га -mcOj + n(i^2 • По ложим я(^) Z Тогда g(z) oKz 1 + ^ Все особые точки эллиптической функции яв а значит, вычет функции g(z) в точке а равен аг. ляются изолированными. Поэтому фундамен Теперь вычислим интеграл тальныи параллелограмм содержит лишь конеч ^g{z)dz Получаем ап ное число особых точек. Следовательно, его для противоположных сторон параллелограмма: можно сдвинуть на комплексной плоскости так, что на его сторонах не будет особых точек. Будем считать, что на сторонах фундаментального параллелограмма нет особых точек. Пусть J{z) — эллиптическая функция, П — a+G) 1 f (z)dz а+И1+И2 а /(^) f (z)dz a+(i)2 /(^) ее ан-G) 1 фундаментальный параллелограмм с вершинами а, а + coi, а + со?, а + coi + С02 и дП — его грани- f (z)dz а+И] а /(^) «2)/ Г (z)dz а f{z) ца. Тогда Sf{z)dz а+и О. Действительно, в силу 1 со ап 2 периодичности функции / интегралы по противоположным сторонам параллелограмма уничтожаются . Из этого утверждения можно получить информацию о нулях и полюсах эллиптической функции. Напомним, что вычетом res {g) в точ- а «2 1" ПЦ .|а+И1 а Поскольку Да) -Да + coi), то при изменении z от а до а + coi логарифм может измениться лишь на Inki. результате получаем, что одна пара сторон дает вклад ??С02, а другая тсди где ке Z а аналитической коэффициент при Лорана. функции g{z) т. п называется э Z. Поэтому г. а / / O(modZ) в ее разложении в ряд Согласно теореме 6.10.1 непостоянная эллиптическая функция имеет хотя бы один полюс в Теорема 6.10.2. Справедливы следующие ут- фундаментальном параллелограмме. Число верждения. по люсов эллиптической функции, лежаш.их внутри 1. Сумма вычетов точек эллиптической функ- фундаментального параллелограмма, с учетом их ции, расположенных внутри фундаментального кратности называется порядком эллиптической параллелограмма, равна 0. функции. Минимальный возможный порядок ра 2. Пусть Qi— нули и полюсы эллиптической вен 2.^^ функции, расположенные внутри фундаменталь Для эллиптической функции сумма порядков ного параллелограмма, / / их поряд1си (поло- нулей, лежаш;их внутри фундаментального па жительные для нулей, отрицательные для полю сов). Тогда / / и г. а. / I тщ + по^2 э тае т э П целые числа. Доказательство cdz г + ci(z г^-1 [4] + Если функция J{z) не имеет на границе дП особых точек, то У resC/) п 27Г/ J раллелограмма, равна сумме порядков полюсов, то есть порядку функции. Поскольку при замене /(z) на_Д^)-с полюсы сохраняются, то эллиптическая функция порядка г имеет г нулей и принимает любое значение ровно г раз. Сумма, разность и произведение двух эллиптических функций с одинаковыми периодами снова дают эллиптическую функцию с такими же периодами. Кроме того, функция, обратная к эллиптической, таюке является эллиптической. Заметим, что если /— эллиптическая функ- Поэтому множество эллиптических функций с ция, то/' и t тоже эллиптические функции. одинаковыми периодами является полем. -jr --h. Кроме того. t 10 (z) r(z-'a) ^ -\-щ -\-a'y(z-a)-\- Так как сумма вычетов в особых точках внутри ..., параллелограмма равна О, то функция не может там иметь единственный полюс кратности
112 6.10.2. Функция Вейерштрасса фундаментального параллелограмма внутри него будет расположена только одна точка решетки. Поскольку эллиптическая функция имеет бес- Поэтому сумма полюсов функции р сравнима с конечное число нулей на комплексной плоскости нулем по модулю решетки. Согласно теореме С, она не может быть алгебраической. Для любой решетки L эллиптической будет функция 6.10.2 функция р имеет в фундаментальном па раллелограмме два нуля: w и v, причем w + v Р(^) Z 2 + oeZ.\{0 t / со) 2 1 1 СО 2 э (6.10.1) (modZ). Для любой комплексной константы с полюсы функции p^z)" с совпадают с полюсами функции p{z). Поэтому внутри фундамен где суммирование ведется по всем ненулевым элементам со решетки Z. тального параллелограмма есть ровно две точки и и v, для которых р{и) P(v) с, причем W + V Покажем, что все особые точки функции (mod L\ Если при некотором с будет выполнять (6.10.1) являются полюсами. На любом компакт- ся сравнение и = ~и (modi), то точки и и ном множестве/^ не содержаш;ем точек решетки, фундаментальном параллелограмме будут и в сов этот ряд сходится равномерно и абсолютно, так как 2zco Z 2 со) 2 СО 2 co^(z со) 2 При больших значениях со модуль правой части равенства (6.10.2) ограничен величиной CIco 3 Ряд со 3 сходится йе/.\{0 t / 00 00 оэ 3 ПЩ +тОЭ2 3 < у Ш{кИ) 3 э ие/.\{0) к=\ iTiax(|mj,|«|)=A: к=\ где наименьшая из высот фундаментального параллелограмма. Таким образом, функция p{z) имеет полюсы в точках решетки. Она называется функцией Вейерштрасса. Покажем, что функция Вейерштрасса периодична. Рассмотрим для этого ее производную падать, то есть функция р принимает соответст вуюш,ее значение двукратно. В этих точках ели (6.10.2) ваются два нуля функции p{z) - с, поэтому про изводная р Xz) обращается в фундаментальном параллелограмме можно выбрать ровно четыре точки таких, что и^-и (mod Z), а именно О, со 1 СО2/2 (cOj +С02)/2. Первая из них по люс функции р, остальные — нули функции р' Итак, значения е \ p(c0i/2),e2 =p((cOi +С02)/2),ез - ^(со2/2) двукратны для функции р, и других двукратных значении нет. этих точках, то есть при Z coj /2, (coi + С02)/2,С0 2 (mod Z), производная (z) равна О. Функция Вейерштрасса позволяет описать, как устроены все эллиптические функции. р'(^) 2l( Z со) 3 Очевидно, что сдвиг в сумме на любое число периодов по направлениям coi и С02 не меняет значения производной, то есть она двоякоперио- дическая с периодами coi и СО2. Поэтому функции p{z) и p{z + СО/) могут отличаться лишь на константу с. Подставив значение z ство p(z)~ p(z-^ СО/) + с, получим со / в равен р(со, /2) Р( СО//2) + с. Теорема 6.10.3. Пусть fiz) произвольная эллиптическая функция и p(z)— функция Вей ерштрасса с теми же периодами. Тогда суш.ест вуют рациональные функции i?i, R2 такие, что 1 (p) + i?2(p)p'. Доказательство см. в работе [4] Таким образом, множество эллиптических функций с данным периодом может быть получено алгебраически из двух «элементарных» эллиптических функций — функции Вейерштрасса Но функция p(z) по определению четная. Поэтому с =^ О, то есть фушодия Вейерштрасса имеет два периода: coi и С02. Кратность полюсов функции p(z) равна и ее производной. Рассмотрим четную эллиптическую функцию t 2 (zy. Она имеет двукратные нули при Z cOi /2, СО2 /2, (cOj + СО2 )/2 и J , ^2л^ " шестикратный по Других особых точек у нее нет. При смещении люс в точке решетки. Следовательно 9 И Компактным называется множество, любая бесконечная последовательность точек которого со держит подпоследовательность, сходяздуюся к неко торой точке этого множества. f (^) 2 c{p{z) ~ exXp{z) - e2)ipiz) ез). Поскольку р(^) z-^ + - - -5 f (^) 2z 3 + .. •5 ТО С ^^ ■^^ "^ t - -1 Z. шг ^ к
113 Если раскрыть скобки и приравнять соответ Сложение точек плоскости для аргументов ствующие коэффициенты в ряде Лорана, то по- (как комплексных чисел) эллиптической функции можно заменить сложением точек тора (как лучим уравнение: f (^) 2 3 4р {z)~g2p{z) g3 9 10.3) где gi ~-4(е.е \^2 -г влв-! +^2^3/э 8ъ 4^1 ^2 ^3 • (6.10.4) Легко проверить, что 3 Si 27я 2 3 Ще 2 1 е. у {е 1 е 3 2 2 е 3 2 Поскольку все числа ^/ попарно различны, то Для любой пары чисел g2 и g^ существует решетка такая, что g2, g3 выражаются формулами (6.10.4). -к *■ 6.10.3. Параметризация эллиптической кривой над полем С комплексных чисел по модулю решет1си). Это сложение индуцирует сложение точек кубики (геометрическое сложение с помощью касательных и секущих), когда в качестве нуля используется бесконечно удаленная точка (О э 9 0). Действительно, пусть ь 2 — точки кубики, которые соответствуют точкам zi, Z2 решетки, то есть I (р fe) э f (z/)). Проведем через них пря мую у— ах-^ by которая соответствует уравнению f (^) айэ(2) на комплексной плоскости. Эллиптическая функция имеет полюс кратности t (^) айэ(2) в точке Z 9 других полюсов в фундаментальном параллелограмме нее нет. Следовательно, порядок этой функции равен 3, то есть она имеет в фундаментальном параллелограмме ровно три нуля. Это знакомые нам zi и Z2, а также еще один нуль z^. Поскольку сумма полюсов эллиптической функции равна и, следовательно э сумма нулей равна О, то Дифференциальное уравнение для функции ud(z) похоже на уравнение эллиптической кривой 2 В 3 4х 10.3) форме gix Вейерштрасса. Поэтому 1<убику g3 9 соответствующую уравнению 9 МОЖНО параметризовать с помощью функции Вейерштрасса, положив э В 2 t Х- piz) (z). Переходя к проективным координатам (С), получим отображение проективной пря мои 4Х 3 (С) g2XZ в 2 эллиптическую gsZ 3 кривую э где Z (р(^) э г (^) э при Z ?^ О и Z э э при Z Очевидно, что это отображение аналитично всюду за исключе нием точек решетки. Поделив координаты на t (z), получим отображение zi + Z2 + Z3 ^ О (mod L) э ТО есть ^3 ^1 Z2 (mod L\ Итак, Р]Р2 с кубикой будет точка третьей точкой пересечения прямой t 3 (р (-^1 ^2) э f ^1 ^2)) (p(Zi+Z2) Э f (zi + Z2)). Таким образом, точка 3 э соответствующая сумме точек 1 и 2 9 симметрична точке t 3 от носительно оси Ох (рис. 6.9). Z Э Э р'(^) э которое аналитично и в окрестности точки ре шетки. Кроме того, оно взаимно однозначно ото бражает тор C/Z в эллиптичес1сую кривую Y Z 4Т 2 giXZ g?>z на проективной плоскости (С). Действительно, на бесконечно удаленной кубики. прямой лежргг лишь точка нее отображаются точки решетки, которым соответствует одна точка на фундаментальном параллелограмме. Для остальных точек можно рассмотреть аффинную кривую у AJ? gix g3 и отображение Z (р(^) Э f ш- Уравнение Р(^) с может иметь одно или два решения. Два решения возможны э если сфО э то есть когда t (z) Ф 0. Решения в этом случае имеют вид ±z Их образы при отображении не совпадают э так как ненулевые числа личаются знаком. t (^) И f f (z) от ■ г X г ч, » ^.» ■' Рис. 6.9. Сложение точек эллиптической кривой окрестности бесконечно удаленной точки справедливо неравенство F?^ О, поэтому можно задать закон сложения в аффинных координа- X тах э (рис. 6.10) J^
114 Рис. 6.10. Сложение точек эллиптической кривой в окрестности точки Р 00 Параметризация эллиптической кривой эл липтическими функциями (6.10.3) позволяет установить связь между сложением элементов в C/Z и сложением точек кривой. На аддитивной группе комплексных чисел можно задать эндоморфизм, определяемый умножением на комплексную константу. Этот эндоморфизм индуцирует гомоморфизм решеток. При этом диаграмма гомоморфизмов на рисунке 6.11 является коммутативной. Здесь а— умножение на комплексное число а. % комплекс но-аналитический гомоморфизм решеток [13], вертикальные стрел1си задают редукцию по мо дулю решетки. Каждому эндоморфизму а соот а ветствует некоторый гомоморфизм % и наоборот. Два комплексных тора C/Z и С/М изоморф- и только тогда^ когда L - аМ для ны тогда а G С . а > 1728g 3 2 3 gl 21g 2 3 (6.10.5) Решетка периодов эллиптических функций допускает преобразование путем обратимой над замены переменных coi' -^ acoi + йсог, <^2 < < сщ +асо25 при которой поворт^ от coi f к С02 f выполняется по часовой стрелке. Такая замена эквивалентна умножению вектора периодов на матрицу из SL2(Z). Можно получить со? f э со f 1 f 2 X и рассматривать j =j(x) как функцию одной комплексной переменной х. Функция j(x) може!^ быть разложена в ряд Фу [11]. Логарифмиче е 2кп рье, если положть екая производная равенства 8Ш7ГХ X Л П) 1 + X л п) дает COSTTX 71 + 8Ш7ГХ X + Л X п х + п) (6.10.6) с учетом е +е COSTTX , 8Ш7ГХ тх —iizz е ~е 2г э получим COSTTX 71 .^ + 1 ш-— 2пг 00 71/+ S1117ГХ ni-^-Yq / / 1 (6.10.7) Соотношения (6.10.6), (6.10.7) позволяют вы разить g2, g3 как функции переменной а: gi (27Г) 4 12 I + 240Т о2 in)q" \, (6.10.8) « 1 C/L > С/М Рис. 6.11. Коммутативная диаграмма гомоморфизмов решеток Изоморфизм комплексных торов индуцируе!^ изоморфизм соответствующих эллиптических кривых Необходимое изоморфизма торов 2 э ческих кривых 4х 3 и достаточное условие следовательно, эллипти- g2X g3 и г2 4х гЗ t^j g2^ g3) задается равенством [13]: 3 g2 g2 гЗ 3 g2 27g 2 3 гЗ g2 27g t2 3 Э ft (271) 6 72 00 504Уоз(й)? У} э (6.10.8') «=i где o.(n) I^ k (сумма берется по всем дели din телям d числа п, включая 1 и п), Подстжовка (6.10.8), (6.10.8') в (6.10.5) дает ряд с целыми коэффициентами: Kq) + 744 + 196844^ + Функция j(q) позволяет определить симметрические модулярные полиномы, используемые функция периодов coi, СО2- На практике при вычислении изогенных эллиптических кри- где вместо J используется функция вых(см. п. 6.15.4).
115 6.11. Дискриминант и/-инвариант Рассмотрим кубику в обобщенной форме Вейерштрасса (6.7.1) и свяжем с этой кривой на боры новых коэффициентов / 2, 4, 6, 8, и с. э э которые получаются при выделении полного квадрата от j и полного куба от х. После замены переменных У< а,х а 3 уравнение кривой примс!^ вид 3 2 Ах + Ьпх + 2ЬаХ + 6 э (6.11.1) где бики так, 41 о эта точка будет иметь координаты (0. 0). Тогда а 6 /(О Э Э э а 4 э э э а 3 ег э э Получаем уравнение кубики я^ э + aixv X 3 Со Тогда с 4 2 1 + 4а 2ч2 2 И А Докажем обратное утверждение. Пусть Выделяя полный квадрат от Уг получаем Q{x)\ при этом полином Q{x) имеет 1фатные корни. Выше было показано, что такая кубика является особой. 2 + 4а ам 2 -а, i ^^^2 5*^4 — ^*1^*з ' ^*^4э'^6 ~^*3 ' ~'^6 + 2а а 2 + Аа^. Определим Теорема 6.11.1 оказывается справедливой и для поля характеристики 2. aMiCA ^-Аа^а^ -^апП 2 1^*3^*4 2^*6 2^*3 2 причем АК =020.-М , Положим а 2 4э случае ненулевого дискриминанта опреде лен J-инвариант: j с 3 4 Для уравнения (6.11.2) 2 3 C4=*2-24*4. Сб=Й2 +36*2^4 "216*6. выполняс! ся равенство 12 3 с^ -е.. Поэтому в этом случае уравнение (6.11.1) примет вид X 3 27с4;с 54сй. 6 (6.11.2) Определим дискриминант кубики 2 3 020^-^0. 27Й.Ч 9*2*4*6 с 3 4 С 2 6 1728 Дискриминант кубики с точностью до константы совпадает с дискриминантом кубического полинома в правой части уравнения, задающего значению дискриминанта то есть по кубику, можно определить, является ли кубика особой. Теорема 6.11.1. Кубика, заданная в форме Вейерштрасса над полем, характеристика которого отлична от 2, является особой тогда и только тогда, когда ее дис1фиминант равен нулю. Доказательство. Перейдем к проективной форме кривой: 12 3 с 3 4 С 3 4 С 2 6 Нетрудно показать, что единственно возмож пая замена переменных, сохраняющая вид урав нения У< 3 11.2) э это 4 преооразование х <г- 2 и X 9 ^ у, С4<^и С4, Св<^и Сб. Если кривая задана уравнением (6.7.7), то ^^ ^ - -•- ^ 3 ЩАА'+ИВ 2 э 12 3 АА 3 АА^ +11В^ Если кривая задана в форме Лежандра, Дой- ринга или уравнением (6.7.3), то ее у-инвариант соответственно равен - "'- 8 2 Л + 1) 3 3^_ 3 2 2 э а (а 24) 3 а 3 27 9 8 2 Зй) 3 _F^ 2 2 4*) Я^. э 2 2 + а1.У72 + азГг 2 X 3 а^Х 2 a^YZ 2 aeZ 3 Производная полинома ДД э ПО э 1,0) равна 1, ТО есть точка со в точке неособая. Предположим, что на кривой существус!^ особая 6.12. Закон сложения точек эллиптической кривой -^-^ ;\??\.:-;-1 Сложению точек фундаментального паралле лограмма точка (хо, Vo)- С помощью замены переменных сложения точек эллиптической кривой в х< Х + Хп э У< V + Vo э сохраняющей значение дис1фиминанта, можно изменить уравнение ку соответствует геометрический закон форме Вейерштрасса, который может быть проиллюстрирован с помощью метода касательных и секу-
7/6 щих. в качестве нуля будем использовать беско Таким образом, для обобщенной формы Вей Секущая, проходя- ерштрасса (6.7.1) закон слосисения имеет нечно удаленную точку щая через бесконечно удаленную точку и дан- дующий вид еле ную точку кривой (6.7.1), является вертикальной прямой Пусть уравнение прямой (касательной или се кущей) имеет вид у -Ъс -^ v. Для секущей, про ходящей через различные точки Р\ = {х\^у{) и 2 (^2, y-i)^ получаем У2 У\ (6.12.1) X 2 X 1 Если Х\ Хп э ТО секущая является вертикаль ной прямой. По определению вер! икальные пря мые пересекаются между собой и с эллиптиче ской кривой в бесконечно удаленной точке. Если 1 2, то прямая представляет собой касательную. Для нахождения углового коэффи циента найдем полный дифференциал oi^ поли нома их э э задающего 1фивую в форме Вейер штрасса. Получим df{x,y) дх dx + 8У dy Угловой коэффициент касательной равен dy dx Имеем / X dx t у dy э dy dx t X t у Поэ10 му угловой коэффициент касательной и свобод ныи член равны, cooi ветственно э Бесконечно удаленная точка Ра, = (О, 1, 0) яв ляется нулем группы. Противоположной к точке (хо, Vo) являет ся 1очка Сложение i очек У^ aiXo 1 + Р 2 задается следующими аз). Ръ. где Р формулами / г. УХ Если 2 Ь тоР 3 Роо. В противном случае Хъ 2 + а{к <ь Хх Хп э Уъ (к + аЛхз V аз э где У2 э V Ухх, Уг^х X 2 X 1 X 2 X 1 при Pi Ф Р2 э 2 Зх, + lajX^ +а^ — а^у^ f" 2у. +а,х, +аз э X 3 V 1 + а.х, +2а 4-^1 6 а^Ух 2у. -i-ajX, -ьаз ■>■■» Рп, при Pi Если jc^+Xr + P кривая э ТО в задана формулах уравнением сложения координату можно вычислять по формуле ГЧх \ а.у 4уу. + а^х + аз э V 'кх 15 (6.12.2) где F(x) — кубический полином в правой части уравнения Вейерштрасса (6.7.1). Подставив уравнение прямой в уравнение кубической кривой, получим 1д^бическое уравнение 01 носительно х (кх + v) + а\х(кх + v) + аз(Ах + х^ + а2Х^ + алх + аб или 3 X +(а2 2 ка \ 2 + Это уравнение имеет три корня, соответствующих х-координатам трех точек пересечения кривой и прямой. Две координаты нам известны. Нужно найти третью. По теореме Виета сумма трех корней равна коэффициенту при х^ взятому с обратным знаком. Получаем Хз 2 + ка 1 а2 Xi Х2. случае xi = Х2 формула не меняется Коор динату Уз находим из уравнения прямой. Уз k(Xi Хз) У1 2 И В случае Pi = Р2 положить ЗхГ + А 2у 1 Рассмотрим умножение на 2 точки эллипти ческой кривой Л^) э заданной над полем К с характеристикой, отличной от (К не обяза тельно поле рациональных чисел). При таком отобрал^ении каждой точке кривой ставится в соответствие удвоенная точка. Это отображение является эндоморфизмом кривой как абелевой группы. Ядро эндоморфизма (множество точек порядка состоит из точки со И точек вида (х, 0), то есть для этих точек х является корнем полинома Дх). Поскольку эллиптическая кривая является кубикой, то Дх) может иметь не более трех корней. Следовательно, ядро эндоморфизма состоит не более чем из четырех точек, а над алгебраически замкнутым полем — ровно из четырех точек. По теореме о гомоморфизмах групп ядро гомоморфизма абелевых групп является абелевой группой, причем, как следует из закона сложе ния, группа точек порядка z состоит из четырех элементов и не является циклической. Если Дх)
117 d){x b)(x c\ TO из точки (a, 0) нельзя Пример 6-13.1. Группы конечного и бесконеч получить точку (й, 0) путем сложений самой с hoi о порядка на эллиптических кривых над Q. собой. При этом (а, 0) + (й, 0) (с,0) (с, 0), то 1. Эллиптическая кривая E(QX заданная урав есть группа точек порядка z порождается одной нением или из пар точек {(а, 0), (й, 0)}, {(а, 0), (с, 0)} {№, 0), (с, 0)}. Таким образом, фуппа кручения 2 + V XV X 3 Точка (1, 1) лежит на кривой. Тогда 2Р = (0,0), ЗР II4Р (О, 1), порядка 2 (ядро указанного эндоморфизма) изо 5Р (1, 1),6Р 00 . Значит, точка (1, образу морфна прямой сумме групп Z/2Z @ Z/2Z. Точки перегиба (и 10лько они) являются точками порядка 3- Как было показано выше, все точки порядка 3 попарно различны и над алгебраически замкнутым полем их ровно девять. Ум- ei^ циклическую группу порядка 6. нением Эллиптическая кривая E(QX заданная урав X + 17. Циклическая группа, образо ванная точкой I 2,3), имес!^ вид ножение точки на 3 является эндоморфизмом группы точек кривой над алгебраически замкнутым полем. Ядро этого эндоморфизма совпадает с множеством точек перегиба и изоморфно пря- 2Р 1 (8, 23), ЗР, 19 25 5 522 125 5 . Эта точка по мой сумме аддитивных групп Z/3Z @ Z/3Z. Таким же образом рассматривается умножение точки на произвольное целое число п. Можно показать, что если целое число п взаимно просто с характеристикой поля К^ то умножение на п является эндоморфизмом, ядро которого в случае сумме групп Ж® Ж. алгебраически замкнутого поля состоит из п то- рождает группу бесконечного порядка с рациональными координатами. На кривой существует точка ^2 = (2, 5), тоже образующая группу бесконечного порядка. Оказывается, любая точка данной эллиптической кривой может быть представ лена в виде тР] + пР2. Например, (4, 9) Группа точек 1фивой E((Q) изоморфна Pi Рп. прямой чек порядка п и изоморфно прямой сумме адди тивных групп Ж/пЖ ® Ж/пЖ. 6.13. Эллиптические кривые над числовыми полями Точки, имеющие конечный порядок на эллип тической кривой Е(К), заданной над бесконеч ным полем К, называются точками кручения Эти точки образуют группу кручения Tors Е(К). Группа кручения эллиптической кривой уст роена просто. криптографии и теории чисел кривые час1 о рассматриваю1ся над полем \ц рациональных чисел или над числовым полем. Кривая над полем может иметь конечное или бесконечное число точек. Для данной аффинной точки Р кривой над можно образовать цикличес1^ю группу вида Р, 2Р, ЗР,.... Эта группа также может быть конечна или бесконечна Если циклическая группа Теорема 6.13.1 (теорема Мазура). Группа кручения эллиптической кривой, заданной над полем Q, изоморфна одной из следующих групп: Ж/тЖ для т<10 или для гл 12, @ Ж/2тЖ для т < 4 -jye Доказательство см. в работе [16] Группу Tors£(Q) кривой (6.7.2) легко вычис разующеи бесконечна, то она полностью определяется об- лить, так как координаты точек кручения (х,у) и индексом (логарифмом) элемента являю! ся целочисленными и >* | А. группы, при Э1 ом сама образующая определена с Как и любая конечно порожденная абелева точностью до знака (группы, образованные точ- группа, группа точек эллиптической кривой Е(К) ками Р и -Р, совпадают). Такая группа изоморф- над числовым полем /<С допускает разложение на группе Ж целых чисел. Однако 10чка Р может быть кратным некшорой точки. Среди множест Е(К) гапк(Я(/0) е Tors Е(К). ^л.^< Лг ва всех точек / таких, что 5 miQi, существует точка Of с максимальной абсолютной величиной J индекса т.. Тогда циклическая группа, образо ванная точкой Р, является подгруппой индекса rrij группы, образованной точкой Qj, Эта rpjnna является наибольшей из циклических групп, содержащих точ1^ Р, и изоморфна группе Ж целых чисел. где гапк(Е(К)) —ранг кривой (число образующих циклических групп бесконечного порядка). Возникает вопрос: чему равен ранг кривой? Конечен он или бесконечен? Ответ на этот вопрос неочевиден. Например, особая кубика с двойным корнем, изоморфная мультипликатив- , имеет бесконечное число обра- множество образующих совпадает с множеством простых чисел). НОИ группе зующих *
118 Теорема 6.13.2 (теорема Морделла-Вейля). Е(К)/Е(К)^ которую будем использовать при Эллиптическая кривая над числовым полем ко- вычислении ранга. нечно порождена. Доказательство см. в работах [13, 21]. Теорема 6.13.3. Пусть G конечно порож Эту теорему сначала доказал Морделл для денная абелева группа без кручения и Н ее поля Q рациональных чисел, а затем Вейль рас- подгруппа. Ранги групп G и Н равны тогда и то есть на числовые поля. пространил ее на конечные расширения поля Q, только тогда, когда порядок любого элемента в факторгруппе G///конечен. Доказательство. Пусть ранги групп G и Н — множест- Обычно эллиптическая кривая E(Q) имеет ма или 3). Ранг равен нулю, если равны. (gu ...,&), (hu ., h лый ранг (О, кривая содержит лишь конечное число рацио нальных точек. Например, все точки эллиптиче- кая матрица М е SL;,(Z), что h = Mg. Матрица М ва образующих для G и Н. Тогда существует та ской кривой E(Q), заданной уравнением над может быгь приведена к диагональной 2 X + 1, образую!^ циклические группы конеч- форме М (т II где т„ Ф О, Ши = О для / ^j. Пусть ного порядка. Вопрос о том, существует ли эллиптическая кривая «самого большого» ранга, на т наименьшее общее крал ное чисел т II Лю бой элемент Cig] + ... + c„g и G, с. G 5 после сегодняшний день открыт. Ранг кривой Е(К) над числовым полем К может бьпъ вычислен, если справедлива гипотеза Берча и Свиннерлона-Дайера (см. п. 6.17). умножения на /и будет принадлежать группе Н. Обратно, пусть порядок любого элемента в факторгруппе G/H конечен и (gu 5 gn% Для числового ПОЛЯ к q[-Jd] на эллипти к (Ль ..., hi) — множества образующих для G и Предположим, что п> 1. Тогда существует ческой кривой Е{К): / = х+Лх + В, где Л, такая вырожденная над матрица М, Ч10 Mg. Матрица М над Z может бьпъ приведена 5 МОЖНО определить группу, порожденную К диагональной точками вида {x^y-JD), где х, j е Непосредственно из закона сложения следует, что удвоение или сложение таких точек дает точку указанного вида. Точка (х, jvD) лежит на форме М (т II где т,, Ф О 5 т и для 1ф]. Тогда порядок элемента rriin в факторгруппе GIH не может быть конечен. Противоречие доказывас!^ теорему. Каждая точка группы Е(К)/ Е(К) имеет ко эллиптической кривой Е(К) тогда и только тогда, нечный порядок [22]. Поэтому ранги групп Е(К) когда точка (х, v) лежит на эллиптической кри- и Е(К) равны и могут быть вычислены как сум- вой Ео((У): П}Г = х^-^Ах-\-Б, ма рангов эллиптических кривых над О. Если последовательно умножать какую-либо Определим группу Е(К)^ порожденную точ- ками с рациональными х-координатами. Посколь- ^^^^ р ^^^^^^ д^^^ ^ небольшими целыми ко- ку группа Ё(К) порождена точками кривых £(Q) ординатами на целые числа А: = 2, 3, ..., то длина и Ejj(Q\ и эти кривые не имеюг общих точек, кро- координат точек кР будет возрастать с ростом ме 005 можно записать Е(К) E(Q) е Ed{Q% rank( Е(К) ) = rank(£(Q)) + rmu(Eo(Q)). Аналогично для поля K = Q[уЩ, Jd^] мож Например, на эллиптической кривой существуei^ точка Р = (1, 2). Тогда х^ + 3 2Р 23 11 л 64 64 J ЪР 1873 130870 л 1521 59319 J Длина знаменателя х-координаты точ1си но определить группу Е{К), порожденную точками с рациональными х-координатами (группа, юР— 32 десятичных знака. Возрастание длины порожденная такими точками, не совпадает с числителя и знаменателя с ростом к подчиняется множеством этих точек). Имеет место изомор физм групп некоторым закономерностям. Определим (логар ифм ичес кую ) высоту Е(К) £(Q)@E^(Q)@£ (Q)@E DJJ г (Q)- точки h,: E(Q) эллиптической кривой как функцию 5 Точно так же для поля К = <0[у1ц,...,^ш^] имеет место изоморфизм групп X (Р) log(max( I р I, к I), если Р ?i Р^, Р^, ? еслиР Е(К) Поскольку Е(К) является нормальной под грлппой группы Е(К)^ определим факторгруппу (доказательс! ва можно найти в работе где/? и q—числитель и знаменатель несократимой дроби, представляющей х-координату точки Р. Приведем без доказательства ряд результатов в паботе [21]).
119 Пусть К— алгебраическое расширение поля Q. Пусть изоморфизм из £■ в £■' задается отобра Из теоремы Морделла-Вейля следует, что Е{К) жениями jd = (р\(х,уХ У = Ц^](х,у\ а изоморфизм из содержит лишь конечное число 1очек, выста которых меньше неко! орого заданного числа. Если PnQ— точки бесконечного пqзядкa на эллиптической кривой Е(К), то имеет место равенство Ев Тогда равенства отображениями х = Ф2(х\У% у = \\J2(x\y). X <Р2Шх,у%\\11{х,у)\ V2(9i(x,v),il/i(x,j)); hiP^Q) + hiP Q) 2hn>) + 2кШ) + 0{\\ ф1(ф2(л',У), Ых!,У)\У - Щ{<Ш,У\ Ых!,У)) то есть функция выст ы ведет себя почти как всюду определены на эллиптических кривых Е и квадратичная форма Е\ Определим для точек кривой ЕуК) канониче скую высоту h: Е{К) как Теорема 6.14-1- Эллиптические кривые изо КР) lim N Р) морфны над алгебраически замкнутым полем N Точки кручения и бесконечно удаленная точка имеют нулевую каноничес1^ю высоту. Для всех остальных точек каноническая выст а является ненулевым вещественным числом. Функция канонической высоты обладает свойствами тогда и только тогда, когда они имеют одинако вые у-инвариан! ы. Доказательство см. в работе [13]. h(P + Р) + h(P Q) 2h{P) + 2hiQ)] UmP) т 2 MP) (6.13.1) Понятие изоморфизма эллиптических кривых и изоморфизма абелевых групп точек этих кривых не совпадают. Например, изоморфизм групп точек кривых над конечными полями не означает изоморфизм кривых. Однако, если кривые изоморфны, то они, очевидно, изоморфны как группы. и является положительно определенной квадра тичной формой. ГК'сть точка бесконечного порядка и точка кручения. Обозначим Р,=Р + /О, тогда из фор 6-14-1- Изоморфизмы над полями характеристики, отличной от 2 и 3 мулы (6.13.1) следует, что h(P 1 ) + KR +1 2й(Р). Пусть эллиптические кривые Е и Е заданы над г2 полем Каноническая высо! а каждой i очки представляет собой среднее арифметическое высо!^ предыдущей и последующей точек. Последовательность ЛЕ) =j{E') К уравнениями х'+Лх + В и х' -^Л^х' +В' соо1ветственно и таковы, что э и ПуС1Ъ ©:£■ Е изоморфизм {Pi} циклическая, поэтому h{P + О) MP). Имеет место гомоморфизм абелевых групп ЕЮ) Е{¥, Тогда допустимая замена переменных, сохраняющая у-инвариант, и соответствующая замена коэффициентов уравнения имеют вид полученный редукцией по модулю [21]. Аналогичный гомоморфизм существует и для кривой Е{К)^ если поле К получено присое- {х\У) Ф(х, V) 4 {гГх^ 1?у\ Л' = и^А^ В' и is. 3 динением корней неприводимого над (j полино маДг) такого, что дО раскладывается на линей ные множители в поле Fp. где и G А . Заметим, что здесь 12 как характеристика поля отлична от смотрим 1ри возможных случая. 3 2^3^ Ф 0. так Рас э и 1. /V0, /V 12 . ото эквивалентно условию 6.14. Изоморфизмы и эндоморфизмы эллиптических кривых ЛВ Ф 0. Кривые и г изоморфны над К тогда и АВ' только тогда, когда А В и 2 . Изоморфизм Е Е Пусть Е{К) и Е{К)— эллиптические кривые, заданные уравнениями (6.7.1) с аффинными координатами {х^у) и (х\У) соответственно. Определим изоморфизм эллиптических кривых Еи Е как ото- бралсение, индуцируемое допустимой имеет место над любым расширением поля К, ЛВ' содержащим квадралныи корень из Л'В Если уравнения кривых совпадаю!, то есть Е\ то заменой не ременных и^х + г. 1 иу + su^x +1 (СМ- п. 6.2) и сохраняющее значениеу-инварианта. изоморфизм становится автоморфизмом и группа автоморфизмов содержит всего два элемента: 4 П Иногда изоморфизм эллиптических кривых определяют как взаимно обратные отображения, задаваемые полиномами из К[Е\ (соответственно из К{Е'\ см. п. 6-15-1). Эти определения совпадают- {1, Ф(р) 1}. (Для Е{К) справедливо ф(Р) или Р) Эти автоморфизмы представляют со бой группу квадратных корней из 2.; 12 я или. что то же самое. В Типич ный пример такой кривой: У X я X. Кривые Е и
120 E изоморфны над К тогда и i олько тогда, когда Используя выкладки п. 6.7 и учитывая равен » и 4 С1 ВО 3 . Изоморфизм г получим имеет место над любым расширением поля К^ содержащим ко 9 9 ls. = a2CiA ala^ а 3 4 г рень четвертой степени из Если Е\ то Кубическая кривая является неособой, если кубический полином g{x) в (6.14.2) и его произ- группа автоморфизмов состот^ из четырех эле ментов: {1, ■.г. г). где / 2 э представляю щих собой группу корней степени 4 из 1. Изомор физмы имеют вид (р(Р) = Р, (р(Р) = -Р, ф(Р) Ф(Р) /Л водная не имеют общих нулей. Поскольку А и дискриминант полинома g(x) совпадаю!^ с точностью до константы, то кривая неособая тогда и только тогда, когда А ?^ 0. -инвариант задается выражением гР. З.у = О или, что то же самое, А пример такой кривой: У = х^ + 1 Типичный Изоморфизм а 6 2 2 2 С/п С1л ala^ а 3 4 » Е имеет место тогда и только тогда, когда Рассмотрим изоморфизмы между неособыми и^. Поэтому кривые EvlE изоморфны над кривыми с одинаковыми у-инвариатами. Пусть Е задана уравнением (6.14.2) uE — уравнением расширением поля К^ содержащим корень шее В' той степени из Если Е\ то группа авто морфизмов совпадает с группой корней степени из со 5 СО. СО 2 СО 2 где + С0 + С0 2 Изоморфизмы имеют вид Ф(Р) л ^{Р) р. Ф(Р) соР, ф(Р) = -соР, ф(Р) = со^Р, ф(Р) СО^Р. каких же случаях данный элемент К является /-инвариантом некоторой эллиптиче ской кривой? Если АВ ?^ О и поле К алгебраиче ски замкнуто, то можно подобрать такую заме ну переменных, чтобы уравнение кривой при пяло вид 2 Ах 3 сх с. Тогда / 1728с 3 1728с с 3 27с 2 С 27 и с 27/ 1728 Поэтому /-инвариант эллиптической кривой вида 2 Ах 3 27/ 1728 X 27/ 1728 г 2 X ,3 2 + аз V^ + ^4^ + аб', (6.14.2') при этомуХЕ) ^j{E) и ф: £■-> Возможны два случая: / ?^ О иу Е изоморфизм 1728. 1. /V О или, что то же самое, а2 ?^ 0. Выделяя полный куб в уравнениях (6.14.2) и (6.14.2'), по лучаем ал ал f Тогда, так как НЕ) ЯЕ'\ справедливо а 3 2 а гЗ 2 а 6 а г и выполняются равенства 6 (^', У) ф(х, V) 2 3 2 (и X, и v), аг' = и а^-, ci^ г 6 где и ^ К . Изоморфизм Е над Л^ имеет ме а сто, если 2 И 2 (условие для аб, аб' выполняет а 2 ся автоматически). Поэтому кривые Е м Е изо морфны над любым расширением поля К, со держащим а квадратный корень из 2 Если а 2 £"', то группа автоморфизмов содеряшт два элемента: {!,-!} и совпадает с группой квадратных корней из гдаА 1728 или, что то же самое, aj а4. Изоморфизм задается условиями То равен параметру/ в этом уравнении {х\У) ф(х, у) 2 3 {их + г^и у\ 6.14.2. Изоморфизмы над полями характеристики 3 Пусть К поле характеристики то есть За для любого а е К. Согласно теореме 6.7.1 в этом случае уравнение эллиптической кривой может быть преобразовано к виду g(x) X + a2J^ + алх + а^ (6.14.2) где и 4 6 4 3 а4 — 1Га4^ ав —иа^ — и га^ — г , г Значит, изоморфизм имеет место. а f если 4 и 4 6 И и ав ав =Р -^ и га^- Поэтому Е а 4 и f изоморфны над любым расширением поля К^ в котором а f 4 является четвертой степенью и а 4 где существует решение кубического уравнения
121 oi^ г. Это условие выполняется всегда, когда ется неособой тогда и только тогда, когда щф^ степень расширения кратна сепарабельно. 12 и расширение тоестьА?^0. Если Рассмотрим изоморфизмы кривых с одинако- Е\ то группа автоморфизмов имеет выми /-инвариантами. Пусть и f вид так называемого полупрямого произведения групп A\xt{E) - (Ж/ЗЖ) х (Z/4Z), где циклическая группа порядка 4 действует на группе порядка (так как г зависит от и). Если у отлично от О и 1728, то для алгебраически замкнутого поля К можно зада! ь кривую в обобщенной форме Вейерштрасса так, что данный элемент/ е К будет ее/-инвариантом. Урав или /+XF jp + Св. в обоих случаях/-инвариант пение кривой может иметь вид равен а I 6 6Л4.3. Изоморфизмы над полями характеристики 2 Пусть К — поле характеристики 2 и эллипти ческая кривая задана уравнением + а]ху + Сзу + а2Х + алх + аб Используя преобразования уравнения Вейер штрасса из п. 6.7 с учетом равенства полу одинаковыми у-инвариантами и между ними. — кривые с изоморфизм 1. /V О или, что то же самое, С] ф 0. Рассмат ривая соответствующее уравнение кривой в нор мальной форме, получим (^',У) ф(л:, V) (Х, у + SX), йо f 2 а2 + S +5, ав f аб. имеет место тогда где S е К. Изоморфизм и только тогда, когда разность а2 - cij имеет вид S + S. Поэтому кривые Е и Е изоморфны над любым расширением поля К, в котором разрешимо квадратн ое уравнен ие oi н осительно S 2 1 S +5 а? f аэ. Если Е\ то Aut(E) ih Это значит, что автоморфизмом является ото бражение (х, у) ~> (х, у) или (х, у) ~> (х, х + у), то есть ф(Р) = Р или ф(Р) Р. 2J или, что то же самое, ai Использу ем нормальную форму для этого типа кривой. Получаем условие изоморфизма между двумя кривыми £ и £': (^,/) ф(х, у) 3 2 (и~х + л^, i/y + ли X + о чим а 12 1 /А. В частности, aj - О тогда и только и для коэффициентов тогда, когда / 1728. аз f 3 и аз. Са f 4 3 4 и Qa + u лаз + л , Рассмотрим, когда кубика над К является не особой при нулевом и ненулевом/-инварианте. 1./V О или, что то же самое, а\Ф^. Тогда по еле замены переменных х <г- X + с левая час1 ь уравнения кривой примет вид у + aix^ + {<^\с + аз)^. Поскольку а\ ф О, можно считать aiC + аз Линейной заменой переменных можно получить ал Via А О, тогда y+xv х^ + а2л + ал. этом случае а 6 1/7 . Частные произ водные /'jc = V + X и / г J' X равны нулю тогда и только тогда, когда точка х вой, то есть ав О лежит на кри Поэтому кривая является неособой тогда и только тогда, когда дискриминант отличен от нуля. 2./ ИЛИ, что то же самое, а\ Выделяя полный куб, получим нормальную форму кривой ав f и 6 а^-^ и s'a^ + и (s + t)a^ + г. где л, t ^ К. Изоморфизм гда и только тогда, когда f имеет место то- а f 3 , где и е г 5 а 3 б) уравнение четвер! ой степени от s 4 3 4 S -г и лаз + W а4 + а4 имеет решение в К', в) квадратное уравнение от t: г + и аз/^ + (w а^ + и л а4 + w у аз + ав) имеет решение в К. Кривые изоморфны над любым расширением поля К^ в котором выполняются условия в). При f группа автоморфизмов кривой над полем К состоит из 24 элементов. + азУ 3 X + алх + ав. 6.14.4. Бирациональный изоморфизм кривых Тогда а 4 3 Частные производные f X 2 Пусть кривые Ci и Сг (не обязательно кубиче аз X + а4, J у = аз равны нулю в точке (х, у), если ские) над полем К задаются неприводимыми по X . Отсюда следует, что кривая явля- липомами fi(x^y) и й(г/, v) соответственно. Ра и а4
122 ционалъным отобраэюением кривой С] в кривую 2 называется пара рациональных функций стики, отличной от Теорема 6.14.2. Пусть К— поле характери . Кривая четвертой сте и Я(х, v), //(х, v), определенных на кривой 1 (то пени есть на множестве пар (^, У\ 4 ах + Ьх' -\-cj^ + dx + e бирационально на подробнее п. 6.15,2). 0), такая, что fiigix, у), h{x, у)) которых (см. о и .1 + Аи + В над К Кривые 1 и 2 называются бирационально изоморфна кривой v Доказательство. Если а = 0, то утверждение очевидно. Рассмотрим случай аФ^. Заменой изоморфными над К, если существуют рацио- переменных х<г- ха 1/2 ^у<-- уа 1/2 нальные над К отобралсения 1 2 И 2 Ci обратные друг другу. Эти отображения называются бирационалъным изоморфизмом. Они определены во всех точках кривых, кроме конечного их числа (поскольку знаменатель отображения является полиномом, он может обращаться в только на конечном числе точек кривой). Все рассмотренные выше замены перемен пых для кубических кривых являются поли номиальными (регулярными) отображениями и. следовательно, бирациональными изомор физмами. Таким образом, если две эллиптиче ские кривые изоморфны, то они и бирацио нально изоморфны, обратное, однако, невер но. Множество кривых. бирационально изо морфных эллиптической кривой Е. больше множества эллиптических изоморфных Е. строго кривых. пение со старшим коэффициентом а Ь/4, получаем уравнение у получаем урав- .Заменив X на JC X 4 9 вех" + + 8rfr + р другими с. е). Бирациональный изоморфизм задается парой функций V X 5 и с 2 2и с Обратное отображение задается парой рацио нальных функций X 2 и С X 2 5 V X Зс + d Покажем, что рассматриваемое 01обралсение переводит кривую степени 4 в кубическую кри вую. Действительно, подставим х 2и с вме сто у в уравнение кривой ^-т > Пример 6Л4Л. Бирациональные изомор физмы. 2 3 Особая кубика Ci. у =х +x 2 бирациональ но изоморфна конике Сг: v =и. Действительно, замена переменных в виде рациональных функции v< 5 и JC + задает шображение из X СЛ(0, 4 X 2(2и + сЬг + (2и + с) 2 4 X бсх^ + Sdx + е. значит. с)х 2 + 2dx 2 С 2 е + CU + в с. Тогда, решая квадратное уравнение относи 2 Обратная замена переменных тельно х, находим х< и l,v< v(u задает отображение из 2 В CiXO, 0). Отображения С\ 2 I И С 2 Со являются тождественными. х(и d± + и 3 2 С ил- ус 2 е){и Коника С: ху х + бирационально изо морфна прямой Z: u = v. Действительно, замена Отсюда получаем требуемое уравнение куби переменных в и < XV, V< х + виде рациональных задает отображение функций ческой кривой. Аналогично можно показать, что o6paiTioe отобралсение переводит кубическую Об ратная замена переменных х <г- V и кривую в кривую степени 4. У< V задает отображение Z\(l, С. Композиция двух рациональных отображений определена не всегда, поскольку рациональное Особая кубическая кривая, заданная над отобраясение является лишь частично опреде полем К уравнением в форме Вейерштрасса, би- ленным отображением. Если ф:С I 2 И рационально изоморфна проективной прямой '(Ю. Действительно, параметризация (х(Л, v(0) ш:С2 ПИЯ Сз, то областью определения отображе- является множество точек кривой Cj, на особой кубики всюду, кроме особой точки, явля- которых знаменатели функций, задающих ф, от- ется рациональным отображением проективной личны от нуля, областью определения отображения прямой в кубику. Поскольку парамстр / является множество точек кривой С2, на которых рациональной функцией от х и j, то отображение знаменатели функций, задающих ш, отличны от кубики в прямую тоже рационально (см п. 6.15.2). также нуля. При этом отображение \\f(^ может иметь пустую область определения. . . ., ,..,
123 6-14.5- Эндоморфизмы эллиптических кривых скую группу порядка п для кривой ЕЩ, (L:K) п. Эта группа действует на E(L) так же. Эллиптическую кривую можно рассматривать как группа Галуа, разбивая множество точек на не только как алгебраическую кривую с авто- циклы вида (Р, ф(Р), (р^{Р% ...,ф" (Р)). При со- морфизмами (см. пп. 6.14.2-6.14.4), но и как ад- ставном п циклы могут распадаться на кратные дитивную абелеву группу (модуль) с автомор- подциклы неединичной длины. физмами и эндоморфизмами, присущими моду Эллиптическая кривая Е/К^ заданная урав лю. Эндоморфизмы модуля образуют кольцо пением 2 .1 JC + Д С нулевым /-инвариантом об ладает эндоморфизмом вида vj;: (х, v) полем. В ыясним структуру этого 1 + где со End(£) (см. гл. 3). Оно имеет характеристику если кривая рассматривается над алгебраически замкнутым кольца. На эллиптической кривой Е{К) можно опреде лить отображение \\)2:Р^>2Р и вообще отобра- что это отображение для (сол:. У% Поскольку со 3 то \\f(x, у) E{L) для {L.K) Нетрудно заметить. Е{К) удовлетворяет жение ш„: Р пР для произвольного целого п. Тогда \\friP) + \\fAQ) = nP+nQ=n{P+Q) = x^lP+Q\ то есть \^Г1 является эндоморфизмом кривой (как характеристическому уравнению vj; 6 Поэтому не соответствует умножению модуля). Поскольку кривую мы не фиксировали, то кольцо эндоморфизмов эллиптической кривой Е{К) всегда содержит подкольцо Z. Если кольцо эндоморфизмов эллиптической кривой Е{К) удовлетворяет строгому включению End(£) ID Z, то говорят, что кривая обладает комплексным умноэ1сением. Комплексное умножение является важным инструментом, позволяющим повысить скорость криптографических эндоморфизм точки ни на какое целое число, однако соответствует умножению точки на комплексное число, равное примитивному корню степени из 5 ТО есть на 1 + лРЗ Кольцо эндоморфизмов этой кривой над алгебраически замкнутым полем изоморфно кольцу Z[£]. Если поле L конечно, то в нем существует элемент £. Отметим, что хотя алгоритмов без заметного снижения стойкости. Рассмотрим некоторые частные случаи ком- щественно различны: первый плексного умножения. выражения для с, и со похожи, эти элементы су- — элемент кольца Важным примером эндоморфизма в случае поля ненулевой характеристики р является эндо- пением у морфизм Фробеииуса ф, сопоставляющий каж- дадает эндоморфизмом вида \\f'.{x,y) дой точке (х, v) эллиптической кривой Е1К^ где К поле из п элементов, точку (Г, у Я эндоморфизмов, второй — элемент поля L. Эллиптическая кривая Е1К^ заданная урав- х^ — Ах^ с у-инвариантом j = 1728 об- X, iy\ Негде 7 5 \^{х, у) E(L) для (L:K) Пусть кривая Е/К задана уравнением в форме Вейерштрасса трудно заметить, что это отображение для алгебраического замыкания поля К удовлетворяет ^ + а]ху + сзу == х + а2Х + Сдх + а^ (6.14.3) характеристическому уравнению 4 Поэто му эндоморфизм vj; не соответствует умноже где Ci е Ки {х,у)е Е(К). Тогда точка (х^,у^) то же будет принадлежать этой кривой. Действи ПИЮ точки ни на какое целое число. Так как , то отображение соответствует умноже- 4 тельно, если возвести обе части уравнения нию точки на комплексное число, равное при (6.14.3) в степень д, то получим митивному корню степени из то есть на (yf + а, W+азУ = (x'f + азW + аЛ^ + ов'. I лРТ. Кольцо эндоморфизмов этой кривой я я над алгебраически замкнутым полем изоморфно Поскольку а, е К^ то а^ = а^, и точка (х^, у) лежит на кривой EIK. При этом точки с координатами из поля К остаются неподвиясными. Отображение Фробениуса является эндоморфизмом эллиптической кривой Е{К) и, следовательно, эндоморфизмом кривой E{L) для любого алгеб Поскольку кольцу Z[i]. Если поле L конечно, то в нем су ществует элемент i. Здесь также / и i имеют раз элемент поля личную природу: / — мент кольца эндоморфизмов. а I эле Приведем без доказательства ряд свойств раического расширения поля к. точки кривой Ет неподвижны, отображение кольца эндоморфизмов эллиптических кривых над алгебраически замкнутым полем. Теорема 6Л4,3, Кольцо эндоморфизмов эл Фробениуса для кривой Е{К) не может соответ ствовать умножению точки ни на какое целое число. Следовательно, рассмотренная кривая об- липтической кривой над полем С является цело ладает комплексным умножением. Эндоморфизм стным кольцом характеристики 0. Фробениуса образует по умножению цикличе Доказательство см. в работе [13].
124 Теорема 6Л4-4, Кольцо эндоморфизмов эл Приравняем правые части выражения (6.14.5) липтическои кривой над полем собой одно из трех колец: - кольцо Z: представляет и уравнения Q(V D); квадратичный порядок поля алгебру кватернионов. Кольцо End(£) коммутативно тогда и только или 2. тогда, когда имеет место случаи Доказательство см. в работе [21]. Теорема 6.14-5. Эндоморфизм Фробениуса удовлетворяет характеристическому уравнению Тг(ф) + а ? где Тг(ф) + N след эндоморфизма ф, N— число точек кривой £(F Доказательство см. в работе [13]. ч Эллиптическая кривая не может иметь два комплексных умножения на элементы различных мнимых квадратичных полей. Однако может существовать комплексное умножение на элементы различных квадратичных порядков одного и того же мнимого квадратичного поля. Например, эллиптическая кривая с / над расширенным конечным полем может иметь эндоморфизм Фробениуса и комплексное умножение на 1 + лРз 6.14.6. Изоморфизмы эллиптических кривых над алгебраически незамкнутым полем Будем классифицировать эллиптические кри вые 2 по числу корней правой части уравнения дх) в поле ¥р. Полином fix) может иметь три корня, один корень или не иметь корней в поле Fp. Если для эллиптической кривой, заданной в G Fp, то форме Лежандра (6.7.4), выполняется кубическая часть уравнения кривой имеет три раз л и хкорн ь¥р. Рассмотрим изоморфизмы эллиптических кривых, заданных в форме Лежандра. Над алгебраически замкнутым полем эта кривая имеет шесть изоморфизмов [13] при замене параметра А на параметр ц вида 5 5 (6.14.4) Эти изоморфизмы получаются путем замены 2 х(х 1)(х и). (6.14.6) Для этого пронумеруем сомножители в правых частях уравнений (6.14.5) и (6.14.6) слева направо. Равенство полиномов от х будет обеспечено в шести случаях, описываемых перестановками сомножителей: (1, 2, 3), (1, 3,2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1). Например, петель правой части уравнения (6.14.5) следняя запись означает, что первый сомножи- равен третьему сомножителю в правой части уравнения (6.14.6), второй сомножитель в (6.14.5) равен второму сомножителю в (6.14.6), третий сомножитель в (6.14.5) равен первому сомножителю в (6.14.6). Рассмотрим действие указанных перестановок в случае алгебраически незамкнутого поля. . Перестановка (1,2,3). Приравнивая соответствующие сомножители в (6.14.5) и (6.14.6), получаем V Тогда и 2 и ±1 5 А. Это тождественный изоморфизм. Перестановка (1,3,2). Приравнивая первые сомножители в (6.14.5) и (6.14.6), получаем V Приравнивая третий сомножитель в (6.14.5) и второй сомножитель в (6.14.6), т\о- л/А.. Прилучаем откуда и и равнивая оставшиеся сомножители, получаем V и 2 Ц. Перестановка (2, 1, 3). Приравнивая сомножи тел и, соответствующие этой перестановке в (6.14.5) и (6.14.6), получаем 2 и V, V и V 5 и 2 Ц. 4. Для (2,3, V и 5. Для(3, 1, 2): V 5 и Для (3, 2, V и Рассмотренные случаи задают изоморфные кривые тогда и только тогда, когда существуют квадратные корни в поле ¥р соответственно из А. Если какого-либо из кор переменных вида у<^иу, х<^и x-^v. Подстав- ней не существует, то соответствующее отобра- ляя новые переменные в (6.7.4), получим преоб- жение определяет скрученную кривую, которая разованное уравнение вида 2 X + V и 2 V х + 9 и JC + V характеризуется следующим свойством: если элемент поля Fp, отличный от О, 1, А, является и 2 (6.14.5) координатой JC исходной кривой, то он не являет ся координатой х скрученной кривой, и наобо
125 рот, если элемент поля не является координатой Квадратный корень из 1 существует всегда. X исходной кривой, то он является координатой х поэтому всегда существует тождественный изо- , морфизм. Остальные случаи требуют отдельного являются общими для исходной и скрученной рассмотрения в зависимости от того, существуют скрученной кривой. Координаты х, равные кривой. Из этого свойства вытекает, что если ис- ли квадратные корни из 1ДЛ А. + + L то ходная кривая имеет число точек скрученная кривая имеет число точек/? + Следовательно, рассматриваемые шесть ото- если бражений могут задавать либо изоморфизм, либо по модулю п. если/? = 3 (mod 4) Согласно квадратичному закону взаимности является квадратичным вычетом по модулю/?, (mod 4), и квадратичным невычетом отображение исходной кривой в скрученную (яв Условия изоморфизмов и отображений в ляющееся изоморфизмом кривых для любого скрученную кривую приведены в таблице 6.1. квадратичного расширения исходного поля). хС V -: - У "4 Таблица 6.1 Изоморфизмы и отображения в скрученную кривую для эллиптических кривых, заданных в форме Лежандра » » J 2 Таким образом, доказано следующее утвер- где полином g(x) -х + ох + й неприводим над Fp ждение. Теорема 6.14,6, Пусть р^ 2,3. Классификация изоморфизмов для кривых в форме Лежандра полностью определяется символами Лежандра f5i t h ^ 1? ■ Пусть эллиптическая кривая E(¥p) задана над полем F„ уравнением ^. - ^ ^ ^^ ш. -^- t ^>-^ ■_ ^ ^ ж Теорема 6.14.7. Пусть р ^ 2, и Справедливы следующие утверждения. . Всякая эллиптическая кривая с одним кор нем в правой части уравнения изоморфна над F^ одной из двух скрученных кривых _< I •У 2 2 1 )(х +йГ) (6.14.8) или к>^о^-за;^п-'-1=1 .**'Ч ^ \ 2 a)g{x). (6.14.7) Ер,,-.у 3 ' = (X - Вз)(х' + d') (6.14.8')
126 2. у-инвариант эллиптической кривой & есть ял 6 Gd' 2чЗ 2 а'ф'+d') 2 э где J / с/при В I ,d' ^ прир Рз. Для каждого (3 существуют в точности две ется изоморфизмом кривых. Утверждение ных, которая определена во всех точках исход ной кривой. Обратная замена переменных зада ется всюду определенными на (6.14.8) или на (6.14.8') функциями. Преобразование кривых (6.14.7) <^ (6.14.8) или (6.14.7) <^ (6.14.8') всюду определено и взаимно однозначно, то есть явля до изоморфные над Fp эллиптические кривые с j инвариантом т\ за исключением случая У(£р) 1728 (единственная кривая). 2 Доказательство. Полином g(jc) = х +ш: + й неприводим над И-^, однако над квадратичным расширением этого поля он раскладывается на линейные множители: g{x) х + а + а 2 а а 2 АЪ Замена переменных а X X приводит уравнение (6.14.7) к виду 2 а + 2а )(х 2 + D) ? (6.14.9) казано. Утверждение 2 доказывается непосредствен ным вычислением. Докажем утверждение Согласно работе [13], над полем р всякая эллиптическая кривая. в том числе и (где I или 3 изоморфна эллиптической кривой Ех в форме Ле жандра. Замена переменных X 2л/ d'x (24^} у. где d t d при Q], d' =d при Р = Рз, приводит к& с В + л/ d' 2J J' (6.14.10) где D а 2 Ab квадратичный невычет по модулю р. Очевидно, что Did вычетом по модулю р, следовательно, Djd жет являться либо вычетом, либо невычетом степени по модулю п. мо- и Если D d — вычет 4-й степени по модулю /?, то замена переменных X {Did) I 2 X ? {Did) 3 4 в уравнении (6Л4.9) даст кривую вида (6.14.8) с {а + 2а) а 2 АЬ Если D d — невычет 4-й степени по модулю 3 /?, то Djd будет вычетом 4-й степени по модулю/?, и обратно. Следовательно, кривые (6.14.8) и (6.14.8') являются скрученными. Замена переменных X {Did 3 I 2 X, {Did 3 3 4 в уравне НИИ (6.14.9) даст кривую вида (6.14.8') с 3 (а + 2а) 3 а 2 АЬ Таким образом, переход от кривой (6.14.7) к кривой (6.14.8) или (6.14.8') осуществляется с помощью обратимой линейной замены перемен- Значит, над полем р существует ровно значит, и шесть изоморфных кривых для для Eri). Покажем, что кривые вида (6.14.8) является квадратичным (6.14.8')) допускают изоморфизм вида , и других изоморфизмов в поле нет. Действительно, для каждого значения (6.14.4) с учетом (6.14.10) получаем р из X, тогда Y + / Р+л/ d' 2J Г 2л/ / э откуда у для Аналогично, Х:у ^ V^^ ^v^VJr^. для : Y 4d'P, 2 Q"+d' ? ДЛЯ Ad'Q 2 3J')V d' 2 + d' для 4J'B+(p 2 3d')yl d' 2 + d' ? ДЛЯ 4J'B+(B 2 Ъd')^j d' 2 + J' Поскольку -с/' в поле Fp является квадратич ным невычетом, то, очевидно, в этом поле воз можны только случаи у 2 2 При х(х" + d'\ ? ТО {р, есть для из утверждения кривой вида получаем т) 1728.
127 Пусть эллиптическая кривая ^CFp) задана над Если 2 (mods), то в поле F,, справедливо полем Fp уравнением то есть 3 X + ох + й. 2=^1- Если р= 1 (mods), то в (6.14.11) поле F„ существует три корня третьей степени из 3 где полином х + ох + й неприводим над F^. 2 единицы: 1, со, ш , где ш iW Теорема 6.14.8. Пусть /? ^ 2, и Замена 2 3 переменной X сох X 4-лх + Б дает 2 Справедливы следующие утверждения. 1. Всякая эллиптическая кривая с неразложи переменной х 2 В уравнении х" + ^сох + Б, а замена 3 со X дает у 2 3 2 X н-^ш'х + Б. Сле довательно, эти три кривые изоморфны. мой правой частью уравнения изоморфна над F р Теоремы 6.14.6-6.14.8 остаются справедли одной из двух скрученных кривых выми и для ЭЛЛиптич еских крив ых EIK, где 2 X 3 + ^lX + (6.14.12) К iT при этом р меняется на К^ символы Ле или жандра на квадратичные характеры поля К^ а л нап . Еа:.у'^^х'^-\-А^'± (6.14.12') 2./-инвариант эллиптической кривой Еа есть АЕ А 8 {ЪА) 3 АА 3 + 27Б 2 э Теорема 6.14.9. Кривые, принадлежащие объ единению множеств эллиптических кривых из теорем 6.14.6-6.14.8, остаются попарно неизоморфными и при переходе к расширенному полю простой степени расширения больше 3. твеВ xvpviA 1 .В dxmwA Аф Доказательство. Поскольку степень рас 3. Для каждого А над полем F„ существует единственная эллиптическая кривая А С ширения нечетна, кубический полином остается неприводимым в расширенном поле. Поэтому не инвариантом/(Е^), если/? (mod 3), и три изо морфных кривых (mod 3). с инвариантом j{Ej^^ если Доказательство. Если квадратичный существует замены переменных, переводящей кривую с одним корнем над простым полем в кривую с тремя корнями и обратно. Следовательно, эти кривые неизоморфны над расширен ным полем, далее если они имеют одинаковое вычет по модулю А то замена X 1 3 х,у 1 2 переменных число точек и изоморфны как абелевы группы. в уравнении (6.14.11) даст Поскольку степень расширения не кратна ? кривую вида (6.14.12) с 2 I ЬфО поскольку полином в правой части непри кубический полином остается неприводимым и аЬ ^^ (очевидно, что над расширенным полем. Следовательно, кри вые, неизоморфные над простым полем (случай водим). Если квадратичный невычет по модулю 5 ТО замена переменных X {bU-d)) 1 3 трех корней и случаи неразложимой правой час ти), остаются неизоморфными и над расширен ным полем. При этом в любом расширенном по X ? ле неприводимый полином или остается непри ibKd)) 1 2 В уравнении (6.14.11) даст кри водимым, или раскладывается на линейные мно жители, то есть изоморфизм кривой с одним вую вида (6.14.12') с d a{b/(~d)) 3. Утверждение 1 доказано. Утверждение 2 доказывается непосредствен ным вычислением. Докажем утверждение 3. Необходимым условием изоморфизма кривых является равенство их корнем и кривой с неразложимой правой частью возможен только тогда, когда степень расшире ния кратна 6, что в нашем случае исключено. Значит, рассмотренные эллиптические кривые действительно попарно неизоморфны над рас ширенными полями простых степеней расшире ния более 3. инвариантов ? то есть, если кривые А 2 3 X +^)Х + Б1 и 2 3 1 А 2 X +Л2Х + Б2 ИЗО морфны, то jXEa ) ^J(Ea )• Итак, пусть изоморфны две кривые вида (6.14.12) или (6.14.12^), то что На основании теорем 6.14.6-6.14.9 получаем, число неизоморфных (как алгебраические есть I 2 Д где или d. Тогда из кривые, но не как абелевы группы) эллиптиче ских кривых Е(К) Е/¥^ где К F „, асимптоти равенства/-инвариантов следует, что 3 I 3 2' ТО есть 2 Д^1. _^ чески равно 0(р/(\пр)) и не зависит от числа п. Аналогичные рассуждения справедливы и для эллиптической кривой Е(К) = Е/К; число неизо
128 морфных эллиптических кривых EIK асимптоти- deg(7V(a + by)) = 2deg(a), если deg(a) > deg(6) + 2; чески равно 0(/?" /(In р)). deg(N(a + by)) = 2deg(ft) + 3, если deg(a) < dcg(b) + Поэтому 6.15. Отображения алгебраических кривых и а е К . Группы обратимых эле ментов колец К[Е\ и Щх] совпадают. В этом про является аналогия кольца К[Е} с мнимым квадра тичным кольцом. данном разделе изучается связь между множеством точек алгебраической кривой и полем рациональных функций на этой кривой. Со- g:a + by^ deg{N(a + by)) Теорема 6.15.1. Кольцо К[Е\ евклидово. Доказательство, Покажем, deg(a^ что функция b^f) задает на 2 поставление точек алгебраических кривых и ра Щ.Щ структуру евклидова кольца (см. п. 3.7). циональных функций может быть полезным при Пусть а + йу, с + ф; е ЩЕ], и g(a + by) >g{c-^ dy). анализе криптографических алгоритмов с откры Запишем тым ключом. а-^ by (с + dy)(e + fry) + (г + sy) 6.15.1. Регулярные функции и отображения при этом g{a + by) "= g{c + dy) + g(e + hy), Доста точно показать, что можно выбрать полиномы е(х% Ых) так, что ф^-^ sy)<g{c-^ dy). Для этого Пусть С{К) — неприводимая аффинная алгеб раическая кривая, заданная идеалом 3(C). Функ покажем. что на каждом шаге деления g(r + sy) < g(a + by\ тогда, продолжая деление. цией на кривой С назовем отображение точек можно получить g{r + sy) < g(c + dy). Обозначим кривой (то есть пар (х,у) С(К)) в поле К (Яо, bo. Со, do, во, h о старшие коэффициенты по- Функция f\ С(К) -^ К называется регулярной, ее линомов а, Ь, с, d, е, h соответственно. Предположим, что оба значения g{a + by) и ли она индуцирована некоторым полиномом g{c + dy) четные. Тогда g{a + by) ~ 2deg(a), Fix, у) Щх, у\, то есть если ЯР) = F{P) в каждой g(c + dy) == 2deg(c) и значение g(e + hy) должно точке cm. Множество всех регулярных функций образует кольцо э совпадающее с кольцом ЩС]. Действительно, имеет место го моморфизм колец Щх, y^^R с ядром 3(C), при этом в соответствии с теоремой 3,5.2 имеет ме сто равенство К[С] К\х, V] 'SiC К) Рассмотрим некоторые свойства координатного кольца ЩЕ\ = {а{х) + Ь{х)у 1 а{х), Ь(х) е Щх]} эл липтическои кривой £:/ Лх). Кольцо ЩЕ] является целостным, поскольку jKIx, v] стное кольцо, а его идеал (у 2 Ах)) простои. Норма элемента а + Ьу кольца ЩЕ\ равна Ма + by) а 2 b'f Щх\, при этом норма произ ведения равна произведению норм. Функции а + by я а являются сопряженными Имеет место равенство (а + Ьу){с + dy) - (а + Ьу){с + dy) (чертой обозначен сопряженный элемент). Арифметика кольца ЩЕ\ аналогична арифметике кольца целых квадратичных чисел, вместо -^JD используется Л- Единственными обратимыми элементами кольца ЩЕ\ являются элементы группы К . Действительно, из равенства {а + Ьу){с + dy) = 1 и муль типлйкативности нормы следует 2 Г/еХ. Но 13 Предполагается, что спаг(л) ^ 2 и старший ко эффициент полинома дх) единичный. быть четным, то есть g{e + hy) = 2deg(e). Положим е о а о с о и degfe) deg(a) deg(c). Тогда g(r + sy) < g(a + by). Для перехода к следующей итерации алгоритма деления полагаем а-^ by a + by (с + dy)eox^'^^'^. Предположим, что значение g(a + by) четное, а значение ^c + dy) нечетное. Тогда значение g(e + hy) должно быть нечетным. то есть g{a + by) = 2deg(a), g{c + dy) = 2deg( J) + 3 g(e+ /?);) = 2deg(A) + 3. Из равенства g{a-^by) g((c + dy)(e + hy)) следует ao и d(^h C'O где цело- старший коэффициент в fix). Поэтому о ajd о и deg(/z) deg(a) deg(J) Получаем g(r-^sy) g{a + by). Для перехода к следуюш;ей итерации алгоритма деления полагаем а-^ by а + by (с + dy)hox'''^^\ Предположим, что значение g(a + by) нечетное. а значение g{c + dy) четное. Тогда значение Ые + hy) должно быть нечетным. то есть g(a-^by) 2deg;6) 4- 3, g(c + ф) = 2deg((^) И g(e + йу) 2deg(A) + 3. Из равенства g(a + by) = g((c + dy)^ x(e + hy)) следует 0 Coho^ Поэтому Qo/d 0 и deg(A) deg(a) dcg(d) Получаем g(r + sy) g(a + by). Для перехода к следующей итерации алгоритма деления полагаем а-^Ьу а + Ьу (с + dy)hoX^'^% Предположим, что оба значения g{a-^by) и g(c + dy) нечетные. Тогда g(e + hy) должно бьггь четным, то есть g(a + by) = 2deg(b) + 3, g{c + dy)
129 2deg((^ + 3 и g(e +/?v) = 2deg(e). Из равенства g(a + ty) = Щс + ф)(е + /?);)) следует S : этому бл bJd о и deg(e) deg(ft) о = Jo^o- По deg((^. Полу чаем g(r + .s);) < ^а + й>). Для перехода к следую- итерации алгоритма деления полагаем щей а-^Ьу а-\-Ьу (с + dy)eox^'^^'\ Доказательство остается справедливым для произвольной нечетной степени deg(/) > 5. Я1(Ф(ЛЬ(Ф(Р)) I Ф(Л)(Я2 ¥Л1 где g\,g2 е ^[^2], Р е Сь то есть координатные кольца гомоморфны. Аналогичное утверя^дение справедливо для произвольных аффинных алгебраических многообразий. Имеет место и обратное утверясдение: всякий гомоморфизм аффинных координатных Поэтому кольцо К[Е] обладает однозначным колец \\f:K[V2] K[VA алгебраических много разложением на простые множители, и каждый образий идеал в ЩЕ] является главным. 1 и 2 имеет вид * где торое регулярное отображение из 1 в 2 неко Дока Таким же образом можно определить коорди натное кольцо для алгебраического многообра зия Г, заданного простым идеалом 3(V/K): K[V] iV I *Л/1 «• • •« *Л/ л 3(V/K) Пусть алгебраические кривые С\(К), С2(К) за даны полиномами У5(х,з^),^(г/, v) соответственно. Регулярным отобрстсением' ^ алгебраических кривых С\ —> Сг назовем пару регулярных функ ции и F\ (х, у) ? V ^2(х, v) таких ? что если f\ {^г. у) О, то /2(Fi(x, у\ р2{х, у)) Композиция регулярных отображений также является регу лярным отображением. Пусть I 2 регулярное отображение кривых. Тогда каждой функции g: С2^> К соот ветствует функция 1 К такая, что h{C\) ^(ф(С|)). Если функция g регулярна, то функ ция h тоже регулярна. Определим отображение ф *: KIC2] K[Q] для координатных колец следующим образом * ЯСФССО) для всех К[С 2 Теорема 6.15.2. Регулярное отображение ал гебраических кривых зательство аналогично. Пусть (хр, у г) с/к алгебраическая кривая и точка на этой кривой. Рассмотрим , обра регулярные функции F{x, у) на кривой щающиеся в нуль в точке Р, то есть Fixp, ур) Сумма любых двух таких функций обращается в нуль в точке Р. Произведение такой функции на любой полином из jK1x,>] обращается в нуль в точке Р. Поэтому совокупность всех таких функ ций образует идеал т^ в кольце К[С]. Имеет место изоморфизм колец К[С] ш к. который вычисляется как значение функции из К[С] в точке Р. Поэтому ЩС] 9Л„ является полем. а идеал tn/> максимален по теореме 3.6.1. Обрат но, любой максимальный идеал Ш с К[С] соот ветствует некоторой точке Р с [9] t« Пример 6.15.1. Регулярные отображения. Пусть Е: х' + вая. Отображение ф(х ? эллиптическая кри- (х , ху) этой кривой в I 2 индуцирует гомо- другую кривую является регулярным. морфизм ф* координатных колец К[С 2 К[С. ]. 2. Пусть алгебраическая кривая над по- Доказательство. Ясно, что композиция полиномов представляет собой полином, поэтому при gsK[C2] является регулярным отобра- лем р' I ображение Фробениуса (х, v) (А / является регулярным отображением кривой себя. в Отображение аффинной прямой s = t в вы жением I к. следовательно. G К[С I рожденную кубику 2 3 , 2 5 задаваемое пара При этом ф)(соп81) = const. Тогда для суммы и метризацией 3 Lt 1 является регулярным произведения получаем Однако обратное отображение, задаваемое ((gi + gi) ШР) I + g2){i}{P)) функцией X , регулярным не является е1(ф(Р)) + е2(Ф(Р)) (igigi) ШР) - \ gi ЫР) gi ¥.Р\ (&Я2ХФ(Л) ^'-' -г л^ л -4' _- с в \Я- i ^ и Регулярное отображение называется также морфизмом. Регулярное I отображение алгебраических 2 называется изоморфизмом^ кривых если существует регулярное обратное отобра ф\|; — единичное отображение на Сг, а шф — единичное отобра жение ш: С2 —> Сь при этом жение на I Алгебраические кривые 1 и С2
J3€ называются в этом случае изоморфными. 15 Яс квадратичным расширением поля К(х) для любо но, что если кривых, то изоморфизм алгебраических го подполя К поля К. Регулярные функции на * изоморфизм соответствующих кривой С(К) имеют вид а(х, у) а(х) + Ь(х)у, аффинных координатных колец. Справедливо и где а(х), Ь(х) е К[х]. Это обусловлено тем обратное утверждение. Поэтому аффинные ко- каждый член полинома из АГ[х,з^] 1 zk с г \ г г\ 1 л э что МОЖНО запи ординатные кольца изоморфны тогда и только сать в виде у у'^^х), где е е 9 1}, И заменить у 2 тогда, когда изоморфны соответствующие ал- наДх). Аналогично можно показать, что элемент поля Б(х) К(С) имеет вид А(х) + В(х)у. где А(х1 К(х). Действительно, рациональная функ гебраические кривые. Алгебраической группой называется алгебраическое многообразие G, которое одновременно ция может быть записана в виде отношения ре является группой, причем выполнены следую- гулярных функций. Тогда щие условия: отображения ф: G —> G, (p(g) w-.GxG^G, \\}(gugi) = gigi для любых и g\ g2 e G являются регулярными отображениями. Таким образом, эллиптическая кривая является алгебраической группой. а + Ьу c + dy (а + Ьу)(с dy) с 2 2 ас bdf + (be ad)y с 2 2 А-^Ву 6.15.2. Рациональные функции и рациональные отображения Пусть аффинная алгебраическая кривая не приводима. то есть задана простым идеалом 3(C). Тогда координатное кольцо ^Г[С] является частных К{С), называемое полем рациональных фуикцш на алгебраической кривой С. По определению поля частных любую рациональную функцию Для функции а(х, v) а{х) + Ь{х)у K(Q МОЖНО определить норму умножением на сопря женную функцию: Ща) аа а 2 2 f е К(х), Щрс]. Из мультипликативности нормы и целостным, и для него можно построить поле д^ет с К при этом N(a^) = N(a)N(P). Для а е ЩС] имеем N(a)e нечетности степени полинома fix) следует, что группа обратимых элементов кольца К[С] совпа- Рациональная функция / е К(С) называется регулярной в точке если существует пред можно представить в виде 9 где AgeK[C], ставление f(P) g^O на С. Функции и G равны, если случае элемент JG Fg g(P) h(P) gin h(P) такое, что h(P) ^ 0. В этом поля К называется значе J(C). Аналогично определяется поле К(С). Это определение автоматически переносится нием. функции/в точке Р. Сумма и произведение функций из К(С), ре и на неприводимые алгебраические многообра- гулярных в точке э регулярны в Р. Совокуп и зия в и-мерном аффинном пространстве. Размер- ность всех функций из К{С), регулярных в точке ностъ неприводимого алгебраического многооб- Р, называется локальным кольцом точки разия V определяется Kajc степень трансцендент- обозначается Ор. ности поля К(У) над К. Алгебраические кри Рациональные функции F{x, у) е Ор э обра вые имеют размерность щающиеся в нуль в точке Р, образуют идеал Шр Пример 6.15.2. Рациональные функции на Гомоморфизм колец а f кривой Ш К задается вычис / С: у Поле К{С) рациональных функций на кривой 2 jy \ /^ -^ меньше fix), где/— полином нечетной степени не является квадратичным расширением поля К(х) рациональных функций одной пере лением значения функции из Ор в точке Р. По этому идеал Шр максимален по теореме 3.6.1 Очевидно, что все элементы ОЛШр являются об меннои за счет присоединения корня неприво димого над К(х) полинома 2 ратимыми. fix). Поскольку этот полином неприводим даже над алгебраиче ски замкнутым полем К, то поле К(С) является Нетрудно убедиться, что это определение изо морфизма является обобтцением изоморфизма эллип тических кривых из п. 6.14. Если точка Р неособая, то идеал Шр является главным. Он порожден элементом из Шр/Ш],, который определен с точностью до обратимого элемента кольца Ор [21]. 2 Например, х^ + ах^ + Ьх на эллиптической для (0,0) кривой функции
131 X 2 + 2 + v(x + l) x-\-y(x-\-\) x-\-3 ? x + 3 лежат в Op. при Проективная алгебраическая кривая С задается нулями полиномов из однородного идеала 3(C). этом первая функция является обратимым эле ментом кольца 0/>, а вторая функция лежит в ШТ, Проективная алгебраическая кривая С неприво Теорема 6.15.3. Если рациональная функция определена во всех точках алгебраической кривой С{К), то она регулярна. . ^ Доказательство см. в работе [9]. Пусть Сь бражение 2 алгебраические кривые. Ото- точке дима тогда и только тогда, когда ее однородный идеал 3(C) над алгебраически замкнутым полем является простым. Однородный полином/из К[Х, Y,Z] не явля ется функцией из С{К) в К, так как из условия (6.15.1) при любом ненулевом X е К следует, что значение полинома/должно быть одинаково для всех X, Однако нулевое значение полинома в проективной плоскости определено пра I 2 называется рациональным, вильно, так как из J{X, F, Z) „/Г „ . Л-.- jy^ -хг -s rr 'х r-wx _ 'xd/Txr тг "J^ , где deg(/) если оно задается набором рациональных функ- fiXX^ XY, \Z) = IffiX, F, Z) следуетДЯД AF, ?iZ) ЦИЙ/ g e K{Ci) таких, что если знаменатели этих Рациональной функцией на проективной кри называется частично определенное отобра и функций отличны от нуля, то/ g е Сг. вой Пусть I 2 рациональное отображе ние алгебраических кривых. Тогда каждой функ ции g:C2^>'K соответствует функция I К такая, что h(CA = g(^{C\)). Если функция g рацио нальна, то функция h тоже рациональна. Опреде лим отображение ф*: К(С2) -^ К(С]) полей функций следующим образом: ф* =^°ф = ^(ф(С|)) для всех ф:С, W-C g е К{С2) . Рациональное отображение С2, для которого обратное отображение 1 тоже рационально и ф\|; (V М>Ф с. является бирациональным изоморфизмом. жение /:С К, заданное соотношением ПР) g(p) КР) 1 где g.h K[X,r,Z] однород ные полиномы одной и той же степени d. h 3(0 еС. случае Ы,Р) Ф О частное КР) но определено, так как для ненулевого \ коррект g(U:,IF,?^Z) d g{X,Y,Z) g(X,Y,Z) -i. > d h(X,Y,Z) h{XJ,Z) .(6.15 Теорема 6.15.4. Алгебраические многообразия бирационально изоморфны тогда и только тогда, когда изоморфны их поля функций. Доказательство см. в работе [9]. ^^> ^ Кроме того. и I определяют одну и ту I же функцию на С тогда и только тогда, когда h\g hg I G J(C), так что множество рациональ Отображение полей функций * индуцирует и отображение К{С, К(С) этом случае поле к(а является конечным расширением поля /^(Сз) (см. работу [12]). Степень расшире ния {К(С,): ф отобраэ1сения * К(С 9 называется степенью Постоянное отображение С{К) к по определению имеет степень Отображение Фробениуса {х,у) р , v^ имеет степень [13]. Рациональное отображение [/], заключающееся в умножении точки на число 2 имеет степень /. - л ' -\* *.;;j^'|^-^-Xy,5t5^i; *v- - 6.15.3. Проективные кривые Пусть 2 {К) проективная плоскость. С уче том того, что (Z, F, Z) - (XX, AF, AZ) (6.15 ных функций является полем К{С) g.h K[X,Y,Zlh 0 3(C) с учетом эквивалентности (6.15.2). Пусть С— неприводимая проективная алгеб раическая кривая. По аналогии с аффинной кри вой рассмотрим локальное кольцо Ор / точки , состоящее из всех рациональных функ ЦИЙ / G K{X,Y,Z) , регулярных в точке Р. Един ственным максимальным идеалом кольца Ор яв ляется идеал Шп е Ор / АР) 0}, состоящий из всех необратимых элементов кольца Ор. При изучении некоторых свойств кривой иногда достаточно исследовать С в окрестности произвольной точки Р. Например, проективная эллиптическая кривая в форме Вейерштрасса fz X^+AXZ^ + BZ^ является объединением двух аффинных кривых о ■у 3 X +Ах + в 9 для ХеК , точка (X F, Z) может лежать в 2 (К), даже если ее координаты не лежат в поле К и Ел :z 3 2 1 X -\- Ax^z^ +Bz. 3
132 (где о получена в окрестности любой конечной переменной равна / + Размер коэффициентов точки (Z 9 а Е] в окрестности бесконечно модулярного полинома быстро растет с ростом удаленной точки (F= 1)), склеенных при помо- Модулярные полиномы для изогений степеней 2, щи изоморфизма и 5 имеют вид Г17]: Ео\(у Е, \(z, 0), i^^y) X 5 УУ Здесь X X X 5 ,Х 1 ,^ 1 6.15.4. Изогений эллиптических кривых Пусть Е\{К) и Ег^К) — эллиптические кривые. Рациональное отображение ф: Е\{К) —> EjiK) такое, что ф(Ро: назовем изогениеи, а кривые 1 и 2 изогенными Изогению переводящую все точки кривой в бесконечно удаленную точку 5 назовем нулевой. Изогений эллиптических кривых индуциру ются гомоморфизмом решеток C/Zi и C/Z 2 (см рис. 6.11). Например, решетка 1 ZQi + ZC02 гомоморфна решетке 2 Zx + Z, где т WCO 1 и со 2 п>\. Прип^ 1 решетки изоморфны. Ядром изогений Е 1 во точек кривой Е], отображающихся в Р 2 называется множест Изогения (р: Е}(К) ^> EjiK) как рациональное отображение индуцирует отображение полей функций на кривых Степень расширения (К(Е{):ц)'^К(Е2)) называется степенью изогений. Для изогений ф: Е\(К) дуальная изогения ^'.E^iK) Е2(К) • Е, (К) существует такая, что W [/], где умножение точки кривой Е] на число /. Аналогично ^^ умножение точ степень изогений. ки кривой Е2 на /, причем Дуальные изогений имеют одинаковые степени. случае алгебраически замкнутого поля one рация умножения точки на число / задает эндо из морфизм эллиптической кривой с ядром точек. Поскольку изогения соответствует «квад ратному корню» из операции умножения на ядро изогений состоит из / точек порядка /, обра зующих циклическую группу (одной из них яв ляется точка Ргг 2 2 Между (К) с эллиптическими инвариантами j] кривыми 1 (К) И И /2 соответственно изогения степени / существует тогда и только тогда, когда выполняется равенство Ф/(/ь/2) над К: где Ф/(г/, v) е Z[w, v] — /-й симмет Ф 2 ? 2 2 162000(г/" + vO + 40773375wv + 6 9 + 8748 • 10\и + v) ~ 157464 • 10^; Ф 3 ? 4.4 и +V t/v + 2232uV(u + v) 3 3 ]069956uv(u^ + v^) + 36864000(г/' + vO + 2 2 H- 2587918086г/у^ + 8900222976000г/у(г^ + v) + + 452984832 • 10V^ ' ^^ -——^—^ -6 + v) 770845966336-Ю^г/у^ + 1855425871872- 10 9 V). Ф 5 ? 5,5 и +v 4 4 4 4 г/V + 3720«^V(«^ H- v) 3 3^ 2 . 2л . 1^^^г»глг»^^.,^лл 3 3 4550940г^ V (w + v^ + 1665999364600г^ V + 2 2 3 3 + 2028551200г^ V (г^^ + v^ + 3 3 + 107878928185336800«^V(«^ + v) 4 4 246683410950г/у(г^" + v") н- 2 + 383083609779811215375Л^(г/^ + v^ 3 3 441206965512914835246100г^^у 4 4 5 5 246683410950г/у(г^" н- v") + 1963211489280(г^" + v^ + 3 3 н- 128541798906828816384000г^у(г^' + v^ -^ 2 2 + 26898488858380731577417728000г^у> + v) + 4 4 2 + 1284733132841424456253440(г^" н- v") 192457934618928299655108231168000«^v(«^' + + v^) + 5110941777552418083110765199360000г^У + + 280244777828439527804321565297868800(г^^ + \^) + + 36554736583949629295706472332656640000г/у х X (и Н- v) Н- + 6692500042627997708487149415015068467200 х 2 2 X (и^ + vO 264073457076620596259715790247978782949376г/у + + 53274330803424425450420160273356509151232000 х X (и v)H- н-141359947154721358697753474691071362751004672000 Уравнение Ф/(^,/') для нечетного / имеет в поле р один корень или / + корней при D О , имеет два корня при D и не име D ет корней при где/) дискриминант характеристического уравнения эндоморфизма Фробениуса л 2 7л+ £> 7t(x, V) Р ,л р + 1 - #£'(Fp) [15]. Из симметричности полинома Ф/(г/, v) следует, что для каждой изогений существует дуальная. Для простых / модулярные полиномы удовлетворяют сравнению: Фу(г/, V) / v)(v / и) (mod /). Модулярный полином неприводим над рический модулярный полином [И]. Число ела- 0i{u.j) может быть определен по методике работ гаемых в Ф/ равно 0{f\ степень Ф/ по каждой [3, И] спомощьюфункцииД?) (см. п. 6.10.3).
133 Пример 6.15.3. Изогении степеней 2 и 3. Пусть кривые Е] и Ej заданы уравнениями Изогения задается формулами #^-= ^ь V 9 Ео: V 2 и 3 л:"* + ах' + Ьх 2ai/ + id и х + ? t V о 5 + о *-■' 4f?)w. ОеТ? л: л: о ^о) 2 ir - Тогда можно построить изогении степени 2 ф:^ 1 V 25 2з^^о + .4^ ^; Q^R X Q J \;) 2 (w,v) 2 Ял- 2 ^ л: 9 л: 2 У 5 Кривая Е^К) задается коэффициентами t.. и -.--l^-r - -.'J^ Ч ^' 7, ? ^ ^^ * . " '*v^ ■ г- -■- - A^A-'^YJq^ ^1=^-7У(5^,+^^). ф:£^ (^^v) 2 'v^ уьг Е > к /? ОеУ^ ' а 2 4f>) Изогения степени /, отображающая кривую в 4г/ 2 ' Ъи 2 себя. соответствует комплексному умножению на элемент мнимого квадратичного порядка с Непосредственные вычисления показывают, нормой /, при этом модулярный полином Ф^и,]) имеет корень/. что ^^ соответствует удвоению точки на кривой *" _- £2, а фф — удвоению точки на кривой Е\. Точки (О, 0) и Ра: лежат в ядре изогении. Заменой пере- <— л: - а/3 кривую Е] можно привести к меннои X 6.15.5. Полиномы Жегалкина как функции на поверхности единичного куба X +Ах + В. виду/ Пусть 1 (^: У 3 х'+Ах + В, EjiK): V 2 и' + Кольцо полиномов Жегалкина РгГ^ь ...,л:«]/21 ? где 51 ЕЛК) (х\{\ @ Х\\ ...,л: п @х и можно рас аффинная точка сматривать как алгебро-геометрическую струк порядка 3 (точка перегиба). Изогения степени задается выражениями кольцо функций на некотором алгебраи туру — ческом многообразии Множество 2 и X (2х 2 нулей полинома Xi{Xi @ я X) + х(2А + 5д:;Л + 4В + 2Ах.^ ^r) 2х' 2 5 соответствует паре параллельных плоскостей в ^7-мерном аффинном простран- д: и X 2 V X (3xj, х(2А + 9х 2 R SB 6 Ах я X 3 R . ^r) 3 5 I 9А 2 ЗОд:/: В 1 27 В 70д: 3 R 42Axr. Ядро изогении содержит точки порядка (л:я, 3^7?), {xr, -yi^, Роэ, а также другие точки пере гиба. стве над F2. Множество нулей идеала 21 представляет собой совокупность плоскостей, ограничивающих поверхность ^г-мерного единичного куба. Перейдем от аффинных координат к проективным. Выберем проективные координаты так, чтобы все полиномы были однородными. Для этого положим XiZ, X,. Тогда при Z, ;t О выпол няется равенство X X I I При таком переходе Изогении составных степеней могут быть ; найдены как композиция изогении соответст вующих простых степеней. Изогения простых единичный аффинный куб отображается в еди ничный проективный куб. степеней />5 для эллиптических кривых над полями характеристики ;^ 2,3 может быть вы числена следующим образом [15]. Определим j^ Z t I X, при Д ;t О и потребуем. Пусть Е^{К)\ у^х^+Ах + В; EjiK): v 2 и' + + ^,w + £i и {хп.уп) е 1 (К) аффинная точка чтобы выполнялось условие z,(Zi® 1) = 0. Тогда идеал 21 наряду с полиномами X^iXj @ Z,) будет порядка /. Ядро изогении степени / содержит аффинные точки порядка из множества /?и аффинных точек, причем R п 0. содержать полиномы Zi(X, © Zj. В этом случае аф полином ^/1 'Л-\ на поверхности Таким образом, множество состоит из финного куба перейдет в однородный полином -1)/2 Для точек. %,.--,1к г -Л. . ... -А ; '1 'к п 7 ■ ■ ■ Ж-/ Jn-k степени п на по е R положим gox Ъх 2 SQ Ахо + AAxq + 4Б; to 6х 2 + A;go^ 2уо; верхности проективного куба. где индексы + 4А. 71 ? ■J П k ЯВЛЯЮТСЯ дополнением к исходному
134 множеству индексов {/'i, ..., 4} в множестве безопасности криптографических алгоритмов на {1,2, ..., w}. Отметим, что переход от аффинного эллиптических и гиперэллиптических кривых, а также при разработке таких алгоритмов. пространства к проективному приводит к удвоению числа переменных, тогда как согласно классической алгебраической геометрии число переменных увеличивается на 1. Проективный полином, соответствующий полиному /е G^^, имеет степень, не меньшую чем число непостоянных слагаемых и не большую чем п. Например, поли- кольца Ор. 6Л6Л. Локальное кольцо точки и нормирование Пусть Ор — локальное кольцо неособой кри вой в точке и Ш р максимальный идеал ному Xi @ 1 соответствует проективный полином X] @ Zi, полиному X] @ д:2д:з — проективный полином X1Z2Z3 @ X2X3Z]. Обратный переход от проективного полинома аффинному осуществляется делением Лемма 6.16.1. Справедливо соотношение ОО Пш",, -# jH ж- (0) /7=1 к на ./ Все координаты проективного полино Доказательство см. в работе [6]. Теорема 6.16.2. Пусть точка кривой С. ма равноправны, поэтому его можно делить на Справедливы следующие утверждения. любой одночлен вида ТТ^/^у ' ^ так как на делить нельзя, соответствующая аффинная функция оказывается частично определенной. Таким образом, одному и тому же проективному полиному могут соответствовать разные (частично определенные) аффинные полиномы. Назовем такие аффинные полиномы проективно эквива лентными. Аналогично можно определить проективную эквивалентность для наборов булевых функций одних и тех же переменных. Проективно эквивалентные подстановки имеют одинаковые проективные уравнения (с точностью до переименования переменных). исходной аффинной области проективного . Одна- 1 п куба выполняется условие ко в проективном кубе все 2п координат равно правны и допускается Z^ Переход от однородного полинома i^(Xi, ..., Д„ Zi, ..., Zy) степени а на поверхности проективного i^6a к соответствующему полиному fc на поверхности аффинного куба nyi ем деления на одночлен G степени d задается (частично определенной) рациональной функцией г Jg G этом случае знаменатель G может принимать значение в некоторых вершинах рассматриваемого i^a. На этих вершинах функ ция/g не определена. Каждый идеал кольца О р. отличный от нулевого и единичного, является некоторой сте пенью идеала Шр. 2. Шр — единственный ненулевой простои идеал в кольце Ор. З.Ор I кольцо главных идеалов. Доказательство. Так как 21 ;^ Ор, то 21 93Тр. / Из леммы 6.16.1 следует существование целого п > 1 такого, что Ш^Шр и 21 (X93Т;/'. Значит 5 найдется элемент а 21 П 93Т'' / такой. что а ^ 93Т;Г' Идеал 93Тр / главный. то есть Шп - Ю р для некоторого и, значит, а fu. где и обратим в Ор. I Тогда аи 1 и Ш^ 21. Отсюда п Ш1. I Так как всякий нетривиальный идеал кольца Ор является степенью Шр^ то Шр — единствен- Ш,^ ныи простои идеал. Поскольку идеал идеал 21 кольца Ор имеет вид кольцо главных идеалов. главный и любой 93Т", то Ор Введем дискретное нормирование поля ра циональных функций К {С) на кривой CIK (см п. 4.7). Положим для любой функции g, регуляр ной в точке Р, v/^(g) max(w ^Ж.:g^ Ш1). 6.16. Дивизоры на алгебраических кривых Для рациональной функции г К{С) имеет место представление г Положим Мя) vm Использование дивизоров позволяет установить связь между функциями на алгебраических кривых и точками этих кривых. Дивизоры являются важным инструментом при исследовании ным нормированием. V/>(/) Нетрудно убедиться, что введен пая функция V. : К{С) является дискрет
135 Если/e Шр, то говорят, что функция/имеет ъ в точке Р: если /^' е ОЗТр, то говорят, что Рациональную функцию F(x) одной перемен Ш Р, то говорят, что ной из ПОЛЯ К(х) можно с точностью до кон нуль в точке функция / имеет полюс в точке Р. Значение нор- станты задать списком нулей и полюсов с учетом мирования vp(f) задает порядок нуля функции/в их кратностей. Поскольку числитель и знамена- точке /•, значение гр(Г ) задает порядок полюса те ль функции Fix) являются полиномами из функции/е Ор в точке Р. К[х], они раскладываются на конечное число Ш Кольцо Ор является кольцом нормирования, а линейных множителей. Чтобы различать нули и Р — идеалом нормирования. Униформизующгш. полюсы функции F, будем их учитывать с раз- параметром нормирования называется функция из К {С), имеющая в точке Р нуль кратности ными знаками: нули со знаком «плюс», а полю сы со знаком «минус». Точно так же рацио на Нормирование поля рацио Пример 6.16.1 нальных функций. Рассмотрим эллиптическую кривую '=}^ + XZ^ + 2Z^ над полем Q. Эта кривая содер налиную функцию С{К) конечным списком ее нулей и полюсов с учетом алгебраической кривой можно с точностью до константы задать Y^Z кратностей. Дивизором на алгебраической щ)ивой С (К) назовем формальн5/ю сумму (без указания конкретной (1,2, 1). Кольцо нормирования арифметики) точек кривой с кратностями пр ЖИТ ТОЧ1^ состоит из функций, не имеющих полюсов в точке Р. Идеал Шр состоит из функций, имеющих D Тмр)^ щ 5 (6.16.1) РеСЛК) нуль в точке Р. Обратимый элемент кольца — это функция, не имеющая нулей и полюсов в точке Р. Униформизующий параметр нормиро- ■*■* г -^ > " !^^^J зания имеет в точке Р нуль кратности 1 и является образующей для идеала Шр. Это может быть в которой все W/>, за исключением конечного числа, равны нулю. Сумма берется по конечному числу точек, поскольку мы рассматриваем ра- любой циональные функции на кривой, а числа пр свя заны с нормированием функции в точке Р. Мно полином, задающий кривую, которая жество дивизоров образует абелеву группу с за имеет пересечение над полем ly с эллиптической коном сложения кривой в точке г с кратностью например, по лином, задающий прямую, проходящую через Тп,{Р) + у т,, (Р) У (п,, + т, )(Р), точки (1, 2 ? и(1. 1), то есть полином X Z. РеС(К) Р€с:(К) РеС(К) Это может быть также функция, имеющая в точке (1,2,1) нуль кратности л и полюс кратности S Например, касательная в точке которая называется группой дивизоров алгебраи ческой кривой С (К) и обозначается Di\(C(K)) задается нуль Полином, задающий касательную. полиномом, который имеет в этой точке кратности Конечное множество точек Р в (6.16.1), для ко торых Пр Ф о, называется носителем дивизора. Дивизор для кривой С{К) определяется по имеет вид: X Z. Тогда функция X X формуле (6.16.1) с заменой К на К. Степенью deg(Z)) дивизора D Тмп на имеет в точке (1,2, 1) нуль кратности 2 и полюс РеС кратности то есть ее нормирование равно зывается целочисленная сумма его коэффициен Аффинная функция У + д:^ щая нуль в точке (1,2), может быть представлена на кривой, имею тов: eg(i5) п., Имеем eg(Z),) + deg(Z) z РеС 3 2 В виде X +х -^х 3 с учетом замены на deg(Z), +D2) для любых D,, Dj е Div(C), то X +Х -\- Последнии полином делится на х 2 НО не делится на (л: - 1) , следовательно, функция . Пример обратимой имеет нуль кратности есть отображение deg: Div(C) -> Ж является го моморфизмом. Ядром гомоморфизма deg являет ся группа Div^(C) дивизоров степени нуль. функции: 2 +1) V + л: 5 Дивизор D вида (6.16.1) назовем положи ху-\-х 2 + 3 . Значение этой функции в точке(1, 2)равно тельным (D > 0), если все его коэффициенты Пр неотрицательны. Это понятие позволяет частич- Будем но упорядочить множество дивизоров. считать, что Di > Dj тогда и только тогда, когда D 1 /).>0. 2 6.16.2. Дивизоры Пусть /, g^K(C) и D Z «. iP) фик РеС(К) Перейдем от рассмотрения функции в одной сированныи дивизор на кривой С(К). Будем точке кривой к рассмотрению ее на всей кривой. говорить, что функции /, g сравнимы по модулю
136 D (записывается/= g (mod D)\ если vp(f lip для всех точек кривой. Ненулевая рациональная функция /, заданная на алгебраической кривой С{К), может иметь лишь конечное число нулей и полюсов. Можно определить дивизор функции div(/) yp{f){P) Div(C(7^)). РеС(К) Тогда произведению функций на кривой будет соответствовать сумма их дивизоров, то есть существует гомоморфизм абелевых групп которая является нормальной подгруппой диви зоров степени Доказательство. Операция умножения функций на кривой индуцирует сложение их дивизоров. Нулем является функция, не имеющая полюсов на кривой, то есть ненулевая константа. Поскольку дивизор каждой функции имеет степень пои дивизоров степени то группа главных дивизоров является подгруп- . Группа дивизоров и группа дивизоров степени О абелевы, поэтому любая подгруппа группы дивизоров или группы дивизоров степени О является нормальной. К(С) * Div(C(7^)). На практике дивизоры на алгебраической кривой удобно рассматривать «с точностью до Дивизор на кривой, равный дивизору некото- главного дивизора», по аналогии с группой клас рой рациональной функции, называется главным, сов числового поля. Из утверждения 6.16.5 еле дивизором. Назовем два дивизора D\ и Dj линей- дует существование факторгруппы но эквивалентными^ если D\ — Dj является глав ным дивизором. о /(С) = D\y\C (К)) I Vv(C (К)). Теорема 6.16.3. Главные дивизоры алгебраи ческой кривой С(К) образуют подгруппу Рг(С(7^)) группы Div(C(7^)). Имеет место изо морфизм групп К (С)*/К * Р<С(К)) Доказательство Для разности дивизоров получаем div(/) div(g) V riff gin div(//g) FqC(K) вой. Эта факторфуппа называется якобианом кри- Якобиан является аддитивной абелевой группой. Теорема 6.16.6. Якобиан эллиптической кри вой Е{К) состоит из дивизоров вида {F) (р со Доказательство. Предположим, что в диви зор якобиана входят две (не обязательно различ и D ные) точки ществует функция мую, проходящую через iP) + iQ) 2(Р СО Тогда су К(Е), И описывающая пря . Эта прямая пере Значит, Рг(С(л)) — подгруппа группы диви- секает кривую в третьей точке R. Тогда div(/) зоров. Рассмотрим отображение (Р) + (0 + (7?) 3(Р СО Поскольку якобиан J(E) ф:7^(С)*->Рг(аЛ), определен с точностью до главного дивизора, вы полняется равенство D сопоставляющее функции/ее дивизор div(/). Так есть D {R) + (P со D Кроме div(/) (mod J(E)\ то того, существует как Hi Wg) div(/) + div(g), то гомоморфизм главный дивизор div(e) = (R) + (-R) 2(Р^ Его ядро функ ции g, которая задает вертикальную прямую, про Кег(ф) / е К(С) * iv(/) К * ходящую через точки и R. Поскольку D D div(g) (mod J{E)\ получаем D R) (P CO Поэтому K(C) IK физм no теореме 2.3.3. * Vt(C{K)) изомор Рассуждение по индукции распространяется на произвольное число точек дивизора. Отсюда следует, что якобиан эллиптической Теорема 6.16.4. Дивизор D nJP) явля РеЕ ется дивизором некоторой функции на эллипти ческой кривой Е тогда и только тогда, когда од кривой изоморфен группе точек кривой (см. так же п. 6.18.2), однако для кривых больших степе ней порядок якобиана больше, чем число точек. повременно выполняются равенства п р Пример 6.16.2. Рациональные функции и их (сумма целых чисел) и V Wy,P = Р^ (сумма точек дивизоры . На 2 эллиптической кривой Y^Z ^ Х^ + эллиптическои кривой). Доказательство см. в работе [21] + AXZ' + BZ я заданной над полем комплекс ко ных чисел, функция, определяющая прямую, торая проходит через три аффинные точки кри- Следствие 6.16.5. Главные дивизоры неосо- вой, имеет нули в этих точках и полюс кратности бой алгебраической кривой образуют группу ? в бесконечно удаленной точке. Эта функция
137 имеет вид АХ vZ Действительно, при рациональные функции такие, что носители их дивизоров не пересекаются. Тогда знаменатель обращается в нуль. Для того чтобы определить кратность полюса, рассмотрим /div(g)) = g(div(/)). окрестность бесконечно удаленной точки ? где Доказательство см. в работе [21] Y^Q. Тогда можно поделить X и Z на F. Обозна X чим и , W функция г примет вид Если i^:CAK) CJK) рациональное ото бражение неособых кривых САК) и 2 (К) , ТО Г Хи VW Нетрудно видеть, что поведение отображение ф*: К{С2 * К{СЛ * задает ото W функции/вблизи нулевого w определяется пер бражение непостоянных рациональных функций. Каждая рациональная функция с точностью до вым слагаемым Поскольку эллиптическая константы определяется своим дивизором. по W этому можно считать, что отображение * задает кривая имеет пересечение с бесконечно удален- отображение групп дивизоров: НОИ прямой кратности то соответствую щии полюс при W тоже имеет кратность ф*: DivCC, (7^)) -> Div(q (7^)). Следовательно, дивизор функции/, нули которой задают прямую, проходящую через точки Р\^ Pj^ Р35 равен Теорема 6.16.8. Пусть Ф:С,(Ю 2 (^) divCO (Pi) + {Pi^ + iPi) Ъ(Р OD рациональное отображение неособых кривых Cj {К) и Cj (К), D — дивизор на кривой с J К) г Уравнение прямой может быть найдено с ис пользованием формул сложения на эллиптиче рациональная функция на кривой C.iK). Тоской кривой. гда (1е£(ф*1)) = deg(ф)deg(D), ф*(с11у(/)) = (11у(ф*/) Доказательство см. в работе [21]. Функция, определяющая секущую, которая проходит через точки и точках и полюс кратности имеет нули в этих в точке Рг.. Эта 6.16.3. Спаривание Вейля функция имеет вид X aZ Пусть К— конечное поле характеристики/? и ? где а коор Е/К эллиптическая кривая. Предполо51шм5 что дината X точек и Р. окрестности точки на кривой Е/К существует точка простого поряд OD кят и НОД(р, т) получаем г и mv W . Как и в предыдущем слу Рассмотрим эту эллиптическую кривую над алгебраически замкнутым полем. Тогда каждая чае, знаменатель функции / имеет на бесконеч- точка кривой Е(К) является одновременно точ ности нуль кратности 3. Однако в точке w числитель тоже имеет нуль. Оценим его крат ность. Подставим и aw в уравнение кривой кой кривой Е{К), так как поле К содер51Шт в себе поле 7^. Точки кривых Е{К) и Е{К) образуют абелевы группы с одним и тем же законом W Q 0 4 и + Агт^ + Bw. Получим кубическое урав нение от w. Нетрудно видеть, что поскольку коэффициент при W отличен от нуля, то корень сложения. Следовательно, мальной подгруппой группь Е(Ю является I Е(К) нор и существу 5 W имеет кратность Следовательно ? функ ция/имеет в точке Pod полюс кратности 3 Поэтому div(/) = (Р) + {-Р) 2(Р оо Пусть /— функция на кривой uD диви ет гомоморфизм из Е{К) в Е(К). Таким образом существуют точки кривой Е(К), имеющие порядок т. Эти точки образуют подгруппу Е[т] группы кручения. Число точек кручения порядка т кривой Е{К) равно т^. Все точки порядка т лежат в некотором конечном расширении L поля К Пусть точка кривой E(LX имеющая поря зор на этой же кривой, причем носители дивизо ров div(/) и Z) не пересекаются. Определим зна чение функции/на дивизоре D как док /w, то есть точка кручения порядка т. Тогда по теореме 6.16.4 существует функция/^е L{E) на кривой Е{1) с дивизором KD) П/(^) tip A\\(f'i) т(Т) т(Р OD Теорема 6.16.7 (закон взаимности Вейля) Пусть С(К) — неособая кривая и /, g е К{С) — Пусть 1 точка кривой E(L) такая ? что тТ\ (при необходимости можно перейти к расширению поля L). Пусть отображение [т]
138 кривой E(L) на себя задается умножением точки pax. Пусть D S {S) (Р =0/5 Л 7 7 (T+R) (R) е E(L) на число т: [т](Р) тР. дивизоры степени 0. Тогда найдутся функции/^, gjc коэффициентами изLтакие, что Тогда можно составить композицию функции /7 И отображения [т]: div^ m(S) т(Р оо н; Hg т т(Т + R) m(R) ч^ О 7 {т\){Р) =MVm\{P)). Тогда Эта функция имеет нули кратности т в тех точках, которые после умножения на т дадут Т. любая из ^.,XS,T) S (А) SAD S /, (Г + J?)g, (Р, ) fs(R)gAS) э Такие точки имеют вид Т] + R где 7? т точек порядка т. Функция/7 о [т] имеет полюсы кратности т в точках R,, которые после умножения на т дадут Р^, Поэтому поскольку дивизоры функций fs, gr имеют непе ресекающиеся носители. Все вычисления прово дятся в поле L. Hi '1\(/т о [т]) т (T+R) т iR) Теорема 6.16.9. Спаривание Вейля обладает R^i\iv] R&li\tn] следующими свойствами: Определим функцию gj- е L(E) с дивизором билинейность: е т + S- 2? e^iSu Т)е т 2? д em(S, + Т2) e,niS, T^)eniS, Т2); Hgf) ЦТ, + R) (i?)). eJT, S) 1 ReElm] знакопеременность: Cf^iS, если a — элемент группы Галуа GaI(Z/in, то Функция gr существует, так как ее дивизор eJS. Т) а eJS', Г); существуют точки 5", Т такие, что eJS^ Т) имеет степень и и соответствующая сумма точек на кривой равна № + i? R) т^Т примитивный корень степени т из Доказательство см. в работе [21]. ЯеЕЫ Функции fr° [т] и gr' имеют один и тот же Из свойства 1 спаривания Вейля следует, что дивизор, поэтому с точностью до константы из L это отображение при фиксированной точке Т яв имеем/7 о [т] Пусть т g ■ Е[т] ляется изоморфизмом группы кручения Е[т] на еще одна точка кручения подгруппу порядка т мультипликативной группы кривой E{L) (допускается и8 = Т). Тогда для лю- L . Кроме того, точки кривой Е{К), имеющие по бой точки X е E(L) имеет место равенство gj{X + S)'" =М[т]т + [m]{S)) рядок /w, являются точками кручения порядка т кривой E{L). Тогда, если на эллиптической кривой Е(К) выполняется равенство Р = IQ^ то в группе L Я{т\{Х)) = gzW". вьтолняется равенство eJP^ em{Q. Т). Точку Следовательно, V gr JX + S) griX) m T нужно выбирать так, чтобы значения спаривания Вейля пробегали в L всю подгруппу порядка т. Имеем последовательность гомоморфизмов: E(K) Elm\{L) * Определим спаривание Вейля Первое отображение означает переход от кривой Е(К) к кривой E(L) над расширенным полем. ет'. Е[т\ ® Е[т\ (ц т гдеа^ корень степени т из в поле Z, полагая где число #L - 1 делится на т. Второе отображе ние есть спаривание Вейля. ^Л8,Т) gr (^ + S) gr (^) Подобрать точку Т порядка т можно еле дующим образом. . Выбрать произвольную точку кривой E(L) Здесь X— любая точка кривой E{L) такая, что оба значения g(X) и g{X+ S) определены и ненулевые. Подчеркнем, что хотя g определена с точ- Например, ддя произвольного элемента л: L\K 3 извлечь квадратный корень из Г+Лд: + Б ностью до ненулевой константы из L (известен лишь ее дивизор), спаривание Вейля не зависит от этой константы, так как она сокращается при делении. Спаривание Вейля эквивалентно можно определить с помощью значений функций на дивизо- Найти число точек Nf^ кривой E{L) по известному числу точек N^ кривой Е{К) (подробнее см. п. 6.17). Найти Л^^ /т-г . Вычислить г • (х,у) и проверить, что результат отличен от Раз. Если это условие выполнено, то положить Т <— (л:, у).
139 Способ вычисления спаривания Вейля (под робнее см. п. 7.14), предложенный И.А. Семаевым основан на следующих рассуждениях. Доказательство. Пусть если Л^ делит л" - 1, то есть л" #L Вложение п. Тогда существует. Вейля h (mod TV). В соот- поле L{E) определена и существует функиш ветствии с китайской теоремой об остатках (теорема 3.5.3) достаточно показать, что сравнение с дивизором di\(h }П m{S) (mS) (т 1)(Р оо miS) (Р ОО (т ])(р оо miS) т(Р оо н.* Ws) и (modг) выполняется для степени простого делителя г числа N. Поскольку р является обратимым элементом кольца Ж/г^Ж, указанное сравнение справедливо при п (р(г) к-\ Г (нетрудно проверить, что сумма степеней диви- Если #Е{¥р)=р, то группу точек кривой не- зора и сумма точек с учетом кратности дают возможно вложить в мультипликативную группу нуль и точку Рею соответственно). Поэтому с точ- поля ни при каком расширении. Однако в этом случае, как показано в работе [19], существует ностью до константы из К имеем h г т л- По теореме 6.16.4 для произвольного нату- вычислимый с кубической от log» сложностью рапьного к существует функция Пи с дивизором н; iv(/z^) KS) (kS) \)(Р OD поскольку этот дивизор имеет степень и и сумма точек дивизора на эллиптической кривой дает точку Рсс- Пусть к = и + V. Тогда к guyh W'*V? h^^y /г е 2'* 2' 2'' где iv(^n,v) (kS) ^ (uS) ^ {vS) (Р OD Функция gyv существует, так как ее дивизор имеет степень и и сумма точек на эллиптической кривой дает точку Р^. Покан<:ем справедливость равенства (6.16.2). Действительно, н; i\(hk) KS) (kS) 1)(P оо <S) (uS) 1 )(P^) + v{S) (vS) изоморфизм #E(¥ p Fp. Этот изоморфизм су ществует для произвольной подгруппы порядка/? эллиптической кривой над конечным полем ха рактеристики р и представляет собой вычисле ние логарифмической производной функции Вейля. В гл. 3 было показано, что если л(д:) (6.16.2) поле рациональных функций. то отображение rf (X) fix) к ДЛЯ всех / е К{х) задает гомомор физм групп К{х) -^ К. Аналогичное утвержде ние имеет место и для функции Вейля на эллип тической кривой (см. также п. 11.3). Алгоритм вычисления логарифмической про изводной функции Вейля приведен в п. 7.14. при анализе с открытым Функция Вейля используется криптографических алгоритмов ключом, а также при разработке криптографиче ских алгоритмов на эллиптических и гиперэл липтических кривых. ^){р оо (kS) + (uS) + {VS) (Р ОО diviK) + div(/zv) + div(g. v) Pei^pcHBHoe применение этой процедуры сводит вычисление функции Вейля к вычислению линейных функций на кривой. Таким образом, если #Е(¥р ? точек эллиптической кривой изоморфна группе * р ■> а если #Е(^р 4- то группа точек эллип 6.17. Эллиптические кривые над конечными полями Пусть ч поле из п элементов и я £(F то группа нием эллиптическая кривая, заданная уравне 3 X -\- Ах-\- в. Число точек на Е(¥ я кривой конечно. Действительно, если предположить, что любой элемент поля может бьггь коор ? тической кривой может быть вложена в группу динатои х и при этом у * р 2 ? так как {р + 1)\#¥ п- Указанное вложение ни для одной из точек, то с учетом бесконечно удаленной точки получа- Более точно число точек N на вычислимо с полиномиальной сложностью. Все изложенное справедливо и для эллипти ческой кривой Е(^Л^ q ем |д + эллиптической кривой определяется теоремой Хассе. .. Теорема 6.16.10. Пусть т^р N. Если Теорема 6.17.1 (теорема Хассе). Для кривой Е(¥а) выполняется неравенство НОД(р, ЛО ? то существует конечное расшире ние группу Z . поля ¥р такое, что группа Е{¥р) вложима в V q + ] N iJg Доказательство см. в работах [13, 21]
740 Таким образом, число точек эллиптической кривой Е(¥д) близко к q По аналогии с дзета-функцией Римана можно определить дзета-функг(ию неособой алгебраи- Пусть я число точек эллиптической кривой ческой кривой X + Лд: + Б равно Ж Тогда число точек эллиптической кривой £i(F я dy 2 3 X +Ах + Д где N не является квадратом в поле F«, равно 3 1 2д + 2 N. Действительно, значение л: +Ах + В может быть нулем, квадратом или произведением квадрата на элемент d. Каждое значение л:, для которого л: -\-Ах + БфО, является координатой двух точек (х,у) и (л:. только одной из кривых. Значение х, соответствующее , является координатой единственной точки обеих кривых. Поэтому каждое значение х соответствует ровно двум точкам на объединении кривых Е и El, С учетом бесконечно удаленных точек получаем N-^N] 2q-^2 Кривые и 1 являются скрученными. Скру ченные кривые изоморфны над квадратичным расширением поля \Гд, так как квадратичное рас ширение эквивалентно присоединению квадрат ного корня из квадратичного невычета. + Если Е(¥р) имеет число точек/? + 1, то у скру ченной кривой столько же точек. В этом случае эллиптическая кривая Е(¥„) называется супервы- роэюденной. Группа точек супервыро5Кденнои кривой с помощью спаривания Вейля может быть вложена в группу * р 9 На алгебраической кривой С/¥ т Й5 . деист вует отображение ФробенР1уса характеристическим уравнением .14.5) (см с {^\ /) теорему 2 фТг((р) deg((p) 17 Поскольку отображение ф является комплекс ным умножением^ для точки re£;(F ) выполняется равенство (р(Р) - QP, где целое квадратичное в число G является корнем уравнения (6.17.1) мнимом квадратичном поле Q(-v D) Здесь D Аа 2 Тг(ф)^ Z(CI¥ я ? Т) expX(#C(F^„)) п П где #C(IF Л— число точек на кривой C/F^, рас сматриваемои над полем F„ Если функция Z{CI¥q^ Т) известна, то для любого п можно найти Ш¥ Л: # С{¥ ) N ]y.dT П \nZ{CI¥^J) 17 7=0 о? Теорема 6.17.2. Дзета-функция Z{CI¥ особой алгебраической кривой рода п. 6.15) обладает следующими свойствами: не- (см. Z(CI¥ Й5 Q(7); Z{CI¥^J) рт Т)(] дТ) 5 где ПОЛИНОМ Р(Т) степени 2g рас1сладывается на множите 2g ЛИ над полем С рт ПО а л I 1 Доказательство см. в работах [2, 6, 21] Для эллиптической кривой Е/¥д имеет место равенство Z{E/¥^,T) аТ + дТ 2 Л(1 дТ) 17.3) Коэффициент а в .17 следом эндоморфизма Фробениуса: а формуле является Тг(ф). Определим функцию Е ¥ ч is) Z(EI¥ s я ? aq s +g l-2,v V l-.v Числитель в формуле (6.17.3) можно предста вить в виде aq S )(1 aq S 5 где Квадратное уравнение 17 имеет два со пряженныхкомплексных корня: и G. Тогда Тг(ф) в + в,где 4ч^ е+е g+i #Е(¥ я Пусть г #Е(¥ я Тогда в группе точек Е{¥ я существует yj-Dimodr) 16 а а Теорема Хассе эквивалентна гипотезе Римана для эллиптических кривых все /F ч {s) ле5кат на прямой Re(5) нули 0,5. функции Из уравнения (6.17.2) следует, что если #Е(¥ я д + \ а а. то 16 криптографии используются эллиптические кривые, имеющие большой простой порядок группы. Поэтому на практике число г является простым, причем число точек кривой не делится на #Е{¥ ) п +1 а п п а . (6.17.4) Формула (6.17.4) позволяет найти число точек эллиптической кривой над произвольным конеч
141 ным расширением поля F^, если известно значе- информацию о числе точек над всеми конечны ние #Е№Х ми ПОЛЯМИ. Пример 6.17.1. Число точек кривой. 1. Эллиптическая кривая + ху х^ + 1 содержит точки (О, 1) (1,0) (1,1) ODi то есть #Е/¥ 2 4, Тг(ф) Характеристическое урав нение имеет вид 2 + (Р + его корни равны i±V Тогда отображение Фробениуса 2 (^5 у) -^ (^^? у) на кривой Е(¥2) соответствует умножению точки (^.У) на одно из чисел iW или Число точек кривой над F2 можно представить в виде 2 + 1 + 1+V + соответствии с (6.17.4) число точек этой кривой над полем из 2 элементов равно 2*'+1 + + п + V п 2116 V Эллиптическая кривая Е/ ¥4. У + ху 1 X +t содержит четыре точки Тогда Тг((р) ? 1), (О, / + ? (^,0) ? имеет вид 2 Характеристическое уравнение корни равны + 4 его 1 + Тогда отображение Фробениуса (х^У) 4 4 (^\ Л на умножению точки кривой Е(¥ 4 ) соответствует на одно из чисел 1 + или 15 Определим £-функцию комплексной пере меннои S ЦЕ, S) PI'A ^рР S + р 1-2д •> где произведение берется по всем простым чис лам, не делящим дискриминант кривой Е. Согласно ггтотезе Берча и Свиннертона Даиера ранг кривой Е{^ равен кратности нуля функции L{E^ s). Если эта гипотеза верна, то S можно найти ранг эллиптической кривой не только над полем Q, но и над числовым полем К^ немного изменив формулу для L-функции. Для нахо51<дения числа точек эллиптической кривой над конечным полем в общем случае используется алгоритм Шэнкса с экспоненциальной сложностью или алгоритм Чуфа с полиномиальной сложностью (см. п. 15.1, а также работу [18]). Теорема 6-17.3 (теорема Чуфа). Число точек #Е{¥а) может быть найдено детерминированным алгоритмом с полиномиальной сложностью Доказательство см. в работе [18]. 6.18. Гиперэллиптические кривые 6.18.1. Функции на кривых Гиперэллиптической кривой С над полем К на зывается аффинная кривая, задаваемая уравнением 2 4- Ых)у Л^) 18.1) . Число точек кривой над и не имеющая особых точек на аффинной плос р4 можно представить в виде 44-1 + 14- 4- кости над К , где /г, /— полиномы с коэффици ентами из К, deg(/) = 2g+ 1, deg(h) < g. Натуральное число g называется родом кри вой. Эллиптическую кривую можно рассматри вать как гиперэллиптическую кривую рода соответствии с (6.17.4) число точек этой кривой над полем из 4^ элементов равно 7 + 14- + 16636 Дзета-функция Z{EI F^,, Т) эллиптической кривой Е1¥^ несет информацию о числе точек над всеми конечными расширениями поля F^,. Обобщением дзета-функции эллиптической кривой является Ь'функция Хассе—Вейля, которая несет Теорема 6.18.1. Если характеристика поля равна 2^ то пФ 0. Если характеристика поля отлична от 2, то с помощью обратимой аффинной замены переменных можно задать гиперэллиптическую кривую уравнением 2 Ау^\ (6.18.1 Доказательство [23]. Пусть характеристика поля равна Тогда и П0Л051ШМ -F(X, у) 2 У Пусть хо — корень полинома F'. Тогда существует j^o такое, что (Хр, к) е С (К),
142 при этом обе частных производных обращаются в К). Поэтому арифметика на гиперэллиптической в точке (хо, Уо). №я того чтобы кривая не имела кривой задается с помощью функций на кривой. особых аффинных точек, необходимо /г ^ 0. Пусть характеристика поля отлична от гда определено деление на То Аффинное координатное кольцо К[С\ кривой тимой замены переменных (х, у) помощью обра Мх) (6.18.1) задается Х[х, yW + h{x)y как Ах)). КОЛЬЦО классов Поскольку вычетов полином можно получить уравнение вида 2 /W + Мх) 2 ' +/г(д:)у -Дх) неприводим, кольцо К\С\ целост ное, а также евклидово (см. теорему 6.15.1). По лем частных кольца К\С\ является поле рацио налъных функиииК(С). Любой полином g(x,v) К[С] можно запи где полином в сать в виде правой части имеет степень 2g-^ L Поэтому уравнение кривой можно запи сать в виде (6.18.1'). а(х, у) а(х) Ь(х)у. (6.18.2) Для того чтобы кривая (6.18. Г) не имела особых точек в аффинной плоскости, необходимо, чтобы полином/не имел кратных корней, то есть сопряженную функцию вида где a,bsK[x], поскольку на кривой С полином рекурсивно заменяется полиномом/- hy. Для каждой функции вида (6.18.2) определим чтобы его дискриминант был отличен от нуля Действительно, приравняв к нулю частные произ Я (^\ у) а{х) л-Ь(х){у-h h(x)), водные, получаем 2у о f(xo) Для того чтобы Норма функиии из поля функций равна Niq) N(q) Ш) а + abh да 2 К(х). Для ЬГ точка (хо5 Уо) лежала на кривой, необходимо, чтобы J(xo) ~ 0. Поскольку полином Дх) не имеет кратных корней, множества корней Дх) и/'(х) над К не пересекаются и (х^,у^)^С(К). Если же равна 2g+ 1. Поскольку deg(iV(g)) полином Дх) имеет кратный корень, то он будет (6.18.2) имеем Х[х], норма является квад и корнем производной, тогда (х^:,у особая точка. С(К) ратичной формой с коэффициентами /г,/ Степень дискриминанта квадратичной при то квадратичная форма положительно определена. Как и для квадратичных чисел, норма муль- G Х[х]. формы типликативна: N(rs) rs-rs = rrss ~ N(r)N{s), Над полем комплексных чисел гиперэллиптическая кривая изоморфна замкнутой поверхности Рациональная функция из К{С) также имеет вид (6.18.2), но здесь без краев (у которой есть наружная и внутренняя стороны) с g «отверстиями» аналогично тому^ как равенства д, q^ ~ qq^ а,Ъ и Справедливы тор является замкнутой поверхностью без краев с одним «отверстием». Гиперэллиптическая кривая во многом аналогична эллиптической кривой. Пересечение соответствующей проективной гиперэллиптическои кривой с бесконечно удаленной прямой Z = О задается условием X Таким образом, гипер эллиптическая кривая имеет единственную беско (0,1,0). Если нечно удаленную точку то точка Р^, является особой. 5 Если род g гиперэллиптической кривой отли чен от 1 (то есть deg(/) > 5), то бесконечно удаленная точка всегда является особой. Однако это не накладывает ограничении на использование такой кривой, поскольку на практике можно рассматривать только аффинную часть кривой. общем случае прямая пересекается с гиперэллиптической кривой над алгебраически замкнутым полем более чем в трех точках. Например, прямая 2g + пересекается с кривой (6.18.1 f в Определим степень полинома а(х,у) а{х) Ь(х)у ЩС]: ^- -"■", -- - ■-> г V deg(g) Поэтому max(2deg(a), 2g + ] + 2deg(fe)) deg(g) deg(g) deg(N(q)). Heno что средственнои проверкой можно показать, deg(^i^2) ~ deg(gi) 4- deg(a2), поэтому отображе ние ЩС] deg является гомоморфизмом моноидов Z. Обратимыми элементами кольца ЩС] являются ненулевые элементы из К, Любая функция из поля функций с точностью до константы задается списком нулей и полюсов, то есть дивизором. Функция д(х, у) S К(С) определена в аффинной точке (xi\ } ■ С(К), если ее знаменатель отличен от 0. Значение функции вычисляется как q(xp^ ур) Определим значение функции 1 (х, у) 2 (х,у) К{С) точках (это следует из того, что правая в точке Роо. Если deg(gi) < deg(^2), то q имеет нуль часть уравнения кривой имеет 2g + 1 корень над в 00 . Если deg(^i) > deg(g2 то имеет полюс в
143 00 Если deg(gi) deg(g 2 TO g(P CO равно OTHO шению старших коэффициентов (по отношению к функции deg) числителя и знаменателя. Определим для точки (хр, Ур) g С(К) един ственную «противоположную» точку h\xp)yj f(xp) Ф 0. --(2v Кроме того, /хр) Ур 2 У! } У1^ 2 2уур + Ур 2 Поэтому Ур, Отсюда Лх) h(x)y 2уур + Ур 2 г (Хр, Ур Кхр)\ (6.18.3) при этом по определению f 00 со . Другие точки. 2 г(х, у) fix) + Ур V ^ ^Г г Ых) + 1у,, X X. . (6.18.3) удовлетворяющие условию г э характеризу ются равенством yj У! Для любой р. точки Ых}^ или 2ур + h(Xf^ справедливо равенство Легко (6.18.3) проверить. что с учетом (6.18.2) и для С{К) справедливо равенство q{P) д(Р'). Лемма 6.18.2. Пусть Р е С(К), а а(х) Ь(х)} К(С), а{Р) и а. не обращаются в нуль од повременно в точке F. Тогда условия q{P) Р = Р' эквивалентны. Доказательство [23]. Если у; и тоР Р\ и из д(Р) = О следует q(P') Предположим, что Р фР* vl а(хр) У} q(P) Кхр) 0. 5 Ь(хр)у р а(хр) + b(xp)(h(xp) + Ур) Вычитая первое урав нение из второго, получаем Ь(хр)(2ур + h{xp)) отсюда Ь(хр) речит условию Тогда и с^Хр) ? что противо Теорема 6.18.3. Пусть д(х, у) K(Q, С(К) аффинная точка такая, что 2ур + li{xp) Ф О и q{xp,yj^ qix, у) = . Тогда существует представление XpfXx, у) и г(хр,Ур)^ {О, со}. Доказательство [23]. Запишем функцию а в виде да N(g) а^ + abh - b^f а b(h + v) Здесь чис литель как полином из Щх] делится на х Хр* Выделим м Qf симальную степень полинома X Хр, на которую делится числитель: Заметим, что правая часть этого равенства яв ляется полиномом. Обозначим s(x) 2 у,)- Тогда s(xp) но s\x) fix) h'(x)yp^ поэтому s'(xp) Ф о, то есть s(x) делится на х - Хр^ но не де лится на (х Хр) 2 Поэтому правая часть равенст ва (6.18.3) отлична от О в точке Р, Определим порядок нуля Vp{g) функции д(х, у) а(х) Ь(х)у К(С) в точке Р следующим обра зом [23]. Пусть Р — аффинная точка и (х Хр) } наи большая степень двучлена, на которую делят ся полиномы а{х) и Ь{х\ Положим д{х,у) Хр)\аАх) - ЬАх)у\ Если ах(х,)-ЬАхр)урФ фО^то S Если а\{хр) 1 {хр)у I то S наибольшая степень полинома х Хр. на ко торую делится Мах hy). Если Р\ то 2г + s\ если Р Ф Р\ то Vp(g) = r-i- s. Тогда Мя) max(2deg(a). + 2dcg(b)\ Мя) . Пусть Нулевая функция имеет бесконечно большой порядок нуля. Нетрудно убедиться, что V/^g) является дискретным нормированием. Как обычно, нормирование рациональной функции зададим как разность нормировании числителя и знаменателя этой функции. качестве униформизующего параметра нормирования Vp гиперэллиптическои кривой обычно используется функция х - хр с дивизором (Р) + (F) 2Р 00 а' + abh - b^f (X Хр) т 1 а b(h + у) х,Тг. 6.18.2. Якобиан Дивизор на гиперэллиптической кривой С{К) при этом функция г{х, у) не имеет ни нулей, ни представляет собой формальную сумму конечно полюсов в точке Р. Теорема 6.18.4. Пусть С{К) аффинная точка такая, что f Тогда существует пред ставление функции X Xj Ур)Мх, уХ где функция г G К(С) не имеет ни нулей, ни полюсов в точке Р. Доказательство [23]. Поскольку Р\ то 2ур + Мхр) Точка неособая, поэтому го числа слагаемых D т,(Р) -V ' " 1]^С(К) Теорема 6.18.5. Число нулей полинома д К[С] равно числу полюсов с учетом кратности Доказательство. Пусть о by, deg(g) п Разложим норму на линейные множители над К : }1 Щд) П( X - -? -_ * ^ 1- ^=1 f Л--^
144 Поскольку поле алгебраически замкнуто, для точки Р и Р\ Поскольку равенство Р f выпол каждого Xi 1 существует ; такой. что fe у) С(К), Тогда q имеет единственный полюс в точке 00 и нули в аффинных точках (x,^yi). По определению равна п. нормирования кратность полюса Поскольку рациональная функция из К(С) няется только при у точка (х, 0) может поя виться в дивизоре якобиана лишь один раз. Если какая-то точка Р входит в дивизор с отрицательным показателем -w^, то, прибавляя к этому дивизору заменим главный дивизор п(Р) + n(F) 2п(Р 00 ^i{P) на Пр(Р') с положительным пока зателем. является отношением двух полиномов, число ее нулей равно числу полюсов с учетом кратности. Следовательно, дивизор функции имеет нулевую степень. Норма функции является константой тогда и только тогда, когда сама функция является кон- Дивизоры вида (6.18.4) со свойствами, ука занными в теореме 6.18.6, будем называть полу приведенными. Пусть :. . г v">ii: д стантои. Поэтому единственные функции. т, (Р) не (I т I >) (Р..), имеюш,ие нулей и полюсов, — это ненулевые константы. Дивизор таких функций имеет пустой носитель и является нулем в группе дивизоров. D 2 MP) (I«.) (Р^- Если 91 5 Я2 рациональные функции. то — полуприведенные дивизоры. Определим паи больший общий делитель дивизоров : div(gi^2) = div(gi) + div(^2)- Отображение div мож но рассматривать как гомоморфизм из мультип нод(1),, А)=X "^'"^("^р' ^р Х^) ликативной группы поля функции в конечномерный Z-модуль (носитель дивизора). Функции на кривой образуют группу по умножению, поэтому и их гомоморфные образы — дивизоры функций — образуют группу главных (ymm(m,.,nj.))(PJ, ^., _^т-* , Лемма 6.18.7. Пусть (^г.} I С(Ю И К(С) функция, регулярная в точке F. Для дивизоров и имеют степень 0. Следовательно, оп- любого А:> О суш,ествуют такие однозначно определен И существует якобиан J(Q гиперэллип- ределенные элементы cq^ ...^Ck^ К и функция тическои кривой г степени к К(С), регулярная в точке Р, что по к X х,У -f (Х X.) к+\ Г к • — факторгруппа дивизоров подгруппе главных дивизоров. Элементы якобиана определены с точностью до главного дивизора, так же как классы идеалов квадратичных порядков определены с точностью до главного идеала. Поэтому группа классов Доказательство [23]. Элемент co = g(F) оп- квадратичного порядка аналогична якобиану ги- ределен однозначно, Р является нулем функции Ъл /-0 перэллиптическои кривой Со- Поскольку X X, у униформизующий па раметр нормирования, можно записать Со Теорема 6.18.6. Каждый дивизор D J(Q ХрУх^ где функция г^ определена однознач может быть представлен в виде но. Поскольку а регулярна в точке F, то и ri ре т гулярна в Р, Далее действуем по индукции D ПЮ т(Р^ (6.18.4) /-1 Лемма 6.18.8. Пусть {^р, Ур) — аффинная где тючки Pj не обязательно различны, причем в носитель дивизора входит не более чем одна из точек F, Р'. Доказательство. Допустим, что в дивизор точка такая, что РфР\ Тогда существует единственная последовательность полиномов bdx) для к> таких, что deg(M < якобиана входят точки РиР\ Тогда этот дивизор не изменится, если мы прибавим к нему или вы- к ы Ур-> 2 чтем из него главный дивизор (F) + (F') 2(Р Ьк(х) + h(x)bk(x) = Лх) (mod (х к ХрТ) 00 Доказательство [23] Положим по лемме Выполняя эту процедуру несколько раз, полу- 6.18.7 чим, что хотя бы одна из точек Р или Р' в дивизоре сократится. Таким образом, можно утверждать, что в дивизор не входят одновременно к-\ 1^Д X Хр у + (х Хр) к г А-1 (=0
145 k-\ Определим к (X) I^.( X Хр у . Тогда Со Ур 1=0 и 2 к У р. Из уравнения у + пу =/для к > полу 2 чаем сравнение у + /гу =/(mod (х к Хр) ). Наибольший общий делитель дивизоров име- . Покажем, как полуприведенный ет степень (неглавный) дивизор D можно представить в виде наибольшего обш,его делителя двух главных дивизоров, заданных полиномами из ЩС], div(a) div(b 4- 2(/^) + тД/>) + Pi eS, о Р, sS. + тХР!) ГК (Р^ ), I] ^ S, У) I UP.) 4- ^,(^)+ I', sS„ й sS, Щ(Р.) Ч ( Р.. Р, (f.Sp U.V. u.S, uP« Здесь 5/ > m/, так как Теорема 6.18.9. Пусть X, )"'- Жй У) 2 + ^/7 Л Ут,(/^) (I '«,)(/'. полуприведенный дивизор ^(л:) = П (л: и / fc, V;). Пусть X.) ' и Ь(х) — такой однозначно оп ределенный по лемме 6.18.8 полином, что deg(fe) degfa); Третье слагаемое в div(b вать, т Qf К Qf можно не учиты его носитель не пересекается с но сителем дивизора div(a). Поэтому для ак) 2 полином X - Xj делит b + bh Оценим коэффициенты t, для div№ -у). Имеем X,) 2 + bh для всех т. Ь{х,) а делит Ь^ + bh 9 2 Тогда D - HOfl(div(^(x)), div(fe(jc) Доказательство [23]. Пусть У)) 1 MHO жества тех аффинных точек из носителя дивизо ра, для которых соответственно t и РфР t Пусть 2 {Р t S\{D)}. Пусть носитель диви зора содержит т аффинных точек. Тогда D (РМ тХЮ m(PJ Р sS, R е5, Докажем, что полином Ь(х) определен однозначно. Согласно лемме 6.18.8 для каждой точки Найдем кратность корня Mb в точке / 5'о, вычислив производную учетом равенства Ь{х,) 2 + bh f в точке Pi с yi- 2b(x,W(xd + b\xdh(Xi) + Ь(хШх.) fix) b\x,)(2y, + h{xd) + hXx,)y I Ax.) Поскольку / f I в 5'o, TO 2v; + h{Xi) и производная равна n(Xi)y, -f(Xi) Ф 0. Поэтому, Xi является корнем функции Ы{Ъ - j^) с кратностью 1, то есть ti= 1. Следовательно. НОД(ё1у(й(д:)), div(fe(x) 1ю 4- Ъ^хр.) у)) т{Р^ D PeS. о PsS 1 / 1 существует единственный полином Ь,(х) тако и, что deg(fe;) bXx.) т.: /э У>, X, Г Ъ, {xf + h (хЩх) fix) Если Р, S So, то существует единственная кон станта bi I такая, что deg(fe,) bix;) ? у>; xMh{xf+Ъ.Хх)Кх) fix) По китайской теореме об остатках существует На практике вместо HOД(div(й) 5 дл\(Ъ У)) часто используют со1фащенную запись div(a. Нулевой дивизор можно записать как div(l. Поэтому каждый приведенный дивизор можно записать как div(a, Ъ). Из доказательства теоремы 6.18.9 в ытекает следующее утверждение. Следствие 6.18.10. Если а{х) ? Ых) ЕЫ 5 degffe) 2 deg(^) и a\{b -^ bh-A то div(a, b) по луприведенныи дивизор. единственный полином такой, что для всех i вы полняется сравнение Ых) b.(x)(i'nod{x X, Т-) J и для него выполняются все три условия теоре мы. делителем главных дивизоров {а{х)) и (Ь(х) у)- Представление элемента якобиана в виде по луприведенного дивизора в общем случае неод позначно т к ж прибавление к нему (вычитание из него) дивизора произвольного полинома меняет вид полуприведенного дивизора 9 НО не Докажем, что D является наибольшим общим Покажем изменяет соответствующий элемент якобиана. как можно однозначно задать элемент якобиана. .V ЕС- ^ ► ^ ^ I"- 1 ^^
146 Полуприведенный дивизор (6.18.4) называет ся приведенным^ если m<g^ где g — род кривой Определим норму дивизора D Ущ(Ю К Qf D т. I . Среди дивизоров, эквивалентных Нф1 данному элементу якобиана, есть дивизор с минимальной нормой. Представление элемента якобиана приведенным дивизором означает минимизацию его нормы. Теорема 6.18.11. Каждый элемент якобиана может быть однозначно представлен приведенным дивизором. Эта теорема будет доказана ниже. Если рациональная функция / е К{С) не имеет полюсов среди аффиршых точек С(К), то/ то есть функция является полиномом. ШС], D 1 Сложение divf^b b 1 двух и л 2 приведенных дивизоров div(a2, ^2)5 представленных полиномами, выполняется в два этапа: сначала вычисляется полуприведенныи дивизор, соответ ствующии сумме дивизоров 9 затем выполняется его приведение. Пусть D divfa. А + А. Для вычисления divfe 3 необходимо выполнить следующие действия. Расширенным алгоритмом Евклида наи- I = НОД(йь ^2) в К[х] и линейное ди представление di =е^а\ + ^2^2. Расширенным алгоритмом Евклида найди 4. НОД(^ь bi + £>2 + /г) в К[х] и линейное представление J =^ CiJi + C2(bi + Й2 + h). Положить s\ = ci^b So = C2e2, S3 = C2, так что sia^ + ^2^2 + ^^3(^1 + ^2 + h). Положить a аж 2 Э s.ab^ -^-s^a^h -^-s^^^b^ +/) (mod a) Теорема 6.18.12. Дивизор div(^, b) является полуприведенным и D Л. + Л. 2 Представим полином Ь(х) в виде + sa, где S е К\х\ Тогда s.ab,'hs,a,h-¥sJhK-¥f) dy ■\-sa s^ab^ + s^a^b^ + s^{hb^ +/) Jv ■\-sa 8^аул- s^a^y + ^3 (й, + й, + /г)^^ ^ 4 Поэтому г. —*/1 5 гт, {Ь 2 у) + 5 2^2 ft + 4- s^{h y){b 2 у) + sa (6.18.5) Покажем, что а 2 + bh /). Действительно 5 2 + Й/? равно произведению левой части (6.18.5) на сопряженную функцию. Из а\ 2 1 4- + Ь 1 1 y){bi + /г + у) и «2 2 9 + 2 2 у)(Й2 + /г + у), следует, что а\а2 делит каж дое из слагаемых 51^1(^2 - }^, S202{b\ - у), s^ib У)Ф2 1 у). По следствию 6.18.10 div(a. по луприведенныи дивизор. Покажем, что А = Z)i + Z)2 и точка F лежит в 2 носителе дивизора D] или Z)2. Пусть ^ Р\ vp(D,) = ть v/.(D 1 vp(D 2 1112, V/.'(A) И Шл Ш2 > Тогда viiax) Шл 1 > /^Ь Ы«2) ^ "^2, Vp(fe ТО vp{dx) или т2 mi + m2. Если Ш] mi Vp{a) ВИЯ ем Vp(fe + m2. Поэтому Vp(D) = mi + m2. 9 vK^ и m-? > m2. Если . Поэтому то из усло- 1 4- 2 + h){xp) и V//a) mi 4- > 2ур + h{X}^ Ф О, получаем т2. Согласно (6.18.5) име- Wi + m\xvim\ + m2, mi + m2, mi + т-Л Пусть F Ф P\ vДД) = ть V/^A) = m2 и mi > ff?2 - Тогда Vp(ai) = ть Vp(a2) = m2, vM) = m2, Vp{b 1 j^)>mb v//fe2 и V/ >' 9 Vy/fe 2 + ^y) > m2 и V//fe 1 4- 2 4- y)>m2. Поэтому > m2. Отсюда Доказательство [23]. Поскольку J|Ji, то a следует, что Vp(d) = m2 и Vj4,a) mi m2. Из Щх]. Покажем, что b s Щх]. Имеем SM^b^ + 52^2^ + ^з(Ь\Ь2 + /) (6.18.5) получаем, что Vp{b -у)> гп] - mi. Поэто му Vp(D) тл т2. Пусть Р'. Возможны два случая: точку 2 52^2 s-^{h +^2 + h)) + s^aJ)^ + 53(^,^2 + /) содержат оба дивизора D\ и D2 или только один из них. Пусть Vp(D 1 ^2 + s^Oyib 1 й.) 2 5 2 ч-й^/г о V 2 ' ^"2 /) v/<a2) 2vp Vp(Ji) 4- Uxp) TO vy>(A Поскольку Vjibi + ^2 + /г) Тогда Vp(^i) 1 4- b2 + /г)(д:;.) и vp(d) ? Vy/a) Поэтому V//Z)) Поскольку JI a2 и a21 (^o + ^2'^ 2 /) 5 TO л кы Пусть vp{D 1 V/<^ 2 vM) 1, v/<A) Vp(6/) Тогда vp(ai) V/<^) Поскольку
147 1 то из (6.18.5) получаем Vp{b Mb Однако случай vp{b вительно, из предположения vp(b у)> невозможен. Дейст V/fe^ + S3(b 2 у))^ И V/>(52^2 + Ssibi + b2 + h))> ЧТО ведет к противоречию. Поэтому vp{D) Приведение полуприведенного дивизора образом. di\(c/, V) выполняется следующим 1. Положить а I f + bh 2 , b t а (mod d). Если deg(^') 9 ПОЛОЖИТЬ a < a\ b ^r- t и перейти на шаг Для удобства можно представить d полино мом с единичным старшим коэффициентом, ум пожив его на соответствующую константу 9 при этом нули и полюсы полинома d не изменятся. Докажем теорему 6.18.11 с помощью данного алгоритма. Доказательство выполним в три этапа. Сначала докажем, что deg(^) < g, затем что дивизор u\\{d^ b') полуприведенный, и что div(a', b') div(^. Здесь 3 S\ {SqKJ SxKj S2),, rij > nij, 5/ > 1, и Si 1 2 ДЛЯ P = P\ Из равенства b +bh Nib следует следует, что 2 divrt" + bh /) ЗЮ+Х'^.Ю 4- R e Л' /> E.V, 4- I«,(^') 4- Y^xo 4- s>{p:) m(P„ n bs I Яе5, Л^'^3 2 Поэтому div(a') = div(b + bh div(d) У]^хю^У]црг)+У^хЮ'^ p. ^s,' H ^s,' P еЛ\ 4- I^,(^ f mAPJ ? Pe& где I Пг nii и / t 1 {Z' ; 1 n f nil). Можно записать Л' + sd, где 5 e A^x]. Для точек P/ ь УЬ t I u 5'з справедливо равенство ^>'fc) /г(хЛ b{xi) + 5(x/)a'(X;) /г(хЛ J^/. <" Тогда рассуждая как при доказательстве тео ремы 6.18.9,получаем dxv{b f m)^YrXP:)^ 0(/>) + /J е5, ' l\ E.S, • я еЛ'з И якобиана. представляют один и тот же элемент + V >|;Д/^')+ V гД/^) '^.•(/l.X Яе.^з Р. еЛ\ Если degc(^) = m, degc(£)) = w, где m>n\^m>g-^- + 1, то dQg^d) = max(2g + 1, 2n) - m. Если m 4- + 1, TO max(2g + 1, 2n) lim 1) и deg,(^') m Если m 4- To max(2p- + 1, 2n) 2g + и deg/^') = g. Поэтому de&CiT') Поскольку/ й/? 2 йг/, TO /+ {V + //)/г f + /г) 2 О (mod d\ где Г/ > /,; w, > 5,; w^ Поэтому 1,еслиР, Р/; S 4 ^\W f us,} div(a',fe') ^,P> f '" '(^i H^S 1 /1еЛ\ i^.^ f s.Pr-^mXP) D div(b /J-EiV Яе.^ 3 b'h t 2 0 (mod d). По следствию 6.18.10 дивизор div(a э по Здесь -- в якобиане символ эквивалентности дивизоров Алгоритмы вычислений в якобиане гиперэл луприведенныи. Разобьем носитель дивизора 5' на непересе- липтической кривой приведены в п. 7.15. кающиеся подмножества аффинных точек {PIP п 1 {Р\Р ^ F'} и 2 {F: е 1 Тогда по теореме 6.18.9 имеем D №) + т,{РЛ НРо. RbS, i О /> ss 1 Тогда div(^) ЧР^)^Т^ЛР,)^У]щ(р,') mAPJ, Pi^S, о P,sS, R^S I div(b y) Ю+У«,(/^)+ R^S, 0 Я- e5. 4- MP>') Щ{Р. RsS 3 Обозначим через J[m] якобиан порядка m ги перэллиптической кривой С(К), где поле К ко нечно. На кривой С(К) можно определить спари вание Вейля е^^, устанавливающее вложение яко биана J[m] в мультипликативную группу расши рения якобиана. поля А, порядок которой делит порядок с Можно записать J[m] = Div [m]/Pr(C(Z)), где Div^[m] — группа дивизоров степени О таких, что для любого D S Div^[m] дивизор mD является главным. Пусть {ц п группа корней степени т из в L . Если А, D2 S Di\\m] — дивизоры с непере секающимися носителями, j^:>,^32 L(Q функ
148 ции с дивизорами div(fn) = mDu d^'^ifo^ можно определить функцию о о w^: Divlm] 0 Dwjm] {lim ^AD,,D 2 D I (A D 2 (A mD ъ, TO помощью функции Wjn определяется спари вание Веиля вт: л ml ® Л т] {Ц«/ следующим образом тели дивизоров D^ ся, при этом D\ G Пусть 5 Л ml и носи D о ? Л 2 Div \т\ не пересекают Б. Тогда еЛА, В) w^X^b А). Спаривание Вейля на гиперэллиптических кривых является важным инструментом при анализе криптографических алгоритмов с открытым ключом. ^.. ^ ^ J л. "S J V ■_ Упражнения к главе 6 10 Касательные в двух различных точках Р и эллиптической кривой, заданной в форме Вейерштрасса, пересекаются в некоторой точке эллиптической кривой. Покажите, что точка Р -Q имеет нулевую j^-координату. точке перегиба эллиптической кривой проведена касательная, пересекает кривую? какой еще точке она Покажите, что точки кручения эллиптиче ской кривой образуют группу. Приведите примеры изогений на эллиптиче ской кривой. Что такое нулевая изогения? Эллиптическая кривая над конечным полем задана уравнением у 2 а)(х Ь)(х с). Яв ляется ли группа точек кривой циклической? Является ли редукция поля комплексных чисел по модулю решетки с периодами Шь С02 гомоморфизмом колец? Поясните, чем отличаются изоморфизм и би- рациональный изоморфизм кривых. Приведите примеры. Каким образом из фундаментального параллелограмма получается тор и обратно? Чему на торе соответствуют вершины фундаментального параллелограмма? Существует ли на торе образ бесконечно удаленной точки? Установите взаимно однозначное соответствие между точками коники над [R и точками прямой над R методом проектирования точки на прямую. Будет ли это отображение бира- циональным изоморфизмом, изоморфизмом, морфизмом? Установите соответствие между вырожден- *? '^ *? ной кубикой у =х +х и прямой путем параметризации. Является ли это соответствие взаимно однозначным отображением. физмом. бирациональным мор- изоморфизмом. 11 12 13 14 15 16 17 18 изоморфизмом алгебраических кривых, изо морфизмом групп? Покажите, что эллиптические функции с одинаковым фундаментальным параллело граммом образуют поле. Я 9 X + ах + Ьх + с над Является ли кривая алгебраически замкнутым полем характери стики 2 эллиптической? Является ли кривая 2 3 X + £> над алгебраи чески замкнутым полем характеристики эллиптической? п 3 Является ли 1 ^ 2 особая кубическая кривая х~ + X неприводимой? Может ли характеристическое уравнение эн доморфизма Фробениуса иметь нулевой ко рень? Покажите 9 что идеал нормирования поля К(Е) рациональных функций на кривой Е со- необратимые элементы кольца все держит нормирования и является главным Для кривой Е((0) 2 X Я Приведите пример функции, являющейся обратимым элементом кольца нормирования в точке (1, 0), и функции, являющейся необратимым элементом этого кольца нормирования. Найдите униформи- зующии параметр нормирования в этой точке. Пусть Е(К): у 2 X 3 X эллиптическая 1фи вая. Найдите ошибку в следующих рассуж дениях по вычислению значения нормирова ния функции X в точке (О, 0): «Если / имеет значение нормирования то/ 2 имеет значение нормирования 2к. Получаем 2 X 2 X 2 X 2 X 3 X X 2
149 Функция/ при X = о имеет нуль кратности Значит, / имеет в точке (О, 0) нуль дробной 1фатности 1/2». 19. Найдите значение нормирования функции X 2 X на кривой j^CQ): 2 X 3 кахР 9 о)ие (1,0). Ю. Покажите, что нормирование поля функций на эллиптической кривой Е{К) в точке ляется гомоморфизмом из (К(Е)) яв в Най образ дите нормирования униформизующего параметра и. Пусть/ кривой х^ + Ах^ функция на эллиптической , Найдите число ну- Ах лей и дивизор этой функции над алгебраически замкнутым полем. 12. Дивизоры функций на кривой имеют степень и образуют подгруппу в группе дивизоров. Образуют ли подгруппу дивизоры функций 5 имеющих нуль в данной точке Р кривой? Является ли аффинное координатное кольцо гиперэллиптической кривой факториальным? М. Пусть эллиптическая кривая вида от X над полем характеристики, отличной и 3. Найдите представление дивизора функции ху как дивизора на кривой. 25. На эллиптической кривой, заданной уравнением (6.7.7) над полем характеристики ? от личной от и визором div(/) существует функция / с ди 2(F) + 2{Р^ Что можно сказать о координатах точки F? 26. Может ли эллиптическая кривая над полем характеристики, отличной от функцию/с дивизором div(/) и иметь 3(Р) 3(Р со 27. Рациональные функции на эллиптической кривой образуют поле. Что собой представляют дивизоры функций, являющихся нулем и единицей в этом поле? 28. Является ли кольцо аффинных координат эллиптической кривой целостным? Может ли кольцо аффинных координат алгебраического многообразия иметь делители нуля? Приведите пример. X в точ- 29. Пусть Е/К — эллиптическая кривая. Покажите, что при переходе к алгебраическому за- 30 32 33 мыканию поля К любая функция из кольца К[Е] с точностью до константы представляется в виде дроби, числитель и знаменатель которой являются произведениями полиномов, задающих прямые, проходящие через точки кривой Е(К). Пусть E/\F 5 2 X 3 + 3х эллиптическая кривая и /— функция с дивизором div(/) = ((0,0))+ ((1,2)) /(4,4)7/(2,3). ((2, 2)) ((4, 1)). Найдите 31. Пусть Е(К) эллиптическая кривая над ал гебраически замкнутым полем. Кольцо поли номов от двух переменных К[х 5 содержит неприводимые полиномы. Однако функции на кривой из кольца аффинных координат, являющиеся элементами кольца К[Е], раскладываются на линейные множители. Почему? Покажите, что эндоморфизм Фробениуса на эллиптической кривой над конечным полем коммутирует с любым эндоморфизмом. Почему комплексное умножение позволяет ускорить умножение точки на число? 34. Пусть р алгебраическое замыкание поля/? адических чисел. Моишо ли в поле р ввести аналог функции Вейерштрасса и с его помощью параметризовать эллиптическую кривую? Ъ-^ I ^L -W. Литература к главе 6 Ван дф Варден Б.Л. Алгебра. М.: Наука, 1979. Коблиц Н. Введение в эллиптические кривые и мо/гулярные формы. М.: Мир, 1988. Ленг С. Эллиптические функции Пер с англ С.А. Степанова. Новокузнецкий физико-математический институт, 2000. Прасолов В.В., Соловьев Ю.П. Эллиптические кривые и алгебраические уравнения. М.: Изд-во «Факториал», 1997. Рид М. Алгебраическая геометрия для всех. М.: Мир, 1991. 10 Степанов С.А. Арифметика алгебраических кри вых. М.: Наука, 1991. Хартсхорн Р. Алгебраическая геометрия. Мир, 1981. М.: Хедж В., Пидо Методы алгебраической гео метрии. М.: ИЛ, 1955. Шафаревич И.Р. Основы алгебраической геомет рии. М.: Наука, 1988. Cantor D. Computing in the jacobian of a hyperellip tic curve Vol. 48. P. 95 Mathematics of Computation. 101. 1987
->1 •ш - "-L ^-:- V- 11 12 15 16 18 Dolgachev Lectures on Modular Forms www.math.lsa.umich.edii/-idolga/lecturenotes.html. , Fulton W. Algebraic curves. New York: Benjamin, 1969. 13. HusemoUerD. Elliptic curves. Springer-Verlag, 1987. 14. Koblitz N. Hyperelliptic crypto system s // Journal of Cryptology. 1989. Vol. LP. 139 150 . Lercier R., Morain F. Algorithms for computing isogenies between elliptic curves // Computational perspectives on number theory. AMS/IP Studies on Advanced Mathematics. Vol. 7. , Mazur B. Rational points on modular curves. Lecture Notes in Mathematics. Springer-Verlag, 1976. Vol. 601. 17. Schoof R. Counting points on elliptic curves over finite fields // Journal de Theorie des Nombres de Bordeaux. 1995. Vol. 7. P. 215-254. Schoof R. Elliptic curves over finite fields and the computation of square roots mod/? // Mathematics of Computation. 1985. Vol. 44. P. 483-494. 19 20 21 22 23 Semaev LA. Evaluation of discrete logarithms in a group of/?-torsion points of an elliptic curve in characteristic p II Mathematics of Computation. 1998. Vol. 67. P. 353-356. Shanks D. Class number, a theory of factorization and genera 5 Proceedings of Symposia in Pure Mathematics. 1969. Vol. XX. New York: Number Theory Institute. American Mathematical Society, 1969. P. 415-440. Silverman J.H. The arithmetic of elliptic cui-ves. Springer-Verlag, 1986. Semaev LA. Elliptic curve points over the maximal multiquadratic extension of rational numbel's www.wis.kuleuven.ac.be/algebra/artikels/semaev.htm. Menezes AJ., Wu Y.-H., Zuccerato R.J. An elementary introduction to hyperelliptic curves // Technical гфоп CORK 96-19, university of Waterloo, Canada, 1996. http://www.secш^tytechnetconVclypto/algorithrn/ecc.htmL
Глава ВЫЧИСЛИТЕЛЬНЫЕ АЛГОРИТМЫ АЛГЕБРЫ И ТЕОРИИ ЧИСЕЛ -.^■^ #*1 i ■ г^ -'■С^^ Лг #> а " -i-H этой главе приведены некоторые алгорит Здесь вместо четырех умножений (как при мы, часто используемые в криптографии. Алго- умножении ритмы линейной алгебры (решение системы ли- «в столбик») полиномов степени т — 1 требуется только три. Операция умноже- нейных уравнений, вычисление ранга матрицы, ния полинома на х"^ выполняется сдвигом масси- нахождение линейно зависимых строк матрицы, ва коэффициентов и имеет линейную сложность. умножение и обращение матриц) остались за Асимптотическая сложность алгоритма при пределами данной книги. умножении полиномов степени п равна 7.1. Алгоритмы умножения аз hog2 n+lj 0(п bgo3 0(п 1,58 Этот алгоритм эффективен, если операция Алгоритмы умножения целых чисел и поли- умножения слов выполняется медленнее, чем номов обладают большим сходством, поскольку операция сложения. представление числа U в позиционной сие Умножение целых чисел происходит анало теме счисления с основанием в виде п 1 гично: вместо переменной х нужно подставить 2^, где b — разрядность процессора, а при сло- и и.У , где Ui G Ж/ЬЖ, аналогично представ- жении чисел учитывать переносы. /-0 и-1 лению полинома Щх) и.х I I из кольца 7.1.2. Умножение в классах вычетов /=0 {Ж/ЬЖ)[х]. Однако отображение х <г^ а не являет ся изоморфизмом колец {Ж1ЪЖ)[х\ и Z, посколь ку при сложении чисел возникает перенос в еле Алгоритм умножения в классах вычетов, предложенный А. Шенхаге [10], основан на использовании китайской теоремы об остатках (теорема 3.5.6). В силу изоморфизма колец клас дующий разряд, а при сложении полиномов перенос отсутствует. Умножение чисел и полиномов с помощью сов вычетов Ж1тсЖ® ... ®Ж1т к-] Ж, микропроцессора требует выполнения сложения где М= mo...mk-h знаком «@» обозначена прямая и умножения слов. Длительность операции ело- сумма колец, каждое число из Ж/МЖ единствен- жения и умножения слов зависит от типа про- ным образом можно представить в виде набора цессора. При этом длительность сложения превышает длительности умножения. не 7.1.1. Алгоритм умножения Карацубы-Офмана элементов классов вычетов по модулям т,. При этом сумме и произведению чисел соответствуют суммы и произведения по модулям т,. Для умножения двух больших чисел длины не более (log2M)/2 можно действовать по следующей схеме. Пусть U{x) и V{x) — полиномы степени не бо в лее 2т из кольца F„[x]. Для умножения этих полиномов представим их в виде U(x) = Щх)х'" + ЩхХ V{x) = Fi(x)x" + Fo(x), Перейти к представлению сомножителей классах вычетов по модулям т,. Вычислить произведения сомножителей по модулям т,. где deg(f/,), deg(f/o), deg(F',), deg(Fo) Тогда имеет место равенство т 3. Восстановить произведение по китайской теореме об остатках. UV av^x^ т 1.1. + ни, + Uo){V, + Vo) и \ 1 f/o Vo)x т + UnVo. Пусть максимальный размер входа алгоритма равен п. Тогда произведение будет иметь длину не более 2гг. Найдем к взаимно простых (но не
1У2 обязательно простых) чисел mQ,,..,mk-\ таких, что их произведение к'\ М Ш: I i=Q имеет длину больше 2п. Для умножения двух чисел и и Vuo модулю числа N можно выбрать М (N 2 поскольку каждый из сомножите лей меньше N. Представим Uvi Vb системе клас сов вычетов по модулям то, ..., mk-\: где W к/2-\ TM„N,w к-\ 1 т. + I 1 о к-\ г kfl к/2~\ J kl2 т } .v=0 М 1/ т (mod М\ niQ... т^_^т^^^... Щп-А:, М 2/ Щ/2'"^;-\'^Ь^\-"Щ-\ и Ui (mod тХ V/ (mod mi), 1 <i<k. Таблица чисел mt фиксирована, поэтому мож но заранее вычислить вспомогательные величи ны м, ЩЩ-"^1-\'"^1+\"-"^к-\ т ...т (mod т.), Л^/ м, 1 (modm,). На практике удобно выбирать число к так, что бы оно было степенью двойки. Нахождение вычетов по модулям mi моншо ускорить следующим образом: сначала вычислить произведения шоти — произведения /W2/W3, mdms, гщшъ •••, после этого тотш^пн. m^msmemi^ т^тдтюгщи •.., затем то...т'], m^...m\s^ и т. д. и, наконец, найти с по мощью «деления пополам» вычеты по соответст вующим модулям. Пусть известен вычет х по мо дулю тот\т2т^. Тогда представление х по моду лям 1щт\ и tfijm^ будет иметь вид: X xq\ (mod тот\Х х = Х2з (mod mjm^) Находим вычеты по модулям то, ...^ту. хо\ xq (mod то\ xqi = Х) (mod mi). Х23 Х2 (mod /W2), X23 = хз (mod тз). Для перехода от представления в классах вы четов к обычному надо воспользоваться китай ской теоремой об остатках: к-\ W UV У" WjMfN^ (modM), (7.1.1) /=о Данное разбиение дает возможность применить тот же метод, что и при нахождении остатков по модулю т,. Найдем произведения подряд идущих двух. четырех, восьми и т.д. модулей: тот\, т2тз, .-., ^к-2^к-ъ тот\т2тз, ..., тк-А1^к-ъ^к~2^к-и ••• • Обо- 7+2-'-1 значим через х.- т г произведение ./ под Г=1 ряд идущих модулей, начиная с т,. Найдем це лые числа /+2 J 1 I X N^w, r=i т г Для ускорения вычисления yij можно восполь зоваться рекуррентной формулой: ViO N,Wi, ■г. . ,v* у,- и hj X X. 1-/+2-'-\у-1 "^ yi+2J~\j-r^J-^ ' > Тогда vo / w. w- 1^' ъ ^ Пример 7-1,1. Умножение в классах вычетов. Найдем произведение чисел Пусть {то, т\, /W2, тз) (5,6, и 31, м 57. 2310. Вычисляем Xij, N1'. Xqq 5,X\Q 6, Х20 7, Х30 и. Xq\ 30, Х21 77, xq2 2310, М о 3,7V 1 1,7V 2 hN. 3 где Wi = W{mod mi). Процедуру вычисления W можно ускорить, поскольку слагаемые WiMjSfj для разных / имеют много общих делителей. Например, пусть к~2. Тогда все wMiNj, где О < / < А: - 1, имеют общий делитель вида ^оЩ-Щп-х^ если i>kl2. и тк,птк,п.,...тк кП к 2+1 1 ' если /< к/2. Поэтому запишем (7.1.1) в виде Находим векторы U Тогда fF= (2, 3, 3, 7). Отсюда 5 3,9) 5 (2,3,1,2) Уо\ Уоо WoNi о 6,ViO У20 W2N- 2 3,V30 Уоб^ю +>^1сй^оо 51,V2 1 WiN 1 W3N' 3 ^2СЙ^30 + ^ЗСЙ^20 82, У02 У0\Х2\ '^У2\Хо\ 6387.
153 Поэтому W=yQ2 (mod А/), W~ 1767. Вычисле- их покомпонентное умножение и вычисление об ние уи можно проводить по модулю М. ратного БПФ (см. п. 4.6). Асимптотическая сложность рассмотрение Определим полоэютгелъно обернутую свертку и отрицательно обернутую свертку «-мерных го алгоритма равна 0{k\ogK). Практически векторов а, Ь. Положительно обернутая сверт данный метод умножения эффективнее, чем умножение «в столбик», лишь тогда, когда длина сомножителей превышает разрядность процессора в десятки раз. Наибольший вклад в сложность дают процедуры перевода сомножителей в классы вычетов и восстановление произведения Если выполняется подряд не сколько умножений небольших сомножителей без восстановления промежуточных произведений, то необходимо принять меры, исключающие «переполнение», при котором произведение превышает модуль М. Поскольку китайская теорема об остатках справедлива для произвольных коммутативных колец, то этот метод умножения очевидным образом переносится и на кольца полиномов над целостным кольцом, например, на кольца ¥p[f\. Необходимо лишь, чтобы сумма {mi) + (mj) двух любых различных идеалов совпадала с кольцом. Идеи э положенные в основу данного метода э могут использоваться в других областях информационной техники, например, при разработке корректирующих кодов. Китайская теорема об остатках устанавливает требуемый изоморфизм колец, а приведенный выше способ обеспечивает быстрое вычисление прямого и обратного изоморфизма. 7.1.3. Умножение с помощью быстрого преобразования Фурье Этот метод умножения, предложенный Шен- хаге и Штрассеном, основан на использовании гомоморфизма целостных колец Щх] и 7? и теоремы об интерполяции полиномов из Щх] (см. теорему 4.6.1). Имеет место вычислимый в обе сто роны изоморфизм Щх]/(/(хУ) FT качестве f^x) используются полиномы х' ± 1, сомножители задаются значениями в корнях степени л из +1 в кольце частных кольца i?, п является степенью двойки э КОЛЬЦО имеет вид Ж1тЖ. Э где т + этом случае прямой и обратный изоморфизмы вычисляются как быстрое преобразование Фурье. Пусть отображение, задающее интерполя цию полинома в корнях степени « из 1. Вследствие указанного изоморфизма имеет место равенство ЫаЬ) ф(а)ф(й), поэтому аЬ 1 (ф(а)ф(б)). Ал горитм умножения предусматривает представление чисел как полиномов, вычисление быстрого преобразования Фурье (БПФ) для сомножителей. ка это «-мерный вектор d такой, что I п 1 7 Yah I J + У а b^^,_j I о J i+\ Отрицательно обернутая свертка это п мерный вектор е такой, что V - -■ ■^ Ч / ^/ Уа,Ь 1=0 J '-J /=/+1 Обычная свертка — это вектор с (Со э *э С2и-\ коэффициентов произведения в Щх] двух поли номов степени п э отрицательно обернутая свертка— вектор е коэффициентов произведе ния тех же полиномов в Щх]/(х" + при этом е I с I с n+h положительно обернутая свертка вектор d коэффициентов произведения тех же полиномов в Щх]/(х л э при ЭТОМ d, С/ + с П+1 Длина обернутой свертки равна длине входного вектора, то есть длине сомножителя. Умножение «-разрядных двоичных чисел по моду- выполняется за счет отбрасывания стар- . Произведение по лю и ших разрядов, начиная с и модулю сверткой. и + задается отрицательно обернутой то есть разряды старшей половины произведения вычитаются из разрядов младшей половины произведения. Произведение по моду- задается положительно обернутой лю сверткой, то есть разряды старшей половины произведения складываются с разрядами млад шеи половины произведения. Для того чтобы покомпонентное произведение векторов было положительно обернутой , необходимо выполнить операции сверткой П ((Qa)*(Qb)), где Q — матрица преобразо вания Фурье э * операция покомпонентного умножения векторов. При вычислении отрица тельно обернутой свертки е операнды умножа ются на матрицу Т, а произведение на обрат ную матрицу т- е Т Q ((QTa)*(QTb)). Матрица Т является диагональной, ее элементы 77 равны \\j\ где со Умножение вектора на матрицу Т равносильно умножению /-й коорди наты вектора на vj/' [1]. случае БПФ положим п к (х) — прими тивный корень степени « из 1. Имеют место ра венства —сй ш '. Способ вычисления прямого и обратного БПФ аналогичен методу Шенхаге (см. и определяется разложением двучленов. п 1.2) Например, для п X О со о 4 X со^)(х ч (X) 4 э
154 4 X 4 X CO о со 4 о'); 6 о"); 2/ це вычетов Z/(2 + 1)Z. Тогда vj/ будет квадрат ным корнем из со, то есть примитивным корнем степени 2d из в том же кольце. X 2 СО о о со^Хх со 4 э 2 4 2 X - СО = (х - со")(х - со ): 2 2 X - СО" = (х - со)(х - со ) э 2 6 3 X - СО" = (х - со")(х - со ) 8 О Разложение двучлена х - со можно описать ^ - со^ является корнем деревом высоты з, где х yxj ^^^ji^^i^^ xw^^/i.vi», а линейные двучлены— листьями (рис. 7.1). Из каллой вершины, не являющейся листом выходят две стрелки, соответствующие разло э жению на два сомножителя Аналогично п к дерево с корнем х п со о э для имеет высоту к и п листьев X О со о х^-о° 2 О X -СО X -(О 4 х-(о^ х-со"^ х-(о^ х-со^ х-со* х-(о^ х-со х-со Рис. 7.1. Разложение двучлена для п Покажем, как можно использовать БПФ для умножения больших чисел. Пусть а э П разрядные двоичные числа от ДО п рые нужно перемножить по Пусть п длины к модулю э п каждое число состоит из бит. , кото- блоков Идея быстрого умножения целых чисел за ключается в следующем Сначала лля каждого сомножителя выполняется БПФ так, чтобы Фурье-образы имели двойную длину (это делается для того, чтобы не было переполнения). Затем Фурье-образы покоординатно перемножаются по модулю + (обычно удобно выбирать число 2/ равным разрядности процессора), и после этого выполняется обратное БПФ, то есть вычисляется отрицательно обернутая свертка. При этом необходимо принять меры, исключающие влияние переносов, возникающих при целочисленном сложении а слагаемых (умножение целых чисел отличается от умножения полиномов тем, что появляются переносы). Для исключения переноса Шенхаге и Штрассен предложили ис пользовать «разреженные» слагаемые, содержа щие достаточное число нулей в старших разря дах. При этом, естественно, длина кал^дого ела гаемого возрастает в несколько раз. Для БПФ по модулю 2/ + ПОЛОЖИМ со рав ным примитивному корню степени а из 1 в коль Алгоритм 7.1.1. Вычисление быстрого пре образования Фурье по модулю 2 + [1]. Вход. Вектор а (оо,. самое, ао + а\х + ... + aj_ix a^y-i) или, что то же э где J т Выход. Вектор b Мето о э .... b d-\ э Qa На этапе предвычислений найти элемент со примитивный корень степени а из 1 в кольце вы четов Z/(2 + 1)Z. 1. Положить Гл.„(л:) 0,т d'\ J J О Положить S т Если 5 , то перейти на шаг 4. Положить / Если t>2 т 1, ТО перейти на шаг 7, иначе выполнить следующие действия. 2'''+'-1 . Представить rt^s',\ в виде ^ QjX 1=0 J 5.2 Представить t/2^ в виде во + 2е\ + + + Г-'е Ш-1 5.3 5.4 Полоншть е Положить ^„,_1 -I- ге^.2 + . • • +2"' во. -\-2е 2 Л 1 Г, V М /,л Z( а +со^а , )(mod2 2/ J О + 1)х J 5.5 Положить 2 S 1 г S' i+T,.s м /=0 а +С0 e+dl2 а /+2 Л )(mod2 2/ + 1)Х / Положить t Положить S t + 2 s+\ S Для/ 0,1 э э и вернуться на шаг 5. и перейти на шаг 3. выполнить следующие действия Представить в виде во + 2е\ +. + + 2 т-\ е т-\ 8.2. Положить е Положить й,. ет-\ + 2е ги-2 + .+2 т-\ ео Г/О. Результат: Оэ 5 bd-\) л Пример 7.1.2. Быстрое преобразование Фурье. Пусть + 65537. Пусть э ТО есть т Вычислим БПФ вектора а э э э э э э э На этапе предвычислений находим со 16 примитивный корень степени Z/65537Z. из в кольце ■.- '~£^^ Г--.:''=« --^- -* ' ч
155 Полагаем ГоАх) Х + 2Х- + Зх' + Ах^ + 5х ^ + 6х^ + 1х Все Ж165531Ж Д]тя5 вычисления проводим в кольце 2 находим: э tlT 0/2 2 0,е 7 ^о:2(л:) 2 (О + 4) + (1 + 5)х + (2 + 6К + (3 + 7)х 3 3 42W 4 4 (О + 40)1 + (1 + 5а)> + (2 + бш 4 + 70) V = 65533 + 65533Х + 65533х^ + 65533Г Для 5 находим э til S 0/2 1 э ^ э '"о, 1 (X) '"2,1 (л:) (4 + 8) + (6+10)х=12+16х Э 4 (4 + 8а)1 + (6н-10а) 4 65533+65533Х э э г/2' S 4/2 1 э ^ ^ ^^4,1W 2 (65533 + 655330)0 + (65533 + 65533а) 2 64509 + 64509х '^блСл:) э 6 (65533 + 655330)'^) + (65533 1020+1020Х. 655330)^ X Для 5 О, f/2 О находим; S 0/2 о 0,е /"i six) 12 + 16 28 э 12 + 16© 4 65533 э э ^/2' S ill о э ^ э '"2,oW 65533+65533© 2 64509 э 65533 + 65533© 6 1020 Э э //2'^' 4/2 о э ^ ? Чо(л:) '^5o(x) 64509 + 645090) 48061 э 5 64509 + 645090)^-15420: э ^/2 Л 6/2 о э ^ э Г10(Х) 3 1020+10200)^ = 50109 э 7 1020 + 10200)'= 17468. Выполняя шаг 8, получаем о 2 ^^2.0, Й 6 '^З.О, ^ 1 ^^4.0, b 5 '^S П, Й 3 7 Результат: (28, 4806], 64509, 50109, 65533 э 15420,1020,17468,65533). Выход. Произведение с — аЬ. Метод. На этапе предвычислений найти элементы vj/, ш. Для каждого сомножителя умножить его /-ю координату на \\f\ затем выполнить быстрое _ _ . ^ -77 l/f^1l ■ 1 \ -Ж7 преобразование Фурье в кольце Z/(2 Вычислить покомпонентное 1)Z произведение векторов преобразования Фурье, полученных на шаге Выполнить обратное преобразование Фурье —W? I /f^lA I 1 \ —Ш7 в кольце Z/(2 + 1)Z для вектора произведений, полученных на шаге 2. Умножить каждую /-ю координату вектора. полученного на шаге э на 7 Z/(2 2/ в кольце + 1)Z. Вычислить произведение аЪ в кольце Z/2 следуюш;им образом. 5.1. л Найти числа л-\ d-\ а t у '2(^"'82^)'- ъ t ^/2(31og2 d)i э 1 О 7 О где а/ = а, (mod d) и / 7 7 (mod <f) для 0</<J Вычислить произведение 2d-\ С и I а'Ь ^ ^'2^'^Ы2^)1 с г 1 2d-\ э 7 О J О 5.3 например, методом Карацубы-Офмана 7.1.1). Вычислить координаты вектора произ- d ведения аЪ в кольце Z/2 Z по формуле с t 1 с t d+1 (modd) для 0<i<d Каждую из координат с, произведения восстановить по китайской теореме об остатках для колец классов вьпетов Z/(2 + 1)Z, Z/2 Z. Вычислить точное значение произведения J4 с с, 2 и по модулю 2 2/7 + 7=0 Таким образом, этот метод умножения основан на том же принципе, что и умножение в классах вычетов, — на гомоморфизме колец. Произведение чисел а и b (заданных в систе- ^ в виде векторов ме счисления с основанием длины э П к Id) вычисляется следующим 7,1.4. Модульное умножение Метод Монтгомери Модульное умножение наиболее часто алгоритмом Параметрами алгоритма являются встречающаяся операция при посгроении алгорит числа /, J, причем d 2^/2 если четно, и 1)/2 MOB криптографии с открытым ключом. Обычно приходится выполнять умножение целых рациональных чисел по простому или составному модулю или умножение полиномов по модулю не- Алгоритм 7.1.2. Умножение целых чисел с по- приводимого полинома. Модульное умножение если к нечетно. мощью БПФ (алгоритм Шенхаге-Штрассена) [1]. d-\ Вход. Сомножители а а I и э /=0 d-\ 1=0 7 // чисел мнимого квадратичного порядка можно выполнять с использованием алгоритма 7.13.1. Если выполнять модульное умножение непосредственно, сначала перемножая целые числа (по-
156 линомы), а потом вычисляя остаток от деления, то сложность алгоритма будет определяться процедурой нахождения остатка. Рассмотрим методы модульного умножения, не требующие деления. Наиболее просто выполняется умножение по /утя простого г ^ + 1. Для ум- 2.]. 2.2. и V I и UiN' (mod и + vNb\ U/R. 4. Если U>N, то и Результат: U. и N. + модулю чисел Мерсенна р или по модулю чисел Ферма р ножения двух чисел по модулю числа р нужно вычислить целочисленное произведение сомножителей и представить его в виде 2"А + В, — младшие п бит произведения. Произве- Дпя вычисления произведения Монтгомери достаточно перемножить операнды как целые числа и затем выполнить преобразование Монтгомери. Для перевода числа в Л^-вычет нужно где дение по модулю/? будет равно В + A{modp). Обобщением этого метода является умноже ние по модулю чисел р вычислить МР{А, 1с (mod N), N, к). Для обратного преобразования Л^-вычета в число нужно вычислить произведение MP(AR (mod N) э ? кку ± с для малого с. этом случае аЪ э если аЬ 2"А + В, где п 9 ТО B^cA{modp). При необходимости приме няется рекурсия. Алгоритм 7.1.4. Модульное умножение больших чисел методом Монтгомери [7]. AR (mod ЛО «-ь - •э п~\ ? э о э п. Монтгомери предложил метод модульного умножения, не требующий выполнения операции деления [8]. Для вычисления произведения чисел АиВ по модулю нечетного числа N, где А, Выхо Мето N. ABR {mod N). п э ао\ BR (mod ЛО '(mod b) N N 2. Положить С Для / О (С /7-1 Э Со)). э П ВЫПОЛНИТЬ следую- э N большие числа, выберем число i?, равное щие действия 2.1. степени числа 2 и превышающее N. Определим N~ebi4em числа А по модулю N как AR (mod ЛО и произведение Монтгомери по модулю N как Ui 2.2. (Со + а,Ьо) N (mod b). С-h a^BR {mod Ny)-h и N MP(A Э Э N,R) 1 2.3. ЕслиС>ЖтоС N ABK' (mod N). Результат: С. мери основу вычисления произведения Монтго- положено преобразование Монтгомери Имеют место равенства: AR теореме. {modN). базирующееся на следующей MP{AR {mod N), BR {mod N), N^ R) ^ ABR {mod N), AR + BR = {A+ B)R (mod Л0. Таким образом, множество /V-вычетов с опера Теорема 7.1.1. Пусть N и взаимно про стые положительные целые числа. N f для всех чисел и М (modi?). Тогда (mod R) справедливы следующие утверждения. 77V 1 циями умножения по г . Число T + MN целое. Монтгомери и сложения является кольцом. Нетрудно видеть, что это кольцо изоморфно кольцу классов вычетов по модулю N^ изоморфизм задается умножением на 7?, обратный изоморфизм задается умножением на R 1 TR 1 (mod TV) Г + MV T + MN MP(AR (mod ЛО, R~'R (mod Л0, /V, R) или N 1 AR^'R (mod N) (mod Л0. Доказательство см. в работе [8]. Пример 7-1.3. Умножение чисел методом Пусть процессор оперирует со словами длины т бит. Монтгомери. Исходные данные: N Алгоритм 7.1.3. Вычисление преобразования 45678, R Вычисляем 65536 16 э 64553, 16 30000 4 э Монтгомери для многоразрядного числа N э 2 вспомогательные параметры 62547 (mod ЛО. Вход. W /7-Ь Э No) Э 2п N Ь -••9 to) <R, N' э т N 1 э /7 Э N Результаты вычислений алгоритмом 7.1.4 све (mod 6) (TV f дем в таблицу: одиночное слово). Выхо TR 1 (mod ЛО. Метод. 2. Положить и Для / э и (г/2 /7-Ь •э Uq). э П ВЫПОЛНИТЬ следую щие действия.
157 Продолжение таблицы арифметике Монтгомери можно выполнять не только умножение, но также сложение и возведение в степень. При этом нет необходимости переводить промежуточные результаты вычетов в обычное представление. Асимптотическая сложность алгоритма ум ножения Монтгомери такая же^ как и у алго из N- ритма, выполняющего сначала умножение операндов «в столбик», а затем деление с остатком. Поэтому необходима более точная оценка не сложности. На практике часто требуется одиночное умножение, а цепочка умножений и этом случае можно исключить сложении. Если арифметика Монтгомери используется для сложения точек эллиптической кривой и вычисления ведутся в проективной форме с тремя координатами XR, YR, ZR (см. п. 7.10), то для перехода к аффинной форме нет необходимости сначала переходить от арифметики Монтгомери к нормальному виду, так как при делении х XR ZR происходит автоматическое сокращение на R. 7.1.5- Деление Деление в кольце R может использоваться и как составная часть операции модульного умно- ения. и самостоятельно, например. в задачах. связанных с корректирующим кодированием. Практический интерес представляет деление в кольце Z целых чисел, в кольце Z[a] целых алгебраических чисел и в кольце полиномов К[х\, Обьп- со- но деление выполняется на простои элемент ответствующего целостного кольца /?, так что Rl{q) является полем. Если R = К[х\, то q задает конечное расширение поля К. Если К конечно, то в качестве элемента q может использоваться любой неприводимый полином той же степени. Наиболее просто в ¥Лрс\ выполняется деление на полином X + а. Однако такой полином неприводим только если -а является в F« невычетом степени «, . Таких полиномов р то есть если Н0Д(«,7? 1)^ их не сущест сравнительно мало, а в случае р вуег. В этом случае можно использовать составной полином У + а, большой простой делитель которого является искомым полиномом. Например, над 2 выполняется равенство У + 4- \)(х /^ 1 + ... +Х+ 1), при этом для преобразование произведения из /V-вычета в половины простых чисел п полином ф) обычную форму и преобразование операндов в У' 1 + ... +Х + является неприводимым. Это 7У-вычеты. Тогда сложность умножения алго- имеет место для « g {131, 139, 149, 163, 173, 179, Монтгомери составляет 2п(п + ритмом обычных умножений слов. 181, 197, 211, 227, 269, 293, 317, 347, 349, 373, Алгоритм Монтгомери был предложен для ум 379, 389, 419, 421, 443, 461, 467, 491, 509} этому элемент поля По 2" МОЖНО задать элемен нон<ения в кольце классов вычетов Ж11М.. Однако том кольца 2 М/(х п 1). Если старший разряд вместо кольца целых чисел можно использо вать и произвольное евклидово кольцо. Напри мер, если требуется вычислить произведение по линомов в кольце к\х\1 N{x)k\x\ элемента кольца будет иметь степень п но вычесть из него q{x). нуж то выбирают вспомогательный полином R{x) удобного вида, например расширенным алгоритмом Алгоритм 7.1.5- Целочисленное деление с ос R{x) X deg(i?) deg{N), находят татком. Евклида полиномы (х), N'(x) такие, что R(x)R"\x) - N(x}N'(x) Затем проводят такие же вычисления, как и в алгоритме 7.1.3. Отличие заключается в том, что на последнем шаге после деления на R{x) всегда получается Вход. Делимое N и делитель р Выход. N(modp). т а л ■■"■ г Мето Представить число N в системе счисления с 7 /~>т -л. г -.Т , -ЛТ 1 . , -ЛГ lk dcg(U) deg(AO, поэтому операция основанием d Если N Nn-^N^d-^ ,., +Nbd то вычитания N{x) не требуется. К о при Л^о р. Результат: Л^о- положить Л^о
158 Положить / 1Д м к Положить M-<r-La + Ni Пока М выполнять: М о М (mod Л М.<~{М Mo)/dM М о aM^ Если М I то М при р. Результат: М. М>р положить Положить / шаг 4. i-h М и перейти на Деление в Щх^ выполняется аналогично. Пример 7.1-4. Целочисленное деление с ос татком. Пусть р 2^^ - 209 Для наглядности используем шестнадцатиричную систему счисления. Найдем остаток от деления числа N 1234567890abcdeffedcba0987654321 на/?(р fffffif2f, а dl). Берем два старших 32-разрядных слова. На ходим М= 12345678 + dl 90abcdef f6d6665e7; М 6d667226. Берем следуюш;ее 32-разрядное слово ДИМ М М . Нахо- fedcba09 + dl • 6d667226 = 5a4f7febOf: 4f803489. Берем следуюш.ее 32-разрядное слово. Нахо ДИМ М М 87654321 + dl • 4а803489 = 4l6n026fa ? 6fl05c0b. Результат: 6fl05c0b общем случае деление MlN больших чи сел с остатком можно вьшолнять по следуюш,еи схеме. Предположим, что процессор может выполнять деление слов. Пусть разрядность слова равна d. На каждой итерации из делимого М берем три старших слова /w, а из делителя N— два старших слова п. Находим разность b длин де Наибольший обш;ий делитель в евклидовом кольце может быть найден алгоритмом Евклида. случае кольца Z алгоритм Евклида имеет сложность 0{п \ если размер задачи составляет п бит и вычислительная модель содержит умножитель слов. Если наибольший общий делитель двух элементов х Vi у равен 1, то представление ax + bv (mod v). дает обратные элементы: а X 1 (mod х), используемые при деле НИИ в конечном поле. Это представление выра батывается расширенным алгоритмом Евклида. Алгоритм 7.2.1- Алгоритм Евклида для коль uaZ. Вход. X, >^, О < Выход. НОД(х. у\ Метод. X Пока >^ =1^ О, выполнять г <- х (mod у\ х У. г. Результат: х Алгоритм 7.2.2. Расширенный алгоритм Евк лида для кольца Z. Вход, х, V, О < Выход. X. НОД(х, у)\ целые числа а, b такие. что ах + Ъу Метод. d. Положить а? Lai 0,& 2 0,6 1 Пока V Ф О, выполнять следуюш;ие действия X ? г X ЯУ^ а ао дай 2 qb\. 1.2. X У^ г ? ai аи а\ а, b 2 bu 1 Положить d X, а 02,b 2 4. Результат: J, а, b Существует более быстрая версия алгоритма лимого и делителя (в словах). Выполняем деле- Евклида для вычисления наибольшего общего ние с остатком т на гг. При этом находим одно делителя целых чисел и обращения. слово частного х (приближенное). Затем вычис ляем М М м м jhdjr xN и проверяем неравенства Алгоритм 7.2.3. Бинарный алгоритм Евклида . Если первое (второе) нера венство не выполняется, заменяем х на х - 1 (со ответственно на х+ 1). Затем повторяем проце дуру до получения х == 0. Остаток равен М. Аналогично моншо выполнять деление с ос татком в произвольном евклидовом кольце. для кольца Z. Вход. X, у, О — *-^i 'w *т U^-^-V Л-ш с г .'£ jVv X. Выход, d = НОД(х, у) Мето 2. Положить g Пока X и V оба четные, выполнять х У12. <-х/2, 2g до получения хотя бы од- 7.2. Алгоритмы обращения и вычисления наибольшего общего делителя ного нечетного значения х или у. Пока X =1^ О, выполнять следующие действия 3.1. Вычисление наибольшего общего делителя и обращение элемента целостного кольца — тесно связанные задачи, которые часто используются при разработке криптографичесьсих алгоритмов. 3.2. Пока X четное, выполнять х Пока V четное, выполнять X W2. 3.3. Положить X
159 3.4. Еслих V, то jc <~ /j иначе у t Положить d <г- gy. Результат: d. 2 Сложность этого алгоритма равна 0(п ), если длина операндов составляет гг бит. Этот алгоритм (если не выполнять шаг 3.4) можно использовать и для деления с остатком. бинарном виде можно реализовать и расширенный алгоритм Евклида. Алгоритм 7.2.4. Расширенный бинарный ал горитм Евклида для кольца Вход. х,у,0<у<х. Выход, d = HOE{x, v); целые числа а, b такие. что ах-^ by Метод. d. Положить g <г- Пока X и у оба четные, выполнять х х/2. У^ У/2, 2g до получения хотя бы од ного нечетного значения х или v. Положить и D X, V vA hB а Получив 87, и на шаге полагаем D 107. Алгоритм 7.2-5. Расширенный бинарный ал Пока и четное, выполнять следуюш,ие деист- горитм Евклида для РгГ^]- ВИЯ 4.1. Вход. х(0, y(t\ degO) deg(x). Положить и и /2. Выхо d(t) НОД(х(0,Х0)? полиномы a{t\ А2 При^ О (mod 2) положить All b{t) такие, что a{t)x{t) + b{t)y{t) d(t). э в/2 . В противном случае положить Мето (А + у) 12 ? {В X )/2. Положить g{f) Пока V четное, выполнять следуюш;ие деист Пока x(t) x(t) (mod иХО (mod t\ выпол пять хШ, yit) yit)lt, ^0 tg{t) ВИЯ. 5.1. Положить V V до получения ненулевого свободного члена в х({)шшу{{). 5.2. При D (mod 2) положить С С/2, Положить u{t) D {C+y)l2,D противном случае положить B{t)^ О, с(0 - x{t), О, D(f) v(t) y{t\ A{t) ? Ф X )/2. Пока u{f) (mod выполнять следующие F ели и D. V, то Иначе и и V, действия. 4.1. э Положить u{t) u(t)/t V V щ А. А2 D D В. При A(t) A(t) B(t) (mod /) положить Ait)/t,B(t) B{t)lt. против положить При и Иначе вернуться на шаг 4 Результат: J, а, Ь, g^, а С, b D. ном случае положить A(t) 2 B{t) Пока v(f) {A{t)+y{t))lt^ t {B{t)^x{t)yt, (mod t\ выполнять следуюш,ие Сложность этого алгоритма равна 0(п ), если длина операндов составляет гг бит. действия. 5.1. Положить v(^) V т ■_ ■_ - ^ _. ^ -^ 5.2. Пример 7-2Л- Расширенный бинарный алго При С(о С(0 D(t) (mod t) положить СШ, D(t) D{t)lt. противном ритм Евклида для Пусть X 123, 100. Последовательность случае положить -^--^ ^ шагов алгоритма 7.2.4 представлена следуюш;еи табли ей. С(0 D(0 {С {t)+y{t)) 11, (D{i)+xiO)/(. ■^ -* - ^ Jt ^ *_-■ * ^
160 6. Если ^(0 deg(w) de g(v), TO u(t) uit) + 40, Ait^ + Cii), B{t) <-B(t) + D(t). ТИВНОМ случае v{t) <- v{t) + u{t), C{t) прост+ + A{t), D{t) <- D(t) + B{t). Если a(t) u{t) C(t\ b(f) TO положить dif) gitMt), Dit) противном случае вернуться на шаг 4. Результат: d{t\ a{t\ b{t) Алгоритм 7-3.1. Алгоритм LLL минимизации базиса решетки [7]. п. Вход. Базис (Ьь ..., Ь„) решетки в IR , w Выход. Минимальный по Ловашу базис ре шетки. 2. Метод. * 1 ь,,в 1 Для / * 1 2 2, 3, ..., « выполнить следуюш,ие дей ствия. 7.3. Минимизация базиса решетки Алгоритм LLL (Ленстры-Ленстры-Ловаша) служит для минимизации базиса решетки и используется при исследовании безопасности ранцевых криптоалгоритмов, а также является инструментом для разложения составных чисел (см. п. 9.2), вычисления дискретных логарифмов в конечном поле и на эллиптической кривой (при поднятии точек). Здесь под решеткой понимается модуль над кольцом Z, состоящий из целочисленных линейных комбинации базисных векторов с координа- — множест- тами из поля К. Если (Ьь .., b п во линейно независимых /w-мерных векгоров над полем К. то решетка множество вида Zbi + ... + Zb„. Отметим, что базис В решет ки в общем случае не совпадает с базисом век торного пространства. Пусть K=R и x = (xb ...,Xj„ (Уь...,^/» элементы решетки Z. Определим скалярное про т изведение векгоров х и у: (х,у) Y^.y I и норму /=1 вектора х: X Решетка может иметь много базисов. Алгоритм LLL дает базис, состоящий из векторов с минимальной нормой. Определим по индукции для базиса набор из А? векторов * 2 / И набор из п вещественных чисел р,// следующим образом (b„b * J ',j * 2 для i<j п. J 2.1. * / * / 2.2. Для/ f ^ ^^щ * * * ^ 1^ вычислить * ',7 (b„b^) ^ -^, b * 1 * / ',7 * J J 2.3. 1 * 1 2 Положить к При |p^tjt-i| > 0,5 положить \ikj,.x <- RED()Ll^ к-\ При к (0,75 2 ^kk 1 )в к-\ выпол нить еле дующие действия. . Положить iiB [^kJc-U 2 к ^itB к-[^ i^kk 1 k-l .в к к-\ к ,в к^\ 5.2 5.3 Поменять местами к и b к-\ При к>2 поменять местами [ik^ и p^_i/ для/ 1,2, . ^ /С 2. 5.4 Положить 5.5 А:+ 2, ..., « Положить на шаг 4. Ц/Л для М-/Л-1 lit. I /с + тах(2, к и вернуться При к (0,75 2 \^к,к 1 )в к-\ для 3 1 положить \^kl RED(ut/) для та ких щ,ы что \\iki\^ 0,5, и положить к /с + Если п^ то вернуться на шаг иначе ре зультат: (bi, ..., п Процедура редукции КЕО(|щ, Л. RED 1. Если \iu > О, то положить г Lo,5 + [^к иначе г Lo,5 [^kJ RED2. Положить bk к гЬ/. RED3. Для/ 1 2 Z ПОЛОЖИТЬ » / / /-1 ^7 * J для </<« 7 1 Наибольшую норму имеет вектор * 1 Ь|. Ба зис (Ьь ..., Ь„) решетки называется минимальным по Ловагку, если 1К 7 0,5 для i<j п и * / 2 (0,75 2 » /-1 2 для </■<«. ц^ ц^ Щи RED4. Положить р^/ Ц^ г ^ -^ '^ Сложность алгоритма 7.3.1 равна 0{п 4 ариф метических операций над вещественными чис лами. Пример 7.3.1. Минимизация базиса решетки алгоритмом LLL.
161 Пусть п и базис решетки задан векторами мента поля FJ. Мы рассмотрим алгоритм, кото 1 (], о, 1,2),>2 Полагаем 1 (1, (1,0, , 2, 0), Ьз 1,2,0.1). Выполняем шаг 2. Для / » 2 (1, 1, 2, 0), Ц2Л 1 * 2 1 ('/2, 3 1ъ 1), 9 2 А. 2 Для / -^ * 3 1, 2, О, 1), Цзл 1 » 3 7 /б, 2, Ь 2 6, /з). ЦЗ,2 / * I /9, Ь, = (-%,''/9,1, '/А 5з 28 /о. Посколы^ 2 ^ (0,75 2 |j,2i)B|5 полагаем и переходим на шаг 4. Цзл Выполняем RED(|j,3 2) Теперь г 3 (О, 1, 2, 1), /о. (0J5 ^3,2)^2 Вычисляем ЦЗ,2 2 /9,i^ 10 /з, Цз, 3 2 Ac-S 21 3 /5,i^ 10 2 3 Полагаем ЦЗ,1 1 /2, Ц2 1 2 2 (О, 1, 2, 1), 3 (I, 1,2, 0), /зД 2 и возвращаемся на шаг 4 Ц21 Выполняем RED(|i2,i)- '^ 2 1,1,1,-1), л. Так как В, < (0,75 г \^2Л Щ , полагаем Ц2,1 1 /з,^ 4,№ 1 1 /2,5 2 5,5 1 1 Меняем местами 1 и Ь.: 2 2 (1, О, 1, 2), Вычисляем ЦЗ,2 3 10 ? ЦЗ,2 3 5 ? №л ПО лагаем к = 2п возвращаемся на шаг 4 Выполняется неравенство 2 > (0,75 2 ^^ll)^!' поэтому полагаем к=3 и возвращаемся на шаг 4 Цзл Выполняем RED(|J,3,2)- '^ 3 (О, ь ь /з, Цз, 2 А. Выполняется неравенство 3 > (0,75 2 1^3,2)^2' поэтому полагаем л: = 4 и получаем результат: 1 (-1, ь 1), 2 (1,0,1,2), 3 (О, ? ? 7.4. Разложение над конечным полем полиномов от одной переменной Разложение на множители полиномов над конечным полем требуется при решении задачи дискретного логарифмирования в расширенном поле (к которой сводится задача логарифмиро вания на эллиптической кривой). Кроме того, этот алгоритм может использоваться при выборе неприводимого полинома, задающего расширенное поле рыи раскладывает полиномы, свободные от квадратов. Для разложения полинома /Гх), не свободного от квадратов, нужно найти его производную/'(х) и алгоритмом Евклида вычислить Я(х) НОД(Хх),/(х)). Полином /(x)/g(x) будет свободен от квадратов. Все ненулевые коэффициенты полинома об ратимы как элементы группы F^ , Поэтому дос таточно рассмотреть полиномы с старшим коэффициентом. единичным Отличный от константы полином над полем характеристики имеет нулевую производную лишь тогда, когда он содерлшт ненулевые коэф фициенты только при степенях х, кратных р. По этому fix) м^ р (/о(х)У. Этот алгоритм зада ется рекурсивной процедурой SquareFree(/(x)). Алгоритм 7.4.1. Разложение полинома над конечным полем [7]. п , свободный от квад ратов. Выход. Делитель F = SquareFree(/(x)) полино ма/х). Метод. Положить / UF 1, вычислить/(х). Если f(x) = о, то положить /(х) F <г- (8яиагеРгее(Дх))У. Иначе /(^) Ур и выполнить следующие действия 2.1. 2.2 Вычислить g(x) <г- НОД(/(х),/'(х)) и положить h(x) <г- f{x)/g(x) . При А(х) ^ F^ выполнить следующие действия. 2.2.1. Вычислить gi(x) <— ноД(А(х), ^х)) и l\(x)<r-f(x)/g^(x). 2.2.2 Пололшть F<r-Fh\{x) Ых)^ I ь I 1 + ь g\{x\ g(^) <^ g(^)/gl(^)' 2.3. При g(x) ^ F^ положить g(x) g(^) Ур uF Результат: F, (SquareFree(g(x))y' Сложность алгоритма тических операций в поле F^. 0(п 3 арифме 7.5. Извлечение квадратных и кубических корней в конечном поле Алгоритмы решения квадратных и кубиче Пусть Дх) е Fy[x] . Полиномах) не сво- ских уравнении над конечным полем использу боден от квадратов тогда и только тогда, когда ются при разработке криптосистем на алгебраи наибольший общий делитель полиномаДх) и его ческих кривых. производной/'(х) отличен от константы (от эле-
162 Пусть я поле из п элементов Если порядок мультипликативной группы * 7.5.2. Извлечение квадратного корня ч поля в случаеа~5 (mod 5 9 (mod 16) а в поле четный, то квадратное уравнение х а при а^^ имеет либо два корня, отличаю щихся знаком, либо ни одного, в зависимости от того, является элемент а квадратичным вычетом или невычетом. При й! = О уравнение име- По свойству элементов поля выполняются ра венства а ч а. а д+Ъ а 4 Поскольку в случае а (mod показатель а + Ъ делится на 8, имеет ме- ет двойной нулевой корень, так как поле не сто равенство а (я+т . Множество кор- имеет делителей нуля. Если порядок мультип- ней степени 8 из 1 состоит из четырех элементов: Это множество совпадает с Q ликативнои группы рактеристика поля равна нечетный (то есть ха- ±/ и ±1, где / 2), то 2 уравнение х ^ а в поле ет один корень. ¥д при а^О квадратное всегда име- 7.5.1. Извлечение квадратного корня в случае q (mod По свойству элементов поля выполняются равенства а <? а^ а «+1 а 2 Показатель ■f де лится на следовательно, имеет ство а (^+1)/4 место равен- Поскольку корни степени 4 из 1 в поле F^ равны ±1, то алгоритм вычисляет корень с точностью до знака, причем если одно значение удовлетворяет исходному уравнению, то и второе значение тоже является решением. из Для нахож множеством корней степени дения нужного значения корня степени следует найти порядок по модулю 4 элемента а в из поле F^: при а {сг 1)/4 корень из а имеет поря док, сравнимый с 2 по модулю 4, требуемое зна чение корня степени из равно ±1 При а (а~\)1А корень из а имеет порядок, сравнимый с ±1 по модулю 4, требуемое значение кор- равно ±/. В соответствии с ня степени из квaдpaтичньлvI законом взаимности для простого поля элемент г является квадратичным невыче том в поле F^, поэтому / 2(^-1)/4 Вместо эле мента 2 можно использовать любой квадратич ныи невычет, тогда алгоритм будет работать и в расширенном поле. Алгоритм 7.5.1. Извлечение квадратного корня в поле из а (mod 4) элементов. Вход. Элемент а е F^; характеристика поля и полином, задающий это поле я 2. (mod 4). Выход. Квадратный корень л: из ^э в поле F Метод. Вычислить х<г-а Если X я (^+1)/4 2 <3, то результат: х, иначе результат решении нет Сложность алгоритма 7.5.1 при использова НИИ умножения «в столбик» равна 0{(\ogqf^ Пример 7.5.1. Извлечение корня в случае (mod 4). Для простого поля \%а Тогда X 11 Проверка показывает, что решение правильное. Для расширенного поля 5 27. поле + 2^ + 7 задано полиномом ходим X = (2/^ + ^ + вает, что решение правильное а ir^-t-^- На e^-t Проверка показы Алгоритм 7.5.2 Извлечение квадратного корня в поле из а (mod 8) элементов Вход. Элемент а е F^, характеристика поля (mod 8). я и полином, задающий это поле. Выход. Квадратный корень л: из <3 в поле F Метод. я- Вычислить а (я+т Вычислить с а {я-т . При с ^ результат решений нет. При с положить X ±ъ 5 Вычислить / Результат: х. 2W-i)/4 и пололшть X ±ы X Аналогично ^(^+7)/16 для (mod 16) получаем и т Здесь нужно подобрать квадратичный невычет, найти с его помощью из а затем примитивный корень степени уточнить степень этого корня. Таким же образом можно строить алгоритм извлечения корня в произвольном поле из ^ = 1 (mod 4) элементов. Сложность алгоритма при использова НИИ умножения «в столбию> равна 0{{\ogq) 3 Пример 7.5.2. Извлечение квадратного корня в случае а (mod 8) и а (mod 16). Находим Простое поле: q 21 X 2 37 (modp). / 21 31 (modp). (mod 8), a ±13 (mod p), x = 21 (mod p)
163 Простое поле а Ъ1, Находим 37 3 41 18 (mod») (mod 16), Подбираем 7.5.5. Решение квадратного уравнения квадратичный невычет примитивный ко Решение квадратного уравнения рень степени 8 из 1 равен 38, 37^*^ ^^^^ =1 (raodp) 2 х +ax + Л X 2 ±18{тоар\X =37 (тоар). . Расширенное поле: И, и 2 (mod 16) ? задано неприводимым полиномом z4 с корнем ? степени из / <3 = 9^+ 10. Вычисляем корень 4^ + 7. Проверка показывает. в случае поля нечетной характеристики выпол няется по обычным формулам. Решение сущест вует, если дискриминант cf -АЬ является квад ратичным вычетом в поле F я случае F <? 2 \i\l(j{t)) деление на 2, требуемое 4 ЧТО/ 10. Вычисляем х Ja X 8 (4^ + 7)(2/ + 5Г = 2/ + 5 обычными формулами, невозможно. Квадратное уравнение в поле из 2" элементов может иметь либо два корня, либо ни одного. Непосредственная под- 2 Проверка: (2t + 5f = 9^+10. становка показывает, что если а — корень квад ратного уравнения, то а + ^э тоже будет его корнем 7,5.3. Извлечение квадратного корня в общем случае для нечетного q При а О решение уравнения х 2 л-Ь (хл-^Ь) 2 СВОДИТСЯ к извлечению квадратного корня из и вообще говоря, полиномы от t\ уравнение Этот алгоритм основан на построении квадра- имеет двойной корень. При a^Q замена перемен тичного расширения исходного поля выбором ных X неприводимого над F^ полинома/степени 2 и на вычислениях в расширенном поле [7]. ах приводит к случаю а достаточно рассмотреть уравнение Поэтому X 2 + Х + Л (7.5.1) Алгоритм 7.5.3. Извлечение квадратного корня в поле из ^ = 1 (mod 2) элементов Вход. Элемент а е ^' характеристика поля ч и полином, задающий это поле. Выход. Квадратный корень л: из ^з в поле F^. Метод. Гомоморфизм по сложению из поля F „ в поле F2 задается следом. Пусть а — корень уравнения о .5.1). Тогда а + а + й ^ 0. Гомоморфный образ последнего равенства в поле и-2 задается услови 2 2 ем Тг(а') + Тг(а) + Тг(*) Для любого а е Подбором найти элемент Ъ такой, что является квадратичным невычетом в поле Аа 2' i 2 F.. следы элементов а и а равны: Положить /(у) Ьу-^ав кольцеF^[y] Тг(а) а + а +а +... +а 3 Вычислить x^±/^"'*^/^(mod/(j)). Результат: х. Тг(а 2 а+а + ... +а + а г Тг(а). Поскольку Тг(а) 2 ? ТО 2 Тг(аО + Тг(а) Сложность алгоритма 7.5.3 при использова НИИ умножения «в столбик» равна 0((log q) ^ Поэтому решение уравнения (7.5.1) существует тогда и только тогда, когда Тг(й) 2 Пример 7.5.3. Извлечение квадратного корня и Если Xi и X2 — корни уравнений х + л: + Oi X + л: + о? соответственно, то х\ + Х2 ко в случае q=l (mod 2). . Простое поле: рень уравнения x^+x + (ii +i 2 0. Деистви 4,Ху) 41, а 4v + 32, X ±/ 1 32. Выбираем тельно. ±14 (mod/y)). Xi 2 2 + Xi + О] + X2 + X2 + t>2 Расширенное поле: F3[^]/(r + ^+ 2). a 2Г + 2 (Xl -^ X2Y-^ (X, -^r X2)-^ (b, -^r b2 + 2r + /+Z Выбираем + г + 2. Находим x ±y 41 /); + 2Г + 2Г + (2/^ + 20 (modAy)). Подставим в (7.5.1) вместо переменной х все ненулевые степени t ? 1 ? 1 и обозначим через /5 / 2. ..., п 7.5.4. Извлечение квадратного корня в случае четного q , векторы коэффициентов полученных полиномов b,{f). Векторы Ь/ линейно независимы, так как в противном случае сущест- Решением квадратного уравнения вовали бы два различных полинома от ^ с нуле- а являет- выми свободными членами корни уравнения СЯ X а чП Сложность алгоритма при использо (7.5.1),— что невозможно. Векторы / образуют вании умножения «в столбик» равна 0((log^) ) базис множества векторов с нулевым следом. Поэтому возможный способ решения уравнения (7.5.1) заключается в поиске указанных п ли -^ неино независимых векторов / и представлении
164 вектора b коэффициентов полинома b{i) в этом базисе. Такое разложение существует и единст- 7.5.6. Извлечение кубического корня в конечном поле венно, так как Тг(Ь) Тогда, если 3 ТО решение уравнения (7.5.1) есть Решение уравнения х =а (mod/?), где число - простое, будем рассматривать для случаев 2 (mod 3) и р = 1 (mod 3). X Yht'. Прир 2 (mod 3) решение существует и един ственно для любого а ? X ±a^^^'^^\mod р) ? так Алгоритм 7.5.4. Решение квадратного урав- как порядок группы не делится на 3. Знак решения уточняется проверкой. Действительно, ф нения над F Вход. Полином XOs задающий поле эффициент b уравнения (7.5.1). Выход. Корни уравнения (7.5.1). ^' и ко +1 сг (mod/?). Поскольку + четное и де лится на 3. то р + I делится на 6. Тогда Метод. Вычислить а (р+\)/б а^^^ (modp). Тхф), Если то резуль Из а 2/6 тат: решении нет. 1)/2 При п (mod 2) положить х о ,27 И ±а^^^ (mod/?) получаем требуемую формулу. При/) = 1 (mod 3) решение существует, если а является кубическим вычетом по модулю р, и не существует, если а является кубическим невыче- 0 (mod 2) выполнить следующие дей- том по модулю р. Если хо — кубический корень >о перейти на шаг 4. При« ствия. 2 ИЗ а^ то сохо, со хо — тоже кубические корни из а 5 3.1. 3.2. Выбрать у ^ р2 такое, что Тг(у) Для/'= 1,2,...,« вычислить где (О ■f (mod/)) G ¥р. Извлечение квад 1 J J Ць 2 к-\ может быть выполнено ал км п 3 '^ Положить X о ls,y 2' 1 /=1 ратного корня из горитмом 7.5.3. Поскольку при нечетном р выполняется р (mod 6), возможны следующие сравнения: р (1, Результат; {хо, х^ 4- !}• 13} (mod 18). Тогда 2 X р--рл-2 X (mod л) и 2 Пример 7.5.4. Решение квадратного уравне ния в поле характеристики 2. р^1 Для » X рл-2 X 3 1. Пусть«==4,x^ + x + ^ = 0 (mod Г + ^ + 1). Находим след свободного члена t\ Тг(0 Аналогично ^ + О (mod 3). (mod 18) справедливо соотношение ^^^^^/'(mod/^), тогда лг^о^^-'^^/^ (mod/^). (mod 18) получаем для 13 + /^ + Г + г ^ ^ + г + (^ + 1) + (/^ + существует. Выбираем Решение X сР^^^^^"^ {modip), Такие же рассуждения мож тогда 2 /^ + Л НО провести и в случае/) = 1 (mod 18). 4 /^ + /^ + ^ + ^ 8 t'-^t. 2 3 ^ + ? 4 /2+ 1 1. Вычисляем Получаем 1 Хп /^ + Алгоритм 7.5*5. Извлечение кубического + ^ + 1. Решения: ^^ + ^, ^^ + ^ + 1. 2 корня в поле из/) ? 13} (mod 18) элементов Проверка: хо + Хо + ^ = О (mod г + Г + 1). 2. Пусть w-5,x^+x + r = 0 (mod Г^ + ^^ + 1). Вход. Элемент а е F^,. Выход. Кубический корень л: из ^э в поле Fp. Мето Находим след элемента существует. Вычисляем Тг(0 Решение Подбором найти элемент с такой. с {P-W ^ (mod /)), положить со с что (р-1)/3 1)/2 X О 22/ r + r^+r^' гЧ1 (mod/)) или найти ш 1 + (mod/)) из 7 О Решения: /^, /^ + влечением квадратного корня из мом 7.5. ал горит Сложность алгоритма 7.5.4 равна 0{п А так как вычисляются 0{п) экспонент со сложностью При (mod/)). (mod 18): X «(^^2^/^.а^,^ 2 противном случае положить X а (2р+1)/5 2 СО, СО } (mod /)). Результат: х.
165 Алгоритм 7.5.6. Извлечение [о^бического корня в поле из/? = {19, 37} (mod 54) элементов. Вход. Элемент а е ¥р. Выход. Кубический корень л: из ^з в поле F Метод. ^'-'У" р 1. Подбором найти элемент с такой, что с {P-W ^ л (mod/?), положить е ^ с^Р-')!"^ (mod п). При р 19 (mod 54) Противном случае Найти хо вида у • {1, 6, 6 } такой, что Хо 3 а 3 6 (mod/?). Положить л: <— хо • {1, 6'\ 6"} (mod/)) Результат: х. bLi Алгоритм 7.5.7. корня в поле из р Извлечение кубического (mod 3) элементов. Вход. Элемент а е F^,. Выход. Кубический корень л: из <3 в поле F Метод. Подбором найти элемент ^(р-^)Р ^ \ (mod/?), положить ш р с с такой, (р-т что (mod/?) 1 + или найти ш (mod/?) извлечением квадратного корня из -3 алгоритмом 7.5.3. Подбором найти элемент й е F„ такой, что полином Ду) Пололшть я + 6у а неприводим над F р X 1 лр 2 4- р+1)/з 2 ш, ш } (mod /(у)). Результат: х. Пример 7.5.5. Извлечение 1^бического корня Пусть ром находим 73, а 52. Находим со числяем X {28, ? 1, тогда Ду) 40} (mod 73). 3 + У Подбо 52. Вы ■< ' 7.6. Вычисление символа Якоби -'-. i:. -' Символ Якоби необходимо вычислять при проверке числа на простоту тестом Штрассена (алгоритм 7.7.2). Соловэя Символ Лежандра а для простого р можно вычислять возведением а в степень (р 1)/2 Вход. Целое число п>3 э целое число а э а п Выход. Символ Лкоби а t ' п --* Метод. Положить е -->- .*- '-о ' л 4-х- При а При а Представить а в виде а О результат: результат: g. Л< i , ir V"^ t e a. ? где Qi не четное. Если e четное, то s если п^±\ (mod 8), то s противном случае. иначе S Прий?! результат: g • .s. Если W = 3 (mod 4) и <3i (mod 4), то s s. Положить а<г- n (mod a\\ n вернуться на шаг 2. QU S И Сложность алгоритма 7.6.1 равна 0((\ogn) 2 Пример 7.6.1. Вычисление символа Лкоби. Вычислим символ Якоби 541 1829 ■- - J Полагаем g Первая итерация. Находим представление числа а: 541 541, й!1 = 541. Число е ное. поэтому S Полагаем а чет- 1829 (mod 541) 206, п 541,g 1 1. Вторая итерация. Находим представление числа а: 206 103, о, 103 Число е не четное и п (mod 8), поэтому s Полагаем а 541 (mod 103) 26, п 103, g Третья итерация. Находим числа а: 26 представление 13, Qi 13. Число е ное и п (mod 8), поэтому s нечет- Полагаем а 103 (mod 13) 12,w 1 1 3,g Четвертая итерация. Находим представление числа а: 12 3 й!т Число е четное. поэтому S Полагаем ^з = 13 (mod п э Поскольку а- ], результат: 541 1829 э' . . ^ ^^ -= , -*1 V .-"■- ^ ^ 7.7. Проверка чисел и полиномов на простоту * "" ■- "^ ^ I t Для проверки целого рационального числа на мых элементов кольца для составного п Однако в общем случае порядок группы обрати- простоту обычно используются вероятностные алгоритмы. Это обусловлено тем, что детерминированные тесты значительно менее «прозрачны» и более сложны, а разницы мем<ду понятием доказуемо простого числа и числа, предположи- неизвестен. В основу вычисления символа Якоби пололсен квадратичный закон взаимности (тео рема 5.4.2). ^^ -- -'-- - „ . .z-Л ^ -хг^ тельно являющегося простым с вероятностью Алгоритм 7.6.1. Вычисление символа Якоби. ошибки 10 00 , практически нет
166 Ниже приводятся наиболее известные алго ритм ы. ли с, то положить / / + и вернуться на шаг 2. Иначе результат: число р составное. Алгоритм 7.7.1. Тест Миллера-Рабина. Вход. Тестируемое нечетное число р^ число умножения «в столбик» равна 0{(\ogp)\ Для числа Сложность алгоритма 7.7.2 при использовании повторов Выход. Результат теста. Метод. Представить число в виде 2 т повторов к вероятность ошибки равна 2 . Мощным тестом на простоту числа/? является проверка соответствия числа точек эллиптиче- где^ нечетное. Положить / скои кривой над кольцом вычетов по модулю р расчетному значению (см. п. 15.4). Для проверки простоту полиномов над конечным полем на При/> А: результатгчисло/? вероятно простое. можно использовать алгоритм разложения 7.4.1. Выбрать а Вычислить нуться на шаг случайное 1, НО Д(о, р) основание а э (mod р). При При вер положить / / + и вернуться на шаг 3 1. 2 т вычислить с а .v2 Д1Я (mod/?). Если для некоторого / имеет место с э то пололшть /<—/' +1 и вернуться на шаг 3. Иначе результат: число/? составное. Для доказательства простоты полинома/Г^) про стой степени п достаточно проверить, что сво бодный член полинома У(^) ненулевой и что вы полняются условия: и р-Х l(mod/(0). пот р-\ 1 (mod fit)), fit)) е F (7.7.1) Р Тест основан на следующей теореме. Теорема 7.7.1. Если J{t) е ^p\i\ полином Пргшечатш. Можно доказать, что для вероятности ошиб- простой степени п с ненулевым свободным чле ном, причем выполняются условия (7.7.1), ToJ{t) является неразложимым элементом кольца FpM. ки достаточно к циклов. Однако сущест что вуют теоретико-числовые оценки того, для чисел длины 100 десятичных знаков ве роятность ошибки для одного цикла не пре вышает 10 7 [6]. ростом длины числа р ве Доказательство. Предположим, что J{i) яв ляется составным. Тогда он делится на некото роятность ошибки снижается. Если основания а на шаге 4 выбирать по фиксированному списку, то можно найти та- которое успешно кое составное число А пройдет тест. Проверка взаимной простоты чисел а и нужна для строгости алгоритма, в противном мо- рый неприводимый полином g{t) степени т<п. Кольцо классов вычетов ^p\t\lig{t)) является полем, и это поле содержится в кольце Рр[^]/(ДО)' Элемент t является обратимым элементом кольца так как ДО и t взаимно просты. По этому для выполнения равенства р "_1 случае для составного р на шаге ^ или жет получиться О (mod/?). (mody(0) необходимо, чтобы число р п дели т ЛОСЬ на порядок/? пы ПОЛЯ РпИ/(я(0) мультипликативной груп- Это возможно лишь тогда. Сложность алгоритма 7.7.1 при использова НИИ умножения «в столбик» равна 0{(\ogp) ^ когда п делится на т, В случае простого п полу чаем. что единственно возможный случаи т Тогда р-\ (mod е(0) и йот р-\ Алгоритм 7.7.2. Тест Соловэя-Штрассена. (mod/(/)),/(0) отличен от константы, что проти Вход. Тестируемое нечетное число р, число воречит условию теоремы повторов к. Выход. Результат теста. Метод. Положить / <— При i>k результат: число р вероятно про доказывающий неприводимость поли стое Выбрать а случайное 1, нота, р) основание а. Вычислить символ Якоби а КР алгорит Очевидно, что вместо t для доказательства неприводимости можно использовать любой полином a{t), взаимно простой cfif). Тест, номаД^) составной степени п, заключается в следующем. Сначала, вычислив HOJS(J{t\f{t)\ проверяем, что полиномД^) свободен от квадратов, а затем подбираем полином a{i), взаимно простой с/ГЛ и такой, что выполняются условия мом 7.6.1 и положить с o-'^^/^(modp) (р Ее аШ р п 1 (то&т\ \^ --: -i
167 d \iOMaiif 1 (mod/Г0),/0) e P ДЛЯ всех делителей d числа п. Необходимое условие теоремы 7.8.1 не явля ется достаточным. Например, но раз 2 2 ложение 28 = ^з +56 невозможно. 7.8. Разложение чисел в мнимом квадратичном порядке z[V щ Алгоритм разложения числа р в Z)] вы полняется в два этапа по аналогии с расширен ным алгоритмом Евклида. На первом этапе на Этот вариант расширенного алгоритма Евк- и Шнорром лида, предложенный Поллардом [9], может использоваться при разработке и анализе криптосистем с открытым ключом, в частности, при генерации эллиптической кривой (см. гл. 15). Пусть нечетное простое число, р ^ D. Если базис квадратичного порядка равен [W £)], то есть D (mod 4), то разложение имеет вид J- + Z)il Если базис равен iW D , то есть D (mod 4), то разложе ние имеет вид с 2 -hcd + D + ] 2 Тогда 4р= (2с + df'^ Dd^ -^Q-v Db^. Теорема 7.8.1. Для того чтобы искомое раз ложение существовало, необходимо, чтобы вы полнялось условие D Если такое разло ; 2 жение существует, то оно единственно Доказательство. Пусть/) = <3 + Z)^>^. Тогда i обратимо по модулю р (иначе число р не было бы простым). Имеем cf-^-Db (mod р\ (аЪ иг D (mod/?), поэтому -Z) является квад ратичным вычетом по модулю Аналогично рассматривается случай 4/? cf + ml Определим норму N{it) для тсе jV(tc) TCTt е Z . Для любых тс, р е Z[V D] как D] ВЫ полняется равенство 7V(Tc)iV(p) = 7У(тср). Предположим, что существует два различных разложения: тете рр, тогда iV(p) 2 Шсть тс а-\- bJ D. с + тер dJ по по п о. D. Тогда все числа а, Ь, с, d отличны от нуля. Подставляя эти выражения в предыдущие пять равенств для N(pX из ad условия вещественности нормы получаем и be силу целостности кольца по лучаем противоречие, то есть предположение не верно. ходим целочисленное представление рт^ ~щ + D 2 ■ ^^(4^{modp)f ■ ^ '^ + Л-1 извлечением квадратного корня из -D по модулю р, затем такое же представление для mi и т. д., пока не получим rrik 2 2 1. Тогда т^_, = г/^_, + Z) -1^ . На втором этапе, используя равенства 2 2 2 ! + 1)^1 )(.S2+1)^2 2 2 + Z)7^, ■, Ъ.^'^-r^ S - SiSj ± Dt^tj, T - sJj + Sjt,, справедливые для любых su sj, t\, tj, находим представление -1-. 1.-51 "* m k~2 a,. -> +Db. ..m k-2 k~2^ k~3 a 2 k~3 + Db 2 к~Ъ И Т. д., пока не будет найдено такое представле ние для wn Алгоритм 7.8.1. Разложение простого числа в ^1. Вход. Простое число p,D> Выход. Числа а^ b такие, что р а 2 + Z)/7\ Метод. -_ - J Вычислить символ Лежандра D Если ; он равен -1, то результат: решений нет. Вычислить и Z)(mod/?) одним из алго 7.5.1 7.5.4 в 4. ритмов числа/?. Положить / <г-0,ц<г-и,т Вычислить зависимости от вида 1 р- т J+1 uf-bD ж 5 Г :-t .*^ <т ^л- v^. -X L £ W. г/, /+ min{uj (mod w,4-i), Wki ~ г// (mod Whi)}. Если w,+i TO перейти на шаг этом случае обеспечивается т I Ui + 2 Z)), иначе положить / ПОЛОЛШТЬ Qi / + и перейти на шаг 4. и ь 1 - -^^^тГ'Л
168 Если / то положить а а,, b hi и пе Мр) 7v(a). Поэтому если квадратичный рейти на шаг 9. Иначе положить <^i~\ ±щм +Db I а' + Db' ' *,-1 / / док не является евклидовым, алгоритм 7.8. жет не дать результата. Существуют квадратичные порядки не / ; ляющиеся евклидовыми, в которых алгог Знаки подбираются так, чтобы деление было 7.8.1 дает результат. Например, в KOJ целочисленным. Положить / ^[ нечетное простое число р раскладь / и вернуться на шаг 7. Результат: а^ Ь. Сложность алгоритма 7.8.1 равна 0{(\ogpy Если число р не имеет искомого разложения. ется на множители тогда и только тогда, ко (mod 4) (см. п. 5.4). При зтир ^^сг + Ь^, имеют различную четность. Не умаляя об а ? ности. можно считать что четное. Полож 2с 2 Г) Тогда р = а -^ 4с", что соответствует с щ на шаге 4 алгоритм зацикливается и значение ложению числа в rrii+i недостижимо. Такая ситуация возмолша, ее ли D (mod 4) и с 2 cd + ^d' нор ма простого делителя числа в квадратичном порядке 1+V D . В этом случае существует разложение для числа 4/? = о^ + Db^^ где а и не четны, и это значение может быть вычислено алгоритмом 7.8.1. Тогда на шаге 4 получается jTii+i - 4. Соответственно на шаге 5 необходимо контролировать условие W/+i = 4. После этого молено переходить к шагам При этом на ша ге имеем т и} + D I Формулы на шаге со храняются, но в качестве знаменателя нужно использовать значение т,. основу алгоритма 7.8.1 положено деление в щ. использующее мультипликативное 9 свойство нормы: если число cf + Db 2 делит 2 число щ + Z) = /77]/?, то, переходя к Z[V лучим, что целое квадратичное число а + 5 ПО D должно делить целое квадратичное число и о + D При этом (по крайней мере для евк лидова кольца) доллсно существовать частное — целое квадратичное число, норма которого равна ГП]. Следовательно, должен мент существовать D (mod/fij). Легко заметить эле 5 ЧТО ±г/о (mod/77]). Далее процедура рекурсивно щ повторяется для / + Алгоритм 7.8.1 использует функцию, которая делает кольцо евклидовым (см. п. 3.7), а именно норму Map) > N(a) N: Z[V D] >o такую. что и для любых двух элементов а 9 peZrV D] 9 где а^О 5 существует представ ление уа + р 5 В котором или квадратичном поряд. 9 не являющемся евклидовым (после. нее следует из неоднозначности разложени 2-2 (лГ4) 2 Пример 7,8,1, Разложение числа в Z[v D]. Пусть 43, D 2. Поскольку D решение может существовать. J Вычисляем и 2 (mod 43) 16 2 43 5 ТО 16(mod43) алгоритмом 7.5.1: Далее есть т I щ ±2. ту Отсюда Шх 2^ + 2 ? /Wo(2^ + 2- 1^) 16^ + 2-1^ 16-2 + 2-1 а ? 16 Таким образом, 43 2 + 2- 9 Пусть р ~ 127, Z) = 7. Поскольку D решение может существовать. Вычисляем и 7 (mod 127) 45 (mod 127). Тогда пц 127 ? щ 2 Щ 45. Находим 45' + 7 , Далее т\ 127 16^ то есть/77] 16 ? 45^ + 7- ll Отсюда 2 2 + 7, mdy + 1 I') 45-3 + 7-1 а 16 45 16 Таким образом 5 127 2 + 7 2 3\ Пусть р 31, Z) 11 Поскольку D V J решение может существовать. Вычисляем и ll(mod31)^]2(mod -^ 1). Тогда т 31 ? щ 2 12. Находим 12"+ И 31 ? ТО есть jfii ? U2 На следующей итерации получаем ntj 5 1. после чего процесс зацикливается с пе
169 риодом 5 где и, 5 а fUi принимает поочередно ние числа к по модулю решетки Z, то есть нахо значения 3 и 4. Искомое представление для р не ждение комплексного числа к (mod L). существует (однако для числа 4р получаем 124 5^ + И - 3^). Искомое разложение для числа Ар можно по лучить, если заметить, что для mj справедли ю равенство Am 2 9 9 1 +11-1, что соответствует разложению т 2 1 + В кольце целых квадратичных чисел. Выполняем алгоритма для учетверенных чисел т^. шаги Имеем Qj hb. Для того чтобы на шаге получались целые числа, в качестве знаменателя формул для Qi, bj используем т^ Тогда 1 + 11 а ! I -х силу равенства 7171 существует значение we (mod р) и. следовательно 5 значение т D (modp) такое, что тс (modw). Вычет по модулю 71 произвольного элемента а решетки не изменится, если 5 к нему прибавить число ? а р71 (mod тс), где кратное тс, то есть а элемент решетки. Алгоритм основан на пооче редком выборе р, кратного 1 или тб, обеспечивающего минимум нормы комплексного числа а р71. Направления 1 и тлВ чередуются до тех пор, пока не получится нулевая длина шага в обоих направлениях 5 ЧТО соответствует мини мальной норме числа а = л: + гту. Для вещественного направления размер шага min, отсю- п определяется условием Ща п%) то есть .L- _, _ ч. да а о Am ! 12-3 1-1 2 + 11 • 5, b о 2 1Г; 12 IT- ч*Л ^l -= --^ -i* *- ^' -ь ^ с ч* ^ -" если!) 2 П ахл-Ъут D ? или 2 (mod 4), или (7.9.1) Результат: Ар 2 2 + П - (-ЗГ. 7.9, Приведение числа по модулю решетки t^-^i 2 2ш: + 1 + m'D п by + bx + ay 2р , (7.9. Г) - Т ^ ш -^^' J ^ *-J Этот алгоритм может использоваться при разработке криптосистем на эллиптических кривых с комплексным умножением [3]. Пусть Ж[тв] — мнимый квадратичный порядок и р>3 — простое нечетное число, которое раскладывается на простые мнолштели в Ж[тд]: ТС71 ? если D где тс = <3 + mbQ, п=^а + mbQ и ? или 2 (mod 4); D 5 если D (mod 4); тов. Норма D<p и D свободно от квадра Ща) аа квадратич ного целого числа а = л: + тду равна Л^(а) 2 X + w^zy 5 если 2 D ? и N(a) х'^ 1-\-тЮ 2 -\-ху ? если iW D Алгоритм обеспечивает миними если/) (mod 4). ■ ^'^ i' А I Выражение в квадратных скобках означает ближайшее целое. Для комплексного направле ния размер шага п определяется услови емМа птвп) тш, отсюда * \ W оу fa 5 (7.9.2) . "^к- ^ если Z) = 1 или 2 (mod 4), или, с учетом равенства 2 1 + Z) ■b'-^j*; ■ f +е 3 ^ ? * * ' t 2 ох + Лл: l + m-^Z) п Clbx lay by) vr -. -Г t Ар ? (7.9.2') - э * t_ следовательно, абсолютной ве- если D = 3 (mod 4). зацию нормы личины составляющих) произвольного к е F^,. Будем рассматривать целые алгебраические числа a~x-^mQy как двумерную решетку Алгоритм 7.9,1, Приведение числа по моду с базисом 5 тЩ 5 элементами которой являются лю решетки. Вход. А:, D, D целочисленные точки (x,y). Процедуру миними зации нормы можно рассматривать как приведе , 7Z = a-\-bm'J Выход. к^с + mQd(mod 7i). Метод. D P'^i-^i'}'^'^ <У^ '■ ^y j^^^^xJC'bi *^^ 4-
170 Положить X Вычислить к у ? а X + mQy. оптимальную длину шага щ в вещественном направлении по формулам (7.9.1) ? (7.9.1 Г И норму числа ai а щщ вычислить оптимальную длину шага П2 в комплексном направлении (7.9.2), (7.9.2') и норму числа aj по а При щ пг результат: с X ? тивном случае: если N{a\) < N(a2% то а а2 и вернуться на шаг 2. формулам n2lflB'K, у, в про- аь иначе а Примечания. Оптимальные направления чередуются, этому оптимальное направление можно оп по ределять только на первой итерации. Знаки коэффициентов ^э, Ь, участвующих в раз лолсении числа А определяются так, чтобы вы полнялось сравнение ал- bmJ D O(modp) для некоторого значения квадратного корня из Z) по модулю/7. Целочисленное деление с остатком можно выполнять согласно п. 7.1.5. Пример 7,9Л, Приведение числа по модулю решетки. тс Пусть р 5 + Зл/ 43, т 16 (mod 43), О (mod 43), к 15. На первой итерации находим щ Ма щп) 97 ? п? N(a - щ лр2п) 131 5 лучшее направление — вещественное, а 5+6л/ На второй итфации лучшее направление мни мое, Hj 1, N(a -itj^l 271) 6, а 1 + На третьей итерации Пл Пг Результат iW 2 (mod тс). 2. Пусть р 71, т \,D 7, тогда 63 (mod 71), е iW 32 (mod 71) ? ТС 7 + 2e = 0(mod71),A: 23. На первой итерации находим П\ Ма WjTC) 64, П2 О, Ма И26ТС) направление — вещественное, а 529, лучшее 66. На второй итерации лучшее направление мнимое, П2 На третьей ? Ма ^гбтс) итерации щ 16, а П2 2+ 36. Результат 2 + 36 (mod 71). 3 Сложность алгоритма 7.9.1 равна Oiuogp) ). точки решетки к эллипсу / + Z)v 2 при D 2 2 ИЛИ 2 (mod 4) или л: +xv + \ + m'D 2 при D (mod 4) до попадания внутрь эллипса. Ал горитм останавливается, если одновременно вы полняются неравенства 2 <ах-\-Ьут D< 9 <ау Ьх< при D или 2 (mod 4) или 2 {2а + Ь)х + X + m'-D b-\-a \у<р. 2 р<(а-\- Ь)х \ + m'D (Ibx lay by)<p при D (mod 4). Таким образом, область оста нова представляет собой параллелограмм с цен тром в начале координат, целиком расположен ныи внутри эллипса -Л С -* V Теорема 7,9.1. Алгоритм 7.9.1 при/?>3 зада ет биекцию между F^ и целыми точками парал лелограмма. Доказательство. Отображение поля р в целые точки, лежащие внутри параллелограмма. инъективно, так как тс a-\-bQ (modp) и на каждом шаге алгоритма значение а (modp) со храняется. Точки решетки и параллелограмма можно складывать как комплексные числа, нулевая точка является нулем, каждая точка имеет единственную противоположную точку. Поэтому точки решетки образуют абелеву группу, а точки внутри параллелограмма — — ее нормаль ную подгруппу. Отображение точек параллело грамма в модулю поле ¥р путем нахомсдения вычета по для данного G является гомоморфиз мом аддитивных групп. Для доказательства того что отображение является биекцией, достаточно показать, что число целых точек в параллелограмме отлично от 1 и меньше, чем 2р. D Рассмотрим случай, когда или (mod 4). С учетом того, что целые точки решетки расположены вдоль координатной оси у с шагом т 4Ъ, молшо ввести нормированные координа ты г ту 4Ъ И г т Такое нормирова ние соответствует случаю D при этом эллипс представляет собой окружность. а параллело грамм— квадрат. Вершины квадрата располо лсены в точках Геометрически алгоритм 7.9.1 представляет собой процесс последовательных приближений > \
171 a t a + y a + V a t 5 ? Э 9 a a f a-\-b f a f 5 ? 5 представлении числа i уменьшается в среднем с V2Д0Vз. Критерием выбора показателя / или /' является число ненулевых разрядов с учетом минимизации. Для умножения точки на число можно воспользоваться системой счисления с основанием Сторона квадрата равна 2 . г2 а -\-Ь л[Р' 9 равным степени двойки (на практике 8 или 16^ случае 16 показатель / разбивается на учетом поворота квадрата относительно центра тетрады число целых точек внутри квадрата лежит в диа- (] + 16/т + + 16 т т Вычисляются 15Р точки 2Р, ЗР, ..., 1ЭГ, затем, начиная со старших пазоне + г!^. Случай В = Ъ (mod 4) рассмат- тетрад, выполняется рекурсия /-1 16Р; + Д 1 ривается аналогично. Таким образом, алгоритм Р. Если базу данных вида {/уР} находить на этапе 7.9.1 задает биекцию между множеством цело численных точек квадрата и множеством чисел предвычислении, то число сложении точек сокращается примерно в четыре раза по сравнению 5 , . . . , 1}- С числом удвоении. Для сложения точек можно использовать аф зать финный или проективный вариант арифметики. Аналогичными рассуждениями можно пока- Аффинная арифметика требует модульного об- что алгоритм 7.9.1 задает изоморфизм по- ращения бинарным алгоритмом Евклида для каждой операции сложения точек. Проективная арифметика требует большего числа умножений 5 лей F„ ~ Z[e]/(Tc). 7.10, Умножение точки эллиптической кривой на число Сложение точек эллиптической кривой по зволяет определить умножение точки на целое число. Умножение точки эллиптической 1фи вой на показатель / выполняется методом сложе и сложений, но обращение выполняется лишь однажды, при переходе к аффинному виду после завершения умножения точки на число. Для кривой Y^Z = X^-^AXZ + BZ формулы удвоения вид: в проективных координатах имеют НИИ и удвоений. Показатель представляется в «-I виде 1^,2', где / 5 5 1}. Затем после /=о довательно вычисляются точки 2'^ Р удвоением точки ИР 5 5 '5 п и складываются те X 3 2F,Z,((3Z, 2 + AZ 2ч 2 1 2 8Z,F,Z,)(mod/7), 2 3 4Fi^Zi(3Zi(3X, 2 + AZ 2 1 2 2 F, ^Zi) OX, 2 1 + AZ 2ч 3 1 (mod p) 5 8F 3 3 (mod»). из них, для которых коэффициент /, отличен от нуля с учетом знака. Если порядок группы, образованной точкой Р, равен г, то вычисляется пока- тах для этой же кривой имеют вид t . i - ■л Формулы сложения в проективных координа затель / г Умножать точку можно на лю X 3 №Z 1 X^ Z2)(Zi Z2( F2Z 1 F1Z2) 2 бой из показателей / или /. Более удобным является второй способ ум ножения: начиная со старших разрядов показа теля вычисляется текущая точка /5 где «-1 Р. и для перехода к предыдущему разряду выпол няется рекурсия: Pi 1 2Pt + L-,P. 2 (Z2Z, +Z,Z2)(Z2Z, -XZ2Y) (mod п). 3 (X2Z 2 1 X, Z2r ( F2Z, №2, + 2X,Z2) 3 F,Z2(Z,Z2 + 2X2Z,)) - Z,Z2(F2Z, - F,Z2)^ (mod n) 5 3 3 Z,Z2 (X2Z, - X,Z2Y (modp\ Если характеристика поля отлична от 3 и эл Для уменьшения числа ненулевых коэффици- липтическая кривая задана в форме Гессе ентов в представлении / проводится процедура 3 минимизации- При этом сначала используются Х' + 3 + Z 3 3iiXYZ, двоичные коэффициенты // 5 1}. Затем, начиная то с младших разрядов, цепочки вида 0,1 формулы сложения точек 1 + Р 2 3 5 5 *5 '? заме / (X, /5 Z,) приобретают симметричный вид: к няются на цепочки вида X резуль 3 MZ, 3 3 1 ) (mod р\ к-\ 3 Zi(F 3 3 X,)(rnodp\ тате минимизации доля ненулевых разрядов в 3 их, 3 3 1 ) (mod р)
172 приР 1 PiVi Можно изначально представлять показатель X 2 3 FiZi^2 " Y2Z2X- 2 1 (mod р) 5 В виде квадратичного числа о + / 1 Чтобы 2 2 3 Xi Y1Z2 - X2F2Z1" (mod ») для криптографии 5 длительности умно 3 XZ 1 1 2 2 2 X2Z2F1 (mod») при Р] Ф ^2. исключить нежелательную зависимость от показателя жения точки на число,^ можно изначально пред ] в троичном виде с запретом появ ставлять о и ления двух ненулевых символов Единичный элемент группы имеет проективные координаты (О, 1,-1). Таким образом, задание эл липтической кривой в форме Гессе позволяет уско подряд (при этом число ненулевых символов должно быть постоянным). Число показателей длины т с рить удвоение точек по сравнению с традиционной арифметикой в форме Вейерштрасса. Чтобы ускорить умножение точки Р на число, можно использовать комплексное умножение на ненулевыми символами 5 обладающих таким свойством, равно к т к + \^ Это число мак элемент тв мнимого квадратичного порядка симально при Ж[тЩ, Для этого нужно минимизировать пока и близко по порядку ве личины к 2'" с точностью до 0(т), Таким обра затель вить его в виде с помощью алгоритма 7.9Л и предста- зом, использование троичного представления 3 + hmQ, затем уменьшить показателя в виде пары коэффициентов, в кото- число ненулевых цифр в троичном представле- рых доля ненулевых коэффициентов равна не НИИ показателей /п и /i, вычислить точки kP и LP дает заметного снижения энтропии множества используя общую базу из точек вида 2'Р, и найти возможных показателей. точки mQ - LP, kP + /w8 hP Если эллиптическая кривая рассматривается Комплексное умножение имеет наиболее про- над алгебраическим замыканием поля ненулевой стой вид в случаях, рассмотренных в п. 6Л 1.5. характеристики, то на ней может существовать Кроме того, для кривых 2 3 W + 2f (mod 8) или р X -Ч1Х + Zix при (mod 8) существует комплексное умножение на бражением задаваемое ото более одного варианта коммутирующих между собой комплексных умножений. Это позволяет дополнительно ускорить вычисления комбинирования двух способов комплексного за счет умножения как полиномов от двух переменных. ф(х, у) 2 2х 2 (mod»). у(х 2 2t^) (mod р) 7.11. Вычисление функции Вейля Для этих кривых нет необходимости представ лять показатель в двоичной системе счисления, по скольку можно воспользоваться равенствами о 0.0 + 2/ о л + '^ 2 hk-\. 1 1.0 + 2/1, + + 2 1\-к-и l^L+l 1 /пп+Л/ 0.0 2/ 1.0 + 3 2 г/.,+...+(л/ 2) 2к-2 h±-\ + .-.+(л/ 2) 2к-\ \к-\ 5 где 2к бит — длина порядка группы. Последняя запись соответствует представлению числа / в Вычисление функции Вейля может использоваться при логарифмировании на эллиптической кривой (см. п. 11.3). Логарифмическая производная функции Вейля полезна криптографических алгоритмов ских кривых специального вида. при на разработке эллиптиче- Пусть Е(¥ я ная над полем из 1 3 эллиптическая кривая, задан- элементов уравнением X +Ах + В 5 И пусть точка Е(¥ я имеет простой порядок г>3. Функция Вейля Jq для точки Q на эллиптической кривой обладает ди визором div(^) Кб) HP СО Обозначим через (Хщ^Ут) координаты точки тО, через т,п угловой коэффициент секущей системе счисления с основанием V-2 . Умноже- (касательной при т = п\ проходящей через точки mQ и fiQ эллиптической кривой. Указанный ниже алгоритм, предложенный И.А. Семаевым, вычисляет функцию Вейля с точностью до нену- ние точки на V-2 выполняется быстрее удвоения, поэтому указанная система счисления позволяет ускорить умножение точки на число. Аналогичный подход может быть использован и в том случае, если существует комплексное умножение на элемент мнимого квадратичного порядка ТЦтЩ для т > левой константы. 1 Эта зависимость является потенциально спас НОИ, так как позволяет получить дополнительную ин формацию о показателе / путем изменения длительно сти вычислении.
173 Алгоритм 7.11.1. Вычисление функции Вейля. Вход. Е(¥,1 Q,Pe £(F^), г Выход. Значение функции Метод. Найти #(б>. в точке Р представление порядка г группы в п ДВОИЧНОМ виде г Тг,, где г I 8,2 / 9 /=0 Найти рекуррентно числа Л/Г Л/_1 = 2si + s / = 1,2, ..., п Вычислить [•> где ,s^ = 0. точки 20, 2 «-1 a...,z'"'a н-1 (го+п)&(^о+п+^2)а..., Уг,б. /=0 «-1 и-1 Вычислить о ip) Us . 1 /=0 f'^Yn к Пя ^к ^к ? где о J о 6п V пО ^.,v(^ X иО X ^{n+v)Q & и X ^и(Ъ ёи,0 go. V Результат: /д(Р)^ Этот же метод может быть использован для вычисления логарифмической производной функции Вейля. При этом произведение функций заменяется на сумму их логарифмических производных по X, и X Ъх^ + А 2у Алгоритм 7.11.2. Вычисление логарифмиче ской производной функции Вейля. Вход. Е(¥Х Q,Pe Е(¥Х г #Е(¥ р Выход. Значение логарифмической производ ной функции Вейля^ в точке Р. Метод. 1. Найти представление порядка г группы в п ДВОИЧНОМ виде: г г I 9 где г, = еД / ? /=0 S, е {О, 1},Го Найти рекуррентно числа Sj-: лы = 2л^ + s /9 где / 1 • ^* * * * 9 ''^ ^ П Вычислить точки 20, 2 Q,:;2 и-1 ft п-\ (го+п)а(^о+п+^2)а..., Yr^Q 1=0 f f X.... w.v tl.V УпО uA^ X uO X ■^(n+v)(9 Э г / / 9 и-и X X uQ п,0 0,v Результат: г ip) ^^ 1 Пример 7.11.1. Вычисление логарифмиче ской производной функции Вейля Исходные данные: уравнение эллиптической кривой 2 x' + 5,D Е{¥, число точек г 5 31), Р 37; (22, 16). 37; ■^г Разложение 37 = 2 5 2 ПО степеням числа 2: + 2" + (в5 ^2 (во 1). •2 2 ^4 (в2 >2' 1), то (S4 есть п 5 О- I (в1 -2 3 ^5 5 (вз 5 '^О 5 О 1). Показатели л-^ О w, в функции fo- Ss Sa \.^ъ l.Sn 4,^1 9,^0 18. Функция То имеет вид: о (л:,у) g.^ 2 5 2 2^2 о 2 4 2 4^ 2 2\2 3 4 2 9 2 2 2 I 2',2 ig 18 о 2^2 о Логарифмическая производная для точки Q\ f (х,у) г о Х + 6 + + 14 14х х + 6 / + 19 / 19л: + 11 х + 6 +2 + 17 / 17х 14 X 17 + / /■ +4 Г 11 Ку llx + 12 1+9 v' + l X 12) у + х 13 X 11 + г г + 18 + 9 I j + 9x 11 х + 5 Значение логарифмической производной в точке Р = (22, 16) равно 9. 7.12. Сложение элементов якобиана > гиперэллиптическои кривой Вычислить / п-\ г (Р) п-\ г + ^ /=0 I-I к 9 к=0 J 2^2^ где Сложение элементов якобиана выполняется аналогично композиции квадратичных форм (см. п. 5.63 и работу [5]). При этом получается полуприведенный дивизор. Однако поскольку один и тот же элемент якобиана может быть представлен различными парами полиномов (а, Ь\ то после композиции следует выполнить операцию приведения. Заметим, что в якобиане функции
174 определяются дивизором, то есть с точностью до Этот шаг при необходимости повторяется неконстанты. Поэтому можно полином а всегда сколько раз так, чтобы полученный дивизор был считать приведенным. приведенным (см. алгоритм приведения квадра- Рассмотрим сложение двух дивизоров, пред- тичныхформ, п. 5.6). ставленных парами (аь b липтической кривой С: у и(а2, h{x)y 2) для гиперэл Ах). Пример 7.12.1. Вычисление в якобиане гипер- Композиция 1. Алгоритмом Евклида находим наибольший общий делитель полиномов из К[х\ эллиптической кривой. Рассмотрим гиперэллиптическую C(F 3 2 X 5 кривую рода 2. Эта кривая содержит аффинные точки: (О, 1), (0,2), (2, 0), причем НОД(аь «2, b,+b2 + Щ 5 (О, 2). Эта же кривая над квадратичным и тройку полиномов й], /г2, из таких, что расширением ^ъЩ'х} + 1) содержит, кроме ука занных трех точек, еше точки: (1, /), (1, 2t\ (/ + /+П, (Г+1, 2Г+2), (2Г+1, / + 2), (2Г+ 1,2/+1). к\ал + ^2a2 + къ(Ь\ + Ь2 + h) Получаем М] 9 м 2 + 6) (см п Вследствие коммутативности операции НОД HOn(ai, Й1 + Й2), аза- 6.15). Находим коэффициенты дзета-функции a^ можно сначала найти тем J= НОД(а2, do). ai О, то есть Z(T) + 9. 2. Находим полином а a.Qj 2 Корни ±J6±J ОС], 0С2, аз, а4 дзета-функции равны Находим полином Порядок якобиана равен произве дению (1 аО(1 а2)(1 азХ1 ал) 10. /?,a,&2 +Л 2'^2'^1 ^fiJhb \^^2 Л (mod а) Составим дивизор как формальную сумму то чек: D = ((О, 1)) + ((2, 0)) Если НОД(аь а2) (является обратимым Тогда 2D элементом поля Ю, то можно положить 3 5 5 ..., 8Z) , 1), 3Z) 9 -*v 2(Р«, (2х + х,х+ 1). 2х 1,х) 5 4D 5 поэтому а ал «2, b 1 aifc 2 ^20^2^1 (mod а). 9D 2 (^^ 2) + х,2х + 2) 2Z), /)ЛОЛ Если {щ^Ь\)~ («2, &2), то есть имеет место уд воение элемента якобиана, то можно положить Поскольку элемент якобиана эллиптической кривой взаимно однозначно соответствует точке 2 вид: и формула композиции на шаге 3 примет и представляется в виде пары полиномов ^р. Ур\ то указанный вариант арифметики к^аф2 ~^fb(.b 2 1 +/) (mod а) применим и к эллиптическим кривым. Для ускорения умножения элемента якобиана на целое число /с можно воспользоваться троичным представлением показателя к с последующей минимизацией числа ненулевых цифр по Приведение Метод приведения полуприведенного дивизо- аналогии с эллиптическими кривыми. ра Z) к виду, когда deg(a) < g, заключается в нахождении функции с - dy, где с, d — ненулевые полиномы от X такие. что дивизор D 1 ({с dy) 7.13. Арифметика группы классов мнимых квадратичных порядков D) является приведенным и поло жительным. а 2 Для лить df). Поскольку а этого необходимо, чтобы , то а будет де- Вычисления в группе классов CVOo мнимого </) квадратичного порядка Od выполняются по анапо э если b будет делителем с и то гии с композицией квадратичных есть c = db (mod а). Полиномы с, d необходимо выбрать так, чтобы п. 5.63). Идеал (а,Ь) аЖ форм b + ^fD (см со deg(c) (m + g)/2, dQgid)<im 1)/2. V ответствует квадратичной форме (а, й, с). где Тогда deg(A )^g, где g — род гиперэллипти 2 D с ческой кривой. Практически переходим от дивизора эквивалентному дивизору (а', й'), где 4а Если НОД(а, b 5 то 1 (а, -Ъ), 5 к 1 при этом а заменяется на q . Приведенный идеал удовлетворяет условиям а f f + hb 2 а ,b f b (mod a') a D a; b\ a
775 если a D 2 b\Tob> 0. Для умножения элементх)в группы необходимо выполнить умножение и приведение идеалов. На некоторых шагах используется расширен ный алгоритм Евклида над кольцом Z (алгорит мы 7.2.2, 7.2.4). Алгоритм 7.13.1. Умножение приведенных идеалов мнимого квадратичного порядка [4]. Приведенные идеалы 1 (а, 5 1 2 3 {аъ,Ь 3 1 2 Вход. 2 - fe. Выход. Метод. Расширенным алгоритмом Евклида найти V], V2 для аь «2: d^ = НОД (щ, а2) = v^a^ + V2a2. 5 1 5 Положить аз ашг, b 3 vai(& 2 1 При а] 5^ 1 выполнить следующие действия. 3.1. Расширенным алгоритмом Евклида най ти 2 9 W\ Wo ДЛЯ 1 9 1 + й,)/2 3.2. НОД И, Положить 1 + b-^l) = Wi^i + W2(b^ + &2)/2 a a 3 2 (w.Z), w,(Z) 2 1 )/2) 2 4. Вычислить Ьъ Результат: (аз 1 + Ьъ (mod 2^3 5 3 Алгоритм 7.13.2. Возведение в квадрат при веденного идеала мнимого квадратичного рядка [4]. по Вход. Приведенный идеал 1 (^1, ЬЛ. 3 (а.,Ь 3 )=^1 Выход. 21 Метод. Расширенным алгоритмом Евклида найти V, W для аь bi\ d = ИОД (аь ^'i) = vaj + wb\. Положить а а 2 3 1 2 ,й 3 w(D 2 1 Вычислить из ^ Результат; (аз, из). 1 2d + из (mod 2аз Алгоритм 7.13.3. Приведение идеала мнимо классов го квадратичного порядка [4]. л -ь - Вход. 21 (а, Ь), .: ; -т ■' Выход. Приведенный идеал 21 Метод. 5 й). Если й < О, то положить s случае положить s Положить b 1, в противном \Ь\,г b (mod 2а). Если а < г, то положить b случае положить b а; в противном r,s S, Вычислить с 2 D Аа Пока а 5.1. с выполнять: а а. а с. 5.2. 2а э г b (mod 2а) 5.3. с а q{r + b)l2. 5.4. Если а < г. то Л 2а г, с с + а г; в противном случае b r,s s. При л Если О положить h а, то 2а. с с Ь + а. Если а, то b Л + 2а и с с + й + а. При а с и Л О положить л Результат: (а, й). Пример 7.13.1. Умножение в группе классов мнимого квадратичного порядка. Пусть Z) = -167 (число классов равно 11, поэтому группа классов циклична, ее единичный элемент представлен идеалом (1,1), которому соответствует форма (1,1, 42)). Возведем в квад рат идеал (3, согласно (d, V, w) (1. 2); аз 3 алгоритму 336 и й 3 7.13.2: 7. Идеалу (9, соответствует квадратичная форма (9, 7,6). Выполним приведение идеала алгоритмом 7.13.2. Полагаем s Так как а > г. полагаем b ? г с US и находим последовательно: Вычисляем а а г 7, с с Полученному приведенному идеалу (6, со ответствует квадратичная форма (6, 8). Упражнения к главе Гфедложите метод распараллеливания вычислений при умножении больших чисел в предположении, что умножение слов выполняется значительно медленнее сложения слов. Что собой представляет матрица О. быстрого преобразования Фурье? Найдите вторую и четвертую степени матрицы Q. Распространите метод модульного умножения Монтгомери на полиномы из Fp[x]. Покажите, что в этом случае можно исключить шаг 2.3 алгоритма умножения. *Предложите вариант арифметики Монтгомери Z[a]/(7r), для умножения в конечном поле где Z[a] — кольцо целых квадратичных чисел и 7Г простои делитель числа ». *Предложите алгоритмы арифметики (сложения, умножения, обращения и возведения в квадрат) в расширенном конечном поле ха-
рактеристики 2, если в качестве базиса над F2 использовать элементы t^t ^f^t ^ ... . * Предложите алгоритм целочисленного деления с остатком в мнимом квадратичном евклидовом кольце. Предложите варианты расширенного ал го ритма Евклида и расширенного бинарного алгоритма Евклида для кольца Z[/]. Модифицируйте бинарный алгоритм Евклида для вычисления наибольшего общего делителя полиномов из кольца Fp[x]. Обобщите алгоритмы извлечения квадратного корня в поле F^ дая ^ = 5 (mod %\q = 9 (mod 16) на случаи а = 17 (mod 32) и ^ = 33 (mod 64). 10 Предложите алгоритм извлечения кубиче 11 ского корня в поле характеристики 3. *Можно ли адаптировать алгоритм LLL к кольцу Жр целых/7-адических чисел? 2 12 Пусть кубический характер. Используя кубический закон взаимности, предложите метод вычисления кубического характера для натурального числа п по аналогии с символом Якоб и. 13 14 Исследуйте аналог псевдопростого теста Миллера-Рабина для полиномов над конечным полем. Предложите вариант теста проверки на должен появиться кубический корень 15 простоту для чисел, сравнимых с 5 (mod 6) по аналогии с тестом Миллера-Рабина (перед из 1). Пусть характеристика р поля ¥р раскладывается на простые множители в кольце целых алгебраических чисел Z [а] : 7Г1...7Г/ С5 И пусть щ{о1) место изоморфизм полей (mod/7). Покажите, что имеет p_Z[a]/(7ri) и что для он вычисляется минимизацией нормы элемента в поле Z[a]/(7ri). Предложите алгоритм вычисления указанного изоморфизма случая к (mod 3) — простое 2 16. Покаяште, что если р число вида аЬ + b и эллиптическая кривая Е(¥ р число точек г вида 2 3 X +В имеет простое (mod 3), то, используя разложение на простые множители в кольце 1+л/ 9 ЧИСЛО г можно представить в виде г с 2 cd + ^. Покажите, что сущест 2 Эта проблема интересна в связи с дискретным логарифмированием на эллиптических кривых методом поднятия. вует эллиптическая кривая Щ¥Л вида х' + В\ имеющая простое число точек/». Предложите тест проверки на простоту, основанный на этих условиях. 17 кривая U' + 3 + CW 3 2 3 изо 3 Кубическая морфна эллиптической кривой Y'^Z^X'' + BZ\ Найдите формулы для сложения точек на первой кривой и сравните по сложности ва рианты арифметики на этих кривых. 18 Эллиптическая X xZ 2 ^ + BZ 6 vZ 3 кривая 2 3 X л-Ах-^В имеет вид 2 3 при 4 X'-^AXZ^ + Предложите аналог проективной арифметики для этой кривой. 19 Предложите способ ускорения умножения элемента якобиана гиперэллиптическои кри вой на число за счет представления этого числа в троичной системе счисления по ана логии с эллиптическими кривыми. 20 Пусть гиперэллиптическая кривая вида 2 X 5 над полем р-> (mod 10) Как ускорить умножение элемента якобиана на целое число за счет использования эндоморфизма кривой (х, у) (бх 5 у\ где е 5 I? Литература к главе Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анапиз вычислительных алгоритмов. М.: Мир, 1979. Ван дер Варден Б.Л. Алгебра. М.: Наука, 1979. Ростовцев А.Г. Изоморфизм конечных полей для комплексного умножения // Межрегионапьная конференция «Информационная безопасность регионов России». Тезисы докладов. Часть 1999. С. 117-119. СПб., Buchmarm J., Hamdy S. A survey on IQ cryptogra phy//www.cdc.infonnatik.tu-darmstadt.de/TI/English/ Publkations/TR/. Cantor D. Computing in the Jacobian of a hyperellip tic curve Mathematics of Commutation. lOI. 1987 Vol. 48. P. 95 Kim S.H., Pomerance С The probability that a ran dom probable prime is composite // Mathematics of Computation. 1989. Vol. 53. №. 188. P. 721-741. Menezes A., van Oorschot P., Vanstone S. Handbook of Applied Cryptography. CRC Press, 1997. Montgomery P. Modular multiplication without trial division Mathematics of Computation. 1985. Vol. 44. P. 519-521. Pollard J.M., Schnorr C.P. An efficient solution of the x^ + b 2 m (modn) II IEEE Transac congruence tions on Information Theory. 1987. Vol. IT-33. J^ P. 702-709. 10 SchOrihage A. Schnelle Berechnung von Ketten bruchentwicklungen // Acta Informatica 1971. Vol. P. 139-144.
г л a в a 8. КРИПТОГРАФИЯ И ЗАЩИТА ИНФОРМАЦИИ Защита информации развивается настолько человеческого мошенничества, не уточняя, ка быстро, что специалисты в различных ее облас- кими методами. тях иногда с трудом понимают друг друга, по- А. Менезес и др. [19] под кригггографией по скольку одними и теми же терминами обознача- нимают изучение математических методов, свя ют разные понятия.' Это заставляет уточнять не- занных с такими функциями защиты информа которые определения. В данной главе сделана по- ции. как конфиденциальность и целостность пытка ответить на два взаимосвязанных вопроса: данных. Однако конфиденциальность и целост- всегда ли верна основная теорема безопасности? ность часто обеспечиваются разграничением Что такое криптография и какое место она зани- полномочий пользователей и введением соответ- мает в защите информации? ствующих блокировок [5]. Поэтому такое опре мя существует несколько определении крипто жают действительное положение вещей. Начнем со второго вопроса. В настоящее вре- деление тоже не вполне удовлетворительно. Криптографию как науку характеризуют пред- графии, которые, однако, не в полной мере отра- мет, цели и методы исследования. Согласно приведенным выше определениям, предметную область Д. Кан [16] называет криптографией искусст- криптографии составляют функции защиты ин- во хранить информацию в секрете. Однако хра- формации, реализуемые с помощью как oбш>ix под- нить информацию в секрете можно, запретив или ходов (методов), так и соответствующих средств, ограничив доступ к ней (техническими мерами с Эти определения содержат ряд общих положений, среди которых можно выделить следующие: — наука, занимающаяся изу- или с помощью соответствующей блокировки помощью первого отдела). Согласно Н. Коблицу [17] и А. Конхейму [18] криптография— это искусство и наука сделать передаваемую информацию доступной только для данного получателя. Со времен античности известен следующий способ скрытой передачи информации. Доверенному рабу брили голову, писали на ней сообщение, и после отрастания достаточной щетины отправляли «живое пись МО» по адресу. Для прочтения письма нужно бы ло снова побрить голову раба. Симмонс [10] криптографией называет науку о безопасности связи. Однако многочисленные методы корректирующего кодирования, обеспечивающие защиту информации от случайных искажений, обычно не имеют отношения к криптографии. Б. Шнайер [21] говорит, что криптография занимается решением проблем обеспечения секретности, подлинности, целостности и защиты от - криптография — чением методов и средств защиты информации, в частности, методов и средств обеспечения конфиденциальности и аутентичности данных; - криптография — раздел прикладной математики и, следовательно, использует математические (в первую очередь алгебраические) методы исследования. Если обратиться к многочисленным публикациям в области криптографии, то можно заметить характерные черты методов исследования, используемых криптографией: - способы обеспечения и преодоления защитных функций, показывающих, что, от чего и при каких условиях может быть защищено, можно описать вероятностными алгоритма ми, которые характеризуются сложностью и вероятностью успеха; методы и средства защиты информации, изу- ^ Иногда можно услышать такое суждение: «Зачем нужна криптография, если ответ на все вопросы дает „основная теорема безопасности"?». ^ Основная теорема безопасности Белла—Лапа дулы [14] утверждает, что если информационная система начинает работу из безопасного состояния и каждый переход из состояния в состояние безопасен, то система безопасна (см. п. 8.2.3). , чаемые криптографией, можно охарактеризовать сложностью их преодоления в рамках некоторой формальной модели (вычисли тельной, инженерно-технической, организационной и т. п.). Чтобы уточнить определение криптографии и ее место в теории защиты информации, рассмотрим основные понятия этой теории
178 8.1. Основные понятия защиты информации Значительная часть материала этого раздела взята из книги И.Н. Окова [8]. соответствии с Законом об информации, информатизации и защите информации инфор- Различают защиту от технической и агентур ной разведки. Под защитой информации от тех нической разведки понимается деятельность, на правленная на предотвращение получения защи щаемой информации разведкой с помощью технических средств. Защита информации от агентурной разведки ограничивается деятельностью. мационнои системой называется организацион- упорядоченная совокупность документов направленной на предотвращение получения за но (массивов документов) и информационных тех пологий, в том числе с использованием средств вычислительной техники и связи, реализующих процессы сбора, обработки, накопления, хранения, поиска и распространения информации. щищаемои информации агентурной разведкой. Различают несанкционированное и непредна меренное воздействия на информацию [3]. Защитой информации от несанкционированно го воздействия является деятельность, направлен Информацией являются сведения о лицах. предметах, фактах, собьггиях, явлениях и процессах независимо от формы их представления. Защищаемая информация является собственностью какого-либо субъекга (государства, предприятия, фуппы лиц или отдельного гра^кдани- на) и подлежит защите в соответствии с требованиями собственника информации или с требованиями правовых документов. Защитой информации называется деятельность, направленная на предотвращение утечки защищаемой информации, несанкционированная на предотвращение воздействия на защищаемую информацию с нарушением установленных прав и (или) правил. Это воздействие может приводить к искажению или уничтожению информации, блокированию доступа к ней, а также к утрате, уничтожению или сбою функционирования носителя информации. Несанкционированное воз действие на информацию является целенаправлен ных и непреднамеренных воздействии на защи щаемую информацию. В стандарте [3] три ос новных направления защиты информации опре делены следующим образом. Защитой информации от утечки является дея тельность, направленная на предотвращение не ным воздействием, которое оказывает нарушитель, ставящий перед собой цели нарушения работы информационной системы (например, скрытый перехват управления системой) [8]. Защитой информации от непреднамеренного воздействия является деятельность, направленная на предотвращение воздействия на защищаемую информацию в результате ошибок пользователя, сбоя технических или программных средств информационных систем, природных контролируемого распространения защищаемой явлении или иных не целенаправленных на изменение информации мероприятий, приводящих информации в результате ее разглашения, несанк- к искажению, копированию, блокированию дос ционированного доступа к информации и получе- тупа к информации, а также к утрате, уничтоже ния защищаемой информации разведками. Утечка нию или сбою функционирования носителя ин- информации осуществляется по каналам. Как формации. Непреднамеренное воздействие носит правило, множество каналов утечки строго боль- случайный характер, однако способно разрушить ше множества штатных каналов передачи инфор- информацию или нарушить работоспособность мации. Доступом к информации называется полу- информационной системы. чение субъектом возможности ознакомления с Защита информации от утечки предназначена информацией, в том числе с использованием тех- для сохранения в тайне информации ограничен нических средств. Под несанкционированным ного доступа. В соответствии с законодательст доступом к информации понимается доступ с на- вом России различают секретную информацию, рушением установленных прав и правил доступа. содержащую государственную тайну, и конфи- Защитой информации от несанкционирован- денциальную информацию, содержащую иные ного доступа является деятельность, направлен- определяемые законом тайны: служебную, ком- ная на предотвращение получения защищаемой мерческую, профессиональную (включая, в част- информации заинтересованным субъектом с на- ности, тайну переписки, телефонных, почтовых, рушением установленных правовыми докумен- телеграфных отправлений, нотариальную, адво- тами или собственником (владельцем) информа- катскую, врачебную тайну и др.), персональные ции прав или правил доступа к защищаемой ин- данные [8]. формации. При этом заинтересованным субъек Далее секретность и конфиденциальность ин том, пытаюидимся получить несанкционирован- формации различаться не будут, поскольку ме ный доступ к защищаемой информации, могут тоды и средства их обеспечения весьма схожи. быть государство, организация, группа лиц или Секретность или конфиденциальность ин отдельные граждане. формации обеспечиваются ее засекречиванием
179 Порядок засекречивания информации, состав Под аутентификацией (или опознаванием) ляющеи государственную тайну, определен за- корреспондента {пользователя) понимается ус- коном РФ «О государственной тайне». Порядок тановление его подлинности путем проверки со- засекречивания конфиденциальной информации ответствия идентификатора, предъявляемого устанавливает ее владелец (пользователь). корреспондентом (пользователем) другому кор Защита информации от несанкционированных респонденту (пользователю). Аутентификация и непреднамеренных воздействий предназначена позволяет установить, например, что связь обес- дая обеспечения целостности, подлинности и печивается именно с конкретным корреспонден доступности. том телекоммуникационной системы или что Под целостностью информации понимают ее доступ к защищаемой информации предоставля- свойство оставаться неизменной при непредна- ется законному пользователю информационной меренных или несанкционированных воздейст- системы. Примером аутентификации пользованиях или возможность выявлять случаи такого теля является проверка удостоверения личности. Доступность информации свойство ин формации, обеспечивающее беспрепятственный воздействия со стороны владельца (пользователя) информации. Под подлинностью информации понимают ее доступ к ней для выполнения санкционированных свойство оставаться неизменной при несанкцио- операций по ознакомлению, модификации, уничтожению. являть случаи такого воздействия со стороны Защита секретности, целостности, подлинности владельца (пользователя) информации. Если ин- и доступности информации требует комплексного формация имеет конкретное физическое вопло- использования правовых, организационных нированных воздействиях или возможность вы крип щение (например, паспорт гражданина или де- тографических и технических мер ее защиты нежная купюра). то установить подлинность можно с помощью проверки защитных приз на ков, отсутствия подчисток и т. п. Целью защиты информации является достижение заранее намеченного результата защиты информации. Обычно целью защиты информа- Для обеспечения подлинности и целостности ции является обеспечение ее безопасности. Под информации необходимо снабдить ее некоторым безопасностью информации понимается состоя- персональным идентификатором. Согласно ру- ние ее зашищенности, при котором с требуемой ководящему документу Гостехком исс ии [4] вероятностью обеспечивается защита информа идентификатор этго уникальный признак ции, информационных ресурсов и информацион данной информации, на основе которого можно ных систем от утечки, хищения, утраты, несанк доказательно установить ее подлинность. Кон ционированного уничтожения, искажения. МО троль подлинности информации обеспечивается дификации (подделки), несанкционированного ее аутентификацией— проверкой соответствия копирования, блокирования информации и т. п. идентификатора самой информации. Под эффективностью защиты информации Различают аутентификацию сообщений и ау- понимают, в какой степени результаты защиты тентификацию корреспондентов (пользователей, информации соответствуют поставленной цели, систем, сетей и их элементов). Для оценки эффективности используются соот- Под аутентификацией сообщения понимает- ветствующие показатели. Нормы эффективности ся установление подлинности сообщения на ос- защиты информации устанавливаются норма- нове внутренней структуры самого сообщения тивными документами. путем проверки соответствия идентификатора Средством защиты информации является сообщению, установление получателем (верифи- техническое или программное средство, вещест катором, арбитром) факта, что данное сообщение во или материал, предназначенные или исполь было _ . _ правильно сформировано законным от правителем (претендентом) и не было изменено зуемые для защиты информации. Защищаемая информация может подвергаться при несанкционированном воздействии на него, различным воздействиям со стороны нарушителя Аутентификация сообщения позволяет соотнести или сил природы. Пути реализации воздействий сообщение с его источником и временем форми на информацию называются угрозами Среди рования, выявить факты изменения, а также по- угроз можно выделить следующие. второв и задержек сообщения при передаче по каналу связи. 3 Примером контроля правильности данных является проверка того, что составное число содержит в точности п. 14.2.4) два различных простых делителя (см Угроза раскрытия информации заключается в том, что защищаемая информация может стать известной субъектам, которые не уполномочены владеть или пользоваться ею. Угроза целостности информации заключается в том, что защищаемая информация может подвергнуться несанкционированному
180 или непреднамеренному воздействию, приводящему к ее искажению или уничтожению. Угроза подлинности информации заключается в том, что защищаемая информация может подвергнуться несанкционированному действовать на воз к ее искажению действию, приводящему (сюда относится и подмена информации). Угроза доступности информации заключа ется в том, что защищаемая информация мо жет подвергнуться любому несанкциониро процессы обработки, ввода- вывода, хранения или передачи информации. При пассивной стратегии нарушитель может ставить перед собой следующие цели и задачи [10]. Получение несанкционированного доступа к информации, то есть нарушение ее секретности. ванному или непреднамеренному возденет ВИЮ, в результате которого блокируется дос Изучение того, кто к какой информации (источникам, фактам и т. д.) и когда получает доступ (даже если сама информация остается скрытой), то есть обобщение данных, полу- туп к информации или происходит сбой функционирования носителей информации. этой угрозой связана угроза отказа в об- , что бьггь ченных из анализа потока сообщений в канале связи, на структуру данных, программное обеспечение и т. д. служиванищ которая заключается в том информационную систему может на При активной стратегии нарушитель может являться или не являться законным пользовате- оказано несанкционированное информаци онное воздействие, приводящее к нарушению работоспособности системы. лем информационной системы. открытых информационных системах нарушитель, как правило, является законным пользователем информационной системы. При этом Например, угроза считывания информации с он может ставить перед собой следующие цели и задачи [10]. . Выдача себя за другого пользователя. . Отказ от факта формирования сообщения. . Утверждение о том, что данные получены от некоторого отправителя, хотя на самом деле они сформированы самим «получателем». . Утверждение о том, что получателю (в определенный момент времени) посылались некоторые данные, которые на самом деле не дисплея компьютера ведет к нарушению секретности этой информации. Угроза перегорания компьютера в результате скачка питающего напряжения ведет к нарушению целостности и доступности информации, хранимой в памяти компьютера. Угроза заражения компьютера вирусами ведет к нарушению подлинности и доступности информации [8]. При построении защищенных информационных систем наиболее сложно противостоять угрозам, исходящим от нарушителя. Под нарушителем понимается противоборствующая сторона (государство, организация или частное лицо). пытающаяся нарушить безопасность информа ции, например, осуществить несанкционирован посылались (или посылались в другой мо мент времени). Отказ от факта получения сообщения, кото рое на самом деле было получено, или лож ное утверждение о времени его получения. ныи доступ или несанкционированное воздействие. Реализации угрозы, исходящей от нарушителя, называются атаками. При разработке атаки нарушитель преследует некоторые цели, включая нарушение секретности, нанесение ущерба другим корреспондентам или пользователям, получение незаконного преимущества по сравнению с другими пользователями информационной системы и т. п. Одна и та же угроза может бьггь реализована различными атаками. Нарушитель может придерживаться пассивной или активной стратегии. В случае пассивной стратегии нарушитель не проявляет себя путем вмешательства в информационный обмен между пользователями или корреспондентами информационной системы, в работу информационной системы, в том числе путем модификации про- Расширение своих законных полномочий (на доступ, формирование, распространение данных и т. д.). Изменение (без санкции на то) полномочий других пользователей. Сокрытие факта наличия некоторой информации (скрытая передача) в другой информации (открытая передача). Примером является скрытый канал в схеме цифровой подписи (см. п. 13.4). Заявление о сомнительности защитных качеств информационной системы путем раскрытия информации, которая по условиям 10 граммного обеспечения или данных. В случае 11 активной стратегии нарушитель пытается воз протокола должна оставаться секретной. Модификация программного обеспечения, обычно путем незаметного добавления новых функций. Вынуждение других нарушать протокол путем введения ложной информации.
181 12. Тайное нарушение протокола, наносящее Таким образом, модель нарушителя задает уш;ерб другим пользователям системы На порождающие правила исчисления, а множество в ходе выполнения протокола Диф- атак является множеством допустимых объектов пример, фи—Хеллмана (см. п. 12.1) один из пользова^^ телей, выбрав не случайный, а заранее из- этого исчисления. Множество возможностей нарушителя в рамках формальной логики является вестныи нарушителю показатель, может сделать ключ легко вычислимым. 13. Подрыв доверия к информационной системе аналогом системы аксиом некоторой теории, а coBoiQ^HHocTb атак — аналогом совокупности истинных или доказуемо истинных утверждений путем вызова очевидных нарушении и т, д. Если нарушитель не является законным пользователем информационной системы, то он может ставить перед собой следующие цели и задачи [10]. . Навязывание ложной, в том числе ранее переданной, модифицированной или переадресованной информации с целью нарушения этой теории. Согласно результатам Геделя, Тарского, Поста, Шмульяна и ряда других логиков [6, 11, 12], множества истинных и доказуемо истинных ут- работоспособности информационной системы или изучения ее защитных механизмов. Организация верждении не совладают: существуют истинные утверждения, которые невозможно доказать также опровергнуть, поскольку доказательный аппарат считается непротиворечивым). Аналогично существуют ложные утверждения, для которых невозможно доказать ложность (а также истинность, поскольку аппарат доказательства или подтверждение ложных непротиворечив). При этом каждое утверждение обменов информацией. Блокирование передаваемой информации и последующая времени, ее передача с задержкой во является либо истинным, либо ложным. Назовем информационную систему доказуемо безопасной^ если существует доказательство того, что ни одна атака, нарушающая безопасность Незаконное пользование ресурсами и услу- не может быть реализована в рамках данного ис- гами информационных систем. ? Разрушение или блокирование средств защиты информации. Блокирование доступа пользователей к средствам хранения, передачи или обработки информации. Попытка помешать передаче сообщений между другими пользователями, в частности, внесение в сообщение скрытых помех с той целью, чтобы это сообщение при проверке было отвергнуто. числения. Назовем информационную систему доказуемо уязвимой^ если в рамках данного исчисления существует вывод для данной атаки, нарушающей безопасность. Назовем информационную систему безопасной^ если ни одна атака, нарушающая безопасность, не может быть реализована в рамках данного исчисления. Назовем информационную Большинству целей и задач нарушителя из приведенного списка можно противостоять с ис пользованием достимсений криптографии. систему уязвимой, если в рамках данного исчисления существует атака, нарушающая безопасность. Отметим, что термины «система», «безопасность» задают интерпретацию соответствующего исчисления. Замена терминов «система» на «утверждение». «безопасность» на «истинность» задает изоморфизм интерпретаций. Поэтому результаты работ [6, 11, 12] можно интерпретировать следующим образом: множества безопасных и доказуемо безопасных систем, а также уязвимых и доказуемо уязвимых систем различны. 8.2.1. Упорядоченность моделей нарушителя Иными словами, существуют информационные 8.2. Исчисление атак и безопасных систем системы, которые не являются ни доказуемо безопасными, ни доказуемо уязвимыми. Для описания атаки часто используется мо дель (действий) нарушителя. Очевидно, что со Чем меньшими (большими) возможностями BOi^HHOCTb всевозможных действии нарушителя обладает нарушитель, тем легче (труднее) ему (атак) определяется его возможностями, поэто- противостоять. В предельном случае, если нарушитель не может ничего (множество возможно- дели возможностей нарушителя (или просто о стей пусто), то любая система является безопас- модели нарушителя), которая разрешает (но не ной. Другой крайний случай: если нарушитель му лучше говорить не о модели действии, а о мо предписывает) нарушителю действовать так или обладает экстрасенсорными способностями, ни одна система не будет безопасной. то иначе для достижения своей цели.
182 Предположим, есть две модели нарушителя, верхнюю грань и из наиденного множества точ причем вторая как множество содержит в себе ных верхних фаней выбираем наибольшие, со- первую. Тогда можно сказать, что вторая модель держаш;иеся среди элементов множества А. Неявляется более сильной, чем первая, или. просто пустое множество точньгк верхних граней задает больше первой, у соответствующего нарушителя максимальную модель нарушителя больше возможностей. а множество атак для На практике защита информации осуществля второй модели включает в себя множество атак для первой модели. Таким образом, на множест- ^тся подсистемой безопасности. Если безопас- ве моделей нарушителя определена частичная ^ость информационной системы может быть упорядоченность, заданная упорядоченностью обеспечена, то обычно этого можно достичь с множеств по включению и индуцирующая упорядоченность мноэюества атак. Упорядоченность множества моделей нарушителя индуцирует также инверсную упорядоченность мноэюества безопасных информационных систем-. Система, безопасная по отношению к нарушителю, описываемому меньшей моделью, может не быть безопасной по отношению к нарушителю, описываемому большей моделью. Таким образом, понятие безопасности информа- помощью различных подсистем безопасности. На множестве подсистем безопасности можно 5 определить отношение частичного порядка. Упорядоченность может задаваться стоимостью массо-габаритными показателями, номенклатурой используемых средств и т. п. Согласно тео реме 3.14.1 среди подсистем безопасности, обес печивающих защиту по отношению к заданной модели нарушителя, существует минимальная. Множество информационных систем можно ционнои системы подразумевает указание соот- разбить на классы твк, что к одному классу отно ветствующеи модели нарушителя. Зададим модель нарушителя (градуирован ным) множеством, элементы которого могут со сятся информационные системы. для которых максимальные модели нарушителя совпадают. При построении и анализе безопасности за провождаться численными значениями, характе- щищенных информационных систем часто тре ризующими возможности нарушителя. Напри мер, производительность компьютера нарушителя может варьироваться. Назовем модели нарушителя однотипными^ если их элементы одинаковы с точностью до численных значений. На буется решить три задачи. Во-первых, для задан НОИ модели нарушителя определить, является ли данная информационная система доказуемо безопасной, доказуемо уязвимой или неопределенной (отсутствуют доказательства как безо- однотипных моделях можно установить отноше- пасности, так и уязвимости). Во-вторых, для за ние порядка, например, упорядочив список воз- данной информационной системы найти макси можностеи по типам, а затем упорядочив воз можности одного и того же типа по их количест венным характеристикам. мальную модель нарушителя, ь-третьих, для за данной модели нарушителя найти минимальную подсистему безопасности. Теорема 8.2Л* Модели нарушителя образуют решепо^. Доказательство Два неградуированных множества, задающих модель нарушителя, имеют 8.2*2. Множества возможностей нарушителя Для того чтобы построить защищенную сие точную верхнюю грань (объединение этих мно- тему или хотя бы проверить ее защищенность. жеств) и точную нижнюю грань (пересечение нужно знать, от чего именно осуществляется за этих множеств). Для двух однотипных моделей щита. Поскольку нарушитель в пределах своих точной верхней гранью является более сильная более слабая. возможностей может действовать произвольно, действия нарушителя (атаки) следует описывать решетку на множестве моделей нарушителя модель, а точной нилшеи гранью Композиция этих двух отношений порядка задает в рамках исчисления атак. Сово10^пность порождающих правил такого исчисления определяется моделью нарушителя и особенностями информа- Теорема 8.2.2. Для каждой информационной ционной системы. Реализация угрозы с помощью системы существует (может быть, не единствен- многоходовой атаки может быть описана как по- ная) максимальная модель нарушителя, для ко- лучение основного состояния в ходе исчисли- тельного процесса. На практике эта модель нарушителя опреде- торой система безопасна. Доказательство. Множество^ моделей нарушителя, для которых система безопасна, не- ляется в нормативных до10^ментах и уточняется в пусто, так как содержит хотя бы один элемент пустое множество возможностей. Для каждой техническом задании на разработку. учетом специфики построения информаци пары элементов множества находим точную оннои системы и истории защиты информации
183 [2, 5, 16] можно выделить вычислительные, тех Математические возможности нарушителя нические, математические, криптоаналитические позволяют разрабатывать новые эффективные и организационные возможности нарушителя. методы и алгоритмы решения массовых матема Вычислительные возможност;и нарушителя тических задач, положенных в основу безопас- учитывают тип используемой им вычислительной ности информационной системы, или задач, к модели 5 ее производительность. объем памяти которым сводятся указанные математические Атаку на информационнз'то систему в рамках за- задачи. Например, уже многие годы наблюдается описать прогресс в построении быстрых вероятностных данной вычислительной модели можно вероятностным алгоритмом, который характеризу алгоритмов разложения составного числа на ется временной и емкостной сложностью и вероят- множители, что приводит к необходимости по- ностью успеха. Поскольку уфоза может быть pea- стоянного увеличения длины составного числа в лизована различными алгоритмами, возникает не- системе RSА [9]. обходимость их сравнения. Из двух алгоритмов Криптоаналитичестше возможности наруши- лучшим является тот, котфый при одинаковой теля связаны с математическими и позволяют вероятности успеха имеет меньшую сложность, разрабатывать алгоритмы взлома данного шифра Система является безопасной, если сложность паи с использованием как универсальных, так и при лучшего известного алгоритма превышает порого- менимых только к конкретному шифру методов криптоанализа. вую при заданной вероятности реализации угрозы Отличие этих возможностей от Технические возможности нарушителя описы- математических заключается в использовании вают (общепринятый) инструмент, реализующий специальных криптоаналитических методов. атаку, например, компьютер, используемый для Кроме того, здесь решается не массовая, а част- доступа в систему. пая математическая задача. Лаборст горн ы е возможности описывают не Организационные возможности нарушителя позволяют ему получать дополнительную ин стандартные, уникальные средства, которые позволяют нарушителю получать информацию о формацию, потенциально способную снизить секретных данных, не обращаясь непосредствен- защитные качества информационной системы. но к области памяти, где эти данные хранятся. Эти возможности включают в себя трудно фор При любом процессе обработки секретной ин- мализуемый список, например: формации с помощью материальных средств возникают физические поля (сигналы), которые (по крайней мере, теоретически) могут быть измерены с помощью лабораторных методов и средств и дают нарушителю некоторую информацию о защищаемом секрете. Например, информацию, высвечиваемую на дисплее компьютера, можно оп- получение открытых текстов, соответствую щих имеющимся шифрограммам; возможность доступа к шифровальной аппа ратуре для тестирования ее с помощью по или зашифрованных редели ть с помощью специализированного ра диоприемника Эти сигналы являются слабыми добранных открытых текстов; захват шифровальной аппаратуры; доступ к ключам шифрования, выведенным (иногда значительно меньше уровня шума) Для выделения их из шума можно использовать то из действия; возмолсность подмены существующих про обстоятельство. что при каждом обращении к конфиденциальной информации шум различен, а сигнал — один и тот же. Если конфиденциальная информация была записана в памяти компьютера (магнитной, полупроводниковой и т. п.), то стирание этой информации должно исключать возможность восстановления ее лабораторными методами, которые в общем случае отличаются от штатных методов считывания информации. некоторых случаях нарушитель с лабора- грамм; вербовка помощников среди обслуживающе го персонала и т. п. Иногда технические и организационные воз можности различаются непринципиально пример, если информационная система На или пред бу торными возможностями может активно воздеи ствовать на аппаратуру защиты информации, из меняя ее работу и тем самым снижая ее защит ные качества. ставляет собой библиотеку с книгами мажными документами, то доступ к ним описывается организационными возможностями. Если документы являются электронными и хранятся в памяти компьютера, то такой доступ описывает ся техническими возможностями. Указанная классификация возможностей на рушителя может быть детализирована на мате матическом, техническом, организационном и 4 общем случае список возможностей наруши- других уровнях теля требует уточнения для каждой конкретной ин Модель нарушителя на математическом уров формационной системы. не допускает детализацию, учитывающую. ка
184 кую математическую задачу нарушитель может текущей оценки сложности задачи и от текущей решить (или предположительно сможет решить в оценки максимальной модели нарушителя. будущем). Как правило, решить ту или иную ма Отсюда следует прит^кп максимальной одно тематическую задачу, положенную в основу родности: число положенных основ олжно безопасности информационной системы, очень безопасности информационной системы трудно. Так же непросто прогнозировать, какая быть минимальным. Это обусловливает целесо из двух математических задач будет сложнее че- образность унификации криптографических рез 20 лет. Помочь здесь сможет номенклатур- примитивов (таких как шифрование, подпись, ный подход к анализу безопасности. хэш-функция, генератор случайных битов и др.. Предположим, что нарушитель может решить см. п. 8.3) так, чтобы они основывались на одной на математическую задачу р^ данного размера. То- и той же математической задаче, например гда подсистемы безопасности, для взлома кото- задаче дискретного логарифмирования на эллип рых достаточно решить задачу Ра (или любую тической кривой (см. гл. 11). другую задачу, полиномиально сводимую к задаче ра)г, оказываются уязвимыми. Можно пред Для анализа безопасности информационных систем математическими методами необходимо свете из положить, что наряду с задачей р^ нарушитель может решить другую задачу р^- Тогда подсис- выбрать некоторую систему аксиом. темы безопасности, для взлома которых доста- ложенного наиболее естественной системой ак- точно решить любую из задач/7^ или рв (или лю- сиом, в рамках которой рассматривается безо- бую другую задачу, полиномиально сводимую к пасность системы, представляется заданное этим задачам), оказываются уязвимыми. Продолжение этих рассуждений ведет к сле- множество возможностей нарушителя. Часто нарушитель может предпринимать дующему утверждению Обозначим максималь комплексные атаки с использованием всех ную модель нарушителя для информационных имеющихся возможностей. Рассмотрим некото- систем An В через 1а и 1в соответственно, а мно- рые типовые модели нарушителя с учетом их жества математических задач, решение любой из упорядоченности по включению, которых ведет к нарушению безопасности этих систем, — через Ра и Рв соответственно. 8.2.3. Тривиальная модель нарушителя Теорема 8.2.3. Если системы ^ ^ т т 5 и таковы. В-, то/ л /«. в что Ра Доказательство. Множество задач линейно упорядочено по сложности. Поэтому в множестве Ра есть задача/?л наименьшей слояшости. Если Ра е Рв, то /л = 4; если »л ^ Рв. то I А В, так как нарушитель должен уметь решать задачу/?л. Назовем модель нарушителя тривиальной, если единственный способ для нарушителя получить сведения о секретной информации— выполнить ее чтение установленным порядком, а единственный способ для нарушителя изменить информацию - 8 выполнить запись установлен Для уточнения математических и криптоана ным порядком. Данная модель может считаться моделью с техническими возможностями, если система построена с использованием компьютеров, или моделью с организационными возможностями, на- литических возможностей нарушителя составим список массовых задач, которые он предположительно может решить. Определим мноэюество задач, полоэюенных в основу безопасности информационной системы, ^ ^ ^^^^ ^^^^ предстжляет интерес возможность как набор математических задач, решение любой построения криптосистем, безопасность которых ос- из которых ведет к нарушению безопасности, нована на решении не одной (любой), а всех попарно нез^исимых массовых задач из некоторого списка 8 Термин «тривиальная» объясняется тем, что ере Мощность этого множества задач назовем слоэю- постной неоднородностью. Теорема 8.2.3 означает, что увеличение слож- ди непустых моделей нарушителя эта модель, по- ностной неоднородности (расширение множест- видимому, простейшая. Как показывает многовековая ва задач, положенных в основу безопасности), не история защиты информации, если нарушитель дей- может повысить безопасность, независимо от ствительно хочет узнать то, что ему не положено, он обычно применяет значительно более широкий спектр действий. Например, для того чтобы прочитать сек- Предполагается, что нематематические макси- ретную переписку короля Испании Филиппа II, при- мальные возможности нарушителя для систем А и В дворный криптоаналитик короля Франции Генриха одинаковы. 5 6 Наваррского Франсуа Виет (известный как один из Оценка сложности задачи может меняться во родоначальников алгебры), разумеется, не получал времени разрешения с печатью испанского короля [16]
185 пример, если система представляет собой обыч торых можно описать с использованием пере ную библиотеку. Поэтому безопасность может менных (имена субъектов, объектов и их гри быть обеспечена техническими или организаци- фов). а также элементов матрицы доступа, one онными мерами— нужно создать необходимые раций чтения и записи, скобок и кванторов су- блокировки, обеспечивающие доступ к инфор- ществования и всеобщности. Такая грамматика Цермело мации только при наличии соответствующего определяет язык теории множеств разрешения. Способ реализации этих блокировок Френкеля [6], который относится к языкам пре- (организационный или технический) в систем- ди катов первого порядка. Этот язык позволяет ном плане непринципиален описывать в атаке состояния, полученные на Если защищаемая информация упорядочена предьщущих шагах исчисления. Отсюда следует по уровню своей секретности, а субъекты систе- заключение теоремы. мы т. п.) (пользователи, ап паратура, — по своим полномочиям 5 программы и которые соот- Назовем информационную систему транзи ветствуют грифам информации, то в рамках этой тивнои. если для любой цепочки переходов же модели возможностей получается модель а. >^2 > > а и из безопасности каждого от 9 дельного перехода следует безопасность резуль безопасности Белла-Лападулы. Система называется безопасной по чтению тирующего перехода а^ —> а„ (аксиома транзитив- {по записи) в смысле Белла-Лападулы тогда и ности). Аксиома транзитивности эквивалентна только тогда, когда полномочия субъекта по чте- основной теореме безопасности Белла-Лападулы. нию (по записи) соответствуют уровню секрет ности информации. Считая определение безопасности Белла рас Система называется безопасной в смысле Белла-Лападулы {БЛП~безопасной) тогда и только тогда, когда она безопасна в этом смысле по чтению и по записи (это определение удобно считать аксиомой безопасности). Известна основная теорема безопасности Белла—Лападулы\ если начальное состояние системы безопасно и в каждый переход из предыдущего состояния последующее состояние безопасен, то система безопасна (всюду имеется в виду БЛП-безопас- ность). Тривиальная модель нарушителя в рамках системы с иерархией субъектов и объектов вза имно однозначно соответствует понятию безо пасности в смысле Белла-Лападулы. Действительно, при указанных возможностях нарушителя определения безопасности по чтению и записи вполне осмысленны и корректны. Обратно, из определении безопасности по Беллу-Лападуле следует, что возможности нарушителя ограниче ны тривиальной моделью. Теорема 8,2.4- Все атаки исчисления, порожденного моделью безопасности Белла-Лападулы, описываются на языке логики предикатов первого порядка. Набросок доказательства Любая атака представляется в виде последовательности деи ствии пользователей системы и нарушителя. Та кая последовательность содержит конечное чис ло действий (чтение или запись), каждое из ко Лападулы аксиомой БЛП-безопасности, смотрим взаимную зависимость между аксиома ми БЛП-безопасности, транзитивности и триви альности модели нарушителя. Теорема 8.2.5. Справедливы следующие утверждения. 1. Аксиома БЛП-безопасности и аксиома тривиальности эквивалентны. . Любая из аксиом БЛП-безопасности и тривиальности влечет аксиому транзитивности. Доказательство. Из аксиомы тривиальности следует аксиома БЛП-безопасности, так как для нарушителя единственный способ нарушить конфиденциальность выполнить операцию чтения. а единственный способ нарушить подлип ность Из выполнить операцию записи. аксиомы БЛП-безопасности следует ак сиома тривиальности, так как никакие другие возможности нарушителя, кроме чтения и записи, не предусмотрены. Таким образом, каждая из аксиом БЛП-безопасности и тривиальности влечет другую. Из аксиомы БЛП-безопасности согласно основной теореме безопасности Белла-Лападулы следует аксиома транзитивности. Аксиомы тривиальности и БЛП-безопасности эквивалентны, поэтому аксиома тривиальности также влечет аксиому транзитивности. Следствие 8.2.6- Если аксиома транзитивности неверна, то ни аксиома тривиальности, ни аксиома БЛП-безопасности не выполняются. 9 Вместо модели Беллаг-Лападулы можно рассмотреть любую другую мандатную модель управления доступом. Таким образом, в схеме вывода основной тео ремы безопасности из определения БЛП-безопас ности посылку и следствие мояшо менять местами
186 8,2-4- Нетривиальная модель нарушителя Иногда чтобы узнать секретную информацию нарушителю не надо выполнять операцию чте ния — эту информацию можно найти иначе. На 9 пример, секретный ключ шифрования или под писи обычно можно (по крайней мере, теорети чески) вычислить. Порождающие правила в рамках этого исчис ления, помимо перечисленных в п. 8.2.3, предпо лагают возможность использования методов ма пяться в течение всего срока эксплуатации информационной системы. Таким образом, разработчик вынужден постоянно разрабатывать новые методы взлома подсистемы безопасности, чтобы опережать в этом нарушителя. Покалсем, что для этой модели нарушителя основная теорема безопасности Белла-Лападулы не выполняется. ■■_ -г r-^^^ -г, *- <7'^щ^ -> Теорема 8,2.7. Существует информационная система, для которой не выполняется аксиома тематики и криптоанализа, направленных на транзитивности при наличии нарушителя ма вскрытие секретной информации (ключа). Для тематических и вычислительных возможностей. этой модели система является безопасной, если Доказательство. Пусть в информационной сложность вскрытия секретной информации паи- системе используется алгоритм электронной лучшим (известным) алгоритмом превышает по- цифровой подписи по ГОСТ Р 34.10-2001, пре- роговую. дусматривающии использование случайного Однако методы математики и криптоанализа, а также вычислительная техника постоянно совершенствуются [1,7]. На практике считается. числа. Ключ подписи является формирования охраняемой конфиденциальной информацией Алгоритм подписи характеризуется тем, что по что нарушитель является специалистом высшей квалификации, знает все о системе и средствах защиты. Это по сути означает, что нарушитель может обучаться, и множество его возможностей может со временем расширяться. Рост возмож- вторение дважды одного и того же случайного числа приводит к вскрытию секретного ключа формирования подписи, причем случай повтора можно эффективно распознать [9]. качестве генератора случайных чисел выберем генератор снижению во ностеи нарушителя приводит к времени защитных качеств подсистемы крипто Блюма~Блюма~Шуба п. 12.4), формирую (см. щии рекуррентную псевдослучайную крипто- последовательность: графически 2 ^ стойкую Х+1 X/ (mod п) При достаточно длительной эксплуатации системы последовательность слу графической защиты информации. Это обусловливает относительность понятия безопасности: безопасная сегодня информационная система (использующая криптографические средства защиты) может не быть безопасной завтра. Поэтому необходима периодическая переаттеста- брать так, что сложность предсказания ция системы на предмет безопасности, то есть дующего числа при известном предыдущем бу чайных чисел начнет повторяться, что позволит нарушителю вскрыть секретный ключ. Параметры генератора (составное число п) можно вы- после необходимо научное (в первую очередь матема- дет сколь угодно велика, а период повторения тическое и криптоаналитическое) сопровожде окалсется небольшим. этом случае каждый не ние информационной системы в ходе всего срока реход системы из предыдущего состояния в по- ее эксплуатации, тогда как для других техниче- следующее, рассматриваемый отдельно, оказывается безопасен, но после определенного числа таких переходов система не будет безопасной. ских систем требуется не научное, а техническое сопровождение. Если разработчик старается обеспечить безопасность системы в течение всего срока эксплуатации, то нарушитель старается эту безопасность математическими и вычислительными возмож Следствие 8.2.8. Если нарушитель обладает нарушить Для того чтобы минимизировать ностями, а в системе используются криптогра ущерб от возможного взлома подсистемы безо- фические алгоритмы, основанные на вычисли пасности в ходе эксплуатации, разработчик дол- тельной сложности, то не существует криптоси жен обнаружить возмояшость взлома до того, стем, для которых аксиома транзитивности спра как ее обнаружит нарушитель, и принять соот- ведлива. ветствующие меры. Между разработчиком и на рушителем происходит непрерывное соревнова Доказательство. Практическая стойкость криптографических методов защиты информа- ние в развитии методов нарушения информаци- ции непрерывно снижается, и при неограниченно онной безопасности (в первую очередь, методов длительной эксплуатации системы стойкость криптоанализа). Как правило, на начальном эта- становится недопустимо низкой [9]. ле разработчик владеет более перспективными методами анализа данного шифра, чем наруши- даннои модели множество допустимых тель. идеале такое положение должно сохра атак является неразрешимым. Действительно,
187 симметричного шифра (например. для ГОСТ 28147 DES, 89, RIJNDAEL) на практике не ют только возможности чтения и записи. Импли кация 1 => 3 следует из основной теоремы безо возможно доказать, что не существует алгорит- пасности Белла~-Лападулы. Импликация ма вскрытия ключа, сложность которого меньше заданного уровня трудняет Это обстоятельство за формализацию процедуры оценки альны эквивалентна импликации «не 2 => не 3». Предположим, что возможности нарушителя нетриви- согласно классификации множество и безопасности системы. Отсутствие транзитив- возможностей содержит математические или ла ности автоматически ведет к тому, что основная бораторные возможности. Согласно изложенно теорема безопасности Белла-Лападулы не вы- му выше, эта импликация имеет место. полняется. При наличии нарушителя лабораторных возмойшостей безопасность зависит от про Таким образом, если в информационной сие теме используются стандартные криптографиче гоаммно-аппаратного построения средств защи- ские средства, то любое из трех высказываний ты информации. Управляющая программа не работо теоремы 8.2.9 может считаться аксиомой безопас ности, а остальные могут считаться теоремами. может контролировать безопасность — способность аппаратуры не означает, что стойкость к лабораторным методам исследований со Следствие 8.2.10. Если множество возможно- временем не снизилась (и далее что эта стойкость стей нарушителя нетривиально, а в системе ис- изначально бьша достаточной). Для этой модели пользуются стандартные алгоритмы шифрования основная теорема безопасности Белла-Лападулы и подписи, то аксиома транзитивности не выпол- также неверна. Действительно, в процессе пере- няется и основная теорема безопасности Белла хода системы из состояния в состояние возникают Лападулы неверна, сигналы, несущие информацию о секрете. Для приема таких сигналов может использоваться тех- Анализ криптографических алгоритмов и ника вьщеления сигналов из шума, позволяющая протоколов и особенностей их реализации вы принять сигнал и получить информацию о секрете. полняется на основе сложностного подхода если число повторов достаточно велико. При этом Управляет работой информационной системы в может быть одиночный переход безопасен (сигнал целом (включая криптографические средства) слабее шума), но несколько таких переходов могут управляющая программа, безопасность которой не являться безопасными. Для любого опасного обычно определяется на основе предикатного сигнала существует некоторое число п такое, что п подхода. Анализ безопасности и более повторов опасного сигнала позволяют вы компьютерных делить его из шума и вскрьп'ь секретную инфор- тафических систем часто выполняется раздельно для крипто- и некриптографических средств мацию (ключ). защиты информации, затем результаты этих двух рамках данной модели персональный ком- направлений анализа объединяются. Во втором пьютер с произвольной управляющей програм- случае анализ безопасности сводится к анализу мой не может гарантировать безопасность. безопасности управляюшей программы, а крип- На практике подсистема безопасности обычно тографические средства защиты рассматривают- использует криптографические средства защиты, ся как «черный ящик». При этом одним из ос- безопасность которых основана на вычислитель- новных инструментов анализа безопасности явной сложности некоторой математической зада- ляется основная теорема безопасности Белла чи, например, стандарты шифрования и подписи. Лападулы. Покажем, что раздельный подход не Теорема 8.2.9. Пусть в информационной сие может гарантировать безопасность. Назовем средство криптографической защиты теме используются криптографические средства, транзитивно безопасным, если оно удовлетво предусмотренные стандартами шифрования и подписи. В данном наборе высказываний любое из них влечет два остальных: . Справедлива аксиома БЛП-безопасности. . Модель нарушителя тривиальна. ряет аксиоме транзитивности Справедлива аксиома транзитивности. Доказательство Импликация следу ет из того, что в аксиоме безопасности участву 10 При использовании безусловно стойких криптографических алгоритмов (см. п. 8.3.4) теорема может быть неверна. ПЛ^^^-^ :^,K^^- .- /^' Теорема 8.2.11. Раздельные подходы к анализу безопасности корректны тогда и только тогда, когда криптографические средства являются транзитивно безопасными. Доказательство. Некорректность раздельного подхода обусловлена уязвимостью криптографических средств. Если этой уязвимости нет (криптографические средства транзитивно безопасны), то раздельный подход не приводит к по явлению уязвимостей, то есть корректен. Пред
188 положим, что раздельный подход является кор- дающего соответствующими лабораторными ректным. Тогда криптографические средства возможностями, должны удовлетворять аксиоме транзитивности. то есть быть транзитивно безопасными. Методы криптографии не зависят от вида информационной системы: неважно, реализована ли эта система на основе универсальных компь- деиствительности если модель нарушителя нетривиальна, то ни одно средство криптографи- защиты, использующее стандартные ческой ютеров или аппаратно, является ли она системой связи, управления или базой данных. Средства защиты информации часто исполь- криптографические алгоритмы не может быть зуют физические или криптографические меха транзитивно безопасным. Например, выполнение низмы. Если два варианта защиты решают одну определенного числа процедур формирования и ту же задачу, возникает вопрос: какой из них электронной цифровой подписи ведет к наруше- нарушителю труднее преодолеть? Криптографи- нию секретности ключа и обрушению безопас- ческий подход позволяет линейно упорядочить ности системы в целом. То же справедливо и для шифров (см. п. 19.6). Раздельный анализ безопасности управляющей программы и криптографических средств в способы защиты по сложности наилучших из рамках нетривиальной модели нарушителя при вестных алгоритмов взлома в рамках заданной модели нарушителя. Такое упорядочение позволяет сравнивать варианты защиты и выбирать наилучший. Физические подходы обычно этого водит к тому, что управляющая прошамма безо- ^^ допускают. 2 пасна лишь постольку, поскольку она не может управлять криптографическими средствами, в частности, не может вызывать криптографические программы и функции. Следовательно, необходимы дополнительные «управляющие программно-аппаратные средства», которые управ- Рассмотрим две ситуации. Пусть безопасная передача конфиденци ляют совместно упомянутой управляющей про там мой и криптографическими средствами. и альной информации осуществляется двумя способами: незащищенная информация передается по волоконно-оптической линии и информация, зашифрованная с открытым ключом по схеме RSA, передается по открытому каналу (см. гл. 9). Для нарушения конфиденциальности в первом возникает задача исследования безопасности случае достаточно сделать скрытно отвод от ли этих средств. Продолжение этой цепочки оче видно ведет в тупик. Возможным выходом из создавшегося поло жения является использование криптографиче ских средств ограниченной транзитивности: ре зультирующии переход а\ > сь > >а п безо пасен при безопасности всех единичных переходов тогда и только тогда, когда число шагов п не превышает порогового значения. Для продления жения не зависит от внешних трудно контроли НИИ. Эта задача может быть решена необозримым числом вариантов в зависимости от длины и места прокладки линии, ее охраняемости и множества других факторов. Поэтому гарантировать невозможность такого подключения обычно нельзя. Во втором случае для получения доступа к информации нарушитель должен разложить на множители составное число. Сложность разло- безопасной эксплуатации необходимо сменить руемых параметров и может быть гарантирована ключ или параметры криптосистемы. Это ведет к тому, что основная теорема безопасности Белла-Лападулы справедлива лишь для ограниченного числа переходов, а само понятие безопасности оказывается зависимым от успехов математики. в рамках заданной вычислительной модели. Пусть имеются два варианта построения подсистемы опознавания пользователя: по отпечаткам пальцев и по сетчатке глаза. Для какого из вариантов нарушителю сложнее обмануть контролирующую аппаратуру? Здесь однозначного ответа также быть не может. 8.2.5. Место криптографии в защите информации Теперь можно уточнить место криптографии в защите информации. Криптография имеет дело с нетривиальными моделями нарушителя, предполагающими наличие него вычислительных. математических и криптоаналитических воз Таким образом, безопасность информационной системы рамках нетривиальной модели пару шителя) можно гарантировать, если задача нару 11 Изучение способов противодействия нарушителю, обладающему лабораторртыми возможностями, можностей. Практическая реализация криптографических средств защиты информации должна обеспечивать защиту и от нарушителя, обла- ределенности («квантовая криптография»). выходит за пределы данной книги. ^^ По-видимому, исключением является передача информации одиночными квантами, где безопасность основана на квантово-механическом принципе неоп-
189 8.3.1. Криптографические примитивы шения безопасности решается алгоритмом, сложность которого настолько велика, что реализовать его практически невозможно. Изучением таких средств защиты и занимается криптофафия. Преимуществами криптофафических средств некотором алфавите, содержащем конечное число защиты информации по сравнению с другими симюлов. Указанный алфавит может быть русским являются: Информацию, подлежащую защите, будем пред ставл5пъ в виде данных— слов конечной длины в и знаками эквивалентность или сводимость угрозы к сложной: алфавитом, дополненным пробелом препинания, алфавитом из двух символов {О, 1}, математической задаче, что позволяет дока- алфавитом из 256 символов, которым кодируется затъ безопасность информационной системы клавиатура персонального компьютера и т. п. Попри условии, что указанная задача является этому данные будем называть также текстом. Криптографическая защита данных обеспечивает ряд защитных характеристик, таких как конфиденциальность, целостность, подлинность, неповторяемость и корректность данных, опознавание субъекта информационной системы и т. д. Криптографическая защита данных обеспечивается их преобразованием, которое может быть представлено функцией из множества входов в множество выходов. Эта функция может быть как обратимой, так и необратимой. Кроме того, она может зависеть от изменяемого параметра — возможность прогнозирования безопасности информационной системы; возможность сравнивания однотипных средств защиты информации, обеспечивающих защиту от одних и тех же угроз, и выбора наилучшего варианта. 8.3. Основные понятия и определения криптографической защиты данных ключа^ который обычно бывает секретным. Такая называется криптографическим при функция Криптография связана с различными облас- митивом, тями математики (алгебра, теория чисел, теория При передаче данных от отправителя к получа- вероятностей, теория сложности, вычислитель- телю возможны две ситуации: 1) знание (спюча од- ная математика и др.), с теорией связи, а также с ной (любой) стороны позволяет вычислить ключ многочисленными техническими дисциплинами, другой стороны; 2) знание ключа одной из сторон создающими фундамент для построения аппарату- не позволяет вычислить ключ другой стороны (со ры защиты данных и аппаратуры взлома шифров. Некоторые разделы науки решают похожие сложностью, не превышающей порогового уров ня). первом случае говорят, что используется задачи, например, теория корректирующего ко- симметричное преобразование данных (при этом дирования обеспечивает целостность передавае- оно может не быть обратимым). Во втором случае мых данных математическими методами. Одно говорят, что используется несимметричное преоб- из основных различий между криптографией и разование данных (хотя оно может быть обрати- теориеи кодирования заключается в том. что мым). Таким образом, понятие симметричности первая защищает от целенаправленных действии означает двунаправленную вычислимость ключа нарушителя, а вторая от случайных измене НИИ передаваемых данных. По отношению к ключу примитивы можно разделить на бесключевые, симметричные и не- Существует техника защиты передаваемых симметричные данных, основанная на их сокрытии {стегано графия\ например, акростихи или использова ние невидимых чернил последние годы мето ды стеганографии широко используются для защиты от нелегального копирования (то есть для контроля неповторяемости). Например, если ка- К бесключевым примитивам относятся: бесключевые хэш-функции для произвольно го аргумента; бесключевые хэш-функции, свободные коллизий (см. п. 15.6.7); от ждыи экземпляр программного продукта пометить индивидуальным номером, спрятанным в тексте программы, то можно соотнести владельца данного экземпляра программы с владельцем лицензионного экземпляра, который приобрел носятся; генераторы псевдослучайной последователь ности (см. пп. 12.4, 19.1); бесключевые шифры (см. п. 12. симметричным ключевым примитивам от его на законных основаниях. Иногда задачи стеганографии могут решаться с использованием криптографических средств, например, возможен скрытый канал передачи зашифрованных данных в протоколе цифровой подписи (см. п. 13. симметричные шифры (см. гл. 16, 19); ключевые хэш-функции; симметричные схемы подписи. несимметричным ключевым примитивам относятся: Ц-Л
190 шифры с открытым ключом (см. гл. 12); все хэш-функции будем считать вычислимыми в несимметричные схемы подписи (см. гл. 13); одну сторону. Нахождение хотя бы одного зна канал передачи информации со стмранием чения аргумента по заданному значению хэш нулевым разглашением (см. п. 14.4); доказательства с (см. п. 14.2). Одни и те же криптографические примитивы позволяют решать разные задачи защиты ин функции будем называть ее обращением Хэш-функция, зависящая от ключа, называется ключевой', в противном случае хэш-функция называется бесключевой. Хэш-функции используются в протоколах ау- формации Например, шифрование с открытым тецтификации (опознавания и аутентификации ключом может использоваться и для обеспечения конфиденциальности, и для опознавания. Изучением математических методов наруше ния информационной безопасности, обеспечивае мой криптографическими примитивами, занима ется раздел криптографии, называемый кргтто графическим анализом {криптоанализом). сообщения). Бесключевые хэш-функции используются также в качестве индикатора корректности данных, в частности, для проверки того, что вычисления выполнены в правильном порядке. Например, пусть выходом алгоритма доллша Способность криптографического примитива быть пара текстов А и В^ связанных друг с другом, и пусть имеются два способа вычисления этих текстов: по правилам — сначала А, потом В; и с отступлением от правил — сначала потом противостоять атакам называется стойкостью Нарушение информационной безопасности, обес печиваемой криптографическим примитивом, бу дем называть его вскрытием^ или взломом. А. По паре (А, В) невозможно узнать, каким способом она вычислялась. Превратим эту пару в тройку (С,^, В), где А ЫС) и вычислимая в одну сторону бесключевая хэш-функция, при Криптографический алгоритм {криптоачго это алгоритм, реализующий крипто чем правильной считается тройка, в которой вы полняется равенство А = ЫС) и существует тре буемая связь между А и В. Тогда указанное от ступление от правил становится невозможным ритм) — графический примитив. Под стойкостью крип- так как хотя из текста В и можно найти текст А тоалгоритма понимают стойкость соответствующего криптографического примитива. Криптографический протокол представляет собой распределенный криптографический алгоритм (то есть алгоритм, выполняемый не менее чем двумя сторонами), задаваемый последова- но по полученному значению невозможно найти аргумент С. вычислительно Коллизией называется пара аргументов М и М\ которым соответствует одно и то же значение хэш-функции: h(M) = h(M'). Если число та- тельностью действий каждой из сторон. Прото- ™^ аргументов равно г, то говорят о коллизии кол часто использует несколько криптографиче- кратности г ских примитивов. Анализ безопасности протоко ла требует как учета безопасности криптографи Допуская вольность речи. будем говорить о ческих примитивов, так и возмолшых нарушении протокола (явных и неявных). Криптосистема — это совокупность криптографических алгоритмов и протоколов и способов их использования. а также алгоритмов управления ключами, включая выработку, дос хэш-функции, свободной от коллизий^ если эта функция не имеет коллизий при заданных ограничениях на длину аргумента. Вычислимые в одну сторону функции, свободные от коллизий, могут использоваться в схемах предъявления битов (см. п. 14.1) или, более общо, предъявления связанной информации, а также в задачах опознавания. тавку, ввод в действие, вывод из действия, заме ну и уничтожение ключей. 8.3.2. Хэш-функция помощью ключевой хэш-функции может обеспечиваться имитозащита (частный случай аутентификации). Говорят, что криптоалгоритм реализует инитозащиту данных, если он обеспечивает 3 ащ иту получателя от навязывания Наиболее простым криптографическим примитивом является хэш-функция. Хэш-функцией называется функция, отображающая аргумент произвольной конечной длины в образ фиксированной длины. Вычислимой в одну сторону (oneway) хэш-функцией называется хэш-функция, для которой по данному аргументу вычислить значение функции легко, а по данному значению функции аргумент найти сложно. В дальнейшем tion code, MAC). ложной информации. Имитозащита включает в себя следующие понятия: -- - контроль целостности данных; контроль подлинности данных; контроль неповторяемости данных Ключевая хэш-функция называется также кодом аутентификатдии сообщения (message authentica
191 Иногда в понятие имитозащиты включают и Стойкость количественно должна отражать контроль того, что данные предназначены имен- трудоемкость нарушения информационной безо- но тому адресату, который их получил. пасности. Наиболее употребительной единицей Если для имитозащиты используется ключевая хэш-функция, то аргументом хэш-функции являются защищаемые данные, а значение хэш- функции передается вместе с данными. Контроль подлинности и целостности осуществляется путем срав нения вычисленного и полученного измерения стойкости является временная слож ность наилучшего известного алгоритма, пару шающего безопасность. Однако иногда исполь зуются и другие единицы измерения стойкости: длительность вычислений по вскрытию клю значений хэш-функции. Если эти значения сов падают, то при некоторых условиях можно ут верждать, что источником данных является вла делец секретного ключа и данные в ходе переда чи не были искажены. 8.3.3, Шифр Шифрование обеспечивает криптографическую защиту данных от несанкционированного доступа. Открытый текст {сообщение)— это текст, подлежащий криптофафической защите. Шифром будем называть обратимое преобразование множества текстов с целью обеспечения их конфиденциальности, как правило выполняемое с помощью ключа. Устройство (или программу), реализующее шифр, назовем гиифратором, Загиифрованный текст (шифртекст^ гиифро- грамма) — — это образ открытого текста, получен ный в результате действия шифра. Если множе ства открытых и зашифрованных текстов совпа дают, то шифр называется эндоморфным. Эндо морфный шифр реализует подстановку, дейст вующую на множестве текстов. Под шифрованием информации будем пони мать процесс перевода открытого текста в зашиф рованный (зашифрование) и обратно (расшифрование). Основная цель шифрования — обеспечить конфиденциальность открытого текста. Ключом шифрования назьгоается секретный параметр шифра, обеспечивающий конфиденциальность открытого текста при наличии соответствующего зашифрованного текста. Дешифрованием (вскрытием ключа) шифра назовем несанкционированное нарушение конфиденциальности, достигнутое методами криптоанализа. Шифрование используется при хранении данных или при их передаче по незашищенным каналам связи. 8.3.4, Понятие стойкости криптографических алгоритмов Стойкость криптоалгоритмов должна быть достаточной для того, чтобы обеспечить безопас ность данных в течение некоторого срока э опре ча (с учетом развития вычислительной модели нарушителя); требуемый объем памяти ддя вскрытия ключа; стоимость вскрытия ключа; количество энергии, необходимое для вскрытия ключа; - физический объем вычислительной модели для вскрытия ключа. Слолшостные характеристики этого алгоритма (число шагов, требуемая память, вероятность успеха) могут существенно различаться в зависимости от вида алгоритма и единиц измерения его слолшости [19]. Кроме того, понятие наилучшего алгоритма, решающего данную задачу, постоянно меняется. Часто оказывается. что безопасности сводится задача нарушения к совокупности других задач или является эквивалентной некоторым другим задачам. Длительность сохранения конфиденциально- зашифрованной информации определяется сти сово1^пностью различных факторов, в том числе: производительностью вычислительной моде ли, которой может располагать нарушитель; объемом памяти вычислительной модели; скоростью роста во времени производитель ности вычислительной модели нарушителя при ее совершенствовании; сложностью наилучшего известного (вероятностного) алгоритма, решающего задачу нарушения конфиденциальности; развитием вычислительных методов математики, которое ведет к появлению новых, более эффективных алгоритмов, решающих задачу нарушения конфиденциальности; ^ л вероятностью успешного решения задачи данным алгоритмом; возможностью получения дополнительной информации об используемом ключе, например, наличие открытых и соответствующих зашифрованных текстов, возмолшость зашифрования или расшифрования специальным образом подобранных текстов и т. п. Стойкость алгоритма аутентификации данных или источника данных характеризуется, с одной деляемого условиями эксплуатации информаци- стороны, сложностью создания данных наруши- онной системы, использующей эти алгоритмы. телем, которые будут восприняты как истинные.
192 с другой стороны, вероятностью навязывания кости криптографических алгоритмов, основан ложной информации. ных на этой задаче. Изучение доказуемо стойких криптоалгорит основу безопасности криптографических мов обычно относится к области криптографии i методов защиты данных положены те или иные открытым ключом. математические или физические задачи. Соот Безопасность предположительно стойких ветствующие криптографические алгоритмы криптоалгоритмов основана на сложности реше можно классифицировать по степени доказуемо- ния частной задачи, которая исследовалась в те сти уровня стойкости: безусловно стойкие, дока- чение небольшого зуемо стойкие и предположительно стойкие [1]. (по историческим меркам) промежутка времени небольшим числом матема Безусловно стойкие криптоалгоритмы гаран- тиков или криптографов. Взлом предположи тированно не позволяют вскрыть ключ. Приме- тельно стойкого шифра сводится с полиноми ром такого криптоалгоритма является алгоррггм альнои сложностью к задаче о выполнимости Вернама. Открытый текст х и ключ к представ- булевой формулы (см. п. 16.5.2). ляются как w-разрядные векторы над полем F2. Предположительно стойкие криптоалгоритмы Шифрование заключается в вычислении пораз- обычно допускают модификацию, то есть обла тор такой, что наилучший способ его вычисле- степени определяется тем. ния рядной суммы векторов; у == х Ф к. Ключ пред- дают свойством гибкости. Например, безопас- ставляет собой случайный по Колмогорову век- ность шифра DES (см. п. 19.3) в значительной что используемые перебор. Ключ может быть использован подстановки хорошо аппроксимируются линей- только один раз. Использование в качестве клю- ными над полем F2 булевыми функциями. Ис- ча рекуррентной последовательности, вырабо- пользование подстановок с большей нелинейно- танной с помощью известного детерминирован- стью позволило бы усилить этот шифр. Приме- ного алгоритма, недопустимо. ром усиления DES, позволяющим использовать Безопасность доказуемо стойких криптоал- существующие аппаратные решения, является горитмов определяется сложностью решения шифр DESX (см. п. 19.3). хорошо исследованных многими математиками и Предположительно стойкие криптоалгоритмы криптографами и общепризнанно сложных изучаются в рамках «классической» криптогра- массовых задач, например, задачи разложения фии (см. гл. 16-19). числа на множители или задачи вычисления индекса в конечной группе. При этом следует раз- 8.4. Шифрование личать случаи полиномиальной сводимости задачи нарушения безопасности криптосистемы к Безопасность того или иного криптографическо- данной хорошо исследованной массовой задаче го метода защиты информации иногда описывают, и полиномиальной эквивалентности этих задач, следуя К. Шеннону [13], на языке теории инфор- Примером доказуемо стойкого криптоалгорит- мащ1и. Для того чтобы передать по незащищенно- ма, взлом которого эквивалентен вычислению му каналу связи данные от отправителя к получа- квадратного корня в кольце классов вычетов по телю, используют следующую схему (рис. 8.1). модулю составного числа, является схема подписи Фиата-Шамира (см. п. 13.1.3). Примером доказуемо стойкого криптоалгоритма, взлом которого эквивалентен задаче разложения составного числа на множители, является протокол аутентификащ1и с нулевым разглашением (см. п. 14.2.2). Отличительной особенностью доказуемо стойких криптоалгоритмов является их «жест- невозмолшость модификации то есть кость», (усиления) путем незначительных изменений. Поэтому падение сложности задачи разложения приводит к соответствующему снижению стой ^^ Иногда безопасность схемы аутентификации характеризуют только вероятностью успеха. В этом случае неявно предполагается, что наилучшим алгоритмом для нарушителя является попытка навязывания случайной шиАпогоаммы. Рис, 8.J, Схема безопасной передачи данных
193 Отправитель вырабатывает сообщения (от Безопасность связи в рамках теории информа крытые тексты); при этом, при необходимости, ции можно охарактеризовать с помощью энтро для того чтобы одинаковые открытые тексты не пии, которая представляет собой количественную переходили в одинаковые зашифрованные тек- характеристику сложности преодоления защиты, сты, может использоваться рандомизатор^ кото- Шенноновская энтропия текста из п двоичных рый включает в состав открытых текстов слу- символов определяется следующим образом; чайное число. Открытые тексты зашифровываются в шифраторе с помощью ключа и передаются по незащищенному каналу связи. Нарушитель имеет доступ к этому каналу и может пытаться на основании зашифрованных текстов и частично известных открытых текстов опреде- п н л у {р, (0) log р, ф) + р, (1) log р, (1)), /-1 mepfy) — вероятность того, что /-й символ равену Шифр с секретным ключом характеризуется эн тропией ключа. Определение шенноновской эн лить неизвестный ему ключ или осуществить бесключевое чтение зашифрованных текстов. Кроме того, нарушитель может сам формировать тексты и посылать их получателю с целью навя тропии через вероятности неявно задает метод встьггия ключа, основанньш на изучении стати стических свойств множества используемых клю зывания лолсной информации. На приемной стороне данные расшифровьгоаются с помощью того же ключа (или иного ключа, связанного вычислимым способом с ключом отправителя). При необходимости случайное число, включенное в состав сообщения рандомизатором, удаляется. Решающее устройство определяет, является сообщение подлинным или оно сформировано нарушителем. В первом случае сообщение передается получателю. Эта схема отражает решение двух задач: чей и их последующем переборе. Однако перебор как метод вскрытия ключа не оправдан, если нарушитель знает открытые и соответствующие зашифрованные тексты, что часто имеет место на практике. Поэтому теоретико-информационные методы используются для описания криптоалгоритмов и анализа их безопасности сравнительно редко. При выборе того или иного способа шифрования перед разработчиком аппаратуры встает задача сравнения способов шифрования по тем или иным качествам: стойкости, удобству про- обеспечения конфиденциальности данных и обеспечения контроля их подлинности и целостности граммнои или аппаратной реализации, размеру ключа и размеру блока обрабатываемой информации, производительности, возможности моди- этом случае предполагается, что отпра- фикации способа шифрования, способу доставки витель и получатель доверяют друг другу). Если и замены ключей и т. п. а в отождествшъ отправителя с получателем, канале связи допустить неограниченно большую задержку, то схема рисунка 8.1 будет соответст- вова1Ъ хранению зашифрованных данных. Для того чтобы схема рисунка 8.1 обеспечи- 8.4.1. Симметричное и несимметричное шифрование вала Различают кчючевые и бесключевые способы конфиденциальность, необходимо, чтобы шифрования. При бесключевом шифровании (см. ключи хранились в секрете, при этом возникает пп. 12.1.1, 15.6.4) секретный ключ не нужен, но задача безопасной доставки ключей. Доставка передача зашифрованных данных требует диалога ключей должна осуществляться по защищенному между отправителем и получателем. При этом каналу связи, обеспечивающему не только кон- открытый текст шифруется с помощью случай- фиденциальнос1ъ ключей. но и защиту их от ных ключей, вырабатываемых на время сеанса и получателем независимо. Бес подмены. Действительно, однажды навязав свой отправителем ключ и отправителю, и получателю, нарушитель ключевое шифрование может использоваться, на может узнать все передаваемые данные, зашиф- пример, при дуплексной связи по радиоканалу без рованные на этом ключе, а также навязывать помех в реальном масштабе времени. Взаимное сколь угодно много ложных сообщений. опознавание участников вьшолняется «по голосу» Как правило, источник сообщений обладает или с помощью иных заранее определенных про- избыточнос1ЪЮ, и создаваемые сообщения не цедур. Однако этот способ шифрования иногда не являются случайными. Это обстоятельство мо- позволяет обеспечить имитозащиту и конфиден жет снизить безопасность шифрования и служит циальность. Действительно, если нарушитель мо предпосылкой идя частотного криптоанализа жет включаться «последовательно» в канал связи (см. п. 16.7.1). Для снижения избыточности мож- и заменять по своему усмотрению некоторые тек- но использовать кодирование источника сооб- сты, то по отношению к законному отправителю щений. Обычно требуется, чтобы зашифрован- он может вести себя как получатель, а по отноше- ные текс1Ъ1 были статистически неотличимы от нию к законному получателю— как отправитель («атака гроссмейстера»), случайных последовательностей ~ г-з-=- ■* .--'
194 Ключевые шифры подразделяются на симмет- ших сеансах выдавать себя за центр по отноше- ричные и несимметричные. Несимметричные шиф- нию к этим пользователям, посылая им перехва- ры не позволяют вс1фыть ключ расшифрования по ченные шифрограммы. При этом увеличивается известному ключу зашифрования со сложностью объем данных, шифруемых на одном ключе, и ниже расчетной (однако ключ зашифрования по снижается сложность его вскрытия. вычисляется известному ключу расшифрования легко). Поэтому ключ зашифрования можно опубликовать; при этом зашифровать сообщение может каждый, а расшифровать— только владелец сек ретного ключа. Это соответствует способу шифро вешня с открыптьч кчючом (см. гл. 12 и п. 15,6.4).^ Шенноновская энтропия сеюзетного ключа расшифрования при известном ключе зашифрования нулевая а его колмогоровская энтропия равна сложности вскрытия ключа. Поэтому для описания несимметричных шифров используется не теоретико-информационный, а сложностный подход. случае симметричного шифра понятия зашифрования и расшифрования относительны, их можно менять местами. Для несимметричного шифра это невозможно. До недавнего времени использовались исключительно симметричные способы шифрования. Это обусловлено их высокой скоростью и возможностью модификации. Однако они имеют и ряд неудобств. Рассмотрим в качестве примера сеть связи из абонентов, в которой каждый пользователь 6 10 может связаться с каждым так, чтобы никакой другой пользователь не мог подслушать разговор. Тогда требуется 0,5 - 10^" ключей. Очевидно, что это практически нереализуемо. Альтернативный вариант построить сеть связи с использованием центров распределения (сеансовых) ключей. Здесь каждый пользователь имеет единственный секретный ключ, копия ко торого хранится в центре распределения ключей. Абонент А для связи с абонентом В обращается в центр С с запросом сеансового ключа. Центр генерирует сеансовый ключ, зашифровывает его на ключах пользователей Аи В и посылает шифрограммы сеансового ключа этим пользователям. Неудобством такого способа построения сети связи является большой поток служебных сообщении в центре распределения ключей, что может вызвать очереди. Кроме того, сеть здесь строится по иерархическому признаку и, следовательно, может быть выведена из строя отключением центра или несанкционированным доступом (информационным, физическим и т. п.) к нему. Если в системе возможны повторы, то нарушитель может перехватить шифрограммы ключа для данной пары пользователей и при дальней Молшо построить ключевую сеть и децентрализованно, используя несимметричное шифрование. В этом случае каждый пользователь знает свой персональный секретный ключ расшифрования, а парный к нему открытый ключ зашифрования известен всем пользователям сети (например, записан в открытом справочнике, наподобие телефонного). Для того чтобы послать зашифрованное сообщение получателю В, отправитель А находит в справочнике открытый ключ пользователя В, зашифровывает на нем свое сообщение и посылает его получателю. Поскольку шифрование с открытым ключом вьшолняется гораздо медленнее, чем с секретным, отправитель может действовать так: выработать случайный сеансовый ключ, зашифровать на нем свое сообщение с использованием симметричного криптоалгоритма, а сам ключ зашифровать по схеме с открытым ключом. После этого обе шифрограммы (сообщения и сеансового ключа) передаются получателю. 8.4.2. Способы шифрования настоящее время обычно используются блочные шифры. Симметричный блочный шифр представляет собой функцию, задающую подстановку множества Z/2"Z, число п называется размером блока. В несимметричных шифрах взаимно однозначное отображение множества блоков открытого текста в множество блоков зашифрованного текста может не являться подстановкой, при этом может использоваться не все множество Z/2"Z, а некоторое его подмножество. симметричных шифрах размер блока обычно составляет 64 или 128 бит. При этом длина ключа может отличаться от длины блока. Например в DES длина ключа 56 бит длина блока — 64 бита. В российском стандарте шиф рования ГОСТ 28147-89 длина ключа — 256 бит длина блока — 64 бита (см. гл. 19). несимметричных шифрах размер блока обычно составляет не менее 128 бит. Это различие обусловлено тем, что симметричные шифры обычно обладают (предположительно) переборной сложностью вскрытия ключа/^ а стойкость несимметричных шифров более низкая. 16 15 Как правило, стойкость шифра зависит от объема известных нарушителю открытых и соответст- Подчеркнем, что термин «открытый текст» оз- вуюших зашифрованных текстов и от того, может ли начает данные, требующие загцрггы, тогда как откры- наруюитель задавать тый ключ защиты не требует. подобранные тексты. для шифрования специально ^ J
195 Стойкость шифра задается несколькими «ко- тельность. формируемая ординатами»— сложностью, требуемым объе мом памяти, вероятностью вскрытия ключа. а также объемом открытых и с о отв етству ющ и х симметричных зашифрованных текстов (для шифров). Для заданной вычислительной модели это позволяет определить время, в течение которого зашифрованные данные сохраняют конфиденциальность. История криптографии показывает, что задача вскрытия ключа решается «без правил», то есть для ее решения могут привлекаться не только вычислительные, но и другие средства, которыми располагает нарушитель. Иногда нарушителю могут принести пользу особенности аппаратной реализации того или иного 1фиптоалгоритма. Стойкость должна быть достаточной, чтобы обеспечить требуемый срок сохранения конфиденциальности данных даже после вывода ключа из действия (этот срок может многократно превышать срок действия ключа).^^ Поэтому ключ шифрования даже после вывода его из действия во многих случаях представляет интерес для нарушителя . Некоторые методы криптоанализа (используемые в основном для симметричных шифров, см. гл. 18) накладывают ограничения на объем данных, зашифрованных на ключе. Поэтому ключи шифрования долйшы периодически меняться. Для однозначного вскрытия ключа на основе известных открытых текстов необходимо, чтобы длина открытого текста несколько (примерно в L368 раза, см. п. 16.2.1) превышала длину ключа. Аналогом шифра является алгоритмический генератор (псевдо)случайной последовательности. Действительно, если генератор вырабатывает случайную по Колмогорову последовательность 5ь ...5^/д в алфавите из п символов, то, складывая по модулю п последовательность с открьпым текстом -Л-^ , . . ., Jv тп МОЖНО получить надежное зашифрование: уи •••^Ут- На приемной стороне нужно выработать такую же последовательность Sl ? • •? S т И найти открытый текст X I Si (mod п). Безопасность генераторов псевдослучайной последовательности основана на сложности предсказания последующих и восстановления предшествующих элементов последовательности, формируемой генератором. Кроме того, последова- 17 Примером служат не рассекреченные до сих пор материалы, с которыми в 1941 г. Р. Гесс, третье лицо в фашистской Германии, летал в Англию. генератором, должна выдерлшвать статистические тесты (это требование является более слабым, чем предыдущие). 8.5. Аутентификация При разработке примитивов аутентификации предполагается, что нарушитель может навязывать свои данные или изменять данные, передаваемые по каналу связи. процессе аутентификации участвуют по крайней мере две стороны: претендент, доказы вающий аутентичность (свою, если решается задача опознавания, или сформированных данных, если решается задача аутентификации сообщения), и верификатор, проверяющий эту аутентичность (рис. 8.2). В некоторых сложных протоко лах число участников может быть больше двух. Рис. 8.2. Обобщенная схема аутентификации t ч*. ходе аутентификации претендент передает верификатору служебную информацию р (в случае аутентификации сообщения претендент передает еще и сообщение т). Информация р зависит от секретного ключа к претендента, а в случае диалоговой аутентификации и от запроса v верификатора. Используя свой ключ А', верификатор проверяет правильность информации ». Предъявляемая претендентом информация может характеризоваться конкретным физическим воплощением, которое трудно подделать. Например, сир при оплате покупки наличными кас проводит аутентификацию проверяет 1Я Соответствующие шифртексты считаются из- имеет трудноподделываем ые физические подлинность предъявленной купюры, которая при- вестными. знаки. Для возможности аутентификации доку
196 мента, подготовленного претендентом, отпеча тайный на бумаге документ может бьггь подпи сан автором, заверен у нотариуса и т. п. В ком Пример 8.5.1. Разглашение знаний. 1. Примером полного разглашения знаний яв ляется опознавание по паролю. этом случае пьютерных системах данные лишены указанного верификатор и претендент знают конфиденци- трудноподдельгоаемого физического воплоще- альный пароль. Претендент предъявляет пароль ния. этом случае аутентификация может быть верификатору. верификатор сравнивает полу выполнена методами криптографии. 5 например примитивом цифровой подписи (см. гл. 13). Цифровая подпись основана на тех же прин ципах, что и шифрование с открытым ключом, является опознавание Ключ формирования подписи является конфи- бесключевой хэш-функции ченныи пароль со своим значением. При совпадении опознавание считается успешным. 2. Примером частичного разглашения знаний по цепочке аргументов -'^о^ х^ денциальной информацией его владельца, а ключ ^2 h(xA ..., л:„ h(x п-\ KXq\ Здесь верификатор пер- проверки подписи опубликовывается. Подписан- воначально знает х„. На первом сеансе аутенти ныи текст представляет собой ние/подпись. Вычислить подпись пару для сообще- фикации претендент предъявляет jc„_i. Верифика данного тор проверяет равенство х п Ых и-\ При его вы сообщения может только владелец ключа фор- полнении аутентификация считается успешной ? мирования подписи. Проверить правильность и верификатор заменяет х^ на х^-^. На следующем подписи для данного сообщения может любой сеансе процедура рекурсивно повторяется для х /7-2 пользователь. Задача аутентификации более многогранна ? и т. д., до тех пор, пока претендент не предъявит jco . Примером минимального разглашения зна чем задача обеспечения секретности. По опреде- ний является электронная цифровая подпись (см лению верификатор не доверяет претенденту гл. 13). (иначе проверять нечего), тогда как в задаче 4. Примером нулевого разглашения знании обеспечения конфиденциальности такого недо- является протокол опознавания на основе дока верия нет. Недоверие участников протокола ино- зательств с нулевым разглашением (см. гл. 14). гда может быть обоюдным. Это, по сути, означает возмолшость сговора верификатора с наруши телем против претендента. Случаи полного и частичного, а также мини ходе проведения сеанса аутентификации мального и нулевого разглашения знании разли чаются непринципиально. При полном разгла нарушитель может получить некоторую инфор- шении возмолша только однократная аутентифи мацию о ключе. Пусть Нк(к) и Нк(к\ {т^р, v}) кация. В случае нулевого или минимального раз соответственно колмогоровская энтропия ключа глашения возможна многократная аутентифика- претендента и колмогоровская энтропия этого же ция (максимальное число сеансов определяется ключа при наличии информации, передававшей- методами криптографии). ся по каналу связи. Определим разглашение знаний о ключе 6Я. (к) НАк) Н к {m,p,v}) Н. (к) ? Определим загцитные функции аутентификации, показывающие что, от чего и при каких условиях может быть защищено, в следующих координатах'. - по типу аутентификации: опознавание если верификатор является доверенной сторо НОИ, и ЪН. (к) НАк к') НАк f ? {т ? ? V}) НАк к') ? ау тентификация сообщения; по числу сеансов на одном ключе: один / много; по типу используемого канала связи: обяза тельная двунаправленность (диалоговая ау тентификация) / необязательная двунаправ ленность (бездиалоговая аутентификация); по доверию к верификатору: доверенный если верификатор не является доверенной сторо НОИ. Очевидно, что О < &Нк(к) < от того, какое из четырех условий - ёНк(к) недоверенныи; по качеству связи: необходимость надежного зависимости доведения информации / некритичность на делшого доведения: нали Шк(к) Шк(к) ШАк) а< по наличию службы единого времени: чие единого времени / необязательность еди ного времени; по относительному объему передаваемой выполняется, говорят о полном, частичном, ми нимальном и нулевом разглашении знании. служебной информации (отношение объема передаваемых данных к энтропии Нк{к \ к)).
197 В зависимости от особенностей проектируемой информационной системы можно вводить дополнительные координаты, которые будут учитывать, например, удобство управления ключами. Слул<5а единого времени необходима для защиты от повторов или задержек информации при бездиалоговой аутентификации. При этом в состав служебной информации вводится время от- ция выполняется при возможных искажениях сообщения, то она будет выполняться и при отсутствии искажений); необязательность единого времени з нали- правления документа, а на приемной стороне проверяется, что разность времени приема и отправления гарантированно мала. Наделшое доведение информации требуется при однократной чие единого времени (если система единого времени в информационной системе не обязательна, то ее наличие не повлияет на аутентификацию); меньший относительный объем слуясебной информации 3 больший относительный объем служебной информации (если аппаратура и каналы связи при прочих равных условиях позволяют обработать и пропустить большой объем информации, то они могут обработать и пропустить и меньший объем информации). аутентификации: если переданный текст не дойдет до получателя, то его может перехватить нарушитель с тем, чтобы затем выдать себя за претендента. Эти координаты могут накладывать ограничения на смелшые алгоритмы работы информа- Индуцированная частичная упорядоченность ционной системы, не имеющие непосредствен- защитных функций позволяет минимизировать ного отношения к аутентификации, в частности, требуемый набор защитных фунюдий. на алгоритмы управления кодом текущего вре- отличие от ключа шифрования ключ аутен- мени и алгоритмы передачи данных. Все указан- тификации представляет интерес для нарушителя последней, являются лишь в течение его срока действия. Например, ные координаты. кроме двоичными и определяют 64 защитных функции, после того как ключ проверки подписи выведен Если значение какой-либо из координат некри- из обращения, секретный ключ формирования тично, то защитная функция задается неполным подписи в некоторых случаях может быть опуб- набором координат (например, допускается как ликован. Поэтому при прочих равных условиях диалоговая, так и бездиалоговая аутентифика- стойкость криптосистемы аутентификации мо- ция). Таким образом, без учета последней коор- жет быть ниже, чем стойкость криптосистемы динаты множество защитных функций является шифрования. конечным. На введенных координатах определим отношение порядка, которое индуцирует упорядоченность защитных функций аутентификации в части их функциональных возможностей (универсальности): 8.5.1. Опознавание аутентификация сообщения з опознавание (для опознавания в схеме аутентификации на рисунке 8.2 можно положить сообщение т фиксированным); многократная аутентификация з однократ- Простейший протокол аутентификации представляет собой опознавание по паролю (см. пример 8.5.1). Этот протокол подразумевает, что претендент доверяет верификатору. Кроме того, если канал связи не является защищенным и возможна то протокол не многократная аутентификация, обеспечивает безопасность, так как нарушитель в канале связи может скопировать пароль и в даль- ная аутентификация (если молшо выполнять нейшем выдавать себя за претендента. аутентификацию много раз, то ее можно выполнить и один раз); бездиалоговая аутентификация з диалоговая двунаправленного канала связи можно ограничиться аутентификация (при наличии Если верификатор не является доверенной стороной, то он может выдавать себя за претендента в протоколах опознавания с другим верификатором или может сам формировать такой протокол и утверждать, что протокол сформирован с участием настоящего претендента. Этот протокол обеспечивает однократную бездиалоговую аутен тификацию при условии, что верификатор являет передачей информации только от претенден та к верификатору); недоверенный верификатор з доверенный верификатор (если аутентификация обеспечивается при недоверенном верификаторе, то ее можно обеспечить и при доверенном верификаторе); некритичность доведения информации з необходимость доведения (если аутентифика- аргумент этой хэш-функции. В процессе опозна ся доверенной стороной, а канал связи обеспечи вает надежное доведение информации. Более сложный протокол представляет собой опознавание по аргументу хэш-функции. В этом случае верификатор хранит значение хэш- функции, а претендент знает соответствующий
198 вания претендент предъявляет аргумент, верифи- При таком определении протоколами опознава- катор вычисляет значение хэш-функции для этого ния могут являться, например, протоколы про- аргумента и сравнивает с имеющимся. При совпа ус пешной. Если нужно, чтобы существовал единст дении значений аутентификация считается венный аргумент, позволяющий успешно пройти аутентификацию, то молшо использовать хэш функцию, свободную от коллизий (см. п. 15.6.7). случае однократного опознавания этот протокол безопасен даже тогда, когда претендент не доверяет верификатору. Однако при многократном опознавании нарушитель или могут повторно использовать переданную верификатор пре тендентом информацию. Если претендент доверяет верификатору, то для опознавания может использоваться симметричное шифрование или ключевая хэш-функция. этом случае секретный ключ известен претенденту и верификатору. Для защиты от повторов верификатор посылает претенденту случайное число. Претендент зашифровывает его или вычисляет хэш-функцию и возвращает шифртекст (или значение хэш-функции, зависящей от ключа) верификатору. Верификатор проверяет правильность шифртекста (значения хэш-функции). Здесь верификатор может сам сформировать правильный ответ и поэтому должен быть доверенной стороной. Если претендент не доверяет верификатору, то протокол многократного опознавания может строиться на основе цифровой подписи или шифрования с открытым ключом. В этом случае верификатор знает открытый ключ проверки подписи (зашифрования), а претендент — сек ретный ключ формирования подписи (расшиф рования). Для опознавания верификатор выраба тывает случайное число и посылает претенденту для подписи (или зашифровывает случайный открытый текст и посылает его для расшифрования). Претендент подписывает (расшифровывает) текст и посылает его верификатору. Верификатор проверяет правильность подписи (сравнивает полученный расшифрованный текст с исходным открытым текстом). Если запись протокола аутентификации в спорных ситуациях может предъявляться арбитру, то необходимо предусмотреть защиту от повторов. например, вставляя в исходный текст код времени ходе опознавания верификатор получает верки корректности информации, протокол пра вильности выработки составного числа (см. п. 15.6). 8.5.2. Контроль целостности и подлинности данных Задачи контроля целостности и подлинности данных предполагают возможность разбиения верификатором множества данных на два класса: удовлетворяющие и не удовлетворяющие проверочному критерию. Штя этого в сообщении должна содержаться проверочная информация. Если проводится бездиалоговая аутентификация данных по схеме шифрования с симметричным ключом, то в текст сообщения должна вводиться избыточность. Например, при передаче от1фы- тых данных отправитель по условиям протокола (значение ключевой вычисляет илтто ее пшвку хэш-функции) и передает ее вместе с данными. Получатель вычисляет эту же имитовставку и проверяет совпадение вычисленного и полученного значений. Если передаются зашифрованные данные, то можно либо ввести в открытый текст заранее известные слова, либо вычислить имитовставку. Отметим, что введение избыточности не может усилить защитные свойства в части обеспечения конфиденциальности сообщения. Бездиалоговая аутентификация данных, основанная на использовании несимметричных криптографических алгоритмов, выполняется по схеме рисунка 8.] с помощью цифровой подписи (см. гл. 13) или бездиалоговых доказательств с нулевым разглашением (см. п. 14.3). Другие задачи аутентификации данных (контроль неповторяемости, отсутствия недопустимо большой задержки момента приема относительно момента передачи, отсутствия переадресации) решаются указанными выше способами, при этом открытый текст должен содержать строку неповторяющихся данных, допускающих упорядочение (порядковый номер или время отправки), и адреса отправителя и получателя. -Ji Л4 -и -fc. 'i 8.6. Управление ключами Для обеспечения безопасности информации в один бит шенноновской информации: является информационной системе необходимы ключи. ли служебная информация р (см. рис. 8.2) пра- Кроме того, для практической реализации крип- параметры подстановок вильной, тогда как в ходе аутентификации сооб- тоалгоритмов необходимо выбрать щения верификатор получает еще и само сообщение. Поэтому под опознаванием можно пони этих алгоритмов, например. блок для симметричного шифра, стартовый вектор мать протокол, в ходе которого верификатор по- хэш-функции лучает один бит (см. шенноновской информации, кривую см. гл. 15). гл. 19) или эллиптическую _ ^т>
199 Если сеть связи достаточно велика, то воз никает задача управления ключами, включаю только коллективу из не менее чем заданного числа участников протокола, тогда как мень- щая в себя задачи выработки ключей, их дос- шее число участников не смогут создать этот тавки, распределения, ввода в действие и вы- ключ. Такие протоколы называются протоко- вода из действия. Кроме того, поскольку сим- лами (схемами) метричные шифры и ключевые хэш-функции п. 14.5). уязвимы по отношению к статистическим методам криптоанализа, которые накладывают разделения секрета (см. ограничение на объем данных, шифруемых на одном ключе (см. гл. 18), ключи нуяшо периодически заменять. к случае несимметричной схемы шифрова ния или аутентификации каналы доставки сек ретных ключей должны обеспечивать конфи денциальность и имитозащиту, а каналы дос — только имитозащи тавки открытых ключей — ту. Подмена открытого ключа при его доставке предоставит нарушителю полномочия законно- владельца соответствующего секретного го ключа. Персональные секретный и открытый ключи пользователь может создавать сам, но в выборе общего ключа, от которого в той или иной степени зависит стойкость криптоалгоритма, он не волен. Например, если в основу безопасности криптосистем ы положена задача дискретного логарифмирования в конечном поле. то смена персональных ключей при сохранении параметров криптосистемы практически не по зволяет продлить срок безопасной эксплуатации (см. гл. 10, 11). Соответственно, в сети необходимо обеспечить релшм смены общего ключа. Кроме того, пользователь должен иметь возможность убедиться, что общий открытый ключ создан правильно. Задача управления ключами при проектировании криптосистем является наиболее ответственной. Алгоритмы выработки ключей, доставки, уничтожения (стирания) должны быть согласованы по стойкости с соответствующими алго ритмами шифрования и аутентификации. На пример, если ключ для шифра ГОСТ 29147-89 устанавливается на основе протокола Диффи Хеллмана в мультипликативной группе простого конечного поля (см. п. 10.2), то размер поля должен быть несколько тьюяч бит, тогда как длина ключа шифра — 256 бит. Протоколы управления ключами должны обеспечивать высокий уровень стойкости в части конфиденциальности и аутентичности. Кроме того, если в информационной системе пользователи не доверяют друг другу, то приходится рассматривать случаи, когда один из участников протокола управления ключами нарушает уста новленныи порядок действии с целью нанесения ущерба другим участникам. некоторых случаях требуется, чтобы создание общего секретного ключа было доступно 8.7. Задачи, положенные в основу безопасности криптографических алгоритмов Задача нарушения безопасности криптографического алгоритма должна быть достаточно настоящее время для ряда массо- сложнои. вых задач выбора доказано, что не существует универсального алгоритма их решения (см. п. 1.2). Эти, а также ряд других задач выбора, для которых не существует универсального алгоритма, могут быть положены в основу криптографических протоколов, например, опознавания на основе доказательств с нулевым разглашением (см. гл. 14). Обычно в криптографии используются не не- решаемые, а более удобные труднорешаемые задачи, такие как задача выбора из класса NP- полных или из класса NP. Задача вскрытия ключа симметричного шифра (ключевой хэш функции), если нарушитель знает несколько открытых и соответствующих зашифрованных текстов, однозначно определяющих ключ, а также задача обращения хэш-функции сводятся к задаче о выполнимости (см. п. 16.5.2). Криптография с открытым ключом использует большое число математических задач, их число достигает нескольких десятков и постоянно растет. Это, например, задача разложения со ставного числа; задача решения квадратного уравнения в кольце классов вычетов по модулю составного числа; задача дискретного логарифмирования в конечном поле, на эллиптической и фуппе классов в из гиперэллиптическои кривой, числового поля; задача вычисления корня идеала числового поля и многие другие задачи. Все это множество задач молшо разделить на следующие четыре класса унифицированных ма- тематическга задач. Задача определения структуры и порядка конечной группы. К ней сводятся задача разложения составного числа, задача решения квадратного уравнения в кольце классов вычетов по модулю составного числа, задача извлечения корня из идеала числового поля, а также задача определения структуры и по-
200 рядка группы классов числового поля. 19 На таких задачах построены криптоалгоритмы RSA, Фиата-Шамира, а также протокол Диффи-Хеллмана в группе классов числово го поля. Задача нескольким задачам. Например, задача дискретного логарифмирования на эллиптической кривой сводится к задаче логарифмирования в некотором расширении исходного поля или в якобиа- над не гиперэллиптическои кривой, заданной дискретного логарифмирования в циклической группе вычислимого порядка. К ней сводятся задача вскрытия ключа стандарта цифровой подписи (см. гл. 15), задача дискретного логарифмирования на эллипти- подполем исходного поля (см. гл. 11), а задача логарифмирования на вырожденной кубической кривой— к задаче логарифмирования в исходном поле (см. п. 6.8). При этом приходится исследовать сложность всех задач, к которым сводится основная математическая задача. ческой кривой или в конечном поле. Задача об укладке ранца. На ней основан криптоалгоритм Шора-Ривеста (см. п. 12.3). Задача вычисления категорного морфизма. этому классу относится задача вычисления Кроме задач выбора в криптографии используются задачи распознавания и поиска. Задача распознавания^ как и задача выбора, допускает ответ «да» или «нет», один из которых изогении между эллиптическими кривыми, сопровождается сертификатом. Однако слож используемая в алгоритмах аутентификации ность проверки сертификата может быть сверх (см. п. 15.8.2). Первые два класса задач могут быть решены с Пример задачи распознавания: верно ли, что полиномиальной слолшостью на квантовом ком- для любых двух ключей симметричного шифра полиномиальной пьютере (см. пп. 9.3.6, 11.1.6). последовательное шифрование на этих ключах Несмотря на то, что классы унифицированных эквивалентно шифрованию на третьем ключе? задач не являются задачами выбора, они могут Сертификат должен содержать «таблицу умно- быть сведены с полиномиальной сложностью к жения» подстановок, индуцированных шифром задачам выбора. Например, для второго класса логарифм молшо определить методом деления пополам после O(logr) вопросов, допускающих также п. 17.2). Очевидно, что сложность ответ «да» или «нет», где г порядок группы Первый вопрос: верно ли. что логарифм не больше, чем г/2 ? Если ответ «да», то следующий вопрос: верно ли, что логарифм не больше. чем г /2^ И Т. Д. Параметризация классов унифицированных (см. проверки правильности этой таблицы превышает сложность перебора ключей. Задачи распознавания используются для определения применимости неуниверсальных методов криптоанализа. Задача поиска требует нахождения числового значения некоторой величины. При этом ответ сопровождается сертификатом, сложность проверки которого может быть сверхполиномиаль- задач с помощью различных математических структур (групп, категории, суммируемых множеств) дает массовые основные математические задачи. Например, параметризация задачи дискретного логарифмирования эллиптическими кривыми дает задачу логарифмирования на эллиптической кривой; параметризация ее мульти пликативнои группой конечного поля дает задачу логарифмирования в конечном поле и т. п. При исследовании сложности основных ма- тематичес1сих задач часто используется аппарат полиномиальной сводимости. Так, иногда оказывается, что исследуемая основная математиче- нои. Пример задачи поиска: найти наиболее вероятный дифференциал шифра и его вероятность (см. п. 18.2). Задачи поиска используются для определения стойкости шифра к известным методам анализа. силу того, что сложность проверки сертификата для задач распознавания и поиска может превышать полиномиальную 9 отношение поли номиальнои сводимости и О-символика здесь екая задача эквивалентна другой задаче или даже часто оказываются бесполезными. Поэтому при анализе криптоалгоритмов часто требуется нахождение точных числовых оценок слолшости задач распознавания и поиска. 19 Задача вычисления порядка и определения структуры группы классов числового поля, в том чис ле квадратичных полей, в настоящее время недостаточно изучена. Известно, что порядок группы классов для поля дискриминанта D асимптотически равен л/1^ [20].
201 ,- -"Л л 4 Упражнения к главе 8 ■* ^ Y _ * -С f I - 44 v> ■и f^^ ^ Y Что такое «защита информации»? От какого воздействия (при прочих равных условиях) легче защититься: непреднамеренного или несанкционированного? Приведите пример нарушения подлинности информации, при котором сохраняется ее целостность. [ Пусть в системе связи действует общий для всех пользователей ключ шифрования. Отправитель послал пользователю А зашифро ванное сообщение, а нарушитель переадре совал это сообщение пользователю ли это . Будет нарушением конфиденциальности. подлинности, целостности? Приведите примеры исчислений. Докаясите, что каждый детерминированный алгоритм является исчислением. Предложите модели нарушителя, отличные от приведенных в примерах. Выполняется ли для них основная теорема безопасности? * Попробуйте найти непустую модель нарушителя, отличную от тривиальной и обладающую разрешимым множеством атак. Пусть информационная система построена с использованием процессоров и/или про грамм, обладающих недокументированными возможностями. Предложите механизмы атак, основанных на активизации этих воз можностей. Как можно проверить, что недо 10 кументированных возможностей нет? Покаясите, что безопасность информационной системы можно гарантировать (в рамках определенной модели нарушителя), если ее подсистема безопасности выполняет все положенные функции и не выполняет ничего «сверх» этого. 11. Покажите, что если подсистема безопасности содержит неизвестные недокументированные функции, то максимальная модель наруши- 20 12 теля является «трудновычислимои». *Разрешимость множества атак означает, что для любой предложенной атаки существует эффективный алгоритм, распознаюпщй ее допустимость. Перечислимость множества атак означает, что существует эффективный алгоритм, вырабатывающий все допустимые атаки. Является ли множество допустимых 20 По-видимому, здесь нет четкого разграничения межлу подсистемой безопасности и той частью информационной системы, которая занимается сбором и обработкой защищаемой информации. 'rrr _--JJ ^ ^ - V^ 13 14 атак в тривиальной модели нарушителя перечислимым? Является ли это множество конечным? Покажите, что если в схеме симметричного шифрования нарушитель знает способ шифрования и ключ отправителя или получателя, то он может расшифровать все зашифрованные на данном ключе тексты. Почему невозможно такое расшифрование в несимметричном случае, если нарушитель знает зашифрованные тексты и ключ зашифрования? Пусть шифр реализует подстановку, которая каждую из 26 букв латинского алфавита заменяет буквой этого же алфавита. Покажите, что такие шифры образуют группу по композиции и, следовательно, композиция произ- 15 вольного числа таких преобразований не дает усиления по сравнению с одиночным преобразованием. Инволюцией называется подстановка сов падающая с 1 Покажите, что любая под 16 становка множества из п элементов может быть представлена как композиция конечного числа инволюций для любого п и, следовательно, любой блочный шифратор может быть реализован как композиция инволюций. Предложите способ построения детерминированного генератора, вырабатывающего псевдослучайную последовательность с длиной периода более 2^^, на основе блочного шифратора с длиной блока п бит, процессора и запоминающего устройства. Покаясите, что колмогоровская энтропия такой «случайной» последовательности произвольной длины не превосходит длины ключа шифратора. Чему равна шенноновская энтропия этой последо вательности? 17 Пусть схема имитозащищенной конфиденци 18 альной связи на основе симметричного шифрования реализована согласно рисунку 8.1. Предложите способ запщты от навязывания ранее переданной информации. Пусть схема имитозашищенной конфиденциальной связи реализована согласно рисунку 8.1 с помощью блочного шифра. Пусть сообщение состоит из т блоков. Предположим, что нарушитель знает несколько открытых и соответствующих зашифрованных блоков и правила проверки принятого сообщения Предложите способы защиты от комплектования нарушителем формально правильных сообщений из указанных т блоков. ;. . ~:
19. Предложите алгаритм, реализующий поиск 20. Предложите способ создания вычислимой в одну сторону функции на основе задачи о коллизии хэш-функции как вершины с крат ностью не менее на случайном дереве, и оцените его сложность. разрешимости диофантова уравнения над по- и способ однократного опознавания с лем помощью этой функции. Литература к главе 8 10 12 Брикелл Э., Одлйжко Э. Криптоанализ: обзор но вейших результатов // ТИИЭР. 1988. Т. 76. № . 75-94. Шеннон К. Теория связи в секретных системах / В сб.: К. Шеннон. Работы по теории информации и кибернетике. М.: ИЛ, 1963. С. 333-402. Введение в криптографию / Под общей редакцией 14. Bell D., LaPadula L. Secure Computer Systems: B.B. Ященко. МЦНМО, ЧеРо. 1998. Mathematical Foundations and Model. Technical Re- . Bedford, ГОСТ P 50992-96. Защита информации. Основные термины и определения. М.: Госстандарт РФ, 1996. Защита от НСД к информации. Термины и определения. Руководящий документ. Гостехкомиссия РФ. М.: Воениздат, 1992. Зегжда ДП., Ивашко А.М. Как построить защи- port М74~244. The MITRE Corporation MA, May 1973. 15 Blum L., Blum M., Shub M. A simple unpredictable pseudo-random number generator // SIAM Journal on Computing. 1986. Vol. 15. P. 364-383. 16. Kahn The Codebreakers. London: Sphere books щенную информационную систему / Под ред. П.Д. Зегла1ы и В.В. Платонова. СПб.: Мир и Семья, 1997. Манин Ю.И. Доказуемое и недоказуемое (Кибернетика). М.: Сов. Радио, 1979. 17 18 Ltd, 1973. Koblitz N. А Course in Number Theory and Cryptography. Springer-Verlag, 1987. Konheim A. Cryptography: A Primer. New York: J. Wiley & Sons, 1981. Месси Дж. Введение в современную криптологию 19. Menezes А., van Oorschot P., Vanstone S. Handbook // ТИИЭР. 1988. T. 76. № 5. С 24-42. Оков И.Н. Криптографические системы защиты информации. СПб.: ВУС, 2001. Ростовцев А.Г., Маховенко Е.Б. Введение в криптографию с открытым ключом. СПб.: Мир и Семья, Интерлайн, 2001. Симмонс Г. Защита информации (малый тематический выпуск) // ТИИЭР. 1988. Т. 76. № 5. С. 3 Смаллиан Р.М. Принцесса или тигр? М.: Мир^ 1985. Успенский В.А., Семенов А.Л. Теория алгорит мов: основные открытия и приложения. М.: Hay ка, 1987. 20 of Applied Cryptography. CRC Press. 1997. Shanks D. Class number, a theory of factorization. and genera // Proceedings of Symposia in Pure M athem atic s 1969 Vol. XX. New York N umber 21 Theory Institute. American Mathematical Society, 1969. P. 415-440. Schneier B. Applied Cryptography: Protocols, Algorithms, and Source Code in C, 2nd edition. New York J. Wiley & Sons, 1996. [Книга издана также на русском языке: Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. Пер. с англ. М.: Изд-во ТРИУМФ, 2002.]
г л a в a 9. СИСТЕМА RSA И ЗАДАЧА РАЗЛОЖЕНИЯ - - *,_ - - > Широко известная криптосистема с открытым Сложность решения этого уравнения оцени ключом RSA является составной частью многих вается кубическим полиномом от log2n. стандартов, в том числе ISO 9796, SWIFT Х9.31, французского стандарта ЕТЕВАС ANSI ? авст Теорема 9.1.2. Задача вычисления секретного сводится с полиномиальной слож- ралийского AS2805.6.5.3 и др. Эта система была показателя предложена в 1977 г. Р. Ривестом, Э. Шамиром и ностью к задаче вычисления функции ф(и). Л. Адельманом [16]. Доказательство. Пусть значение ф(и) из 9.1. Безопасность системы RSA и задача разложения на множители вестно. Применяя расширенный бинарный алгоритм Евклида к паре (е, ф(и)), получим два целых числа + Ь(р(п) а. 9 удовлетворяющих равенству ае + 9 причем а Ф(и), а Сложность нахождения числа d Принцип действия криптосистемы RSA за е. Тогда квадра ключается в следующем. Пусть р и два раз тичная от \og2n. личных больших простых числа и пусть п Выбирается число е. е <р(п) рд. взаимно простое Ц>(п) со т значением функции Эйлера общем случае задача дешифрования системы RSA эквивалентна задаче извлечения корня 1), и вычисляется степени е в кольце некоторых случаях пликативно обратное к е: е 1 мульти- задача извлечения корня может быть выполнена (тоаф(^)), то есть ed (mod ф(и)). Числа end называются без разложения (см. п. 9.4). Если составное число заданной длины имеет открытым и секретным показателями соответ- более двух различных простых делителей, то за ственно. Открытым ключом является пара (и, е). секретным ключом — число d. Множители ряд должны храниться в секрете. Для зашифрования сообщения т нужно выдача разложения облегчается. Это обусловлено числить шифртекст с т е (mod и), для расшиф рования возвести шифртекст в степень тем, что число различных представлении числа п в виде произведения двух (не обязательно простых) сомножителей растет экспоненциально с ростом числа различных простых делителей. Ес- т с (mod и). Аналогично реализуется цифровая подпись: подписью сообщения т является число s т ли число различных простых делителей состав ного числа п равно ровно стых к-\ , то таких представлении 1. Например, в случае четырех про- секретный ключ формирования (mod и), где подписи. Определим задачу разлоэюения на мноэюители числа п (над кольцом Z) как нахождение всех простых делителей числа п. Аналоги задачи разложения существуют для любого факториально- го кольца. делителей возможны следующие семь представлении: п aibcd) biacd) c(abd) dXabc) {ab){cd) - iac)(bd) - {ad)(bc). Задача разложения в этом случае решается рекурсивно: число п раскладывается на два множителя и для каждого из них решается задача Лемма 9.1.1. Задача разложения числа п рд разложения. Поскольку размер множителей и задача вычисления функции Эйлера ф(и) поли номиально эквивалентны. меньше, чем размер первоначального числа, то для них задача разложения является более про- Доказательство. Если известно разложение 1)(? вычис числа и, то значение ф(и) лимо с не более чем квадратичной сложностью. Если известны значения п и ф(и), то делители р и числа п являются целочисленными корнями квадратного уравнения стой, чем первоначальная. Сложность задачи разложения по отношению к ряду методов, в частности, на эллиптических кривых (см. п. 9.3.5), определяется размером минимального простого делителя. Чем больше чис- X 2 ф(и)+ 1)х + и ло простых делителей, тем меньше размер ми нимального из них, а значит, тем проще выпол няется разложение. Поэтому сложность разложе
204 ния составного числа обычно оценивается для стов, то есть затрагивает смежную аппаратуру. случая, когда это число содержит два различных Это обстоятельство нужно учитывать при разра простых делителя. Если в системе RSA ботке систем защиты информации с использова двух пользователей нием задачи разложения. общее составное число и, но различные откры тые ей ei и секретные Ji, di х^ючи, причем e\d Создание квантового компьютера позволит 1 решить задачу разложения с полиномиальной end 2 (mod ф(и)). то каждый пользователь слояшостью [3, 5, 7]. может найти разложение числа п и тем самым узнать секретный ключ другого пользователя. Различают детерминированные и вероятност- Для этого достаточно найти значение квадратно- ные методы разложения. На практике их часто го корня из единицы, отличное от ±1. Если (mod и), 1Ф±\^ (mod и), и f + то комбинируют, например, методом пробного де it + 1 \t имеют нетривиальные об- границы ления находят делители, меньшие некоторой ; затем методом эллиптических кри- 1 щие делители с п. Разложение можно выполнить вых находят делители, меньшие некоторой гра по аналогии с псевдопростым тестом Миллера- ницы Рабина следующим алгоритмом 2 Ъ\\\\ наконец, методом решета число вого поля находят разложение оставшейся части. Алгоритм 9.1.1. Разложение составного числа на множители по известным показателям RSA. Вход. Число п. показатели е. такие. что ed (mod ф(и)). Выход. Делители pviq числа п Метод. ed 1. Представить 7V в виде нечетное число Положить 7V 7V^2-'5, где5 Выбрать случайное а и вычислить (mod w). а S Вычислять 2 о 2 2 2^2 (mod и). 2 1 (/ f (mod п\ (mod и), ... до получения т такого. что 2 т (mod ri). Если 2 т-\ (mod п\ то вернуться на шаг иначе положить 2 т-\ (mod ri). Положить » <г~ НОД(Г + 1, и), g нод(г \.пЛ Результат: (/?, q). Задача разложения нечетного числа п эквивалентна некоторым другим задачам, например: задаче вычисления всех квадратных корней х^ заданного числа а (решить квадратное из уравнение х ~ а)ъ кольце Ж1пЖ\ задаче поиска эллиптической кривой над такой, что разложение для числа точек этой кривой известно. Первая из этих задач позволяет найти делители' числа п как НОД(л:/ + Хр п% где х^ Ф ±х,. Вторая задача позволяет найти делители числа п мето дом эллиптических кривых. 9.2. Детерминированные методы разложения Детерминированные методы позволяют гаран тированно найти разложение составного числа. Сложность задачи разложения быстро падает. Это обусловлено как развитием вычислительной техники, так и созданием новых методов разложения. Сложность п (c;v) 0(ехр(с(1п и)Х1п In ri) 1 следовательно, стойкость разложения числа п RSA) падает значительно быстрее, чем стойкость симметричных криптоалгоритмов. Практически десятич- стойкость RSA падает со скоростью ных порядка в год. Это выражается в уменьше НИИ коэффициентов с, v. Коэффициент с снизил ся с 4 до 1 + о{\) при V = 0,5. Если в 1995 г. безо пасным считалось составное число п длины 512 бит, в 2000 г. безопасным считалось число п длины 1000 бит [14], то в 2003 г. — число п длины 2000 бит. Таким образом, безопасная длина характеристики кольца удваивается примерно через пять лет. Увеличение длины числа п приводит к изменению форматов передаваемых тек- 9.2Л. Метод пробного деления Это самый очевидный метод разложения, известный любому школьнику. Пусть уже установлено, что нечетное число п составное (это можно сделать, например, с помощью тестов Миллера-Рабина или Соловэя Штрассена [14]). Перебираем простые нечетные числа 3, 5, 7,... и пробуем разделить п на каждое из них. Небольшие простые числа можно хранить в базе ния данньк. Вариант метода пробного деле - вместо нескольких простых чисел хра нить их произведение. Тогда нужно вычислить алгоритмом Евклида наибольший общий делитель D числа п и этого произведения из базы 1 Число делителей, являющихся степенями про стЕдх чисел, равно половине числа корней.
205 данных и поделить п на Z), повторяя рекурсивно Число S имеет нетривиальный общий дели « эту процедуру до тех пор, пока не получится тель со значением ф(и). Алгоритм следует повто ^ "^ ^ • рить несколько раз на тот случай, если а не явля «Малость» простых делителей определяется как функция от размера числа п (или определяется объемом памяти компьютера). Перебрав все простые числа, меньшие разложение числа п. л/й. ется образующей группы (Ж/пЖ). Алгоритм 9.2.1 с учетом сортировки имеет слояшость 0(Уп log и) по времени и по памяти. мы найдем полное наихудшем случае, то есть когда п представляет собой произведение двух простых чисел примерно одинакового размера, для этого потребуется примерно vw деле- НИИ. в общем случае, если делители, получаемые на каждом шаге, проверяются на простоту, то полное разложение числа п методом пробного деления требует 0(р + log п) операций деления, где р — второй по величине делитель числа п 9.2.3. Метод Ферма Дяя любого положительного нечетного числа п существует взаимно однозначное соответствие между множеством делителей числа и, больших чем 4п , {5, t} таких, что и множеством пар неотрицательных чисел п S 2 а именно, если п pq^ где >q, то s^ip-^gyij (Р я)П (обратно. (см. [14]). если и S 2 2 (S + t)(S ? тор s-^Uq s Если числа/» и q близки друг к другу (что ха 9.2.2. Метод «giant step — baby step» рактерно для системы KSA), то число t мало, а значит, S немного больше, чем sjn . этом слу Метод основан на лемме 9.1.1 и вычисляет чае можно найти р li q, последовательно переби порядок случайного элемента а в группе (Ж/пЖ) . рая числа s [л/^]+1,Ш+2,... до тех пор, пока Сначала методом пробного деления нужно про 2 верить. что п не имеет простых делителей. меньших а П , Ф) п где + а 0,5. силу равенства справедлива оценка не получится sтакое, что разность s ~п является полным квадратом, то есть равна t^. Отметим, что метод работает, если число п не является полным квадратом. п п а и' ^ +1 <ф(п)<л 2-Уй + 1. а Алгоритм имеет минимальную сложность при Пример 9.2.1. Разложение методом Ферма. Пусть и = 20701. Перебираем последователь но значения s. А. 3 + 1 Алгоритм 9.2.1. Метод «giant step baby step». Вход Число п 20736 k/^J + 2 143 + 144. Но 144 2 20701 20701 35. 145. Имеем 145 2 20701 21025 рд, случайный элемент а из кол ьца Z/wZ. 20701 324 181 В ыход. Порядок S элемента а в группе Таким образом. S 145, 18. Отсюда (Ж/пЖ) . Метод 5 + Г 163,9 S 127. ■-- -^ Проверить методом пробного деления, что п не имеет простых делителей, меньших п^^^. Найти а'^ (mod п) расширенным алгоритмом Евклида; вычислить т Положить b Вычислить d сГ т-т^-^\ (mod п). Если числа/» и g не близки друг к другу, то метод Ферма потребует слишком большого числа шагов для подбора s. В этом случае можно воспользоваться обобщением метода Ферма, а именно, выбрать маленькое число к и последовательно вычислять S [-N/bJ+l,[-N/bJ+2,..., пока не по а т (mod и). Построить базу данных: для / 1, ..., т лучится число S такое, что разность s 2 кп являет- . Отсюда вычислить bd' (mod п). Пары (bd\ i) отсорти ровать по первой «координате» Начиная с / , вычислять а ^ (mod п) и срав нивать с базой данных. При получении равен ся полным квадратом, то есть равна {s + t){s ~t)~kn и, значит, числа 5 + f и и имеют нетривиальный общий делитель. Метод Ферма имеет экспоненциальную (от log и) сложность. ства 2 bd I а -/ (mod и) положить s п т т + 1 + /ш +7 Результат: 5. Пример 9.2.2. Разложение обобщенным ме то дом Ферма. Пусть и - 39497. . . . -,^ .
206 Если попытаться разложить это число преды- векторы, близкие к вектору «-^ --^j дуидим методом, то лишь на 21-м шаге получим S Ш + 21 198 + 21 =219, откуда 2 219 2 39497 S 8464, 127. Если же выбрать 92 далее: s + t 311, то уже со второй по пытки получим кп 3•39497 + 2 3-39497 346 2 39497 35 2 Находим s + t 346 + 35 381 Тогда НОД(3 81,39497) 127. п (О,О,...,О, rf\nn) ч /■раз Алгоритм 9.2.2. Разложение фантовой аппроксимации. Вход. Число и. числа а и с > методом дио Выход. Нетривиальный делитель а числа п Мето Выбрать , = (In nf. Положить базу разложения Ръ о п, положить 1 ми строкам матрицы 5 *5 Гг> где 5 /■ равны Еще более эффективный метод получается при дальнейшем обобщении метода Ферма {схема Крайчика [12]): если для целого положительного числа п найти такую пару чисел {s, t), для ^ (mod и). которой имеет место сравнение s где 5 ^ ±f (mod п\ то числа НОД(5 + Г, и НОД(5 - ?, п) будут делителями числа п. TT__v._^ _2 j.2/'___ ] ..\ _ Действительно, если s 2 делит произведение S 2 (mod п\ то число п {$ + t){s + t\ но. в силу того, что s-=^±t (mod и), не делит ни один из сомножителей. Тогда один делитель числа п НОД(5 +1, п)) должен делить нацело число 5 + f, а другой делитель (а п /р) число S Пример 9.2.3. Схема Крайчика. Пусть п 4321. Находим 147 2 2 (mod 4321), тогда НОД(147+ 2, 4321) 149 и НОД(147 2, 4321) - 29, то есть 4321 - 29 • 149. In 2 1пЗ п Чп2 п ЧпЗ п с In 5 In А п с In Л Векторы d/ образуют решетку L. Найти на решетке L не менее г + 2 нетриви г альных векторов г I Z «у** ■ J таких. что ./-о щ и для и I Пр?^ V I а,>^ а IJ J абсо лютная величина ш vm раскладывается на множители из базы разложения. Найти представление 9.2.4. Метод диофантовой аппроксимации щ vn г Цр .1 / о Этот метод разложения, основанный на нахождении кратчайших векторов решетки, был предложен К. Шнорром [17]. Назовем число и гладким относительно базы D {/?],...,»,.}, 2 где I малые простые числа. если и раскладывается на простые множители из базы D. Если допускаются отрицательные числа г/, то в базу D включают еще/»о Для получения разности s (mod п) используется произведение чисел и и u~vn, где к взаимно простые гладкие числа. Параметра- 5 V ми метода являются числа а и с Число Ро и наименьшие простые числа »], ..,» fb где» . ^ (In и)^, образуют базу разложения. Вещественные логарифмы чисел pt по произвольному (например, натуральному) основанию образуют базис решетки. В ходе работы алгоритма ищутся 2 Число и называют также /)-гладким. Положить а / \a,Q, —, ail). I (b,o,..., bi,) для a,j, bip найденных на предьщущем шаге. Найти непустое множество линейно зависи г+2 мых над 2 векторов вида У!<^Да^ +Ь / где 1=\ с, е р2. Положить г+2 /■ S \\pi J^c^{o,j+h^)/2 \ (mod п). 1=0 Г Up-. г+2 --- \' ^'Z ! (mod п) 1=0 При s^±t (mod п) положить q <~ НОД(5 ± f, п) Результат: д. Поиск векторов ж, можно выполнять с использованием алгоритма Ленстры-Ленстры-Ловаша (LLL)[11].
207 Метод диофантовой аппроксимации в на стоящее время непрактичен. Его сложность превышает сложность методов решета (см. пп. 9.3.3, 10.2.2). 9.3. Вероятностные методы разложения Вероятностные методы используют генератор случайных чисел и не гарантируют решение задачи разложения. Некоторые приведенные ниже алгоритмы разложения имеют субэкспоненциалъную сложность Z^(c; v) (9(exp(c(ln иУ(1п In п) l-v Работа таких алгоритмов основ£(на на «просеивании» целозначных функций числа п, имеющих только гарантированно малые простые делители. Такие методы относятся к методам решета. Вьгоод субэкспоненциальной оценки сложности для методов решета см. в п. 10.1. Если п, то результат: а. При п ре зультат: нет ответа; при шаг 2. вернуться на Пример 9.3.1. Разложение методом Пол ларда. Пусть п 221. Работа алгоритма для Xq ? Ах) П X иллюстрируется следующей таблицей: Таким образом. 13 является нетривиаль ным делителем числа 221 (221 13 17). 9.3.1. р-метод Пол ларда (метод «Монте-Карло») Пусть / Ж1пЖ -^ Ж/пЖ — произвольное ото- браясение, заданное алгебраической функцией и сжимающими свойствами, напри х'+] (mod и). Основная идея метода обладающее мер, fix) состоит в следующем: выбираем случайный элемент JCo е Ж/пЖ и строим последовательность xq, Jv] ^ ^2? • •" шением определяемую рекуррентным соотно Xi+l fix,) (mod п), i Множество конечно, поэтому последо Примечания [14]. предположении, что функция У(л^) х^+\ (moaq) ведет себя как случайная, алгоритм 9.3.1 требует для нахождения делителя числа п по рядка 0{Jq) МОДУЛЬНЫХ умножений. Следова тельно, для нахождения нетривиального делите ля числа п требуется оЫ^) модульных умно лсении. случае п следует выбрать другой по липом fix) с целыми коэффициентами это может быть, скаясем, fix) = л: + с 9.3.1 ку а дет обладать сжимающими свойствами 2 примере где (При с При с получим неподвижную точ отобраясениеХх) не бу — с пер вательность Х; зацикливается. Она состоит из вого шага входим в цикл.) ■* _ -'Ъ?л -J- -_ ^ fc.^ Йг ^ у.' *> М^ J* *■■ «хвоста» длины примерно Jtiw/S и цикла асимп тотически той же длины. 9.3.2. Метод непрерывных дробей Алгоритм работает так: начиная с / ,рекур сивно вычисляется /5 xii) из / b^2i-2h пока не будет найдено т такое. Значение что ЯОШх т ^Ът Непрерывной, или цепной, дробью называется выраясение вида и будет делителем числа п. Случай g = и имеет место с пренебрежимо малой вероятностью «0 + а 4- ^0' 5 5 5 5 а «2 а и Алгоритм 9.3.1. Разложение р-методом Пол «2 + ларда «3+ •• Число и, начальное значение Xq, функ Вход. ция/ обладающая сжимающими свойствами. Выход. Нетривиальный делитель д числа п Метод. Положить а Элементами «о? ^ь (^"- 1, 2,...) непрерывной дроби могут быть вещественные или комплексные числа, а также функции одной или несколько, й Xq. ких переменных. Дроби а а о о 9 9 -) Вычислить а <r~fia) (mod и). fib) (mod и). а I <~J{b) (mod п). Найти д <- НОД(а Ь,п) называются звеньями непрерывной дроби. Будем предполагать, что а, ^ 0.
208 Непрерывная дробь. содержащая конечное Алгоритм 9.3.2. Разложение методом непре число звеньев (например, и, не считая нулевого), рывных дробей. Вход. Число п. называется конечной и отождествляется с соответствующей обыкновенной дробью, полученной в результате выполнения указанных действии Непрерывная дробь, имеющая бесконечное чис ло звеньев, называется бесконечной. Отрезок Выход. Нетривиальный делитель а числа п Мето Положить 1 о Ы а о и~л X О Jn а о / оп; 5 ,..., / а, «2 а, . I непрерывной дробью. дроби называют 1,2, .., п 5 1-й подходящей Приведем некоторые свойства непрерывных дробей [2]. . Закон составления подходящга дробей. Чис- 2 Вычислить Pq (тоаи) Для ВИЯ 3.1. 3.2. 3.3. 1, 2, ... выполнить следующие дейст Положить а к X к-\ Положить Рь- OkP к'\ I ч + р к-2 -1К (mod п). а к Найти 2 абсолютно наименьший вычет г (mod и) и разложить его на множи тели. Составить базу разлолсения D = {р^,ръ ••;Рг}, лители J и знаменатели последовательных подходящих дробей /-2 1~\ I е, ? 2 ? связаны /-1 / Ро из тех простых чисел /5 которые встречаются в разложении хотя бы в двух и (mod и) или в четной степени хотя бы в рекуррентными соотношениями I аР 1-\ + + Р I aQr^i + Ог^ъ причем 1 hO 1 о «0,6 о Если все элементы непрерывной дроби положительны, то ее подходящие дроби с четными номерами образуют монотонно возрастающую последовательность, а подходящие дроби с нечетными номерами— монотонно убывающую последовательность. При этом каждая «четная» подходящая дробь меньше любой «нечетной». Число, выражаемое непрерывной дробью, содержится между двумя соседними подходящими дробями. Для двух последовательных подходящих дробей /"] I 5 /- справедливо соотношение / /-1 / т 1-\ ±1. Каждое положительное число х можно разложить в непрерывную дробь с натуральными элементами^ причем это разложение единственно. Полученная непрерывная дробь конечна, если число х рациональное, и бесконечна, если число X иррациональное. Пусть п — положительное целое число, не являющееся полным квадратом. и ( подходящие дроби к числу Jn Тогда для абсолютно наименьшего вычета 2 I (mod и) справедлива оценка [10] одном PhmoAn) ш\як X ^ а а а ш 2 Для каждого числа Р^ (modи), являющегося гладким. то есть представимого в виде произведения степеней чисел р, из базы Z): г Р? (mod и) (k) 5 \ - составить вектор е (к) (к) О ,...,с (к) г Если можно, найти множество К {к\ Г ? е кеК е (k) 0} 3 линейно зависимых (к) над р2 векторов е- \ В противном случае проделать шаг 3 еще для одного к, увеличивая по необходимости базу разложения. Положить S П Р, (mod п); Г 1\р У/ ; ■ J (mod и). к&К /=1 -г г> где J е {к) J .V кеК >. -V » -ъ Вычислить q <г- НОД(5 ±Un). *^ ^ ' — При q^n результат: q. В противном случае вернуться на шаг о и найти другое множество К. Если это невозможно, то проделать шаг еще для одного А:, увеличивая по необходимости базу разложения. '5 -1=а.1 Р^(тоАп)\ < 2л/й. 3 Символом о обозначен нулевой вектор.
im Временная сложность алгоритма 9.3.2 равна 0(ехр(2л/1 ппХпХпп)). Объем базы разложения равен 0(ехр(— v In и In In и )) . Пример 9.3-2- Разложение методом непре рывных дробей Пусть п 493. Выполняя шаги ляем таблицу: алгоритма 9.3.2, состав На шаге D {po^PuPi} Числа составляем 1,2,3}. базу разложения: 2 Рп{тоап% P.^(modn) 2 Тогда е (0) {1,0,2},е (2) И/Г Полагаем S РпР 0^ 2 {1,2, (mod и) = 22 ■ 111 1)-гладкие. {0,2}. 470 У2 (mod 493), / = р{^ ^2 (тоап), где ./ 1,2. Р^Р2 Значит, Наконец, НОД(476, 493) 2- 6 (mod 493). находи м 17. НОД(5 +1, п) Метод непрерывных дробей был лучшим ал горитмом разложения с середины 1970-х до на чала 1980-х гг., когда появились методы эллип тических кривых, квадратичного решета и реше та числового поля [12, 13, 15]. 9-3.3- Метод квадратичного решета Этот метод, как и предыдущий, относится к методам базы разложения. В ходе вычислений находятся вспомогательные числа, которые раскладываются на простые множители из базы разложения. стое число, для которого п является квадра тичным вычетом, то есть выполняется равен ство для символов Лежандра п I Найти г + 2 чисел Sk следующим образом. 2.1. Положить к 2.2. Положить ш 2 '\-Х п, где зна 2.3. чения X выбираются в следующем по рядке: О, ±1, ±2, .... Методом пробного деления на элемен ты базы D проверить, является ли чис ло у /)-гладким, то есть / Па' (А) /-0 2.4. Если это не так, то вернуться на шаг 2.2 и выбрать новое х. Положить S к щ + x, е (^) (А) о (А) , ■■-,4 / - 2.5. Положить 2.2. к + и вернуться на шаг Найти непустое множество К {к\ 0<А:<г + К ее {к) кеК О } линейно зависимых над р2 векторов е (к) -^1: _: .<. Положить г S sJmodn); Up J J (mod n), kGK 7=1 где у J e ik) J Are л: * . w^r. V -^ r~. Вычислить q <r- НОД(5 ± /, n). При a ^n результат: a. В противном случае вернуться на шаг j и найти другое множест во К. Если это невозможно, то заменить не которые числа Sk- Оптимальное значение объема базы разложения алгоритма 9.3.3 равно О(ехр(0,5л/1 пи In In и)) Время работы 0(ехр(л/1пи1п In и )) . Алгоритм 9.3-3- Разложение методом квадра тичного решета. Вход. Число п. Выход. Нетривиальный делитель q числа п. Метод. Построить базу Ръ ---,Ы. где каждое р^. разложения < /■ < г. D /-е про- Пример 9.3.3. Разложение методом квадра тичного решета. Пусть и = 81089. Строим базу разложения: Л 2, 5, 7, 19} (числа 3, 11, 13 пропускаем, так как соот ветствующие символы Лежандра равны Таким образом, г 1).
210 множество К. Например, К Составляем {1,2,3,6}. Полагаем s = 515253^6 (mod и) = 3728 (mod п). Вычисляем У] Тогда t Отсюда ■5 2 7,У2 ■Т- 17 2, Уз 2 1 ■19 о 75 0,У4 32821 (mod и). НОД(5 + ип) = НОД(36549, 81089) 131. Обобщением метода квадратичного решета (см. является метод решета числового поля п. 10.2.2) со сложностью Z/,(l,923; V3). 9.3.4. (р метод Предположим. что простои делитель со ставного числа п обладает таким свойством, что число р Пусть степеней является 1)-гладким. — наименьшее общее кратное простых чисел z ^ D таких, что z <п. всех Тогда / Inz < In и, то есть / < In и In . Таким образом. Z Inz D Число делится на для любого а такого, что лива малая теорема Ферма: довательно, если nomd^ и, следовательно, 1, справед- (modp). Сле- 1, п\ то Ъ делится на ». Случай п имеет место с пренебрежимо малой вероятностью Алгоритм 9 J.4. Разложение {р Вход. Число п. методом 4 Если выполняется сравнение аи^ + Ь^0 (modп) где CL Z/, S — малые по абсолютной величине числа, то можно использовать специальное решето числового поля, при этом сложность разложения снижается на 30% по порядку величины по сравнению с общепринятой оценкой для «случайного» правильно выбранного составного числа п. Для доказательства того, что разложение данного числа априори неизвестно, часто выбирают число п указанного выше вида. Выход. Нетривиальный делитель/»числа п. Мето Выбрать базу разложения D. Выбрать случайное целое а, 2<а<п и вычислить НОД(а, п). Если й > 2, то по пожить р Для И результат;/7. всех простых чисел Z е Z) выполнить следующие действия. Вычислить In и Inz 3.2. / Положить а^^ ct (mod п). Положить Ъ <г- НОД((7 При 1л). п результат: нет ответа. В противном случае положить» и результат;/7. методом. Пример 9.3.4* Разложение {р Пусть и = 23347. Составляем базу разложения: Z) = {2, 3}. Вы вычисляем НОД(а, п) бираем а НОД(2, 23347) и Для Z ем: I 9, а имеем: 5921. 14, а 16; для Z име Находим НОД(а hn) НОД(5920,23347) 37. Таким образом, 23347 Заметим, Р- что 2- 2 36 37-631. 2 9 а ■5-7, то есть является 1)-гладким числом, а q нет Временная сложность алгоритма 9.3.4 равна 0(exp(cv In и In In и )), емкостная сложность равна 0(\о^п). Для увеличения сложности задачи разложения по отношению к этому алгоритму достаточно выбрать числа р^ q так, чтобы числа и g ~ 1 имели большие простые делители. Обобщением (z?--1)-метода является метод разложения на эллиптической кривой. 9.3.5. Разложение на эллиптической кривой Метод разложения на эллиптической кривой был предложен X. Ленстрой [13]. основе метода лежит устанавливаемый китайской теоремой об остатках изоморфизм групп Е(Ж1пЖ) Е(^р) © ДР я (9.3.1) r^Qn=pqHp^q. Умножение любого элемента группы Е(Ж/пЖ) иат е Ж сохраняет этот изоморфизм: тЕ(Ж1пЖ) тЕ(¥р) © тЕ(¥ я Выралсения для углового коэффициента в 2''^ + i например, п кордов» разложения Этим объясняются успехи «ре- формулах (6.12.1), (6.12.2) сложения и удвоения точек различаются, и может получиться так, что
211 по модулю точки различны, а по модулю кой кривой можно без извлечения квадратного одинаковы. В этом случае использование форму- корня [6], лы для сложения точек даст неправильный ре зультат, и сумма может не лежать на исходной кривой 5 Алгоритм 9.3.5. Разложение на эллиптиче Такая ситуация легко распознается вы- ской кривой числением значения НОД(и, 1 где 1 знаменатель в формулах (6.12.1), (6.12.2) для уг лового коэффициента или НОД(и, Z), если точки заданы в проективных координатах (Z, 7, Z). Если число а отлично от 1 и и, то оно является нетривиальным делителем числа п задача нахождения делителя числа п решена. и Указанная ситуация означает, что одним из компонентов разложения точки эллиптической кривой Е(Ж1пЖ) в прямую сумму является бесконечно удаленная точка, которая при дальнейшем умножении на любое число остается неподвилшой. Пусть ЕШпЖ) эллиптическая кривая и — точка на этой кривой (нахождение точки требует вычисления квадратного корня, поэтому можно сначала выбрать точку, а потом уравнение кривой). Пусть D — база разложения, содержащая простые числа А, меньшие заданной грани цы т. Найдем целочисленное произведение Х\р а / всех элементов базы Д где р г D а I 0,5 log и log/?, Эвристически оптимальный и размер In и базы D связан с вероятностью и , где и \\\т , т по рядковый номер наибольшего элемента базы D. Асимптотическая сложность алгоритма равна 0(ехр((1+о(1))л/ши1п1пи)), если наименьший из простых делителей числа п имеет порядок o(V^). Практически для ускорения вычислений можно использовать эллиптические кривые, которые при рассмотрении их над числовым полем имеют большую группу кручения. Это, например, кривая с уравнением 2 Z + (l c)XYZ bYZ 2 X 3 bX 2 для которой точка ния максимального кривой равен + 36(1 ^'' с)К + 16й 5 является точкой круче порядка. Дискриминант этой lib 4 8(1 Выбрать точку на та + Вход. Число и, размер т базы D. Выход. Нетривиальный делитель d числа п. М етод. Выбрать случайную эллиптическую кривую Е{Ж/пЖ) и точку Q на ней Положить / _-* -rf >b-J^ i» -.- -i-' При i > m вернуться на шаг 1; в противном случае найти г-е простое число л / Положить / г + а I 0,5 log/г J При j > а, перейти на шаг противном случае выполнить следующие действия. 5.1. Положить / жении точек вычислять PiQi- При каждом ело НОД(^2, X, При <d<n результат: d. 5.2. Если ПололштьУ + и вернуться на шаг 5. нетривиальный делитель числа п не найден, то вернуться на шаг ком длинный показатель Этот алгоритм не требует создания базы данных, так как нет необходимости вычислять цели- , достаточно просто находить очередной элемент базы разложения D и умножать на него текущую точку. Поэтому здесь возможно неограниченное распараллеливание с помогцью невзаимодействующих компьютеров, каждый из которых работает со своим семейством эллиптических кривых. Однако разложение при этом ускоряется незначительно. Пример 9.3-5, Разложение на эллиптической кривой. Найдем делитель числа п = 661643. Выбираем 2 3 . о^^-. X — x + 3231 и точку на ней. Умножаем точку последова эллиптическую кривую у (87, тельно на ,3^ , 7', 11 и т. д., вычисляя паи больший общий делитель знаменателя углового коэффициента и числа п. Пол учае м: :у v-* - * ** 2 9 (196083, 134895) 3 6 (470021,282574) 5 4 3 (546729, 237268) 5 Иногда это свойство ошибочно трактуют как то, что точки эллиптической кривой над кольцом Ж/гтЖ не образуют фуппу. По китайской теореме об остатках множество точек кривой Е{Ж/у)Ж) изоморфно прямой сумме групп и, следовательно, является группой. 3 5 (419723,447921) При первом умножении точки Q-j на 11 полу чаем знаменатель углового коэффициента, рав ныи есть и 90347 541 Находим НОД(и, 90347) 1223. 541 5 ТО
212 Среди составных чисел одинаковой длины [3, 5]. Задача разложения числа п решается вы быстрее раскладываются те, которые имеют про- числением порядка элемента в циклической под стой делитель меньшего размера. группе группы {Ж1пЖ) . Вид используемой груп Разложение облегчается, если хотя бы одна из пы не принципиален, поэтому приведенный ни обладает гладким числом же алгоритм может бьггь использован для опре точек (то есть если все простые делители числа деления структуры и порядка произвольной ко проекций Е(¥р), Е(¥ я точек кривой гарантированно малы). Для неко- печной абелевой группы, например, группы торых (например, супервьфожденных) эллипти- классов числового поля. ческих кривых число точек над конечным полем Суть квантового метода разложения заключа- определяется просто [18]. В частности, если п ется в нахождении порядка элемента (mod А\ то выполняются сравнения /? = 3 (mod 4) (mod 4) и существует эллиптическая а или (Ж1пЖ) * ? а^±1^ являющегося квадратичным кривая видаj^ ^х +Ах (mod п) такая, что одна из невычетом по модулю п (для этого достаточно. проекции при произвольном ненулевом Л имеет чтобы выполнялось равенство а число точек п (mod 6) (mod 6) или + или q+ \. Аналогично, если этом п 3 случае с помощью обычного компьютера можно то выполняются сравнения (mod 6) и существует эллипти- найти разложение числа п. ческая кривая вида X + В (mod и) такая, что основу вычислений положено свойство об одна из проекции при произвольном ненулевом ратимости каждого отображения 3 следова В имеет число точек р+1 или о + Такой метод тельно, композиции отображений), реализуемого разложения называется (р + 1 )-методом Иногда для противостояния методам числа ряд выбирают так, чтобы числа имели большие и (р + квантовым компьютером. Предположим, что удалось найти показатель г + яд+ I, а также о такой, что (mod и). Заметим, что для п яа простые делители. Такие простые числа называ ют сильными. Отметим, что в общем случае рас сматриваемыи метод разложения использует широкий диапазон эллиптических кривых и ока- рдя показатель г должен быть чет- наибольшая степень двойки, на которую делится показатель г. Тогда с большой ве- ным. Пусть 1X9 роятностью одно из целых чисел вида а "/'' (modw) зывается + более эффективным, чем и -методы. Поэтому и выбор сильных простых чисел р, д для системы RSA вряд ли может привести к ее усилению для / = 1,2,..., А: будет иметь нетривиальный обшдй делитель с числом и. Неудача возможрш лишь в том случае, когда цепочка сравнении {d (mod о). Предположим что можно выбрать кривую Е{Ж1пЖ) я точку Q порядка М на ней, причем г/4 (mod д)}; (mod р\ rll l(modp), a'l^=\{moAg)}\ (mod 9)} и т. д. оборвет- разложение числа М известно и порядки точки Q ся по модулю р и по модулю д на одном и том же г/4 на кривых Е(Ро яЕ(¥ я не совпадают. Тогда ал- шаге. Вероятность такого собьггия равна к~\ ,в горитм 9.3.5 имеет полиномиальную сложность. случае неудачи можно провести аналогичную для этого достаточно заменить П/'Г' на М процедуру для других малых простых делителей A-e-D числа г. Таким образом, задача разложения сводится к нахождению эллиптической кривой jE(Z/wZ), Для определения такого показателя г на кван товом компьютере вьшолняются следующие вы число точек которой имеет вычислимое разло числения. Для фиксированного элемента жение или даже вычислимый нетривиальный большой делитель. Сложность разложения мо жет быть снижена, если выбрать эллиптическую а е {Ж1пШ^, фиксированного числа п я переменной X вычисляется экспонента d (mod п) методом возведения в квадрат и умножения. При этом ве- кривую Е так, чтобы над числовым полем Q[^] она имела большую группу кручения и чтобы личины d (mod w) являются константами, и нужно реализовать только их модульное умножение с помощью наборов булевых функций так, чтобы минимальньш полином для числа с, имел корень результирующее отображение было подстановкой над Ж1пК (согласно теореме Мазура над полем Q группа кручения имеет порядок менее 20). 9.3.6. Разложение на квантовом компьютере на множестве состояний кубитов. Для вычисления порядка г элемента а используются два синхронно работающих квантовых регистра (левый), (правый). Левый регистр содержит а п мент X (mod ЛО, где iV т 9 Составное число может бьггь разложено на п <N<2n . Правый регистр обратимым образом множители с полиномиальной сложностью на вычисляет фушщию d (modw). Состояние кван- квантовом компьютере алгоритмом П. Шора тового компьютера описывается парой \х (mod N)\
213 |</(modw)). Решение задается сравнением <f (modw). Вывод решения задается применением квантового быстрого преобразования Фурье к ле- юму регистру. Алгоритм 9J.6. Разложение числа на кванто- юм компьютере (алгоритм Шора). Вход. Число п. Выход. Нетривиальный делитель числа w. Метод (первые четыре шага вьшолняются на квантоюм, остальные — на обычном компьютере). Инициализировать из состояния 5 коге рентную суперпозицию 2. Обратимым образом вычислить л1М 5 0)). -Jn 5 а X (modw))). х=0 Вычислить преобразование Фурье первого регистра, отображая состояние \х) в N-\N-\ InixtlN t)) Измерить состояние регистров \tWc^ (mod n)) для некоторого к. Вычислить наилучшее приближение из снизу к tlN со знаменателем / г\ где f г' <п< л[М: с г N г г < 2N (при этом f ~гс большой вероятностью). Представить г' в виде г' = Ул"'. Для / 5 5 ВЫЧИСЛЯТЬ НОД(а 5*2 I 4- hn\ Результат: нетривиальный делитель числа п Квантовое преобразование Фурье на шаге задается квадратной унитарной матрицей F (F. 1т размера Л^, где К т е 2 nilm/N Ъ{т) 1-й характер элемента т. После преобразования Фурье ненулевыми амплитудами (ненулевыми вероятностями) будут обладать те и только те элементы / вектора состояний, для которых число / делится на порядок г элемента а (см. п. 5.5, результаты о сумме характеров). Пусть состояние второго регистра, измеренное на шаге 4, равно уо. Тогда первый регистр содержит суперпозицию всех показателей х X для которых а' = уо (modw). Пусть Хо— наи меньший натуральный показатель из множества К-1 vz Xq -\-kr) . (9.3.2) Jt-O Ненулевыми амплитудами обладают только те элементы, для которых %i(r) ставляя эти значения в (9.3.1), получим те и Под к-1 А:=0 е ImllK чА: 5 если К^О (mod /) если K^Q (mod /) 5 последнее выражение не входит случайный параметр х^. Поэтому измерение состояния первого регистра всегда даст значение с. , крат- где значения с и N известны. Тогда дробь Х/г можно вычислить и ное N/r. Пусть с Щ г 0<1<г Если числа и г взаимно просты 5 ТО можно найти г. Вероятность того, что будут взаимно просты, равна (р(г)/г, и г где функция Эйлера. Поскольку г/ф(г)«1п1пг п. 5.2), (см то после 0(loglogw) прогонов вероят ность того, что Хиг будут взаимно просты, ста новится близкой к Сложность разложения составного числа асимптотически равна сложности возведения в степень и составляет 0((logn) ) элементарных логических операции Сложность определения структуры и порядка конечной абелевой группы тоже является полиномиальной. 9.4. Атаки на систему RSA. не требующие разложения целях ускорения шифрования в системе RSA открытый или секретный показатели часто делают малыми. Поскольку длина характеристики кольца составляет сотни бит 5 сокращение длины показателя первоначально могло выглядеть обоснованным. Однако такой способ повышения скорости шифрования часто приводит к снижению стойкости. 9.4.1. Случай малого секретного показателя Если секретный показатель а достаточно мал, то по известным характеристике кольца п и открытому показателю е можно найти а (длину секретного показателя и число единиц в двоичном представлении можно определить, измерив длительность шифрования и соотнеся ее с длительностью модульного умножения). Обозначим г logj (d/'yf^) 5 тогда задача нахождения показа теля d (и, следовательно, задача разложения числа {Xi} иЛ/^=А>. Тогда состояние первого регистра п) требует перебора 2г + 8 бит. Если d<^ln^ то имеет вид показатель а можно найти без перебора [19,20].
214 Открытый и ceiq?eTHHfi показатели связаны со отношением чим Н ed ПОЩр 5 (mod(p 1), G 1)(9 !))• НОД(р 1,9 Тогда существует К^Ж такое, что ed + 1Ш _1_ К{р 1)(9 откуда е К{р 1)(9 п dGn + dn ко dG G К п dG dg ! ? g~\-l~\- К п Рассмотрим другой простой вариант атаки на Обозна- систему RSA на основе «частично известных» открытых текстов [9]. Если два сообщения /Wj, /772 не одинаковы, но связаны с помощью аффинного соотношения с известными параметрами, например, 77?2 = ШИ] + р (mod «), где аир известны, то с помощью известных шифртекстов Cj, С2 можно восстановить оба сообщения. Например, для е сообщение тпх восстанавливается по формуле Р(С2 + 2а 3 с I 3 а{с. а 3 с. + 2р-' 1 За 3 3 Ptw/ -f За 2 ^Wj43ap 3 т 1 За^рш/ + 3а^р^ш,+3ар^ mJmodn) где dg это дробь к dG после сокращения, при этом обычно g wing Теперь можно выра зить dg через е и рациональную дробь —, при п этом V2 <6< Jn Далее вычисляются подхо дящие дроби для непрерывной дроби Jn Под ходящая дробь со знаменателем, близким к является хорошим приближением к 6. Действуя таким образом, можно найти секретный показа тель d. если его длина достаточно мала. 9.4.2. Случаи специальных открытых показателей Каждый пользователь i системы связи с шифрованием по схеме EISA должен иметь свое персональное число п,=^р,д,. Для ускорения процесса шифрования иногда используются малые открытые показатели е„ причем они могут быть одинаковыми, например, 3 или 5. В этом случае, даже если числа «^ различны, можно выполнить бесключевое дешифрование [4]. Предположим, что отправитель посьшает одно и то же сообще ние т трем получателям, открытые ключи кото рых равны е,), причем е и т< fii. Обозна чим х = т . Тогда выполняются сравнения с I. т 3 (modw;), х = С/ (modw,) и значение х как целое число может быть восстановлено по китайской теореме об остатках по известным С/ и взаимно простым модулям /7,. Для нахождения сообщения т нужно извлечь кубический корень из х в кольце целых чисел, эта операция имеет полиномиальную сложность. Очевидно, то же справедливо и в случае других малых одинаковых открытых показателей. Сообщение //?2 вырал^ается через т^ и коэффициенты а, р. случае произвольного показателя е имеют место соотношения: т е 1 С I (modw), {шщ + Р) е Сг О (mod «). Обозначим неизвестное сообщение т\ через переменную z. Тогда, переходя к кольцу полиномов (Ж/пЖ)[2\ можно записать: нош е Си (а + Р) е Cl) Z т\ {Ж1пЖ)\г\. Вычислив этот наибольший общий делитель, можно определить т\. Алгоритм 9.4.1. Нахождение двух открытых текстов по двум шифрограммам и параметрам аффинного преобразования. Вход. Составное число п\ шифртексты Сь С2\ параметры а, Р; открытый показатель е. Выход. Открытые тексты /Wi, ^2- Метод. . Вычислить Шл как свободный член линейного полинома Z 77?! нож/~ сь (oz + р) е С2)В кольце (Ж/пЖ)[2] Положить /;?2 <г- ат\ + Р (mod п) Результат: (т^ т-}). Алгоритм 9.4.1 допускает обобщение на слу чаи, когда т2 задается произвольным полиномом отшл нд^дЖ/пЖ: т 2 я4 z=m . Тогда 1 НОД(г е с\ Л^) е Cl) Z mi в кольце полиномов (Z//7Z)[z]. Если т\ и ^2 за даются полиномами от т над Ж1пЖ: т \ м4 z=m 9 т 2 fi {Л z-m 9 И известны шифртексты Cj, С2, то ИОШЫ-Сг, Uz) е Cl) Z т в кольце полиномов (Ж/пЖ)^].
215 Пример 9.4.1. Восстановление пары сообще НИИ без разложения числа п. Пусть п = 81089, С] = 32205, С2 = 38069, е 17, а UP Вычисляем НОД((г + 17 38069, Z 17 32205) в кольце {Ж1пЖ){г\, Получаем последователь ность вычетов для алгоритма Евклида (для при веденных полиномов): Z 16 + 8z 15 14 13 12 + AQz + 140z ' + 364z " + 728z 11 + + 1144z^^ + 1430/ + 1430z^ + 1144z^ + 728z^ + -<- Лч Таблица 9.1 Минимальный размер открытого показателя е mm В системе RSA 9 при котором атака по алгоритму 9.4.1 неэффективна тые Таким образом, часто используемые откры- +1 не обеспечивают показатели вида стойкость к указанному методу анализа. + 364z^ + \AQz^ + 40z^ + 8z^ + г + 9195: 14 13 12 И z^^ + 40552z"^ + 40576Z'-' + 91z^^ + 195z^' + + 20594Z ^ + 47719z^ + 429z^ + 351z^ + 40772z^ + 5 4 3 2 + 40660z-^ + 45z" + 13z-^ + 3041 Iz" + + 36783Z +72676: 2 z' + 79994z + 24207 z + 68744 z 12345, TO есть m\ 12345. Второе сообщение: m2 m\ + 12346 Операция вычисления наибольшего общего Еще один вариант атаки на схему шифрова ния может быть использован, если порядок эле мента е в группе (Z/cp(«)Z) оказывается малым. этом случае для нахождения сообщения т по ' (mod п) выполняется после- т шифрограмме с довательное зашифрование шифрограммы Cl с е (modw), с е 2 С. (modw) и т до полу чения открытого текста (предполагается, что открытый текст обладает избыточностью, позволяющей его распознать). Отметим, что порядок ^ элемента е в группе (Z/cp(«)Z) мал лишь в том случае, если он мал в обеих группах и я Однако если этот порядок мал хотя бы в одной из указанных групп, то можно разложить число п следующим образом. Сначала сгенерировать делителя полиномов степени е над кольцом Ж1пЖ. случайное а^ е (Ж/пЖ)\ Затем для i > вычислять предусматривает выполнение на каждой итера последовательно а а ции следующих действии: одну операцию обращения по модулю щ 0{е) операций умножения чисел по модулю п; 0{е) операций сложения чисел по модулю п. Число итераций равно 0(e). При использовании умножения «в столбик» и арифметики Монтгомери (см. п. 7.1.4) сложность j(mod«) и проверять с помощью бинарного алгоритма Евклида условие НОД(а/ - ао, «) > 1. Если это условие будет вы полнено, то указанный наибольший общий дели тель является нетривиальным делителем числа п. Для исключения этой атаки числа р ^ Q выби алгоритма 9.4.1 равна 0(е Qogn)). При использовании умножения с помощью быстрого преоб- сложность алгоритма равна рают так, чтобы порядки групп большие делители. р и я имели разования Фурье случае малых открытых показателей можно не только осуществить бесключевое дешифрова- 0(е (log n)(\og log п)) ние , но и вскрыть ключ а [8]. Для этого достаточно знать четверть двоичных разрядов одного Для того чтобы стойкость к методу дешифрования на основе частично известных открытых текстов была не хуже, чем сложность разложения, из делителей числа п 9.4.3. Атаки на основе эндоморфизмов открытый показатель е должен быть достаточно велик. Минимально возможные значения показателя е для различных размеров задачи разложе- Схемы шифрования и цифровой подписи RSA задают эндоморфизмы мультипликативной группы: ния, для которых сложность указанной атаки рав на сложности разложения, приведены в табл. (Ж/пЖ) + F/ X F * I ^ Э Сложность разложения оценивалась по отноше- а также эндоморфизмы идеалов кольца нию к методу решета числового поля. Сложность Это обстоятельство позволяет создавать специ атаки на основе алгоритма Евклида в (Ж/пЖ)[е] фические атаки на систему RSA. оценивалась по отношению к умножению с по мощью быстрого преобразования Фурье. Предположим э что нарушитель хочет де шифровать шифртекст с т i: (mod «), причем в
216 системе допустимы методы криптоанализа на мым элементом в кольце Ж1(^{п)Ж^ то он должен основе открытых и зашифрованных текстов. быть нечетным. Следовательно, выполняется Тогда нарушитель вырабатывает произвольный равенство для символов Якоби: текст X е (Ж/пЖ) 5 вычисляет свою шифро сх (mod п) и отдает ее для рас грамму с шифрования. Полученный открытый текст имеет вид т г на X 1 (сО / d (mod п). Умножая его (mod э нарушитель получает т с d (mod Схема шифрования с открытым ключом RSA позволяет получить частичную информацию об открытом тексте т по известному зашифрован ному тексту с и открытому ключу 5 По скольку открытый показатель е является обрати т п с J п Аналогичное рассуждение справедливо и для кубических характеров (вычислить кубический характер можно с использованием кубического закона взаимности [1]). Аналогичная атака возможна и на схему цифровой подписи RSA (см. п. 13.1.1). Для защиты нужно использовать хэш-функцию. Упражнения к главе 9 10 Какие задачи положены в основу безопасно сти системы RSA? Как зависит сложность разложения составно го числа, заданной длины методом эллиптических кривых от числа различных простых делителей числа «? Оцените зависимость числа образующих группы (Ж/пЖ) от числа простых делителей нечетного числа п. Сравните временную и емкостную сложности методов квадратичного решета и эллиптической кривой. Почему метод квадратичного решета облада ет меньшей сложностью, чем метод непре рывных дробей? Пусть п (mod 4). Предложите (р+ метод разложения, аналогичный методу, основанный на использовании эл 9 липтическои кривой у 3 Пусть п (mod 6). X ~^Ах. Предложите (р+ метод разложения, аналогичный методу, основанный на использовании эл 9 липтическои кривой у Покажите, что 3 х^ + Б. -метод разложения не имеет преимуществ по сравнению с методом эллиптических кривых. Рассмотрим аналог системы RSA, основанный на задаче разложения полиномов в коль це Г М: n(t) p{i)q(t). Предложите метод э взлома такой криптосистемы со сложностью полиномиальной от степени полинома n{f), ^Положим ф\«) = ф(ф(...ф(«)...)) {к раз). Из теории чисел известно, что при к = 0(\п п) значение (р\п) вырождается в степень двойки и имеет порядок O^-Jn) . Предложите способы ускорения вычисления ф(«), если указан- вырождение происходит значительно ное 11 12 быстрее, чем после 0(\пп) шагов. Как изменится сложность разложения методом квадратичного решета при ограничении объема памяти? *Для метода квадратичного решета оцените объем базы данных, при котором вероятность получения непустого множества линейно за висимых над и-2 строк заметно отличается от нуля с учетом плотности распределения простых делителей. 13 Сравните сложность разложения на эллипти ческой кривой составного числа вида п 2 э где э различные простые числа, и со ставного числа такой же длины, состоящего из двух различных простых делителей. 14. Пусть вычислительная модель содержит т параллельно работающих процессоров. Сравните временную сложность методов квадратичного решета и эллиптической кри 15 вой. Пусть (mod 6) 9i эллиптические кривые с урав э нениями вида ■у 3 х+В ? причем pi ? Яг простые числа. Пусть n-pqvi Е{Ж1пЖ) эл липтическая кривая э Р (mod/>) э Ч (mod q). Предположим, что (£",/> 1 э qi) «сер тификат» того, что число п содержит только два различных простых делителя и свободно от квадратов. Покажите, что этот «сертификат» позволяет найти разложение числа п с полиномиальной сложностью 16. Предложите описание эллиптической кривой Е{К) непрерывной дробью над Щх],
i V ^r - ^ Литература к главе 9 Айфлэнд К., Роузен М. Классическое введение в 10. Koblitz N. А course in number theory and cryptogra современную теорию чисел. М.: Мир, 1987 phy. Springer-Verlag, 1987. Демидович Б.П., Марон И.А. Основы вычисли- 11. Lenstra А.К., Lenstra H.W., Lovasz polynomials with rational coefficients тельной математики. М.: Наука, 1970. Манин Ю.И. Классическое вычисление, кванто Factoring Mat hem а- вое вычисление и факторизация Шора // Квантовый компьютер и квантовые вычисления. Ижевск: Ижевская республиканская типография, 1999. Т. 2. С. 248-286. Мур Дж.Х. Несостоятельность протоколов криптосистем // ТИИЭР. 1988. Т. 76. № 5. С. 94-104. Шор П. Полиномиальные по времени алгоритмы разложения числа на простые множители и нахождения дискретного логарифма для квантового компьютера // Квантовый компьютер и квантовые вычисления. Ижевск: Ижевская республиканская типография, 1999. Т. 2. С. 200-247. Atkin А.О., Morain F. Finding suitable curves for the tische Annalen. 1982. Vol. 261. P. 515-534. 12. Lenstra A.K., Lenstra H.W., Manasse M.S., Pollard J.M. The number field sieve // Proceedings of 22nd ACM STOC. 1990. P. 564-572. 13. Lenstra H.W. Factoring integers with elliptic curves // Annals of Mathematics. 1987. Vol. 126. P. 649-673. 14. Menezes A., van Oorschot P., Vanstone S. Handbook of Applied Cryptography. CRC Press, 1997. 15. Pomerance С The quadratic sieve Advances in Cryptology factoring algo- Proceedings of rithm EUROCRYPT 84. Lecture Notes in Computer Sci ence. Springer-Verlag, 1985. Vol. 209. P. 169 182 elliptic curve method of factorization // Mathematics of Computation. 1993. Vol. 60. P. 399-405. 16. Rivest R.L., Shamir A., Adleman L. A method for obtaining digital signatures and public-key cryptosys- tems // Communications of the ACM. 1978. Vol. 21. №2. P. 120-126. Laflamme R., Shor P.V.. Zurek W.H. 17. Schnorr C.P. Factoring integers and computing dis decoherence. crete logarithms via Diophantine approximations 1995 Chuang LL., Quantum computers, fectoring and Technical Report. L A-UR-95-241, AMS DIMACS series in Discrete Mathematics and http://www.if.ufrgs.brHgallas/QUBITS/CURSO/fato racao9503007.pdf. Coppersmith D. Small solutions to polynomial equa- 18. Silverman Theoretical Computer Science. 1993. Vol. 13. P. 171 181. The arithmetic of elliptic curves. tions and low exponent RSA vulnerabilities // Journal of Cryptology. 1997. Vol. 10. P. 233-260. Springer-Verlag, 1986. 19. Verheul E.L., van Tilborg H.C.A Cryptanalysis of Coppersmith D., Frankhn M., Patarm J., Reiter M. Low-exponent RSA with related messages Ad «less-short» RSA secret exponents // AAECC. 1997. Vol. 8. P. 425-435. vances in Cryptology — EUROCRYPT '96. Lecture 20. Wiener L.M. Cryptanalysis of short RSA secret ex Notes in Computer Science. Springer-Verlag Vol. 1070. P. 1996. x-j^ ponents // IEEE Transactions on Information Theory. 1990. Vol. IT-36. P. 553-558. S :: - ^ .S f
i ^^ к -Pjj ^ - _ J_- f ^ ST*^ S--^ 1^ x_ u'* ^r^-i ^ ^;- _■. Глава 10. ДИСКРЕТНОЕ ЛОГАРИФМИРОВАНИЕ r\''^^ i КОНЕЧНОМ ПОЛЕ И СМЕЖНЫЕ ЗАДАЧИ Пусть я конечное поле из п элемен в поле тов. группе Задача дискретного логарифмирования в соответствует скорости падения стойкости системы RSA. Если экстраполиро- р примерно ^ формулируется следующим образом, вать такое же снижение сложности на будущее, то Для образующей а подгруппы простого порядка через 10 лет задача логарифмирования станет в 10^^ ^ раз проще. В настоящее г группы я и экспоненты b найти показатель х раз, а через 30 лет в 10 такой, что cf универсальными Эта задача может решаться как время безопасным считается уровень сложности методами логарифмирования 10^^-^ 10^^ операций в год. С учетом того, что про- («giant step— baby step», метод Полларда [14], изводительность вычислительной техники каждый см. подробнее гл. 11) в произвольной конечной год повышается в два раза, для криптосистемы. циклической группе вычислимого порядка, так и специальными методами для группы F рассчитанной на 10 лет эксплуатации, нужно вы я ■ бирать простое число р длины свыше 2 Кбит, а на Универсальные алгоритмы логарифмирова- имеют экспоненциальную сложность 0{4r\ogr) (алгоритм «giant step— baby step»). 30 лет около 20 Кбит. Это обстоятельство еле ния дует учитывать при разработке криптосистем, основанных на логарифмировании в конечном поле. Создание квантового компьютера позволит Oi^^r log г) (алгоритм встречи на случайном де- решить задачу логарифмирования реве) или 0(-\1г) (алгоритм Полларда). в конечном поле (и на алгебраической кривой) с полиноми альнои сложностью. Специальные алгоритмы логарифмирования имеют субэкспоненциальную сложность Ыс; v) 1-V 0(ехр(с(1п qyQn In д) ны на гомоморфном влoжeIiии мультипликативной Группа F^ изоморфна группе неособых точек Эти алгоритмы основа- особой кубической кривой, заданной уравнением 2 3 . J 2 _ . п- _.. _ . . _. _.. л X +Ах над F^, причем изоморфизм вычислим группы конечного поля в обладающие однознач- в обе стороны [15, 4]. Кроме того, группа F^ изо ным разложением на простые множители полугруппу кольца целых элементов бесконечного поля характфистики кольца полиномов случае п или полугруппу морфна группе точек эллиптической кривой £(F^), Поэтому задача дискретного является частным случа- ч в я FpW случае п> I). Простые делители случайного целого числа распределены неравномерно (данный малый делитель встретится с большей вероятностью, чем данный большой делитель). Аналогично, случайный полином из Fp[/] с большей вероятностью будет иметь данный про- мирования на эллиптической кривой (см. гл. 11). если #Е(¥ логарифмирования ем задачи логарифмирования на эллиптической кривой. Сложность задачи дискретного логарифмирования в F^ не может превышать сложности вычисления логарифма на эллиптической кривой. Поэтому для логарифмирования в F^ могут быть использованы те же методы, что и для логариф- стой делитель малой степени, чем данный простои Методы логарифмирования в мультиплика- делитель большой степени. Поэтому сначала еле- тивной группе конечного поля могут быть при- дует найти линейные зависимости между лога- менены и к другим группам, например, к группе рифмами в подмножестве элементов F^, которые функций Лукаша и к группе классов мнимого как целые числа имеют только малые простые делители, а затем с помощью построенной базы дан ных решить требуемое показательное уравнение. квадратичного поля. Рассмотрим подробнее субэкспоненциальные методы логарифмирования. Сложность задачи логарифмирования в конеч ном поле быстро паддет. Это обусловлено как созданием новых методов логарифмирования, так и 10.1. Метод базы разложения Метод базы разложения для вычисления дис развитием вычислительной техники. Скорость па- кретного логарифма в группе F^ основан на вло дения сложности логарифмирования следова жении этой группы в полугруппу кольца це тельно, стойкости соответствующих криптосистем) лых чисел. По определению гомоморфизма ука
219 занных полугрупп из равенства АВ в кольце вытекает АВ = С (mod р), из равенства А X и сравнения у (modp) следует х (mod г) где г— простой порядок группы, образованной элементом А. Различные варианты метода базы разложения были предложены Адельманом, Мерклем и Лоллардом (см., например, [12]). Кольцо является кольцом целых элементов * * поля Q, при этом группа Q и, следовательно, полугруппа Z имеют бесконечное множество образующих, совпадающее с множеством про- Методом гауссова исключения выразить xv как линейную комбинацию от Ui-. I XV 1" / Ui (mod г). Найти логарифм X по / формуле X V 1 Yd^u^imoAr) I 6. Результат: х. ^ ~-.^ 1 Алгоритм 10.1.1 является вероятностным и требует объема памяти ХДс; 2 где с Выбор на шагах и тех значении и, и v, для которых экспонента является х)-гладкой, можно рассмат стых чисел. Перенумеруем простые числа 2, 3, 5, ривать как «просеивание» экспонент через «ре 7,..., начиная с 1. Вероятность того, что случайное шето». Поэтому данный метод относится к мето дам решета. Решение большой системы линейных уравне г можно ускорить, если восполь число делится на к-с простое число рь равна />^, Обозначим множество, состоящее из числа /?о и т первых простых чисел ри ••■> Рт-> через D, 1 НИИ над полем зоваться технологиями разреженных матриц [3]. Алгоритм 10.1.1. Логарифмирование в под группе группы F^ методом базы разложения. Кроме того, на шаге 2 можно искать числа вида / а Ъ ' (mod р) для целых и >•> V I до получения Вход. Характеристика поля р, образующая а системы линейно независимых сравнении, тогда подгруппы простого порядка г, экспонента Ь. шаг 3 не нужен. Выход. Показатель X, ДЛЯ которого cf (mod/?). Мето Пример 10.1.1. Логарифмирование методом 2. базы разложения. Выбрать базу разложения D как множество, состоящее из числа/>о = -1 и w первых простых 993121, а 4096, г чисел А, где in 0(ехр(с Jin р In In р )), с Пусть 2069. Выбираем базу разложения D 23061L I 2 3 Случайным выбором показателей множество из СХт) £)-гладких чисел и 11, 13, 17, 19,23,29,31,37,41,43}. / найти и Находим £)-гладкие экспоненты а', й". Число / а I а является £)-гладким а 12 . Построенная база (mod/>) и разложить их на множители путем данных приведена в таблице 10.1 и содержит по вычисления наибольшего общего делителя с казатели элементов базы разложения, с которы произведениями элементов базы разложения ми они входят в разложение экспонент а \ Ь''. (при этом £)-гладким может быть не /5 а Б/, в этом случае в разложении участвует элемент-1 базы разложения): V- ^ v^-4> »^ m / Up а 1.1 / (mod р) / о (здесь в каждом уравнении почти все показа тели а/7 будут нулевыми). : ^^ ; Числа 29, 31, 41 из базы разложения не встречаются ни разу, их можно не учитывать. Сокращаем число переменных. Для этого вы ражаем числа, не встречающиеся в й'^' (послед няя строка в таблице), через экспоненты основа ния а и числа 3 ? 13 ? 17 в поле Fn! р А 66 о-7 -72 а 3 ,7 а 206 3 2 1 17"', 19 2 О 272 1 1 13 1 и подставляем их в уравнение для а 1771 Подбором найти показатель v такой, что чис- '^ {modp) является £)-гладким, и найти ло разложение этого числа: а 17712 2123672JQ2 2123672 2722-15-1,3 1 2"3V'Vl3-'a''"'2-^5-'l7-' _ ■_ ж^ т V Up J J (modp). ^ i /=0 a 478/48-,6y--3i-,-l 13 17 1 478 132-,-14o6^-3i -,-1 . ^-1 a a 13 17 .103-85-3,3-1,7-1 4. Используя показатели a», В,, записать систе му линейных сравнении: или а 863 8 -5 3 * 13 - 17 с учетом того, что по рядок группы равен 2069. X. v ^.*~^ s^-^n'^. т т -^»» -#т W. / а,, (mod г), XV ^p-(modr). L т V^T
220 ^ -F * E Таблица 10.1 База данных из /)-гладких экспонент г^ л- - -^ -. ^ «-_ - , Сравнивая это разложение с разложением чис ла 101 а 943 5 6 получаем получаем 6i 101 а 863 Это следует из того, что набору {а,} можно Из 101 а 943-863 5 101 разложения взаимно однозначно сопоставить набор {В,} из 263 ТГ _ I ^ Л7- . I i i^ .... показателей соответствующее уравнение вид: 101x^263 (mod2069). Отсюдах = 263 -101 146 (mod 2069). Для имеет чисел 1,2,... 5 1 />М / + а /+I + TV + L для и где 1 ai + и i>0. Здесь /-I а, < В,- Выбор значения т с 5 0(ехр(Сд/1п рХпХпр))^ является оптимальным. Существование оптимального размера базы данных следует из того, что если размер базы данных взять небольшим, то вероятность £)-гладкости случайно- алгорит- Число наборов (Р,} равно указанному биномиальному коэффициенту. Оценим вероятность того, что случайное число, не превышающее />, будет раскладываться на простые множители. не превышающие ? где р (в алгоритме 10.1.1 т Обозначим и \пр In у Будем считать 5 ЧТО го числа становится малой и шаги и и (это требование естественно для больших ма становятся трудоемкими. Если размер базы чисел/>). Поскольку число 7г(у) простых чисел, не данных взять близким к />, то число уравнений превышающих у, в соответствии с теоремой Че- становится велико, а шаги зываются трудоемкими. и алгоритма ока бышева равно 7г(у) In V' то и « щу). Обозна Покажем, что алгоритм 10.1.1 имеет субэкс сложность. Оценим зависимо поненциальную сти. которые понадобятся в дальнейшем. Во первых, в соответствии с формулой Стирлинга \п{п\) п\пп п. Во-вторых, для натурального Л^ и положительного и число наборов из Л^ целых чисел а,, сумма которых не превышает и, равно биномиальному коэффициенту чим через А{р^у) множество натуральных чисел, не превышающих/» и представимых в виде произведения простых чисел, не превышающих у. Поскольку разложение на простые множители единственное, то существует взаимно однозначное соответствие между числами из А{р^ у) и наборами из Tiiy) первых простых чисел, определяющими разложение. Число #А{р^ у) равно чис- т^{у) лу решении неравенства а<и. i=\
221 2 Поскольку тгО^) по порядку величины близко к ность решения такой системы равна 0(у (In г?) 2 у^ заменим niy) на у. Тогда справедливо прибли- Итоговая сложность равна женное равенство: у 2 4J 0(и">1п/?+/(1п/?) 2 (10.1.2) #^(р, у) ^ {число решений а / и\ /=1 Из Оптимальная итоговая сложность алгоритма 10.1.1 достигается, если сложности двух этапов в второй вспомогательной оценки следует. что (10.1.2) примерно равны. Тогда и ходим к логарифмам сложностей: и уХпр Пере Л-. I »- * <-» к # ^( А у) и-\- у ' :-ij^t' i-.^', ' i -^ ' - .'--^' • Inp In у -In Inp In у lnlnp~\-luy iv^ ij ?^> ^ ^ * * Оценим In # ^(p, V) i Д ^- ^L. ^Vl логарифм вероятности Отсюда получаем (Inv) 2 (ln/?)(lnln/>). ТОГО, что случайное число, не превышающее />, будет D-гладким: ..,,,, ^ ..,... 0(exp(cyln/7lnln/;)), где с= 1 +о(1). Итого вая сложность алгоритма 10.1.1 равна In # Л(А у) In (w + у) ln(w Ч- у) (г^ + у)! и! у! и\\ли и\\лу V (2с; 1 2 0(ехр(2с J In /> In In p )). >- m' 1 ^ у In у winy. V Емкостная сложность алгоритма 10.1.1 равна aVs) Поскольку ln(u + у) 5^ In у, то 0(ехр(с Jin р In In р )). -' , "-i ^ -V х- " Г J -^ In # Л{р. у) и\пи. Проведенный анализ учитывает оптимизацию только временной сложности алгоритма. Однако вследствие существенно неравномерного рас что и можно записать ^ -: ^ / случайное из базы £). пределения вероятностей того, число делится на данное простое может существовать компромисс между временной и емкостной сложностями. Шаг 2 алгоритма 10.1.1 допускает эффективное распараллеливание. Поэтому практически может быть выгодно Это выражение дает оценку вероятности пай- уменьшить объем памяти (размер базы разложе- # А(р, у) и (иоа))и (10.1.1) ти с первой попытки случайное D-гладкое число, ния) в миллионы раз, увеличив при этом число не превышающее/?. параллельно работающих процессоров при соз Теперь можно оценить сложность алгоритма дании базы £)-гладких чисел Д. 10.1.1. Наиболее трудоемкие этапы— создание базы данных и решение системы линейных срав нений. Создание базы данных требует тестирования порядка и'пСу) различных Д. Обозначим Сложность алгоритма 10 можно сокра тить, если на шаге 2 представлять числа Д в виде дроби / / D (mod/>), где взаимно простые чис / т -■ Е ГТа . Проверка £)-гладкости каждого / вы ла / ,\D I имеют порядок не более 0{Jp). Зна i=\ полняется нахождением НОД(С, Д), при этом чительная часть таких пар |С,|, различные / дает попарно числа Д. Числа С^, D I In С » In Д и In С !^ у. На каждом шаге при вычислении наибольшего общего делителя выполняется вычитание меньшего числа из большего и 2 циклический сдвиг Число шагов нально у, сложность шага пропорциональна тр. Тогда сложность первого этапа алгоритма равна 0(иУ Inp). Решение разреженной системы из могут быть най дены расширенным бинарным алгоритмом Евк лида со сложностью 0((\пр) алгоритма пропорцио- 10.1.1 выглядит так. Выбирается случайный по- Улучшенный вариант шага казатель и,, вычисляется а ' (mod/>), расширенным алгоритмом Евклида вычисляются С/ и D 0(у) линейных уравнений над ¥у с точностью до константы сводится к умножению матриц [2]. При этом матрица содержит очень мало ненулевых и неединичных коэффициентов в каждой строке, плотность распределения ненулевых ко- /? малые по абсолютной величине. / / D (mod р), которые тестируются на D I гладкость. Показатели, с которыми элементы базы разложения входят в Д, и показатель и I эффициентов существенно непостоянна. Слож- записываются в базу данных.
222 Получить ъ Д из / и можно так. Расши Логарифмирование методом базы разложения репным алгоритмом Евклида находим пару чисел допускает предвычисления. Пусть известно толь е, /таких, что eBj + fp ? где наибольший ко простое число р и порядок группы а обра общий делитель чисел Д и/>. При этом на^-м ша- зующая а и экспонента b неизвестны (считаем. что р не делится на г ). Находим произволь- ге алгоритма выполняется равенство ejBi -^fjp где числа qt кратны ИОД (Д-, р). Если остановить ную образующую d группы порядка г, на шаге этот алгоритм на шаге, когда |е||, |g| имеют поря- находим £)-гладкие экспоненты для основания а', матрицу док не более 0{Jp) то можно просто положить / 5 D I Су составляем базу данных и приводим показателей к треугольному виду. Затем, когда Вероятность того, что оба числа С,, D, будут 1)-гладкими, в соответствии с (10.1.1) равна станут известными а и о, на шаге :> находим пару £)-гладких экспонент для оснований а и й, на ша- 1пр In V 2 In у гах 4 и 5 вычисляем логарифмы log^-a, log^-fe, за тем вычисляем x = (log^fe)(loga'a)~' (mod г). По- . Оптимальное значение у для улуч- скольку найти пару £)-гладких экспонент гораздо легче, чем составить базу данных, а решение шейного алгоритма 10.1.1 определяется из ра системы линейных уравнении с треугольной венства \пр Inp In V 2 In у ylup матрицей имеет линейную сложность, то сложность вычислений при составленной базе данных пропорциональна квадратному корню из сложности предвычислении. Отсюда следует, что срок действия ключа в Пример 10.1.2. Представление элемента ко- криптосистемах с открьггым ключом следует от- нечного поля в виде дроби с малыми числителем считывать с момента выбора простого поля (см. и знаменателем. п. 11.5). ■"-I ' л 9 Пусть/>= 10"+ 7, / 123456789. Применяем алгоритм Евклида к/>, Д. Получаем д I SB I 12345695; о-г / 1 горитм Евклида и Юд подставляем уравнение выражение Я2 161 81Б / (mod р) 7-23- 10р. ^ (mod р). для Тогда 161. Обрываем ал- в последнее Получаем 161 - 8Г^ 10.2. Логарифмирование в простом поле методом решета числового поля 91- Метод решета числового поля для вычисления дискретного логарифма был предложен Алгоритм 10.1.1 можно применять и для разложения чисел на множрггели. Различие заключается в том, что при разложении на множители решается система линейных уравнений над F2, а в алгоритме 10.1.1 — система линейных уравне- Д. Гордоном [10] и развит Д. Вебером [18, 19]. Метод использует разложение на простые идеалы в кольцах целых алгебраических чисел. Прежде чем изложить суть метода, рассмотрим подробнее некоторые свойства целых алгебраических чисел. НИИ над ¥j.. Поскольку арифметика в ¥f. несколь ко более сложная, чем в F2, то сложности разложения и логарифмирования с использованием 10.2.1. Подготовительные теоретико-числовые результаты базы разложения различаются в 0((logr)) раз, то есть на полиномиальный множитель. Поэтому сложности разложения и логарифмирования методом базы разложения можно считать асимптотически одинаковыми. Дальнейшие улучшения метода базы разложения учитывают неравномерность распределения Пусть К— числовое поле, то есть конечное расширение степени п поля Q, и {а^ базис К над Q. Пусть ..,а и ментов поля К, причем ного а ^ К можно записать аа кольцо целых эле Для произволь I а,а где вероятностей элементов в матрице, получаемой на J шаге 4 алгоритма 10.1.1 (это позволяет сократить необходимое число уравнений), и однозначность разложения на множители в кольце целых алгебраических чисел. Так, использование кольца целых гауссовых чисел позволило снизить временную сложность дискретного логарифмирования до уровня 6>(exp((l + o(l))Jlnplnlnp)) [12]. а Q; определитель матрицы (Оу) является нор- (а) мой элемента а. Каждый можно записать в виде аОк- главный идеал Для идеалов 21, 55, £ кольца Ок имеют место утверждения: если Vm = ас, то 55 |> - если что 21 S, то существует идеал £ такой ? <8£.
223 Это означает, что в Ок имеет место однознач ное разложение на простые идеалы. показателям по основанию а, получаем сравне ние s + tx (mod г), отсюда х St (mod г). Норма идеала (число элементов кольца классов Таким образом, для решения задачи дискретного вычетов к М) мультипликативная функция, логарифмирования нужно записать г~к> степень Для двух не обязательно различных идеалов и 58 имеет место равенство щщмт. элемента w в виде нетривиального произведения степеней avib. Выберем неприводимый над Q полином Следовательно, если фь ..., фу^— простые идеа ЯХ) Г + а П-] г 1 + ... + ^0 к к лы и Пф"' , то Жа)-ПЖфГ • Здесь в /=1 /=1 первом равенстве — произведение идеалов, а во втором — произведение натуральных чисел. Идеалы кольца Ofc образуют коммутативный моноид по умножению. из кольца ЩХ\^ целое число т такое, что j{m) (mod/?), и базу разложения Z)] = {р/}, где наименьшие простые числа, включая / п . Обозначим через а комплексный корень полинома/ Тогда а является целым алгебраическим числом с минимальным полиномом/ Обозначим через К поле Q(a) и через Ок порядок поля К^ содержа- Пусть КХ) Ya,X I приведенный /=о единичным старшим коэффициентом) неприво димый над Q полином с целыми коэффициента ми, а— его комплексный корень, K = Q{a) — числовое поле и ^ — порядок этого ПОЛЯ. Нор ма главного идеала (у), образованного целым ал гебраическим числом у = с ется как N({y)) = ayfP + а„ \с и-1 da е Ок, ВЫЧИСЛЯ щий кольцо Z. Каждый идеал из Ок однозначно раскладывается в произведение простых идеалов. общем случае кольцо Ок может быть идеалом кольца Z[a]. На практике в методе решета числового поля можно использовать как кольцо Ок^ так и все кольцо Z[a]. Если р не делит дискриминант полинома/ то идеал (р) раскладывается на множители в Ок, ^a.d' при этом идеал (р, а т) является простым и сов делителем идеала {р\ то есть имеет место изо падает с нормой целого алгебраического числа у. морфизм Если tt], ..., а К /ш F„, который задается заменой а п — комплексные корни полинома то главные идеалы (с + daj) являются сопряженными. Сопряженные идеалы имеют одинаковую норму. на/?7. Выберем базу разложения Z)2, состоящую из Пусть простой идеал. Тогда в кольце первых степеней простых идеалов гр с нормой, меньшей некоторой границы. Потребуем выполнения следующих условий: Ок можно ввести дискретное нормирование Vm, А^) значение нормирования V (Щ для идеала 21 т совпадает с максимальной степенью идеала ф. на которую делится а. Аналогично, если а к. то Vm(a) — наибольшая степень идеала 7 на которую делится целое алгебраическое число а. кольце к каждый главный идеал {q) об О (mod /?), при этом а = m (mod /?); /гй, где число h является /)]-гладким; не делит дискриминант полинома/ то есть идеал {р) не разветвляется в кольце Ок\ свободный член а^ полинома/является Dj- гладким (это означает, что идеал (^о) раскладывается ь ОкЬ произведение простых идеалов из Z)2); разованныи простым числом д, раскладывается на множители, разветвляется или является не- К-, то идеал (г) не разветвляется в кольце есть г не делит дискриминант полинома/ разложимым. В первом случае идеал {q) явля- Для упрощения рассуждений будем считать ется произведением двух или более простых что идеалы (г,), где г, — простые делители числа 7 идеалов или их степеней, при этом норма идеа не разветвляются в Ок (если г I малы _ то не ла (а) является составным числом. Во втором выполнение этого требования не означает, что случае идеал (а) является степенью простого идеала, а поле простого поля. кКд) является расширением сложность алгоритма увеличится). Алгоритм определяет непустое множество пар (с i-i di) со свойствами: целые числа С/ + dm являются Z)] -гладкими 10.2.2. Метод решета числового поля (при этом с, + dim можно вычислять как вы чет по моду'лю о); Предположим 7 ЧТО в ходе решения задачи главные идеалы / + diO) являются D 2 Srt db (mod р) нам удалось найти ли/ такие, что w^imoAp) для некоторого w^ имеющего по рядок г в р •> причем НОД(г 7 Переходя к гладкими (то есть норма N{Ci + djO) как целое число является /)2-гладкой);
224 ры Методами линейной алгебры для каждой па- по модулю г дает формулу (10.2.1), где левая про- di) определяется множество показателей е, часть делится только на а п Ь. Если а, b такое, что выполняются условия: ТТ(с^ + d^mf^ делится только на а и й; / целое алгебраическое число ГТ(с^+(^,а) ^/ стые числа, то получается одно сравнение й b (mod р). Покажем, как можно свести исходную задачу логарифмирования к случаю, когда числа а и г является г-й степенью в Z[a] (то есть ф-ади- ческая норма этого алгебраического числа делится на г для каждого идеала из из базы разложения Вг). числа Д-гладкие. Предположим, что разложение известно, в противном случае нахо- г например ме дим разложение числа (р тодом эллиптических кривых. В группе бираем Z)]-гладкую образ>'ющую, порядок кото вы Согласно гомоморфизм теореме о гомоморфизмах колец к ¥р существует тогда и толь ко р ся тогда, когда имеет место изоморфизм /£}, где £} — идеал кольца О к, являющий- указанного гомоморфизма. Поэтом>' рои делится на г, и возводим ее в нужную степень так, чтобы ее порядок был в точности равен г (при этом значение полученной Z)]-гладкой об- к разующеи а порядка г может превышать р). За ядром тем находим две пары линейно независимых над отображение ср: О^—5 моморфизмом колец (Да)) /75 с (р(а) ядром /?7, является го } и (W2, V2) таких, что И (Да)Х где главный идеал. рОк — силу указанного гомоморфизма колец вы С} D 1 показателей (wj, Vj) а ^b ^ (mod/?) и C2^a^b^ (mod/?) являются гладкими. Методом решета числового поля полняется сравнение находим л огари фм ы X, log а С 1 (mod г) 7 Хп ^ogad (mod г). Обозначим и = log^'^^f (mod r\ П( с -\-d тУ' Пф( е.- +djay' V log а (mod г). Тогда выполняются сравнения / / (10.2.1) щи + V]V = X] (mod г), мгм + V2V = Хо (mod г). Реше :Ф(Ю) J w'' (mod /?), ние этой системы относительно неизвестных w, v позволяет свести исходную задачу к задаче лога- где со G Ofc- Отсюда вытекает. что рифмирования произведение /), -гладкие. с у 1 C2(mod р), где числа Сь С2 ГТ(с^ +djmf' является г-й степенью в ¥р. I На втором этапе требуется построение г-х Алгоритм включает в себя три этапа: степеней. Пусть главный идеал {г) гО 'к раскла просеивание (подбор пар /7 d^ таких 7 ЧТО дывается в произведение простых идеалов в следующим образом: к число c, + d,m является Д-гладким и идеал / / + diO) является /)2-гладким); (г) ПФ. (10.2.2) построение нетривиальных г~х степеней в вычисление логарифма х. Третий этап очевиден. Рассмотрим подробнее первые два этапа. При построении базы данных гладкость остатка Cj + diTn (mod/?), рассматриваемого как целое число, проверяется нахождением наибольшего общего делителя этого числа и произведения элементов pt базы разложения /)], взятых с крат- -г.,~.-^и^ 1 ''' »=' 1^^' Обозначим >j- »Г_ - V ■1 -г- НОК{МФ/) I}, </•</, гдеф. простые идеалы из разложения (10.2.2). кольце Of^ все идеалы радикальные (то есть некоторая степень идеала является главным ностями logA идеалом) [1]. Поэтому существуют главный иде ал (у) что (у) к 1Щ И натуральный показатель к такие 7 (mod Ofcl^j) для ^/• ^ I. Гладкость идеала (Ci + djO) проверяется вы Определим отображение коммутативных мо числением нормы алгебраического числа а + dta и вычислением наибольшего общего делителя ноидов [181: этой нормы и произведения простых чисел, вхо дящих в идеалы из базы вующими кратностями. X: {Ок. {rOtclr^Otc^}. (10.2.3) 2 взятых с соответст Если число таких пар /3 4) превъппает Поскольку идеал (г) не разветвляется в О^^ то #D\ + #Z)2 + w, то решение линейных сравнений это отображение является гомоморфизмом.
225 Имеет место следующая теорема [19]. Теорема 10.2.1. Пусть у— элемент кольца Ок такой, что его норма не делится на г. Пусть U фуппа обратимых элементов кольца Ofc. Пусть и и\ (mod г)}. Тогда у является г~й степенью в Ofc, если: число классов поля К не делится на к и и- ve(y) кольца Ок; Чу) (mod для всех простых идеалов £} Для каждой пары /3 а,\ найденной на этапе просеивания, находим в соответствии с (10.2.3) ^.. . .г- _ __ _ л . 2 . . образ отображения л по модулю г, используя базис из степеней элемента а кольца классов вы чехов Ж[а]/г^Ж[а]: П-] %(€ +d.a) Ж I .1 а I (mod r^Of.), j=o где п — степень полиномаДХ). Для построения г-й степени достаточно по строить сумму Ем с + d, а) О (mod 9 Г ■^ т Найти около #/). + #/)т + п 2 пар небольших целых чисел (с„ d,) взаимно простых над таких, что целое число c,-^d,m (mod/?) является /)ргладким и идеал (c^ + (i^a) является /)2-гладким. Записать для полученной базы данных равенства: с + dj т (mod р) ^1J (^i ^ ^1) 'J 5 P. ,1 е /^1 / + d^a) ПФ.. ''i.;(*^i4) '^'i. J 5 '^l.f^^h J v" > гдеф 'J простои идеал с нормой а ,. использованием методов линейной алгеб ры составить множество линейно зависи мых пар /3 4) и множество показателей е(с/, di) таких, что выполняются условия: число П( С: -\- d.m) с {С, Л) а п а "л де (с.Д)еЛ' лится только на а и причем щ ратимыи элемент по модулю г; об П(^.+^,сх)^'^^"^''^ (со) я-1 для неко (с, ,d, )eS Все образы построенных пар при действии отображ:ения можно каждое делятся на и г. Следовательно, поделить на г и использовать 2 сумму по модулю г вместо суммы по модулю г . Алгоритм 10.2.1. Логарифмирование мето дом решета числового поля. Вход Характеристика /?, образующая а под группы простого порядка г, экспонента Ь. Выход. Показатель х, для которого (mod р). X а Мето Выбрать неприводимый над полином п КХ) Уа,Х\ а I Z, дискриминант кото /=0 рого не делится на /?, и целое число т такое, чтоЯт) ^ О (mod р). Найти целое алгебраиче- торого со G Ofc, где степень, с которой каждый простои идеал гр,, входит в это произведение, кратна г. Вычислить логарифм Z ПаЩ \ (mod г) для 1 гладких а. Ь. помощью наиденных на шаге соотноше НИИ восстановить логарифм х относительно первоначальных значений а, Ь. Результат: х. ш- > База данных, полученная на шаге может быть представлена парой матриц. Первая матри ца состоит из показателей, с которыми элементы базы разложения Z)] входят в c^ + dim (mod /?). Вторая матрица состоит из показателей, с которыми элементы базы разложения D2 входят в ское число а как корень полинома / поле идеал {с, + djO). Для того чтобы можно было вы- К Q(a) и кольцо Од: целых элементов поля А. полнить шаг 6, эти матрицы должны содержать Выбрать базу разложения Д, состоящую из линейно зависимые над F,. строки, простых целых чисел, не превышающих за- Все идеалы, входящие во второе произведе- данного числа 7V], и базу разложения А, со- ние на шаге 6, должны иметь порядок г. Для простоя щую из простых идеалов кольца Ок. верки кратности вхождения идеалов в произве дение на шаге недостаточно пользоваться норма которых не превышает заданного числа 7V2, включая сопряженные идеалы, только нормами идеалов, поскольку в произве- Найти Z),-гладкую образующ>'ю d. Случай- Д^ние могут входить сопряженные идеалы с оди- ным выбором дв>'х линейно независимых над наковои нормой. Для ускорения алгоритма можно воспользоваться представлением элементов С/ + dim (mod р) в виде дроби с малыми по абсолютной величине числителем и знаменателем по аналогии с при- ¥г пар показателей wj, V], W2, V2 найти D 1 и гладкие элементы а 1 \ •] а ю V '2 (mod/?). Положить а (mod р) и /1.
226 мером 10.1.2. Такое представление можно найти Практически для нахождения пары /5 С использованием «незавершенного» расширен ного алгоритма Евклида. Д. Вебер указал на воз сматриваем ±(1 ± a)V, где S алгебраические числа d^ рас- вида 7 1},^ Z, такие, что целые можность использования неприводимого поли- числа c^ + (i^/?7 (mod/?) являются Д-гладкими. При нома/с целым неединичным старшим коэффи- этом сначала раскрываем скобки и производим циентом [19]. Размеры баз данных Z)] и D-i оказываются не- ражения а + 2 упрощение алгебраического числа с учетом вы Например, а) 4а большими по сравнению с размером базы дан- (mod (а + 2)). Далее, заменяя а на т, получаем ных в методе базы разложения. Сложность алго- отобрал<:ение алгебраического числа 4а ритма равна Хд 1,923; 1 3 где 1,923 1996 г. для вычисления логарифма по модулю простого числа длины 426 бит потребовалось найта матрицу из 40 000 строк [19]. Для простых чисел вида с / ± 5, где А^ В малы 5 сложность метода специального решета числового поля равна [19] г (1,57; \ 3 0(expll,57^1n/7(lnln/?) 2 5 где 1,d7 Выбор карактеристики поля ука Am Am (mod р) ? то есть в элемент поля 29 54 (mod 83) 3 •3 . База в данных приведена в следующей таблице: занного вида можно интерпретировагь как закладку «мины», при этом сначала выбирается удобный полином для вычисления дискретного логарифма, а затем —■ простое число р. Для противодействия этому стандарт подписи ГОСТ Р 34.10-94 предусматривает специальный порядок генерации ха рактеристики поля /?, использующий хэш-функцию в целях исключения неправильной очеред ности генерации числа/? (см. такж:е п. 8.3.2). Пример 10.2.1. Логарифмирование методом решета числового поля. Пусть 83, а 5 Г 41 Нуяшо ре шить показательное хравнение d На шаге 1 выбираем неприводимый над Q по 2 ЛИПОМ j{X) = X + 2, при этом т 9. Полагаем i I а 5 к zrv 2], так как Z + 2 (9 + а)(9 менты в О а\ Единственные обратимые эле числа ± 1. Выбираем базы разложения: D I {2,3,5}, D 2 {а. + а. а}. Нормы идеалов из базы D2 равны, соответственно, 2, базе Do идеал (2) разветвляется, а идеал (3) раскладывается на сопряженные идеалы. Идеал (5) не раскладывается на множители в Ок. поэтому вхождение идеала (5) в любой главный идеал кольца Uk оз начает, что оба коэффициента с я d алгебраического числа c + da делятся на 5, то есть не являются взаимно простыми. Находим базу данных из пар (с/, d,) таких, что число Cj + djm (mod/?) является /)]-гладким. а главный идеал / -^d,a) является Л-гладким Для сокращения объема таблицы два последних столбца представлены в виде произведений элементов из Z)] и D2 соответственно.' Преобразуем таблицу, составляя такие линейные комбинации строк, чтобы исключить множитель в столбце Cj + d,m^ а такж:е удалим лишние строки. Строку ведением сохраняем. Строку 2 заменяем произ- случае матрицы это будет сумма) строк (7, 2 ), строку 3 (3,2 3 произведением строк строку произведением строк (6, 4 При этом в последнем столбце остаются два па раметра: (1 +а) и а). Поскольку значения „ di) далее не используются, соответствующие столбцы удаляем. Преобразованная база данных выглядит так: . .,, ч ^,, 'JL -- 1 Для получения матрицы нужно перейти от представления в виде произведения сомножителей к представлению в виде показателей, при этом таблица разобьется на две связанные матрицы (с общими парами It 4)). одной матрице столбцы будут представлять показатели, с которыми элементы базы ZDj входят в число Ci + ditn^ в другой матрице столбцы будзут представлять показатели, с которыми элементы базы Do входят в идеал icj + dja). ~ '^ "■" " ■
227 идеалов в степени, кратной г. Поскольку алгоритме h>^ho получить произведение кратен г, составляем нетривиальную линейную комбинацию строк матрицы, соответствующей по- Приравнивая сложности создания базы дан ных и решения системы линейных уравнений получаем и и 1пй результате логарифмиро следней таблице, так, чтобы идеалы (1+а) и вания этого равенства получим условие в правом столбце имели нулевые показа- w lnw + Inlng Inv Поскольку и тели. Требуемая линейная комбинация имеет вид: первая строка с коэффициентом Inv э то , вторая строка с коэффициентом 1, третья строка с ко- 2 (Inv) 2 In fining. In j!^ J(lnglnln^)/2 . Тогда эффициентом 1. Тогда в среднем столбце полу _ .__ ^-4 г-\1 ^ . . -»-4 г-П СЛОЖНОСТЬ логарифмирования в расширенном чаем выражение (mod/?). Заменяем венство примет вид на X 4-12 J э Отсюда 2 • 5 тогда последнее ра поле методом базы разложения описывается функцией LAc I 2 где можно обеспечить с (mod р\ + 3х (mod 41), X 27. Например, в поле характеристики 2 задача лога рифмирования методом базы разложения являет Необходимую линейную комбинацию можно ся примерно в 1,3 раза по порядку величины бо- составить также из двух последних строк. ■ лее легкой, чем задача логарифмирования в простом поле того же размера. Объем базы данных и базы разложения может быть сокращен, если полиномы £„ которые ищут- На практике можно использовать не квадратичное расширение поля Q, а расширение более высокой степени. Как правило, используются числовые поля, степень расширения которых над ся аналогично шагу 2 алгоритма 10.1.1, представ не превышает 5. При этом в базу разложения лять в виде дроби Т>1 приходится включать сопряженные идеалы. Д (О 10.3. Логарифмирование в расширенном поле А(0 (mod fifS), где степень полиномов С/, Д не превышает nil.. Это представление можно получить, используя «незавершенный» расширенный алгоритм Евклида по аналогии с п. 10.1. Рассмотренный выше метод решета для логарифмирования в поле Fp может быть применен и для логарифмирования в поле F^, где с заменой поля алгебраических чисел на поле ра циональных функций ¥p(t). Это возможно, по скольку имеет место изоморфизм полей ч и ВД/(ДОХ где/ неприводимый полином сте Для ускорения логарифмирования можно ис пользовать метод Д. Копперсмита [9] со сложно ^1,57 [12]. стью Lie., /з), где с Рассмотрим этот метод для поля характери стики 2 (хотя он может использоваться и для других полей, если степень расширения доста пени W, задающий поле F^. Задача логарифмиро- точно велика). Поле F^ может быть задано лю вания в расширенном поле ч р.М/(ДО) (для образующей g{t) подгруппы простого порядка г и экспоненты /г(^) найти показатель х такой, что /г в поле FJ возника- бым неприводимым полиномом Д/) степени п. Переход от одного способа задания поля к друтому выполняется равенство g ет, например, при решении задачи логарифмиро осуществляется линейным над F2 преобразованием (заменой базиса). Как правило, существует требуемый полином deg(/i) < log2W. вида /о У\ +/i(0. где вания на эллиптической или гиперэллиптическои кривой с использованием спаривания Вейля. Задача логарифмирования в расширенном по- оказывается более легкой, чем задача логарифмирования в простом ни п заменяется парой полиномов степени п ле малой характеристики Выигрыш в скорости достигается за счет того, что тестируемый на гладкость полином Д степе- 2/3 поле близкого размера [9]. Это вызвано тем, что каждый. проверка гладкости полинома из F^^^ сводится к разложению его на множители и может быть вы Положим А: - (9(у w/(ln w) ), к + Вы полнена с кубической сложностью от степени полинома (см. п. 7.4). берем базу разложения из неприводимых над 2 ПОЛИНОМОВ степени не более Оценим влияние этого обстоятельства на exp(l/w(lnw)^). сложность логарифмирования в предположении, что степень расширения п поля F^ над F^ доста Выберем пару взаимно простых полиномов ч р точно велика. Рассуждая так же, как в п. 10.1, заметим, что выражение (10.1.2) примет вид Mi) гда U2{i) степени не h + U2{t% W2(i) более wAt) и положим 2 к (mod/0)- То 0(u{b\qf+/{\nq) 2 W2(t) Щ it") / ^2^^-/7 yi (О + ИгС/"') (mod ДО) ■
228 Поскольку порядок чисел dv^l. равен г^^^ , то порядок числа hi равен п 2/3 5 ПО рядок числа дискретного логарифмирования в группе классов основан на гомоморфном вложении группы к п равен w^. Поэтому степень обоих поли классов в мультипликативный моноид целых номов Wi и W2 порядка п^^^. Если c^t) идеалов квадратичного порядка (так же как X bit) группа * р вкладывается в мультипликативный (mod/0) показательное уравнение, которое моноид Ж). При этом составляется база разло нужно решить в конечном поле, то выполняется жения, состоящая равенство для логарифмов: из простых идеалов (см. п. 5.6.3) с малой нормой. Разложение идеала \0gaW2(t) к ^ogaWi(t) (mod (2 и !))■ П^. на Поэтому, если Wi и W2 оба имеют простые де лители степени не более то последнее сравне ние позволяет получить линейное сравнение для логарифмов элементов из базы разложения. остальном алгоритм Копперсмита аналогичен алгоритму^' 10.1.1. Обобщением этого метода простые идеалы индуцируется разложением норм: iV"(2t) = |^Л^(ф,) . Алгоритм логарифмирования в группе классов аналогичен методу базы разложения, описанному в п. 10.1. Аналогичным алгоритмом можно найти порядок группы классов. Число классов h(D) можно также найти алгоритмом «giant step — baby для поля характеристики, отличной от 2, являет- step» (см. п. 9.2.2) с учетом асимптотического ся решето поля функций [5]. равенства h(D) « 0,4616-JdJ . 10.4. Группа классов мнимого квадратичного порядка На первый взгляд, заманчивым представляется использование немаксимальных квадратичных порядков с дискриминантом 2 q, где р. большие простые числа (в частности, подгрупп Группа классов мнимого квадратичного поряд- простого порядка/? группы классов С1((9л)/С1(Ш). ка числового поля К Q(V D) конечна и поэто- Однако эта задача сводится к задаче дискретного му может быть использована в криптографических алгоритмах. Использование группы классов мнимого, а затем и вещественного квадратичного поля для ключевого обмена по Диффи-Хеллман>' было предложено Б>'хманом и Вилъямсом в рабо- логарифмирования в мультипликативной группе поля из р элементов (если или из 2 тах [7, 8]. Число классов Пк поля К Q(V D) элементов (если Lll] Поэтому ис растет пропорционально 0{1Щ) Например, максимальное значение дискриминанта с единичным числом классов hfc~ \ равно 163. Классы задаются приведенными идеалами, для которых и определяется групповая операция. Она аналогична композиции квадратичных форм или эле- пользование мнимьгх квадратичных порядков с большим простым кондуктором не имеет пре- им>тцеств по сравнению с использованием мультипликативной группы конечного поля Квантовый компьютер позволяет как найти ментов якобиана гиперэллиптическои кривой и содержит две стадии: композицию и приведение (см. п. 5.6.3). На сегодняшний день не известны алгорит- порядок группы классов, так и вычислить дис кретный логарифм с полиномиальной сложно стью последние годы было предложено исполь зовать группы классов числовых полей степеней мы полиномиальной сложности, вычисляющие порядок группы классов. Для решения задачи дискретного логарифмирования в группе классов необходимо сначала найти порядок этой группы (он может быть простым только тогда, когда дискриминант является простым числом). Задача логарифмирования в группе классов мнимого квадратичного порядка дискриминанта D имеет субэкспоненииальную сложность более 2 (см., например, [13]). Однако для этих групп, очевидно, также возможны с>'бэкспонен- циальные методы логарифмирования и вычисления группы классов, основанные на вложении группы классов в полугруппу идеалов соответствующего поля. Поскольку умножение идеалов колец алгебраических чисел коммутативно и эти кольца обладают однозначным разложением на простые идеалы, причем произведению идеалов соответствует произведение их норм. это на \Ц (1,06; 1 /2), где 5 06 Зл/2 [17] правление криптографии вряд ли может считать Алгоритм ся перспективным. ^ ^
229 10.5. Логарифмирование в группе функций Лукаша символа Лежандра а 2 АЬ Тогда спра Использовать функции Лукаша для крипто- ведливы сравнения а р а. /7+1 графии предложили П. Смит и К. Скиннер [16]. Рассмотрим рекуррентную последователь ность, порожденную параметрами а и й: л at п-\ bL 2 ? (10.5.1) где а, й— взаимно простые целые числа. При а 1,й числа t п это числа Фибоначчи. Пусть а и ного уравнения х 2 комплексные корни квадрат ах + b Если С] и С2 произвольные числа, то для п>2 справедливо равенство: a(cia л 1 + С2В и-1 Ь(с]а и 2 + С2В И-2 Функции Лукаша и (а, 1)} (mod р). образуют цикличе- + скую группу порядка/? Задача логарифмирования в группе функций Лукаша формулируется так: для данных образующей vo(a, 1) и элемента с найти логарифм с (modp). Вложением груп такой, что Vk(a, пы {Vk(a, b)} в группу р 1 с помощью (10.5.2) задача логарифмирования в группе функций Лукаша сводится к логарифмированртю в группе 2 сх'бэкспоненциальным алгоритмом [6], на- Cia + С2Р", пример, методом решета поля функций [5]. связанное с равенством (10.5.1) следующим об разом: о С} + С2, 1 С]а + С2&. Если / целые. то Сь С2 могут быть целыми квадратичными чис лами. Введем в рассмотрение функции Лукаша по рядка л: и п (аМ а п п а для с 1 с 1 а V п {а,Ь) а" + В п для Сл Со Функции и иэ V Y) являются целыми рациональными функциями целых переменных а, й и принимают целочисленные значения. 10.6. Связь между задачами Диффи-Хеллмана и дискретного логарифмирования Задача Диффи-Хеллмана в циклической группе G формулируется следующим образом: для образующей а группы простого порядка г и двух экспонент d,d с неизвестными показателями х 5 найти экспоненту ct-. Эта задача полиномиаль но сводится к задаче дискретного логарифмиро вания в группе порядка г: для заданных а, b най Рассмсугрим последовательность, полученную ти показатель х, для которого выполняется ра . Если по а^ можно найти а^^'. из (10.5.1) заменой а, b на v^, b\ Корни а', р' со- венство а ответств^ющего квадратного уравнения удовле- можно найти х. то по творянэт равенствам: а'р' а' + р t . Проблема обратной своди- Ы<^э Ь) = о!!' + Р'^, мости задачи дискретного логарифмирования к а^р . Тогда композицию ф>'нкций Лукаша задаче Диффи-Хеллмана в общем случае пока не можно определить по формулам решена УпЫа, Ь\ b к (а к\п к^п + (Ю Vnk{a, b\ Пусть число #¥р 4 Последнее выражение позволяет вычислять функции Лукаша составных порядков. Ф>'нкция Лукаша произвольного порядка может быть найдена по формуле имеет большой про стой делитель г и разложение числа #F,. =г известно. Предположим, что решена задача Диф фи-Хеллмана, то есть по известным а, а X ч а у —■-5-, можно найти а . Эта задача эквивалентна нахождению любого из четырех перечисленных элементов по трем остальным. Например, положив V П1+П ^т+п I пт+п а X э получаем задачу нахождения V ПО из вестным 71 5 d" V ) где и X 1 (mod V X 1 Для ускорения вычислений в работе [16] было предложено использовать значение Функции Лукаша являются полиномами квадратичных целых а, р, в частности v^- + р' имеет только 1 от а +а (modp), поэтомх' их можно рас (mod Предположим, что число г малые простые делители (максимальный из них ограничен полиномом от log/?), g— образующая . Тогда задача вычисления * г и * г сматривать как элементы поля F»[a], где группы показателя у такого, что у (mod 5 является а± а э (10.5 легкой и может быть решена алгоритмом Гель- фонда (см. п. 11.1.1) с полиномиальной от log/? сложностью Покажем, что если в этом случае можно ре- то есть для перехода к квадратичному расшире- шить задачу Диффи-Хеллмана, то можно решить нию требуется, чтобы выполнялось условие для и задачу дискретного логарифмирования. Задачу
230 нахождения образующей g по известном^' разло жению порядка группы г МОЖНО решить с по линомиальнои сложностью с использованием китайской теоремы об остатках. Вычисление ло гарифма на основании решенной задачи Диффи Хеллмана выполняется аналогично алгоритму Гельфонда. Пусть g] — образующая подгруппы простого порядка о в группе F^. Положим а X э а у 81 Э а Ь'^ а~\ лителеи числа г и сравнивая а с а, находим наименьшее п такое, что а У' а, при этом J^ (mod г). Определяем множество возможных зна чений X. Далее, полагая 1 db^ для случайных л. и повторяя указанные операции, находим паи меньшее (s + tx) л 1 натуральное (mod г), и Пл^П такое. что возможных значении хит определяем множество . Затем восстанавливаем X по аналогии с китайской теоремой об ос . Решая задачу Диффи-Хеллмана, на- татках как пересечение >'казанных множеств ходим с а \>z 2 а . Затем полагаем а у - ^8\ Таким образом, при указанных выше ограни а Z с а~\ , находим с I а у а X 4 И Т. Д. ВЫПОЛ чениях на максимальный простои делитель числа задача дискретного логарифмирования по- г няя такие действия, можно вычислить а 1 для произвольного п. Придавая числу п значения де линомиально эквивалентна задаче Диффи Хеллмана. Упражнения к главе 10 D Покая^ите, что множество целых чисел с one ah а обра рацией «умножения» а* зует пол>труппу. Установите гомоморфизм ползтруппы G из мультиплика- с предыдущего упражнения тивной группой простого конечного поля ¥р. Предложите субэкспоненциальный алгоритм логарифмирования в гомоморфном пол>труппы G. Покажите, что в кольце Z[/] идеалы совпадают, а идеалы (1 +2/) и образе + 0 и 20 различны. Алгоритм логарифмирования в базы разложения основан на гомоморфизме методом * * групп р Поскольку ранг группы * бесконечен, а вероятности ненулевых коор динат векторного индекса распределены не равномерно, используется понятие гладко сти. Покажите, что если предположить (аб сурдно), что указанные вероятности распре делены равномерно, то субэкспоненциаль ныи алгоритм невозможен. Покажите (также при абсурдном предполо * женин), что если бы ранг группы Q в предыдущей задаче был ограничен полиномом от log/?, то сложность логарифмирования в была бы полиномиальной. Алгоритм логарифмирования с помощью решета числового поля основан на цепочке гомоморфизмов мультипликативных групп Q(a) * * * р ' где Q[a] алгебраиче ское расширение поля Q. Эти гомоморфизмы сюръективны (для каждого гомоморфизма 10 11 гладкие прообразы имеют гладкие образы) Найдите ядро каждого гомоморфизма. ^(Продолжение). Покажите, что если Q(0 — трансцендентное расширение поля Q, то це почка гомоморфизмов групп Q(t) —> сюръектнвна. Предложите метод логарифми * рования, аналогичный методу решета число вого поля, использующий указанные свойства гомоморфизмов. ^(Продолжение). Рассмотрите цепочку' сюръ- ективных гомоморфизмов групп Q(a)(0 Q(a) * * * р' где Q(a)(0 простое трансцендентное расширение поля Q. Можно ли понизить порядок V субэкспоненты Lp(c; за счет указанного свойства гомоморфизмов? Можно ли понизить порядок субэкспоненты. используя дальнейшие алгебраические рас ширения полей? Логарифмирование методом решета числово го поля требует субэкспоненциального объе . Чему равна константа с? ма памяти Lp{c Число простых целых чисел, меньших W, асимптотически равно n/lnn. Число неприводимых полиномов степени п в F»[^] равно п У \i{n/d)p d э где функция Мебиуса d\n Как влияет различие плотностей распределе ния простых чисел и неприводимых полино мов на сложность логарифмирования? Пусть подгруппа группы р имеет простои порядок г. Найдите значение г, при котором для /7 1024 метод решета числового поля и
231 метод Полларда имеют одинаковую слож ность. 12. Сравните сложность логарифмирования (вре менную и емкостную) в группе (Z//?Z) * для ^ простого /7 и в группе {Ж1пЖ) обратимых элементов кольца для составного числа п с 13 неизвестным разложением. Пусть а — образующая группы * р и извест но разложение числа Найдите обра зхющую подгруппы порядка г, где г \ (р 14. Предложите метод разложения, основанный на использовании функций Л>'каша над кольцом Ж/пЖ по аналогии с методом разложения на эллиптических кривых. . Покажите, что множество решений над 15 уравнения Пелля X 2 dy 2 образует под 16 группу элементов с единичной нормой груп пы , изоморфную аддитивной группе точек коники над Q с таким же уравнением. Коника C(Q): х 2 d/ бирационально изо морфна прямой в силу параметризации 2 s^d + \ 2s X s 2 э s 2 .s X Покажите, что циклической группе, образованной точкой коники, соответствует последователь 17 18 множество ность подходящих дробей непрерывной дро би \l4d, Что собой представляет образующих группы C(Q)? (Продолжение). Покажите, что задача логарифмирования в группе функций Лукаша (или в группе точек супервырожденной эллиптической кривой) над ¥р эквивалентна задаче вычисления индекса подходящей дроби для непрерывной дроби y^jd в ¥р. *Можно ли усилить метод решета числового поля использованием мультиквадратичных расширений исходного числового поля? Например, присоединением к полю i^ малых по абсолютной величине дискриминантов. яв ляющихся квадратичными вычетами по мо дулю 9 Группа Галуа такого поля абелева; идеал, гладкий в некотором расширении, остается гладким при остальных расширениях. 19. Как в методе решета числового поля можно легко учесть влияние обратимых элементов кольца Ок? Литература к главе 10 Айерлэнд К., Роузен М. Классическое введение в современную теорию чисел. М.: Мир, 1987. Ахо Д., Хопкрофт Дж., Ульман Дж. Построение и : Мир, М анализ вычислительных алгоритмов. 1979. Писсанецки С. Технология разреженных матриц М.: Мир, 1988. Ростовцев А.Г. Алгебраические основы криптографии. СПб.: Мир и Семья, Интерлайн, 2000. Adleman L. The function field steve // Algorithmic Number Theory. Lecture Notes in Computer Science. Springer-Verlag. 1994. Vol. 877. P. 108-121. Bleichenbacher D., Bosma W., Lenstra A.K. Some remarks on Lucas-based cryptosystems // Advances m Crypto logy CRYPTO '95. Lecture Notes in Computer Science. Springer-Verlag. 1995. Vol. 963. P. 386-396. Buchman based on imaginary quadratic fields // Journal of Cryptology. 1988. Vol. 1. P. 107-118. Williams H.C. A key-exchange system Buchman J., Williams H.C. A key-exchange system based on real quadratic fields // Advances in Cryptology— CRYPTO '89. Lecture Notes in Computer Science. Springer-Verlag. P. 335-343, 1990. Vol. 435 9. 10 11 12 13 14 15 Coppersmith D. Fast evaluation of logarithms in fields of characteristic two // IEEE Transactions on Information Theory. 1984. Vol. IT-30. P. 587-594. Gordon D. Discrete logarithms in GF(p) using the number field sieve SIAM Journal on Discrete Mathematics. 1993. Vol. 6. P. 124-138. Huhnlein D., Takagi T. Reducing logarithms in totally non-maximal imaginary quadratic orders to logarithms Ш finite fields. Technical report TI-99-08// http://www.informatik.tu-darmstadtde/flp/pub/Tl/TR/ TI-99-08.asia-tr.ps.gz. Menezes A., van Oorschot P., Vanstone S. Handbook of Applied Cryptography. CRC Press, 1997, Meyer A., Neis S., Pfahler T. First implementation of cryptographic protocols based on algebraic number Information Security and Privacy 6th Aus- fields tralasian Conference, ACTSP 2001. Sydney, Austra lia. July 2001. Proceedings. Leaure Notes in Com puter Science. Springer-Verlag. 2001. Vol .2119 P. 84-103. Pollard J. Monte Carlo methods for index computa tion (mod/?) // Mathematics of Computation. 1978 Vol. 32. P. 918-924. Silverman J. The arithmetic of elliptic curves Springer-Verlag, 1986.
16 17 Smith P., Skimier C. A public-key cryptosystem and a digital signature system based on the Lucas function analogue to discrete logarithms // Advances in Crypto logy ASIACRYPT '94. Lecture Notes in Computer Science. Springer-Verlag. 1995. VoL 917. P. 357-364. VoUmer U. Asymptotically fast discrete logarithms in quadratic number fields // Algorithmic Number Theory: 4th International Symposium, ANTS-LV. Leiden, the Netherlands. July 2000. Proceedings. Lecture Notes in Computer Science. Springer-Verlag. 2000. Vol. 1838. P. 581-594. 18 19 Weber D. An implementation of the general number field sieve to compute discrete logarithms mod/? Advances in Cryptology— EUROCRYPT '95. Lee ture Notes in Computer Science. Springer—Verlag 1995. VoL 921. P. 95 105. Weber D. Computing discrete logarithms with the number field sieve // Algorithmic Number Theory: Second International Symposium, ANTS-IL TaJence, France, May 1996. Proceedings. Lecture Notes in Computer Science. Springer-Verlag. 1122. P. 391-403. 1996. Vol. -,r-^ ^
Глава 11. ЗАДАЧА ДИСКРЕТНОГО ЛОГАРИФМИРОВАНИЯ НА эллиптической кривой этой главе рассматривается задача дискрет- но для логарифмирования в мультипликативной ного логарифмирования в группе точек эллипти- группе простого поля [15]. В соответствии с ме ческой кривой над конечным полем и в якобиане тодом Гельфонда эта задача полиномиально сво- гиперэллиптической кривой. Порядок группы дится к задаче логарифмирования в подгруппе предполагается известным. Это ограничение не максимального простого порядка. Поэтому на является существенным, так как вычисление по- практике число г выбирают простым. Алгоритм рядка группы не относится к трудным задачам. Эллиптическая кривая Е{К) 2 Ах) может как встречи посередине имеет временную сложность O(V'^logr) и емкостную сложность O(V^). Ал- быть представлена двояко: геометрически множество точек с групповым законом [1], и ал- горитм встречи на случайном дереве имеет вре- гебраически — в терминах поля функций менную сложность 0(Jr\ogr) и емкостную й(х)/(у" -дх)) [2, П]. При анализе стойкости ал горитмов на эллиптических кривых используют ся оба эти представления. сложность OUr/1 og г ) . Алгоритм Полларда имеет сложность o(V^) по времени операци ^- ях сложения точек на кривой) и 0(\) по памяти. 11,1. Универсальные методы логарифмирования Алгоритмы встречи посередине и встречи на ^ > этом параграфе на примере эллиптических кривых рассматриваются универсальные методы логарифмирования, справедливые случайном дереве допускают эффективное распараллеливание, тогда как алгоритм Полларда распараллеливанию не поддается. 1 ^ 'ji > - ДЛЯ произ 11 л л. Метод Гельфонда — *. ^■- m ^ вольной группы вычислимого порядка. J Метод А.О. Гельфонда базируется на основ Пусть Е{К)— эллиптическая кривая над конечным полем К^ заданная уравнением Вейер- ной теореме об абелевых группах (теорема 2.7Л), штрасса [5, 9] - ^'.- >>>."^Г"- утверледающеи. что конечная абелева группа 2 + а\Х)^ + азУ =" х^ + агд:^ + а/рс + аб. где частные производные по х и по з^ полинома задающего кривую, не обращаются в нуль одно раскладывается в прямое произведение цикличе ских групп, порядки которых являются степеня ми простых чисел. ■^ ^ временно ни в одной точке кривой даже при пе реходе пусть к алгебраически замкнутому полю. и Е{К) — точка порядка г. Если характеристика поля К отлична от 2 и 3, то уравнение Алгоритм 11ЛЛ. Логарифмирование на эллиптической кривой методом Гельфонда. Вход. Кривая Е(К) над конечным полем К; образующая точка О и точка Р е ДЮ; разложе /7 Кривой можно записать в виде ние порядка группы: #Е{К) N 2 3 Пр ^i I ^ х" ~\-Ах~\- В, 1=Л где кубический полином в правой части не имеет Выход, Логарифм / такой, что Р ю. Метод. % ^ > кратных корней над алгебраически замкнутым полем. Задача дискретного логарифмирования в группе точек эллиптической кривой формулиру- -*^ Для i ствия. I, 2,..., и выполнить следующие дей ется следующим образом: для данной точки е (О) найти показатель / такой, что Р Ю. 1.1. 1.2. Положить q Положить S Pi, а а/. / V ^ ч ^ &. . J'»;»:; ?r^?-va.b.. 1 Эта задача может решаться универсальными методами Гельфонда, встречи посередине, «giant ■ в зарубежной литературе этот метод называется step — baby step», встречи на случайном дереве и методом Силвера-Полига-Хеллмана. Советские мате- методом Полларда, предложенным первоначаль- матики предложили его примерно на 15 лет раньше [4].
234 1.3. Вычислить 7 N 1.4. Для о, 1, ...,а выполнить еле дующие действия. 1.4.1. Пол ожить S + kj_,qJ''Q, Р' N ./+1 {Р S). 1.4.2. Вычислить логарифм :/ logf/P t любым алгоритмом (например. алгоритмом Полларда). Положить // <— Ао+A:ig +... + ka-\Q^^ (mod q"). 1.5. Восстановить логарифм теореме об остатках. Результат: /. из ; ПО китайской Для обеспечения стойкости к методу Гель- фонда число N точек на кривой должно быть простым или иметь большой простой делитель г. Пусть число г является собственным делите 1 лем числа точек эллиптической кривой Тогда может существовать эллиптическая кривая £2(F р изогенная над ¥р кривой Е\(^Х причем изогения переводит подгруппу порядка г кривой i(F„) в подгруппу порядка г кривой £2(^7?). а дуальная изогения переводит подгруппу порядка г кривой ЕЛ¥ Е2{¥, в подгруппу порядка г кривой р этом случае молшо с помощью изоге НИИ перейти от кривой £i(Fp) к вспомогательной кривой Ег^^г) и искать логарифм на ней. Пример 11.1.1. Логарифмирование на эллип тической кривой методом Гельфонда. Пусть £(F97 (34, 16), / такой, что Р Для />1 Тогда к Г^+х + 9, Л^ 90 2- 2 -5, (69, 40). Нужно найти логарифм ю. logo-P' 456 и/ (19,0), Р' 45 Р со- 1 Р' Р' Для Р2 ЗОР 10(Р 1. Тогда /2 Дяя/>з Тогда h f зоо (72, 49) и о о (mod 2). (72,49). На шаге \ogaP' 1.4 ДЛЯ 0 (72, 48) и 1 log (У t 89 для 1 + 3 ■ 89 = 7 (mod 9). Ъ%оР' 186 89и^ (92,48), Р 89 1 18Р (92,49). 4 (mod 5). Равенство точек kjP ^ IjQ означает равенство их показателей в циклической группе, то есть равенство kjl L откуда / = Lkj 1 (mod г). основу метода встречи посередине положе ны следующие рассуждения. Пусть выборка объ ема т выбирается с возвращением из генераль ной совокупности объема г и т« г. Оценим ве роятностъ того, что в этой выборке не будет двух одинаковых элементов. Эта вероятность равна т г т г г Прологарифмируем это равенство с учетом того, что 1п( 1 хприх in-l \х\р т I I i r т(п: m 2 /=1 r 2/ 2r ^ exp m 2 -v\ J ^ " i^t, \ Ir (11.1.1) Поэтому при m o(4^) МОЖНО толучить сколь угодно близкую к 1 вероятность с "^впаде ния двух элементов выборки. Это свойст борки вы с возвращением называют парадоксом дней рождения: если предположить, что дни |Ю- ждения распределены равновероятно, то вероятность совпадения дней рождения у двух челове, в группе из 23 человек превышает 0,5. Сложность метода встречи посередине определяется этапами создания базы данных и ее сортировки. Сложность создания базы данных равна 0{->[г), сложность сортировки равна 0(v'' log г). Поэтому итоговая сложность алгоритма равна O^logr). Детерминированным вариантом метода встречи посередине является метод «giant step — baby step» (см. п. 9.2.2). Здесь сначала вычисляется целое число и, ближайшее к Затем вы 2 числяются точки пЦ^ 2пи^ -.., и о, и полученная Восстанавливаем логарифм по теореме об остатках: 1 = 34 (mod 90). китайской база данных сортируется. После этого вычисля- 2|Р, ... до совпадения с ются точки какой-либо точкой из базы данных. Логарифм 11.1.2. Методы встречи посередине и «giant step — baby step» можно представить в виде in + z". где Метод встречи посередине предполагает соз 0<Uj<п. Поэтому встреча произойдет не поз же, чем после п шагов, что соответствует равен дание базы данных объема 0(у}г) из пар вида ству/иО ю. Этот метод основан на представлении показа (//О, //) для случайных h и сортировку по х-ко- теля / как элемента двумерной решетки. Переход ординате точки Щ, Для случайных Л, вычисля- к решеткам большей размерности не позволяет ются точки kiP и сравниваются с базой данных, снизить сложность логарифмирования.
235 11,1,3, Метод Полларда Метод Полларда (см. п. 9.3.1) требует исполь зования «случайного» отображения т, обладаю Выбрать произвольные показатели а^ Ь^ c^du <- eg + dP, £— t(t(iS)), вычисляя положить 7? <— <?0 + bP^ Выполнять при этом логарифмы точек 4RI И В кольце щего ся^имающими свойствами и вычислимо стью логарифма (логарифм точки т(7?) можно г [/], ДО получения равенства R ±S. выразить через / и логарифм точки R). Наиболее простая ситуация имеет место, когда в качестве используются случайного отображения x(R) «ветвящиеся» отображения вида Приравняв логарифмы точек R и ±5*, вычислить логарифм / решением сравнения над полем F,- Если решения нет, то вернуться на шаг 1, иначе результат: /. '^(л:, у) (л:,у) + е, если х<р/3, (х,у) + Р, если р/3<х<2р/3, (x,y) + 2|g, если х>2р/3. Пример 11Л,2. Логарифмирование на эллип тической кривой методом Полларда Пусть Е(¥пУ. у - х-' + Зх + 9 г 83 (31, бх первом случае ]ogox(R) = iognR + во ВТО ром случае logoT{R) ~ \ogoR + /, в третьем случае \ogo^{R) = \ogoR-^ 2. Вид отображения и стартовой точки не принципиален. Если логарифм прообраза является элементом кольца F,.[/], то и логарифм образа является элементом этого кольца. (24, 53). Нужно найти логарифм / такой, что 1Q. Выбираем отображение '^(л:, у) (х,у) + 0, если X нечетное. (х,у) + Р, если X четное. Алгоритм 11.1.2. Логарифмирование на эл липтической кривой методом Полларда. качестве стартовой точки выбираем точку Строим цепочки отображений i\Q) и т '{Q) до получения равенства x(Q) = ±^'{0). Результаты образующая точка Q и точка Р е Е{К)\ простой порядок г группы ( О). Кривая Е{К) над конечным полем К\ вычислений приведены в табл. 11.1. гл п „ т?гт^. -- Встреча тХб) ~'^ (0 произошла на шаге 10 (в таблице обозначено л^ирным шрифтом). Приравниваем логарифмы одинаковых точек по модулю порядка группы: 13 + 8/^6 + 5/ (mod 83), откуда находим логарифм /=53 (mod 83). Выход. Логарифм / такой, что Метод. 10. действующее на Выбрать отображение т, Е{К)^ обладающее сжимающими свойствами и сохраняющее вычислимость логарифма. Таблица 11.1 Решение задачи дискретного логарифмирования на эллиптической кривой методом Полларда С учетом того, что длина пути до входа в цикл сжимающие свойства случайного отображения. Составляется база данных следующим образом. J{ш)Гi и и длина цикла асимптотически равны на каждом шаге вычисляется три отображения, сложность алгоритма Полларда в среднем Для случайных а^ I вычисляется точка вида / со aiQ + biP, для которой выполняется ото к ставляет 4,5J(7cr)/8 2,82 V^ бражений т и запоминается пара (т (7?/), logx (Д)) операции вычис или траектория ления отображения т. Обычно вычисление ото бражения т заключается в сложении точек. к т h log Rd. (T(7?,)JogT(7?;)),..., (RX logx (Ri))}- Логарифм каждой точки пред ставляет собой элемент кольца Г^-ГЛ, где не известный логарифм точки Р по основанию точ . Множество полученных точек и их лога ки 11Л.4. Метод встречи иа случайном дереве рифмов образует базу данных, которая сортиру ется по jr-координате. При совпадении двух то Метод встречи на случайном дереве аналоги- чек в базе данных приравниваются их логариф чен методу встречи посередине и использует мы и вычисляется / решением сравнения по мо
236 дулю г. Алгоритм допускает распараплеливание. Кроме того^ вместо точек можно использовать орбиты автоморфизмов. Оценим сложность алгоритма при запомина- тель 0(logr) появляется в результате сортировки базы данных и выполнение 0(logr) отображений не изменит асимптотическую сложность алгоритма. В этом случае встреча возможна на глубинах не менее 0(logr). Число точек с такой глубиной равно /log г Предположим, что после каждо го шага вероятность попасть в любую to4iw с глубиной не менее 0(logr) одинакова (если это не так, то вероятность встречи после к шагов увеличивается, а сложность алгоритма падает). Тогда достаточно иметь объем базы данных, в соответствии с (11.1.1) равный m^Oi-^r/logr). Алгоритм содержит два этапа: построение базы данных со сложностью 0(т log г) и сортировку базы данных со сложностью 0(m\ogm). Для итоговой сложности ^^ алгоритма справедливо неравенство 5* < 0{^г log г ); равенство достигается, если вероятности попадания после к шагов в любую точ- глубину «2 > d\ равна pjd, +1) P(d, - 5- при 1 + Pid, НИИ конечных точек траекторий для k~0{\ogr). p(d +1) Это значение выбрано исходя из того, что множи- V p{d, +1) рШ при 2 > Ji + 1 (второе условие соответствует пунктирным стрелкам на рисунке 11.1; вероятность P{d\ + 1) в знаменателе учитывает запрет перехода на глубины, меньшие d\ + 1). d + d+2 s I Рис. 11.1. Строение случайного дерева Вероятность перехода на очередную глубину ку с глубиной не менее 0{к) одинаковы. Можно показать, что если запоминать не конечные точки траекторий для к шагов, а все тра- с учетом частично перекрывающихся условии ектории или некоторые их части, то асимптоти- для p\{d2\di) можно записать следующим обра- ческая оценка сложности не улучшается. зом: Рассмотрим метод встречи на случайном дереве подробнее. Из каждой вершины графа случайного отображения исходит одна стрелка; в вершину, не рМ^+ 1 4) p{d+\) p{d,) + P(d,) Подставляя Ж) 2/df, Fid,) являющуюся листом, входит хотя бы одна стрел- оценки в п. 1.4.2V получаем ка [3]. Выполнение одиночного шага для верши- , лежащей на глубине J], ведет к вершине с ны большей глубиной. Л^ d 1 Пусть Nd. — число вершин с глубиной rf/. Тогда d.^X Положим АЛ^ 1 К d К 1 j+b Тогда из R d+} вершин, обладающих глубиной 1, стрелки ведут на глубину 1 а из AM/ вершин, обла дающих той же глубиной, стрелки ведут на про извольные глубины, превышающие d\ (рис. 11.1; сплошные стрелки указывают на переход на очередную глубину, пунктирные — на произвольную глубину, превышающую начальную). Вероят- >d ность такой стрелки привести на глубину W2 пропорциональна числу вершин на глубине ^2- Обозначим P{d) вероятность того, что глубина рМа+ 4) , у*^ , . . , ^, ^ - i^V^-l с учетом того^ что p{d,) p{d,+1) p{d, )P(d,+1) 2 d,+l можно записать p,{d. d) Q{d^ +1), если pid,), 2 если 2 Щ aid, +1). d,+l 5 d, +1. (cm вершины не менее p{d) Отсюда следует, что для больших глубин вероятность пропуска очередной глубины при одиночном шаге падает пропорционально квадрату вероятность того, глубины, а вероятность попасть на глубину в что Piidi глубина вершины равна Вероятность результате такого пропуска приблизительно рав di) за один шаг попасть с глубины 1 на на безусловной вероятности попасть на глубину
237 ^2, TO есть не зависит от d]. Процесс спуска по случайному дереву является марковским с мат рицеи Pi ('" 17") у переходных вероятностей Рп- г ео) Р(2) 6(2) Р(3) ДЗ) 6(3) V- Обозначим p]id2 \ d{) вероятность перехода с шагов. Матрица глубины d\ на глубину за пфеходных вероятностей за шагов равна [10]. Обозначим V]id) суммарную вероятность перехода на глубину J за А: шагов: d Pk{d) YpiOp к I о Пусть М«г— объем выборки, при котором встреча после к шагов происходит с большой вероятностью. например ? 1/е. Вероятность встречи зависит от глубины. Встреча не произойдет, если ни на одной глубине в выборке не окажется двух одинаковых вершин. Если на глубину d попадут Mj вершин, то вероятность того, что среди них не будет двух одинаковых, равна ех М 2 d 2г , где Vd— общее число вершин дере d ва с глубиной d. Если на глубины J, попадут Mj вершин, то встреча произойдет с вероятностью Пехр 4 м 2 d, It М 2 d, d. d, 2r (11.1.2) di Поскольку M d. I Mpkid,), Ги 1 rp{di\ вероят ность (11,1.2) можно записать в виде М 2 1г d, рМ) Ж) (11.1.3) примерно равно log.M (log2 r)/2 . Отсюда on тимальное значение М 2г 2 Pid, (11.1.4) ^U - . . ■ Назовем путем последовательность глубин. которые встречаются в ходе спуска по дереву. Вероятность pf^d) будем искать как сумму вероятностей путей длины к на глубину d; число та ких путей равно Вероятность каждого пути равна произведению вероятностей соответствующих шагов. Оценим значение Мв формуле (11.1.4) снизу. положив p(dA 2/df И Qid,) Путь длины имеет не более к пропусков очередной глубины. Для вероятности w(d) пути cj пропусками на глубину J имеет место неравенство n\d) <p{d-j)o/(d) симметриче- где aid) oMOl ...,pid 1)) я екая функция. Положим к Pkd) p(d А:)УаД^). (11.1.5) J о Тогда р. (d) < р1 (d). Функция o,{d) стремится к О с ростом / и Например, для точных значении вероятностей oi (64) 02(64) аз(64) 0,603; 0,16; 0,025; а, (256) 02(256) аз(256) 0,624; 0,172; 0,028; 0,(1024) 02(1024) Оз(1024) 0,630; 0,176; 0,029. Сумму симметрических функций в (11.1.5) мояс- но оценить сверху числом 2. Подставим (11.1.5) в сумму в правой части (11.1.3) с учетом того, что pk{di) при I и о(4~г) Pid) Р(к). Получим: d^k л ^ 0(47) d,=k рМ1 рЮ o^H(p{d, к)) 2 d=k рЮ р(к) Отсюда при 0,5 log2r получаем Таким образом, задача нахождения оптималь- М > 0{J г/log г ), то есть асимптотическая слож но го числа шагов сводится к минимизации суммы il^ + Mlog2M, при условии, что выраже ность алгоритма встречи на случайном дереве .,,,«. , ^ равна OiJrlogr) и всегда превышает асимпто- ние (11.1.3) дает 1. Отметим, что минимизация ^ \м ь ^ /-. f слагаемого Мг невозможна, так как она требует тическую сложность алгоритма Полларда. Одна- поиска максимума монотонно убывающей сум- ко алгоритм встречи на случайном дереве допускает распараллеливание. Аналогичными рассуждениями можно показать, что при запоминании не конечных вершин 2 МЫ 2 d: I Pid Оптимальное число шагов I
238 после к шагов, а всех к вершин, встречающихся параллельных процессора. Сложность сортиров при спуске, алгоритм Полларда улучшить также ки базы данных отдельно не учитывается. Запо невозможно. минаем траектории (х-координаты). Для каждой Таким образом, доказана следующая теорема Теорема 11.1.1. Алгоритм Полларда невоз можно улучшить за счет увеличения объема памяти. стартовой точки делаем четыре последовательных отображения. Процесс решения показан в таблице 11.2. Получаем равенство х-координат первого процессора на шаге и и третьего процессора на Пример 11.1.3. Логарифмирование методом шаге 4. Поскольку (31,67) (31, приравни встречи на случайном дереве. ваем логарифмы с учетом знака; 3/ + 6 Решим ту же задачу, что и в примере 11.1.2, с (mod 83), откуда/= 53 (mod 83). помощью того же отображения, используя три .'>> ^ ^^ ^.^ Таблица 11.2 Логарифмирование методом встречи на случайном дереве Сжимающие свойства случайного отображе- дом Полларда и сложности логарифмирования в ния наиболее заметны лишь на малых глубинах, конечном поле F^ приведен в табл. 11.3 и 11.4 что проявляется в виде увеличения средней глу- [7]. Значение с= 1,92 соответствует методу ре- бины до 0(log г) после одиночного шага от листа, шета числового поля при «правильном» выборе Каждый последующий шаг увеличивает глубину характеристики поля; с= 1,57 соответствует мена 0(1). Использование композиции отображений тоду Копперсмита для поля характеристики не усиливает сжимающие свойства, так как после Кроме того, с учетом тенденции снижения кон- первого отображения можно попасть в вершину, станты с по опыту предшествующих алгоритмов которая является листом для второго отображе- логарифмирования, рассмотрен и случай с ния. Поэтому композиция отображений ведет себя Предполагается, что г как одиночное отображение. 11.1.5, Сравнение сложности логарифмирования на эллиптической кривой и в конечном поле Отметим, что методы Полларда и решета числового поля сильно разнятся, поэтому их сравнение в табл. 11.3, 11.4 носит приблизительный характер. Кроме того, алгоритм Полларда, в отличие от алгоритма решета числового поля. практически не требует памяти. Сравнительный анализ сложности Sj^c лога рифмирования на эллиптической кривой мето j^ -и-Г ^л ■V -"и^ Таблица 11.3 Сложность дискретного логарифмирования на эллиптической кривой и в конечном поле для одного и того же размера задачи
239 Таблица 11.4 ^ b V Размер задачи (Кбит) для одинаковой сложности .У дискретного логарифмирования алгоритмом Полларда (строка 2) и субэкспоненциальным алгоритмом для различных коэффициентов с (строки '^^ -" -L. > -' V -- 11.1.6. Логарифмирование с помощью квантового компьютера Квантовый компьютер позволяет вычислить с полиномиальной сложностью дискретный лога рифм в произвольной циклической группе вы числимого порядка алгоритмом Шора. Если по рядок (и структура) группы является трудновы вы числимым по отношению к традиционной числительной модели, то квантовый компьютер позволит и его вычислить с полиномиальной сложностью по аналогии с вычислением порядка элемента в группе (Ж/пЖ) (см. п. 9.3.6). Соглас но результату А.О. Гельфонда задача дискретно го логарифмирования в произвольной цикличе скои группе сводится к задаче дискретного лога рифмирования в подгруппе простого порядка г. — произвольная аддитивная цикли Пусть ческая фуппа простого порядка г. Решение зада чи дискретного логарифмирования в группе (для двух элементов Р, такой, что Р = IQ) сводится к задаче нахождения найти показатель таких двух показателей что hO + hP а где /i/ 1 \п нулевой элемент группы (mod г). Тогда Для решения задачи дискретного логарифми рования требуются три квантовых регистра. Первый регистр содержит первый показатель а ь второй регистр — второй показатель о, в третьем регистре обратимым образом вычисляется элемент аО л-ЪР ^ G. Алгоритм 11.1,3. Вычисление дискретного логарифма на квантовом компьютере. Вход. Элементы P,Q ^ G, порядок группы г. Выход. Логарифм / такой, что Р ю. Метод (первые четыре шага выполняются на квантовом компьютере, последний шаг обычном компьютере). на ■к <■ ^ - Г Yi\a\\b\\aQ^bP)). a,b Вычислить преобразование Фурье первого и второго регистров: г-\ г~\ г 2 2 •Kiabilr t)\ a=Oh=0 Измерить состояние трех регистров (/j; /2; 1Q + hP). Вычислить логарифм зультат: логарифм /. /i/ 1 1'2 (mod г) Ре На втором шаге состояние третьего регистра описывается всевозможными суммами aQ ^bP ^G^ где а^ Ь пробегают все множество Ж1гЖ. Если a,Q + b,P^a2Q + b2P. то {аъ bi) (аь*1) + ?^-(Ь0, гдеХ Ж/гЖ, Пусть на четвертом шаге состояние третьего регистра равно о аО-^ЬР соО. Тогда а Со Ы (mod г) и первые два регистра имеют состояние Гг г~\ ь=о с о W(modr)>,|^. (11.1.6) Элементы матрицы преобразования Фурье это характеры порядка г. X/ xh (a,b) е 2пЦа1,Ш,)1г Равенство При этом выполняется тогда и только тогда, когда ah + Ы I 2 (mod г). Обозначим Xi е liiilr Пре образование Фурье действует на квантовый ре гистр следующим образом: г 1 > ■Гг Exf А:=0 И позволяет исключить зависимость результата 1. Инициализировать из состояния 10), 10) первых от случайных коэффициентов а^ Ь, Действитель двух регистров суперпозицию — V v '^^И ^)) • Обратимым образом вычислить но, поскольку сумма характеров, входящих в преобразование Фурье, в остальных случаях нулевая, первые два регистра при измерении могут находиться только в состоянии, соответствую-
240 щем единичным значениям характеров. Поэтому 3 (Р) Р. что соответствует характеристиче применение преобразования Фурье к первым скому уравнению двум регистрам (11.1.6) даст вектор состоянии 2 + (11.2.2) Г 1 v^ е Inicnl 2 {\h IL (modr)). 2 Отображение ф является автоморфизмом эл / 2 О Измерение состояния первого и второго реги липтической кривой, его степени образуют груп пу порядка 6 по умножению. Теоретически возможны два случая: 1) отобра стров даст пару (/], li) Иъ h\ где 2 G Ж1гЖ случайная величина. Тогда / 1 \п (mod г) жение ф действует внутри подгруппы {Q) порядка г; 2) отображение ф действует из одной подгруп- Алгоритм 11.1.3 применим для вычисления пы порядка г в другую подгруппу порядка г. Од дискретного логарифма в произвольной цикли- нако в криптосистеме вторая ситуация на практи ческой группе вычислимого порядка. При этом ке невозможна, так как число г по порядку величи необходимо адаптировать квантовый компьютер ны должно быть близко к числу точек (см. гл. 15). для вычислений в соответствующей циклической Поскольку бесконечно удаленная точка оста группе. Сложность вычисления логарифма на квантовом компьютере для произвольной адди- ется неподвижной под действием ф, то из (11.2.2) заключаем, что г - 1 = О (mod 6). Таким образом. тивно записанной циклической группы равна все аффинные точки группы {Q) разбиваются на 0(logr) операций сложения элементов туппы. шестерки, которые являются орбитами группы Для эллиптической кривой Е(^^ и для группы {Q) относительно группы автоморфизмов. Орби- ~р сложность вычисления логарифма равна та, содержащая точку (x,j), полностью опреде- 0{i}ogpf) логических операций. Для вскрытия ляется одним из значений х' или у^. Логарифмы ключа подписи стандарта ECDSS (см. п. 15.6.5) точек орбиты связаны вычислимым соотношение длина квантовых регистров должна быть около ем, поэтому знание логарифма одной из точек Pi -, r<i ^ _ /Г J. _ __^ 10 кубитов. орбиты позволяет вычислить логарифм любой другой точки /^2 этой же орбиты. Для этого ДОС 11.2. Влияние комплексного умножения на сложность логарифмирования таточно ф'(р решить показательное уравнение 1 F? относительно /, где <t< Поэтому при логарифмировании методом Пусть К— конечное поле из а п элементов и EIK — эллиптическая кривая, заданная в форме Вейерштрасса: Полларда (а также любым другим методом) можно расширить понятие встречи, используя равенство не для точек, а для орбит. Это расширение потребует вычисления значения у для каждой точки 2 3 2 + а\ху + аъу ~х + агх + а^ + а^ (11.2 где Qi G К. Точки i^^y) кривой. как решения уравнения (11.2.1), могут лежать в алгебраиче т^(/'). Поскольку эта операция значительно проще, чем сложение точек, ее сложностью можно пренебречь. При достижении встречи орбит логарифмы точек можно легко уточнить. Таким обра- ском расширении поля К. При переходе_к алгеб- зом, можно получить снижение сложности лога- раически замкнутому полю кривая Е{]Ц имеет рифмирования по сравнению с п. 11.1 в л/З раз. бесконечное число точек. Предположим, что эл липтическая кривая Е{К\ обладает комплекс ным умножением, то есть Yx\diE) Комплексное умножение позволяет, с одной При этом сложность алгоритма Полларда составит 1,99-\1г операций вычисления отображения т. стороны, ускорить вычисления на эллиптической кривой (подробнее см. п. 15.4), с другой стороны, снизить сложность логарифмирования. Пусть теперь р (mod 4) — простое число. Тогда существует элемент .2 -. .^ I G F„ такой, что р I пением . Эллиптическая кривая с неполным урав X +Ах с инвариантом 1728 за 2 Рассмотрим эллиптическ}^ю кривую Е{¥рХ где (mod 6), заданную неполным уравнением х^ + 5, при этом / = 0. В поле F„ существует данная над полем ножением вида ф: (х, v) обладает комплексным ум X, гу) причем 3 Ф(р ее СП- Оператор комплексного умножения 1 + элемент о удовлетворяет характеристическому уравнению кубический корень из 2 J <.- -- i (11.2.3) единицы. Эта кривая обладает комплексным ум ножением ф: (х,у) (шх. Отображение ф является автоморфизмом эл У), причем по опреде- липтической кривой, его степени образуют груп лению Ф(р оо со Имеет место равенство пу порядка 4 по умножению.
l^l^L Будем считать, что отображение ф действует внутри группы <g). Тогда из (11.2.3) следует, что (mod 4). Таким образом, все аффинные г точки группы {Q) разбиваются на четверки, ко торые являются орбитами группы (Q) относи тельно фуппы автоморфизмов. Орбита, содер жащая точку (х, у), полностью определяется зна О _ _ чением х . Логарифмы точек орбиты связаны вы числимым соотношением, поэтому знание лога рифма одной из точек Pi орбиты позволяет вы числить логарифм любой другой точки ^2 этой же орбиты. Для этого достаточно решить показательное уравнение ф (Pi) = Pi относительно <t<3. где Проводя рассуждения, аналогичные случаю (mod 6), получаем снижение сложности логарифмирования по сравнению ел. 11.1 в V2 раз, то есть сложность алгоритма Полларда составит l,99v г операций вычисления отображения т. Пусть Е/¥р — эллиптическая кривая, рассмат риваемая над конечным расширением F^ поля F где Я' Тогда на кривой £{¥,,) эндоморфизм Фробениуса ф:(х,у) > р ,/), где Ф(Р О05 действует как комплексное умножение. Опера тор комплексного умножения удовлетворяет ха рактеристическому уравнению 2 7ф + (11.2.4) где + — след эндоморфизма Фробениуса. Отображение ф является автомор- #Е{¥, физмом эллиптической кривой, оставляющим неподвижными точки с координатами из F рт сте пени этого автоморфизма образуют группу по рядка п по умножению. Один из двух комплекс ных корней уравнения (11.2.4) задает показатель. на который умножается точка с помощью эндо морфизма Фробениуса. Как и прежде, будем считать, что отображе действует внутри группы (Q). Тогда из ние (11.2.4) следует, что г (mod п). Таким об разом, все аффинные точки группы {Q) разбиваются на орбиты относительно группы автоморфизмов. Орбита, содержащая точку (х,^), определяется любой симметрической функцией относительно степеней автоморфизма ф, например, следом х-координатьг. Щх) р х + х^' + х + ...+х^ п-\ Чтобы вычислить логарифм точки Pi орбиты. зная логарифм точки Р\ этой же орбиты, доста точно решить показательное уравнение ф'(Р относительно t, где \ <t<n I 2 Сложность логарифмирования снижается по алгоритма Полларда составит 2,82J 7 опера ций вычисления отображения т. Рассмотренные эллиптические кривые обладают вычислимыми орбитами автоморфизмов, что позволяет несколько снизить сложность логарифмирования. Список кривых, для которых применим метод логарифмирования на орбитах автоморфизмов, может быть расширен за счет На- использования изогении малых степеней, пример, если рассматриваемая эллиптическая кривая изогенна кривой cj = О, то можно перейти от исходной кривой к кривой су = О и вычислить логарифм с использованием орбит (см. п. 15.4 и приложение). -1.-ГК 5._ Л1 Д^ ^ 11.3. Логарифмирование с использованием функции Вейля Пусть Е{К) эллиптическая кривая, Р, Q, 00 — бесконечно уда — точки этой кривой и ленная точка. Пусть/; vifp— функции Вейля на эллиптической кривой с дивизорами div(/"o) r{Q) г{РЛ dw(fp) HP) HP GO Выберем дивизоры нулевой степени ' _ * в *— D о (0 (Ро.); D, = (P + R) (R). Спаривание Вейля е : ЕМ -^ {Ц , отобра- в группу корней степени г из единицы для алгебраического расширения L/K, вычисляется как функция жающее группу кручения порядка г е I iP,Q) О (D,) Г Т Т ^ ^ ^ MD ? ■а ^ ■; / ^ ■V ъ. J_ > где ^ -3^ г {D fAQ) fp (P^ r (АО a (P + R) r о {R) — значения функций на дивизорах. Спаривание Вейля может бьггь вычислено алгоритмом И.А. Се- маева с использованием функций Вейля (см. алгоритм 7.11.1, а также гл. 7 работы [6]). Пусть причем НОД(г, q) HOC расширение (mod г), а спаривание Q точка порядка г на кривой Е{¥ . Тогда существует конеч поля Q такое. что #L Вейля задает вложение L . Задача логарифмирования на эллиптической кривой сводится к логарифмированию в мультипликативной подгруппе конечного поля субэкспоненциальным алгоритмом (см. гл. 10). Спаривание Вейля задает изоморфизм из группы сравнению с п. 11.1 в V« раз, то есть сложность Е(^Л в подгруппу порядка г группы i*.
242 Оценим степень расширения т = {L:¥g\ при которой не происходит снижения стойкости за счет использования спаривания Вейля. Слож ность субэкспоненциальных алгоритмов типа алгоритма Копперсмита оценивается формулой ^ (с; \ 3 (см. гл. 10). Приравняем сложности алгоритмов Полларда и Копперсмита: Другим примером я вляется эллиптическая кривая E/Fo: 2 + Х^+Х + С нулевым инвариантом, имеющая одну точку над г 2 и, еле довательно, значение следа отображения Фробе ниуса, равное 2. Характеристическое уравнение отображения Фробениуса имеет вид г- _ _ . .. ...._ 1 . . '2 -1 г 2ф + 2 Его корни равны 1 ± /, где i 1. Эта кривая над полем из 2^^ элементов имеет число точек 4^ е с ^/(wln^Xlnln^'" 2 Возведем в куб логарифмы обеих частей с учетом равенств In л/г In г/2 и г а: and) 3 3 %с{г)г In g)(ln In q т<1 или (Ing) 2 3 2 8mc'(lnlng^r- Численное решение этого уравнения относи тельно т в зависимости от q для различных зна чений с приведено в таблице 11.5. Таблица 11.5 Степени расширения т исходного поля, при которых использование спаривания Вейля неэффективно Метод, основанный на особенно эффективен, если спаривании Вейля, или + Второй случай соответствует су первырожденнои кривой, например, заданной уравнением у =х ^В (modp), где /> = 5 (mod 6), ^ ^ I Л . - ж _ — J Л ^3 ж _— Л Лх или у =х -+-Ах (mod »), где р (mod Этот метод эффективен и для некоторых эллиптических кривых над расширенными полями. Например, эллиптическая кривая £/¥2'- ?+ я п + + /) /7 О". Преобразуем последнее выражение: N„ И 1 + 2 П + 1 V V Г1-/ V Значения суммы s 1 + i /7 /7 I + степе ней сопряженных характеров степени ъ приведе ны в таблице 11.6. первых двух случаях число точек является квадратом целого числа, такие кривые нецелесообразно использовать в криптографии. В остальных случаях для логарифмирования можно использовать спаривание Вейля для расширений степени 2, 4 и 4 соответственно. Таблица 11.6 Значения суммы f\+i п S и + V I К Таким образом, задача логарифмирования на эллиптической кривой ( 2 С нулевым х^-+ с нулевым 7-и нвариантом и нулевым зна- инвариантом сводится к логарифмированию в чением следа отображения Фробениуса имеет поле степени расширения не более 4, то есть та над F^,. число точек JV„ 2 п + ?+ Следова- кие эллиптические кривые тоже не годятся для тельно, группа точек такой кривой вкладывается в мультипликативную группу поля F 9. криптографии. Если порядок группы (g) равен />, то функция Вейля позволяет установить вычислимый в обе 2 Вычисление логарифма в конечном поле мето стороны изоморфизм группы (2) с аддитивной группой ПОЛЯ Fp. Этот изоморфизм устанавливается с помощью логарифмической производной [16]. Обратный изоморфизм вычисляется путем дом решета поля функций или методом Копперсмита требует большого обьема памяти. Если объем памяти значительно меньше требуемого, то временная сложность увеличивается по сравнению с общепринятой умножения точки Q на элемент поля F^,. В основу оценкой. При ограничении на объем памяти степени метода логарифмирования положены следуюпще расширения, указанные в таблице, снижаются. утверждения.
243 Теорема 11.3.1. Пусть К— поле характери- двух различных простьгх чисел и #Е(^р стикир>Ъ и Е(К): у =х +Jx + j5 — эллиптиче #Е(¥ ч то #Е(Ж/пЖ) п такой эллипти екая кривая, имеющая циклическую подгруппу ческой кривой применим метод логарифмиче (б) порядка р. Пусть fo — функция на кривой ской производной над 5 Е(К) с дивиз ор ом div(^) /^(0 ЫР со и I о dx полная производная. Тогда div(/i t div(/; О div( v). . Если #E(¥^ #E(¥g) =p, TO тоже #Е(Ж/пЖ) = п. Однако в этом случае метод логарифмической производной над не работает, так как аффинные координатные кольца кривых над Ж/пЖ не изоморфны. Доказательство см. в работе [16]. Теорема 11.3.2. Пусть <0. Тогда функ 11.4. Другие задачи, связанные с логарифмированием ция t (И) в точке определена корректно. Покажем, что сложность вычисления лога f рифма на эллиптической о со 5 функция f кривой зависит от о задает изоморфное сложности решения двух задач. Первая зада ча о вложение группы (Q) в группу F,^. поднятие точки эллиптической кривой из конечного поля в бесконечное (числовое поле или поле рациональных функций). Вторая за- на эллиптической кривой, обладающей дивизором Для вычисления логарифма строится цепочка с большим носителем и такой, что логарифмы точек, входящих в дивизор функции, перечне- Доказательство см. в работе [16]. дача — нахождение вычислимой функции отображений t ЛИМЫ. о о ш Эллиптическая кривая -с х^ ^ -V " -^ - ■ Р ? О 2 3 Е(К):у' = х' + Ах + В 5 где fo функция Вейля, f (11.4.1) (Л) значение ло гарифмической производной функции Вейля в заданная над числовым полем 7^=Q(6|, ... может быть приведена по модулю /?, если 9 т/3 F. точке 9 причем точка имеет ненулевую Действительно, переходя к проективной форме 1 координату Логарифмическую производную можно вычислить алгоритмом 7.11.2 (см. также работу [6]). Для нахождения логарифма / такого что Р - IQ, нужно вычислить дробь Х^ + AX^Z-\-BZ^ получим уравнение кривой с эквивалентностью (X], Y], Z\) = (Xj, Yj, Zj), если X 5 1 X, к 2 9 1 ^2 ^1 для ненулевых Zb и 2 X I (Ю 1 Xj Z. 2 9 ДЛЯ р f (mod р). к к ненулевых У,. Умножив 2 {R) координаты точки на наибольший общий дели Таким образом, задача дискретного логариф- решается легко и не безопасности мирования в случае i может быть положена в основу криптографических алгоритмов тель знаменателей, получим целочисленные ко ординаты, которые допускают редукцию по мо дулю р. Поскольку НОД(Д X , то ситуация (mod/?) невозможна и отобрал<ение E(K) Е{¥, определено корректно. Сложение с открытым точек описывается рациональными функциями, ключом. Однако ее можно использовать при раз- допускающими редукцию по модулю/?. Если при работке криптографических алгоритмов шифро сложении точек знаменатель углового коэффи вания с секретным ключом на эллиптической кривой ДРр) (ключом является уравнение кривой и характеристика поля (см. п. 15.6.4)), для построения корректирующих кодов, а также в качестве сертификата того, что составное число свободно от квадратов. Если эллиптическая кривая рассматривается циента касательной или секущей делится на/?, то полученная сумма с о отв етству ет бесконечно удаленной точке кривой Е(^Л. Таким образом. редукция по модулю р определена и задает го моморфизм абелевых групп над кольцом где п ра произведение ф:£т Wv (11.4.2)
244 Обратно, кривая ставлен как вектор, число координат которого 2 3 ДР.): у'^х' + Ах + В (mod/?) (11.4.3) может быть вложена в кривую Е{}С). Будем назы вать отображение точки др. в точку Е{}С) поднятием точки из поля F^^ в поле К^ при этом сравнение (11.4.3) превращается равенство (11-4.1). Сумме точек кривой Е{К) соответ- равно рангу кривой. Равенство (6.13.1) устанавливает связь задачи логарифмирования на эллиптической кривой ДРр) и задачи вычисления ве1сгорного индекса поднятой точки кривой Е{К)- Пример 11,4Л- Индекс точки бесконечного порядка. ствует сумма точек кривой jE'(Fp). Поэтому задача вычисления (векторного) индекса на кривой Е{К) Эллиптическая кривая 2 3 X + 17 имеет над полем со отв етствует задаче вычисления индекса ранг [13]. Образующие групп беско на кривой Е(^^^ относительно образующих кривой Е{К). Группа точек кривой Е{}С) бесконечна, каждой точке кривой ДРр) соответствует бесконечно много точек кривой EifC). печного порядка равны I (2, и 2 2,3), индекс точки бесконечного порядка является двумерным вектором. Точка R с координатами 1466 56857^ Пусть #Е{¥. 7 1 где г— простое число. Если 169 9 2197 представляется в виде бесконечная группа точек кривой Е(К) циклична ЗР с образующей Рь то ядро гомоморфизма (11.4.2) 1 2^2, ее индекс: ind(R) (3, 2). При пе имеет вид реходе к расьиирению кольцо целых Кег(Ф) пгР}, квадратичных чисел имеет вид 1 + где п е ? а точке kPi, где к е ¥,-, на кривой Е{¥, будет соответствовать множество точек кривая обладает комплексным умножением на k + пгР] на кривой Е(К). Пусть бесконечная группа точек кривой Е(К) число 1 и и на без кручения имеет две образующих кривой Е(¥р) выполняется равенство (^(Рт) — Щ{Р[)-, где S G F;-. Ядро гомоморфизма включает в себя целочисленные линейные комбинации образующих, кратные г. Кроме того, в ядро входят комбинации образующих, гомоморфный образ которых дает бесконечно удаленную точку, например, sP\ - Р2, (2s (mod r))P] ~ 2P2 и т. п. Тогда Кег(ф) П]гР] + П2ГР2 + (ms (mod r))P 1 тРо, ит e¥r. предьщущее рассуждение. где Wj, П2 G Обобщим предьщущее рассуждение. Пусть бесконечная группа точек кривой Е(К) без кручения имеет к образующих Pj, ..., Р;^ и на кривой Е(¥„ ВЫПОЛНЯЮТСЯ равенства Ф(П) sMP 1 Sk-} ф(Pk-^^У Тогда к к-1 Кег(ф) T^i^P, + y(miS^(modr))P, t=] i=] m I (mod r)Pj. 9 ? задаваемое парой функций 9 2 (px. у). Поскольку число р не является рациональным, то множество образующих уд ваивается, то есть образующими становятся так же точки (2р 2 5 1+ ,5 , 2 2р%3 1 + Пусть Н квадратная матрица размера к, где к — ранг кривой Е(К), -J- W f- кр,+р,) MP) КР,) и И 1 к — образующие циклических групп бесконечных порядков. Тогда имеет место равенство Г17] hij{riP^... + n,P,) пНп т 9 (11.4.4) где т G Z, т I F,. позначно точностью до точки кручения) опре деляется канонической высотой (см. где п («1, --.,«fc) векторный индекс ind(P) Каждая точка эллиптической кривой Е{К) од- точки w,P,+ ...+/7^- Определитель матри цы Н является положительным вещественным п. 6.13). числом и называется регулятором эллиптиче Точка кручения имеет нулевую высоту. Группа ской кривой Е{К). Выражение (11.4.4) устанав точек кривой Е{К) бесконечного порядка {группа ливает связь между канонической высотой про Морделла-Ветя) конечно порождена в соответ- извольнои точки кривой Е{К) и ее индексом. ствии с теоремой Морделла-Вейля [17]. Индекс Задача поднятия точки требует указания всех md(P) каждой точки Е{К) может быть пред- двоичных разрядов координат точки кривой
245 E{K). Длина координат пропорциональна квадра ту показателя. Задача поднятия является слож Предположим, по аналогии с теоремой Мазу ра [14], справедливой для случая К Q, что НОИ, так как перечисление всех разрядов коорди группа кручения эллиптической кривой над по нат требует экспоненциального времени (даже лем К может иметь только гарантированно ма- без учета сложности собственно вычислений), лый порядок, меньший чем г. Тогда общий план Однако, если ранг к кривой Е(К) достаточно ве- решения показательного уравнения кривой Е(¥р) может иметь следующий вид IQ на лик, то на ней существует значительное число точек с малой высотой. Ранг эллиптической кри- умножением. Поднять из поля Fn в поле К не менее к точек р вой. обладающей комплексным 1 может быть вычислен с помощью так назьгвае -функции в предположении, что верна ги afP + bjQ для некоторых а /5 определив мои при этом вид поля К. Не все а, и b I должны быть потеза Берча и Свиннертона-Дайера [17]. Определим вес w ^ w(P) точки Р е Е(К) на то нулевыми. чечной решетке как сумму абсолютных величин Найти образующие Pj, ..., Д свободных под групп группы Е{К) (в силу теоремы Мордел координат векторного индекса. Если ind(P) (И],..., %), то w{P) = \щ\ + ... + \п)1. Число точек A/(w) с весом W в соответствии с известным результатом из комбинаторики равно ла-Веиля множество образующих конечно). Найти векторные индексы точек Rf в группе Е{К) путем последовательной минимизации канонической высоты. Ww) (к + w w (11.4.5) . Методом гауссова исключения найти логарифм точки Р относительно точки Q в поле F^. Ранг и множество образующих группы Е{К) вычислимы [19]. Найдем сложность шагов Если 0{w\ то число точек с весом не бо Заменим в (11.4.5) факториалы по формуле лее W можно оценить числом точек с весом w. Стирлинга и приравняем \о^ЩмЛ и log г в пред Вес является вычислимой функцией точки, спо- положении, что А:« w. Получим соб вычисления основан на минимизации кано ническои высоты. log г logMw) Оценим сложность нахождения индекса точки {к + и^) log(/: + w) klogk w log>v»2A:log2 к PeE(K) 5 I«,^ 5 если ранг кривой E(K) pa Тогда (logo r )/2- /=i k вен к и вес точки Р не превышает w 5 п I <w. I ! Для нахождения логарифма / нужно найти 0{к) индексов точек 7?,, сложность этой операции (шаг 3) равна что каноническая высота 2 Из (П.4.4) следует, точки Р приближенно равна 0{kw Дня нахождения индекса точки но к точке Р прибавлять точки ±Р, до тех пор, по ка не будет получена нулевая каноническая высо mi3 3 0{Tk'w'\oQikw 2 0(2'"(logrfloglogr)- Е{К) нуж та. После каждого сложения высота должна Если предположить, что значение т остается ограниченным с ростом г, то сложность шага оценивается полиномом степени не более log г, сложность шага от полиномом степени уменьшаться. Число сложений точек в ходе вы числения индекса равно 0{kw\ Наиболее трудо емкой арифметической операцией при сложении точек является умножение. Сложность умноже имя целых чисел методом Шенхаге-Штрассена (см. п. 7.1.3) равна 0{kw^\og{kw'^)). Пусть поле К является конечным расширением поля Q, полу- от log г. Итоговая сложность вычисления лога рифма равна 6 0(2"'(log,f log log г) + 0(logr) Sb сложность поднятия точки из ПОЛЯ где S] — поле К так, чтобы вес поднятой точки был ми в нимален. Если сложность 1 полиномиальная ченным присоединением квадратных корней из т небольших по абсолютной величине чисел. каж дое из которых является квадратичным вычетом по модулю р. Координаты точки представляют переменных. Сложность равна собой полиномы от (субэкспоненциальная), то и задача логарифмирования может бьггь решена указанным методом с полиномиальной (соответственно, субэкспоненциальной) сложностью. Получить гарантированно большой ранг можно переходом к мультиквадра- умножения координат 0{Tkw^\o^kw Такую же оценку имеет и сложность сложения точек. Поэтому сложность нахождения индекса точки Р е Е(К) равна тичному расширению К qUd^ ,..., Jd'„] , где D СП т 3 W log(kw 2 — малые по абсолютной величине квадратич ные вычеты по модулю р. Таким образом, доказано следующее утвер жд ение.
246 Теорема 11.4.1. Задача дискретного логариф- ских кривых над расширенными полями харак мирования на эллиптической кривой £'(F^,) поли- теристики 2. Если степень расширения п р номиально сводится к задачам нахождения мно ml является составным числом, то число точек мо жества образующих фуппы Морделла-Вейля и ;^eT иметь большой простой делитель, если в f в числовое поднятия точки кривой из поля поле К^ при этом вес поднятой точки доллсен быть минимальным. уравнении кривой 2 + ху х" + ах^ + b коэффи 3 точка порядка г эл Предположим, что липтической кривой, и на этой кривой существует функция gji^ причем: функция gR вычислима с полиномиальной от циенты fl, b лежат в расширенном поле. В этом случае задача дискретного логарифмирования в группе точек кривой методом спуска (Weil descent) [12] может быть сведена к задаче дискретного логарифмирования на гиперэллипти- ческои кривой рода т над подполем из / эле log г сложностью; функция gR обладает дивизором dx\{gR с большим носителем; логарифмы по основанию R точек, входящих d\\{gR в , перечислимы с полиномиальной от log г сложностью. Примером функции, обладающей свойствами ментов. Задача дискретного логарифмирования в якобиане гиперэллиптической кривой большого рода решается субэкспоненциальным алгоритмом (см. п. 11.6), поэтому задача логарифмирования на кривой jE'(F ,„/) является сравнительно несложной. и 2, может являться разреженный полином от х, большой степени. Примером функции, обла- , является функция с 11.5. Время жизни параметров дающей свойствами и круговым дивизором вида криптосистемы, основанной на дискретном логарифмировании к-\ div(g „ ) Yi^P) KPJ. I о где примитивный корень степени 1)- из по Безопасность криптосистем с открытым клю чом часто определяется сложностью задачи дне кретного логарифмирования в модулю г и А: К? Выберем случайным образом точку вычислимого или циклической трудновычислимого 1 из группы порядка г и свяжем с ней все точки, ко группе порядка (в группе обратимых элементов кольца, в якобиане алгебраической кривой и т. п.). В об- в торые входят в A\\{gn ). Затем выберем из той же Щем случае эта задача формулируется так: группы произвольную точку i?2, не входящую в ФУ™^ *^ Решить показательное уравнение d div(g rX и свяжем с ней точки, входящие в div(gO. и т.д. Таким образом, множество из В защищенной компьютерной системе в этом случае используются общие для всех участников параметры криптосистемы, задающие груп- 1 аффинных точек разбивается на непересе- пу G и образующую а. Каждый пользователь кающиеся классы. В этом случае задачу лога- имеет персональный секретный ключ (логарифм рифмирования можно региать в два этапа: на и парный ему открытый ключ (значение о), первом этапе вычислить логарифмы алгоритмом Например, в стандартах цифровой подписи РФ Полларда для классов эквивалентности указан- и США параметрами криптосистемы являются ных точек, на втором уточнигь значение jioia рифма внутри класса эквивалентности. эллиптическая кривая ДР^), характеристика по- и образующая точка Q группы простого ля Для построения функции gR могут использо- порядка г. ваться обычные арифметические операции. а Персональные ключи должны периодически по также операции композиции и дифференцирова- меняться в соответствии с установленным ния. Однако сложность и даже возможность по- рядком. При смене персонального ключа симметричные криптографические алгоритмы допускают сохранение параметров криптосистемы (например, блока подстановок в ГОСТ 28147-89). Что можно сказать о времени жизни параметров строения такой функции в настоящее время не известна. Стандарт цифровой подписи ECDS S (см п. 15.6.5) допускает использование эллиптиче- криптосистем с открытым ключом? Можно ли продлить срок безопасной эксплуатации крипто- ' Сложность решения задачи поднятия на сего- системы с открытым ключом, периодически ме- дняшний день неочевидна. Возможно, поднятие точки ^^^я персональные ключи всех пользователей и может выполняться с использованием техники диофан сохраняя ее параметры? Если смена персональ товых уравнении [8,18], например, систем уравнений ного ключа решается в организационном плане Пелля или форм от логарифмов алгебраических чисел. несложно, то смена параметров криптосистемы
247 сопряжена со значительными неудобствами в эксплуатации. Кроме того, по истечении срока действия параметров все цифровые подписи, составленные с их помощью, должны считаться Сложность шагов составляет примерно 0{и и операции, где и 1пр Inv (см. п. 10.1). Тради недействительными, а все сеансовые ключи вскрытыми. ционная оценка сложности вскрытия ключа рав W 3 на 0(и у ), сложность вычисления ключа при вы- не превыьиает квадратного полненных Luarax Будем рассматривать только криптофафиче- корня из сложности этих гиагов. Например, если ские ограничения на время жизни параметров первоначально вскрытие ключа требует несколь- криптосистемы. ких лет вычислении, то в случае смены ключа 11.5Л. Мультипликативная группа поля при заготовленной базе данных срок действия нового ключа составит несколько секунд. Смена образующей по сути ничего не меняет, так как в Задача логарифмирования * в группе р положена в основу стандарта подписи этом случае гиаг Поэтому здесь. в нужно выполнить два раза. симметричных отличие от ГОСТ Р 34.10-94 (см. п. 13.2.3); наилучгиий ме- криптосистем, по окончании срока действия лю тод вскрытия персонального секретного клю бого персонального ключа нужно менять харак ча реьието числового поля обладает слож- теристику поля и, следовательно, ключи всех ностью пользователей независимо от срока ввода их в действие. криптографии иногда используется задача п In р)^)), где с^ 1,92 при условии удачного выбора простого числа/?. Аналогичную сложность имеет и метод логарифми- логарифмирования в группе трудновычислимого рования на основе решета поля алгебраических порядка (Ж/рдЖ)* обратимых элементов кольца функций для группы Рд 4 Модифицируем рования методом вычетов по модулю составного числа рд с неиз- алгоритм 10.2.1 логарифми- вестным разложением. Данная задача сводится к разложению общего для всех участников составного числа. Очевидно, что и в этом случае исте- решета числового поля для случая, когдааиb изначально неизвестны. чение срока действия любого персонального предвычис лении. Алгоритм 11.5.1. Логарифмирование мето- ключа влечет за собой замену характеристики дом решета числового поля с использованием кольца и, следовательно, замену всех персональных ключей. Попутно отменяются защитные ка- Вход. Характеристика поля р; образующая а и чества всех криптографических алгоритмов, ис- экспонента b (становятся известными после соз- пользующих отмененные параметры криптоси- дания базы данных). стемы, независимо от даты начала действия пер- Выход. Логарифм х такой, что </ Метод. сональных ключей. Создать базу данных из пар (с, d) требуемого быстрым падением стойкости вида (см. п. 10.2.2). Данное свойство криптосистем в сочетании с — полтора десятичных порядка Кбит — в год для размера задачи Выразить логарифмы элементов базы разло- Кбит— демонстрирует неудобство популярных жения в виде линейных комбинаций показа- криптографических алгоритмов, допускающих телей, найденных на шаге 1. субэкспоненциальные алгоритмы вскрытия клю- После того как стали известны образующая а ча. Кроме того, на сложность логарифмирования и персональный открытый ключ Ь, подобрать существенно влияет способ выбора характери- показатели к, I еЖ такие, что произведение стики поля/?. kii а b (mod/?) имеет малые простые делители. Выразить ненулевые показатели, с которыми элементы базы разложения входят в произведение flW (mod/?), через векторы, найденные Все изложенное справедливо и по отношению к задаче дискретного логарифмирования в мультипликативной группе расширенного конечного поля, к которой сводится задача логарифмирована шаге 2 (число таких ненулевых показате лей пренебрежимо мало по сравнению с раз мером базы данных). ния на эллиптической кривой. ____ч Решить систему линейных уравнении для 11.5.2. Группа точек эллиптической кривой к ь-г ненулевых координат вектора, наиденного на шаге 4, и вычислить логарифм х. Результат: х. Пусть циклическая группа точек эллиптиче ской кривой £'(F^) имеет простой порядок г и субэкспоненциальный метод логарифмирова-
248 ния с помощью спаривания Вейля неэффекти- аномально быстрого падения 11.6. Логарифмирование в якобиас вен учетом сложности задачи логарифмирования в конеч гиперэллиптическои кривой ном поле). В этом случае алгоритм Полларда Задача дискретного логарифмирования в не работает, так как персональный открытый биане гиперэллиптическои кривой формули, ключ неизвестен. Рассмотрим модификацию алгоритма ветре ся так. Пусть div(fl. элемент (дивизор) биана, образующий группу простого поряд чи на случайном дереве при известном общем Для дивизора div(c, d) нужно найти логари ключе (уравнение кривой и образующая Q) и такой, что div(c, d) = /div(fl, b). Эта задача неизвестном персональном ключе (точка ется теми же методами, что и задача дискрет! /0- Предположим, что память вычисли- логарифмирования на эллиптической кривс тельной модели ограничена значением 0(л/^), что обычно имеет место на практике. Выберем отображение х, зависящее только от образую учетом арифметики в якобиане; наилучшим ) версальным методом является алгоритм Полла{ щей пример. и текущего значения аргумента На для одной половины аргументов <R) е+ и logz(K) logi^ + Пример 11.6.1. Логарифмирование на гип эллиптической кривой методом Полларда. — гиперэллиптическая кривая над Пусть для другой по- рода 2, заданная уравнением ловимы х(К) предусматривает 2R и Iogx(i^) = llogR, Алгоритм выбор 1 5 2 случайных начальных х-'-^Ах^-^х + З. значений R„ логарифмы которых известны, по Число аффинных точек этой кривой над п следователь нее выполнение к отображений запоминание троек {zXR,), logx%Ri% Rj} с сорти и к ровкой по первой «координате». После того как лем F? равно 4: (!, ±3), (2, ±2), а над полем 62. Дзета-функция кривой: Z( Т) + 11Г^ - 21Г+ 49: порядок якобиана: Z(l) 4CJ зт 37 3 точка Р стала известна, выбираем поочередно случайные точки вида а^Р + biQ, делаем т ото- бражений, на каждом шаге сравнивая результат с базой Вычислим алгоритмом Полларда [15] в як( биане /(С) логарифм / такой, что для двух див^ данных. при совпадении приравниваем 3opoBZ)^ = ((l,3))-(P. полняется равенство D и и£) ID и ((2, 2)) (Р СО ВЬ логарифмы точек и находим секретный ключ /. Анализ сложности алгоритма с использовани ем численных методов и указанных аппроксима зоры D А И D в ([. Представим диви в виде HOfl(div(fl), div(fc -3;)) (cw п. 6.18): Da = div(x + 6, 3), Z)^ = div(x + 5, 2). Выбираем для элементов D, = div(fl/. fc,) яко- ЦИИ показывает что оптимальными являются биана отображение вида значения т 0(к) O(\og г) или 0(1), т ет 0(л/^) 0(л/^), Если доступная память не превыша D Д + D,, если а ! Г (х, 2), /+I Д + 4^)^^, если а^ ^ Ь, (х, 2). то алгоритм имеет ту же асимптотиче Здесь сравнимость пары полиномов А;, / по скую сложность, что и обычный алгоритм Пол- идеалу (х, 2) означает сравнимость их свободных ларда. членов по модулю 2 в Z[x], а поле F? представ Таким образом, в криптосистемах на эллип- лено числами ? Если о /? / сравнимы по тических кривых смена персонального ключа указанному идеалу, то выполняется равенство , в противном случае /Ь] + + 4/. при сохранении параметров криптосистемы по- для логарифмов: зволяет продлевать срок безопасной эксплуата- выполняется равенство /,ь1 ЦИИ. В этом проявляется их аналогия с симмет- выбран дивизор D^ ~ div(x + 6, 3), ричными криптосистемами о качестве D . Резуль о таты решения представлены в таблице 11.7. -- i>* Таблица 11.7 Вычисление логарифма в якобиане гиперэллиптической кривой методом Полларда
249 Продолжение таблицы 11.7 Получаем встречу при I D 6 D]2. Запись! ваем равенство для логарифмов: 2 + 20/ (mod 37), откуда + 3/ системы, равного 0(л/^), эллиптическая кривая находим искомое значение: доллша удовлетворять следующим требованиям. 24 (mod 37). Пусть J(C)— якобиан (или его подгруппа) простого порядка г гиперэллиптическои кривой С(К) и г отлично от характеристики р поля К. Для обеспечения стойкости к анализу методом Гельфонда порядок г циклической группы должен быть большим простым числом (для задач аутентификации достаточно Тогда на /(С) определено спаривание Вейля, которое задает вложение якобиана в мультипликативную группу поля Z, являющегося расширением поля J^таким, что r\#L . Эта аналогия эллиптических и гиперэллиптических кривых следует из того, что поля функций на них являются квадратичными расширениями поля рациональных функций одной переменной. то методом логарифмической про- 200-250 бит, для шифрования долговременных секретов достаточно 400-500 бит). Для обеспечения стойкости к анализу на основе спаривания Вейля порядок г группы не доллсен быть делителем ни одного из чисел 2 1, ..., (7 п занных в табл 11.5 для значении /л, ука- Практически для задач Если 7 аутентификации достаточно проверить это ? изводной устанавливается изоморфизм мелсду якобианом и аддитивной группой простого поля Fp, содержащегося в поле К. для ??} 100 Проверка может быть выполне на ре куррентно: есл и m-l Ф (mod то Таким образом для обеспечения высокого '" ч^ ! (mod г), при этом достаточно прове рять только те показатели, на которые делит уровня стойкости кривую С(К) следует выбирать так, чтобы степень расширения (L:K) была достаточно велика (см. табл. 11.5) и чтобы выполнялось неравенство гч^р. Кроме того, род кривой желательно выбирать небольшим. Если род кривой С(К) велик (в пределе стремится к бесконечности), то задача логарифмировании в якобиане имеет субэкспоненциальную сложность. Алгоритм логарифмирования основан на том, что координатное кольцо \Fp[C] факториально и случайный многочлен из Fp[C] с большей вероятностью делится на данный мно- малым порядком ?п группы автоморфизмов, об гочлен малой степени, чем на данный многочлен разованной 6, то возможно снижение стойкости в ся число г - 1. Поскольку сложность логарифмирования в конечном поле падает аномально быстро, не исключено, что значение т может быть увеличено. Для обеспечения стойкости к анализу методом логарифмической производной должно выполняться неравенство г ч^р. Заметим, что если эллиптическая кривая об ладает комплексным умножением на число с большой степени. На гиперэллиптической кривой может существовать комплексное умножение (см. п. 15.7). раз по сравнению с первоначальным значе Наличие комплексного умножения позволяет нием. Метод логарифмирования на орбитах ав томорфизмов можно применять не непосредст снизить сложность логарифмирования по анало гии с эллиптической кривой. венно к данной эллиптической кривой, а к изо- генной кривой (см. п. 15.4). При этом нужно от ;:- г *-i-r исходной кривой с помощью несложной изоге- нии перейти к другой кривой, на которой орбита 11.7. Требования к эллиптической кривой автоморфизмов вычислима, и решать задачу из дискретного логарифмирования на этой новой Пусть ДР^) — эллиптическая кривая над полем кривой (изогенные кривые определяются корня- модулярных полиномов над соответствую- элементов, Q е Е(¥д) и #(Q) = г. Для дос ми тижения максимального уровня стойкости крипто щим конечным полем).
250 При выполнении указанных условий стой- в цикле графа случайного отображения для орбит группы автоморфизмов). Аналогичные требования предъявляются и к гиперэллиптическим кривым. кость лежит в диапазоне от до а наилучшим методом логарифмирования является метод Полларда (решается задача о встрече Упражнения к главе 11 3. 10 Почему выбор сжимающего отображения при вычислении логарифма на эллиптической кривой методом Полларда не принципиален? Оцените срок безопасной эксплуатации крип тосистемы на эллиптической кривой по отношению к методу Полларда, если характеристика поля и порядок группы имеют длину 160 бит. Оцените срок действия ключа в начале и в конце срока эксплуатации. Считать, что вычислительная модель позволяет вы- полнять I о арифметичес1сих операций в год и производительность вычислительной моде ли каждый год удваивается Пусть Е(¥р эллиптическая кривая и т простои порядок группы точек этой кривой Покажите, что граф сжимающего отображе ния „НОД(р-1,/-1)р где fe V/0 и НОД(р 1,г ? состоит из значитель ного числа несвязных частей. Можно ли продлить срок действия общего открытого ключа криптосистемы на эллиптической кривой по отношению к логарифмированию методом «giant step — baby step», меняя персональные открытые ключи? Чему равен ранг вырожденной кубической 2 X + X над полем Q? кривой у Поднимите точку (8, 4) эллиптической кри- вой у ~х + 17 из поля Fi9 в поле Q. Оцените емкостную сложность метода логарифмирования с помощью поднятия точки кривой в числовое поле К^ если ранг кривой равен т. Оцените оптимальное число шагов алгоритма встречи на случайном дереве, если запо минать не конечные точки траектории, а сами траектории. Предложите способ вычисления орбиты эндоморфизма Фробениуса на эллиптической кривой над расширенным конечным полем. Пусть К E(K) поле из п элементов и точка эллиптической кривой. р Какие симметрические функции от (х, х^, х р 2 7 4 Размер задачи в стандартах США. • • • * ^ р п 1 кроме следа и нормы, принимают значения в поле Fn? р 11 Пусть эллиптическая кривая £'(F^,) с большим простым числом точек г рассматривается над числовым полем К, Покалште, что Е{К) не имеет точек кручения. 12 Сравните сложность логарифмирования на эллиптических кривых Е{Ж1пЖ) и ^F разложение числа п где неизвестно. W, #Е(Ж/пЖ) является произведением двух больших простых чисел, #Е(¥р) является простым числом. 13 Какую кривую логарифмирования в можно использовать для р с помощью отобра жения поля \Гр в точки кривой с и поднятия точек в числовое поле К? Кривая С(К) долж- большой конечный на иметь достаточно ранг, то есть быть неособой, и допускать изо 14 морфизм Fp C(F„). Исследуйте экспериментально зависимость сложности алгоритма Полларда от числа 15 ветвлений в отображении х (см. п. 11.1.3). — нечетное простое число. В квадра Пусть г — тичном расширении К поля Q имеет место разложение г = яя, где п е Ок- Почему нель- логарифмирования в зя снизить сложность 16 группе из г элементов, используя это разло жение, по аналогии с алгоритмом Гельфонда? Покажите, что сложность вычисления лога рифма на эллиптической кривой с простым порядком группы г при условии, что выполняется неравенство /<л/^. не превышает baby для алгоритма «giant step — step». Какова будет сложность логарифми 17 рования, если / < г , где а < 1 ? Пусть г — большой простой делитель порядка группы точек эллиптической кривой, а — делитель числа 1 не образующая группы порядка q в (Ж/гЖ) , причем г. По кажите. что если можно легко вычислить функцию/5> с «круговым» дивизором d\v(fp) (p)+(gp)+...+(g !?-1 Р) (дР со в произволь ной точке, то сложность логарифмирования снижается в 0(Jq) раз
Литература к главе 11 10 12 Айерпэнд К., Роузен М. Классическое введение в 11. Fulton W. Algebraic curves. New York: Benjamin, 1969. современную теорию чисел. М.: Мир, 1987. Ван дер Варден Б.Л. Алгебра. М.: Наука, 1979. Колчин В.Ф. Случайные отображения. М.: Наука, 1984. Нечаев В.И. Элементы криптографии. Основы теории защиты информации. М.: Высшая школа, 1999. Прасолов В.В., Соловьев Ю.П. Эллиптические М Изд-во кривые и алгебраические уравнения. «Факториал», 1997. Ростовцев А.Г. Алгебраические основы крипто графии. СПб.: Мир и Семья, Интерлайн, 2000. Ростовцев А.Г. О времени жизни общего и персо нального открытого ключа // Проблемы информационной безопасности. Компьютерные системы. 1999. №4. С. 57-61. Спринджук В.Г. Классические диофантовы уравнения от двух переменных. М.: Наука, 1987. Степанов С.А. Арифметика алгебраических кривых. М.: Наука, 1991. Феллер В. Введение в теорию вероятностей и ее приложения. В 2-х томах. М.: Мир, 1984. 13 14 15 16 17 18 19 Galbraith S.D., Smart N.P. А cryptographic application of Weil descent // Codes and cryptography. Lecture Notes in Computer Science. Springer-Verlag. 1999. Vol. 1746. P. 191-200. HusemoUerD. Elliptic cui-ves. Springer-Verlag, 1987. Mazur B. Rational points on modular curves. Lecture Notes in Mathematics. Springer-VerJag. 1976. Vol.601. Pollard J. Monte Carlo methods for index computa- uon (modp) // Mathematics of ComputaUon. 1978. VoL 32. P. 918-924. Semaev I.A. Evaluation of discrete logarithms in a group of p-torsion points of an elliptic curve in char- actenstic Mathematics of Computation. 1998 Vol. 67. P. 353-356. Silverman J.H. The arithmetic of elliptic curves Springer-Verlag, 1986. Zagier D. Large integral points on elliptic curves of Computati on. 1987. Vol. 48. Mathematics P. 425^36. Zimmer H.C. Basic algorithms for elliptic curves http://www.izuser.uni-heidelberg. de/'-hb3 /elleng.html.
^ "- л^"- -■ _-J ± ■ - _ :^ -: t Ч - 1^ - vr ■V. • -^ r Глава 12. ШИФРОВАНИЕ С ОТКРЫТЫМ КЛЮЧОМ j^' 54 основу шифрования с открытым ключом ключа равна 2 , однако при наличии порядка 2 30 положена вычислимая в одну сторону функция с блоков открытых и зашифрованных текстов иоташь/жходож, знание которого позволяет вы- сложность вскрытия ключа линейным методом числить обратную функцию. Например, в систе- существенно ниже [11]. ме RSA вычислимой в одну сторону функцией является отображение х X (raodw), а потайным ходом, позволяющим вычислить обратную показатель такой. функцию, (mod (р(п)\ где ф — функция Эйлера. что ed 12.1. Шифрование с открытым ключом для группы вычислимого порядка общем случае для зашифрования и расшифрования используются разные ключи, которые связаны взаимно однозначно, но эта связь вычислима в одну сторону: по известному ключу зашифрования ключ расшифрования вычислить задачи, в частности. основу безопасности протоколов шифрования с открытым ключом в группе G вычислимого порядка положена задача дискретного логарифмирования и некоторые связанные с ней Диффи-Хеллмана задача легко, а обратную задачу решить трудно. К задаче шифрования с открытым ключом тесно примыкает задача бесключевого шифрования, когда ни отправитель. ни получатель сообщения не (см. п. 10.6). Эта задача используется в протоколе установ ления сеансового ключа [6]. Для того чтобы ус тановить общий ключ, участники протокола до имеют секретного ключа, а таклсе задача шифро- говариваются о несекретных параметрах: группе вания бита, используемая в протоколах предъявления битов (см. п. 14.1). Шифрование с открытым ключом позволяет облегчить управление ключами в системе, по G простого порядка г и образующей а. Ключ ус танавливается в ходе диалога. Участник А выра батывает случайный показатель X, вычисляет значение а и посылает его участнику В. У част должен обеспе- ник В вырабатывает свой случайный показатель у скольку каждый пользователь чить конфиденщ^альность лишь своего персо нального ключа расшифрования. Протоколы шифрования с открытым ключом степень, каждый со своим показателем, и вычисляет значение а" и посылает его участнику J. Затем А и В возводят полученный текст в оба можно классифицировать по типу задач, поло- получают текст а , который является секретным же иных в их основу: сеансовым ключом протоколы, использующие фуппу вычислимого порядка (задача дискретного логарифмирования); протоколы, использующие группу трудновычислимого порядка (задачи разложения, дискретного логарифмирования, решения алгебраических уравнений); протоколы, используюпще задачу об укладке ранца. Секретный ключ расшифрования имеет нуле- Чтобы вычислить значение а , число х пред ставляют в двоичном виде, находят последова 4 8 вую шенноновскую энтропию; для вскрытия ключа нарушитель при необходимости может создать нужное ему число открытых и зашифро ванных текстов. Поэтому алгоритмы шифрова ния с открытым ключом не имеют криптографи ческих офаничений на объем данных, шифруе мых на одном ключе. Для сравнения: если из вестны один-два блока открытого и зашифро тельность квадратов ct, а", а", ... и перемножают элементы этой последовательности. Число умножений (и, следовательно, длительность шифрования) зависит от числа единичных разрядов в двоичном представлении показателя х. Измерение числа тактов, затраченных на шифрование, дает некоторую информацию о показателе х, поэтому программу шифрования имеет смысл раз- рабатьшать так, чтобы длительность вычислений не зависела от показателя х. Быстрое возведение в степень a^{modp) с большим показателем х можно выполнить сле- дуюш^1м образом. Записать показатель х в двоичном виде. Для небольшого числа к вычислить значения 5 5 а . Разбить показатель х на А^-битные слова: X Ьг2 kf + b /-1 k(t + ... +Йп. О И, ванного текстов для DES, то сложность вскрытия наконец, вычислить рекурсивно для /, убываю
253 щего от до значения 5/ 5^' а'' полагая 5/+1 Результатом является 5о. Этот подход можно использовать и при выполнении операции в группе (Ж/пЖ), группе точек эллиптической кривой и т. п. Оптимальный размер окна к определяется ми- сообщения. Метод. Протокол 12.1.1. Бесключевое шифрование Месси-Омуры. Вход отправителя и получателя. Циклическая группа G большого простого порядка г, вычислимая в обе стороны функция/* M^>G. льтат. Зашифрование и расшифрование нимальнои сложностью вычисления экспонен ты: к 2) + log.x + logo X Здесь первое слагаемое учитывает сложность 2 3 г'^-х вычисления степеней а ^ а , ...,а , второе ела гаемое — — сложность умножении с учетом размера окна (предполагается, что число умножений не зависит от х, что исключает атаку на основе измерения числа шагов работы программы), третье квадрат слагаемое сложность возведения в Вычисление обычным способом дает сложность 2 log2X ~ 1. Оптимальные значения к, и минимальная сложность мин опт в зависимости от максимального размера показателя х приведены в таблице 12.1. Отправитель вычисляет fini) для сообщения т. Если t является единичным элементом группы G, то результат: сообщение зашифрованию не подлежит. Отправитель генерирует случайный показа- вычисляет элемент f группы G тель а е * р •> и направляет г получателю. Получатель вырабатывает случайный показа тель 6, обратимый по модулю вычисляет О^) иРЬ . аЬ t И посылает t отправителю. Отправитель возводит полученную шифро 1 йЛчО 1 грамму в степень а получателю. Получатель возводит шифрограмму t^ и посылает /^ в сте neHbF^(/Y 1 t и вычисляет т 1 rit) Таблица 12.1 Оптимальный размер окна Примечания Здесь шифрограммами служат Л f .1^ 1 . Протокол будет работать и в том случае, если порядок группы не является простым, но имеет большой простой делитель. . Если порядок группы G кроме большого простого делителя г имеет один или несколько малых делителей /?/, то нарушитель может из протоколе Диффи-Хеллмана не использу- влечь некоторую информацию об открытом тек ется непосредственно порядок фуппы. Поэтому сте, вычислив для шифрограммы характер сте этот протокол может использовать группу (Z/wZ) или группу классов числового поля. пени р,\ ^^^^^Ipi (или {t^f'l^^y Если характер Обычно на практике используют протокол шифрования с открытым ключом Эль-Гамаля или протокол бесключевого шифрования, запатентованный Дж. Месс и и Дж. Омурой. равен 1, то и характер для открытого текста ра- . Поэтому желательно использовать группу вен G простого порядка Оригинальный протокол Месси-Омуры ис 12.1.1. Бесключевое шифрование Месси-Омуры пользует в качестве Lr мультипликативную группу ¥р простого поля; в роли функции / может выступать единичное отображение. Этот прото кол. как и протокол Диффи Протокол Месси-Омуры [10] требует диалога Хеллмана, очевидно, не обеспечивает аутентич между отправителем и получателем и, следова тельно, для его реализации правленный канал связи. ность, так как в общем случае ни отправитель, ни необходим двуна- получатель не знают, с кем ведут общение. Кроме того, если нарушитель может включиться в Отправитель и получатель договариваются о канал связи между отправителем и получателем, параметрах криптосистемы: циклической группе то он может осуществить дешифрование, выда- порядка г и способе представления текста вая себя за получателя и отключив от канала е М в виде элемента группы G, то есть о вы- подлинного получателя. Иногда отсутствие ау- числимой в обе стороны функции/из множества тентичности не является помехой, например, если Мсообщений в группу G. н^ушитель может только прослушивать канал т
254 связи, но не вмешиваться в его работу. Для обес- тупная функция f\ MxG^>G^ обратимая по пер печения имитозащиты можно также применять вому аргументу (если известны значение функ цифровую подпись. ции и второй аргумент, то можно легко вычис Безопасность этого протокола основана на за- лить первый аргумент). Персональным секрет ^^ найти ным ключом является показатель х, персональ даче Месси-Омуры: для заданных f^ t. Эта задача с полиномиальной сложностью сво- ным открытым ключом экспонента b d. дится к задаче дискретного логарифмирования. Действительно, пусть известны образующая и логарифм Ъ для экспоненты f , Тогда, вычислив расширенным алгоритмом Евклида Ь~^ (mod/Л, Протокол 12.1.2. Обобщенный протокол Эль Гамаля шифрования с открытым ключом. Вход отправителя. Группа можно найти t аУ ] Кром f> того, эта задача с MxG^' G^ образующая а, элемент b Вход функция d. чателя. Группа G, образующая а. полиномиальной сложностью сводится к Диффи Хеллмана. Предположим, что задача Диффи Хеллмана решена, то есть для заданных 5, /, s задаче задача у можно вычислить /^ Полагая S S у b , получаем, что х 1 .У а 1 3 f * 3 , откуда S- у логарифм X. Результат. Зашифрование и расшифрование сообщения. Метод. Для зашифрования сообщения т отправитель Таким образом, сложность взлома протокола Месси-Омуры не превышает сложности решения задачи Диффи-Хеллмана. Если порядок г фуппы G является простым числом, то задача Месси-Омуры эквивалентна выполняет следующие действия: генерирует случайный показатель у; с вычисляет элементы а^ Ьг^ G и значение fim, b^. Шифрограммой является пара {а\ с\ задаче Диффи-Хеллмана. Для доказательства этого предположим, что задача Месси-Омуры решена, то есть для заданных f^ /^, f^ найти t. Поскольку число г простое и / не являет Для расшифрования шифрограммы (а . с) по лучатель выполняет следующие действия: можно у ся единичным элементом, то зующей фуппы G. Полагая s ^^ является обра .ah X .а V ,t а ху возводит а^ в степень х, получает при этом 1^; 5 S f, s>' А 1 находит сообщение т <^f^ (с, Ъ у получаем, что s ^У Сложность задач устанав ливает отношение порядка на множестве задач. Таким образом, решение задачи Диффи Хеллмана влечет решение задачи Месси-Омуры, и наоборот. Отсюда по свойству антисимметрич- Вид функции / зависит от группы G. Если к, — мультипликативная группа простого G поля, то в качестве/могут использоваться функ ^ (modp), fim^ b^^m + b ции Ят, b>') mb у (mod »),/ш, A-) m V (mod ») и т. п. Сам Эль ности для отношения порядка заключаем, что Гамаль сложности указанных задач полиномиально эк вивалентны. первоначально предложил использовать первую из указанных функций. Отметим, что в этом случае можно извлечь некоторую информацию о сообщении т, вычислив символы Лежандра: 12.1.2. Протокол Эль-Гамаля шифрования с открытым ключом J-I --J 'а^ Т. Эль-Гамаль предложил протокол шифрова ния с открытым ключом [7], основанный на за КР) ^с^ 5 5 kpJ \Pj даче Диффи-Хеллмана протоколе Диффи- Если а — квадратичный невычет, а b квад ратичныи вычет, то можно узнать, является ли т квадратичным вычетом, что соответствует одному биту информации о сообщении т. Можно проверять характеры и более высоких Хеллмана оба показателя хиу случайны. В протоколе Эль-Гамаля один показатель фиксирован и служит секретным ключом расшифрования, а другой показатель является случайным. Рассмотрим обобщенный протокол шифрования с откры- Омуры. Поэтому предпочтительнее использовать тым ключом, который иногда назьгеают «мета- вторую или третью из указанных функций. протоколом» Эль-Гамаля. степеней по аналогии с протоколом Месси Пусть М множество сообщений и G гоуппа. Открытым ключом. обш;им для всех 1 Протокол 12.1.2 допускает атаку со стороны отправителя на основе подобранных шифртек- стов. Предположим, что фуппа G может быть вложена в группу Н и принадлежность данного элемента группы Н группе G неочевидна. Пред- положим также, что #Н= t - #G, где число t ма- Этот протокол не требует знания порядка группы. ло. Если отправитель шифрограммы отступит от пользователей системы, являются группа G и образующая а. Кроме того, существует общедос-
255 правил, в качестве образующей а выберет эле мент порядка t в группе Н и сумеет узнать Если функция/такова, что по ее значению и по- первому аргументу можно найти второй аргу- лучателя результат расшифрования, то он может мент, то справедливо и обратное: если по шиф- перебором найти х (mod t). Для этого он, имити- рограмме и открытому ключу в протоколе Эль- руя расшифрование, должен перебрать в качест- Гамаля можно найти открытый текст, то можно не X элементы от О до до совпадения резуль- найти и сеансовый ключ в протоколе Диффи тата с истинным расшифрованным значением. Хеллмана. Для доказательства достаточно заме Можно использовать и асимптотически более тить, что по известным тис быстрый алгоритм «giant step — baby step». найти у а ху Аш, У МОЖНО этом случае задачи вскрытия Если порядок группы Н имеет другой малый ключей в протоколах Эль-Гамаля и Диффи делитель г взаимно простои с г, то отправитель Хеллмана эквивалентны. может найти х (mod f\ а затем восстановить х Если функция / не обладает указанным свой (mod tf) по китайской теореме об остатках. Эта ством (например, /(/w. у т - h{b^) (mod/?), где процедура обобщается на случай произвольного вычислимая в одну сторону функция), то числа малых простых делителей. Если порядок такая эквивалентность отсутствует. фуппы G имеет, кроме большого простого делителя, еще и малые делители, то для организации Данный протокол шифрования похож на про атаки нет необходимости переходить к группе Н. токол цифровой подписи Эль-Гамаля (см. частности, если G = F^* и число р имеет длину п. 13.2.1). Однако в протоколе подписи к генера- 512 бит, а большой простой делитель числа/? имеет длину 160 бит, причем остальные делите- венно более жесткие требования. В случае шиф тору случайных чисел предъявляются сущест ли числа р - 1 малы, то логарифм х можно легко рования однократный сбой генератора или по вычислить с использованием указанного метода. вторное использование случайного числа могут Для противостояния такой атаке достаточно привести не более чем к возможности бесключе модифицировать алгоритм расшифрования. До вого чтения одного сообщения; в случае подписи имеет требуемый простой порядок г. Если это не начала расшифрования получатель должен убе- указанный одиночный сбой или повтор приводит диться, что элемент (/ принадлежит фуппе Си к вскрытию ключа подписи. Таким образом, безопасность протокола Эль- Гамаля основана на следующих задачах: задаче дискретного логарифмирования (по- — вскрытие секретно- так то отправитель нарушает протокол и воз можно, предпринимает атаку, направленную на вскрытие ключа. Данный алгоритм шифрования является вероятностным, поскольку использует генератор слу- следствие ее решения го ключа); задаче чайных чисел; одному и тому же открытому тексту может соответствовать множество различных зашифрованных текстов. Следовательно, протокол обладает скрытым каналом передачи зашифрованной информации (см. п. 13.4), то есть дает возможность получить внутри шифра еще один шифр. Диффи-Хеллмана (последствие решения — однократное дешифрование); задаче ее вычисления случайного числа следствие ее решения однократно f> (по де Вскрытие секретного ключа по шифрование). качестве группы G может использоваться мультипликативная группа конечного поля, группа точек эллиптической кривой, якобиан открытому алгебраической кривой, циклические подгруппы . Ч^ ключу эквивалентно решению задачи дискретно- группы {Ж/пЖ) или группы классов числового го логарифмирования в группе G. Для того что- поля и т. п. бы затруднить вычисление логарифма методом Гельфонда 5 порядок группы G должен быть большим простым числом или иметь большой простои делитель. Отметим, что здесь при зашифровании и при расшифровании порядок фуппы в вычислениях не участвует, поэтому можно использовать фуп- пу как вычислимого, так и трудновычислимого порядка. Для взлома протокола Эль-Гамаля достаточно решить задачу Диффи-Хеллмана. Действительно, если для заданных а, а^. 12.2. Шифрование с открытым ключом для группы трудиовычислимого порядка Обычно в качестве группы G трудновычислимого порядка используется группа обратимых 2 Отметим, что такая модификация протокола Эль-Гамаля не обязательно приведет к повышению а у можно вычислить стойкости криптосистемы, так как могут появиться а ху новые направления атак. Модификация протокола , то легко можно вычислить и открытый текст: т Г\с,а ху означает всего лишь неэквивалентность задачи Диффи-Хеллмана и задачи дешифрования.
256 элементов кольца Z/wZ, где n=pq и р. раз левая. Если получатель сообщит неправильный личные большие простые числа. Классический результат расшифрования т f отправителю. то вариант такого шифрования — система RSA (см. последний, вычислив НОД(т + т\ w), найдет гл. 9). Существуют и другие варианты шифрова- делитель числа п. ния, например, протокол Эль-Гамаля, если С = (Ж/пЖ). Теорема 12.2.1. Задача нахождения всех че- (Z/wZ) . Отметим, что если используется общая для тырех решений сравнения 2 С (mod п\ где всех участников группа G, порядок которой ни- с ^ О, эквивалентна задаче разложения на мно- кому не известен, то желательно предусмотреть жители n=pq. Доказательство. Если известно разложени механизм, позволяющий каждому из участников р> убедиться, что число п имеет только два иетри- числа w, то сравнение может быть решено вычис виальных делителя, в противном случае задача лением квадратных корней из с по модулям р и q разложения облегчается (см. п. 9.1). и восстановлением результата по китайской тео- качестве такого механртзма можно предло- реме об остатках. Сложность вычислений оцени- жить доказательства с нулевым разглашением вается полиномом от logw степени не выше (см. гл. 14). Здесь, однако, кроется некоторое Обратно, если известны четыре корня, то они по противоречие. Для доказательства того, что чис- китайской теореме могут быть представлены в ло п выбрано правильно, необходима доверенная служба, знающая разложение п = pq, то есть сти- вид f> рание секретных простых делителей числа п после их автоматизированной выработки становится невозможным. Рассмотрим некоторые варианты шифрования с открытым ключом с использованием группы трудновычислимого порядка. (л/с (mod р), л/с (mod g)), (л/с (mod р\ - л/с (mod q)X л/с (mod рХ л/с (mod g)), л/c(mod р\ - л/c(mod q)). 12.2.1. Протокол шифрования Рабина то она имеет нетривиальный наи- Протокол шифрования Рабина [13] похож на протокол шифрования RSA. Отличие состоит в том, что показатель зашифрования равен расшифрование выполняется неоднозначно. Тогда, если сумма по модулю п двух корней не равна больший общий делитель с w, который может быть вычислен бинарным алгоритмом Евклида с квадратичной от logw сложностью. ■ а Скорость зашифрования в протоколе Рабина Персональным открытым ключом получателя значительно выше, чем скорость расшифрова- pq, персональным ния: для зашифрования нужно выполнить одну является составное число п секретным ключом множители. разложение этого числа на операцию модульного умножения, а для расшифрования — 0(\ogn) таких операций. Для зашифрования сообщения т от 2 правитель вычисляет шифрограмму с^т (mod w). Для расшифрования шифрограммы получатель л/с (mod р). 12.2.2. Вероятностное шифрование извлекает квадратные корни т + т Q ±Vc(mod^) в полях F^, F^ и объединяет их по китайской теореме об остатках, получая четыре различных значения квадратного корня из с. Поскольку расшифрование неоднозначно, то для выбора правильного квадратного корня необходима дополнительная информация, то есть открьггый текст должен содержать избыточные биты, например, нули в нескольких старших или младших разрядах. Вследствие необратимости открытого показателя по модулю ф(и) протокол Рабина оказывается уязвимым по отношению к криптоанализу на основе известных открытых текстов. Действительно, вероятность того. Примером вероятностного протокола шифрования, отличного от протокола Эль-Гамаля, является протокол Голдвассера-Микали [8]. Здесь доказуемо исключается возможность получить какую-либо информацию об открытом тексте по зашифрованному тексту. Однако платой за это является увеличение длины шифртекста по сравнению с открытым текстом. Открьггым ключом зашифрования являются составное число n=pq\\ квадратичный невычет у по модулю W, причем (это означает, что что открытый ). Секретным ключом расшифро текст т будет расшифрован неправильно, нену- вания являются делители/7 и q числа п.
257 Протокол 12.2.1. Вероятностное шифрование раз превышает длину открытого текста 5 ТО есть с открытым ключом Голдвассера-Микали. Вход отправителя. Составное число w, квадра этот алгоритм непрактичен. Более практичным является алгоритм вероят тичныи невычет по модулю W, для которого постного шифрования Блюма-Голдвассера г 7 п чателя. Простые делители и числа п. льтат. Зашифрование и расшифрование сообщения. Метод. Для зашифрования сообщения т произвольной длины отправитель действует следуюшим образом. . Представляет сообщение в виде двоичного вектора: m < (/Wo, ...,mk-\ Генерирует случайные элементы Xi е 0</<А 2 5 И вычисляет х. (modw) . 2 3. Для / = 0,1, ...Д- 1 полагает с. <^х^ (modw) 5 если nij = О, и с, 2 yXj (modw),если/W / Шифрограммой является набор (со, ...jCk 1 Для расшифрования шифрограммы получатель вычисляет последовательность символов Лежанд- ра Если 1, то и с I то есть с t 4j является квадратичным вычетом по модулю п. Тогда т. <г- Если с I то и \Р то есть Q является квадратичным невычетом по мо дулю W и /W/ < Безопасность этого алгоритма определяется сложностью распознавания того, является ли С/ квадратичным вычегом при . Эта задача сводится к задаче разложения; для распознавания квадратичного вычета достаточно вычислить значение символа Лежандра с / \Р Обратная сводимость указанных задач неизвестна. [3], использующий генератор псевдослучайных битов BBS (см. п. 12.4) и аналогичный алгоритму симметричного шифрования в режиме гаммирования. Отличие заключается в том, что в обычном шифраторе гаммирования гамма вырабатывается на передающей и на приемной стороне одинаково, а в данном алгоритме на приемной стороне гамма восстанавливается «задом наперед». Открытым ключом зашифрования является составное число п рд и где (mod 4) различные простые числа. Секретным ключом расшифрования является четверка (р, а, а, Ь\ где а (mod q\ (mod/?), числа awb можно найти расширенным алгоритмом Евклида. Протокол 12.2.2. Вероятностное шифрование с открытым ключом Блюма-Голдвассера. Вход отправителя. Составное число п. Вход получателя. Четверка 5 а, а, Ь\ где а 1 (mod 4)— простые делители числа п 5 (mod а) 5 (тоАр), льтат. Зашифрование и расшифрование сообщения. Метод. Для зашифрования сообщения т длины к бит отправитель выполняет следующие действия. Находит числа h <г- [jogjij^i ^JJ' ^ < \k/h\. Генерирует случайное число г е Ж/пЖ и вы- ^ (mod п) числяет начальное заполнение хп < г генератора BBS. Вычисляет последовательно Xi < 2 XQ(modw), ^2 ^ X. (modw), ..., х< 2 х~ (mod п), берет из каждого полученного числа младших или средних двоичных разрядов (по заранее оговоренному правилу) и получает t слов гаммы длины h бит каждое. Складывает полученную гамму поразрядно по модулю / с открытым текстом, при этом получается двоичный вектор (с,,..., с/,). Вычисляет х^_^, < Xf (mod п). Шифрограммой является вектор (С],..., с^, Xt-^ 1 Лля расшифрования сообщения получатель Этот алгоритм является, по сути, шифром гам- выполняет следующие действия. . Находит числа h <г- [1о§21 log2 wJJ, t мирования (см. п. 19.L2), в котором каждый «блок» шифрограммы представляет один бит открытого текста и не связан с другими битами. Следовательно, нарушитель может решать задачу дешифрования по частям, дешифруя отдельные биты. Поскольку на сегодняшний день безопасным считается число п длины не менее 1000 бит, длина зашифрованного текста не менее чем в 1000 < \k/h\ Вычисляет ^< р+] г+1 (mod (р 1», ^< а + \ /+1 хл '• ■^ ^f > < Л (mod (а 0)- Vi^ ^-: Г-7 _г.
258 ГТолагает и < X (mod p) 5 V< X 6, /+1 (mod q). Вычисляет Xo <r- vap + ubq (mod n). Находит последовательно Xj < 2 Xo(modw), данное натуральное число N представить в виде суммы слагаемых из некоторого подмножества множества W1 Иными словами, существует ли п- разрядный двоичный вектор (Х], ...,х„) такой, что х.< х, (modw),... 5 X, < jc^_j(modw), берет из п N Vx^\i^^ ? Эту задачу иногда называют зада /-1 каждого полученного числа п младших или средних двоичных разрядов (по заранее ого- ц^й о сумме подмножеств (subset sum problem). воренному правилу) и получает / слов гаммы длины h бит каждое. Складывает полученную гамму поразрядно Плотностью ранца называется вещественное число п по модулю 2 с вектором (С], ..., c^t) и получа ет двоичный вектор (/wj,..., т^ сообщения. max{log2>1^^ \<i<n\ Непосредственно из определения следует, что Покажем, что начальное заполнение Хо при плотность ранца всегда меньше расшифровании вычисляется корректно. В соот ветствии с формулой извлечения корня в конеч ном поле выполняется равенство x^^ii ^' Назовем последовательность {Ъи I , сверхвозрастпающеи, если к > ..,*„}, где для /=| + X t+] ±х (modp). Но является квадра- всех к<п. Для сверхвозрастающеи последова тичным невычетом, а х^ квадратичным выче (р-А)/4 X (modp) том по модулю р, поэтому х;;, Точно так же х^^"^^^^^ = х . (mod р), то есть /-I X ((Р+0/4) 2 /+1 X/-] (modp) и т. д. Продолжая Э1у це почку сравнений в течение 5^, шагов, получаем и t+] — -^/+1 х'" ] XQ(modp). Аналогичное срав нение выполняется и по модулю о: V X /+1 ((5+1)/4) Xo(modg). Поскольку vap + ubq (modp), vap-\-ubq = XQ (modg), то vap-^ ubq (mod n). Xn Xn дешифрования эквивалентна задаче раз ложения числа п. Действительно, если разложение известно, то дешифрование выполняется в соответствии с протоколом 12.2.2. Обратно, задача дешифрования требует вычисления предшествующего заполнения генератора BBS по 14звестному текущему заполнению, то есть извлечения квадратного корня в кольце Ж/пЖ. Тогда наибольший об- ищн делитель суммы или разности квадратных корней дает собственный делитель числа п. Этот протокол оказывается нестойким по от- основе подобранных ношению к анализу на шифртекстов. 12.3. Ранцевые алгоритмы шифрования с открытым ключом тельности задача об укладке ранца решается од позначно с линейной сложностью. Для этого число N сравниваем с Ь„. Если N>b„^ то полагаем X п 5 В противном случае полагаем х п Далее находим N~ Ь,тХг„ переходим к слагаемому с номером п и т. д. Для построения шифра на основе сверхвоз растающей последовательности Р. Меркль и М. Хеллман предложили «замаскировать» эту последовательность с помощью линейного пре образования [12]. Алгоритм 12.3.1. Генерация ключа для ран цевого шифра Меркля-Хеллмана. Вход. Длина блока п. Выход. Открытый и секретный ключи Метод. Выбрать сверхвозрастающую последователь ность из п натуральных чисел: Выбрать целое число и>Ь\ + . [Ьи ••• ... + Zj/?. Выбрать сл>'чайное число v, взаимно простое с и. Выбрать случайную перестановку тг чисел 2 п Вычислить последовательность {а,. . ., Uj7 вида aj <— vbj^i\ (mod и). Результат: (тг, V, и, {Ь] {ai ? • • • 5 W и открытый ключ; 9 .... b П секретный ключ Протокол 12.3.2. Ранцевый шифр Меркля Хеллмана. авителя. Открытый ключ {а],..., an} из алгоритма 12.3.1. чателя. Секретный ключ (я, v, и 5 основу ранцевых алгоритмов положена NP- {6], ..., Ьп}) из алгоритма 12.3.1. полная задача об укладке ранца: дано множество льтат. Зашифрование и расшифрование натуральных чисел W= {wu ...^w п Можно ли сообщения. ^^^ ■^' * "1^ ^^ .* -. к -^--^ -,-*^ ^ ^^- ^-
259 ^-"■*-V"-^r ^ Метод. Для зашифрования сообщения длины п бит 5 представленного в виде двоичного вектора in (w7], ...,/w„), отправитель вычисляет сумму п с< т.а 1^1 ? которая и является шифрограммой 1=] -f расшифрования шифрограммы получа Для тель выполняет следующие действия. Вычисляет d CV 1 (mod и). Представляет число а в виде линейной ком бинации элементов Ь,: Вычисляет вектор m Г]Ь] + ... + Г,фл. ?/?,Л где т,< n(j I Алгоритм корректен, так как при расшифро вании используется цепочка сравнении: п п CV I m.a.v 1 / / Yu^^i) (modw). /=i /=i Метод. Выбрать конечное поле h q ^ р М /(/(х)) ИЗ над /ч элементов, задаваемое неприводимым полиномом fix) и такое, что задача логарифмирования в F„ является несложной. Выбрать образующую е(х) группы * ч • Для/ 5 5 -..,р ВЫЧИСЛИТЬ логарифмы а I по основанию g(x) элементов х + /. Выбрать случайную перестановку п элемен тов поля F,,. Выбрать случайное число d^O <d<q Вычислить <i<p с,< 40 + d) (mod (q 1)) 5 где Результат: ((со, ..., с ключ; (Дх), ^х\ 7г, 1 5 5 открытый секретный ключ. отличие от протокола Меркля-Хеллмана здесь последовательность логарифмов не является сверхвозрастающеи. Здесь открытый ключ может быть интерпретирован как набор {w,} из задачи об укладке ранца. Тогда задача дешифрования является частным ключом Шора-Ривеста. Протокол 12.3.4. Шифрование с открытым случаем задачи об укладке ранца. В действительности же алгоритм шифрования определяет не произвольную задачу об укладке ранца, а только Вход отправителя. Открытый ключ ((со,..., Ср-\\ р^ И) из алгоритма 12.3.3. Вход получателя. Секретный ключ (/(х), g(x). небольшой подкласс таких задач с линейным спо- тт. а) из алгоритма 12.3.3. Результат. Зашифрование сообщения. собом «маскировки» сверхвозрастающеи после довательности (напомним, что сложность массо и расшифрование вой задачи выбора— это сложность наиболее трудной задачи данного размера). Алгоритм Меркля-Хеллмана вскрывается с полиномиальной сложностью с помощью алгоритма Ленстры Ленстры-Ловаша (LLL) (см. п. 7.3 и работу [9]). Подобный принцип шифрования использовали и некоторые другие авторы, поскольку скорость шифрования здесь оказывается сравнимой со скоростью симметричного шифрования. Однако большинство ранцевых алгоритмов шифрования оказываются нестойкими. Шифрование в таких алгоритмах может быть представлено как нахождение вектора w-мерной решетки. Методы вскрытия ключа других ранцевых шифров также основаны на алгоритме LLL. Метод. Для зашифрования сообщения т, 0<т< 5 где биномиальный коэффициент, отпра витель выполняет следующие действия. . Преобразует сообщение в двоичный вектор М (Мо, ...,М„ 1 содержащий в точности единиц, следующим образом. Полагает / ^ 1.1. 1.2. Для / = 1,2,...,» полагает Mf.] <—I, т < т I ",-_ J 9 /< при Рассмотрим еще один пример ранцевого шифра (протокол Шора-Ривеста [4]). Здесь ра нец представляет собой набор логарифмов в мультипликативной фуппе расширенного поля и обладает повышенной плотностью по сравнению с ранцем Меркля-Хеллмана. >^ > - " ^^ т > Z ^ ^J ^ ;М-1^ о в противном случае. 3 Вычисляет шифрограмму -^- -■>. с р I УМ,сДтос1(д 0) /=0 Д^г; ЛГ"..-. ' \J ' Л -^ - ■ ^ 'i- -а= Алгоритм 12.3.3. Генерация ключа для про токола Шора-Ривеста. Вход. Характеристика поля п. Выход. Открытый и секретный ключи 3 г 3 аметим, что Kh при /<0 --."Й".^^'^"*^:^-"^
260 Для расшифрования шифрограммы получа- контроле; достаточно однажды провести иссле тель выполняет следующие действия. Вычисляет г <г- с hd (mod (q 1» Находит и{х) <г- ^х) в поле F^. Вычисляет полином s{x) <г- г/(х) -^fix) над по лем р и раскладывает его на линейные мно h жители: s{x) №+^ /=1 Находит единичные компоненты вектора М: их позиции имеют номера Ti~^{tj). Остальные компоненты вектора М — нулевые. Восстанавливает сообщение образом. т следующим 5.1. 5.2. Полагает т < Для /* = 0,/^ дования генератора и в дальнейшем убеждаться в исправности программы и процессора. Любой генератор ПСП должен содержать некоторую недоступную для нарушителя конфиденциальную информацию (ключ), в противном случае нарушитель, зная алгоритм работы генератора и ключ, может смоделировать его работу. Объем ключа должен исключать атаку на основе перебора, то есть практически должен составлять не менее нескольких десятков бит. Для криптографических приложений генератор ПСП должен не только формировать последо- тельность, удовлетворяющую статистическим тестам, но и обладать рядом других качеств, на- Т1*^ ¥Т4 пример, непредсказуемостью последующих би 1,2,...,» полагает тов, невозможностью «восстановления» преды т< т-\- приА^ 1 душих битов по известному отрезку ПСП. Например, генератор М-последовательности (см. пример 1.4.2 и работу [1]) является «стати- Расшифрование выполняется существенно стически хорошим». но криптографически немедленнее, чем зашифрование, так как требует стойким. Его автокорреляционная характериста- вычисления экспоненты в расширенном поле на ка лучше, чем у случайной последовательности, шаге 2, то есть скорость расшифрования примерно однако вскрытие (вычисление содержимого такаяже, каквалгоритмахЭль-Гамаля, RSAh др. гистра) выполняется с линейной от п сложно- работе [14] предложен вероятностный алго- стью. Восстановить предшествующие биты тоже ритм вскрытия ключа с полиномиальной слож нетрудно Это объясняется тем 5 ЧТО данный ге- ностью, основанный на нахождении кратчайшего нератор является линейным конгруэнтным гене- вектора решетки с помощью алгоритма LLL. ратором над кольцом р2И/(Д0)- Этот алгоритм является модификацией алгорит- Легко раскрываются и другие линейные кон- ма [5], предложенного для решения произволь- груэнтные генераторы над конечными кольцами НОИ задачи об укладке ранца ? обладающего Ж/пЖ (см. пример 1.4.2). плотностью не более 0,9408. Генератор, основанный на блочном шифре с длиной блока т, работающем в режиме гаммироваг 12.4. Генераторы псевдослучайной последовательности эле- ния, формирует случайную подстановку из ментов. Длина цикла ПСП для заданной синхропо- Генерация случайной последовательности явля сылки равна длине цикла случайной подстановки, то есть не является гарантированно большой. стоя важным криптографическим примитивом. Часто от характеристик генератора зависит безо- Генератор, основанный на ключевой хэш функции, не допускает восстановления предше- пасность ключа (например, в протоколах цифровой подписи Эль-Гамаля, Шнорра, протоколе установления сеансового ключа Диффи-Хеллмана) или конфиденциальность открытого текста (например, порциональна ствующеи последовательности с полиномиаль НОИ сложностью, но характеризуется короткой трудновычислимои длиной цикла, которая про т/2 5 где т — длина блока. в протоколах шифрования Эль-Гамаля, Месси- На практике часто используются генераторы. Омуры). На практике такие генераторы использу- имеющие простое алгебраическое описание ются для шифрования в режиме гаммирования, обладающие выработки ключей и и параметров 1фиптосистем, вычислимой или гарантированно большой длиной цикла. В общем случае для по- вьфаботки вспомогательных случайных чисел. лучения гарантированно большой длины цикла Генераторы случайной последовательности можно использовать зависимость выхода генера- битов обычно строятся с использованием физических тора от номера итерации, например, х, генераторов шума. этом случае проверка слу Безопасность Лх генератора случайных /-1 чаиностных характеристик генератора (включая можно охарактер14зовать его стойкостью как слож периодический автоматический контроль) со ностью наилучшего известного алгоритма, пару пряжена со значительными сложностями. Алго- шающего непредсказуемость битов. Различают сложность предсказания очередного бита, если из- по ритмические генераторы псевдослучайной следователь ности (ПСП) не нуждаются в таком вестна конечная последовательность предшест
261 вующих битов, но не известно состояние генерато- (9(lnlnw) младших битов. Сложность предсказа ра, и сложность вычисления предшествующих битов, если известно тсЕсущее состояние генератора. Иногда генератор (псевдо)случайных битов называют криптографически стойким, если не существует или не известен алгоритм полиномиальной сложности, позволяющий по / известным битам последовательности предсказать (1 + и бит с вероятностью существенно большей, чем 0,5 [11]. Однако это определение не оперирует понятием количественной стойкости, что не по зволяет оценить, насколько ослабится итоговый протокол шифрования (подписи) при использовании данного генератора. Криптографически стойкий генератор последовательности {х,} может быть построен по следующей схеме. Пусть р — большое простое число. образующая группы * р и обрати мый элемент кольца Ж1{р - 1 )Z. Положим Vo ? yi h /-1 (modn), X / при yi<pll, X I при } > p/2. Длина цикла такого генератора равна Поскольку порядок группы * р четный, вероятности появления нуля и единицы равны. Задача предсказания очередного бита сводится к вычисления текущего состояния генера- задач тора. Задача вычисления предшествующих битов по известному текущему состоянию генератора решается с полиномиальной сложностью: /-1 J/ h ] (mod р). Аналогичные генераторы можно строить и на эллиптических кривых. Л. Блюм, М. Блюм и М. Шуб предложили способ построения генератора BBS псевдослучайной последователь но сти битов [2], основанный на возведении в квадрат в кольце вычетов Ж/пЖ. Для этого вырабатывают два случайных больших простых числа » (mod 4), находят число п РЧ Затем вырабатывают случайное число у^ и выпол няют рекуррентную процедуру 2 t У> 1 для / > 0. Из каждого у, выбирают младший бит э который и является элементом последовательности {хЛ. Заметим, что можно выбирать не один, а ния каждого из них (при известных остальных) равна сложности предсказания младшего бита Безопасность генератора BBS основана на слож ности определения того, является ли квадратич ным вычетом по модулю п элемент, обладающий единичным значением символа Якоби. Статистически хорошие свойства генератора получаются и при использовании в качестве х «средних» битов элемента j/. Если уо является образующей групп числа р тели г, 5, соответственно, и при этом число I р ' ^ и имеют большие простые дели яв ляется образующей групп F,.*, F., , то длина цикла последовательности будет делить число т 1). Это следует из изоморфизма групп; (Ж/пЖ) * ^ Порядок числа в циклических гоуппах * /■ э вычисляется очевидным образом, если из вестны разложения чисел т S другой стороны, можно выбрать сначала г и 5, для кото рых порядка, а затем найти по ним р и является образующей группы большого . Сложность выбора параметров мом степени не выше 3. Уо оценивается полино Для восстановления предыдущего значения /-1 по известному текущему значению у, необхо димо извлечь квадратный корень по модулю п и выбрать из четырех значений корня то, которое соответствует квадратичным вычетам по модулям р ид. Поскольку-1 является квадратичным невычетом по модулям р, д, то квадратичным вычетом по модулю р, как и по модулю д, является только одно из двух значений у или -у. Следовательно, если квадратичный вычет по модулю п 9 ТО ; — квадратичный невычет, одно из чисел у или (mod п) четное. Задача извлечения квадратного корня в группе (Ж/пЖ) полиномиально эквивалентна задаче извлечения корня в гоупп каждой из * р •> * а 5 ТО есть сводится к нахождению (modw) чисел р и д (или к разложению числа п). Задача «предсказания» полиномиально эквивалентна нахождению числа п и текущего значения у,. X !' t^ ^ f - Упражнения к главе 12 :-^^ -t Сравните безопасность протоколов шифрования RSA и Эль-Гамаля при использовании кольца Ж/пЖ. Пусть G— конечная циклическая группа с заданной образующей. Порядок фуппы G известен и делится на простое число г. Как найти образующую циклической подгоуппы порядка ГС Как найти такую образующую, если G — абелева гоуппа? Сравните безопасность протоколов Месси Омурь] и Диффи-Хеллмана в случае, когда в качестве группы G используется вся гоуппа F» .
Пусть открытый текст шифруется протоко- 10. Пусть лом Эль-Гамаля в подгруппе простого по рядка фуппы * р' при т'Ы этом используется (modp). Можно ли функция Д/w, Ь^ получить информацию об открытом тексте с помощью символов Лежандра? Сравните сложность взлома протокола Диф- фи-Хеллмана в группе (Ж/пЖ) и сложность разложения числа п. Пусть (mod 4), n=pq и х е Ж1пЖ^ причем X 1. Покажите, что один из двух п элементов х или —х является квадратичным вычетом по модулю п. Можно ли в протоколе шифрования Блюма Голдвассера использовать общее число для нескольких пользователей? п Предложит Р' способ обеспечения имитоза щиты в протоколе Блюма—Голдвассера, от личный от цифровой подписи. Предложите свой вариант генератора ПСП, использующего вычисления в конечном поле и обладающего вычислимой длиной цикла. и (р 1)/2 простые числа и 12 13 X Xi /+1 X,'(modp). Оцените сложность нахож дения Х/_1 по известному х,. 11. Предположим, что — простое число, р (mod 6). Как найти неподвижные точки нелинейного конгруэнтного генератора Х,+1 х; -\-В {хаой р)1 Как нужно выбрать коэф фициент Д чтобы генератор не имел непод вижных точек? Предположим, что нечетное простое число, р ^ ] (mod ] 0). Покалсите, что генератор X.. 5 /■+1 X, -\-В{тоар) задает подстановку в F^, и может иметь не более пяти неподвиж ных точек. Разработайте аналог системы RSA на эллиптической кривой Е(Ж/пЖ\ где п=ро и #Е(¥Л р, ЩР ч — различные простые числа. Предположим, что вычисления на эллиптической кривой выполняются корректно Будет ли гоуппа Е{Ж1пЖ) циклической? 14. (Продолжение). Будет ли группа циклической, если #Е(¥р) = 2р\ #Е(¥ щер\ q' — различные простые числа? ч 2а\ Литература к главе 12 Варакин Л.Е. Системы связи с шуме подобным и сигналами. М.: Радио и связь, 1985. Blum L., Blum М., Shub М. А simple unpredictable pseudo-random number generator // SIAM Journal on Computing. 1986. Vol. 15. P. 364-383. Blum M., Goldwasser S. An efficient probabilistic public-key encryption scheme which hides all partial mformation // Advances ш Cryptology— Proceedings of CRYPTO 84. Lecture Notes in Computer Science. Springer-Verlag. 1985. Vol. 196. P. 289-299. Chor В., Rivest R. A knapsack-type public key cryptosystem based on arithmetic in finite fields IEEE Transactions on Information Theory. 1988. Vol. IT-34. P. 901-909. Coster M., Joux A., LaMacchia В., et al. Improved low-density subset sum algorithms // Computational Complexity. 1992. Vol. 2. P. 111-128. Diffie W., Hellman M. New directions in cryptography IEEE Transactions on Information Theory 1976. Vol. lT-22. P. 644-654. ElGamal T. A public key cryptosystem and a signature scheme based on discrete logarithms // IEEE Transactions on Information Theory. 1985. Vol. IT-31. P. 469-472. 10 11 12 13 14 Goldwasser S., Micah S. Probabilistic encryption Journal of Computer and System Sciences. 1984. Vol. 28. P. 270-299. Lenstra A.K., Lenstra H.W., Lovasz L. Factoring polynomials with rational coefficients // Mathemar tische Annalen. 1982. Vol. 261. P. 515-534. Massey J., Omura J. Method and apparatus for maintaining the privacy of digital messages conveyed by public transmission. Pat. USA 4,567,600, 28 Jan 1986. Menezes A., van Oorschot P., Vanstone S. Handbook of Applied Cryptography. CRC Press, 1997. Merkle R., Hellman M. Hiding information and signatures in trapdoor knapsacks // IEEE Transactions on Information Theory. 1978. Vol. lT-24. P. 525-530. Rabin M. Digitalized signatures and public key functions as intractable as factorization. Technical Report MIT/LCS/TR-212, MIT Laboratory for Computer Science, 1979. Schnorr СР., Homer H.H. Attacking the Chor-Rivest cryptosystem by improved lattice reduction // Advances in Cryptology— EUROCRYPT '95. Lecture Notes in Computer Science. Springer-Verlag. 1995. Vol 921. P. 12.
Глава 13. ЦИФРОВАЯ ПОДПИСЬ »^ * t _ ■J- До появления криптографии с открытым ключом целостность и подлинность документов в условиях взаимного недоверия контролировались, как правило, по материальным признакам. Документы имели конкретное физическое воплощение, например, были напечатаны на гербовой бумаге или заверены печатью. Однако с развитием информатизации они стали терять уникальные физические качества, а печать теперь легко можно переснять сканером и воспроизвести принтере. в любом масштабе на цветном Использование симметричных криптографи ческих алгоритмов не позволяет установить подлинность и целостность электронного документа в условиях взаимного недоверия. Например, если получатель сообщения утверждает, что получил от отправителя некоторое заверенное сообщение, а отправитель это отрицает, то один из них лжет. Однако установить 9 кто общений. Осуществить аутентификацию именно говорит неправду, затруднительно, так как оба они обладают равными возможностями в части формирования имитозащищенных со- дан- ных и их источника в этом случае позволяет цифровая подпись. Цифровая подпись в цифровых документах играет ту же роль, что и подпись, поставленная от руки в бумажных документах: это данные, присоединяемые к передаваемому сообщению и подтверждающие, что автор подписи (отправитель) составил или заверил данное сообщение. Получатель сообщения или третья сторона с помощью цифровой подписи может проверить, что автором сообщения является именно владелец подписи и что в процессе передачи не была нарушена целостность данных. Цифровая подпись предполагает два этапа: формирование и проверку, то есть реализуется некоторым протоколом. Часто способы формирования и проверки цифровой подписи допускают некоторую свободу действий, которую нет смысла строго регламентировать. Это позволяет говорить о схеме подписи. Таким образом. при разработке протокола цифровой подписи нужно уметь проверить, что подпись действительно принадлежит указанному владельцу. Кроме того, подпись должна быть построена так, чтобы отправитель, подписавший сообщение, не смог затем отрицать перед получателем или третьей стороной факт подписания, утверждая, что подпись подделана. Обычно, говоря о схеме цифровой подписи, имеют в виду следующую ситуацию [15]: содержание сообщения. отправитель знает которое он подписывает; получатель, зная открытый ключ проверки подписи, может проверить правильность подписи в любое время без какого-либо разрешения или участия отправителя; безопасность схемы подписи (то есть трудность подделки, невозможность отказа от подписи и т. д.) обеспечивается положениями теории сложности. При формировании цифровой подписи по классической схеме [13] отправитель сообщения сначала применяет к исходному тексту хэш функцию, а затем вычисляет собственно цифровую подпись с помощью секретного ключа формирования подписи. Получатель сообщения выполняет проверку подписи: сначала вычисляет хэш-образ полученного сообщения с помощью той же самой хэш- функции, которую использовал отправитель, а затем с помощью открытого ключа проверки подписи проверяет, соответствует ли этот хэш- образ полученной цифровой подписи. Схемы подписи, как и шифрования с открытым ключом, основаны на вычислениях в конечной группе, поэтому их можно разделить по типу вычислимости порядка группы. 13.1. Подпись на группе трудновычислимого порядка Для группа, вычисление порядка которой эквива этого класса подписей используется лентно труднорешаемои задаче разложения со создать пару сообщение/подпись так, чтобы ставного числа на простые множители (см ее невозможно было подделать: ^ X. гл. 9). ■- - - Ф <- -X ■^ шГ S 5 V,^»-^ 'Ь^'. jT ^ х^^ tr t
264 13.1.1. Схема подписи RSA ние т сообщением т. В этом случае стойкость схемы подписи не может превышать сложности Криптосистема с открытым ключом RSA мо- вычисления коллизий хэш-функции. Приведен жет использоваться не только для шифрования, ные рассуждения показывают, что необходимо но и для построения схемы цифровой подписи. согласовывать сложности разложения, логариф- Протокол 13.1.1. Схема подписи RSA. Вход отправителя. Составное число п^ секрет ный показатель d. получателя. Составное число w, откры тыи показатель е. мирования и нахождения коллизии. Если хэш-функция не используется, то мор- физм подписи RSA можно легко вычислить. Это обстоятельство положено в основу подписи «вслепую» для электронных денег (подробнее см. п. 13.5.2). льтат. Формирование и проверка подписи. Метод. Для формирования подписи для сообш.ения т 13.1.2. Схема подписи Рабина отправитель выполняет следующие действия. Вариантом RSA является схема подписи. Вычисляег хэш-образ г <г- h{m) сообщения т предложенная в 1979 г. М. Рабином [14]. (за рубежом для подписи RSA часто используются хэш-функции MD4 и MD5). Зашифровывает число г на своем секретном ключе J, то есть вычисляет экспоненту s <^г^ (mod п). Подписью для сообщения т является число 5. Протокол 13.1.2. Схема подписи Рабина. Вход отправителя. Простые делители и числа п. чателя. Составное число п. Для проверки подписи получатель выполняет следующие действия. . Расшифровывает подпись 5 на ключе е отправителя. то есть открытом вычисляет льтат. Формирование и проверка подписи. Метод. Для формирования подписи для сообщения т отправитель выполняет следующие действия. Вырабатывает случайное число г и вычисляет значение хэш-функщ^и е Mm г\ее t< S (mod w), восстанавливая предполагае мый хэш-образ t сообщения т. Вычисляет хэш-образ г <— h{m) сообщения т . Если оно выполня Проверяет, является ли е квадратичным вычетом по модулю W, для чего, например, вычис ляет символы Якоби е е 9 . Если е Проверяет равенство г ется, то результат: подпись подлинная, иначе результат: подпись недействительна. квадратичный невычет по модулю п, то воз вращается на шаг 1 (генерирует новое значение Схема подписи RSA может быть рассмотрена г и вычисляет новое е). В противном случае вычисляет как категория, объектами которой являются пары сообщение/подпись, а морфизмами — отображения таких пар, удовлетворяющие проверочным соотношениям. Очевидно, что если (ш, s) — подлинное подписанное сообщение, то пара (т\ "' тоже будет правильно подписаршым сообщением, если Mm') = h\m) (mod w) и 5' ^ / (mod п) для р < Ve(mod /?), я < л1е(тойд) и восстанавливает d е (Ж/пЖ)*, 2 е (mod w), по китайской теореме об остатках s: dpq{q 1 1 mod/?) + dgpip mod q) (mod n). Подписью для сообщения m является пара ir.d). некоторого целого к. Новая пара (ш, 5) может быть создана следуюпщм алгоритмом: выбрать Для проверки подписи получатель выполняет сообщение т\ вычислить Mjn'\ найти логарифм следующие действия. Mjn') по основанию Mjn) и вычислить s f Можно наоборот, сначала найти г' = /г(ш) (mod п) для Вычисляет значение е Вычисляет хэш-образ 2 f €' < (mod п) - Mm г). Если е г е\ то результат: подпись подлинная, ина че результат: подпись недействительна. Безопасность этого протокола основана на тео известного к^ а затем подобрать т' так, чтобы выполнялось равенство h(m') = /. Поэтому стойкость подписи RSA не может превышать сложности вычисления логарифма в группе (Ж/пЖ) или сложности обращения хэш-функции. Если нарушитель составляет текст для подписи, то он может подготовить коллизию (W, т') ^ При надлежащем выборе хэш-функции вероят- такую, что h(m) = h(m'\ дать на подпись сообще- ность того, что е является квадратичным вычетом по ние ш, а затем подменить подписанное сообще- модулю/?, приблизительно равна 0,25. реме 12.2.1. Кроме того, схема подписи Рабина
265 подвержена атаке на основе подобранных сообщений (например, извлечение квадратного корня из 4 не требует разложения числа п). Возможно также нарушение «правильного» порядка вычислении. при котором сначала ищется корень из сообщения как целого числа, а потом подбирается число г. 13.1.3. Схема подписи Фиата-Шамнра Эта схема подписи была предложена А. Фиатом и А. Шамиром в 1986 г. [8], Общим отбытым ключом здесь является составное число п pq\ персональным секретным ключом на бор элементов ^о? ••> Sk-i кольца Ж/пЖ; персональ ным открытым ключом набор Vn, ..., Vk~\ кольца таких, что V. элементов s'^(modn). отличие от RSA здесь можно использовать об щии модуль п, при этом ни один из участников не должен знать разложение числа п. Организационно это можно выполнить так: выработать два различных больших простых числа, затем вычислить их произведение, а сами простые числа стереть. 4. Проверяет равенство е = е\ Если оно выпол- результат: подпись подлинная. то няется, иначе результат; подпись недействительна. Безопасность этой схемы подписи основана на сложности извлечения корня в кольце вычетов Ж/пЖ. При этом число п должно вырабатываться доверенной стороной. Для того чтобы каждый пользователь системы мог убедиться в том, что число п выбрано правильно, в криптосистеме необходимо предусмотреть процедуру доказательства того, что число п является произведением двух различных простых чисел (см., например, п. 14.2.4). Подпись Фиата-Шамира не обладает вычислимыми морфизмами, присущими подписи RSA. Использование стойкой (в смысле обращения и в смысле нахождения коллизий) хэш-функции исключает атаку, связанную с подделкой подписи. 13.2. Подпись на группе вычислимого порядка Протокол 13.1.3. Схема подписи Фиата- Шамира. Вход отправителя Составное число п: 9 So, ...,5/t-i G Ж/пЖ. чателя. Составное число п: ? V(b ...,Vk-} е , где V. =5. 2 (mod п). льтат. Формирование и проверка подписи Метод. Для формирования подписи для сообщения т произвольной длины отправитель выполняет еле дующие действия. . Выбирает произвольное целое число <г<п г 4. Полагает г/ <— г (mod п). В ычисляет хэш -функцию представляет полученное двоичного вектора (^о, ..., е\^-\ к-) Вычисляет 5 <— ^fT'5'f' (mod w) € < Mm щ и значение в виде / о Подписью для сообщения т является пара (е, 5). Для проверки подписи получатель выполняет следующие действия. 1. Представляет число е в виде двоичного вектора (ео, .-..ей к~\ 2. Вычисляет >v<—5^]~Tvf'(modw) /=0 Полагает е' <— h{m || w). этих протоколах можно использовать про извольные группы вычислимого порядка г. В ка честве примера рассмотрим подгруппу группы ¥р 13.2.1. Схема подписи Эль-Гамаля Протокол подписи Эль-Гамаля [7] строится следующим образом. Секретным ключом фор мирования подписи служит целое число X, <х<г 9 открытым ключом проверки подпи- простое число р, образующая а подгруппы простого порядка г мультипликативной группы СИ р простого поля и экспонента b^d (mod/?). Протокол 13.2.1. Схема подписи Эль-Гамаля. Вход отправителя. Секретный ключ х. чателя. Характеристика поля р, об разующая а подгруппы простого порядка г, экс понента b^d (mod/?). льтат. Формирование и проверка подписи. Мето Для формирования подписи для сообщения т, , отправитель выполняет следующие т г действия. 2. Генерирует случайное число k,0<k<r Полагает w <^ а (mod/?). Находит число xw + ks (mod г): S, решая сравнение т S < (т xw)k I (mod г). Подписью для сообшения т является пара (w, 5). - J" -.. _ ^r t ^
zoo Для проверки подписи получатель выполняет следующие действия. . Проверяет неравенство н ? р. Если оно не выполнено, то результат: подпись недеистви 2. тельна. Проверяет сравнение для экспонент: сГ W v/ (mod/?). Если оно выполняется, то Алгоритм 13.2.2. Вычисление морфизма протокола подписи Эль-Гамаля. Вход. Тройка (/;/, н', s). Выход. Тройка {т\ w\ 5'), удовлетворяющая проверочным соотношениям. Метод. . Выбрать произвольное число а. положить результат: подпись подлинная, иначе резуль f W < W а (mod/?). тат: подпись недействительна. 1 Поскольку число ? используемое на этапе Вычислить коэффищ1ент р <— w'w (mod г). ^ Bs (mod г) формирования подписи, взаимно просто с числом г, то к обратимо по модулю г, то есть число s всегда существует и оно единственное. При формировании подписи в протоколе Эль- использовать предвычисления. Положить т' <— р/7/ (mod г), s' < Результат: (т\ w\ 5'). а Нахождение данного морфизма основано на Гамаля можно Действительно, числа к ^ м? никак не связаны с сообщением и могут быть вычислены заранее, что нарушении порядка вычислении при генерации подписи (сначала выбирается а, затем находятся и ш'). Для исключения подделки подписи без вскрытия ключа необходимо использовать хэш- позволяет ускорить процедуру формирования подписи. Проверка подписи является более трудоемкой. Протокол Эль-Гамаля положен в основу стандартов подписи РФ и США (см. п. 13.2.3). Протокол Эль-Гамаля можно модифицировать. Например, использовать в сравнении m^xw-^ks (mod г) вместо сложения вычитание; менять мес- функцию например, вырабатывать подпись не для самого сообш.ения т, а для его хэш-образа h{m). Эта хэш-функция должна быть стойкой в части нахождения коллизии, в противном случае возможна заготовка коллизий до формирования подписи, как и в схеме RSA. Данный недостаток можно устранить, если «связать» с помощью хэш-функции независимые аргументы т и w. тами 5 и Ыт)\ умножать слагаемые на ненулевые например, вычислять подпись для h{m w). Указанный морфизм может быть положен в линейное сравнение алгебраическим уравнением, основу подписи «вслепую», например, для элек- коэффициенты: am bxw-^cks (mod г); заменять имеющим единственное решение в поле вычетов тронных денег (см. п. 13.5.2). по модулю г. в частности, при г = 5 (mod 6) любое сравнение третьей степени всегда имеет единст- BCjffloe решение в F^., поэтому можно использовать Условие н ? /7, проверяемое получателем, яв- сравнение т 3 XW 3 +fa 3 (mod г), тогда проверка ляется важным, так как в противном случае правильная подпись (w, 5) для е = h(m) может быть переделана в подпись для произвольного значения хэш-функции е' = h{m'). Дня этого достаточ _ _ Г% .г . — ] г Л \ гту _ НО вычислить элемент Ы' ее (mod г). Тогда подписи сведется к проверке сравнения а (mod/?). Можно возводить в степень не все коэффициенты, а также использовать произвольную 1,0 так как отображение х ^ х' (mod г) является взаим- лое число w' <рг по китайской теореме об остах но однозначным и вычислимым в обе стороны. нечетную степень t такую, что НОД(г W pw (mod г), w' = н' (mod р), можно найти це- (mod/?). Полагая s (mod г) ках, при этом (w'j 5') будет подписью для сооб щения е f Mm'), Протокол подписи Эль-Гамаля тоже может быть рассмотрен как категория, в которой пары сообщение/подпись составляют множество объектов, а отображения между ними — морфизмы. Покажем, что эти морфизмы могут быть легко го порядка. Пусть Протокол подписи Эль-Гамаля может быть очевидным образом перенесен из группы произвольную циклическую группу вычислимо — циклическая группа про в вычислены. стого порядка г с образующей а и пусть b ^ G. Пусть (m,w,s)— правильно подписанное со- Секретным ключом формирования подписи яв ляется показатель х такой, что а открытый общение. Создание нового формально правильного сообщения (т\ w\ 5') основано на умноже- ключ проверки подписи содержит способ задании сравнения формирования подписи на число ния группы G, образующую а и элемент Ь, Кроме Пусть ак (mod г). Обозначим W f (mod/?). Пусть н (mod г), 5' ? Г Вн ? (mod г). Тогда т г Вт а (mod г). Таким образом, для того, необходимо иметь вычислимую в одну сто рону функцию /: F,. (функции f и h могут вычисления морфизма (т, w, 5) -^ (т', w\ 5') достаточно вычислить аир. Морфизм вычисляется следующим алгоритмом. 2 Здесь хэш-функция должна обеспечивать сцепление битов и блоков аргумента, то есть не должно сутдество- вать пары /Wi, т2 такой, что lim^\w) = h^m'^w) для всех w.
267 совпадать). Для формирования подписи для со уточнении, например, проверки того, что эле общения т генерируется случайный показатель к мент w действительно принадлежит циклической и вычисляются значения: w S = {fim общение Если в /г(т||м') w) 1 d, fiw\ h(m w\ группе G порядка г (см. гл 15) xf(w))k (mod г). Подписанное со а М представляет группе собой Таким образом, сложностная неоднородность тройку (т, W, 5). обобщенного протокола Эль-Гамаля равна 7 (или выполняется равенство 5, если /= 1г) S W , то подпись подлинная Оригинальный протокол Эль-Гамаля при ге основу безопасности схемы подписи Эль- нерации подписи использует не подгруппу по Гамаля положены следующие предположения логарифмирования рядка г, а всю группу порядка/? - 1, причем чис задача дискретного группе G является сложной; в ми для всех пользователей. энтропия генератора случайных чисел не ниже энтропии генератора ключей; вероятность повтора двух случайных чисел в течение срока действия ключа пренебрежимо мала; ло /7 и образующая а группы F^ являются общи- этом случае возможно встраивание потайного хода в протокол выбором образующей [4]. Пусть р- \=сг, где с имеет только малые простые делители. Если существует образующая вида а' = dr, где с, и известен пока хэш-функция h является вычислительно не обратимой; коллизии хэш-функции h являются трудно вьгчислимыми; затель такой, что (а^У = а (mod/?), то подпись можно подделать без знания секретного ключа. Для формирования поддельной подписи нужно выполнить следующие действия. функция / является вычислительно необра Решить показательное сравнение rz а г тимои; коллизии функции / являются трудновычис лимыми. (mod/?) относительно переменной z путем дискретного логарифмирования в подгруппе порядка с. Для решения можно использовать алгоритм Гельфонда. Решение задачи логарифмирования в группе формирования 2. Положить а <— а 1 (mod/?). позволяет вычислить ключ . Тогда из подписи по открытому ключу. Если число вестно, то ключ формирования подписи вычис Гч/ (al (а') р~3 2 (а') 1 (а') 2 (а') 1 а (mod/?) ляется решением линейного сравнения: Полагая w < г а\ найти значение s < tie drz) X Mm w) Ь /(нО (mod г) (mod(z?-l)) для данного значения е хэш функции При этом S7 W w'b (а'^-'^Ч dr а e~drz 1. di .иг а е Ех:ли (mod/?), то есть {ys^^s) пра среди множества подписей на одном вильная подпись для е. ключе встретились две с одинаковым значением w (и, следовательно, с одинаковым значением к)^ то Таким образом, безопасность схемы подписи ключ формирования подписи может быть вычис- Эль-Гамаля при работе в группе р зависит от лен решением системы двух линейных сравнений: существования заранее неочевидного набора Mm 1 w) xw + ks. (mod г). 2 w) xw + ks2 (modr) {a, a\ c, d} с указанными свойствами; этот набор может быть тайно создан нарушителем (разработчиком) на этапе выбора открытого ключа. Поэтому более предпочтательным является ис- Если задачи обращения или нахождения кол- пользование подгруппы простого порядка г. лизий функций/или h не являются сломшыми, то возможна подделка подписи без вскрытая ключа или замена подписанного сообщения другим. Отметим, что если удастся вычислить к такое. 13.2.2. Схема подписи Шнорра что fiw) (modr), то пара (осмысленное) со общение/подпись может быть подделана даже без наличия правильно подписанного сообщения, независимо от секретного ключа. Такие зна- оказываются вычислимыми для некото- [16] си протоколе цифровой подписи К. Шнорра ключи формирования и проверки подпи- те же, что и в протоколе Эль-Гамаля. чения рых функций / и некоторых эллиптических или этих Протокол 13.2.3. Схема подписи Шнорра. Вход отправителя. Секретный ключ х. чателя. Характеристика поля /?, об случаях разующая а подгруппы простого порядка г, экс гиперэллиптических кривых. протокол проверки подписи может потребовать понентай = а^ (mod/?). -f л>' ^ ^
268 льтат. Формирование и проверка подписи. Метод. Для формирования подписи для сообщения т дать произвольно значение w и далее решать задачу ограниченного обращения. Категория схемы подписи Шнорра содержит в отправитель выполняет следующие действия качестве объектов множество пар сообще 2. Генерирует случайное число к^ О Вычисляет W -(^ct (mod/?). Находит е <г- Полагает s <г- г ние/подпись, морфизмами являются отображения этих пар. Но поскольку в аргумент хэш-функции Ыт w), где h — хэш-функция хе (mod г). Подписью для сообщения т является пара (е, 5). ВХОДИТ неизвестный заранее элемент w, то мор- физм трудновычислим, а предварительная заготовка коллизий затруднена. Это обстоятельство накладывает менее жесткие требования на хэш- функцию по сравнению с подписью Эль-Гамаля. Для проверки подписи получатель выполняет следующие действия. . Вычисляет н'' <г- cfb^ (mod/?) 13.2.3. ГОСТ Р 34.10-94 и DSS Находит е f him w'). По принципу протокола цифровой подписи Проверяет равенство е' - е. Если оно выпол- Эль-Гамаля созданы отечественный стандарт няется. то результат: подпись подлинная, цифровой подписи ГОСТ Р 34.10-94 [Пи аме иначе результат: подпись недействительна. В основу безопасности схемы подписи Шнор ра положены следующие предположения: риканский стандарт DSS (Digital Signature Standard) [10], основанные на задаче дискретного логарифмирования рядка г в подгруппе простого простого поля характеристики р. по задача дискретного логарифмирования в под- ГОСТ Р 34.10-94 число г имеет длину 256 бит, для формирования и проверки подписи исполь- DSS группе простого порядка г является сложной; энтропия генератора случайных чисел не зуется хэш-функция ГОСТ Р 34.11 ниже энтропии генератора ключей; вероятность повтора двух случайных чисел в течение срока действия ключа пренебре жимо мала; хэш-функция h является вычислительно не обратимой. длина числа г- функция — SHA 160 бит, [9]- 94 [2]. используемая хэш Параметрами алгоритма цифровой подписи в указанных стандартах являются: L~\ L простое число, 2 ^ <р<2\ где 510 512 Здесь как и в протоколе Эль-Гамаля, повто числа А: в те или 1022<Z<1024 для ГОСТ Р 34.10-94; рение одного и того же случайного кратно 64 и 512 < Z < 1024 для DSS; чение срока действия ключа х приводит к вскры тию гслюча, для этого достаточно решить систе му из двух линейных сравнений. Случай одина ковых значению н'' (шаг 1 проверки подписи). Среди г 255 простои делитель числа ? где <г<2 256 ДЛЯ ГОСТ Р34.1 94 и 159 r<2^^%ляDSS; выявляется сортировкой подписей по а образующая циклической подгруппы возможных модификаций протокола Шнорра: замена вычитания сложением; использование вместо сравнения s нейной комбинации as = bk порядка г группы F„ ; X хе (mod г) ли схе (mod г) с пену левыми а, Z), с; замена линейного сравнения ал гебраическим уравнением, допускающим един ственное решение Эль-Гамаля. - случайное целое число, О d {то&р). X г\ и по аналогии с протоколом Целые числа р^ г и а являются открытыми могут быть общими для группы пользователей. Число X — секретный ключ формирования подписи, Ь — открытьш ключ проверки подписи. Протокчы! 132.4. Схема подписи ГОСТ Р 34.10-94 Определим ограниченное обращение хэш hDSS. функции как нахождение аргумента, часть кото рого фиксирована, то есть аргумент можно «на ращивать», начиная с некоторого фиксированно Вход отправителя. Секретный ключ х. 3 настоящее го отрезка. В протоколе Шнорра ограниченным обращением будет нахождение сообщения т тавре м я стандарт подписи стандартом подписи кого, что Mm w) е при заданных н', е. ГОСТ Р 34.10-94 заменен ГОСТ Р 34.10-2001 (изменения по сути касаются типа Задача ограниченного обращения хэш-фун кции не проще задачи ее обращения. Деистви было бы за тельно, в противном случае можно группы, в новой версии используется фуппа точек эллиптической кривой). В США несколько раньше разработана аналогичная версия стандарта ECDSS (Elliptic Curve Digital Signature Standard).
269 чателя. Характеристика поля /?, об разующая а подгруппы простого порядка г, экс понента b^d(mod/?). XH' + fej (mod г), хи^ + ^2 (mod г) льтат. Формирование и проверка подписи Метод. Для формирования подписи для сообщения т протоколах ГОСТ Р 34.10-94 и DSS аргументом хэш-функции является только сообщение отправитель выполняет следующие действия. Генерирует случайное целое число г. Полагает w -^ (</ (mod/?)) (mod г). \— хэш-функция ш, а не пара m\\w^ поэтому используемая хэш- функция доллша быть стойкой в части нахождения коллизий. Коллизии могут заготавливаться Вычисляет е ^ Mm), где заранее, то есть сложность нахождения коллизии должна соответствовать сложности вскрытия ключа или даже превышать ее, если в системе ГОСТ Р 34.11-94 (для ГОСТ Р 34.10-94) или предусмотрены механизмы смены общего клю SHA (для DSS). ча подписи и не предусмотрены механизмы Находит 5 (ке + хи^) (mod г) (для ГОСТ смены параметров хэш-функции. Поскольку в Р 34.10-94) или 5< DSS). 1 ■^xw) (mod г) (для Подписью для сообщения т является (w^ 5), при этом не допускается s пара ГОСТ Р 34.10-94 порядок группы имеет длину 256 бит, то на практике вскрытие ключа подписи, по-видимому, является более простой задачей, чем заготовка коллизии. Для проверки подписи получатель выполняет следующие действия. 1. Проверяет неравенства w S г. Если хо тя бы одно из них не выполняется, то резуль Как бьшо показано в гл. 10, 11, в протоколах ГОСТ Р 34.10-94 и DSS срок действия ключей подписи (в том числе персональных, которые еще не выработаны) следует отсчитывать от момента выработки характеристики поля р. Смена тат: подпись недействительна. персональных ключей при сохранении характе Находит е ЫтХ где хэш-функция гост Р 34.11-94 (для ГОСТ Р 34.10-94) или SHA (для DSS) Вычисляет t <— е 1 ристики поля практически продлевает срок действия ключа лишь на несколько секунд. Таким образом, можно считать, что в системе все ключи формирования и проверки подписи прекра- (mod г) (для ГОСТ Р 34.10-94, щают действие одновременно. По окончании при е полагает t < или t < S 1 (для DSS). Вычисляет u<-st (mod г), (для гост Р 34.10-94) или v< wt и< v< w^ (mod г) (для DSS). Полагает w' < UlV (mod/?)) (mod г). Проверяет равенство w' = w. Если оно выполняется, то результат: подпись подлинная. (mod г) срока действия ключей все подписи на их основе считаются недействительными. Это необходимо учитывать при формировании цифровой подписи документов длительного пользования. Протоколы ГОСТ Р 34.10-94, DSS, как и протоколы гост Р 34.10-2001, ECDSS (см. п. 15.6.5), предъявляют жесткие требования к генератору (mod г) et (mod г). случайных чисел. Энтропия ключа формирования подписи не превышает энтропии генератора иначе результат: подпись недействительна. — случайных чисел. Сложностная неоднородность протокола под- Для затруднения закладки потайного хода писи равна 5. Стойкость подписи не превышает при выработке открытого ключа, общего для минимума сложностей дискретного логарифми- всей системы, в ГОСТ Р 34.10-94 предусмотрен рования, нахождения используемого случайного механизм проверки того, что открытый ключ числа, обращения хэш-функции, вычисления вырабатывался «по правилам». Напомним, что коллизий хэш-функции. такой потайной ход (по отношению к методу решета числового поля) может быть создан, ес- раз- реженный полином с малыми по абсолютной ли сначала выбрать неприводимый над 13.3. Сравнительный анализ представленных схем подписи величине коэффициентами и алгебраическое число а как корень этого полинома, а затем простое число р такое, что образ т = а (mod/?) является гладким. Сложность задачи разложения составного числа и сложность задачи логарифмирования в мультипликативной группе простого поля по от Здесь, как и в протоколе Эль-Гамаля, исполь- ношению к асимптотически наилучшим универ зование дважды одного и того же числа к ведет к сальным алгоритмам разложения и логарифми вскрытию ключа формирования подписи реше- рования (метод решета числового поля [11]) по нием системы сравнении: линомиально эквивалентны (см. п. 10.1), если
270 длины характеристигш поля в системе Эль 13.4. Скрытый канал Гамаля и характеристики кольца п в системе RSA одинаковы. Эта сложность оценивается Иногда к криптографическим протоколам субэкспонентой exp(cy(log/7)(loglog/7) 2 для с 1,923. Проверка подписи в протоколе Эль-Гамаля предъявляется требование, согласно которому они должны выполнять определенные криптографические примитивы и не выполнять ничего лишнего. в частности ? не должны допускать выполняется медленнее, чем в RSA. Размер под- скрытую передачу зашифрованной информации писи в протоколе Эль-Гамаля больше, чем в Скрытый канал (subliminal channel) позволяет RSA, однако, если использовать вычеты состав- передавать постороннюю информацию, внешне ляющих подписи по модулю порядка группы, не нарушая ход установленного протокола [17].'* Необходимым условием существования скрытого канала является наличие избыточной слу- как в стандартах DSS и ГОСТ Р 34.10-94, то подпись оказывается короче, чем в RSA. сие теме DSS, в отличие от RSA, алгоритм формиро- жебной информации. Скрытый канал таят в себе, вания подписи работает быстрее, чем алгоритм например, протоколы цифровой подписи, проверки подписи. Проверка подписи в протоколе Шнорра тре- пользующие генерацию случайного числа. ис- Рас- смотрим ситуацию, иллюстрирующую сговор бует вычисления двух экспонент, поэтому фор- двух участников протокола против третьего. От- мирование подписи в этом протоколе выполня- правитель создает сообщение и подписывает его. ется примерно в 1,5 раза быстрее, чем в протоко- Контролер проверяет, что сообщение не содержит ле Эль-Гамаля, так как обычно хэш-функция вы- недозволенных сведений и передает его получа- числяется быстрее экспоненты. телю. Если протокол подписи предусматривает Требования к генератору случайного числа в генерацию случайного числа, то под видом этого схемах Эль-Гамаля, Шнорра, DSS, ECDSS, числа отправитель может передавать получателю ГОСТ Р 34.10-94, ГОСТ Р 34.10-2001 одинако- зашифрованную информацию. Контролер не мо вы и являются более жесткими, чем требования к жет знать, какая информация передается по скры генератору секретных ключей формирования тому каналу и передается ли она вообще, подписи. Требования к хэш-функции в части Приведем пример скрытой передачи в прото коллизий наименее жесткие в алгоритме Шпор- коле подписи Эль-Гамаля. Открытый ключ ра. Однако остальные протоколы могут быть а, Ъ X а Секретный ключ — показатель х. Пусть усилены, если в качестве аргумента хэш-функции отправитель сообщения (то есть владелец ключа использовать m\\w вместо т (с соответствующим формирования подписи) и получатель нарушают изменением протокола). алгоритм генерации ключа и оба знают ключ Схемы подписи Эль-Гамаля и Шнорра могут формирования подписи х. быть легко адаптированы для группы точек эл липтической кривой или якобиана гиперэллип Протокол 13-4.1- Передача информации по тической кривой, что позволяет обеспечить экс- скрытому каналу поненциальную стойкость. Схема RSA, даже бу- Гамаля. в протоколе подписи Эль- дучи перенесенной на эллиптические кривые, не Вход отправителя и получателя. Показатель х такой, что Ъ^а (mod/?). Вход контролера. Ключ {р. а, Ъ} проверки подписи. Выход. Зашифрование и расшифрование ин- ключей при этом не зависят друг от друга. Про- формации, передаваемой по скрытому каналу. Метод. . Отправитель генерирует произвольное сооб- позволяет повысить стойкость (см. гл. 15). Схемы подписи RSA и Рабина требуют индивидуального составного числа п для каждого отправителя. Однако сроки действия открытых токолы подписи, использующие задачу дис кретного логарифмирования в конечном поле а также протокол Фиата или в кольце щение т и число к^ представляющее собой Шамира обладают тем свойством. что сроки за действия персональных открытых ключей канчиваются практически одновременно, неза висимо от начала их действия. Переход к эллип тическим или гиперэллиптическим кривым не большого рода, обеспечивающим экспоненци 4 Скрытый канал в схеме подписи был открыт американцем Г. Симмонсом. Примечательно то, что он сначала предложил использовать схему подписи со альную стойкость, устраняет этот недостаток (см. гл. 11) и позволяет многократно сократить размер задачи. встроенным скрытым каналом для тайной передачи зашифрованной информации против СССР в рамках контроля за соблюдением договора о запрещении ядерных испытаний. Когда советское военное руководство отвергло предложения американпев^ появилась его статья о скрытом канале. .-.. ->.-€- -Л ^^ ^ -Т-
271. нелегально передаваемую информацию и об- вывает их с контролером и посылает получате ратимое по модулю г. Затем вычисляет значе- лю ния н s<. (т xw)k ] , вставляя в открытый текст вместо слов ран (mod г) и отправ- домизатора свою информацию. Получатель по для последующей передачи получателю. Шифрограммой нелегально передаваемого ляет их контролеру вместе с «сообщением» т лучает не только известный контролеру открытый текст, но и скрытую от него информацию в виде слов рандомизатора. сообщения к является подпись (w, s) «сооб- ^сли в схеме шифрования с открытым клю- чом Эль-Гамаля отправитель выбирает случаи- щения» т. , . %- /с ^ Контролер проверяет правильность подписи. Убедившись, что все в порядке, он передает подписанное «сообщение» (т^ w. s) получателю. Получатель, зная секретный ключ х, находит ное число к так, чтобы а было квадратичным вычетом (невычетом), то получатель получает один бит скрытой информации (О для квадратич- число к -^ (т xw)s 1 (mod г). ного вычета, 1 для квадратичного невычета), ко торый может быть легко расшифрован. Очевидно, скрытые каналы можно организо вать и в других протоколах подписи, которые требуют генерации случайного числа. Например, в протоколах Рабина, Шнорра, протоколах стандартов ГОСТ Р 34.10-2001 hECDSSht.h. Для протокола Рабина скрытый канал может быть реализован, если отправитель и получатель подписанного сообщения знают разложение числа п, Шифртекстом может быгь число е, а нелегально передаваемым сообщением — ые (mod/?). Скрытый канал можно исключить, если кон в формировании под тролер будет участвовать писи. Вот, например, как можно модифициро- в этом случае протокол стандарта вать ГОСТ Р 34.10-94 Отправитель генерирует случайное целое число г 5 вычисляет значение W < к (mod р)) (mod г) и направляет w контролеру. Контролер запоминает число н', генерирует <г, и воз- случайное целое число л, вращает его отправителю. Отправитель вычисляет показатель ] < кк' (mod г), значение W] <^ к I (mod/?)) (mod 5 находит подпись 5 <г- (k\h{m) +хи^]) (mod г) и передает сообщение т с подписью (н'ь S) контролеру. Контролер проверяет, что подпись для сооб щения т правильная и что W] (w к! (mod/?)) (mod г), и в случае успешной проверки пере дает подписанное сообщение (ш, Wi, s) полу чателю. 13.5. Другие схемы подписи Диапазон применения схем цифровой подписи весьма широк, поэтому зачастую от них требуются дополнительные свойства. Иногда это достигается за счет ослабления используемых теоретико- сложностных положений. Существует множество схем цифровой подписи, удовлетворяющих требованиям различных приложений, в том числе: схема подписи «вслепую»^ когда отправитель не знает содержания подписанного им сообщения; схема «неоспоримой» (undeniable) подписи, решающая проблему отказа нечестного отправителя сообщения от правильной подписи; схема коллективной подписи, в которой получатель может проверить, что подписанное сообщение пришло от некоторой группы отправителей, но не знает, кем именно из чле нов группы оно подписано; 5 схема разовой подписи, позволяющая ис пользовать данный секретный открытый) ключ для подписи только одного сообщения: схема подписи, в которой проверка осущест вляется без участия отправителя, но с при — «адвока влечением доверенной стороны та» (designated confirmer) и др. ' 5'г^;*"'-^1? 13.5.1. Схема «неоспоримой» подписи Обычную цифровую подпись может прове рить каждый пользователь, имеющий открытый ключ; подписанное сообщение допускает копирование. Но иногда может понадобиться такая Организация скрытого канала возможна и в подпись, проверить правильность которой можно схемах шифрования. Пусть в схеме симметрич- только с участием ее автора. В этом случае копи- ного шифрования используется рандомизатор добавляюпщй к текстам случайные слова, кото рование подписанного floiwMenTa теряет смысл. рые при штатном режиме расшифрования не 5 Учитываются ^ (но Эта схема может быть реализована на основе могут быть легко найдены). обычной цифровой подписи и схемы разделения сек Отправитель готовит открытые тексты, согласо- рета(см. п. 14.5) -_ 1 L J ^-
272 Необходимость в таких подписях может воз- правитель не может с вероятностью, большей г \ никнуть. например ? в следующей ситуации, дать верный ответ для поддельной подписи Компания А разрабатывает программное обеспечение, подписывает его, утверждая, что продукт подлинный, и продает пользователю В. Пользова- Доказательство см. в работе [6]. Теорема 13.5.2. Даже при наличии компьюте тель В делает нелегальную копию программ и ра бесконечной вычислительной мощности от продает ее пользователю С. При такой схеме под- правитель, дав два неверных ответа для подлип писи пользователь С не может проверить подлип ность этих программ частности, их безопас ность) без участия А, Это позволяет улучшить от слеживание нелегального копирования. Другой пример несекретное личное или деловое письмо, которое в случае нелегального копирования и опубликования может нанести ущерб отправителю Тогда для защиты тоже можно применить указанную схему подписи. Кроме того, в обычной схеме подписи в слу чае утраты владельцем секретного ключа им мо жет воспользоваться нарушитель, причем дока зать факт такого использования невозможно. рассматриваемой схеме владелец ключа формирования подписи может доказать, что до1^ыент подписан без его участия. Обратно, если до1^- мент подписан владельцем ключа то отказаться от подписи невозможно. Проверка подписи здесь осуществляется при участии отправителя сообщения посредством протокола «запрос и реализуется ответ», в течение которого получатель посылает отправителю ряд запросов. Если ответы отправителя проходят проверочные тесты, то получатель может быть уверен, что подпись правильная (вероятность получателю ошибиться обратно пропорциональна экспоненте от длины подписи). В противном слу чае получатель может с большой долей уверенно сти распознать, является подпись поддельной или же отправитель дает заведомо неверные ответы (то есть умышленно отказывается от подлинной подписи и обманывает получателя). . Шаум предложил и запатентовал ряд достаточно эффективных и практичных протоколов такой «неоспоримой» подписи на основе задачи дискретного логарифмирования в подгруппе простого порядка г мультипликативной группы простого поля [6] При этом порядок группы знать кому-либо из участников не обязательно, однако протокол остается безопасным и в том случае, если кто-нибудь его все-таки узнает. основу безопасности этого протокола положены следующие утверждения. Теорема 13-5-1. Даже при наличии компьюте ра бесконечной вычислительной мощности от 6 Бесконечная вычислительная мощность компьютера означает, что стойкость данной схемы подписи не зависит от сложности задачи дискретного логарифмирования. ной подписи, будет уличен во лжи с вероятно стью, большей 1 ~ г^\ Доказательство см. в работе [6]. Протокол 13.5.1. Схема «неоспоримой» под писи. Вход отправителя. Образующая а группы простого порядка г (не обязательно известного) секретные ключи — целые числаxwy, получателя. Образующая а группы простого порядка г (не обязательно известного); открытые ключи — а иа ^ льтат. Формирование и проверка подпи си. Метод. Для формирования подписи s для сообщения т отправитель вычисляет s <г- т X Для проверки подписи отправитель и получа тель выполняют следующие действия. . Получатель выбирает вероятностным алго ритмом из интервала (1, г) числам!. В, С и D 5 вычисляет и < S с :П 5 V < п/а' И посылает пару (и, v) отправителю. Отправитель вычисляет < s' t2< и У ? 3 < v'''^' и возвращает тройку (^], ^2, ^з) получа телю. Получатель проверяет, выполняется ли ра венство ih) с х\кП to- Согласно теореме 13.5.1 он знает, что неправильный ответ будет выявлен с вероятностью 1 -г"'. Таким образом, получатель на этом этапе убеждается, что первым компонентом тройки действительно является 5 у А Получатель проверяет равенство {и) (^ О в Если оно выполнено то результат: подпись 1 подлинная с вероятностью 1 - г' (по теореме 13.5.J). В противном случае получатель выбирает тем же вероятностным алгоритмом, что и на шаге 1, числа £ и F из интервала (1 5 вы числя ет г < т I и посылает z отправителю ху и возвращает Отправитель вычисляет t4-^ z и получателю. Получатель проверяет равенство (hia^^y^f' . Если оно выполнено, то резуль- Р\А тат: подпись недействительна (по теореме 13.5,2). В противном случае результат: отправитель лжет.
273 этом протоколе сообщение т не может ки подписи клиента), Sb Sim) подпись банка быть произвольным, а должно являться элемен- Поскольку монета представляет собой информа том группы G 13.5.2. Схема подписи «вслепую» Электронные платежи Схема подписи «вслепую» (blind signature) так же. как и предьщущая. была предложена Шаумом [5]. При использовании этой схемы отправитель, подписывающий сообщение, не знает содержания этого сообщения. «Вслепую» могут быть реализованы некоторые рассмотренные выше схемы подписи. Вот как, например, это делается для схемы подписи RSA [15]. Пусть, как и в обычной схеме RSA, секретный ключ формирования подписи. (w,e) открытый ключ проверки подписи Пусть т— сообщение, для которого нужно по лучить подпись, не раскрывая его содержания. формировании подписи участвуют и отпра витель, подписывающий сообщение, и получатель этого сообщения. Получатель генерирует случайное число W такое, что НОД(^, w) = 1, и посылает отправителю значение /??' = w^m (mod п). Содержание сообщения т «скрыто» числом w Отпра витель возвращает подписанное сообщение S (mod ri). d (w^m) d (mod n) Так как s t wm d TO получатель моясет найти значение подписи: S т d ЛИВ Л f 1 (mod п) для сообщения ш, вычис SW (mod п) Подпись считается подлинной, если выполне но сравнение s^ ^ т (mod п). Расслготрим возможную реализацию подписи «вслепую» в протоколах электронных платежей. основанных на использовании электронной монеты (electronic coin) — информации, в отличие от обычных денег не имеющей трудноподделы- ваемого физического воплощения. «Вслепую» подписывается банком \т[икальный номер монеты, известный только ее владельцу. Участниками протоколов электронных платежей являются клиент, банк и магазин. Кроме них в систему электронных платежей иногда включают арбитра для разрешения споров. Клиент получает в банке электронные деньги, производит на них покупку товара в магазине, затем магазин погашает электронные деньги в банке. Протоколы электронных платежей содержат три основных этапа: создание электронных денег, передачу их магазину и погашение. Рассмотрим общие принципы создания и использования электронных денег. Электронная монета представляет собой пару (ш, Sb)^ где т — информация о монете (ее номи нал, индивидуальный номер, информация о вла- с провер- дельце, включающая открытый ключ цию, она может быть скопирована (например, клиентом или магазином). Поэтому необходимо исключить повторное использование монеты. Это обеспечивает банк контролем неповторяемости номеров монет при погашении. На этапе создания монеты клиент и банк действуют совместно и имеют возможность убедиться в том, что никто из них не обманывает партнера, при этом банк не может узнать номер монеты. После того как монета создана, банк не может отследить ее использование до момента погашения, это обеспечивается подписью «вслепую». На этапе покупки клиент предъявляет монету магазину. Магазин убеждается, что подпись банка правильная. Для проверки того, что монета действительно принадлежит данному клиенту. магазин генерирует случайный текст t и посыла ет клиенту текст {t^ т) для подписи, затем прове ряет правильность полученной подписи Sc клиен та с помощью его открытого ключа г с проверки подписи, который содержится в монете. Если подпись неправильная, то покупка запрещается. противном случае покупка разрешается, и магазин запоминает тройку (/, т, s^. При погашении монеты магазин предъявляет банку тройку m,Sc) . Банк проверяет неповторяемость этой тройки, гасит монету, если она не встречалась, и заносит тройку (^, т, s с В базу данных. противном случае он выясняет, кто использовал монету дважды. Если пара т) встретилась дважды, то это означает, что монету повторно использует магазин; если только компонент т встретился дважды, то монету повторно использует клиент. Существует много вариантов протоколов на элек электронных платеясеи, основанных тронных подписях, доказательствах с нулевым разглашением, с монетами фиксированного или произвольного номинала, монетами, которые мояшо разменять, и т. п. Практически, если стоимость монеты не фиксирована, то протокол подписи «вслепую» выглядит следующим образом. Протокол 13.5.2. Создание электронной мо неты на основе подписи «вслепую». Вход клиента. Открытый ключ Р/, проверки подписи банка 5 функция F наложения маски; функция G снятия маски; число п. Вход банка. Секретный ключ формирования подписи; функция F налоясения маски; число п. льтат. Электронная монета. Метод. Клиент генерирует п сообщений т /5 <i<n э содержащих денеясное выражение монет
274 (одинаковое для всех п сообщений), ключ Р^ участвуют две стороны, которые не могут абсо проверки подписи клиента и, возможно, дополнительную информацию, накладывает на лютно доверять друг другу. частности, клиент каждое сообщение случайную маску а,, вы числяя значение F/ = F(m„ а,), I < / < w, и от может предлагать такие сообщения, которые позволят ему вскрьп^ь ключ подписи и получить возможность самому делать монеты (атака на основе правляет все F^ в банк. Банк выбирает наугад п ~ I замаскированных сообщений и просит клиента раскрыть их. Клиент раскрывает значения (w„ а,) для каж выбранных сообщений). С другой стороны, служащие банка могут быть заинтересованы в раскрытии замаскированного сообщения клиента, чтобы в дальнейшем самим воспользоваться этой монетой. дого из W - 1 выбранных сообщений. Банк убеждается, что все они созданы правильно. Если число п достаточно велико, то банк может быть убежден с достаточной ве- 13.S.3. Схема подписи с восстановлением сообщения роятностью 9 что и оставшаяся пара («г, а) тоже создана правильно. Кроме того, банк вычисляет Fi F(m !•> а,) для раскрытых зна чении (т ОС/), Схема подписи с восстановлением сообщения [12] может использоваться для подписи коротких сообщений (например, ключей). Подписывание осуществляется несимметричным алгоритмом подлинность. проверяя таким образом их без каких-либо хэш-функций. Ключ зашифрова ния является секретным ключом формирования Банк генерирует подпись Sb для пары (w, а) и подписи. Ключ расшифрования является открытым ключом проверки подписи (например, в сис- отправляет л/, клиенту. Клиент с помощью ключа Рь проверяет, что пара (ш, а) подписана банком правильно. За- RSA) Исходное сообщение дополняется тем он вычисляет значение G(5/„ а) так, что подпись остается верной и для сообщения т. Результат: электронная монета (ш, Sb). случае монет фиксированной стоимости первые четыре шага не нужны. Отличие подписи «вслепую» от обычной цифровой подписи состоит в возможности вычисления маски и ее последующего снятия так, что подпись остается верной. Кроме того, наложение и снятие маски должны выполняться теме избыточными битами, включающими в себя признак начала сообщения и число добавленных битов, и зашифровывается на секретном ключе отправителя сообщения. Восстановление исходного текста по подписи происходит в процессе проверки подписи. Получатель сообщения расшифровывает его и проверяет правильность избыточных битов, выполняя действия отправителя в обратном порядке. 13.5.4. Инкрементальная подпись без знания секретного ключа формирования подписи. Снятие маски должно исключать возможность изменения сообщения. Для этого необходима вычислимость функций F и G в одну сторону. Функция F должна быть такой, что по данному значению F, трудно подобрать пару аргумен- Инкрементальная (наращиваемая) подпись [3] показывает, как объединение задач цифровой подписи и представления данных, которые решаются известными способами, дает новое качество. Это в равной мере относится к подписи и к хэш-функции, то есть к вычислимым в одну сто- тов (т ь ОС;) И трудно вычислить коллизию, то есть найти две пары аргументов (т^, а^) и (т^ ак) таких, что Fj == F^. Таким образом, для подписи «вслепую» требуется наличие вычислимых функций F, G таких, что для операции подписи S оказьгеается справедливым выражение GSF = S. Это свойство можно интерпретировать как существование вычислимого морфизма схемы подписи, не требующего зна- рону функциям, в основу инкрементальной подписи положено следующее свойство таких функций: если s{x) — подпись (хэш-функция) для текста X, то s(s(x)) тоже может служить подписью (хэш-функцией). Назовем алгоритм инкрементальным^ если он коммутативность диаграммы ри- обеспечивает сунка 13.1. X ния ключа. Объектами категории являются пары сообщение/подпись, выдерживающие проверь. Ах Ду являются Морфизмами категории отображения одной пары в другую. вычислимые X f f На безопасность протоколов «вслепую» влияет то обстоятельство, что в формировании подписи Рис. 13.1. Диаграмма вычисления инкрементальной подписи
275 Здесь X, Ах, х' = X + Ах А;', ВХОДЫ алгоритма^ V, f _у + Ау этого блока как новый лист (исключается или выходы алгоритма (сложение заменяется лист) и вычисляютс гт новые подписи для вершин дерева, лежащих на пути от нового формальное). Огрелками обозначены вычислимые отображения. Коммутативность этой диаграммы листа до корня. позюляет организовать вычисления для извест- Пример вычисления инкрементальной подпи- ных х, х', у следующим образом: сначала для ма- си для пятиблочного сообщения приведен на ри- лого Ах вычисляется выход Ау, затем находится сунке 13.2. Каждому блоку соответствует обыч- . являющаяся листом. Для пары под- формируется подпись АВ^ для пары выход у для измененного входа. Если размер из- пая подпись менении мал по сравнению с размером текста, то писеи и ecTblAxI X 9 ТО вычисления можно ускорить. подписей АВ CDE формируется подпись Инкрементальная подпись может использо- ABCDE. Инкрементальная подпись представляет D АВ ваться в ситуациях, когда необходимо внести собой множество подписей {А, малые изменения в большое подписанное сооб- CDE^ ABCDE}. Для измененного (вновь введен- щение, послать близкие по содержанию сообще- ного, исключенного) блока D пересчитывается гт НИл нескольким пользователям, отредактировать (вновь вводится, исключается) подпись текст большого объема с подписью калсдого оче- считываются пере подписи дл л вершин CDE и ABCDE, связанные жирными ребрами с изме редного варианта и т. п. Инкрементальная подпись (хэш-функция) ненным листом D. Если сообщение содержит п может быть организована следующим образом, блоков, то при изменении одного блока нужно Подпись представляется в виде дерева, то пересчитать OQogn) подписей есть дерева с фиксированным корнем. каждая ?: вершина которого, не являющаяся листом, имеет двух или трех сыновей, расстояния от любого листа до корня одинаковы. Такие деревья используются для представления данных. Высота 3 дерева с п вершинами равна 0(\ogn). Для формирования инкрементальной подписи (хэш-функции) текст разбивается на блоки фик- сировш^ной длины. Для каждого блока вычисляется обычная подпись (хэш-функция), которая является листом. Пары или тройки листьев в свою очередь опять подписываются, полученные подписи «второго уровня» объединяются в пары или тройки, каждая из которых вновь подписывается и т. д. При введении (исключении, замене) нового блока вычисляется обычная подпись для ABCDE ^- ^. АВ CDE D ^Lr X "£. <^ -' --■■ к -^ Рис. 13Л. Инкрементальная подпись на основе 2-3 дерева Инкрементальная подпись представляет собой совокупность вершин дерева, то есть длина подписи (хэш-функции) не меньше, чем длина сообщения. K-yi^l^^^\.' ^^ # ^ ч-ь ^ -^ - J Z. -*г- *L *. -rv^ [ ■^^^ Упражнения к главе 13 ^ X -^^ ^ J -. f it Z.X Сравните безопасность схем подписи RSA, Рабина и Фиата-Шамира. Оцените безопасность схемы подписи Рабина при повторении случайного числа. Предлоясите способ передачи зашифрован ной информации по скрытому каналу в про токоле Рабина и способ устранения контро лером этого канала. Предположим, что в компьютерной систе ме реализован алгоритм цифровой подпи си ГОСТ 34.10-94 с поля длины 1000 бит характеристикой и предусмотрена возмоясность смены характеристики поля. Оцените периодичность смены характеристики поля на десятом году эксплуатации. если алгоритмическая сложность дискрет ного логарифмирования падает со скоро стью 30 раз в год, а вычислительная мо дель вскрытия ключа выполняет 10^^ one рации в год. Оцените стойкость модифицированных про токолов Эль-Гамаля с уравнениями формиро вания подписи: хМт) + fo: в) S h(m) xs-\-kw: w xw kh(m): Mm) A(w + + c) + efo— для обратимых констант с, d^ е. Все уравнения решаются по модулю простого порядка группы. Предложите свой вариант уравнения формирования подписи на основе протокола Эль- Гамаля.
276 10 II 12 Оцените стойкость модифицированных про токолов Шнорра с уравнениями формирова ния подписи S хе; б) S к + d(x + с)е; е xs-^ к для произвольных ненулевых cud. Предлояште свой вариант уравнения форми рования подписи на основе протокола Шнорра. Можно ли в протоколах Эль-Гамаля и Шнор ра использовать нелинейные уравнения формирования подписи и при каких условиях? Предложите свои способы использования и устранения скрытого канала передачи формации в 34.10-94. Предиолояшм, протоколе подписи ин ГОСТ что генератор случайного числа в схеме подписи ГОСТ Р 34.10-94 вырабатывает случайные биты с биномиальной плотностью распределения. Как это влияет на сложность вскрытия ключа (при заданной вероятности успешного вскрытия)? Какую максимальную вероятность появления нуля можно допустить без снижения стойкости, если длина характеристики поля равна 1024 бита? В условиях предыдущей задачи оцените максимальную вероятность появления нуля, если число формируемых подписей равно N. 13 14 15 16 17 Сравните максимальные вероятности появ ления нуля на выходе генератора случайного числа, при которых не происходит снилсения стойкости в протоколах ГОСТ Р 34.10-94 и DSS. Сравните производительность схем подписи Фиата-Шамира и RSA при формировании подписи и при ее проверке. Предположим, что две подписи сформированы по схеме Эль-Гамаля с использованием двух похожих случайных чисел /с, различающихся в нескольких младших разрядах. Как это обстоятельство можно использовать для снижения стойкости? Предположим, что с целъю исключения повторов в случайное число в протоколе Шнорра включается код времени, априорно известный нарушителю. Увеличит ли это * стойкость схемы подписи? Рассмотрим модифицированный протокол подписи Шнорра, в котором уравнение формирования подписи имеет вид s = k-\- хе (вычисления проводятся над кольцом Z, знание порядка группы не требуете п Предложите вариант атаки на этот протокол на основе подобранных сообш,ений, используя значения s и € ДЛЯ оценки к их. Литература к главе 13 ^-1 ^ £ L V -_ : ^i'., ' г-^ ■- J ■_ ГОСТ Р 34.10-94. Информационная технология. Криптографическая защита информации. Система электронной цифровой подписи на базе асимметричного криптографического алгоритма. М.: Госстандарт России, 1994. ГОСТ Р 34.11-94, Информационная технология. Криптографическая защита информации. Функция хэширования. М.: Госстандарт России^ 1994. Bellare М., Goldreich О., Goldwasser S. Incremental cryptography: the case of hashing and signing // Advances Ш Cryptology CRYPTO '94. Lecture Notes in Computer Science. Springer-Verlag. 1994. Vol. 839. P. 216-233. Bleichenbacher D. Generating EIGamal signatures without knowing the secret key // Advances in Cryp- — EUROCRYPT '96. Lecture Notes in Corn- Science. Springer-Verlag. 1996. Vol. 1070 tology puter P. 10-18. Chaum D. BUnd signatures for untraceable payments // Advances in Cryptology — Proceedings of Crypto 82. Plenum Press. 1983. P. 199-203. Chaum D., van Antwerpen H. Undeniable signatures // Advances in Cryptology — CRYPTO '89. Lecture 10 11 Notes in Computer Science. Springer-Verlag. 1990. Vol. 435. P. 212-216. EIGamal T. A public-key cryptosystem and a signa- lEEE 1985. ture scheme based on discrete logarithms Transactions on Information Theory. Vol. lT-31. P. 469-472. Fiat A., Shamir A. How to prove yourself: Practical solutions to identification and signature problems Advances in Cryptology— CRYPTO '86. Lecture Notes in Computer Science. Springer-Verlag. 1987. Vol. 263. P. 186-194. PIPS 180, Secure Hash Standard, Federal Information Processing Standards Publication 180, U.S. Department of Commerce/ N.I.S.T., National Technical Information Service, Springfield, Virginia, May 1993. FIPS 186, Digital Signature Standard, Federal Information Processing Standards Publication 186, U.S. Department of Commerce/ N.I.S.T., National Technical Information Service, Springfield, Virginia, May 1994. Gordon D.M. Discrete logarithms in GF(p) using the number field sieve SIAM Journal on Discrete Mathematics. 1993. Vol. 6. № i. P. 124-138.
12 13 14 ISO/IEC 9796. Information technology— Security techniques — Digital signature scheme giving message recovery, International Organization for Standardization. Geneva, Switzerland^ 1991. Menezes A., van Oorschot P., Vanstone S. Handbook of Applied Cryptography. CRC Press, 1997. Rabin M.O. Digitalized signatures and public-key functions as intractable as factorization. Technical Report MIT/LCS/TR-212, Laboratory for Computer Science, MIT, 1979. 16 17 15. RSA Laboratories' Frequently Asked Questions About Today's Cryptography. Version 4.1 http://www.rsasecurity.com/rsalabs/faq/. Schnorr C.P. Efficient identification and signatures for smart cards Advances m Cryptology CRYPTO '89. Lecture Notes in Computer Science. Springer-Verlag. 1990. Vol. 435. P. 239 Simmons G. The subliminal channel and digital signatures // Advances in Cryptology — Proceedings of EUROCRYPT 84. Lecture Notes in Computer Science. Springer-Verlag, 1985. Vol. 209. P. 364-^378.
Глава 14. ДРУГИЕ КРИПТОГРАФИЧЕСКИЕ ПРОТОКОЛЫ настоящее время существует множество криптографических протоколов, и их число по сто п лнно растет. В этой главе представлены неко гт торые наиболее популярные криптографические протоколы, отличные от шифрования и цифро вой подписи. Отличительной чертой сложных криптогра фических протоколов является участие в них не гт воз скольких сторон, при этом, вообще говор можно отступление некоторых сторон от пред его писанных протоколом правил, в частности, вор нескольких сторон против какого-то одного участника. Задача анализа криптографического протоко- более сложной, чем ла в общем случае является задача анализа криптоалгоритма (или математи ческой задачи), положенного в основу протоко ла. Иногда уязвимости протоколов связаны с ис пользованием слабых мест соответствующих криптоалгоритмов. Однако уязвимости протоколов могут быть вольно или невольно внедрены разработчиком в систему даже при использовании стойких крип тографических алгоритмов. Поэтому задача ана лиза протоколов является в значительной мере не только математической, но и инл<:енернои. настоящей главе рассматриваются только мате матические аспекты безопасности протоколов. 14.1. Схемы предъявления битов В основу протоколов предьявлеппр^ битов (bit commitment schemes) [6] положен принцип шиф рования одного бита информации, который мож но проиллюстрировать на примере подбрасыва ния монеты по телефону: участник Р подбрасы вает монету, а участник V угадывает, что выпа дет (выпало): «орел» или «решка». Предвари я о некоторой стой тельно Р н V договариваютс кой в смысле обращения и в смысле поиска кол Метод. Участник генерирует случайный аргумент X хэш-функции /г, вычисляет значение п{х) и посылает его участнику Участник Гдоля^ен угадать, является число j четным или нечетным, и посылает участнику Р соответственно О или Участник Р раскрывает значение аргумента. Участник проверяет подлинность аргу мента, вычисляя значение /г(х), и убеждается в правильности или ошибочности своей догадки. Если участнику Р удастся вычислить коллизию, то есть пару аргументов (х, х') различной . то он сможет четности таких, что Ых) Мх') предъявлять любой из этих аргументов и поэтому всегда выигрывать. Значение хэш-функции в протоколе 14.1.1 представляет собой шифрограмму одного бита. Зашифрованию подлеяшт младший бит аргумента хэш-функции. Строится отобрал<:ение 5 Их (Z/2 п-1 Ж) Ж/2 П Тогда ф(0,х,) У^ I шифрограмма нулевого бита при случайном х„ ф(1,х) У\ .1 шифрограмма единичного бита при случайном Xj. Шифрограмму одного бита называют блобом (от англ. blob— капля), если она удовлетворяет следующим требованиям. По значению блоба вычислительно невоз можно предсказать, какое значение бита он представляет, то есть получатель блоба не моя<:ет найти значение бита с вероятностью большей, чем 0,5. Вычислительно невозможно подобрать пары 5 Xj) и (l^Xj) такие, что уа I Уь 5 то есть от лизий хэш-функции п. Протокол 14.1.1. Подбрасывание монеты по телефону. Вход. Хэш-функция /г, стойкая в части обращения и вычисления коллизии. Выход. Заключение хэш-функции. о правитель блоба не может менять значение бита. . Получатель блоба не может извлечь никакой информации о значении бита. . Блоб не несет никакой посторонней информации. Использование блобов характерно для доказа- четности аргумента тельств с нулевым разглашением (см., например, п. 14.3).
279 Представляют интерес схемы предъявления верификатором, знающим условие задачи и осу битов 5 В которых нет коллизии. Такие схемы ществляющим проверку того. что претендент можно строить на основе хэш-функций без кол- действительно знает решение [8]. Назовем такой лизий с переборной сложностью обращения (см. протокол доказательством с нулевым разглаше- п. 15.6.7) или на основе системы RSA. нием {знаний) (zero-knowledge proof), если формация, получаемая верификатором ин от пре- Схемы предъявления битов позволяют стро- тендента, может быть создана им самим с полнить и более сложные протоколы, например, иг- номиальной сложностью без взаимодействия с рать в покер по телефону. Рассмотрим такой претендентом, то есть если верификатор не по- протокол с двумя игроками и В^ основанный лучает (а претендент не разглашает) никакой со- на бесключевом шифровании по методу Месси- держательной информации (знаний) о решении Омуры в группе F^ (см. п. 12.1.1). В этом про- указанной задачи. Нужно различать доказатель токоле ключ зашифрования и соответствуюш,ий ства с нулевым и с минимальным разглашением, ключ расшифрования хранятся у каждого игро- Во втором случае верификатор может получить ка и не передаются партнеру. некоторую информацию о ключе претендента. Сначала каждый игрок вырабатывает пару используя особенности протокола или математи- показателей зашифрования и расшифрования, ческой задачи. Игоок (сдающий) зашифровывает на своем Первоначально доказательства с нулевым раз персональном ключе 52 названия карт и посы- глашением использовались как механизм для лает колоду игроку В. Игрок В выбирает слу- реализации криптографического примитива оно чайным образом пять зашифрованных карт, за- знавания в системе с недоверенным верификато шифровывает их на своем персональном ключе ром. Позднее были найдены доказательства с и посылает игроку ^. Игроке расшифровывает нулевым разглашением, являющиеся самостоя полученное сообщение на своем ключе и посы- тельными криптографическими примитивами. того что составное лает игроку 5, который после расшифрования например, доказательство узнает свои карты. Затем игрок В выбирает еще число в схеме подписи Фиата-Шамира выбрано пять зашифрованных карт и посылает игроку А. правильно [7]. Расшифрование этого сообщения дает карты Рассмотрим некоторые протоколы диалого- игрока А. При смене игроками некоторых карт вых доказательств с нулевым разглашением. процедура повторяется. По окончании игры игроки раскрывают свои карты (соответствующие тексты), а также пары ключей зашифровани гт л и расшифрования, и проверяют их корректность 14.2.1. Доказательство знания изоморфизма графов Для обеспечения стойкости число и должно иметь большой простой делитель г каждая из карт должна представляться элемен- (д^^ ^р^ф^ изоморфны, если существует переста Рассмотрим протокол доказательства с нулевым разглашением знания изоморфизма графов том порядка г в группе F^ Аналогичным образом можно строить прото колы игры с более чем двумя участниками. ка честве функции шифрования может использоваться любое (вычислимое с помощью ключа и трудновычислимое без ключа) отображение большого множества в себя, принадлежащее коммутативной группе отображений. Симметричное шиф- новка вершин, превращающая один из них в другой). Типичное применение такого рода доказательств — опознавание. Неориентированный граф представляется в виде квадратной симмет- если между вершинами / и j есть ребро; а рической матрицы (йу), где аи о в противном опознавания рование для этих целей не годится, поскольку оно не обеспечивает коммутативности. случае. Открытый ключ верификатору, — два изоморфных графа Секретный ключ, известный претенденту. известный и К пе рестановка вершин графа такая. что 9(G) Я. 14.2. Диалоговые доказательства с нулевым разглашением Рассмотрим протокол с двумя участниками: Протокол 14.2.1. Доказательство знания изо морфизма графов. Вход верификатора. Графы G и Я; число по что претендентом, который утверждает, решение некоторой частной задачи выбора. знает и второв к. Вход претендента. Изоморфизм ф: G щ число повторов к. I Это соответствует сдаче пяти карт сначала одно Выхо икатора. Решение о том, что пре му игроку^ затем другому. При желании можно обес- тендент знает требуемый изоморфизм, с вероят .. ностью ошибки первого рода не более 2Л печить поочередную сдачу игрокам по одной карте.
280 Метод. Верификатор и претендент полагают / < Претендент генерирует случайную нереста- HOBi^y i|/ вершин графа G, вычисляет граф F<r- <— vj/(G) и предъявляет его верификатору. Верификатор генерирует случайный бит передает его претенденту. и Если претендент получает значение О, то он предъявляет верификатору изоморфизм гра- , то есть перестановку ц/. Если он и фов получает значение физм графов F и Д то есть перестановку ц/ф то предъявляет изомор 1 н 1 и /f и может сам создавать фафы F, изоморфные G или Н. Протокол допускает очевидную реализацию, при которой все к итераций выполняются параллельно. При этом претендент на шаге 2 генерирует к различных графов Fi, ...,Ff^, верификатор на шаге 3 посылает А:-разрядное случайное число и т. д. На практике задача об изоморфизме графов неудобной, поэтому обычно используются те же задачи, что и для цифровой подписи. является 14.2.2. Доказательство знания разложения составного числа Доказательство знания разложения составного числа п на множители основано на сложности решения сравнения второй степени по модулю п (см. теорему 12.2.1). Верификатор проверяет, что полученная пе- Рассмотрим протокол доказательств с нулевым разглашением на основе задачи разлоя<:ения. рестановка является изоморфизмом соответствующих графов. Если проверка не прохо- Верификатор знает число w, дит, то результат: претендент не знает изо- разложение n^pq vi хочет доказать это верифи морфизма. В противном случае возможны катору, не раскрывая делителей числа п. претендент знает две ситуации. Если / < А:, то верификатор со общает претенденту об успешной проверке претендент и верификатор полагают / <— / + и возвращаются к шагу 2. Если / > А:, то ре зультат: претендент знает изоморфизм. Протокол 14.2.2. Доказательство знания раз ложения числа п ра. икатора. Составное число щ число Итерации на шагах выполняются необхо димое число к раз, чтобы вероятность ошибки со стороны верификатора не превышала заданной повторов к. Вход претендента. Делители/?, q числа w; чис ло повторов к. Выход а. Решение о том, что претендент знает разложение числа w, с вероятностью величины. Например, для А:= 30 вероятность ус- ошибки первого рода не более 2 к пешного обмана со стороны претендента не пре вышает 2 10 Претендент в ходе генерации графа F не знает, какой бит он получит и, следовательно, какой из двух изоморфизмов ему придется раскрыть. Поэтому, если он не знает изоморфизма ф, то он мо- Метод. Верификатор и претендент полагают / <— Верификатор генерирует число х, вычисляет жет лишь пытаться угадать, строить ему граф F изоморфным графу G или графу Н. Отсюда следует, что претендент может успешно жульничать его квадрат j^ <— jr (mod п) и направляет претенденту. Претендент генерирует случайный показа- '" (mod п\ вычисляет тель т, вычисляет z < в ходе одной итерации с вероятностью 0,5 (пред полагается, что подбрасывание монеты — идеаль квадратный корень из z по модулю п и на правляет число z верификатору. Верификатор генерирует случайный бит и ный генератор случайных битов). Если претендент может угадывать результат подбрасывания монеты с вероятностью более 0,5, то число повторов необходимо соответствующим образом увеличить. направляет претенденту. Если претендент получает О, то он раскрывает Верификатор не получает никакой информа ции об изоморфизме ф, так как он знает графы показатель т; если получает i, то раскрывает вычисленное значение квадратного корня. Верификатор проверяет правильность полученного ответа. Если ответ не совпадает, то 2 На самом деле в ходе многократного выполне- претендента «плохой». В вырожденном случае может ния протокола верификатор может получить некото- получиться F=G или F-H. Тогда верификатор вы рые знания, если генератор случайной перестановки у бором бита на шаге 3 может узнать изоморфизм ш.
281 результат: претендент не знает разложения. В противном случае возможны две ситуации. ство не выполняется, то результат: претен дент не знает логарифма. В противном слу Если / < к, то верификатор сообщает претен денту о правильности этого шага; верифика тор и претендент полагают / <г~ чае возможны две ситуации. Если i то пра / + и воз верификатор сообщает претенденту о вильности этого шага; верификатор и пре вращаются к шагу 2. Если / > к^ то результат претендент знает разложение. тендент полагают / / + и возвращаются к шагу 2; если />л:, то результат: претендент знает логарифм. Верификатор не может получить никакой ин Если претендент не знает разложения, то он может вычислить z либо как степень у^ либо как квадрат некоторого числа по модулю п. Посколь- формации о логарифме х, если показатели ку претендент не знает, какой бит он получит, то бираются случайным (непредсказуемым) он может успешно жульничать с вероятностью зом и не повторяются. Если верификатору извес вы обра 0,5. свою очередь, верификатор не может из тен порядок группы, то, в случае повтора показа влечь никакой информации о разложении числа п. теля (то есть элемента послать претенденту он может один раз и вы а в другой раз 14.2.3. Доказательство знания дискретного логарифма числить X из J и ух Протокол доказательств с нулевым разглаше нием может быть основан и на задаче дискретно го логарифмирования в группе 14.2.4. Доказательство правильности выбора составного числа роли МО Если в криптографическом протоколе исполь жет выступать мультипликативная группа конечного поля, группа обратимых элементов кольца Z/wZ, группа точек эллиптической кривой, группа классов поля алгебраических чисел и т. п. По условиям протокола верификатор не обязан знать порядок группы G. Протокол 14.2.3. Доказательство знани гт лис кретного логарифма в циклической группе G. Вход верификатора. Группа G, образующая а и ее образ Ь\ число повторов к. зуются вычисления в кольце Ж1пЖ и составное число п является общим для всей системы^ то его разложение не должен знать никто. Однако от правильности выбора этого числа зависит безопасность каждого пользователя. Поэтому необходимо иметь возможность доказать, что число п выбрано правильно, то есть представляет собой произведение в точности двух различных про стых чисел, не разглашая никакой информации о делителях этого числа. Пусть р^ Вход претендента. Логарифм х такой. что что — неравные простые числа такие, (mod 4), и n='pq. Тогда, согласно cf; число повторов к. Выход верификатора. Решение о том, что претендент знает логарифм, с вероятностью ошибки первого рода не более 2 Метод. Верификатор и претендент полагают / я вляетс гт Претендент генерирует случайное число у^ и направляет с верифика- квадратичному закону взаимности, квадратичным невычетом по модулю р я по модулю д. Следовательно, из двух ненулевых чисел а и ~а всегда лишь одно является квадратичным вычетом по модулю/?. То же верно и для модуля д. Для любого й, взаимно простого с w, вьтполня- Якоби: ется равенство для символов вычисляет с а у а \ п J а \ п J Если и \ п J 1, то для произволь тору. Верификатор проверяет, что с ^G^ генериру- ного х е {Ж1пЖ) ровно одно из чисел х, -х, ш:, ет случайный бит и направляет претенденту. -их является квадратичным вычетом по модулю Если претендент получает О, то он раскрыва- п. Калд^ое квадратное уравнение вида z — а имеет логарифм log^c = y (mod#G); если получа- ет четыре решения в Ж1пЖ^ которые получаются ет то раскрывает логарифм \о%ьС ух 1 объединением по китайской теореме об остатках (mod #G). Верификатор проверяет правильность полученного логарифма и его соответствие биту. двух пар решении: Z + 4с1 (mod /?) и Z ±л[а(тойд) Для двух из этих решении выработанному на шаге 3 (должно выпол пяться равенство с а у для нуля и с ух 1 Z f \п для двух других Z \п 1. Следующий для единицы). Если соответствующее равен- протокол использует указанное свойство [12].
282 Протокол 14.2.4. Доказательство правильно сти выбора свободного от кубов числа п рд 5 если/? (mod 4). Вход а. Число п (mod 4); чис ла А: и /. Вход претендента. Разложение числа п; числа Выход верификатора. Решение о том, что число п имеет ровно два различных простых делителя, с вероятностью ошибки первого рода не более 2~\ Метод. . Претендент и верификатор полагают s Верификатор вырабатывает / произвольных чисел и. таких, что щ и посылает л п 13 Е^етендент вычисляет квадратный корень х из одного из чисел {z, -z, vz, -vz] такой, что X \ П) h и посылает верификатору 14. Верификатор проверяет. что 2 X (mod п) Z Z, VZ, ? -3 '-5 '-i vz > X и что h 1) . Если это п так, то он сообщает претенденту об успеш ной проверке. Иначе результат: число п вы брано неправильно. , то претендент и верификатор ус 15. Если S танавливают s 5 + и возвращаются на шаг 2. Иначе результат: число п выбрано правильно. 9. 11 претенденту. Претендент Данный протокол можно разбить на четыре вырабатывает / произвольных этапа. На первом этапе (шаги нечетных чисел и обратимых по модул ю претендент и верификатор совместно вырабатывают число v ф(и). где функщ1Я Эйлера, вычисляет V. d I щ ! (mod п) и посылает г) верифика такое, что V V п , причем верификатор не зна тору. ет числа v, но может убедиться, что оно вырабо Верификатор проверяет равенства V тано «по правилам» На / втором этапе (шаги п выбирает произвольные / - 1 чисел из {v,} и посылает их претенденту. Претендент посьшает верификатору показа- 11) претендент и верификатор совместно вырабатывают число Z, причем верификатор не знает числа Z, но может убедиться, что оно выработано «по правилам». На третьем этапе (шаг 12) . На тели dj для полученных / - 1 чисел. Верификатор проверяет 5 что показатели верификатор вырабатывает случайный бит четвертом этапе (шаги 13, 14) претендент дока / нечетны и соответствуют парам /? V,) Если зывает, что он знает квадратный корень из одного из элементов множества {±z, ±vz}, обладаю- проверка прошла успешно, то он заключает, щ^й заданным значением символа Якоби. На ка что оставшееся число v получено возведени ем заданного и в степень с неизвестным по лдюм этапе доказательства вероятность ошибки первого рода равна 0,5. казателем Верификатор вырабатывает / случайных чи сел W/, отличных от ±1, и посылает {w,} пре тенденту. Претендент вырабатывает / произвольных не Корректность протокола вытекает из еле четных чисел с /5 вычисля ет Z дующих рассунд^ений. Предположим, что п имеет нечетное число простых делителей. Тогда хотя бы один из npocTbix делителей р, числа п сравним с 1 по модулю 4. В этом случае существова- H^f'(modw) и ние квадратного корня требуемого вида возмож- посьшает {z,} верификатору. Верификатор вьгбирает произвольные чисел из izj] и посьшает их претенденту. но лишь тогда, когда V > и, следовательно. ' J 10. Претендент посьшает верификатору показа и когда тели С/ для полученных Верификатор проверяет. чисел Поскольку верификатор выбира / / что показатели С/ ет число и случайно, то вероятность этого собы нечетны и соответствуют парам (w/, zA Если тия равна 0,5 (это соответствует вероятности проверка прошла успешно, то он заключает, ошибки в ходе одной итерации доказательства). что оставшееся число z получено возведени Предположим, что п имеет четное число. ем заданного w в степень с неизвестным по- большее 2, различных простых делителей. Тогда казателем. существует четное число т (включая 0) простых 12. Верификатор посылает претенденту случай- делителей числа w, сравнимых с 1 по модулю 4, и ныйбитй. рассуждения сводятся к предыдущему случаю.
283 Если все простые делители числа п сравнимы с по модулю 4, то существует нечетное число де квадратичным невычетом. Тогда квадратичным вычетом по модулю является один из элемен модул ю Если V произвольный элемент лителеи, для которых v (и, следовательно, и) яв- тов а или 2а, то же справедливо и для вычетов по ляется квадратичным невычетом. Квадратный корень требуемого вида существует лищь в том с;^чае, если z или ~z является квадратичным вы- кольца Ж1пЖ такой, что г л четом по модулю п или если выполняется Р > то квадратич V или I Z I для всех npocTbix ным вычетом по модулю п является в точности один из элементов а, 2а, va, 2va, где НОД(а, п) I делителей pi числа п. Вероятность такого события не превышает 0,5. Предположим, что число п не свободно от дратов и все его простые делители сравнимы по модулю 14.3. Бездиалоговые доказательства с нулевым разглашением к по штщ с :s по МОДУЛЮ 4. В ЭТОМ случас по китайской теореме об остатках задача вычисления корня требуемого вида сводится к вычислению этого корня в кольцах вычетов по модулям максимальных степеней простых делителей числа п. Из теории чисел известно, что элемент у такой, что Аппарат доказательств с нулевым разглашением позволяет обеспечить доказательства знания секретной информации и без диалога. Следовательно, на базе таких доказательств можно строить бездиалоговые протоколы опознавания. здесь НОД(у, р к к ? является квадратичным вычетом по модулю р тогда и только тогда, когда у явля ется квадратичным вычетом по модулю Рассмотрим случай п qr. Квадратный корень vz] по модулю п будет существовать тогда и только тогда, когда будет супдество- Как и в случае диалоговых доказательств, обеспечивается запдита от атак на основе подобранных открытых текстов. Кроме того, в основу доказательств с нулевым разглашением можно положить задачу о выполнимости и. следова из Z V. тельно, задачу о вскрытии ключа симметричного шифра, допускаюпдую широкий спектр модификации. вать такой же корень по модулю pqr. Для суще- Пусть претендент знает доказательство неко- ствования указанного корня необходимо, чтобы торой теоремы и хочет убедить верификатора в квадратичным вычетом по модулю pqr являлось том, что теорема верна, не предъявляя доказа- одно из чисел {z. . vz. vz Вероятность этого тельства. Рассмотрим две возможности события равна 0,5, если z и v взаимно просты с п. ся Случай п квадратом. 2g ,> доказательство может быть представлено тривиален, так как п являет Осталось рассмотреть случаи п 2е+1 q, где р (mod 4) и ^ > Число р не может входить в w с четным показателем, так как тогда не выполнялось бы условие w = 1 (mod 4). По китайской теореме об остатках имеет место изоморфизм колец Ж1пЖ = Ж1р~^'^^Ж © ЖlqЖ. Поскольку множества квадратичных вычетов только одному верификатору, и только он может проверить его правильность; ^..д доказательство может быть проверено каждым, в этом случае говорят об открыто про- веряемых бездиалоговых доказательствах. Во втором случае есть некоторая аналогия с по модулю и по модулю 2е+1 совпадают и цифровой подписью. Однако для доказательств с нулевым разглашением можно использовать гораздо более широкий круг задач, чем для подписи. Z \р 2g+l ТО протокол 14.2.4 не может от Пусть р и неравные простые числа такие э что и п 2t^+l 2е+1 2h+l личить случаи п-р^ q ип-р^ q от случая рассуждении (mod 4), п. 14.2.4- можно PQ Тогда с учетом конструировать л pq. Способ создания сертификата того, что со- ijxo О < / блобы, свободные от коллизий, следуюпдим об ставное число свободно от квадратов (и, следовательно, от кубов), приведен п. 15.6.6. Доказательство того, что число п свободно от кубов, может быть выполнено также с использованием сложного протокола, приведенного в работе [7]. Протокол 14.2.4 можно легко обобщить на другие простые числа, для которых квадратичным невычетом является не -I, а данное число d. Например, если р разом. Выбираем случайное целое число / такое щ и вычисляем /^ (mod п). Бит О пред . бит ставляется как г (modw) как 2 представляется (mod п). Раскрытие значения бита осуще ствляется предъявлением Согласно теореме 12.2.1 решение сравнения второй степени равно сильно разложению числа п. Такие блобы назы ваются QR-блобсши [5]: 3 ±3 (mod 8), то 2 является От quadratic residue problem — задача распозна вания квадратичного вычета. _ J' ^^f i
284 Пусть вектор блобов / вектор COOT ветствующих битов. Назовем подмножество множества п-разрадных двоичных векторов кон струируемым 5 если для любого г претен дент может построить вектор блобов b и без диа лога доказать, что Ь' е S, не раскрывая верифи катору значения блобов означает, что множество *S Например, существование триви альным образом конструируемо. Если на множе стве блобов определена бинарная операция и существует вычислимый гомоморфизм этого множества в группу 2 5 ТО множества {00 ? 11} uD- {01, 10} тоже конструируемы Назовем подмножество множества п разрядных двоичных векторов сертифицируе мым, если для любого вектора блобов Ь, для ко торого казать, что значения Ь'. Разница между конструируемыми и сертифицируемыми множествами заключается в том, что во втором случае претендент не может сам создавать блобы. претендент может без диалога до- , не раскрывая верификатору Лемма 143.1. В случае использования QR блобов любое подмножество множества п разрядных двоичных векторов конструируемо и сертифицируемо. Доказательство см. в работе [5]. Таким образом, для gi^-блобов понятия кон струируемого совпадают. и сертифицируемого множеств Лемма 14.3.1 позволяет строить бездиалоговые доказательства с нулевым разглашением, основанные на задаче о выполнимости булевой функции. Каждый бит аргумента представляется соответствующим блобом. Например, булева функция Х=А + В является сбалансированной ей соответствует произведение блобов изоморфизма групп: > и 2 * силу Если нулевое значение бита А представляется блобом il{modn). 2 нулевое значение бита 5— блобом /^(modw) > то нулевое значение функции X представляется 2,2 блобом tJ^(modn). Этот подход обобщается на произвольное число слагаемых. Несколько сложнее можно установить соответствие между битами и блобами для булевой функции техники АБ [5]. С использованием такой же можно построить соответствие между блобами и произвольными булевыми функциями. Чтобы доказать знание набора переменных, удовлетворяющих заданной булевой функции / претендент выполняет следующие действия: убедиться, что набор элементарных булевых функций соответствует функции/; для каждой операции композиции булевых функций представляет информацию, позволяющую убедиться в корректности подстановки переменных; открывает значение функции / раскрытием соответствующего блоба. Верификатору остается убедиться, данные корректны. Безопасность таких протоколов основана на двух задачах: разложения и выполнимости, причем для взлома протокола достаточно решить любую из них. Очевидно, какой бы ни была задача о выполнимости, ее добавление к задаче разложения не может усилить протокол. что все Бездиалоговые доказательства могут быть осно ваны и на задаче дискретного логарифмирования Протокол 14.3Л. Опознавание на основе бездиалогового доказательства знания логарифма. Вход верификатора. Группа G, образуюпдая а, экспонента о, число /с, вычислимая в одну сторо ну хэш-функция h. . Группа G, ее простой поря док г, образуюпдая а^ логарифм х, число А:, вычис лимая в одну сторону хэш-функция К Выхо икатора. Решение о том, что претендент знает логарифм, с вероятностью ошибки первого рода не более 2~^. Метод. Претендент вырабатывает к случайных показателей vi,..., Va:, обратимых по модулю г, и вычисляет а У\ > > а Ук Претендент вычисляет хэш-функцию от аргумента, представляющего собой конкатенацию наиденных экспонент: е Ма у\ \\..A\a Ук Претендент посылает верификатору текст до казательства набор у\ г> '? а Ук гг ? 1 ? где Z/ /> если е I > Z I у^ 1 > если е / > (е. 5 • • • ? ^к) младшие к битов числа е. Верификатор вычисляет хэш-функцию е Ма у\ а Ук ), находит биты е,, и проверяет их соответствие предъявленному тексту. При et О должно выполняться равенство а I а У1 > при е, Если все равенство b Z I а У1 проверок на шаге 4 проходят ус пешно, то результат: претендент знает лога рифм 5 иначе результат: претендент не знает логарифм. Протокол 14,3.2, Аутентификация сообщения переводит этот набор в gi^-блобы, представ- на основе бездиалогового доказательства знания ляет необходимые данные, позволяющие логарифма. г - - --.- •
Вход верификатора. Группа G, образующая а, расшифровать только один из текстов или /]. экспонента о, чмсло л, вычислимая в одну сторо- причем J не знает, какой текст расшифровал В н}^ хэш-функция h Таким образом, один из двух переданных тек ента. Группа G, ее простой по- стов в ходе передачи стирается и не доходит до рядок г, образующая а, логарифм х, число числимая в одн}^ сторону хэш-функция h. > вы получателя. Формальная модель передачи со стиранием Выход верификатора. Решение о том, что со- может быть рассмотрена как канал со стираны общение является подлинным, с вероятностью ем^ который представляет собой пару каналов ошибки первого рода не более 2"^. с~ (с^, с^), удовлетворяющих следующим требо- Мето ваниям: Претендент вырабатьшает сообщение т и случайных показателей yi^ ..-^уь обратимых по модулю г, и вычисляет а У\ 5 • • • ъ Cl Ук Претендент вычисляет хэш-функцию от ар гумента, представляющего собой конкатена цию сообщения и найденных экспонент: может передать произвольное отправитель число битов по каждому из каналов с^ wc о 1 > получатель В может получать информацию только по одному из каналов с или с ? не знает, по какому из каналов а получает информацию. : »^ ^ -: е him, а у\ а Ук Претендент посылает верификатору текст доказательства — набор {т, а у\ > • •> а Ук , Z], — , ^kh где Z I /5 если Z I vpc I > если е> ? • •^еЛ младшие к битов числа е. Верификатор вычисляет хэш-функцию е Mm, а У} а Ук 5 находит биты е/ и прове ряет их соответствие предъявленному тексту. При а J а '; при ei должно выполняться равенство равенство Ъ I а У1 Если все проверок на шаге 4 проходят ус пешно, то результат: сообщение подлинное иначе результат: сообщение не является под линным. 5 Приведем пример передачи информации со стиранием, основанный на задаче дискретного логарифмирования в простом поле. Алгоритм 14.4Л. Генерация ключей получа теля для передачи информации со стиранием. Вход. Характеристика поля /?, образующая а и элемент g е F„ . Логарифм х группы которого (/ = g в поле F/,, не известен никому. Выход. Открытый и секретный ключи. для Метод. Сгенерировать случайный бит I е t 5 / И случайное число х, е {О, 1, •••^Р и вы числить р, <— (3 ' и Результат: 1-/ К' X 1 л 0> 1 открытый ключ л (/, X/) секретный ключ Этот протокол является аналогом протокола цифровой подписи. Любой пользователь может проверить пра вильность открытого ключа: 0М1 . Благодаря тому, что дискретный логарифм от g неизвестен. владелец секретного ключа не может знать оба 14.4. Передача информации со стиранием логарифма от ро и рь Кроме того, открытый ключ не несет информации о том, какой из дискретных Криптографический примитив передачи ин- был логарифмов от о или от 1 знает В, так как формации со стиранием (oblivious transfer) предложен М. Рабином [11]. Передача информа ции со стиранием может быть применена пары (Эо, ЭО распределены в F„ равномерно. на пример 5 В бездиалоговых доказательствах с ну основу безопасности положен тот же принцип, что и в протоколе Диффи-Хеллмана: если известны а^ а^, то а^ вычислить трудно. левым разглашением. Рассмотрим принцип пе редачи информации со стиранием от пользовате ля Передача со стиранием пары сообщений (/о, /]) выполняется следующим образом. к пользователю В. Получатель В имеет два ключа, открытый ключ Гв и секретный ключ в Протокол 14.4.2. Передача информации со Отправитель А имеет два текста /о и /]. Шифро- стиранием. грамма вычисляется как функция от /о, /ь Рв- Ис Вход отправителя Характеристика поля ? пользуя секретный ключ Sb, получатель В может образующая а группы ¥р ; пара сообщений (/о, ^i) > представленных в виде двоичных векторов; от ^ Такой небуквальный перевод термина лучше от ражает механизм данного криптографического при митива. крытый ключ Р л 0> 1 ) из алгоритма 14 чате л я. Секретный ключ л 5 хЛ из алгоритма 14.4.1.
286 льтат. Передача со стиранием двух сооб- по симплексному каналу связи). Покажем > как щений, из которых получатель может получить это делается для задачи об изоморфизме графов. только одно. Метод. . Отправитель выбирает пару показателей Уо,У\ е > 5 > > вычисляет значения ап у о а \ ai а у I и посылает их получателю. Отправитель вычисляет о Уо О > 1 У1 1 Протокол 14.4.3. Бездиалоговое доказательство знания изоморфизма графов на основе канала со стиранием. Вход верификатора. Графы G и Н; секретный ключ St канала со стиранием (с^. с Вход претендента Графы G и Н^ изоморфизм вычисляет суммы по модулю двоичных ф: G + yi и отправля о векторов: го <— /о + Уо> ^\ < ет Го, Г] получателю. Получатель для принятой пары ао, ai с по мощью своего секретного ключа (/, х,) рас шифровывает значение ем (с , с Н; открытый ключ Р^ канала со стирани Выход ве а. Решение о том, что пре о-' тендент знает требуемый изоморфизм, с вероят ностью ошибки первого рода не более О, Метод. и находит сообпдение i) Г; + у,. Претендент выполняет следуюпдие действия. 1.1. Генерирует случайную перестановку Таким образом, получатель может узнать 1.2 только одно из значении или в зависимости вершин графа G и вычисляет F -^ vj;(G). Генерирует случайный ключ шифрова от бита / своего секретного ключа. В соответствии с предположением Диффи-Хеллмана он не ния К для симметричного алгоритма. зашифровывает на этом ключе граф F и может вычислить второй текст, так как не знает „ X. . X. V. передает шифрограмму верификатору / . Например, если 1-^ а 14 то X есть получатель знает а и > а >-1 / а 1 -/>'l - 7 , то по обычному (без «стирания») каналу. / 5 НО не знает ни 1.3 Генерирует случайный бит Если X. /5 НИ Vi о I о, то передает по каналу с" ключ К и перестановку ? а по каналу с 1 ключ Для многократного повторения передачи со К и перестановку уф 1 Если то стиранием можно каждый раз генерировать новые открытый и секретный ключи. Но если требуется бездиалоговая передача, можно поступить иначе. Отправитель сначала передает по каналу о меняет местами каналы сие 1 Верификатор проверяет, что полученная перестановка является изоморфизмом соответствующих графов. Если проверка проходит со стиранием пару текстов /о и /i, причем он не знает, какой из текстов расшифрует получатель. успешно > то результат: претендент знает изоморфизм с вероятностью 0,5. Затем отправитель, используя и 1 как обра зуюпдие, генерирует криптографически стойкие псевдослучайные последовательности на Hit о и Протокол повторяется необходимое число раз. Для второй итерации доказательства нужна Эти последовательности могут состоять, новая пара ключей. В противном случае претен разрядов элементов по- дент может обманывать с вероятностью 0,5 не зависимо от числа повторов протокола. Деист вительно, верификатор не может менять канал 1 например, из младших следовательности / , /^ 4 ./ Для передачи со стиранием очередной пары сообщений (го, п) отправитель посылает получателю суммы по модулю го + Шо), n+G(/i > двоичных векторов: качестве слагаемых G(//) используются незадеиствованные при передаче предыдущих сообщений разряды соответствующих псевдослучайных последовательностей //(/,). Получатель при первой передаче расшифровы вает только один из двух текстов, поэтому он зна ет только одну из образующих: t^ или t\. Описан в котором он умеет расшифровывать информацию. Если он умеет расшифровывать информацию, переданную по каналу с^, и претендент в первом круге протокола угадал канал, не зная изоморфизма графов, то он может успешно обманывать при неограниченном числе повторов протокола. Однако и при использовании каждый раз новой пая конструкция образует канал со стиранием. Канал со стиранием позволяет строить бездиалоговые доказательства с нулевым разглашением (и, следовательно, позволяет решать задачу опознавания без диалога, в режиме off-line или пары ключей претендент может жульничать. Например, он может отправить по обоим каналам одну и ту же информацию, ддя этого не требуется знать изоморфизм графов. Верификатор не знает значения случайного бита, который будет создан претендентом на шаге 3, поэтому он не может выяснить, жульничает ли претендент. Если же верификатору будет представлен
287 отрезок случайной последовательности, соот- нии которых получатель мог бы доказать с нл'ле ветствующеи действиям претендента (результа- вым разглашением знание квадратного корня из х там генерации случайного бита), то обман со Доказательство можно организовать, напри стороны претендента будет исключен. Таким мер, так. Получатель генерирует случайное чис образом, претендент должен представлять на ло щ вычисляет v и и предъявляет его отпра каждой итерации протокола значение случайно- вителю. Отправитель возврапдает или го бита, которое передается по обычному (без «стирания») каналу. Очевидно, можно переда нуле получатель посылает отправителю и При вать соответствуюпдии отрезок случайной по следовательности после завершения всех повто ров протокола. XV Рассмотрим еще один вариант передачи со при единице — Возможный способ обмана со стороны отправителя — выбор составного числа w, которое не является произведением двух различных простых сомножителей. Например, если п является стиранием, основанньш на задаче разложения. произведением трех простых сомножителей, то Пусть п -pq, гцер = q = 3 (mod 4). Безопасность существование хотя бы одного квадратного кор- протокола основана на следующей задаче: зная ня из данного числа влечет за собой существова- символ Якоби X п) 1, вычислительно невозмож ние восьми корней этом случае в протокол но распознать, является ли X квадратичным вычетом по модулю п. в протоколе совмещены этап генерации ключа для передачи одного бита и этап следует ввести доказательство с нулевым разглашением того, что п является произведением двух различных простых чисел [7]. На базе протоколов со стиранием можно собственно передачи, поэтому требуется диалог. строить более сложные протоколы с участием Протокол 14,4.4. Диалоговая передача одного бита со стиранием, основанная на задаче разло- нескольких сторон. жения. 14.5. Разделение секрета льтат. Передача бита с вероятностью по лучения, равной 0,5 Мето Отправитель выбирает случайные большие простые числа р = д = 3 (mod 4), запоминает Рассмотрим сеть шифрованной связи с симметричным шифрованием, в которой возможны компрометации (нарушение конфиденциальности) ключей отдельных пользователей, причем их 5 вычисляет w<—ш, выбирает случайное число t такое, что 0<( < п и НОД(/, п) и случайный бит b и посылает пару (mod п)) получателю. Получатель выбирает случайное число h каждый пользователь доверяет остальным. Как могут оставшиеся пользователи обеспечить возможность ведения секретных переговоров? Один из способов — построить такую ключевую сеть. г 5 в которой каждой паре участников соответствует свой ключ. Однако это требует большого объема г п. вычисляет х (mod ft) и посыла- памяти, поскольку число ключей пропорцио етх отправителю. Отправитель выбирает случайным образом — один из четырех квадратных кор- нально квадрату числа пользователей. Другой способ — использовать схему разде число S ления секрета (secret sharing) [10 > 12] > TO есть ней из X по модулю п лучателю. Если S ничего о бите и посылает его по между не ±г, то получатель не может узнать противном случае он на разделить секретную информацию сколькими пользователями. Разделение секрета используется ддя управления ключами в протоколах, содержапдих большое количество участ- ходит НОД(г + S > и вычисляет символ / Леясандра (-l)^/^(modw) НИКОВ, и для коллективной подписи. Принцип разделения секрета можно пояс При нить на примере коллективной схемы подписи полагает b О, при / полагает b RSA. Пусть п RSA есть два pq ключа составное число. Если в е > таких. что ed (mod Ф(й)), то в общем случае может быть не Здесь очевидный способ обмана со стороны получателя — выбрать число х специальным об- сколько ключей (mod (р(п)). Пусть ь > L таких, что k\ki...kt ключ 1 известен ноль разом (без вычисления г (mod п)) и получить от отправителя постороннюю информацию — квадратный корень из X. Этот протокол можно улучшить, введя еще несколько шагов, при вьшолне- зователю 9 ключ Кп известен пользователю третий ключ опубликован. генерирует подпись Sa т * для сообще ния т и посылает sa пользователю В
288 В подписывает сообщение sa своей подписью: енты полинома дх) невозмоясно. Например, для S Ав S А т hh Любой верификатор может убедиться. что т S к 3 АВ Очередность подписывания может быть лю бой. Для исключения атаки на основе гомомор физмов можно подписывать не само сообщение а хэш-функщ1ю от него. Для обеспечения разде ления секрета ни ^, ни 5 не должны знать разло > жение числа щ так как в противном случае > зная ключи кл и fe, пользователь ключ легко может вы числить секретный пользователя (hk^ 1 (mod ф(й)). общем случае в схеме разделения секрета секретная информация распределяется между участниками так, что они в результате некоторого диалога могут ее восстановить. Уточнением схемы разделения секрета является пороговая схема (threshold scheme). В этом случае секретная информация разделена между Г участниками так, что любые tQ<t<Tvi3 них в ходе диалога могут восстановить эту информацию, но если число участников ' < /о, то секретную информа цию восстановить невозможно. Идеальная поро говая схема не позволяет получить никакой информации о секрете для любых f < to участников Для краткости вместо /о будем писать /. Пороговая схема разделения секрета может быть построена на основе интерполяции полиномов. Пусть секретная информация представляет собой совокупность коэффициентов приведенного полинома Дх) степени ным полем над конеч F„. Полином/полностью определяет ся своими значениями для t любых попарно различных значений аргумента Х\,...,х,_. Тогда по интерполяционной формуле Лагранжа [2] / /(^) Z /(^,) JLi J^mmyJC ^i^i )(х X: /+1 /=1 (Х / jCi 1 ■ ■ ■ ур^ 1 ^;-l)(^ / ^/+1 .(x-Xf) .\Xj—X.) Сложность вычисления коэффициентов поли нома по указанным значениям Дх,) — полиноми альная от log q. Пусть секретным является значение fixo) по липома/для некоторого xq. На этапе подготовки выбираются поле F^, полином Дх) над этим полем и попарно различные значения XQ. m/V^j Щ ■ ■ ■ ^ т/\^ / ^1 Q и вычисляются значения y(xi), ...,ДХ7^). Каждый из Г участников получает четверку (хо, F^, х/,/х,)). При восстановлении участников в зависимости от недостающей t-vL порции информации искомый секрет может принимать равновероятно любое из а значений. и подпись пользователей АнБ верна. Поэтому и менее участников не могут полу чить никакой информации о секрете. Данная схема является идеальной и допускает наращивание в виде добавления новых пользователей. Кроме того, она безопасна в теоретико- информационном смысле. Эта схема может быть описана и в терминах квадратных матриц размера / над полем F^. Если положить 2/ может быть положена в «большинством голосов». ленным секретом является ключ формирования , то пороговая схема основу голосования этом случае разде подписи, а ключ проверки подписи является открытым. Тогда г или более выборщиков могут сообпда выработать ключ формирования подписи и подписать соответствующий документ. Схема разделения секрета как протокол с несколькими участниками может допускать обман со стороны некоторых участников. Например 5 ОДИН из участников раскроет остальным не истинное значение своей информации, а некоторое ложное значение, чтобы получить информацию о секретах других участников. Очевидный метод ""— использование запдиты от таких нарушении — подписи доверенной стороны для информации. хранящейся у каждого участника. 14.6. Протоколы управления ключами Введем ряд определений согласно работе [10]. Установление ключа — (разделенная) - процесс, в результате секретная информация которого становится доступной двум или более сторонам. Примером установления ключа является получение общего ключа группой пользователей с помощью схемы разделения секрета или протокол Ди ффи-Хелл мана. Доставка ключа — — протокол или механизм установления ключа, при котором одна из сторон производит или получает иным образом секретное значение (ключ) и передает его безопасным образом другим участникам. Примером доставки ключа является протокол, в котором центр распределения ключей передает каждому из участников сеансовый ключ, зашифрованный на персональном ключе этого участника. Предварительное распределение протокол установления ключа, при котором результирующие ключи полностью определяются исходными ключами. Примером предваритель ключа секрета любые / участников, используя интерпо- ляционн}^ю формулу Лагранжа, могут восстановить коэффициенты полинома Дх) и вычислить ного распределения ключа является формирова его значение в точке хо. Если число взаимодейст- ние разделенных между пользователями секрет вующих сторон менее /, то найти все коэффици- пых данных.
289 Производныи ключ ключ, вычисляемый что любые два из них могут вычислить свой сек шифрованием на секретном ключе некоторой ретный ключ, недоступный для остальных поль- информации. Примером производного ключа зователей, за исключением центра, является ключ, полученный как шифрограмма в Если ключи для каждой пары пользователей результате симметричного шифрования ключа на фиксированы, то система распределения ключей себе. По является системой с предварительным распреде принципу протокола Диффи-Хеллмана лением. можно устанавливать сеансовый ключ для трех и более участников. Рассмотрим пример такого простейшей системе распределения ключей с п участниками каждой паре пользователей со- протокола с тремя участниками^, В, С на основе ответствует свой ключ, а каждый пользователь задачи дискретного логарифмирования. получает информацию, позволяющую ему выра ботать ключ для связи с остальными п-Х ноль Протокол 14.6.1. Установление сеансового зователями. Тогда, используя разделение секре , можно обеспечить идеальную в теоретике В. ключа для трех участников. Вход. Обпдая для трех участников циклическая группа G простого порядка и обра зующая а. Выход. та информационном смысле секретность. Система распределения ключей называется j- безопаснощ если для любой пары участников Обпдий для трех участников сеансо- любые / участников (в число которых не входят выи ключ. Метод. участники из выбранной пары), объединяя свои 1 ^ секреты, не могут получить никакой дополни а X генерирует случайное число х, вычисляет тельной информации о секретном ключе указан и посылает его В. ной пары. а у генерирует случайное число у^ вычисляет и посылает его С. Если система связи имеет //^-разрядные ключи и все ключи различны, то для достижения генерирует случайное число г, вычисляет а^ и посылает его А. А вычисляет а^^ w посылает его В. В вычисляет а^^ и посылает его С. С вычисляет (З^" и посылает его ^. yzx безопасности каждый пользователь должен иметь не менее m(j н- бит информации Максимальная п где W запдипденность достигается число участников. [4]. при :w>bi^5 вычисляет сеансовый ключ а В вычисляет сеансовый ключ а^^^ С вычисляет сеансовый ключ а"^^ Способ Блома предварительного распределения ключей [4] основан на корректируюпдих кодах. Каждый из п участников имеет несекретные данные и персональную порцию секретной ин формации, на основе которой он может устано Многие протоколы установления ключа ис вить секретный ключ с каждым из оставшихся пользуют доверенный центр (это может быть п участников. Общие для всех пользователей несекретные доверенная третья сторона, доверенный сервер, центр распределения ключей и т. п.). Безопасное установление ключа требует, чтобы ключ был секретным и чтобы каждый из участников мог быть уверен, что обпдается именно с тем, с кем нужно, то есть чтобы обеспечивалось порождающая матрица G я^ П1 открытые данные для (w, k)-KOjx^ над полем F Доверенный центр выбирает секретную симметрическую матрицу D размера ку^к над полем F^. Затем доверенный центр выдает каждому опознавание (аутентификация) участников и имитозащита передаваемой информации. Необ пользователю / часть общей секретной информа- , определяемую как /-ю строку в матрице ции (DG) размера п X к. Тогда / имеет размер ходимо также исключить возможность действия одного из j^jacTHHKOB в ущерб другим. При доставке ключа могут использоваться симметричные и несимметричные методы шифрования, а также хэш-функции. к \o%iQ бит. Секрет Si позволяет числить /-Ю строку матрицы {DG) G. участнику / вы Пользователи / и / вычисляют общий ключ К и Ki длины т бит. Поскольку матрица (DG) G симметрическая, тоу-и элемент в i-u строке ра 14.6.1. Установление ключа на основе вен /-му элементу в у-и строке является ключом К ? этот элемент и 'J- симметричных методов Здесь граница безопасности равнау *■"■ Система распределения ключей — это уста 5 к {п, /:)-кодом называется множество из 2 двоич- новление ключа, при котором доверенный центр ных векторов длины п таких, что хэммингово рас- распределения ключей генерирует и распределя стояние между любыми двумя векторами не ет секретные данные между пользователями так, менее п к + [10].
290 \AJb2,. Доставка ключа Участник выбирает ключ к. генерирует Способы доставки сеансового ключа от ноль различаются по ис случайный показатель а^ обратимый по модулю 30вателя пользователю 1, вычисляет А^ и посылает участнику Тот, пользуемому способу шифрования (симметричные, несимметричные, бесключевые) и по наличию диалога в ходе доставки (бездиалоговые и диалоговые). Если доставка ключа основана на симметричном шифровании, то при доставке се- в свою очередь, генерирует случайный показа тель й, обратимый по модулю вычисляет значение (Г) и посылает его А. Участник А вы числяет значение Г ha 1 X* И посылает его В. Участник В возводит полученное сообщение в ансового ключа от^ к В оба пользователя имеют степень b 1 и вычисляет 1 К. обпдий секретный ключ К. этом случае необходимо принять меры, случае бездиалоговои доставки ключа от- обеспечиваюпдие аутентификацию полученной правитель А генерирует случайный ключ г^ и информации, в том числе защиту от повторов. посылает получателю В шифрограмму Ei^va) на ключе К (можно одновременно заменять и Рассмотрим способы доставки ключа от^ к Б, использующие шифрование с открытым ключом. ключ К). Получатель В расшифровывает сооб этом случае отправитель л пользуется откры щение и находит сеансовый ключ г а. Имитоза- тым ключом зашифрования: парный ключ рас щита осуществляется с помощью хэш-функ- шифрования знает только получатель В. При бездиалоговой доставке отправитель за шифровывает по схеме с открытым ключом се ции, зависящей от ключа К. Для защиты от по второв в сообщение вставляется значение время или номер сообщения. Для того чтобы понял, что сообщение адресовано именно ему, чатель расшифровывает сеансовый ключ и ис- ансовый ключ и отправляет получателю. Полу в сообщение включается идентификатор id в пользует его в качестве ключа симметричного пользователя В. Тогда шифрограмма имеет вид шифра. Для того чтобы получатель мог распо- к (га id в случае диалоговой доставки ключа пользо ватель Ь генерирует случайное число пв и носы 5 В СВОЮ очередь. лает его пользователю А, Тот вычисляет шифрограмму Ei^va лает ее пользователю В, который расшифровыва- зующии взаимное опознавание участников. Пв id в и посы знать, от кого пришло зашифрованное сообщение, нужна аутентификация. Примером диалоговой доставки ключа, основанной на шифровании с открытым ключом, является протокол Нидхама-Шредера [10], исполь- ет это сообщение, убеждается, что оно адресова- этом протоколе отправитель л и получатель но ему, проверяет, что нужное число имеет вид имеют секретные ключи расшифрования Кл^ Kg, Пв, то есть что сообщение подлинное, и исполь- ^ соответствующие ключи Ai. В зашифрования зует Га в качестве сеансового ключа. Диалог по зволяет обеспечить имитозащяту, защиту от по второв и проблем, связанных с рассинхрониза опубликованы. Протокол 14.6.2. Диалоговый протокол Нид хама-Шредера доставки ключа. циеи часов пользователей. авителя А. Секретный ключ К^^ от- Если сеансовый ключ вычисляется из произ- крытый ключ кв, идентификатор /J/?, сеансовый водного ключа путем зашифрования на этом ключ Ь. ключе некоторого несекретного общего для двух Вход получателя В. Секретный ключ Кв 5 ОТ участников открытого текста, то доставка ключа крытый ключ Л^, идентификатор idA сводится к доставке указанного открытого текста, который может не быть секретным. Тогда А генерирует случайное число га и посылает его В. Сеансовый ключ имеет вид ЕАгЛ. льтат. Доставка ключа к\ОТ Ак В. Метод. Отправитель посылает получателю шифро Этот протокол требует имитозащиты, в том грамму Ев{к\ \\ idA) текста к\ \\ idA на ключе %. на числе, защиты от повторов. Следовательно необ ходимо добавить к гд код времени /^, при этом се ансовый ключ имеет вид Е}Щга II t/dh где h функция. хэш Получатель расшифровьгоает сообщение ключе Кв и находит к\^ генерирует случайное число ^2, вычисляет шифрограмму £^(A:i || fe || id]^ текста 1 II h II id В на ключе Кл и посылает ее Примером доставки сеансового ключа. не требующей наличия секретного ключа шифрования ни у отправителя, ни у получателя, является протокол Месси-Омуры, в котором сеансовым ключом является передаваемая информация. отправителю. Отправитель расшифровывает сообщение на ключе Ка^ выделяет ^2, зашифровывает его на fi По-видимому, на этом шаге вместо ключа I лучше передавать значение хэш-функции h{k\).
291 ключе ks и посылает шифрограмму E^ikj по При использовании этого протокола необхо димо иметь в виду, что задача разложения обла лучате л ю. Получатель расшифровывает сообщение, дает субэкспоненциальной сложностью, а задача проверяет, что полученное значение сов вычисления симметричного ключа экспонен пало с исходным, и убеждается, что отправи- циальной сложностью. Протокол Х.509 согласо- тель действительно знает ключ расшифрова- ван с RSA и DES с коротким ключом. В случае ния Ка, то есть ключ кл подлинный. Обеспечить имитозащиту в этом протоколе можно с помопдью: а) подписи зашифрованного использования российских стандартов следует обеспечить согласование стойкости систем с от- сообщения; б) зашифрования подписанного сообщения; в) раздельного зашифрования и подписи. Доставляемым ключом можно также считать пщ^у{кик2)- Рассмотрим еще один вариант установления ключа, использующий систему RSA, в которой шифрование и вычисление подписи выполняются одинаково [10]. крытым и с секретным ключом. случае доставки ключа от к шаг не нулсен. 14.7. Временная метка На практике часто требуется, чтобы документ содержал дату ознакомления (создания, изменения), которую было бы невозможно изменить без того, чтобы это не стало бы явным. Например, если выпускник школы может предъявлять результаты выпускного экзамена в электронном Протокол 14-6.3. Установление ключа с опознаванием (протокол Х.509). виде (не оценки, а саму работу) для поступления авителя А, Секретный ключ J^, от- в инстит>'Т, он может быть заинтересован в под- крытый ключ {щ, ев\ идентификатор ids. мене своей работы путем исправления «задним чателя В. Секретный ключ йв, от- числом» допуш.енных ранее ошибок. крытый ключ (w^, е^), идентифи1сатор id^, льтат. Установление сеансового ключа Запдиту от подмены можно обеспечить пользованием временной метки (time stamp). ис Метод. Установка и проверка временной метки явля- Отправитель генерирует случайное число г л, ется одной из задач аутентификации. Временная выбирает ключевую информацию к\ и за- метка может быть реализована с использованием шифровывает ее на открытом ключе (пв-> е^)^ электронной цифровой подписи двояко: центра- вычисляет текст D А Гл id в в(кх\ где лизованно (при наличии центра установления код времени, вычисляет подпись л^ для меток) и децентрализованно, с распределенным Da с помощью своего секретного ключа А И механизмом проверки временной метки зашифровывает Da А (Da на открытом клю че («Й5 ев). Затем отправляет сообпдение Б Фл А (Da)) получателю. 14.7.1- Централизованная Получатель проверяет подлинность и пра реализация временной метки вильность сообпдения с учетом подписи. При централизованной реализации временной времени, имени и т. п.; проверяет, что число метки иногда требуется, чтобы обеспечивалась Га ранее не использовалось. Выделяет число конфиденциальность (центр не должен знать со- и запоминает его. Генерирует случайное держание документа) и анонимность (центр не 1 число гу^, выбирает ключевую информацию должен знать, кто прислал документ). и зашифровывает ее на открытом ключе Протокол предусматривает участие трех ле («^5 ^аХ вычисляет D в rB\\idA А (hi вычисляет подпись Sb для Db с помош;ью своего секретного ключа dB и зашифровывает /)к ф на открытом ключе (w^, е^). Затем передает сообш;ение А {D В SdD в отправителю. Отправитель проверяет подлинность и пра вильность сообпдения с учетом подписи, времени, имени и т. п.; проверяет, что число г в ранее не использовалось. Если аутентификация прошла успешно, то он выделяет к2. Результат: ki или (к^ к-^ — сеансовый ключ. гальных пользователей: претендента, который хочет добавить к документу временную метку, центра временных меток и верификатора, прове- ряюпдего правильность документа и времени его создания. Используемый криптографический — электронная цифровая подпись примитив — центра временных меток. Достоинством этой реализации является ее простота. Протокол 14.7.1. Централизованное создание и проверка временной метки. претендента. Документ т: 7 открытый ключ проверки подписи; хэш-функция /г.
292 i+\ откажется представлять Вход верификатора. Открытый ключ провер- если претендент ки подписи; хэш-функция К свой сертификат или преднамеренно предъявит Вход центра временных меток. Код текупдего подложный сертификат, то он может отменить времени; секретный ключ формирования подписи. аутентификацию претендента Р/, даже если до- Метод. кумент и сертификат, предъявленные претенден- Дня создания временной метки выполняются том Р/, являются подлинными. следующие действия. . Претендент, создавший (изменивший) доку мент т^ вычисляет хэш-функцию Цт) и по сылает ее в доверенный центр. Центр вырабатывает подпись s{T) для прове 14,7,2. Децентрализованная реализация временной метки рочного текста him) где код вре мени, и возвращает сертификат, состояпдий из проверочного текста и подписи для него претенденту. Претендент рочного текста, подписи и времени. Децентрализованная реализация механизма проверки временной метки была предложена в работе [3]. Рассмотрим основные положения та- проверяет правильность прове кои реализации. Предполагается, что число претендентов, под- писываюшд^х документы, достаточно велико для того, чтобы они не вступали в сговор против какого-то претендента или против верификатора. ос Для проверки временной метки выполняются нову протокола положена цифровая подпись RSA следуюпдие действия. Пусть п pq составное число, разложения Претендент посылает документ и сертификат которого не знает никто. Предположим, что пре I , ... 5 Хц^ тендент с участием претендентов {т^ Г, s{i)) верификатору. Верификатор выполняет следующие дейст- обладаюпдих документами хи ВИЯ. 2.1. X „, хочет подписать свой документ так, чтобы можно было Вычисляет хэш-функцию Mm) и прове- соотнести подписанный документ со временем 2.2 2.3. ряет ее соответствие проверочному тек сту Г. Проверяет время t формирования под писи. Проверяет правильность подписи. подписи. Для этого на каждом цикле протокола выполняются следуюпдие действия. Протокол 14.7.2. Децентрализованное созда При успешном прохождении всех проверок документ и подлинными. время его подписи считаются ние и проверка временной метки Метод. Претенденты по коду времени t вычисляют Хп (mod п) Претенденты вычисляют значения хэш Цифровая подпись может быть реализована например, по ГОСТ Р 34.10-2001 (см. п. 15.6.5). Поскольку участники протокола не вполне до веряют друг другу, могут возникать ситуации его Ых^. функции для своих документов: у Претенденты вычисляют проверочный текст (хо, а) для данного цикла протокола. где а X вора некоторых из них между собой. Это требует соответствующего усиления протокола 14ЛЛ. Так, центр иногда может быть недоверенной стороной и нарушать протокол, чтобы вместе с У\-У о т (modw), и опубликовывают его. Претендент / У\--У,-\У;+]...у,г, О вычисляет свои сертификат (mod п ), у, и претендентом / обмануть верификатора. Для противодействия этому обычно применяется сцепка нескольких документов [9]. Например, в сертификат включается имя претендента и имя /+1 или нескольких следующего претендента следующих претендентов. Верификатор обраща Для проверки правильности документа х времени подписи претендент Р/ предъявляет верификатору текст, сертификат и время /. Верификатор вычисляет хэш-функцию h{x^ и проверяет условия: /г(хЛ Уь а у Хп 2 zp (mod п) \ (modw). Если все проверки проходят успешно. то претендент действительно подписал документ в указанный момент вре мени. ется к этим претендентам с просьбой предъявить свои сертификаты. Если они верные, то и сертификат проверяемого претендента верен. Однако в этом случае число легальных участников данного этапа протокола увеличивается, и приходится рассматривать дополнительные случаи сговора, то есть это может привести не к претендентов. Кроме того, этот протокол уязвим усилению, а к ослаблению протокола. Например, к атаке на основе эндоморфизмов (см. п. 9.4.3). Недостатком протокола 14.7.2 является необходимость совместных действий нескольких
Упражнения к главе 14 ^Предложите цифровую подпись для двух владельцев разделенного секретного ключа на основе протокола Шнорра. Предложите способ восстановления общего Как должны быть связаны стойкость зашиф рования сеансового ключа, стойкость цифро ключа в группе из п пользователей, если из вой подписи и сложность вычисления колли зий хэш-функции (используемой для подпи си) при установлении этого ключа? них любые (не более) т пользователей, где т<п^ могут быть скомпрометированы. *Исследуйте возможность доказательства того, что составное число п свободно от кубов, с помощью аппарата эллиптических кривых над кольцом Ж1пЖ. Предложите схему разделения секрета на основе китайской теоремы об остатках. Как можно При каких обстоятельствах нужно защи 10 щаться от повторов при установлении сеансового ключа? Предложите способ защиты от повторов в протоколах опознавания на 11 нейтрализовать «разрастание» длин бездиалоговых основе цифровой подписи и на основе доказательств с нулевым разглашением. Предложите способ электронной цифровой основе бездиалоговых доказа- подписи на тельств с нулевым разглашением. частей секрета? Предложите схему разделения секрета на ос- 12. Почему протоколы 14.6.2, 14.6.3 безопаснее чем просто передача подписанного ключа к\1 нове быстрого преобразования Фурье. Предложите протокол открытого электрон 13 Предложите протокол игры в покер для трех ного голосования, в котором каждый участник может доказать арбитру, что его голос не искажен. * Предложите способ тайного электронного 14 голосования, при котором каждый из участников может доказать арбитру, что его голос не искажен. участников, основанный на задаче дискретного логарифмирования в циклической группе простого порядка. Предложите протокол погашения монеты на основе доказательств с нулевым разглашением. л ^^ Ч-'ч^' V^ *-. ■ч- rF Литература к главе 14 *'". ^ '^ .- Айерлэнд К., Роузен М. Классическое введение в современную теорию чисел. М.: Мир, 1987. Ван дер Варден Б.Л. Алгебра. М: Наука, 1979. Benaloh de Mare М. One-way accumulators a decentralized alternative to digital signatures — Proceedings Ad vances Ш Cryptology of EUROCRYPT '93. Lecture Notes in Computer Sci ence. Springer-Verlag. 1994. Vol. 765. P. 274-285. Blom L. An optimal class of symmeti'ic key genera tion systems // Advances in Cryptology — Proceed of EUROCRYPT 84. Lecture Notes in Com Science. Springer-Verlag. 1985. Vol. 209 rngs puter P. 335-338. Boyar J., Peralta R. Short discreet proofs // Advances in Cryptology — Proceedings of EUROCRYPT '96. Computer Science. Springer Lecture Notes m Verlag. 1996. Vol. 1070. P. 131 142. Brassard G. Modem cryptology: a tutorial. Lecture Notes in Computer Science. New York: Springer Verlag, 1988. Vol. 325 [Книга издана на русском языке: Брасс ар Ж. Современная криптология Пер. с англ. М.: Полимед, 1999]. Camenisch J., Michels М. Proving in zero-knowledge that a number is product of two safe primes // Ad- 10 11 12 vances in Cryptology Proceedings of EUROCRYPT '99. Lecture Notes in Computer Sci ence. Springer-Verlag. 1999. Vol. 1592. P. 107 122. Goldreich O., Micali S., Wigderson A. Proofs that yield nothing but their validity and a methodology of cryptographic protocol design // Proceedmgs of the IEEE 27th Annual Symposium on Foundations of Computer Science. 1986. P. 174-187. Just M. Some timestamping protocol failures // Proceedings of the Network and Distributed Security System (NDSS'98) Symposium (www.isoc.org/isoc/ conferences/ndss/98/just.pdf). Menezes A., van Oorschot P., Vanstone S. Handbook of Applied Cryptography. CKC Press, 1997. Rabin M. How to exchange secrets by oblivious transfer. Technical Memo TR-'8L Aiken Computer Laboratory, Harvard Universit}', 1981. Schneier B. Applied Cryptography: Protocols, Algorithms, and Source Code in C, 2nd edition. New York: J. Wiley & Sons, 1996 [Книга издана на русском языке: Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си 2002]. Пер с англ. М.: Изд-во ТРИУМФ,
Глава 15. КРИПТОСИСТЕМЫ НА ЭЛЛИПТИЧЕСКИХ И ГИПЕРЭЛЛИПТИЧЕСКИХ КРИВЫХ ы -< Jh -, * — ' Пусть £'(-К) — эллиптическая кривая над ко " элементов, сЫг(К) печным полем из q характеристика поля К. Разработка криптосистемы на эллиптических кривых заключается в выборе поля, уравнения эллиптической кривой и числа точек. Требования, предъявляемые к эллиптической кривой для обеспечения высоко го уровня стойкости, приведены в п. 11.7. Кро ме того, выбранная эллиптическая кр ивая должна обеспечивать высокую скорость вычислений. Это достигается соответствующим выбором характеристики поля, выбором полинома, задающего расширение простого поля (если используется расширенное поле), а таклсе выбором кривой, допускающей комплексное умножение или иной способ быстрого умножения точки на число. Основной задачей при создании криптосистемы на эллиптической ^фивои является расчет числа точек. При этом для того чтобы выполнялись криптографические требования, нужно опробовать в среднем 0(logq) эллиптических кривых. Пусть на эллиптической кривой Е(К), заданной уравнением у -J{x\ выполняется равенство для простого порядка группы: r~#E(K)/s , где малый делитель числа точек. Генерация точ- 2 S Алгоритм 15.1.1. Расчет числа точек эллип тическои кривой. Вход. Эллиптическая кривая Е(К): у + щху + . _ 3 , . _ 2 . . . . + аъу X + а^х + QiOc + сц,. Выход. Число N точек эллиптической кривой ЕШ. Метод. Выбрать точку Q е Е{К), Для этого выбрать случайную х-координату jco е л так, чтобы существовала j-координата jo ^ ^•, удовлетворяющая уравнению кривой. Найти целое число к <г- Вычислить точки 2, 2g, 3g, ...ДО и отсор тировать полученную базу данных по X координате (при этом оказываются извест ными и точки 5 20 ? ъ кО\ Вычислить точки Р<^Qk^V\Q,R<^(q^ ПО, после чего сравнить поочередно X координаты точек 7?, R±P, R± 2Р, ...^R±kP с базой данных (равенство означает. R + dkQ = eQ для некоторых целых что Отсюда найти предполагаемое число точек N ? + + dk е Результат: N. ки, образующей группу порядка г, не составляет В действительности алгоритм 15.1.1 находит труда. Можно воспользоваться, например, еле- порядок циклической группы (g); число N кратно дующим алгоритмом. #(0. Поэтому желательно уточнить порядок Подобрать элемент хо ^ К такой, что квадра- группы Е{К) для нескольких точек Q. Кроме того, желательно убедиться, что число точек на скру- тичный характер отдхо) равен Положить jc-координату равной хо- Вычис- ченной 1фИвой равно ^ + dk + е (см. шаг 4). 4. лить ^-координату извлечением квадратного Алгоритм 15.1.1 требует выполнения 0{^) корня изу(хо) (см. п. 7.7). Умножить точку (хо, уо) на s. Проверить, что точка, полученная на шаге отлична от /*оо и имеет порядок г. операции умножения точки на число, то есть g^) ) операций умножения и сложения (9(V^(lo чисел на процессоре с фиксированной разрядностью, так как сложность умножения точки на 15.1. Расчет числа точек эллиптической кривой в общем случае произвольное число равна C>((log^)). Требуемый объем памяти равен 0(Щ). Вычисление числа #Е(К) точек эллиптической А. Аткин и Ф. Моран [12] предложили способ кривой в общем случае является довольно слож- расчета числа точек на произвольной эллиптиче ной задачей. Для расчета числа точек можно ис- ской кривой, основанный на использовании мо пользовать алгоритм «giant step — baby step». дулярных форм. Выбирают дискриминант D та
295 кои ? что характеристика поля ется простой и число N (f + Db^ явля ± 2а точек эллип квадратичным вычетом в поле К\ равное -1, если Z является квадратичным невычетом в поле К\ тическои кривой соответствует предъявляемым требованиям (см. п. 11.7). Дпя построения эллипти- равное О, если z = 0. Функцию можно рас ческой кривой находят гильбертово поле Кн классов мнимого квадратичного поля К Q(V D) как максимальное неразветвленное расширение, для которого группа Галуа является абелевой. Полином, задающий поле Ки. является минимальным полиномом для значения D) модулярной функции у комплексного переменного. Редукция указанного значения по модулю дает инвариант кривой. Вычислить коэффициенты кривой по заданномуjf-инварианту нетрудно. Значение модулярной функции j(4~D) яв ляется целым алгебраическим числом, степень которого равна числу классов поля К, Число классов и норма числа D) увеличиваются с ростом D. Например, для D - 403 норма целого квадратичного 7 является числом длины 56 десятичных знаков. Поэтому метод работы [12] явля- ется практичным только для небольших значений дис1фиминанта и небольшого числа классов. С1угатривать как продолжение символа Лежандра на поле К. Таким образом, с учетом одной бесконечно удаленной точки получаем следующую формулу для числа точек N 1 + 1 + X 3 + Ах + В х^К q + \ + х^ + Ах + В (15.1.1) ? х^К ТО есть подсчет числа точек сводится к вычислению суммы характеров. Эндоморфизм Фробениуса эллиптической кривой Е(К) удовлетворяет характеристиче скому уравнению с целыми коэффициентами 2 Щ + а (15.1.2) или 1 _ ^^й Ф(Ф(Р)) 7ф(Р) + qP р ' СО- Асимптотически более быстрым, чем преды дущие, является алгоритм, предложенный Р. Чу- фом [16]. Алгоритм Чуфа использует так называемые полиномы деления (division polynomi als), которые задают операцию умножения точки на число над алгебраическим замыканием К поля К. 15.1.1. Предварительные сведения Оценку числа точек эллиптической кривой с уравнением у 9 X + Лх + £ над полем К=¥д дает Здесь след эндоморфизма Фробениуса; выполняется равенство i - ,^ t f^''. X 3 + Ах + В Алгоритм Чуфа вычисляет значение Т, Для этого в соответствии с китайской теоремой об остатках достаточно найти Т (mod А), где малые попарно взаимно простые числа, произ ведение которых превышает AJq (так как нуж но рассмотреть случаи N иМ а). некото теорема Хассе (теорема 6.17.1). Если значение рых случаях (например, при/-2) найти Г (mod/) кубического полинома х + Ах + В при некотором ^^-^-^ X отлично от О и является квадратичным вычетом легко. в поле К^ то этот х является х-координатой в точности двух точек эллиптической кривой. Если Если эллиптическая кривая имеет точку порядка 2, то есть точку вида (х, 0), то выполняется сравнение TV = О (mod 2). То, что кривая El К име указанный полином равен и при некотором х, то этот X является х-координатой одной точки. Если значение кубического полинома является квадратичным невычетом, то соответствующее знает точку с нулевой j-координатои, означает, что полином X +^ + £ имеет нуль в поле К При переходе к кривой Е{К) получаем 3 чение X не может являться х-координатои точки НОШх'^-х.х'+Ах + В) К '^-" ^ :.v^Ki^O -лл^ - ^- -Z кривой. Значит, для данного значения х число в кольце Щрс\. Для проверки этого условия мож точек с данной х-координатои 3 1+ X +Ах + В Z равно но вычислить значение х вычетов А^х]/(х -^Ах + В). ч X в кольце классов , где значение квадра Основная идея алгоритма Чуфа заключается в рассмотрении равенства (15.1.2) для кривой тичного характера, равное если Z является Е{К) как сравнения по модулю / для малых про
296 стых При этом подбором находится такое зна 1 ip^.y) 1; Vofcj) = 0;i|/i(x, v) 9 чение Г (mod l\ что 4 2 2 Ф/ + к хф, (mod /) , (15.1.2') i|/2(x, v) = 2j; Шз(л:, j) - Зх + 6^ + \2Вх ~ А 2 ? (mod /), (mod /), (mod Л. Ш4(Х, V) 6 4 Ayix'+SM+imc 3 5ЛУ 4^fe 85^ 3 л\ где ф/ Сравнение (15.1.2') справедливо, если на кривой V2 3 3 А:+1 V-t+2VA-V-t-iVA+i. k>Z Е(К) существуют точки кручения порядка с 2vi|/ 2k V^V 2 А+2 V^ 2 I "Vk-i^Vk^il к указанным свойством. Для нахождения значения X с помощью (15.1.2') проводятся вычисления в группе кручения ЕЩ Полиномы vjf^ для нечетного и полиномы порядка эллиптической \\ff^/(2y) для четного являются полиномами от кривой Е{К). Очевидно, что если группа £[/] (х,/). Заменим/нах^+^ + £ и обозначим полу существует, то сравнение (15.1.2') может выпол- ченные полиномы через i|/',, тогда полиномы деле няться лишь для одного значения х. Эллиптическая кривая Е(К) не содержит группы £[/], если кривая Е(К) супервырождена и Вероят 1/2 ность этого очень мала и равна 0{р Сложность алгоритма Чуфа оценивается по линомом восьмой степени от log^^. 15.1.2. Полиномы деления Для эллиптической кривой Е(К) определим полиномы деления (division polynomials) из Щх]. Если У+jcy = х^ + £, где В ^ К, то полиномы деления имеют вид: сЬаг(Ю и уравнение кривой Ej^K): 1; /о W 0;/i(x) 1; /2(х) х: х' + х^ + B;Ux) = хЧ £ 9 2к-^\ (X) 3 к (х)/> к+2 w+y; к~\ (x)f, 3 к+\ (X), xfik (X) 2 к~1 МЛ WA^2(^)+Л-2 Wa (Шк 2 + 1 (^1 k>3. Если то высокую стойкость обеспечи вают только 2 кривые вида А + XV х^+^^ + £ (см. п. 11.3). При ЩА) ,в(К)- (где Тг{А)— след коэффициента А в поле \в(К) изоморфна кривой EqAK) 2 ? в(К). то кривая Еав{К) является скру- скрученной кривой равно 2q + 2-~ wEqj^K). Число точек (или след эндоморфизма Фробениуса с точностью до знака) полностью определяется коэффициентом £. Полиномы к являются приведенными. 1)/2 для нечетных А:. сЬаг(К) > 3 и эллиптическая кривая задана уравнением У = х^ + ^jc + £, то определим полиномы деления из Щх, у]: deg(A) Если ния 1|/' будут лежать в Щх] или в>'7Ц^х]. Положим М^) Vlx, у). если к нечетное, и AW 4f'k(^.y)/y. если четное. При этом, если НОД(р, к) то dega) 2 1)/2 при нечетном deg(A) 2 4)/2 при четном А:. Теорема 15ЛЛ. Пусть к>2 — целое число^и Е(К) (хр^УрХ Равенство кР-Ра, на кривой вьшолняется тогда и только тогда, когда^Хр) над полем К. Доказательство см. в работе [16]. Полиномы деления позволяют умножать точ ку (х, v) кривой Е{К) на целое число А:: к-(х 5 X ^к 1 V;t+1 2 2 'Vk~\^k^2-^k^2^k^\ 2 ? "Vk 3 ^УЩ J Обозначим X s Г (mod /). Условие (15.1.2') вы полняется, если в кольце Щх, у] имеют место ра венства: кривая Если Тг{А) ченной по отношению к Eqj^K), при этом выпол няется равенство #Еа,в{К) + #Ео^в(К) ~2q + 2. Таким образом, для расчета числа точек достаточно рассмотреть только кривую £0 в{К)\ число точек при х (х^\/)+(х ^к 1 2 к+\ V^ 1 V^ +2 2 к I'Vk +1 2 ? "Vk 4vi|/ 3 к J со о или 2 {х" ,/ ) + , X к~\ Уус 2 +1 V. 1 V. +2 v^ 2 2 Уус +1 2 ? Уус 4vi|/ 3 /г У ^В V г -, T-I T+I 2 т 2 T-I Vfc +2 t-2 2 t+I Л^ 9 4ji|/ 3 У прих
297 Переходя к полиномам _Д (это позволяет проводить вычисления в кольце К\х\)^ получаем, что условие ф, (/*) = ±кР (mod/) выполняется, если X ч 2 X k-AJk-¥\ 2 к 3 + Ах + В) для четного к и X я 1 X k-\Jk+l 3 + Ах-\-В) 2 (15.1.4) к для нечетного к. 15.1.3. Алгоритм Чуфа Алгоритм ^фа для вычисления числа N точек эллиптической кривой Е над полем К использует вычисления в полях функций K[x,yy(E(K),fi{x)), где (Е(К)) — идеал, задающий кривую, fi(x) — полиномы деления, и содержит три шага: вычисление набора попарно взаимно простых чисел {I,} и соответствующих полиномов деления в кольце Щх]; нахождение вычетов числа 4- N по модулям малых взаимно простых чисел гласно (15.1.2'); восстановление числа точек теореме об остатках. 1 со по китайской Первый шаг не содержит принципиально сложных вопросов и может быть выполнен в со ответствии с известными формулами для поли номов деления. Здесь надо оценить, сколько нужно полиномов деления э чтобы однозначно / должно быть больше, чем 4л/^ Третий шаг выполняется очевидным образом. Второй шаг является наиболее сложным. Если сЫг{К)^2^ то условия (15.1.3), (15.1.4) сущест- (mod I) вования точки г такой, что можно записать в виде ф(^) ±кР НОД((х^' - х)/' (х)(х' +Ах + В) + +/ к-\ (^)fk.. (xiax))^K (15.1.5) для четных к и 2 Полином ф; -хф; +к от переменной ф/, соот- ветствуюш;ий уравнению (15.1.2'), может быть неприводимым или раскладываться на множители над F/. Во втором случае говорят, что эндо- (15.1.3) морфизм Фробениуса имеет собственное значение в группе Е[[\. Если в группе £[/] существует аффинная точка. 2 для которой выполняется условие ф, =-A:(mod/) 5 ТО из (15.1.2') следует, что хф/ скольку ф/(/*) ^ Рею, то X = О (mod /)• (mod Л. По Если в группе Е[[\ существует аффинная точка. 2 для которой выполняется условие ф; ^A:(mod/), то из (15.1.2') следует, что х^О и 2А:-Хф/ (mod /), откуда ф/ ^ 2ki~^ (mod /)* Подставляя это значение в (15.1.2') и сокращая на А: ^ О, получаем: X ^4к (mod /). Тогда эндоморфизм Фробениуса ф/ должен иметь собственное значение в группе £[/]. Обозначим W = v^O^iod /). Тогда w или -w является собственным значением эндоморфизма Фробениуса в группе £[/], при этом x = 2w или х 2w в зависимости от знака w. При 2 Ф/ ±к (mod /) случай 2 Ф/ к {modi) можно легко распознать, вычислив символ Ле жандра; при этом должно выполняться равенство V Е ^ Если fk \ 1, то должны существовать собст венные значения эндоморфизма Фробениуса, и вместо (15.1.5), (15.1.6) получаем следующие определить Т. Следовательно, произведение всех условия. Случай X = О (mod /) распознается, если НОД((х^ - х)/; (х)(х' +Ах + В) + +/.-1 W/..i (xiax))^K (15.1.7) V < - для четных W и НОД((х* - х)/: (х) + /„ 1 (^)/.. +1 (х)х 3 x(x'-\-Ax-\-B)J,(x))^K (15.1 для нечетных w 2 —■ ^ -л. Случай ф/ =A:(mod/) распознается, если 2 НОД((х*^-х)//(х) + Л^, (^)/ш (х)х 3 х(х'+ Ах + В), Ш)) ^ К (15.1.6) 3 НО Д(4(х'+ Ах + В) 1)/2 x'w 2 W+2 (-^)/,-, W+/ 2 W-2 (^)Л +1 (xiax))€K (15.1.9) для нечетных Для ускорения вычислении можно разложить У/ на простые множители и вы числять наибольший общий делитель для каждо го из простых делителей полинома^/. для четных W и J, 3 Н0Д(4(х^+Лх + £) (^+3)/2 3 W (х) Z w+l (^)/.-, 2 (^)+/; о (л:)Х+, (X), / (X)) g к (15.1.10)
для нечетных w. Тогда x-2w или т = ~2w в зави 5 5(х 12 + 218х ^ + 123х^ + 236х^ + 240х^ + 25х^ + симости от знака w. + 75jc 'i + 141х^ + 12x^ + 75д"^ + 91х + 68) Если ни одно из условий (15.1.7)-(15.1.10) не равенство выполняется. то не выполняется и 2 Ф/ +А: (mod /) 5 то есть эндоморфизм Фробениу Находим вычет числа точек кривой по моду- имеет решение 3 лю 2. Уравнение х -\-Ах + тогда и только тогда, когда его дискриминант 1 са не имеет собственных значений в группе £[/]. является квадратичным невычетом. Поскольку этом случае для нахождения х ^ О нужно ис пользовать закон сложения точек на эллиптиче ской кривой. Координаты суммы точек 2 Ц).(Р) + кР в группе £[/] кривой Е(К) можно записать в виде: X ч г Х4- V^-iM^liL + ^2 2 э v^ ч г Ix" г Х + ^k-l^M 2 Va- J Э где 2 1 4jvk(x 2 V^-2V^+1 4/-V? X ^ 2 )v 2 V^ 1 V^ +1 Вычисления проводятся в кольце классов вы четов К\х^ у\1{у X Ах э Дх)). При этом по еле каждого умножения полиномов значение 2 3 заменяется на х + Лх + В э затем для полиномов отх находятся вычеты по модулюУ?(х). 2 Если X - 4л: является квадратичным вычетом по модулю /, то вычисление упрощается, так как существуют собственные значения эндоморфизма Фробениуса. Число ±w ? 1< W 1)/2 э ЯВЛЯ ется собственным значением эндоморфизма Фробениуса ф/ тогда и только тогда, когда существует точка G £[/] такая, что ф/(/*) ±wP. Пример 15.1 Л. Расчет числа точек эллипти ческой кривой алгоритмом Чуфа. Пусть X + X + 5 над полем р lh257. Все вычисления проводятся в кольце Fp[x5 j]/(v 2 Ах Б)д1\яА э Полиномы деления имеют вид: здесь справедливо (А А 3 + 27£^)/l08 V 257 1, по лучаем N (mod 2). Теперь находим вычет Т (mod 3). Полагаем э и проверяем наличие собственных значений эндоморфизма Фробениуса в Z/3Z (они могут быть равны или Для этого вычисляем р 2 +л. w-\ W+1 (mod /з ) для W и W Вместо полинома^ подставляем поочередно его простые делители. Собственное значение существует, если вычет по модулю хотя бы одного делителя равен нулю. Получаем для делителя х + 99: для м^ = О вычет ненулевой; для 1 или м> W вычет нулевой. Следовательно, w является собственным значением. Уточнять знак собственного значения нет необходимости. Из сравнения 'W 2 xw + k т 2 х^ + (mod (mod ли дискриминант является квадратичным выче находим дискрим инант Собственные значения существуют, ее том по модулю 3, то есть т О (mod 3). Находим вычет (mod 5). Полагаем э и проверяем наличие собственных значений эндоморфизма Фробениуса в Z/5Z (они могут быть равны О, ±1 или ±2). Для этого вычисляем р 2 х)/:. + / W-1 J W w+\ (mod /5 для w w и w 2. Полином^ на множители не раскладыва ется. Для W О, м^ и W вычеты по модулю 5 ненулевые. Следовательно, собственных зна чении не существует. Находим вычеты по модулю Л для х /^ .j^\ ? /: X р 2 193х и 10 9 8 7 6 + 26х'" +113х" +85х" +40х' +202х" + 5 4 3 2 + 148х-^+215х"+153х"+243х"+160х + 139 ? Щ 0;i|/i 1; V2 2кшз 4 2 Зх" + бх" + бОх Щ 6 4 3 2 э у(4х" + 20х + 143х^ + 237х" + 177х + 224); Г 12 10 9 5 5х'^ + б2х^" + lOlx" + 152х^ + 172х^ + 6 5 4 3 2 + 125х" + П8х^ + 191х" + бОх^ + 118х^ + 198х + 83 ? а после разложения на множители над F257 2 j^"= уП 36jc" +1 бЗх'" + 2 i О/ +13/ +1 5jc' +1 49jc'' + 5 4 3 2 + 110x'+146x" + 230x'+l69x'+96x+100). Проверяем возможность (mod 5). Срав нение t г" (х р 2 х)Л 2 3 -\-Ах-\-В)-\-f. к~] J кл\ (mod /5) 1 1;/о 0;/i 1;/2 2; не вьтолняется, следовательно, Т^ О (mod 5). 4 2 3 3(х + 99)(х + 188)(х^ + 227х + 23); 2 4(х' + 92х^ + 215х + 149)(х' + 1б5х^ + ЗОх + 9); ' Дискриминант уравнения вычисляется по фор муле Кардано и отличается от дискриминанта кривой
299 Находим точку кР для А: = 2. Здесь проще вое- ти знак чиела Т по модулю 5, можно проверить пользоваться обычными формулами сложения Получаем какое из равенств выполняется для j-координат в фуппе кручения порядка 2 Зх 2 ФЧП+2/' Ф(/0 или + А IF 1у э ^i^iPM-lP фЮ Можно также просто уточнить э какое из равенств выполняется на эллиптической 2 ^IP — '^Ip -^Х, _У2 / i ^2я(^ X2p)-.V. Кривой £№257 (257 + + 9)0 со или (257 + 9)2 /*oD. Проверка показывает, что правильным 2 Находим х-координату точки ф (F) + 2Р, является значение 9. тогда N 261. соответствии с законом сложения точек имеем: X <P^(J'}+2P ' х" 2 Ло 11 2Р Э где 2 Для некоторых эллиптических кривых число точек может быть определено проще, чем алгоритмом Чу фа. Это возможно по крайней мере в угловой коэффициент секущей, прохо- двух случаях: если эллиптическая кривая EIK с известным числом точек над К рассматривается над конечным расширением К^ поля К и если рассматриваются эллиптические кривые над простыми полями, обладающие комплексным умножением над полем С. дящей через точки ш (Р) и 2Р: •^ф2(Р) У 21 X ф2(/>) X 2Р Подставляя в последнюю формулу получен ные значения, находим 15.2. Расчет числа точек эллиптической 48х п 10 9 8 + 124x'"+53x-'+248xV101x 7 4- 256х и 10 9 8 7 + 153х*^+114х-' + 174х'^ + 76х' + 6 5 4 3 2 + 157хЧ45хЧ143х"+189хЧ54хЧ255х + 37 +145x4 248x4170х'+52x4 52х + 3 2 Находим х-координату точки ш (/*) + 2Р 9 Ч . . . -ж^ 5 за меняя V' на X +Ах + В: 210x^4l34x^^ +161х^ +138х^ + X о Ф^(Я)+2Я 11 10 9 8 212х" +72х'" +51х^ +229Х-4- 7 6 5 + 50х' +196х" +60х^ +142х 4 4- 7 6 5 + 201х' +192х" +62х' +143х 4 4- кривои над расширенным полем Если эллиптическая кривая Е/К с коэффици ентами из поля К^^д, рассматривается над ко нечным расширением К то имеет место равенство 1 - U ^ ПОЛЯ к и q] т ^ #Е(К 1 т + 1 т т ? (15.2.1) где комплексно сопряженные корни ха рактеристического уравнения эндоморфизма Фро бениуса: 2 + (#Е(К) 1)Ф + ? (15.2.2) + 127x4 250х^ + 140х +182 3 2 + 31х'+70х" +108Х + 124 Вычисляем х-координату точки ±хф(/*) -^±тф(;^) ~ ^ р р р T-Ux+l 5 + Ах + В) 2р т ДЛЯТ и ^±хт(Р) ~ ^ Р Р т I Р т+1 2р т 3 -\-Ax-\-B) длят 2. 2 Сравниваем х-координаты точек ф (Р) + 2Р я ±хц>(Р) как рациональные функции от х. Они совпадают (mod 5). при Следовательно э +1 Найденные сравнения для Т по модулям показывают, что возможны два случая: Т э э Уравнения (15.2.1) и (15.2.2) устанавливают связь между #Е(К) и #Е{К{). Заметим э что т т 2Re(e т э величина Re(e т )/|е m является косинусом угла, задающе го число в тригонометрической форме. Поэтому можно выразить #Е{К\) непосредственно через тк). используя полиномы Чебышева первого рода Г,н(х) == cos{m arccosx): т /2| Г 1 Ш(К) т +1+т т] \ W-/-1 (т 7 О j\(m 2j)\ Jj^fn 2/ q-\-\-\-k э где А: ? + #Е(К). Это соотношение позволяет легко реализовать алгоритм генерации эллипти ческой кривой над расширенным полем. Из уравнения (15.2.1) следует, что #Е(К\) де лится на #Е(К2\ где К2 Ь э ?2 / э т. Это (mod 30) или Т= 9 (mod 30). Для того чтобы пай- объясняется тем, что кривая Е(К]) как многооб
300 разие содержит в себе кривую Е(К2% в том числе Во втором случае задача логарифмирования на кривую Е(К)^ Поэтому число #Е{К{) не может эллиптической кривой Е(^^„) сводится с помо быть простым. Для того чтобы число Гх было простым, необходимо, чтобы степень т расши рения была простым числом. щью спаривания Вейля к задаче логарифмиро вания в мультипликативной группе расширен ного поля 2 «А?» где (см п. 11.3). Поэтому Пример 15.2.1. Эллиптические кривые над на практике использзтотся только кривые, зада расширениями поля простого порядка. 2 С большой подгруппой ваемые первым уравнением диапазоне степе ней расширения 96 т 256 существует всего 9 4- XV Эллиптические кривые Е1¥2 имеют вид 11 эллиптических кривых, для которых число Г] я . 9 . ^ 9 . 3 . 2 . л х' + аох + 1 или Г+У X + аох + простое Гх для кривой у ■^ху 39614081257132074233778707191 2535301200456459535862530067069 40564819207303335604363489037809 680564733841876926932320129493409985129 3450873173395281893717377931138512760570940988862252126328087024741343 220855883097298041197912187592864814948216561321709848887480219215362213 для кривой V + х 1267650600228230886142808508011 81129638414606692182851032212511 324518553658426701487448656461467 5192296858534827627896703833467507 5846006549323611672814741753598448348329118574063 Пусть кривая К 8 ivm +1+ EIK Для задана полей над К полем 1 простои степени расширения над К существуют следую щие четыре кривые с различными числами то чек: &: / + XV = х^ + ^, ^2: / + W = х^ + ^ + 1 1 э E-i:y'+xy=x^+x^ + t+ 1 ? Е/^: у -^ху % 1 х^ + х^ + L Как обычно, расширение поля из восьми элементов строится присоединением корня неприводимого над К полинома соответствующей степени. 29 т Для 103. степени расширения т (Л М существует восемь эллиптических кривых, для которых число Г] является простым. Ti для кривой Е 825293359523603415337631131" 70208194445704791131945351789113626814156914745347160559455187521 для кривой Е 432691404877902285974206877383297 1772303994379887831408089032440014057 _ 464598858302721315449166434238382380989717 31926990434706017882465563211521159723534715689440269 ri для кривой £4 278759314981632789268903181396173621874561 19156194260823610729479337915747318375048137080701777 Эллиптические кривые над полями характе- таким полем могут лежать в расширенном по ристики 2 могут быть использованы в амери- ле, а степень расширения не обязана быть про- канском стандарте подписи ECDSS. Рассмот- стой. Однако если степень расширения являет- ренные примеры используют поля простой ся составной, то логарифм на эллиптической степени расширения. В общем случае коэффи- кривой может быть быстро вычислен методом циенты уравнения эллиптической кривой над спуска (см. п. 11.4).
301 15.3. Расчет числа точек эллиптических Здесь все суммы равны О, кроме той, в кото кривых с/ » 1728 над простыми полями Р^и показатель при х равен частности. последняя сумма равна Рассмотрим случаи, когда эллиптическая кри вая над простым полем задается неполным урав одинаковых элементов. Так как х^ так как содержит (mod р) для ненулевых х, получаем xTl ' i -^. - J пением, то есть случаи) и/ 1728. Такие эл липтические кривые не допускаются отечественным стандартом подписи ГОСТ Р 34.10-2001, однако могут быть использованы согласно американскому стандарту ECDSS. х^+В xdf Р 6 (mod о) Теорема 153.1 точек кривой с Если 1728 равно (mod 4), то число + Если Остается вычислить этот биномиальный ко эффициент. Аналогично, в случае / = 1728 получаем (mod 6), то число точек кривой cj = О равно/? + 3 Доказательство. Случай у ^ 1728. Функция х^ + Лх х"-^Ах является нечетной. соответствии с xeF Р Ed 4 (mod р) яв- квадратичным законом взаимности число ляется квадратичным невычетом по модулю р. Следовательно, если х +Ах — вычет, то ( 3 квадратичный + А( квадратичный невычет. общем случае, если оба коэффициента Л и В отличны от нуля, то сумма символов Лежандра равна некоторой сумме биномиальных коэффи- Сумму символов Лежандра в (15.1.1) можно вы- Циентов, вычисление которых по модулю со числять 5 (р суммируя по X от (р 1)/2 до пряжено со значительными сложностями. 1)/2; она равна 0. Рассмотрим другой способ подсчета числа то Случай j 3 Отображение х^х' является би- чек для кривых с неполным уравнением екциеи поля Fp, так как порядок мультипликатив НОИ группы ПОЛЯ не делится на j, следовательно. отобралсение х X 3 + В тоже биекция (так как сдвиг нг В — биекция). Среди образов этого отображения есть один нуль и поровну квадратичных вычетов и невычетов. Следовательно, сумма символов Лежандра в (15.1.1) равна 0. 2 3 15.3.1. Кривая V ==х + В Обозначим число решений уравнения у(х, j) над полем ¥р через iV(/(x, у) ^ ^ = х^ + £ 0). Число точек на кривой J = образом [1]: можно определить следующим Следствие 15.3.2. Задача логарифмирования на эллиптической кривой у' = х' + В (mod/?), где (mod 6), и на эллиптической кривой X + Лх (mod/?), где/7 = 3 (mod 4), сводится с помощью спаривания Вейля к задаче дискретного логарифмирования в квадратичном расширении простого поля. N Щу 2 х^£) + 1=И- yiV(j 2 u)N{x 5 u+v=B У(1 + р(г/))(1 + х(-^) + Х 2 V)) u+v=B /7 + 1 + 2]р(г/)хМ+ yp(2/)x4v). u+v=B u+v=B Таким образом, кривые из следствия 15.3.2 не годятся для целей криптографии. При /7 > 3 возможны случаи р (mod 6) или случаи /7 (mod 6). поэтому остается рассмотреть (mod 6) для кривой у х' +В При /7 > 2 возможны случаи р (mod 4) или р где мультипликативный характер второго порядка (то есть символ Лежандра), %— мультипликативный характер третьего порядка (по аналогии с символом Лежандра yjiy) если V кубический вычет по модулю р\ множество 2 значении этого характера: {1, со, со }, где со комплексный корень уравнения (0^ + 03 + (mod 4), поэтому остается рассмотреть случай следовательно, x(v) и x^(v) комплексно сопряже (mod 4) для кривой у Вычислим для кривой с/ Лежандра по модулю/7. X + Ах сумму символов ны). Здесь учтено то, что ? так как является кубическим вычетом по модулю/7. Замена переменных и <г- Ви, v <^ Bv дает ^ X 3 + £ xeF Р У (х' + В) 2 (mod р) N p+\+PX(B)J(p,x)+py(B)J(p,x). (15.3 xeF Р X Чр~1) 2 + Вх 3</^-3) 2 + + xeF Р jceF 1^ Р 1 2 2 (mod р) общем случае характер циклической группы G р F порядка г представляет собой гомоморфизм фуппы р в группу комплексных корней степени г из единицы
302 Действительно ? Ур(г/)5СМ= У p(Bu')x(Bv') U+v=B u'W=] Р(В)Х(В) yp(u')x(v') PliB)Jip ? u'+v'=\ Для дальнейшего нам понадобится следую щая лемма. Лемма 15.3.3. Пусть/?— нечетное простое число характер порядка 2 группы Fp , произвольный нетривиальный (то есть не всюду равный 1) характер группы F» . Тогда Др 5 ^(4У{Е, ^). Доказательство [1]. Имеем: J(p 5 У piuMv) = у (1+p(um(v) w+v=l l/+V=] плексное число, модуль которого равен ^р Таким образом, доказана следующая теорема. я. Теорема 15.3.4. Если р точек эллиптической кривой 1 Tmod 6), то число X +В над по лем ¥р равно N /7 + 1 + 4В я + (4В я 6 я V я 6 Для того чтобы выбрать кривую у^ = )(? + В с большим простым числом точек, нулшо разло- йсить число р на множители или сразу выбрать пару чисел <7, b таких, что ab + b 2 про стое число. Поскольку со 1 + ? то суще ствует представление Равенство справедливо, так как сумма харак теров Ф) ПО всем V равна нулю. Тогда Тт 2 2/)^(v) . Это сумма характеров u+v=] с коэффициентами О или 2. Поскольку сумма характеров с коэффициентами О равна нулю, то остается просуммировать характеры с коэффициентами 2. Сумма берется по таким v, для которых V является квадратом в поле 2 ^(^^) 2 Р- Но ^(х) , Поэтому J(p 5 Ут 2 1ад 2 l-/eF Р /eF Я ^(4)1 /eF Р ^(4)Л^ ? Теперь можно переписать (15.3.1) в виде N /7 +1 + py(4B)J(y, у) + рх(45) J(y, y) , Пусть характер порядка тогда 3 ? 2 . Простое число р раскладывается на мно жители в кольце Z[(o]: а 2 аЬ + Ъ 2 ПП (а + fe(o)(<7+bci)) с 2 + 3d 2 (c^d Тогда с а bll ? но а (mod ? bjl (здесь не обязатель (mod 3), так как разложе ние на множители в Z[(o] выполняется с точностью до обратимого элемента, а таких элементов всего шесть). Кроме того, кольцо Ж[л1-3] не об ладает однозначным разложением на множители (например. 2-2 (1 + ? все сомножители простые), тогда как кольцо Z[(o] этим свойством обладает. Однако любое простое чис (mod 6) может быть разложено на множи лор тели в кольце Z[ единственным образом. Поскольку символ вычета степени 6 может принимать шесть различных значении: ±1 5 ±(0 ? то число точек на кривой тоже может принимать шесть различных значении в зави симости от разложения числа/?. Имеем оконча тельно а + Л c + 3d N /7 + 1 + 2а /7 + 1± С 3d а 26 2с 2 {а+Ьщ{а+Ь^ ), гдеа^2(mod 3) ? О (mod 3), качестве характера На) порядка 6 можно взять символ а вычета степени Тогда Ч^Уб РХ(^) Сумма Якоби ком Алгоритм 15,3.1. Генерация эллиптической кривой с J Вход. Длина / характеристики поля; параметр безопасности т (максимальная степень расшире- спаривания Вейля становится неэффективным), где т выбирается в соответствии с табл. 11.5. ния, при которой использование Выхо Эллиптическая кривая Е(¥ pj^ обра зующая точка Q простого порядка г.
303 Метод. Найти простое число (mod длины Таким образом, алгоритм 15,3.1 имеет сложность OiOogpf бит С единичным старшим двоичным разря дом. Пример 15.3,1 Генерация эллиптической Разложить число р на простые множители в кривой cj кол ыде алгоритмом 7.10.1: Пусть 16 5 т Выбираем 64033 простое число Раскладываем р на множители с 2 + Ъ(Л 2 с 7 + ъа 7 5 где с 239 5 48 Проверяем вари анты для числа точек, получаем: N + Проверить, что хотя бы для одного из чисел N р + + Г, где Те±{с + 3d, с выполняется одно из условии: N 3d, г, N 2с} 1г с +За = 3-21313. Коэффициент В должен быть квадратичным вычетом и кубическим невыче ? ? N 3r,N 6г, где г простое число; запом том. Подбираем координаты хо, jo так, чтобы вы полнялось равенство N • (хо, уо) Хп 5 нить такие р, N и г. Если ни для одного из шести возможных N указанное условие не выполняется, то вернуться на шаг Проверить, что р^г и Jo 10. в 101. Находим образующую Q группы порядка г = 21313, умножая точку (xo,jo) на (27774,44241). ^ (mod г) для X Ч ^ 2 3 :; = ^ J* ^- У, I 1, 2,..., т. Если условия не выполняются ? 15.3.2. Кривая у =х + Ах то вернуться на шаг Сгенерировать произвольную точку (хо, Уо) Будем рассуждать так же, как и в предыдущем такую, что Хо =?^ О, jo ^ О, вычислить коэффи ел у ч ае 7 Для этого преобразуем кри ву ю циент у1 3 Хп (mod р). Проверить ? что и ') X +Ах в кривую Е' степени 4 с уравнением А л J Г-, -, г^ ^^ 1 V АА [1]. Бирациональный изоморфизм квадратичный и — квадра- г,В выполняется условие: кубический невычет для N тичный и кубический вычет для N квадратичный невычет и кубический вычет 2 вг. ф(г/, v) 2/ + V V(U + V 2 дляЛ^ 2r, квадратичный вычет и iw6h- отображает Е в Е, при этом точка ? не явля ческий невьмет для N~3r; в противном слу- ется образом какой-либо точки кривой Е (А ^ О, чае вернуться к началу шага 5. поэтому 4А и V v\u + v^) ^ о и Проверить, что N • (хо, jo) со (знаменатель г/ + V 7^ 0). Бирациональный изоморфизм углового коэффициента в формуле сложения ; в противном случае вер- обращается в нуться на шаг 5. V|/(X, у) 2х 2 X 2 э X Положить N г о .J^o)- отображает Е (за исключением точки (О, 0)) в Е. Результат: (/?, В, О, г). Тогда фиг 1л /Л(0,0) и М/ф характер порядка 4 поля Fp, Тогда lii». Обозначим через р. По- Вместо разложения на множители простого числа/7 можно подбирать пару целых чисел с, d лучаем ^t л щ^ ^=л »-^V—^ таких, что р с 2 + 3d 2 N(u ' v' 4 А) простое число и число 1ж и 2 r)N(v А r+s=~4A точек на кривой имеет большой простой делитель. Вместо вычисления коэффициента В по координатам точки можно сначала выбрать коэффициент В, затем подобрать х-координату так. У(1 + р(г))(1 + Xis) + X\s) + X\s)) r+s=~AA p+ Xp('-)A.^(5)+ Xp('-)M5)+ Ypir)'k\s) r+s=~AA r+s=-AA r+x=-AA чтобы X 3 + B выполшшось равенство и 1 + pX{AA)J(p, X) + p?l(4 Л) J(p 5 г * н _ ^ 1 + X{AA)J(p, X) + ЩА)Лр, X). найти з^координату извлечением квадратного корня. Здесь учтено ? что р'к(а) Ца). По лемме Сложность шагов и при использовании теста Миллера-Рабина или Соловэя-Штрассена равна 15.3.3 имеем равна 0((logpy), сложность шага ^/^1 . _ чЗч тт. 1 ^ ^ ДР, ^) Ц4Ау(п, Я) = Х(АУ(Х, X). ЩУСК, Я) Тогда OaiogpY). Шаги Сложность шагов повторяются 0(logp) раз. не превьшхает 0((logp) Поскольку р = 1 (mod 4), то по квадратичному закону взаимности является квадратичным вы
304 четом. Следовательно, существует <t<p 5 такое, что /2+ а + Nt sp. Если предпо дожить что простой элемент в Z[/] где / э 1, то ^ + / или / / должно делиться на/7, но этого нет. Следовательно ? раскладывается на множители в Z[/]. Тогда делители числа/? долж ны быть сопряженными: %% (а + Ь i)(a bi) а 2 + 6 2 Отождествим поле ¥„ с кольцом Ж[1]/пЖ[1]. Поскольку я максимальный простои элемент, то пжт идеал, и кольцо классов вычетов по нему является полем. Если мы перейдем к норме идеала, то увидим, что это поле содержит р элементов, то есть изоморфно полю ¥р. Выберем в качестве Х символ биквадратич- ного вычета: Ца) Тогда из биквадратичного закона взаимности следует, что J(?l, А.)==-я. Получаем следующую теорему. Теорема 15.3.5. Если /7=1 (mod 4), то число точек эллиптической кривой у^ = х + Ах над полем ¥р равно N /7 + 1 (А \ % % Подставляя один из четырех возможных сим волов вычета степени 4 (1, -1, /, -г), получаем N Р + 1 + 2а 26 - S-1* -> * -- -г-> i^^v-. Алгоритм 153.2. Генерация эллиптической кривой с/= 1728. , Длина / характеристики поля; параметр безопасности т (максимальная степень расширения, при которой использование спаривания Вейля становится неэффективным), где т выби рается в соответствии с табл. 11,5. Выход. Эллиптическая кривая ^(Fp); обра зующая точка Q простого порядка г Метод. . Найти простое число 2. (mod 4) длины бит с единичным старшим двоичным разрядом. Разложить число р на простые мнолсители в кольце Z[ алгоритмом 7.10.1: (a + feV \)(а feV а 2 + 6 2 Проверить, что хотя бы для одного из чисел , где Те. ±{2(7,26}, выполняет- N + + ся одно из условий N 2г или N Аг 5 где г — простое число; запомнить такие р, N и г. Если ни для одного из четырех возможных N указанное условие не выполняется, то вер нуться на шаг Проверить, что р^г и / ^ (mod г) для I 1 2 т. Если условия не выполняются ? то вернуться на шаг Сгенерировать произвольную точку (^0, Уо) такую, что хо =?^ О, jo ^ О, вычислить коэффи циент (у 2 О 3 Хо)Х 1 о (mod р). Проверить ? что выполняется условие: квадратич ныи невычет для N 1г ? квадратичный вычет для N ~Аг'^ в противном случае вер нуться к началу шага 5. Проверить ? что N ■ (хо, Уо) со (знаменатель углового коэффициента в формуле сложения обраш;ается в в противном случае вер нуться на шаг 5. Положить N '{^о^Уо)- г Результат: (/?, Л, ? г). Вместо разложения на множители простого числа р можно подбирать пару целых чисел <7, b таких что ^ + А простое число и число точек на кривой имеет большой простой дели тель. Вместо вычисления коэффициента А по ко ординатам точки можно сначала выбрать коэф фициент затем подобрать х-координату так чтобы выполнялось равенство х^ -\-Ах ? и найти j-координату извлечением квадратного корня. 4 Сложность алгоритма 15.3,2 равна 0((log/7) ). Пример 15.3.2. Генерация эллиптической кривой с J Пусть 1728, 16. т Выбираем 65129 простое число. Раскладываем р на множители: (^ + Ь\ а 205, 152, Проверяем варианты для числа точек, получаем: N + 26 2 ■ 32413, Коэффициент —А должен быть квадратичным невычетом. Подбираем координаты хо. так. Jo N ■ (хо, Vo) чтобы выполнялось со Хп Jo 9 равенство 3. Находим об- разуюшую Q группы порядка г =^ 32413, умножая точку(хо,уо)на2: (48847, 56987).
305 15.4. Эллиптические кривые с комплексным умножением согласно ГОСТ Р 34.10-2001 могут использо ваться любые значения дискриминантов, кроме и 3, то есть не допускается у Ои/ 1728. п. 15.3 число точек эллиптической кривой При к разложение характеристики поля определялось с помощью разложения простого на мнолсители в мнимых квадратичных порядках числа на множители в кольце Щу1 D]. Этот же о связано с комплексным умножением на эл подход используется и для нахождения числа точек некоторых других эллиптических кривых. липтическои кривой Значение 2 инварианта и а также для генерации эллиптической кривой. Предположим, что простое число может вид уравнения кривой у ~дх) для разных значений дискриминанта приведены в табл. 15.1. Если вид функции/не указан, то/(х) = х^ + 3kt^x + Ikt'. бьггь разложено на простые мнолотгели в порядке Ь мнимого квадратичного поля К Кольца Тогда при использовании дискриминантов Д ] + п^П и 1+ л^П сов даюгцих число классов Пк поля л, равное единице, число точек эллиптической кривой Е(¥р) вычисляется легко. Такое число классов обеспечивают дискриминанты D е {1, 2, 3, 4, 7, 11, 12, 19, 27, 28, 43, 67, 163}, при этому-инвариант является целым рациональным числом (если падают. Коэффициент соотношениями: и инвариант связаны 12 3 э 12^ А^ + 1 к > •> то Других кривых Е(С) с комплексным умноже -инвариант является целым алгебраическим), нием, как показал Ж. Серр, не существует [13] Все указанные значения дискриминантов могут быть использованы согласно стандарту ECDSS; Таблица 15.1 Параметры эллиптических кривых над простыми полями с вычислимым числом точек _>
306 Продолэюение таолщы 15.1 Таким образом, комплексным умножением ко 15,4Л, Генерация эллиптических кривых с комплексным умножением над полем С обладают не только кривые, торых характеристика поля раскладывается на множители в максимальном порядке Z[G] всех мнимых квадратичных целых данного поля, но нерировать эллиптические кривые с хорошими Комплексное умножение позволяет легко ге и кривые, у которых характеристика поля рас- криптографическими свойствами. Лля этого кладывается на множители в мнимом квадра тичном порядке О^ можно, используя разложение на множители в Ж[тв]. Немаксимальные О^, подобрать число/? так, чтобы число точек на квадратичные порядки являются евклидовыми кривой удовлетворяло необходимым требовани- кольцами, если зона точки (О, 0) расположена ям (см. п. 11.7). При D^3 (mod 4) разложение внутри единичного круга (см. подробнее рабо- имеет вид* ту [5])." 3 Между указанными эллиптическими кривыми существуют изогении Так, изогенными для изогении степени 2 являют (а + Ь bJ D) a^+Db^ (15.4 малых степеней над С. Если такое разложение существует, то 1)яв ся кривые с 15 3 и 3 И7 3 2 • ЗО-': 12 3 и 255 ; кривая cj 20 3 66^; ляется квадратичным вычетом по модулю р. изогенна сама Действительно, если имеет место разложение себе. Кривая cj изогенна сама себе для изо гении степени 3. Другие кривые из табл. 15 имеют изогении степени 3 над С.^ не Таким образом, для кривых, изогенных кри 1728, возможно логарифмирова (15.4.1), то числа а, Ь взаимно просты ср. Тогда, перейдя от (15.4.1) к сравнению по модулю/? и умнойшв обе части сравнения на получим вым с / и/ D db 2 (mod о), то есть D квадратичный ние с помощью орбит автоморфизмов. Для этого нулшо от исходной кривой с помощью изогении вычет. Обратное утверждение справедливо для идеалов. Если D квадратичный вычет по мо степени z перейти к кривой с j или / 1728, дулю /7, ТО существуют числа s^t ^ £. такие, что вычислить на ней логарифм для орбит автоморфизмов точек (см. п. 11.2) и уточнить значение логарифма внутри орбиты. Сложность логарифмирования на указанных кривых равна сложности логарифмирования на соответствуюцщх изогенных кривых с 2 S -\-D = tp. Имеем в Оо. {s + tp. Если предположить. что (р) простои идеал и 1728. кольца О/), то один из сомножителей в левой части должен делиться на (р). Поскольку этого нет, то идеал (р) раскладывается на простые множители в On. случае использования формулы (15.4 число точек 3 + ±2а всегда четно. Поскольку Зона точки целочисленной плоской решетки определяется как множество точек комплексной плоскости, расположенных ближе к данной точке решетки, чем к остальным ее точкам. 4 при D (mod мнимый квадратичный поря док имеет вид 1 + л/ D Отсутствие изогении над С между данной кри (или 1728) не означает их отсут ? то для получения БОИ и кривой с J ствие над конкретным конечным полем . нечетного числа точек можно воспользоваться другим разложением числа о:
-^ - -- - Cr a+(2b + ayj D a (2b + a) Db 2 + Dab + D+\ (15.4.2) a\ где число a—нечетное. Нетрудно заметить, что в этом случае число Ар может быть представлено в виде: Ар-сг + D(2b + а) . Поэтому для нахождения числа точек эллиптической кривой нvжнo разложить на мнолсители в мнимом квадратичном порядке zrV D] число/7 или 4/7 (см. п. 7.8). Тогда число точек будет равно N + ±а. Если N простое число, то существует эллип тическая кривая Е'(¥м) с тем же/-инвариантом и числом точек р. Такой «дуализм» является мощным тестом на простоту обоих чисел р hN. Если а ±1, то получается N [15] эллиптическая кривая 5 задача логарифмирования для которой решается легко Алгоритм 15.4.1, Генерация эллиптической кривой, обладающей комплексным умножением над С [6]. Вход. Длина / характеристики поля; параметр безопасности т (максимальная степень расширения ? при которой использование спаривания Вейля становится неэффективным), где т выби рается в соответствии с табл. 11.5. Выход. Эллиптическая кривая Е(¥ р обра зующая точка Q простого порядка г Метод. Выбрать D е {], 2, 3, 4, 7, 11, 12, ]% 27, 28, 43, 67,163} и мнимый квадратичный порядок D В соответствии с табл. 15.1 (для 1 ОСТ 34.10-2001 значения!) недопустимы). помощью квадратичного закона взаимности найти общий вид простого числа р, для которого -Z) является квадратичным вычетом. Найти простое нечетное число р длины / бит. Используя алгоритм 7.8.1, разложить число/? или 4/7 на простые множители в кольце ^о так, чтобы выполнялось равенство (15.4.1) или (15.4.2). Методом пробного деления проверить, хотя бы для одного из чисел N + что ±2а в случае формулы (15.4.1) или хотя бы для од ного из чисел N р^ ±ав случае формулы (15.4.2) число точек имеет вид: N = cr для — простое число; запомнить малого с, где г такие р, N,c и г. Если это условие не выпол няется, то вернуться на шаг 2. Проверить, что р^г и / ^ (mod г) для I 1, 2,..., /77. Если условия не выполняются. то вернуться на шаг Вычислить коэффициент к в поле ¥р и коэф фициенты уравнения кривой согласно табл 15.1. Положить t выбрать элемент хп g IF * р 3 Хп + 3/сХп + 2к такой, что о о вычислить координату Jo извлечением квадратного кор ня из Xq + Зкхг. + 2к. Проверить, что сг • (хо, у о) со Если это не так, то перейти к скрученной кривой, положив t <^и, где и произвольный квадратичный невычет; вы брать элемент хп е * р такой. что ^ 3 . ^1 л. . ^7 .зЛ Xq -{-Зк^Хг, -\-2kt V J вычислить координату Jo извлечением квадратного кор 3 ня из Хп + 3kt о An Н~ Z^KZ Положить Q с 2 (хо, уо), A<-3kt ,В 2к? Результат: (р,А,В, Q, г). Альтернативный алгоритм имеет следуюпд^й вид. Алгоритм 15,4,2. Генерация эллиптической кривой, обладающей комплексным умножением над С [6]. Вход. Длина / характеристики поля; параметр безопасности т (максимальная степень расширения. при которой использование спаривания Вейля становится неэффективным), где т выби рается в соответствии с табл. 11.5. Выход. Эллиптическая кривая зующая точка Q простого порядка г Метод. Е{¥Л- обра Выбрать D е {1, 2, 3, 4, 7, 11, 12, 19, 27, 28, 43, 67, 163} и мнимый квадратичный порядок (для ГОСТ D в соответствии с табл. 15.1 Р 34.10-2001 значения Z) = 1, 3 недопустимы) 2. Подобрать пару чисел а, b так, чтобы выпол нялись следующие требования. 2.1. Число определенное по 2.2. формулам (15.4.1) или (15.4.2), — простое и имеет требуемую длину. ±2а в случае формулы ±а в случае фор- Число N + + (15.4.1) или N мулы (15.4.2) имеет вид N=cr для ма лого с, где г— простое число требуе мои длины. 2.3. 2.4. I ^ (mod г) для i 1,2, .., т р^г. р и ко Вычислить коэффициент к в поле эффициенты уравнения кривой согласно табл. 15.1. i -
308 Положить t< 1; выбрать элемент xq е¥ * р г такой, что 3 Хп Н~ JjKXf\ Н" ^К так, чтобы/7 было простым числом и число точек N имело большой простой делитель г: а^З, b о о вычислить у- Получаем: 467, 408 э N Ъг 157 V координату уо извлечением квадратного корня 3 из Хп + З/сХл + 2к. Проверить, что сг • (хо^ jo) о о Если это не так, то перейти к скрученной произвольный квадратичный невычет; выбрать элемент кривой, положив t -^и, где и г Хп G * Р такой, что 3 2 Хп + ЪЫ X о \2Ш 3 э V вычислить у-координату 3 Jo 2 извлечением квадратного корня из Xq + ЪЫ Xq + 2Ш 3 Положить Q Результат: {р с 2 ? ? ? (хо, Vo), А<^ЪШ ,В iki? Сложность алгоритмов I5.4.I5 15.4.2 при ум ножении «в столбик» равна (9((log/7) ). Действи тельно, сложность проверки числа р на простоту тестом Миллера-Рабина равна 0((log/7) ). Вероятность того, что число р будет простым, по теореме Чебышева примерно равна 1/1п р . Вероятность того, что число N будет иметь большой простой делитель, примерно равна 1/1п р . Пример 15.4.1. Генерация эллиптической кривой, обладаюш.ей комплексным умножением над С. Рассмотрим квадратичный порядок и разложение (15.4.1). Тогда D d + 28fel г р-\-\±2а V , где V или V Ясно, что а (mod 2). Подбираем пару коэф фициентов а, b так, чтобы р бьшо простым чис лом и число точек Л^ имело большой простой де литель г: а 1,6 4. Получаем: р 449, г 113, 2. Уравнение эллиптической 2 X 7 X X + бГх + 4( . Проверка показывает, что для получения нулсного числа точек коэффициент должен бьггь квадратичным невычетом, например, t = 3. Для степеней расширения, меньших 16, число г не делит порядок мультипликативной группы расширенного поля. 2. Рассмотрим кольцо D 1 + и разложение (15.4.2). Тогда 3<з^+11ай+11й 2 э Г р + ± а. Подбираем пару коэффициентов <7, b Уравнение эллиптической кривой 2 471. хЧ + 3/сх + 2к. Минимальная степень расширения. при которой порядок мультипликативной фуппы расширенного поля делится на г^ равна 13. 3. Рассмотрим кольцо D 1 + И J разложение (15.4.2). Тогда р = 7^ + 21аЬ + 276^, ± а. Подбираем пару коэффициентов а. + так, чтобы/7 было простым числом и число то чек Л^ имело большой простой делитель г: а 3. Получаем: 823, 168, N г 829 Проверка при реити к скрученной показывает, что следует пе- с уравнением кривой 3 X +3/СХ 2к. 4. Рассмотрим кольцо D 1 + . Ге нерируем эллиптическую кривую с числом точек, равным/7. Выбираем разложение (15.4.2) и а было Подбираем коэффициент b так, чтобы г- . 1/^7 . 1/^72 Г-, простым числом. + 19й + ]9Г. При получаем 233 простое число. Тогда 118 и эллиптическая кривая имеет 233 точки. 3 х' + 3/сх + 2к 15.4.2. Влияние комплексного умножения на скорость вычислении Скорость криптографических алгоритмов оп ределяется скоростью умножения точки на число а. Вычисления можно ускорить, если использовать комплексное умножение.^ 1728 обла- Соответст- Эллиптические кривые с/ = О и у дают комплексным умножением. кривой, вуюгцие грз^ппы автоморфизмов имеют порядок (см. п. 6.14.5). Рассмотрим егце один вари- и ант комплексного умножения. Если D то d + 2fel и является квадратичным вычетом по модулю р. Для удобства комплексного умножения запишем уравнение кривой в сле- дуюгцем виде [12]: 2 х(х 2 4tx + 2/^), (15.4.3) где соответствующий произвольный квадра тичныи вычет (невычет). При этом формула 5 6 Программа становится конкурентоспособной. Кроме того, можно использовать изоморфизмы если она хотя бы на 10 % быстрее аналогов. Однако эллиптических кривых, чтобы упростить формулы скорость программы определяется не только иску ест арифметики. вом программиста, но и квалификацией математика.
309 сложения двух различных точек сохраняется, а При умножении точки на число вместо удаоение точки можно выполнять с помощью обычного двоичного представления показателя комплексного умножения. Число точек кривой равно N + ± 2а. Если найдена кривая с одним из двух возможных вариантов числа точек, то, умножая коэффициент t на произвольный квадратичный невычет, получаем скрученную кривую (mod 2) Нетрудно заметить. что всегда N Разложим на множители правую часть урав нения (15.4.3). Получим 2 х(х t(2 + л/2 ))(х t(2 л/2)). Отсюда следует, что N (mod 4), если на кривой существуют три аффинные точки порядка 2 (с нулевой j-координатой), что равносильно существованию л/2 (mod/?) . Случай N^2 (mod 4) получается, если 2 явля ется квадратичным невычетом. то есть ±3 (mod 8); это возможно лишь при нечетных а, Ь. Мойшо сразу выбирать а +1 (mod 6), (mod 6), ^ - ±1, при этом N не будет делиться на 3. Кривые вида (15.4.3) над алгебраически замк нутым полем обладают нетривиальным эндо морфизмом, который мойшо вывести из изоге- нии степени 2. Этот эндоморфизм соответствует (см. |фатному корню модулярного уравнения п. 6.15.4). Комплексное умножение точки ? 1фивой (15.4.3) на имеет вид / ф: (л:, у) 2 у(х 2 2/2)" V 2х 2 2л/ 2х 2 ) (15.4.4) Ф(х, у) 2 (х, у). (15.4.5) Здесь каждому из двух значений корня из по модулю /7, участвующих в (15.4.4), взаимно однозначно соответствует свое значение корня из НОИ по модулю г в (15.4.5). В случае проектив- . -2- -3 j^^iX'Z^ 2fXl^ формулы кривой Y^Z Г комплексного умножения примут вид 9№,K,ZJ 2(Х,У„20 = (Х2,72,^2), где можно использовать представление в системе счисления с основанием 2 , заменив порядок группы г его простым делителем в кольце Z[V 2]. Это позволит заменить удвоение точек комплексным умножением и тем самым уско рить вычисления на эллиптической кривой [7]. Представить порядок группы в виде полинома степени не более \о^гг от V- 2 с коэффициентами из поля р2 можно так. Сначала найти разложение порядка г группы точек алгоритмом 7.8.1 и вы полнить приведение показателя а по модулю ре шетки алгоритмом 7.9.1: о + dJ 2(modr), где 1(^01 < л/'', 1*^11 < л//" . Затем выписывать поочередно двоичные разряды чисел ^о, <^ь начиная с младших, и заменять соответствуюгцим образом знаки двоичных коэффициентов с учетом того. что 2 Можно использовать не только положитель ные, но и отрицательные степени числа Положим (г/, v) = 9(x, j). Заменив в (15.4.4) 2. 2 на X 3 4/х'' + 2/^х, получим ф(х) X + 2^ 2 , ОТ X куда X u^2t± 2 и 4ш + 2t 2 u + 2t± V Ju (Отсюда следует, что и может быть только квадратичным вычетом.) Извлечение корня в конечном поле выполняется значительно быстрее, чем умножение точки на число. При этом возникает неопределенность, связанная с неоднозначностью извлечения корня, если (г/, v) ^ (О, 0) (эта точка остается неподвижной под действием комплексного умножения). Если число точек на кривой равно 2г, то одна из найденных точек лежит в циклической группе порядка г, а другая — нет. Каждая из этих точек получается сложением другой точки с точкой (О, 0). Таким образом, эти точки совпадают в факторгруппе Е(¥рУ((0, 0)> порядка г. X 2 2 2 1 z„ 2) 1 Y^Xi 2 2 ^2 ~ 2^1 -^1 • 4t'zh Это позволяет вместо удвоения точки дважды использовать комплексное умножение на 2. 7 7 2 Здесь нужно учесть, что ф (Р) 2Р. ■Лш Пример 15.4.2. Представление показателя в системе счисления с основанием 2. 1. Пусть эллиптическая кривая Е(¥]вз) задана уравнением X 3 4tx^ + 2^^х. Характеристика поля 163 раскладывается в кольце Z[л/ 21: с^^2Ь 2 1^ + 2-91 При / кривая имеет N + + 2а 166 точек, простои делитель г 83. Пусть показатель J= 61. Представим его в
310 системе счисления с основанием вычисляем значение . Для этого 9 (mod 83) и рас- Пример 15.4.3. Умножение точки на число с помощью комплексного умножения. Умножим точку эллиптической кривой из кладываем на множители число г в кольце z[V 21: 83 2)(9 + V 7Г7Г, причем 71 (mod 83). Представляем число d как вычет примера 15.3.1 на целое число d= 12345 с помо- гцью комплексного умножения. Параметры кри- 101, г = 21313, N= Ъг. Найдем о + ^.е по модулю 71: ходим представление числа -4 + 26 (mod 7г). На в новой системе вой:/7 = 64033, представление И-л/ о + р(^1 (mod г\ где счисления с учетом равенства 2 . При э а коэффициенты о и 1 имеют этом ненулевые двоичные разряды числа о оп ределяют коэффициенты при четных степенях б. минимальную абсолютную величину. Раскладываем число г в кольце Z[p] ко а ненулевые двоичные разряды числа эффициенты при нечетных степенях 6. Получаем г 7171 (159 + ]28р)(159 + 128р 2 d.Q 3 1 Q\d, 4 О е . Тогда Вычисляем р = 15817, тогда тг = О (mod г). о + d^Q Находим вычет числа d по модулю п над по лем п минимизируя норму числа о + а]рал о 2 • е" + О • е + О • е" + • е 3 1 -е^ горитмом 7.9.1. Получаем d о + p<ii 11 Юр. п фоверки подставляем получаем Минимизация двоичных цепочек показателей о и ^1 ничего не дает. Для умножения точки Р на число d достаточ- 2. Рассмотрим ту же кривую ^Fi^s). На 1фивой но вычислить 10/* = 2Р + 2(2(2Р)), 1 \Р = 10/* + Р, Для 61 (mod 83). лежит точка ( 1). Тогда 2( (81,86). Выполняя обратное преобразование, получаем Юр/*, \\Р~ Юр/*. Умножение на ется с помощью комплексного умножения: выполня (81,86) 1,-1), 2,2)}. При этом 1)+ Р • (л:, у) 1 + л/ X, + (О, 0) (81, 86). 2,2) И 2(-], 2 (-2,2) умножением на Всего требуется три операции удвоения точек, три операции сложения точек и одна операция комплексного умножения. Для сравнения: при обычном умножении точки на число выполняет- представляется возмож- ся 13 удвоений и пять сложений. Комплексное умножение в данном случае позволяет ускорить Для эллиптической кривой с комплексным ной атака, связанная с разбиением множества точек на классы эквивалентности, совпадаюш.ие вычисления в три раза со смежными классами группы г ПО подгруп не, образованной элементом 2, и определе нием принадлежности данной точки некоторому классу эквивалентности. Для исключения атаки имеет смысл выбирать эллиптическую кривую так, чтобы элемент был образуюгцей всей Пример 15.4.4. Умножение точки на число в арифметике Монтгомери. Координаты точки можно изначально представлять в виде образов преобразования Монтгомери (см. п. 7.1) и умножать точку на число, не группы группы. * г или достаточно большой ее под выполняя прямое Монтгомери. и обратное преобразование Пусть £(FJ: 2 3 X +92 (mod 211)— эллиптическая кривая, заданная в обычном (не по Аналогично можно использовать эллиптиче- Монтгомери) виде. (1, 84) Е{¥, ские кривые с комплексным умножением на 1±л/ нужно найти точку 100/*. Положим г = 241, 256, тогда й (mod р) 136. 5 задаваемым изогениеи степени Находим 211-вычеты координат точки (см. п. 7.1.4), домножив ее проективные координаты При этом 66-2. Для таких эллиптических кри- на R'. Xm^XR (mod о) м YR (mod/?). м вых / 15 3 (см. табл. 15.1), и можно получить N 4г. Кроме того, можно использовать ком плексное умножение на или i±V 11 ZR (mod/?). Домножение всех трех координат на одно и то же число точку не меняет, поэтому можно считать Р м (Хм, У] м. ■м (1, 84, 1). Находим , оп 1 + (0 ределяемое изогениеи степени 3. 14 (mod 211), -^ГКп ,— *- J"
311 сой 208 (mod 211) образ преобразования Комплексное умножение позволяет свести Монтгомери 1 + л/ ДЛЯ комплексного умножения; вычисление dP к вычислению суммы doP^Qd^P^ 15 (mod 241). Минимизируем по где \dn\ <лlrAd^<^|r , при этом комплексное ум п 1 казатель: d 100 7р ножение на число В выполняется быстро. Для расчета точек doP и d^P используется одна и та 2 Находим точку Ргм с использованием проек- же база точек 2Р, 2^Р, .... Доля ненулевых цифр тивной арифметики в форме Монтгомери (мо дульное умножение чисел выполняется по фор мулам умножения Монтгомери, модульное ело жение выполняется обычным образом): X. f 2М 2Y^Z^R\9X А м гЗ 2 гЗ SX^¥CZ^R-)R f 91, 2М 4Y,lZ,.R'\9XlR'^ 2 г2 М М м 2Y^Z^R^)R t 6 21XIR г5 107, в троичном представлении чисел о и 1 состав 1 ляет в среднем /з- Если традиционное умноже ние точки на число методом знакового двоично го окна (см. п. 7.10) требует в среднем 4\og^r сложений (удвоений) точек, то в случае комплексного умножения при использовании обшей базы удвоенных точек требуется 3 3 2М Щ ^L ^ г5 177. Чтобы умножить число на константу по формулам Монтгомери, ее следует предварительно перевести в 211 -вычет. Например, константа 27 в формуле (mod 211). Точка для заменяется на 27 R 160 2м лежит на проективной кривой, то есть удовлетворяет равенству X 3 3 + 92Zf,(mod/7). Аналогично вычисляем 4VW (199, 17L44), 8М (130,92,94). По формулам сложения точек находим Р + Р 1М 8М Рк М (16, 16, 129), 5М 4М + М (18,107,90). Выполняем комплексное умножение для точ ки PiM- Для этого умножаем методом Монтгоме ри Х-координату точки (13,16,129). Вычисляем на число соЛ: 9Р 1М 100М (X\(Uh ^lOOAf? 2\тм 5М + рЛм (47,31,185). Для нахождения соответствуюгцей аффинной точки умножаем люол/ на 1 методом Монтгомери (при этом получается тт /rj 1^/4 — 1 г _ 1 \ 100М f 51), вычисляем и (Z ЮОМ /?') (iTiod/?)^ 120 расширенным алго ритмом Евклида и умножаем методом Монтго мери координаты Х\ юом 5 100А/ на и. Результат: ЮОР (55, 153). log. г + log 2 Г Slog 2 Г сложений (удвоений) точек, то есть скорость умножения точки на число увеличивается примерно на 50 %. 15.5. Эллиптические кривые над расширенными полями специальных характеристик примере 15.2.1 были рассмотрены эллипти ческие кривые Е1¥ъ обладающие хорошими криптографическими свойствами. Однако ариф метика поля характеристики 2, требующая мо дульного умножения и обращения полиномов над р2, неудобна для реализации на серийных процессорах. Кроме того, число кривых с указанными свойствами очень невелико. Значительное увеличение скорости может быть достигнуто за счет использования эллипти ческих кривых над расширенными полями ха ± с, например, указан рактеристик вида ных в табл. 15.2. Знаком «+» помечены простые числа, знаком «±» простое число. числа вида Ър\ где г Таблица 15.2 Простые числа вида 2 т + С J 1 + 1 1 + + + 1 + 1 + 1 + 1 + + 1 1 + 1 + + j + 1 + + 1 + 1 ~" 1 + + 1 '^ 1 1 ± 1 + 1 -- -■ 7ч ч
312 Например, число 31 + имеет малый простои делитель Кубическая кривая 2 3 х" + 2х + 2 имеет единственную проективную точку (Рею) над Рз, тогда из китайской теоремы об остатках следует, что можно работать непосредственно с кольцом Z/(2^^ + 1)Z. Длина характеристики поля (кольца) выбирается равной длине машинного слова. Ее л и К-¥а, где п Ч р, ТО эллиптическая кривая Е{К) = Е/ ¥р всегда содержит в качестве «балласта» кривую Е(^р). Поэтому, если Е{К) — эллиптическая кривая над полем из д элементов и £"(F л ем из эллиптическая кривая над простым по- ' элементов, причем обе эти кривые обеспечивают одинаковый уровень стойкости, то длина числа должна на одно машинное слово превышать длину числа/?. Если характеристика поля вдвое меньше, чем размер машинного слова, то в качестве «исходной» монсно использовать эллиптическую кри репном поле. Число таких полиномов acи^ птотически равно Oipjn [2]. КОМ Эллиптическая кривая Е{К) обладает плексным умножением на собственное зна чение эндоморфизма Фробеннуса, что позво ляет ускорить умножение точки эллиптиче ской кривой Е{К) на число. Наиболее трудоемкой операцией в расширен ном поле при сложении точек эллиптической кривой является модульное умножение полино мов. Вычисление модульного произведения u{f)v{f) {тойfit)) выполняется следующим образом. Так как О < deg(^/), deg(v) < w, то произведение w{f) = u{t)v{t) будет иметь степень не выше 2(п 1)- Пусть W{f) = W2n~ 11 2/г-1 + W2 п- Ifi'l + ... -^W\t-^WQ. вую El¥ 2, коэффициенты которой лежат в квад- где коэффициент Win-x ратичном расширении простого поля. Все приве- симметрии. денные рассун^дения остаются справедливыми и добавлен только для Разделим м^(^) с остатком на f\ тогда 2 В ЭТОМ случае с заменой р на р . Mi) fXw2 и fi-l . . 11-2 -tWr II + ...+М^,)4- Отметим что уравнением 2 3 кривая Е{К) EIK заданная X л- Ах-^В^ может не содержать кривую ДР;,). а Ш{К) может не делиться на + (w п-\ п-\ л- VU п п~-1 + ...+Wo)- (15.5.1) Поскольку п t + a (mod fif)\ выражение частности, #Е(К) может быть простым (15.5.1) можно переписать в виде: хЧ числом. Например, эллиптическая кривая >? + x + 2t над полем р5И/(?^ + 2) имеет 17 точек тогда как число точек произвольной эллиптиче ской кривой над F5 принадлежит множеству {2, , 5, 6, 7, 8, 9, 10}. Кроме того, для получения эллиптической кривой с требуемыми свойствами не обязательно использовать простую степень расширения. Для того чтобы число #Е(К) было 3 простым, полином X +Ах-\- в не должен иметь корней в поле К, то есть должно выполняться равенство ^А' 2\ \ 27 + 2 Увеличение скорости вычислений на эллиптической кривой Е(К) достигается в результате использования трех факторов [3]. Характеристика р имеет специальный вид. что позволяет реализовать быстрое умноже ние в простом поле F„. Неприводимый над F^ полином д/), задающий расширенное поле к=¥мт)). имеет спе а, что позволяет циальный вид: fit) реализовать быструю арифметику в расши МО t(W2 /?-! Г}~\ + W2 fi и-2 + ...+Wn) + + ((W «-1 + C{W2 I и-Т + (W и 2 + aW2 2 /7-2 .. 4- + (Wi C[Wn^\)f + b^O awJi) (w n 1 + У^Ъ1~2 + aW2^-\ n-\ 4- + (m^ n 2 + M^2«-3 + CtW2n~2 «"2 + ... 4- + (W] + w« + awtj+])t + (wo + awr,). (15.5.2) учетом того, что W2n^i получаем иско мый полином степени не выше w - 1. Все опера ции над коэффициентами полиномов выполня ются по модулю/). Выражение (15.5.2) определяет алгоритм де ления с остатком наД/). Алгоритм 15,5,1, Нахождение остатка от де ления на трехчлен t п а. Вход. w{t) W2 и 2п~2 -\-W2 ti 2п~Ъ + .. а. At) в ыход ■ r[t) = M>{t) (mod Д/)). Мето . + Wo е F„M, Для I п п 2,.-, вычислить г I Wi + Wi+«-i + awi^n (modp).
313 Положить Го <- Wo + ^Щ? (modp). Результат: r(t) + Го- Вычислить точки djP сложением соответст вующих точек из базы данных. Нахождение остатка алгоритмом 15.5.1 требу ет п умножении в простом поле на постоянный коэффициент ая2п сложений в простом поле. Комплексное умножение позволяет увеличить ■ Для Вычислить точки dfQP применением соот ветствующей степени отображения Фробе ниуса к точкам, полученным на шаге 3. Сложить точки, полученные на шаге 4. Результат: dP. =^> - ^ ■ - >v- ^ ^ :л^^ ,-'*■ на число скорость умножения точки этого нужно число d записать в виде полинома от Алгоритм требует (log 2 '-)/ S удвоении точек собственного значения G эндоморфизма Фробе- ' (mod г). на шаге (log 2 г)/3 сложений точек на шаге 3, s ниуса: do + dS + djQ -^ + d. сложении точек на шаге всего причем числа должны быть гарантированно (log 2 r)/s + (log2 r)/3 + s операций. Поэтому же малы, например, не превышать г V . Значение лательно выбирать S Jlo 2 Г . Например, если является одним из двух корней характеристического уравнения эндоморфизма Фробениуса для кривой + Щ¥ 2 Т<р+р (mod г). где разрядность процессора равна 16 и степень рас ширения w = 16, то log2r = 240. Оптимум при ис р Чтобы уточнить, какой из двух пользовании «фробениусовой» системы счисления достигается при s~n. корней совпадает с и, достаточно положить и Поскольку представление целого показателя d равным одному из корней и проверить для лю- во «фробениусовой» системе счисления по мо- бой точки равенство G (^^У) р 5 /). Оценим оптимальное значение обеспечи вающее максимальную скорость вычислении поле К выполняется равенство дулю г с ограничениями на длину а, неочевидно. можно изначально пользоваться указанным представлением. В этом случае сложность умно- (I0g2 ГУЗ жения точки на число равна примерно Z я Z Z операции сложения точек, то есть в раза для всех Z. Поэтому, очевидно, s<n. Будем счи тать, что умножение точки на выполняется значительно быстрее, чем сложение или удвое ние точек, поскольку имеет место равенство меньше, чем для эллиптических кривых над простыми полями. Если используется 16-разрядный процессор и порядок группы имеет длину 160 300 бит. 1 п-\ ал ip ТО криптоалгоритмы на эллиптических кривых над расширенными полями 16-разрядной ха- i=Q рактеристики работают в 15 раз быстрее. Предварительно созданная база данных вида t'^ (mod/(/)) позволяет свести умножение точки на G к 0{п ) сложениям и умножениям в поле F^,. Используя чем на эллиптических кривых над простыми полями. •i 'f так называемый нормальный базис Поскольку коэффициенты эллиптической поля к над F., р состоящий из степеней р (mod^/)), можно получить линейн>то сложность умножения точки на G. кривой лежат в поле F^, и число точек кривой „ полностью определяется чис- E(KV где К лом точек кривой £^(Fn), то число эллиптических Будем считать, что вычисление dP выполня- кривых, неизоморфных над К как абелевы груп ется следующим алгоритмом. Алгоритм 15.5.2. Умножение точки на число в расширенном поле Вход Точка Р' значение число о + + Jie+...+44e'"^(modr) Выход. Точка dP. Метод. ш -* пы, равно 0(^р). Однако кривые, изоморфные как абелевы группы, могут быть неизоморфны как эллиптические кривые. На практике это означает, что сложность вычисления изоморфизма между абелевыми группами близка к сложности вскрытия ключа. Если ЕиЕ' — изоморфные кривые, то для ло- 2 max hog 2 с/, J 2. Вычислить базу данных путем последовательного удвоения точек. Провести минимизацию коэффициентов счет троичного представления: п. 7.10). гарифмирования на кривой Е можно воспользоваться базой данных, составленной для кривой I за (см. F. Поэтому при выборе эллиптической кривой (общего открытого ключа криптосистемы) желательно исключить возможность выбора изоморфных кривых.
ш Притер 15.5.1. Изоморфные эллиптические (см. п. 6.14.6) для/? _ ^_ _ /^16 ■ 1 >i 16 + и различных степе кривые над полем характеристики 2 + ней расширения п. Согласно (15.1.1) число 7V] точек эллиптиче ской кривой Е(¥р) определяется следом Т эндо- ваниям п. 11.7, с указанными значениями Число кривых Е(¥р% удовлетворяющих требо- Гдля морфизма Фробениуса. В таблице 15.3 приведе- различных степеней расширения приведено вы допустимые значения ~~Т для кривых с раз- таблице 15.4. Число неизоморфных кривых оп в личным числом корней в правой части уравнения ределено с учетом теорем 6.14.6-6.14.9. Значения следа эндоморфизма Фробениуса для/? 16 4- Таблица 15.3 Уравнение кривой + 3), + 27) + А,х + яХ + 3 510; 290; 426: 470; 370; 246; 358; 274;466; 502 30; 134; 206; 230; 238; 282; 286; 354; 394; 466 46; 282; 366; 406; 510 302; 250; 370; 182; -22; 134; 174; 226; 306; 310; 446 510; -404; 324:464; 466; 502 358; 274; 20; 104; 144; 236; 240; 340; 290; 280; 256; 246; 28; 52; 134; 206; 230; 238; 282; 286; 354; 394; 466 -426; 372; 480; 470; -416; 236; 400; 162; 304; 84; -46; 124; 176;208;282; 366;406;510 302; 250: 240; 232; 22; 112; 116; 134; 174; 226; 232; 252; 306; 310; 400; 446 447; 279; 273; 259; 251; 217; 49;13;43;49;59; 75; 79; 95; 351;433; -485; 285; 255; 251; 225; 15; 87; 153;205;219; 245;285; 349;387; 495: -491 429 237 219 215; 33; 163; 199; 311; 429; 449; 453; 467; 475 509; 503; 499; 479: 381; 281; 265; 223; 221; 57; 9; 63; 139; 257; 283; 287; 309; 359; rtb- шГ V-T? Число эллиптических кривых над полем характеристики/? удовлетворяющих требованиям п. 11.7 2*^ + 1 3 Таблица 15.4 ^ — Ш V -V* 15.6. Протоколы на эллиптических кривых 15.6.1. Встраивание открытого текста в координату точки Эллиптические кривые над конечными поля ми позволяют реализовать широкий спектр крип тографических протоколов. - > ' При разработке криптографических алгорит мов на эллиптической кривой Е(К) иногда требу ется сопоставить данному открытому тексту не которую точку кривой, при этом обратное ото бражение должно позволять однозначно опреде лить открытый текст. Такое сопоставление мож
315 но выполнять различными способами. Очевид Пусть (¥а:¥2) п нечетное число (как пра ный способ для фиксированного уравнения вило, в криптографии используются именно та кривой у "А^) с размером задачи п бит над по лем К в качестве х-координаты использовать двоич- -разрядныи текст, дополненный ными разрядами так, что число Кх)~ кие Тг(1) поля характеристики 2). ЭТОМ случае и Тг(х + Тг(х) + 1. Если для текста X G — квадратичный вычет в поле К. Варьируя число к, можно изменять скорость шифрования и вероятность успешного зашифрования текста. Такой способ целесообразен для кривых над простыми полями. (V выполняется равенство Тг(х -^А-^Бх 2 ТО X является х-координатой точки кривой Е(¥ я Если Тг(х) что Вх Trix + A^Bx 2 1 но при этом I 2 поскольку для нахождения «добавки» к откры- го равенства на Д получаем: l/ Тг(^), то X заменяется элементом х' таким, \ -\- Вх . Поделив обе части последне- х-= 1/5 + l/x^ В /2 тому тексту нужно вычислять значения квадра тичного характера, а эта операция удобно вы полняется в простом поле символ Якоби. поле характеристики любой элемент является достаточно найти квадратичным вычетом. Отсюда находим равен ство 1/х t \NB л- 1/х, определяющее замену пе ременной. Пусть К— расширенное поле и число точек При этом в силу того. что кривой Е{К) нечетно. Тогда число аффинных точек четно, и кривая не содержит точек с нуле- -координатой. Действительно, возможны {В jti-X 2 // получаем л 2 п-\ вой случаи, когда ни одна точка не имеет нулевой у координаты, одна точка имеет нулевую ко соответствии с геометрической ин ординату или три точки имеют нулевую j-коор динату. терпретацией закона сложения (удвоение точки определяется касательной к данной точке), удвоение точки с нулевой j-координатой дает бесконечно удаленную точку. Следовательно, если предположить, что в группе нечетного простого порядка г лежит хотя бы одна точка вида (х, 0), , что при- Условие Тг(х) = Тг{А) выполняется, если свободный член полинома х = x{i) не несет информационного содержания и может быть выбран любым. Для изменения Тг(х) достаточно заменить хнах + Соответствие х<->х t является взаимно одно значным и легко вычислимым Притер 15.6.1. Встраивание открытого текста в координату точки кривой над F32. Пусть эллиптическая 3 кривая Е(¥ 32 задана уравнением j + ху = х + /; поле то эта точка должна иметь порядок водргг к противоречию. номом ^^ + г 4- тый текст / + 32 задано поли Кривая имеет 16 точек. Откры не является х-координатои точки Определим квадратичный характер % поля К кривой. Вычисляем 16 t^ л-г" -\-t-\-\. За так же, как символ Лежандра: %{а) квадратичный вычет в поле К\ %(а) если а меняем элемент 4- на элемент, заданный если а квадратичный невычет в поле X, y(0) уравнением + X Г+Г+Г + 1 г+1 Отсюда Тогда х(Д-^)) ^ О для всех х. Следовательно, при нечетном числе точек каждый элемент х е К яв- получаем необходимую х-координату точки кри / + / + ^ + / + вой: X ляется х-координатои некоторой точки, принад -ё ^^ : -i.^ лежащей одной и только одной из скрученных кривых 2 дх) или у = -Дх). Встраивание текста в координату точки сводится к нахождению обратимого отображения подмножества точек 15.6.2. Аналог криптосистемы RSA На эллиптические кривые над кольцом вьиетов скрученной кривой у 2 :Ях) Ж/пЖ для составного числа п в исходную кривую рд, где р 5 раз 2 Рассмотрим такое отображение для поля К этом случае криптографиче я личные простые числа, можно переложить большинство криптографических протоколов, первоначально разработанных в рамках системы RSA. Эллиптические кривые вида у^^х^ -\- В (mod р) характеристики ски стойкой является только кривая Е(¥д) с урав- при р = 5 (mod 6) и v ^ х + Ах (mod ю) при р пением /-fxv x^ + Ajc + B, где Тг(^) g F2; для (mod 4) имеют порядок группы р + 1 (см. п. 15.3) перехода к скрученной кривой нужно изменить Тг(^). Поэтому Уравнение у + ху^С-О заменой пере эллиптические кривые Е(ЖтЖ) вида меннои ху сводится к уравнению X +В (mod п) при (mod 6) и X +Ах (modn) при (mod 4) имеют 2 + У + С/ X 2 0. Уравнение j^ + j + С имеет порядок группы (р+ 1)(д+ 1). Оригинальная сие тема RSA имеет порядок группы (p(w) iXg решение Тг(0 в [5]. Я тогда и только тогда, когда Поэтому такие эллиптические кривые позволяют строить криптосистемы, аналогичные RSA. Если
Пб можно найти ал го безопасность системы RSA связана с вычислением тельно, для известных п и функции (p(w), то в случае эллиптических кривых ритмом Чуфа число точек для каждой из кривых она связана с нахождением числа (р + 1)(^ + Е{¥, иМР ч и по китайской теореме об остат Рассмотрим аналог шифрования с открытым ках восстановить число точек кривой Е{Ж1пЖ). ключом на эллиптической кривой X ^В Обратная полиномиальная сводимость пробле (mod ri). Опфытым ключом является пара (w, е\ матична. Отсюда следует, что для нахождения секретным показатель е (mod(p+ 1)(^+ 1)). #Е(Ж/пЖ) могут использоваться методы, отлич- Для зашифрования сообщения т отправитель ге- ные от разложения числа п, то есть протокол нерирует случайное положительное число у<п, Фиата-Шамира на эллиптической кривой по вычисляет шифрограмму ? умножая точку тенциально более слабый точностью до (т^у) G Е(Ж/пЖ) на показатель е и посылает шиф- сложности алгоритма Чуфа). Второе отличие имеет алгебраическую при рофамму получателю. Получатель умножает по- лученн>то точку на число J, находит точку (т, у) и роду и связано с тем, что группа восстанавливает сообщение т. Отметим, что в быть циклической, тогда как гоуппа (Ж/пЖ) цик может этом случае длина шифрограммы вдвое больше лическои длины открытого текста, при этом уравнение эл липтической кривой не фиксировано. Аналогичный протокол может быть использо . . .. _- _ _^ 2 3. . л быть не может. Например, группа циклична, если #Е(¥р) и #Е(¥д) являются различными простыми числами. Поэтому механическое переложение протоко- ван и в случае эллиптической кривой у ^х^ +Ах лов из (Ж/пЖ) на эллиптические кривые Е(Ж/пЖ) (mod л). Для удвоения точки нужно предвари- доллшо сопровождаться их криптографическим тельно вычислить коэффициенте. Это вычисле- анализом. ние не требует разложения числа п и может быть выполнено расширенным алгоритмом Евклида. Использование особой 1^бики С: 2 х(х + Эллиптические кривые Е(Ж/пЖ) позволяют позволяет построить криптосистему, изоморф строить протоколы, аналогичные протоколам ную криптосистемам RSA, Рабина, Фиата Рабина и Фиата-Шамира. При этом аналогом Шамира. Изоморфизм i|; группы неособых точек задачи извлечения квадратного корня в кольце этой кубики и группы (Ж/пЖ)* легко вычислим в Ж/пЖ является следующая задача: найти на эл- обе стороны и задается формулами: липтической кривой все точки, удвоение кото рых дает точку ±Р с заданной х-координатой. силу изоморфизма Е{Ж1пЖ) ^ Е(¥^ © £(F^) для каждой из кривых ДР^,), ДР^) существует по две 11/(х, у) х^у^ ? 1 {Z) Az Az(z X (z + 1) 2 9 (^+1) ^ J таких точки (одна для Р и одна для -Р). Объединение этих точек по китайской теореме об остатках дает четыре точки кривой Е{Ж1пЖ). Протоколы Рабина и Фиата-Шамира на эллиптической Для зашифрования информации можно ис пользовать как арифметику кубических кривых. так и следующую цепочку действии: вычисление кривой строятся так же, как и соответствующие изоморфизма СуЖ/пЖ) -^ (Ж/пЖ) , возведение в степень, вычисление обратного изоморфизма оригинальные протоколы с заменой элементов кольца Ж1пЖ на точки кривой Е(Ж1пЖ) и операции умножения в Ж1пЖ на операцию сложения (Ж1пЖ) С(Ж1пЖ), 15.6.3. Установление сеансового ключа точек кривой общем случае использование алгоритмов RSA, Рабина, Фиата-Шамира и т. п. для эллип- Адаптация протокола Диффи-Хеллмана для установления сеансового ключа осуществляется тических кривых ведет к появлению отличии от почти очевидным образом. Два абонента и соответствующих оригинальных протоколов в договариваются о (несекретных) параметрах: части их безопасности. Первое отличие связано безопасном уравнении эллиптической кривой с проблемой сводимости к соответствующей Е{К) над конечным полем К и точке g, образую массовой задаче выбора. Оригинальный прото- щей группу большого простого порядка г. Дого кол Фиата-Шамира основан на задаче разложе- воренность может быть предварительной. или ВИЯ числа W, которая полиномиально эквива эллиптическая кривая может создаваться непо лентна задаче вычисления порядка группы об средственно в ходе сеанса связи. последнем ратимых элементов кольца Ж/пЖ. В случае же случае абонент, который получает параметры эллиптических кривых этот протокол основан кривой, может эффективно проконтролировать на сложности разложения порядка группы точек ее безопасность, проверив соответствие требо- эллиптическои кривой ления порядка группы точек Задача вычис- полиномиально ваниям п. 11.7. Для установления сеансового ключа абонент сводится к задаче разложения числа п, Деистви генерирует случайное число а, вычисляет точ
317 i^ aQ и посылает ее абоненту В, Абонент В гене- которые шифрограммы и формировать собст рирует случайное число й, вычисляет точку bQ и венные, то здесь возможна та же «атака гросс- посылает ее абоненту ^. Затем ^ умноясает точку мейстера», что и в протоколе Диффи-Хеллмана, bQ на а, В умножает точку аО на Ь, и таким об для защиты от которой может использоваться разом оба получают точку abQ^ которая опреде- цифровая подпись. ляет сеансовый ключ. Если нарушитель может подавлять подлинные сообщения и формировать вместо них свои, то протокол Диффи-Хеллмана допускает «атаку гроссмейстера». При этом нарушитель устанав- Рассмотрим протокол шифрования с открытым ключом [9, 10], основанный на протоколах Диффи-Хеллмана и Эль-Гамаля. ливает свой сеансовый ключ с абонентом А^ вы давая себя за 5, и свой сеансовый ключ с абонен том Д вьщавая себя за А^ после чего в ходе сеан Открытый ключ зашифрования включает в себя кривую Е{К)^ образующую Q простого порядка г и точку Р = IQ. Секретным ключом расшифрования служит показатель /. Кроме того, . Для са может оставаться незамеченным. Для этого он общедоступной является хэш-функция расшифровывает шифрограмму, отправленную зашифрования сообщения т от ^ к 5, на ключе, установленном с А^ зашифро- <т<г у от правитель генерирует случайное число Бывает полученный текст на ключе, установлен 2<к<г 5 НОМ с ненту 5. и отправляет новую шифрограмму або- хэш-функции вычисляет точку ко, значение МкР) и часть шифрограммы: с Для исключения таких атак можно использо т + h{kP) (mod г). Здесь можно использовать и сложение по модулю если разрядность зна вать цифровую подпись. При этом ключ подписи чения хэш-функции соответствует разрядности может обладать значительно меньшей стойко- числа г. Зашифрованный текст представляет со- стью, то есть основываться на задаче меньшего бой пару (/?, с). размера, чем сеансовый ключ. Дяя точку расшифрования получатель вычисляет IR КкО) к(Ю) кР, значение hilR) и 15.6.4. Шифрование находит сообщение т с ЫШ) (mod г). Значение h{lR) играет роль гаммы шифра. Бесключевое шифрование на эллиптической поэтому точка не должна использоваться кривой в соответствии Омуры с протоколом выполняется следующим образом. Месси От правитель л и получатель у как и в протоколе дважды, так как это может привести к бесключевому дешифрованию одного блока сообщения (но не к вскрытию ключа, в отличие от прото- Диффи-Хеллмана, договариваются о (несекрет безопасном уравнении эллиптической кри вой Е{К) таком, что группа Е{К) содержит под групп\' большого простого порядка г М(К). колов цифровой подписи). Хэш-функция и арифметика по модулю г при шифровании необходимы для перемешивания и практического устранения избыточности, имеющейся в коор- Для передачи зашифрованного сообщения т отправитель А встраивает сообщение в точку эллиптической кривой, например, так, чтобы несколько старших разрядов х~координаты точки R в совокупности давали т и чтобы порядок точки делился на г. Затем он генерирует случайное число а, обратимое в кольце Ж/Ш(К)Ж, вычисляет точку аК и посылает ее получателю В. Тот, в свою очередь, генерирует случайный показатель вычисляет точ- Z?, обратимый в кольце 1^ b(aR) и возвращает ее отправителю. А умножает полученную точку на а~ и посьшает точку а"' baR ную точку на сообщение т. bR получателю. В умножает получен и из точки М выделяет Вместо сообщения т отправитель может пе динатах точки эллиптической кривой. Эта избыточность обусловлена тем, что длина двух координат точки равна 21og2g', а длина мощности множества точек — log2r, причем, как правило, г по длине не больше д. Этот протокол осуществляет шифрование в режиме, аналогичном режиму простой замены симметричного шифра, но может быть очевидным образом преобразован и для шифрования в режиме гаммирования (см. п. 19.1.2). Для этого можно, например, использовать х-координату точки кР в качестве исходной информации для формирования псевдослучайной последовательности, например, с помощью обычного симмет которого стартовый вектор IR. ричного шифра, фиксирован, а ключ определяется точкой кР редать сеансовый ключ, на котором зашифровано сообщение. Эллиптические кривые над конечными поля- общем случае протокол Месси-Омуры не ми позволяют реализовать симметричное шиф- обеспечивает имитозащиты, а если передается рованш. Алгоритм симметричного шифрования сеансовый ключ, то отсутствует и конфиденци альность. Если нарушитель может подавлять не на эллиптической кривой — не шенноновскии способ его описания и анализа безопасности не ?
318 типичен для большинства симметричных шиф- Для подписи сообщения т отправитель вы ров. Несмотря на то, что данный алгоритм про- числяет хэш-функцию h{m\ вырабатывает слу игрывает по скорости обычным симметричным чайное целое число к^ 0<к<г^ вычисляет точку шифрам, он может представлять интерес для ис пользования совместно с корректирующим ко дированием. Секретным ключом являются уравнение эл липтической кривой Е(¥р), характеристика поля р и образующая точка Q^ причем Ш(¥р) =р. Открытый текст представляет собой часть (несколько младших разрядов) х-координаты некоторой точ ки Р G £'(Fp); шифртекст—логарифм / этой точки . Для обеспечения имито- р относительно точки защиты старшие разряды х-координаты точки должны иметь произвольный заранее определенный вид, который должен храниться в секрете на приемной и передающей сторонах Логарифм / при зашифровании вычисляется с (см. п. 7.11). Открытый текст по логарифму вычисля- Сложность помощью логарифмической производной ется умножением точки Q на число алгоритма зашифрования и расшифрования рав на 0{{\ogpf Этот способ шифрования не претендует на практическое применение и просто иллюстрирует принципиальную возможность использования эллиптических кривых для шифрования и кодирования. Эллиптическая кривая со свойством #Е(¥р может быть легко найдена алгоритмом 15.4.1 или 15.4.2. Искажение одного бита в процессе передачи шифрограммы соответствует сложению точки. представляюшеи открытый текст, с точкой вида ±2'g для некоторого натурального числа /. Факт искажения принятого текста выявляется путем его расшифрования и проверки того, что старшие биты х-координаты имеют заданный вид. Для исправления одиночной ошибки необходимо ко сравнения (^ih VrX и находит число s решением Mm) MR) + ks (mod г). (15.6.1) При этом необходимо, чтобы выполнялось неравенство fiR) Ф О (mod г), в противном случае нужно выбрать другое число к (если j\K) (mod г), то подпись не зависит от персонального ключа). Подписанное сообщение представляет собой тройку (т, /?, 5). При этом можно сократить объем подписи, задав вместо R только координату xr и если и знак координаты уп (О, если j/^ < pj2, yj^ > р/2 ). Тогда при проверке подписи необходимо будет восстановить координату ул решением квадратного уравнения в поле К. При проверке подписи левая и правая части сравнения (15.6.1) используются в качестве показателей. Получатель сначала восстанавливает точку R и убеждается, что она лежит на эллиптической кривой Е(К), а затем проверяет равенство h(m)Q fiR)P + sR, Как и в оригинальном протоколе Эль-Гамаля ? использование показателя дважды или одно кратное использование известного показателя приводит к вскрытию ключа качестве функ ции f(R) могут использоваться функции от коор динат: х,ъ ул, xr + yR и т. п. Сравнение (15.6.1) требует, чтобы хэш функция была стойкой в части нахождения коллизий, причем нарушитель может заготавливать коллизии до начала формирования подписи. Если в сравнении (15.6.1) связать сообщение т и точку R через хэш-функцию (заменить h(m) на к найденной точке, представляющей открытый /^(шЦ Л)), то заготовка коллизий до момента подтекст, прибавить точку вида ±2'Q. писи станет невозможной. 15.6.5. Цифровая подпись На эллиптических кривых можно реализовать протоколы подписи, аналогичные протоколам Эль-Гамаля, Шнорра и др. (см. гл. 13). протоколе подписи Эль-Гамаля открытый ключ проверки подписи содержит уравнение эллиптической кривой Е(К), образующую Q простого порядка г и точку чом формирования подписи является показатель Кроме того, в протоколе подписи используется Ю. Секретным клю- хэш-функция h и функция/ Протокол подписи стандарта ГОСТР 34.10-2001 предусматривает использование эллиптической " со сле- кривои fix) над простым полем р дующими параметрами: — простое число длины 256 бит; полином f(x) не имеет кратных корней (дискриминант полинома / отличен от нуля по модулю/?); /-инвариант кривой отличен от О и 1728; число точек Ш(¥р) имеет простой делитель г длины от 254 до 256 бит; #Е(¥р) Фр; м к ф (mod г) для к 1,2, ..,31 ■^^
319 Выбор эллиптических кривых по стандарту США ECDSS отличается тем 9 что не преду можно задать в виде Z[v~2]/(p), что позволит смотрено ограничение по п. 3 (можно использо использовать систему счисления с основанием и 1728); число г должно и заменить операцию удвоения точек ком вать кривые с иметь длину 160 бит; разрешается использовать плексным умножением [7]. В этом случае число эллиптические кривые над полями характери стики 2. модульных умножении при проверке подписи может быть сокращено примерно в 1,7 раза по основу протокола электронной цифровой сравнению с «традиционной» арифметикой эл подписи гост Р 34.10-2001 положен протокол Эль-Гамаля. Пусть т — подписываемое сообщение, h— хэш-функция по ГОСТ Р 34.11-94 (см. п. 19.12), {Е(^р\ g, г} — параметры цифровой IQ- липтических кривых. Безопасность протокола подписи непосредст сложности обращения хэш венно зависит от подписи; число секретный ключ. открытый ключ. Протокол 15.6.1. Схема подписи ГОСТ Р 34.10-2001. Вход отправителя. Секретный ключ метры подписи, сообщение т. функции и сложности вычисления коллизии хэш-функции, так как в первом случае можно вычислить сообщение для имеющейся подписи, а во втором — заготовить пару сообщений с одинаковыми значениями е, подписать одно из них. пара а потом заменить одно сообщение чателя. Открытый ключ Р, пара метры подписи. Результат. Формирование и проверка подписи для сообщения т. Метод. Для формирования подписи для сообщения т отправитель выполняет следующие действия. другим. Сложность вычисления коллизий хэш-функции Однако методом Полларда равна S о{4^). сложность вычисления коллизий шаговой функ ции хэширования, при помощи которой вычисляется Л, равна S^J^ (см. п. 19.12). Этот протокол предполагает жесткие требо (см вания к генератору случайных чисел Вычисляет хэш-функцию e<r-h(m) (mod г); п. 13.2.1) тюие О полагает е Для вскрытия секретного ключа подписи дос Вырабатывает случайный показатель 0<к<п и вычисляет точку (xr-> VrX причем Xr ф о (mod г). Щ Вычисляет часть подписи 8 таточно или предсказать случайное число, которое появится в будущем, или найти случайное число, которое использовалось ранее. Например, если нарушитель получил доступ к алгоритмиче- S {Jxii + кё) (mod г). (15.6.2) скому генератору случайных чисел, допускаю щему восстановление предшествующих состоя НИИ из текущего состояния, то все электронные цифровые подписи, сформированные на дейст- причем 5^0. Подписанное сообщение представляет собой вующем ключе, доляшы считаться недействи тройку (т, хц (mod г), s). тельными! Поэтому если к компьютеру, реали зующему формирование подписи, возможен не Для проверки подписи получатель выполняет санкционированный доступ (например, при от- следующие действия. правке компьютера в ремонт в результате по- Проверяет условия О < хц (mod г)<гиО<5<г. ломки) и генератор случайных чисел реализован Вычисляет е <— h(m) (mod г); при е = 0 пола- алгоритмически, то алгоритм генерации случайных чисел должен быть вычислительно необратимым. гаете Вычисляет точку f (se I (mod r))Q (Xi^ 1 (mod r))P. Проверяет сравнение xr Xr (mod r) Если Для нахождения секретного ключа / по открытому ключу достаточно решить одну из задач дискретного логарифмирования — найти сам оно выполняется, то подпись верна. показатель / по точкам ? или один из показа Если в протоколе подписи используется эллиптическая кривая с комплексным умножением телей к по точкам QhE (xr легко восстанавливается по Xr (mod г), а yR можно вычислить как на и г РР с 2 + 2d 2 л/л Хр) (mod р) ). Таким образом, требования. ? то в (15.6.2) поле г предъявляемые к генератору случайных чисел, оказываются более жесткими, чем к генератору 8 стандарте ECDSS вместо уравнения (15.6.2) используется s I (Ixr + ё) (mod г). ключей: нарушителю все равно, что искать: к или , но повтор числа к в течение срока действия
320 ключа приводит к вскрытию ключа 9 Таким об- ностной неоднородности протокола Эль-Гамаля (см. п. 13.2.1 и работу [9]) и равна 5. Можно счи тать разом, справедливо следующее утверясдение. что стойкость подписи не превышает ми- Теорема 15.6.1. Энтропия'*^ ключа формиро- нимума сложностей дискретного логарифмирования подписи ГОСТ Р 34.10-2001 не превышает вания, нахождения используемого случайного 10 энтропии случайного числа, вырабатываемого числа, генератором. обращения хэш-функции, вычисления коллизий хэш-функции. Сложностн>то неоднородность протокола Пример 15-6.2. Неудачная реализация генера- подписи можно уменьшить, если генератор слу- тора случайных чисел. Пусть генератор вырабатывает числа вида чайных чисел реализовать алгоритмически так, чтобы его безопасность основывалась на задаче i+i uki + V (mod г), причем параметры г/, v, а дискретного логарифмирования на этой же эл также два последовательных подписанных со липтической кривой (см. п. 15.6.8). общения (mi,Xi (modr), 5i) и (^2, Х2 (mod г), 52) известны нарушителю. Соответствующие уравнения формирования подписи имеют вид: S I 1хх + key (mod r\ 52 = 1x2 + (цк + v)e2 (mod г). В Открытый Протокол цифровой подписи Шнорра на эллиптической кривой Е{К) имеет следующий вид. ключ проверки подписи содержит этих уравнениях все параметры 9 кроме и из уравнение эллиптической кривой Е{К\, вестны нарушителю. Поскольку уравнения ли- зующую Q простого порядка г и точку обра- IQ. нейны относительно указанных неизвестных. Секретным ключом формирования подписи я в секретный ключ / может быть вскрыт решением системы двух линейных уравнении. ляется показател ь хэш-функция h. Здесь тоже использу ется Аналогично ? если генератор реализует рекур Для подписи сообщения т отправитель выра рентное соотношение /ч- ^к) (mod г). батывает случайное целое число А:, О < А: < г, вычисляет точку R = kQvi хэш-функцию е = /?(;?/, 7?), проверяет, что еФ^ (modг) (в противном случае где алгебраическая функция. то задача нужно выработать другое число к\ а затем нахо вскрытия ключа / сводится к решению системы алгебраических уравнений над полем F,.: дит число 5: S 1е + к (mod г). (15.6.3) (1хр + kei) (mod г), 52 = (1хл^ + g(k)e^) (mod г) относительно ^, /. Поскольку переменная / может быть исключена, задача вскрытия ключа сводится к решению уравнения вида gik) ак + Подписанное сообщение представляет собой тройку (т, е, 5). Для проверки подписи получатель вычисляет точку sQ еР (то есть использует левую и (mod г) при известных п, Ь, Отметим, что алгебраические уравнения над конечными полями, в отличие от уравнений над С, решаются сравнительно легко. Очевидно, что это качество присуще обобщенному протоколу Эль-Гамаля над любой груп- правую части сравнения (15.6.3) в качестве пока зателей) и хэш-функцию е' ~ h(m^ R') и проверяет равенство е^е' (mod г). Протокол Шнорра допускает модификации. Например, при сохранении сравнения (15.6.3) подписанное сообщение монсет пои вычислимого простого порядка тройкой (т, 5, к). Точку представляться можно задавать *^ Сложностная неоднородность ГОСТ Р 34.10-2001 определяется пп. протокола слож координатой и знаком j-координаты, как и в протоколе Эль-Гамаля. Тогда при проверке подписи получатель сначала долнсен убедиться, что точка к лежит на кривой, затем вычислить хэш 9 Отсюда следует, что если пользователю системы, в которой применяется электронная цифровая подпись, разрешается генерировать случайные числа в ходе формирования подписи, то запрет самому функцию е h{m, R) и проверить равенство eP + R. Элл нити ческие кривые позволяют реализо вать скрытый канал передачи информации в генерировать секретные ключи / формирования под писи является бессмысленным. 10 схеме цифровой подписи Эль-Гамаля, Шнорра, ГОСТ Р 34.10-2001. Как и раньше, рассмотрим протокол цифровой подписи, в котором участ- п Имеется в виду колмогоровская энтропия. Отсюда вытекает потенциальная уязвимость вуют три стороны: отправитель, получатель и устройств, реализующих электронную цифровую контролер. Протоколы формирования подписи подпись, по отношению к атакам, провоцирующим на эллиптической кривой предполагают этап ге- различного рода сбои компьютера с целью нарушить нерации отправителем случайного показателя безопасную работу генератора случайных чисел. неизвестного другим лицам, под видом которого
321 можно создавать информацию и передавать ее по в уравнении формирования каналу, скрытому подписи. няются, то результат: подпись подлинная. В противном случае получатель вычисляет две Например, для протокола Эль-Гамаля расшифрование информации, переданной по скрытому каналу, осуществляется решением сравнения точки: С С c(W bU) и D a(W t dU). Если Д то результат: подпись недействитель на, иначе результат: отправитель лжет (на рушает протокол). Шт) m))s 1 (mod г). Данное сравнение всегда имеет единственное решение, которое может быть вычислено с поли- Корректность этого протокола основана следующих равенствах: на номиальнои слоншостью. aS+bT^ avh{m)Q + buvQ\ Скрытый канал может быть устранен, если в генерации точки R будет участвовать контролер. W V 1 ah{m)Q + buQ\ этом случае этап формирования подписи в c(W bU) cah(m)Q-\- cbU cbU cah{m)Q\ протоколе Эль-Гамаля выглядит так. . Отправитель генерирует показатель t вы cS+dT^ cvh{m)Q + duvQ\ кО и направляет ее кон числяет точку тролеру. Контролер запоминает точку R, генерирует W 1 v-'Z' ch{m)Q + duQ, a(W f dU) ach{m)Q + adU adU acHjn)Q случайный показатель /г и направляет его отправителю. кК Отправитель (mod г), вычисляет точку вычисляет показатель 1 15.6.6. Опознавание, канал со стиранием и доказательства с нулевым разглашением 1 /г]0, вычисляет подпись S решением сравнения h{m) то+ Эллиптические кривые позволяют решать за + k]S (mod г) и передает подписанное сообщение (т., 7?1, s) контролеру. Контролер проверяет, что подпись соответ- (диалогового) опознавания. Открытым ствует сообщению и что 1 k'R. Если про верки выполнены успешно, то он передает сообщение получателю. дачу ключом (информацией верификатора) в соответствующих протоколах является эллиптическая кривая Е(К)^ образующая точка Q большого простого порядка г и точка Р такая, что Р = IQ. Секретным ключом претендента является логарифм Если логарифм / известен только одному из участников протокола. то можно реализовать На эллиптических кривых можно строить и шифрование с открытым ключом, цифровую специальные протоколы цифровой подписи, в подпись и диалоговые доказательства с нулевым том числе протокол «неоспоримой» подписи, разглашением. Если логарифм не известен ни Общим открытым ключом для этого протокола одному из участников протокола, то можно реа- является эллиптическая кривая Е{К) и образую- лизовать канал со стиранием, щая точка Q простого порядка г. Персональным Протокол опознавания, основанный на шиф- секретным ключом является пара показателей и и ровании с открытым ключом, имеет следующий V, персональным открытым ключом пара то чек Ц Г, где U иО, uvQ. Подписью для сообщения т является точка вид. Верификатор вырабатывает случайный текст, зашифровывает его и посылает претенденту для расшифрования (см. п. 15.6.4). Претендент такая, что выполняется равенство iS^v/^ffOG где расшифровывает текст и возвращает верифика- h{m) — значение хэш-функции для аргумента т. тору. Верификатор сравнивает полученный текст Для проверки подписи участники протокола с исходным; в случае совпадения опознавание считается успешным. Этот протокол допускает атаки со стороны верификатора. Предполоншм, выполняют следующие действия. . Получатель сообщения проверяет, полняются условия S G Е{В^ и rS что вы Роо, и по что число точек сылает отправителю запрос, содержащий па aS+bT, cS-\-dT для случай ру точек ных а, fe, с, d. Отправитель умножает обе точки запроса на эллиптической кривой имеет вид #Е(К) ~p^.,,psr^ где Pi — малые различные простые числа. Тогда, отступая от установленного протокола зашифрования Эль-Гамаля, верификатор выбирает обра- 1 V 1 W V 1 и посы число V (mod г): W лает (fF, W) получателю. Получатель проверяет равенства W=ah(m)Q-\- -\-Ьии W = ch(m)Q-\-dU. Если они выпол- зующую У] порядка р] и посылает претенденту пару (ci, gi), где с\ — шифрограмма, найденная с помощью точки bfi для произвольного текста т^. По полученному от претендента тексту Шл f С\ h{lQ{) (mod г) верификатор перебором
322 по множеству ? ? pi находит значение 1 поскольку h{lQ\) может принимать какой бит Претендент при генерации точки R не знает, он получит, поэтому, не или (mod/) лишь р\ возможных значений. При следующем зная логарифм /, он может успешно жульничать с опознавании верификатор точно так же находит / вероятностью 0,5. Протокол повторяется необ- (moGj:?2) и восстанавливает по китайской теореме ходимое число раз w, для того чтобы вероят- обмана со стороны претендента бьша об остатках / {шоар^р-^ и т. д. Действуя таким ность образом, верификатор может получить дополни- гарантированно мала тельную информацию о ключе претендента. Рассмотрим пример передачи информации со Для затруднения указанной атаки претенден- стиранием, основанный на задаче дискретного группе точек эллиптиче- ту следует проверять, что точка 7?, полученная от логарифмирования в верификатора, лежит на кривой Е{К) и что вы- ской кривой. Для получения точки P^IQ такой, полняется равенство rR ^. чтобы логарифм / не был известен ни одному из участников протокола, достаточно сгенерировать Протокол опознавания, основанный на циф- произвольную точку Р' е Е{К) и найти ровой подписи, выглядит так. Верификатор вы его рабатывает случайный текст и посылает претенденту для подписи. Претендент выраба N f ? г тывает подпись (см. п. 15.6.5) и возвращает подписанное сообщение верификатору. Тот, свою очередь, проверяет подлинность подписи Если подпись подлинная, то опознавание считается успешным. гдеТУ в ЩК), Г т). чей Для получения открытого и секретного клю- 'в получатель выбирает случайный бит в и / е (О, и случайное число // е {О, ? 9 Г и вычисляет R 1 1,0, R \-1 1,0. Для опознавания на основе диалоговых дока зательств с нулевым разглашением можно ис 1 Открытым ключом Рв служит пара {Rq^R н — пара (/, /;). Отправитель пользовать следующий протокол. секретным ключом может проверить правильность открытого клю ча: о + R 1 Р. Благодаря тому, что дискретный Протокол 15.6.2. Опознавание на основе диа логовых доказательств с нулевым разглашением. логарифм от Р неизвестен, получатель не может икатора. Э л л иптиче екая кривая Е{К)\ образующая точка Q большого простого порядка г; точка Р е Е{К). знать оба логарифма: от Rq и т R\. Кроме того, открытый ключ не несет информации о том, какой из дискретных логарифмов ~ от Rq или от 1 знает получатель, так как пары (R о 1 Вход етендента. Эллиптическая кривая Е{К)\ образующая точка О большого простого порядка г; точка Р е Е{К)\, число / такое, что IQ. Выход верификатора. Решение о том, что пре- ) распределены в группе точек кривой равномерно. основу безопасности положен тот же принцип, что и в протоколе Диффи-Хеллмана: если известны точки ag, bQ, то точку abQ вычислить трудно. со стиранием пары текстов, пред- Передача выполня тендент знает логарифм /, с вероятностью ошибки первого рода не более 0,5. Метод. Претендент генерирует случайный показатель , вычисляет показатель К = kl (mod г) и точку зателей /го, ^i е {О, 1, ..., г - 1}, вычисляет точки ставленных в виде положительных чисел (/о, h\ каждое из которых не превышает г ется следующим образом. Отправитель выбирает пару случайных пока кР и посылает R верификатору. о hO, 1 k\Qvi посылает их получателю. За что rR и Верификатор убеждается, РфРоо^ генерирует случайный бит (О или 1), запоминает его и посылает претенденту. knR о k.R 1 тем отправитель вычисляет находит суммы по модулю 2 двоичных векторов: ^0 Если претендент получает О, то он предъяв ляет верификатору показатель к; если полу чает 1, то предъявляет показатель к'. to + //(Го), 51 лучател ю. Получатель + h{T\) и отправляет 5о, s\ по с помощью своего секретного liSi и вы- кР если на Верификатор проверяет, что шаге 2 он посылал О, или что R-kQ, если он посылал 1. Если провфка проходит успешно, от бита ключа (/, //) раскрывает значение числяет значение ti=^ s,-\- Ы^ТХ Таким образом, получатель может узнать только одно из значении или в зависимости то результат: претендент знает логарифм противном случт результат: претендент не знает логарифм /. I своего секретного ключа. соответст ВИИ с предположением Диффи-Хеллмана он не может вычислить второй текст, так как не знает 1-/ . Например, если 1-/ 1-/ а то г, / h-ik\-i
323 поэтому получатель знает / етни/].,, ни fc^y. 1-( Омк 1-( НО не зна- один из простых делителей входит впв степени 3. Эта проблема может быть решена следующим образом. Для передачи со стиранием пары длинных Если простые числа 7 выбрать так, чтобы текстов можно разбить их на блоки длины не бо- они имели разложения в виде (15.4.2) при а то существуют эллиптические кривые ^„(IF 9 лее log2(r -1) бит и каждый раз генерировать новые ключи Р^ и 5'^. Однако можно поступить так же, как и в случае простого поля (см. п. 14.4). Сначала отправитель передает по каналу со стиранием пару коротких текстов ^, /^^ причем он не знает, какой из текстов расшифрует получатель. р и Ед(¥д)р имеющие числа точек, соответственно, р Затем, используя ? как исходную информа цию, отправитель генерирует псевдослучайные последовательности G(^), G(/^i), состоящие, например, из младших разрядов элементов после- 2 3 довательности t Q, tjQ, 4 И q. Объединение этих кривых по китайской теореме об остатках даст кривую Е(Ж/пЖ) с числом точек п. На этой кривой задача логарифмирования решается методом логарифмической производной (см. п. 11.3). Если совместно с составным числом п предъявлять сертификат — кривую Е(Ж/пЖ) с числом точек п^ — то этот сертификат легко может быть проверен. Если выполняется равенство пО ~ Р^^и g, ... . Для передачи случайный логарифм может быть найден мето со стиранием пары длинных сообщений (%, щ) отправитель направляет получателю суммы по модулю 2 двоичных векторов: щ + С(Го), ui-^G{t[). Поскольку получатель знает только один из двух текстов ^о или t\, он может расшифровать только одно из зашифрованных сообще- дом логарифмической производной, то число п свободно от квадратов.^^ Протокол доказательства может быть реализован по следующей схеме. Претендент предъяв- эллиптическую кривую ляет верификатору НИИ. Е{Ж1пЖ). Претендент совместно с верификато ром выбирают х-координату точки кривой. пре тендент находит координату этой точки и На основе задачи логарифмирования в группе точек эллиптической кривой можно строить и предъявляет верификатору. Верификатор проверяет равенство nQ = Ра,^ выбирает произвольный бездпачоговые доказательства с нулевым раз- логарифм /> и находит точку Р = IQ. После глашенпем. Чтобы доказать знание логарифма такого : что /g, претендент выполняет еле этого он методом логарифмической производной дующие действия: генерирует случайное число г вычисляет логарифм точки Р и сравнивает с Протокол может повторяться несколько раз. вычисляет к <г-1к (mod г) и точку R кР Если #Е(¥р N.. то #Е(Ж/р^Ж) Npp. Дейст 5 вительно, число аффинных точек E(jFp) равно генерирует случайный ключ шифрования z для симметричного алгоритма, зашифровывала р Ж/р 9 Поскольку ненулевой элемент кольца является квадратом тогда и только тогда 5 ет на этом ключе точку R и передает шифро- когда он является квадратом по модулю /?, каж грамму по обычному (без стирания) каналу; генерирует случайный бит /е {О, 1}. Если дая аффинная точка с ненулевой ^^-координатой кривой Е(Ж/р Ж) соответствует аффинной точке I о о, то передает по каналу с ключ z и пока затель : а по каналу с 1 ключ Z и показа кривой Е(¥р). При этом каждой точке кривой Е(¥п) соответствуют р точек кривой Е{Ж1р^Ж), тель к. Если i то меняет местами каналы Если точка кривой дрр имеет нулевую о 1 с ис . Верификатор проверяет, что полученная точка R лежит на кривой и имеет порядок г. Затем он проверяет, что R = кР (если получен показатель к) или R ^ k^Q (если получен показатель ^). Выполнение равенства означает, что претендент координату, то ей тоже соответствуют р точек кривой Ер(Ж/р Ж). Эти точки имеют одну и ту же , крат- х-координату и р различных j^-координат, ных р. Бесконечно удаленной точке кривой Е(¥ р со знает логарифм / с вероятностью 0,5. Протокол 1полняется (параллельно) необходимое число ответствуют р бесконечно удаленных точек кри вой Е{Ж1р Ж). Действительно, рассмотрим про .. -. _-. ла.г7 ТГЗ . ЛЛГГ72 ективное уравнение кривой: + BZ Y^Z X'+AXZ раз, причем каждый раз с новой парой ключей (mod/?). При поднятии бесконечно уда- обязательно полу- ленной точки из F„ в Ж1р п. 14.2.4 был приведен протокол доказа тельства с нулевым разглашением того, что со ставное число п содержит в точности два раз (mod 4). Од чится (mod» 2 5 В противном случае все три 12 лтяых простых делителя нако этот протокол не распознает случаи, когда а минимальное разглашение. Поскольку верификатор не может сам найти такую кривую, этот протокол обеспечивает не нулевое.
324 : ЧТО невоз ключаем : координаты должны делиться на можно (на проективной плоскости над ¥р такой точки не существует). Поскольку число Y долж- коллизий. что функция kQ для 1<к<г/2 является взаимно однозначной, то есть не имеет 2 2 НО быть обратимым по модулю р (и, следова тельно, по модулю р), получаем Х^ = 0 (mod р то есть Х-координата при значения {О, », 2/2,..., (о - 5 НО Пусть максимальное значение аргумента рав . Обращение функции h сводится к вычис max 1М- может принимать лению логарифма к и при соответствующем вы Поэтому #Е(Ж1р^Ж) липтическои кривой Npp. Группа точек эл боре эллиптической кривой имеет сложность Е{Ж1р'Ж) не циклична. Сложность обращения может быть вероятностью, близкой к 1, вычисленное значение логарифма / не совпадет с истинным значением (эти значения будут сравнимы по модулю/?). сделана переборной, если изменить следующим образом. алгоритм 15.6.7. Вычислимая в одну сторону функция, свободная от коллизий Алгоритм 15-6.3. Вычисление функции, сво бодной от коллизий, для аргумента длины п бит. Вход. Параметры функции эллиптиче Эллиптические кривые позволяют строить вычислимые в одну сторону функции, свободные от коллизий, с переборной сложностью обращения. Для эллиптической кривой Е{К) с циклическая кривая Е{К) и точка Q большого простого порядка г, где log2r >2п + 2\ аргумент функции - число к длины п бит; функция/ Выход. Значение h{k). Мето ской группой (0 большого простого порядка г функция h: к --> Xk(h ставящая в соответствие неотрицательному целому числу к < г 12 х-коорди- нату хю точки kQ^ является вычислимой в одну сторону и не имеет коллизий. Докажем это утверждение. Очевидно, что эта функция вычислима в пря- 2. 3. 4. Вычислить точку kQ. Положить е <r-fikQ) (mod 2 11 Найти точку R Результат: Мк) 11 к+в)а R (xr, у R Xr. Теорема 15.6.2. Функция й, вычисляемая ал горитмом 15.6.3, не имеет коллизий. мом направлении с полиномиальной сложно Доказательство. Координатах/^ точки R стью. Для решения обратной задачи по известному значению функции, то есть по х-координате точки kQ^ можно с полиномиальной сложностью вычислить j^-координату с точностью до знака решением квадратного уравнения в поле К и тем однозначно определяется показателем и uQ к + е с точностью до знака показателя. Поэтому единственно возможная коллизия (г/i, г/2) для функции задавалась бы уравнением 11 1 + 61 + + 2 п + £2 Г. Но это невозможно, так как в силу самым найти точку ±kQ эллиптической кривой, неравенств log2 к < (log2 г Обращение функции полиномиально сводится к решению задачи дискретного логарифмирования 1)/2 И log2r >2п + 2 получаем тах(2 к + е,, Тк,+е 2 )<г/2. В группе точек эллиптической кривой простого порядка г, при этом в силу неравенства к < г/2 решение единственное. Эта задача является об- ш,епризнанно сложной при правильном выборе кривой. Следовательно, рассматриваемая функция вычислима в одну сторону. Поскольку для каждой х-координаты точки Очевидно, что выходными данными алгорит ма 15.6.3 может быть пара, состояш,ая из Xr и знака координаты jy^. Используемая на шаге 2 функция J(kQ) может представлять собой x^to, Укд л^ю+^юит. п. Задача обращения функции h сводится к вычис 5 kQ существуют два значения >^-координаты 5 КО лению логарифма 2"к-\-е. Сложность вычисления торые различаются знаком и соответствуют точ логарифма пропорциональна 0(л/7), ЧТО COOT кам kQ и -kQ эллиптической кривой, и порядок ветствует перебору всевозможных значений к. группы г — группе не простое нечетное число, то в этой существует точки с нулевой Пример 15.6.3. Вычисление функции ? сво координатой (см. п. 15.6.1). Кроме того, никакие Ю, не имеют одинако- бодной от коллизий. две точки, кроме kQ и вых х-координат. Действительно, в поле К квад- пением ратное уравнение не может иметь более двух входной аргумент к имеет длину п Эллиптическая кривая £'(Fi27), заданная урав- х^ + Зх + 23, имеет 131 точку. Пусть бита а в корней. Следовательно, для данного х существу- качестве функции ет не более двух/^ ется х-координатои некоторой точки эллиптиче используется х-координата начении v, а поскольку х явля соответствующей точки. Пусть (5, 6). Для получаем 50 (17,62). Тогда е ской кривой, значений у ровно два. Отсюда за 17 /50 (mod 2"). Точка определяется показа
325 тел ем п к + е: 3 Результат: Xr 112. 5 + 1)е 410 (112,13) ших битов этих координат. Числа р + \ q + \ 5 15.6.8. Генераторы псевдослучайной последовательности должны быть быть образующей простыми, а элемент для обеих должен групп р + \ ? * . В этом случае клю Компрометацией генератора псевдослучай чом для предсказания послед\тощих битов явля НОИ последовательности назовем несанкциони рованныи доступ нарушителя к секретным пара метрам генератора. Назовем компрометацию яв ется тройка предшествующих ^^уХ ключом для вычисления битов является четверка ной, если о случае несанкционированного доступа становится незамедлительно известно службе безопасности, в противном случае компрометация называется неявной. ,х^у). Длина цикла равна наименьшему общему кратному порядков указанных групп. Получив доступ к генератору, можно узнать параметры генератора и те кущую то чку Эллиптические кривые позволяют реал изо обращения такого генератора (вы вать криптофафически стойкие генераторы ПСП. Стойкость в данном случае означает, что по известным т битам последовательности вычислительно невозможно предсказать последующие или вычислить предыдущие биты. Такой генератор является безопасным по отношению к протоколам шифрования с открытым ключом, тельств с нулевым разглашением, если его ком прометации являются явными. В случае компро Сложность числение предшествующих точек) основана на сложности разложения составного числа п. Действительно, если разлохсение известно, то можно вычислить показатели р 1 mod р + \ д Q 1 mod q + \ электронной цифровой подписи, доказа для известной точки найти я (mod q\ вычислить крТр^ к р (mod р) э аТ^ И восстано вить предыдущую точку по китайской теореме метации (например, передачи сломанного ком- об остатках. пьютера в ремонт) для дальнейшей безопасной работы нужно сменить параметры генератора. Поскольку сложность задачи разложения бы стро снилсается во времени, размер числа п при Для генератора ПСП характерно то, что, на- ходится выбирать большим (несколько килобит). чиная с некоторого шага, генерируемая последовательность начинает повторяться. Если генера- Предположим, что в информационной систе тор реализует отображение Хм =Л^д'> где размер ме возможны только явные компрометации клю состояний X, постоянен и составляет к бит, а ото- ^^й и аппаратуры, то есть обо всех слз^аях не бражение/не является взаимно однозначным, то санкционированного доступа к ключам и инфор длина цикла и длина последовательности до входа в цикл равны OCl^l^). Если отображение мации, определяюш:еи стойкость ключа, стано вится известно. Допустим, что текущее состоя ние генератора хранится в компьютере. взаимно однозначное, то оно задает подстановку этом случае алгоритмический генератор и возникает задача вычисления длины цикла случайных чисел для подписи по стандарту мини этой подстановки. Наиболее просто длину цикла ГОСТ Р 34.10-2001, обеспечивающий можно вычислить, если генератор ПСП исполь- мальную неоднородность, должен удовлетворять зует алгоритмы криптографии с открытым ключом, например, генератор Блюма-Блюма-Шуба (см. п. 12.4). Аналогичный генератор мохсно построить и на эллиптической кривой или на вырожденной кубической кривой над Ж1пЖ^ где следующим требованиям: задача вычисления случайного числа при известных параметрах генератора должна быть безусловно безопасна или эквивалентна задаче дискретного логарифмирования на эл- п pq — произведение больших простых чисел. Построим аналогичный генератор ПСП на супервырожденной эллиптической кривой. Урав- нение кривой имеет вид у ^х +Ах (mod п), где липтическои кривой; вероятность повторения одинаковых случай иых чисел в выборке объема на превышать 10 10 9 не долж 9. 13 (mod 4) 5 ИЛИ х^ + в (mod п). где i'^ "' (mod 6). Число точек кривой равно 13 (р + 1Х? + Генератор Этот объем выборки соответствует генерации десяти подписей каждую секунду круглосуточно в и использует в каче- течение 10 лет, а вероятность выбрана достаточно вычисляет х-коор динаты точек Р, 2Р^ стве элементов ПСП один или несколько млад- малой, чтобы ею можно было пренебречь.
326 задача вычисления предыдущего случайного числа по известному текущему состоянию генератора должна быть эквивалентна задаче дискретного логарифмирования на эллиптической кривой. Указанным требованиям удовлетворяет следующий рекуррентный генератор, выполняющий вычисления на той же эллиптической кривой 9 которая используется для цифровой подписи. качестве начального состояния можно взять произвольную аффинную точку (х, у) эллиптической кривой. Пусть / h У>) текущая точка кри вой. Последующее состояние задается уравнением /+1 Ф/W) Qcr I ш (15.6.4) Выходом генератора являются несколько младших битов х-координаты очередной точки. Отобраясение, вычисляемое генератором. об л а дает сжимающими свойствами и, следовательно не имеет гарантированно большой длины цикла Для исключения зацикливания вводится сложение с номером / итерации (которое можно заме- : НИТЬ умножением по модулю Очевидно что необходимо исключить появление бесконечно на удаленной точки и нулевой х-координаты, пример, пропуская такие точки. Текущее состояние генератора является секретным. Поскольку на каждом шаге текущее состояние меняется, то анализ сигналов, несущих информацию о секретном параметре генератора, методом накопления и выделения их из шума невозможен. Если в результате явной компрометации текущее состояние Hi генератора стало извест ным , то восстановление предьщущих состоянии эквивалентно дискретному логарифмированию: для точек Q и i?^+^ нужно найти показатель Х;^ + i (mod г) в уравнении (15.6.4). Поэтому требование к генератору выполнено. смысле является теоретически безопасным этому и первое требование выполнено. По 15.6-9. Протоколы для электронных платежей Как отмечалось в п. 13.5.2, для электронных платежей можно использовать подпись «вслепую». Эллиптические кривые позволяют реализовать эту подпись для групп вычислимого и трудновычислимого порядка. Для подписи «вслепую» на основе протокола Эль-Гамаля открыты м ключом банка является уравнение эллиптической кривой Е(К), зующая точка простого порядка обра- точка G {Q). Оба участника протокола умеют вычислять функцию/ Секретным ключом банка является показатель / такой, что сообщения т,0<т <г. протоколе подписи Эль-Гамаля на эллипти IQ. Подпись вырабатывается для ческой кривой, как и в общем случае, используя морфизм схемы подписи, по данному правильно подписанному сообщению т можно сконструировать другое правильно подписанное сообщение т г следующим образом (здесь уравнение формирования подписи: т AR)i ks (mod г)): выбрать произвольный показатель а, «поло ж ить » <г- ак (поскольку к неизвестно, то и тоже неизвестно). Этому показателю будет соответствовать точка R г aR: вычислить показатель 1 akQ /i?M^T'(niodr); вычислить новое сообщение т' <^ Вт и под а 1 В5. существует односторонняя вычисли ПИСЬ 5 Здесь мость коэффициента р из показателя а и, следовательно, односторонняя вычислимость нового сообщения т* из сообщения т. Применительно к третье электронным платежам это можно рассматривать как маску, на1СГ!адываемую банком на сообще- Для эллиптических кривых над малыми поля- ние. Но для подписи «вслепую» требуется, чтобы ми закон распределения текущих состояний ге- маска накладывалась клиентом. Поэтому изме- нератора близок к равномерному. В силу того, ним протокол Эль-Гамаля следующим образом. что эллиптические кривые над малыми и боль шими простыми конечными полями описывают Протокол 15.6.4. Создание электронной мо- ся одинаковыми алгебраическими выраясениями, неты на основе протокола Эль-Гамаля на эллип можно предположить 5 что распределение со тическои кривой. Вход клиента. Открытый ключ: уравнение эл стояний генератора близко к равномерному и в случае большого поля. Тогда второе требование липтической кривой Е(К)^ образующая точка к генератору выполняется с большим запасом. Вычисление очередного случайного числа эквивалентно определению текущего состояния группы простого порядка г, точка Р е {Q); функ ция/ Вход банка. Открытый ключ: уравнение эл генератора, а состояния распределены примерно липтической кривой Е(К), образующая точка равномерно и начальное состояние безопасно, группы простого порядка г, точка Р е {Q); сек- такого генератора эквивалентно ретныи ключ: показатель / такой Предсказание перебору начальных состояний, генератор в этом функция/ что =* ^ vr -^i S-
327 льтат. Электронная монета Метод. Для создания электронной монеть[, определяе- нята со стороны банка). общения; и, наконец, вскрытие подлинного тек ста сообщения (такая атака может быть предпри мой сообщением т (см. п. 13.5.2), участники про Для вскрытия ключа подписи банка достаточ токола выполняют следующие действия. . Банк выбирает случайный показатель ? 0<к'<г ? И вычисляет точку г KQ. При Я1^) заменяет случайный показатель ? при f{B!) Ф О посылает К клиенту. Клиент проверяет, что К е Е{К). Если это не так (то есть, возможно, банк пытается узнать некоторую информацию о монете), то протокол прерывается; иначе клиент выполняет следующие действия. но найти логарифм /. Подделка подписи без знания ключа, в отличие от протокола, основанного на логарифмировании в конечном поле, представляется не менее сложной, чем логарифмирование в группе точек эллиптической кривой при условии, что ключ выбран правильно. Неправильный выбор параметров криптосистемы (например, использование в качестве К не поля из q элементов, а кольца с делителями нуля из q элементов, использование группы составного порядка и т. п.) может быть легко выявлен с помощью 2.2 Выбирает случайный показатель а та- известных тестов проверки на простоту. Вариан кой, что О < а < г. Вычисляет точку что oR f и проверяет. HTofiK) Ф 0. Если это не так, то возвра щается к шагу 2.1. 2.3 2.4 Вычисляет коэффициент (mod г). Накладывает тищ 1 на сообщение т т f аВ 1 т (mod г) и посылает т маску: банку Банк проверяет, что /?/ ^ 0. Если это не так, (формирование то протокол прерывается подписи немедленно ведет к вскрытию ключа). При успешной проверке банк вычисляет подпись S f 1ЛЮ km f (тоАг) для сооб щения т и посылает ее клиенту. Клиент проверяет равенство s'Q ЛЮР m'R г для замаскированного сообщения. Если оно не выполнено, то результат: подпись s г не действительна: если выполнено снимает т и полагает s маску с сообщения (mod г). Результат: электронная монета (??;, 7?, s) s'B ты нарушения протокола, связанные с тем, точка R' может не лежать на кривой, выявляются в ходе протокола. Возможны атаки, связанные с выбором точки R' не из группы {Q). Если число точек на кривой имеет вид г/, где г— большое простое число, t е : ТО для исключения такой атаки следует проверить, что tR ее vitR фР ее Клиент может попытаться изменить значение подписанного сообщения под маской, используя указанный морфизм подписи. Этот недостаток неустраним, так как наличие морфизма — основа подписи «вслепую». Поэтому сообщение т должно содержать достаточно большой избы точный отрезок, априорно известный магазину и банку. Если сложность подмены положить равной сложности вскрытия ключа, то длина избыточного отрезка должна быть равна Избыточность может быть (log 2 Г )/2 введена, например. заменой сообщения т на конкатенацию т g(m) с соответствующим сокращением длины сооб- — хэш-функция, стойкая в части щения где обращения и в части вычисления коллизий. При погашении монеты (т, R, s) магазин вы полняет следующие действия. Проверяет, что шфО. Если это не так, то результат: подпись S недействительна. Вычисляет фунюдию J(R) и проверяет, f(R) Ф 0. Если это не так, то результат: под что пись 5 недействительна. Проверяет равенство sQ тр mR. Если оно выполняется. то результат: подпись 5 Протокол 15.6.5. Создание электронной мо петы на основе протокола Шнорра на эллиптиче скои кривой. Вход клиента. Открытый ключ: уравнение эл липтической кривой Е{К)^ образующая точка группы простого порядка г, точка Р е (0; функ ция/ Вход банка. Открытый ключ: уравнение эл липтической кривой Е{К)^ образующая точка группы простого порядка г, точка Р е (0; сек- подлинная, иначе результат: подпись s не- ретный ключ: показатель / такой действительна. функция/ льтат. Электронная монета. что Рассмотрим кратко безопасность этого прото ^-. -/■ -]■ ■-^- _ Метод. создания электронной монеты, опреде- кола. Здесь может быть несколько направлений Для агак: вскрытие ключа подписи; подделка подпи- ляемой сообщением т, участники протокола вы си без вскрытия ключа, например, подменой со- полняют следующие действия. Z *--f -г -^-\-А > *< А
328 Банк генерирует случайный показатель ? ? ОТ г ? и вычисляет точку f ко. При АК) заменяет случайный показатель; при простые числа, #Е{Ж1пЖ) = N. Кроме того крытый ключ содержит показатель е, обратимый по модулю N. Секретным ключом служит пока- fiK) ^ О посылает точку R клиенту. Клиент генерирует случайный показатель а : < а < Г, и вычисляет точку aR. При затель Атакой, что ш= 1 (modTV). Сообщение т представлено точкой М е Е(Ж/пЖ). По китайской теореме об остатках кривая заменяет случайный показатель; при AR) f^R) ^ О вычисляет коэффициент Р <^J(R)f(R) (mod г), полагает т' <г- а'^^т (mod г) и посы лает сообщение т' банк изоморфна прямой сумме кривых: Е(Ж/пЖ) 1 Е{¥р) Ф Е(¥д% следовательно, число N не может быть простым, в кольце Ж/пЖ есть делители ну ля л Банк вычисляет подпись для сообщения под + Im'fiR) (mod г) и возвраща- маскои: s , поэтому точки кривой Е(Ж/пЖ) не образуют группу относительно обычной операции сложения точек. Это обусловлено тем, что каждая точ- ет ее клиенту. Клиент проверяет равенство s'Q Если оно не выполнено, то результат: подпись т'АЮР- ка кривой Е(Ж/пЖ) имеет две составляющих — по модулю р и по модулю д. Поэтому, если две точки S и Т кривой Е{Ж/пЖ) имеют составляю щие Sr. S. и Гп. Г„. и S г /?: ? /?: «: Р Тр, Sg Ф Тд, ТО ПО модулю S недействительна: иначе клиент снимает мае ку с сообщения nf и полагает s<r-as (mod г) Результат: электронная монета {т, R, s). нужно применять формулы удвоения точки по модулю : а При погашении монеты {т^ R, s) магазин вы полняет следующие действия. . Проверяет, что т^О. Если это не так, то ре- формулы сложения двух разных точек. Следовательно, обычные формулы сложения могут давать ошибку (для ее исключения нужно вычислять под (xs - Хт, п)). Однако вероятность такого события пренебрежимо мала и зультат: подпись s недействительна. Вычисляет функцию ^(7?) и проверяет. равна О что тт{р : Порядки групп Е(¥р) и h(R) Ф 0. Если это не так, то результат: под- £'(Рй) должны иметь большие простые делители. пись 5 недействительна. Проверяет равенство sQ mh{K)P. Если , то результат: подпись s подлинная, иначе результат: подпись s не- Протокол предусматривает следующие дейст оно выполняется ВИЯ. Клиент генерирует случайную точку действительна. G Е(Ж1пЖ\ вычисляет по М основу безопасности этого протокола также положена задача логариф мирования в группе точек кривой. Для вскрьггия ключа подписи бан ка достаточно найти логарифм Подделка подписи без знания ключа требует Ме Е{Ж1пЖ) точку М' <г- М' банку. Банк вычисляет для точки М' подпись сообщению eR и посылает f dM f d(M eR) dM вычисления точки, координаты которой находятся в требуемом соотношении с ее логарифмом. S') Эта задача представляется такой же сложной, как логарифмирование. Для того чтобы защититься от подмены сообщения, в него следует внести избыточность как и в протоколе Эль-Гамаля. и возвращает подписанное сообщение (М\ клиенту. Клиент проверяет подлинность подписи (если ', то подпись подлинная) и снимает М eS маску с подписи, вычисляя S г dM. : Подписью для точки М является точка S. Для проверки подписи 6 магазин вычисляет Протокол подписи «вслепую» на группе труд- точку eS и сравнивает ее с точкой М. Если они на том что новычислимого порядка основан функция шифрования RSA является мультипли совпадают, то подпись считается подлинной. кативнои, то есть если Si : ^2 Для того чтобы банк мог проверить правиль- подписи для со- ность сообщения М (по аналогии с протоколом общений ши т2, то SiS2 — подпись для m^mj. Ее- 13.5.2), клиент должен предъявить точку R ли а— функция, вычисляющая подпись s для Безопасность протокола в части вскрытия сообщения т, и множество подписей совпадает с ключа подписи основана на сложности разложе- множеством сообщений, то с является эндомор- ния составного числа п и сложности нахождения физмом группы (Ж/пЖ) . порядка N гауппы. Поэтому размер задачи в этом Открытым ключом является эллиптическая случае оказывается в несколько раз больше, чем : кривая Е(Ж/пЖ\ где п=рд и р ? различные например ? в протоколе Эль-Гамаля. Следователь
329 но, использование эллиптических кривых в таком с помощью последовательности N 1 : No, ... (где протоколе приводит к снижению скорости вычис Л^ к лении в десятки раз по сравнению с протоколом использующим группу вычислимого порядка. силу морфизма схемы подписи теоретически возможна подмена пользователем подписан- #/(F,) ЧИСЛО элементов якобиана) ? за : ключающиися в подсчете кривой (15.7.1) для р ! ! Пусть Mk к А-аффинных точек g[14]. #C(F Л - р\ где #C(F ,) число ного персонального номера монеты (например, аффинных точек на больший номинал). Использование вместо М хэш-функции, стойкой в части вычисления коллизий и в части обращения, устраняет указанный морфизм, но одновременно делает невозможной 5 кривой. Если 2, то : ЧТО подпись «вслепую». Действительно, замена сообщения М на значение хэш-функции h{M) в уравнении шифрования приводит к тому снять маску будет нельзя. Чтобы это исключить, можно, например, ввести избыточность в текст сообщения. Отметим, что в обычной подписи RSA недопустимо вводить избыточность путем использования нулевых младших или старших разрядов. Если младшие разряды нулевые, то атака может строиться на основе гомоморфного вложения кольца в кольцо ж. Если старшие разряды нулевые : ТО для атаки можно использовать алгоритм LLL минимизации базиса решетки (алгоритм 7.3.1) Однако в случае эллиптических кривых этот не достаток отсутствует. , - i можно считать в (15.7.1) /2 = 0, тогда Mk является суммой квадратичных характеров полинома У(г/) в поле F По р к аналогии с эллиптическими можно ввести дзета-функцию Z(7) степени 2g с целыми коэффициентами кривыми полином zm Y^g ах Y^g 1 а g-\ Г +1 a.I^ й P^g-i Т^ 1 2 р а^-2 Т^ 2 1 а\Т я П(^ а XT «.) ? У=1 л *, -г 1^ м-Х где^ь ..., а^ G и а а 1>^Л. > Пусть ^:л.^ Z(T) J а.Т аЛ' 2 pgjig 9 15.7. Криптосистемы на гиперэллиптических кривых Основная трудность, возникающая при разра ботке криптосистем на гиперэллиптической кри вой : ЭТО выбор кривой С(Ю, где К F ,„ такой : ЧТО задача логарифмирования в якобиане J{C) является сложной. Требования к порядку якобиана и полю к приведены в пп. 1 ] .6, 11.7: порядок якобиана должен иметь большой делитель г ^ сЬаг(Ю; сЬаг(Ю^ ^ 1 (mod простои для небольших значений к\ род кривой должен быть небольшим. Для выбора кривой необходимо решить задачу расчета порядка ее якобиана. Гиперэллиптическая кривая С/К может рассматриваться над различными расширениями исходного поля к. При этом могут меняться чис ло точек кривой и порядок якобиана. Для того чтобы уточнить, о каком именно поле идет речь, якобиан будем также обозначать J(C(L)) или, короче, J(L). с. . ' >г Пусть кривая C/F» рода g задана уравнением V 2 h(u)v /г/). (15.7.1) Рассмотрим метод вычисления порядка якобиана кривой над расширенным конечным полем тогда коэффициенты полинома Z(7) связаны с числами М- соотношением * < СО In zm м к к к^\ (15.7.2) Так как 1п(1 X 2 X 3 X ..., то : подстав ляя в (15.7.2) X а 1 аоТ 2 2g frT ^ И при равнивая коэффициенты при одинаковых степе- , получаем выражения для коэффициентов нях полинома Z(7). Заметим, что для этого достаточно первых g величин Mi, ..., AL. Отсюда находим N П а п J 2 ? /=1 где но видеть, что N модуль комплексного числа. Нетруд 1 Z(l). Представим симметрическую функцию S J J J t{ +,„ + t' в виде полинома от элементар ных симметрических функций [4]: S ^j-\^\ ^j-2^2 /-1 J^ J : при <m : J SJ-^0^-SJ_202 m-1 Sj-m^m^ при J>m.
330 Применительно к задаче вычисления якобиана эта формула означает, что для каждого п число N,j элементов якобиана можно выразить как полином над кольцом Ж от коэффициентов по линома Z(T). Тогда для любого п 9 ? ? . справедливо к к (1+/^ (g-k)n где п) о ? )Si п) lf5^ «) ? (15.7.3) Пример 15.7.1. Вычисление порядка якобиана 2 Пусть х^ + х кривая ^ 17х^ С(Ю задана уравнением ки г? 257 вой для к 35 над полем характеристи- Найдем порядок якобиана этой кри- 13. Для этого сначала \F, и К вычислим Z(7). Находим суммы квадратичных характеров над полями из 257 и из 257 эле ментов: М 1 X 5 X 2 17х 35 Х€¥' 257 ? 257 к ^_^.k-lgikn) 1 к-\ /-1 k-j-\ sfs {{k'J» 1 м 2 х(^ 5 X 2 17х 35) 89 хеЕ 66049 при к>2 ? 5/^> при 7 1 2g 2^, к /-1 S? ! )о(1) О 5 при 7 2Я. /=1 Эти значения полностью определяют дзета- функцию. Находим коэффициенты функции Z(T). Полагаем Z(T) t'z 2 1 +а.Т+а2Т'+2Ъ1аТ'+251 3 . /-» /-'-j2t-t4 Кроме того ? 0) / / а ! при '"^g; (1) / '-g (1) 2g / при g<i< 2g. Например, порядок якобиана кривой рода над кубическим расширением основного поля задается формулой: N. 3 Зр 'а,+р'' ' За.а2)-\-Зр 2 (2а 2 1 ^2) + -\-Зр(а 2 1 П. ^ ) + 1 + П ' ~3a.a2 +^2- 1 Для обеспечения стойкости криптосистемы необходимо, чтобы порядок 7V„ = #J(K) якобиана J(K) был простым числом либо имел большой простой делитель г и чтобы спаривание Вейля не позволяло легко вычислить лога рифм. Само Л^ этом случае стойкость равна 0(л/^). , редко оказывается простым, так как есть подгруппа группы J(K) для любого делителя d числа и, и, значит, N^ IН,.^. Поэтому целесообразно использовать только простые расширения поля р и только кривые с непри водимым над полем рациональных чисел полиномом Z(T). Для некоторых гиперэллиптических кривых, например, у^ = х^ -\-Б ср^±\ (mod 10), число точек найти легко: М\ = М2~ 0. Однако такие кривые не позволяют обеспечить стойкость по отношению к логарифмированию на основе спаривания Вейля. и X - щТ+аг^- + 251щТ^ + 257V. Вычисляем логарифм дзета-функции: lnZ(r) = ln(l + x) X 2 S X X' — + — i -■ гг2 И Т : Достаточно рассмотреть коэффициенты при 2 1п2(Г)=(п.Г + П2^'+...) {а{Г + ^2^ 2 4- 2 4- м. 2 2 м.т+=^^т-+. Приравниваем коэффициенты при одинако вых степенях Т\ щ Ми М а 2 м 2 2 4- 1 Под ставляя сюда найденные значения М\ и М2. получаем а\ Z(T) 3, ^2 49. Дзета-функция имеет вид: Г + ЗГ^ + A9f- + 771Г+ 66049. лином неприводим над полем Q и Л^ Z(l) Этот по 257 66873. Из (15.7.3) находим N^ #/(F,3) А^ 13 =1 + /» 26 (1 + Р 13 )s? 4- ((5/' 2 5Р^)) 455261795236548565733691886171487\ 443711849618087383281840609793.
331 Тогда N 13 N 6807856612333057672508963051926\ 1 598832291801146761522316041. ствует кривой С(К)^ то есть проверять делимость о + hb f) в кольце ЩиЛ. 15.8. Криптосистемы на изогениях эллиптических кривых Для гиггерэллиптической кривой справедлив аналог теоремы Хассе: к + 1 #С{¥ р к <2J7 На основе задачи вычисления изогении можно строить протоколы шифрования с открытым ключом и цифровой подписи. для всех А: = 1, 2,... . Поэтому, если поле К велико, то для расчета значений М^ ..., Л4 можно воспользоваться аналогом алгоритма Чуфа для гиперэллиптических кривых [11, 16, 18]. 15.8.1. Задача вычисления изогении и квантовый компьютер Недостатком криптосистем, основанных на На практике желательно использовать гипер- задаче определения структуры и порядка абеле эллиптические кривые небольшого рода, так как, вой группы и задаче дискретного логарифмиро- раскладывая на множители пары полиномов, со- вания в циклической группе, является их уязвимость по отношению к квантовому компьютеру. Если удастся создать квантовый компьютер дос- ставляющих дивизор, можно снизить стойкость криптоалгоритма. якобиане гиперэллиптической кривой, как и на эллиптических кривых, может существовать комплексное умножение на целое алгебраическое число 6. Это позволяет ускорить умножение дивизора на целое число z, если представить z в виде полинома от G. Если кривая С/¥р рассматривается над полем из р'^ элементов, то на ней действует таточно большой разрадности, то задача разложения составного числа и задача дискретного логарифмирования в произвольной циклической группе могут быть решены с полиномиальной сложностью. Рассмотрим массовую задачу вычисления морфизма в категории абелевых групп. отображение Фробениуса ф: (w, v) р (u\v р качестве категории будем рассматривать со категорию изогенных эллиптических кривых над ответствуюпдее умножению элемента якобиана на конечным полем. Тогда задача вычисления мор комплексное число [18]. физма представляет собой задачу вычисления изогении: для Криптографические протоколы на гиперэл Ео^ эллиптических кривых Е\(^ р и р найти изогению ш: jE'i(F р Е2{¥р Со липтических кривых аналогичны протоколам на гласно теореме Тейта две эллиптические кривые эллиптических кривых. Общая несекретная ин E^{¥, и jEoCIFn) являются изогенными тогда и формация: кривая С{К) (то есть поле К и пара только тогда, когда они имеют одинаковое число полиномов/ И) и дивизор Д образующий группу точек [20]. Результирующую изогению ф будем задавать большого простого порядка г. В основу криптографических протоколов положена задача Диф- в виде композиции изогении малых степеней, по ф1^Хеллмана: для якобиана J{K)^ дивизора D и аналогии с построением симметричного шифра в дивизоров tD^ sD найти дивизор tsD. виде композиции несложных отображер.ий, а эл- общем случае строение якобиана как абеле- липтическую кривую будем задавать ее вой группы может отличаться от строения группы точек эллиптической кривой. Например, инвариантом. Зададим изогению в виде композиции изоге НИИ малых взаимно простых степеней 1,. Компо группа точек кривой над конечным полем цик- лична или является прямой суммой двух цикли- зицию удобно представить в виде графа. Верши ческих групп, большой и малой, при этом поря- ны графа — эллиптические кривые, для которых док большой группы делится на порядок малой определяются изогении степеней А, а ребра — группы. Якобиан может иметь более сложное сами изогении. Граф изогении можно считать не существует дуальная изогения той же степени. строение. Это обстоятельство следует учитывать ориентированным, так как для каждой изогении при разработке протоколов. Так, представляются возможными атаки, основанные на посылке «фальшивых» дивизоров. 2 Например, для эллиптической кривой X +х + 18 над полем из 1009 элементов чис не являющихся элементами якобиана данной ло точек равно •29,/ 17. Связный ком 1фивой. Для защиты от такой атаки желательно понент графа изогении содержит 42 вершины, ввести проверку того, что полученный дивизор Изогенные кривые для изогении степени / за div(a(w), b{u)) является приведенным и соответ- даются корнями модулярного полинома Ф/, рас
332 сматриваемого над полем Fp. Модулярный поли ном Ф/ для нечетного / имеет О, 1, 2 или / + кор Задача вычисления изогении, образованной цепочкой изогении различных степеней, пред- неи в поле ¥р (см. п 6.15.4). Случай одного корня ставляется сложной по отношению к квантовому соответствует тому, что вершина является листом, компьютеру. Действительно, для достаточно криптографии целесообразно использовать длинной цепочки изогении степень уравнения изогении малых простых степеней /, для которых задающего результирующую изогению оказыва- модулярный полином имеет два корня, при этом ется экспоненциально большой, и задание соот- необходимо, чтобы дискриминант характеристи- ветствующего модулярного уравнения и уравне- ческого уравнения эндоморфизма Фробениуса ния изогении требует экспоненциально большого был квадратичным вычетом по модулю / для не- объема работы. Это не позволяет составить про- четных /. грамму для квантового компьютера. Оперирова- Связный компонент графа изогении супервы- ние с изогениями малых степеней приводит к рожденной эллиптической кривой*"* содержит все случайному блужданию на графе изогении и к изогенные кривые для изогении данной степени многократному повторению одной и той же про- [20]. Таким образом, все изогении являются сте- цедуры с переменными параметрами. Свойство пенями какой-то одной изогении квантового компьютера вычисление скрытых Аналогично, если модулярный полином для периодов функций — не облегчает задачу нахо- изогении степени / имеет два корня в основном ждения пути на графе изогении. поле, то связный компонент графа изогении является циклическим. Изогении других степеней задают перестановку вершин этого графа; композиция изогении коммутативна и ассоциативна. Для того чтобы за несколько шагов по графу 15.8.2. Криптографические протоколы на изогенных кривых до произволь изогении можно было добраться вершины, число образующих изогении основу безопасности протокола опознавания положена задача нахождения цепочки изоге- нои должно быть достаточно велико. Пусть число изогенных кривых равно Л^ и пусть НИИ между двумя изогенными эллиптическими п число кривыми. Поскольку произведение изогении изогении, задающих циклическую перестановку на множестве из Л^ элементов, причем каждая изогения может применяться не более т раз Пренебрегая совпадающими вершинами графа для различных путей, число достижимых вершин можно оценить значением т" (объем и-мерного коммутативно, можно реализовать протокол Диффи-Хеллмана. В этом случае пользоватепи выбирают эллиптическую кривую E(\Fp) такую, что все модулярные полиномы имеют два корня в ¥р. Тогда изогении степеней I, будут образовы вать циклы. параллелепипеда). Tirl/f? тт _ Положим N т п ? тогда Пользователь у1 генерирует цепочку Ь т . Для достижения произвольной вершины графа нужно сделать не более тп шагов. Найдем соотношение между числами т\лп^ при котором суммарное Имеем: изогении (/-инвариантов модулярных полиномов) и посылает/4 пользователю В. Пользователь генерирует цепочку jb WbU о изогении число шагов тп минимально. у /п In 5 In и + (In N)/n. Минимум слоясности достигается при п InN и т е, где инвариантов модулярных полиномов) и посыла ет Jb пользователю тель вычисляет свою цепочку у-инвариантов для Затем каждый пользова е - основание натурального логарифма. Модулярные полиномы над полем полученной кривой Пользователь р можно о пользователь получает получает найти с использованием результатов Лерсье и Морана [19]. Для ускорения вычислений можно Щ^а{1о)\ ь силу коммутативности произ искать не модулярный полином двух перемен ных над Z, а непосредственно полином Ф/(г/,7*) (mod р). Ул О'в) Щ{]'а) ведения изогении они получают одинаковый j инвариант. Для повышения стойкости протокола целесо Задача вычисления изогении между двумя изогенными кривыми сводится к задаче нахож дения цепочки у-инвариантов для изогении сте ,.... 4. пеней Эта задача является частным слу чаем задачи нахождения пути между двумя вер шинами неориентированного графа. образно выбрать кривую Е(¥р) так, чтобы наибольший общий делитель длин циклов изогении был большим простым числом. По аналогии с протоколом Эль-Гамаля можно построить протокол шифрования с открьггым ключом на изогениях. При этом в качестве элементов группы могут выступать /-инварианты эллиптических кривых. На основе шифрования с 14 Супервьфожденная эллиптическая кривая Е(¥р) открытым ключом легко реализовать диалоговый протокол опознавания «запрос-ответ». При этом имеет р + 1 точек, то есть след эндоморфизма Фробе- верификатор вырабатывает случайный запрос. ниуса равен 0. зашифровывает его на открытом ключе и носы
333 лает претенденту. Претендент расшифровывает Протокол подписи на изогенных эллиптических шифртекст на своем конфиденциальном ключе и кривых аналогичен протоколу ГОСТ Р 34.10-2001 возвращает открытый текст верификатору Be При формировании очередной подписи меняется рификатор проверяет, что полученный текст сов- эллиптическая кривая. Инвариант очередной эл падает с запросом. Если длины циклов изогений для всех чисел липтическои кривой определяется как корень модулярного полинома Ф. Однозначное соответ вычислимы, то можно реализовать и протоколы ствие эллиптической кривой у-инварианту легко цифровой подписи, аналогичные протоколам обеспечить выбором минимального по абсолют- Эль-Гамаля, Шнорра, DSS. ной величине коэффициента А или Б. В состав Однако цепочки изогений позволяют найти не подписи можно включить инвариант текущей толькоу-инварианты эллиптических кривых, но и эллиптической кривой. Для проверки подписи гомоморфизмы между кривыми, то есть получа- претендент вычисляет цепочку у-инвариантов и для вы- ется новый криптографический примитив построения протоколов. Поскольку задача числения изогений между эллиптическими кри соответствующих изогений до тех пор, пока не получит заданный инвариант. Проверка подписи осуществляется согласно ГОСТ Р 34.10-2001. выми является сложной, то и гомоморфизмы МО- При этом очередность подписи документов соот- гут быть секретными. В основу таких протоколов ветствует очередности у-инвариантов и может можно положить коммутативную диаграмму изо- быть легко проверена. морфизмов групп простого порядка г (рис. 15.1). "^ ^ £i(F. Е2{¥р [ml [т] Оценим число вершин графа изогений. Число неизоморфных эллиптических кривых над полем р равно 0(р). Изогенные кривые должны быть неизоморфными и иметь одно и то же число точек. В соответствии с теоремой Хассе количест- £i(Fp Е2(^ р Рис. 15.1 - Коммутативная диаграмма изоморфизмов групп во вариантов для числа точек на кривой равно 0(Jp). Поэтому число изогенных кривых можно оценить частным от деления числа неизоморфных кривых на количество вариантов дяя Здесь изогения (композиция изогений числа точек, то есть числом 0(S). простых степеней, взаимно простых с г), [ml операция умножения точки на показатель т, вза имно простои с г. На основе этой диаграммы можно реализовать протокол цифровой подписи, который позволяет проверить, что документы подписывались в заданном порядке. Этот протокол является Наилучшим алгоритмом вычисления изогений представляется алгоритм встречи посередине. Для каждой из двух помеченных вершин 2 графа изогений, соответствующих эл 1 и липтическим кривым 1 (Fp И 2 (F Р ищем 0(л[р) вершин, ближайших к помеченной вер- аналогом временной метки. Предполагается, что шине, и вычисляем ребра графа (изогений) ме- претендент, вырабатывающий подписи для до- жду помеченной вершиной и данной верши- кументов, подготовленных различными пользо- ной. Затем сортируем базу данных, состоящую вателями, является доверенной стороной. Как и в стандарте ГОСТ Р 34.10-2001 пара метрами протокола являются эллиптическая кри вая Е\{¥р) и точка Q простого порядка г. Секрет из пар (вершина к, путь из помеченной вершины в вершину F), по второй координате и в ней ищем равные элементы. Если найдены пути в ным ключом является логарифм открытым некоторую вершину V из вершин 1 и 2 ба ключом точка ю. Здесь ? в отличие от ГОСТ Р 34.10-2001, модулярный полином Ф дяя эллиптической кривой Е] (¥р) имеет ровно два корня над полем F^ (отсюда следует, что deg„(c?)) > 4 и степень изогений не менее 3). При этом изогений должны образовывать цикл большой длины. зе данных найдены одинаковые элементы), то путь из 1 в 2 является композицией найден ных путей. Временная и емкостная сложность задачи вы числения изогений методом встречи посередине равна оф). ш!-- ^i. \-. г Т-- к -' V ъ.-" ' Л - ^^ .' ^ ^ ^ = I л т ■ ■ч
334 Упражнения к главе 15 Найдите число точек эллиптической кривой 2 3 II X + X + 1 над полем из 5 элементов. Найдите число точек эллиптической кривой 3 X + 2х над простым полем характеристи 10 11 ки (2^4 9)1X25. Найдите число точек эллиптической кривой 2 3 X' + 5 над простым полем характеристи 61 кир Найдите число точек эллиптической кривой X ~Ау? + 2х над простым полем характе- 2 ристики р 61 * Можно ли алгоритмом Чуфа найти число гд е п рд состав точек кривой Е{Ж1пЖ\ ное число с неизвестным разложением? Изо морфизм Е(Ж1пЖ) Е(^р)@Е{¥а) позволяет рассматривать характеристическое уравнение для обоих эндоморфизмов Фробениуса над Z/wZ, контролируя наибольший общий делитель промежуточных результатов и числа п. *(Продолжение). Можно ли снизить сложность разложения составного числа, используя алгоритм Чуфа? Как связаны сроки действия ключа подписи и параметров хэш-функции в протоколе цифровой подписи Шнорра на эллиптической кривой? Сравните сложности формирования и проверки подписи в протоколах Эль-Гамаля и Шнорра на эллиптической кривой. Предложите свой вариант алгоритма шифрования с открытым ключом на эллиптической кривой. Оцените сложность вскрытия ключа подписи в протоколе Эль-Гамаля на эллиптической кривой, если генератор случайных чисел вы рабатывает числа, у которых половина дво ичных разрядов известна заранее. Пусть случайное число вырабатывается на 12 основе такого генератора случайной последовательности, у которого вероятности нуля и единицы заметно различаются. Как можно ускорить вскрытие ключа подписи на эллиптической кривой? Предложите способ нарушения безопасности протокола подписи Эль-Гамаля, если допускается J{K) = О (mod г). Покажите, что возможна атака, при которой смена персональ 13 ного ключа не позволяет продлить срок действия общего ключа. Предложите свой вариант построения вычислимой в одну сторону функции, свободной от коллизии, на эллиптической кривой. 14 Сколько бит 15 16 17 18 19 20 21 зашифрованной информации можно передать по скрытому каналу в протоколе ГОСТ Р 34.10-2001 в течение одиночной реализации цифровой подписи? Предположим, что в протоколе подписи Эль- Гамаля функция Х-^) имеет многочисленные коллизии, причем логарифмы точек R вычислимы. Как это влияет на безопасность подписи? Предположим, что в протоколе подписи «вслепую» для числа точек выполняется ра венство N=tr, где г— большое простое чис ло. G Z. Рассмотрите возможные атаки, ее ли точка Q образует всю группу порядка N. п ра и Е(Ж1пЖ) эллиптическая Пусть кривая. ниями чисел #Е(¥р) и #E{\Fci) ^ цикличностью Установите связь между разложе группы Е(Ж/пЖ) (предполагается, что вычисления на кривой выполняются корректно). *Сравните стойкость протокола Фиата Шамира на эллиптических кривых со стойко стью оригинального протокола. * Предложите вариант атаки на аналог систе мы шифрования RSA на эллиптических кри вых на основе пары шифрограмм, для кото рых открытые тексты связаны с помоихью аффинного преобразования (см. п. 9.4.2). Ка КИМ должен быть минимальный размер от крытого показателя? *Пусть Е/¥р — эллиптическая кривая, задан пая над полем из п элементов и содер жащая группу простого порядка г. Тогда Е{¥ собственные значения степеней д обладает комплексным умножением на эндомор- Разработай- физма Фробениуса от О до и те алгоритм перевода показателя Ж/пЖ во фробениусову систему счисления так, чтобы абсолютная величина каждой цифры была минимальной. к 22 Может ли число точек на кривой #Е(Ж/р Ж) быть простым? Пусть ШШр^Ж) — — эллиптическая кривая. Оцените сложность вычисления логарифма 23 на этой кривой. *Разработайте набор алгоритмов, реализую щих быстрое умножение дивизора гиперэл липтическои кривой на число с использованием комплексного умножения. Набор алгоритмов должен содержать вычисление собственного значения оператора комплексного умножения, разложение порядка якобиана в кольце целых элементов числового поля, ми-
нимизацию показателя умножения. для комплексного 24. Пусть кривая Е1¥р обладает над полем F^, р, комплексным умножением на собст венное значение ф эндоморфизма Фробениу са, где ф — целое квадратичное число. Опре делите, какой из двух корней характеристи ческого уравнения для эндоморфизма Фро 25. бениуса является собственным значением в F(7, не умножая точку на целое число. * Разработайте протокол диалогового опознавания с нулевым разглашением на изогениях эллиптических кривых (разглашение должно быть на самом деле нулевым, не допускается предъявление даже изогении). части результирующей Литература к главе 15 10 Айерлэвд К., Роузен М. Классическое введение в современную теорию чисел. М.: Мир, 1987. Лидл Р., Нвдеррайтер X. Конечные поля. М.: Мир, 1988. Маховенко Е.Б., Ростовцев А.Г. Быстрая арифметика для эллиптических кривых над расширенными полями // Проблемы информационной безопасности. Компьютерные системы. 1999. № 2. С. 50-54. Мишина А.П., Проскуряков И.В. Высшая алгебра. М.: Наука, 1965. Ростовцев А.Г. Алгебраические основы криптографии. СПб,: Мир и Семья, Интерлайн, 2000, Adleman L., Huang М. Counting rational points on curves and abelian varieties over finite fields // Algorithmic number theory. H. Cohen (ed.). Lecture Notes Ш Computer Science. Springer-Verlag. 1996. Vol. 1122. P. 16. 12 Atkin A.O., Morain F. Elliptic curves and primality provmg Mathematics of Computation. 1993. 13 Vol. 61. P. 29-68. Cassels J., Frohlich A. Algebraic number theory. Proceedings of an International Congress by the London Mathematical Society. Washington, 1967. Ростовцев А.Г. О выборе эллиптической кривой 14, Koblitz N. Hyperelliptic curve cryptosystems//Jour над простым полем для построения криптографи nal of Cryptology, 1989. Vol, I, P, 139 150. ческих алгоритмов // Проблемы информационной i5. Miyaji A, Elliptic curves over F^, suitable for crypto безопасности. Компьютерные системы. 1999. №3. С. 37-40. Ростовцев А.Г., Маховенко Е.Б. Класс самых быстрых эллиптических кривых для стандарта циф- 16. systems // Advances in Cryptology — AUSCRYPT '92. Lecture Notes in Computer Science. Springer Verlag. 1993. Vol. 718. P. 479-491. Schoof R. Counting points on elliptic curves over ровой подписи // Сб. тезисов конференции «Методы и технические средства обеспечения безопасности информации». СПб. 2002. С. 100-101. Ростовцев А.Г., Маховенко Е.Б. Криптосистема на категории изогенных эллиптических кривых // Проблемы информационной безопасности. Ком- finite fields Journal de Theorie des Nombres de 17 18 Bordeaux. 1995. VoL 7. P. 219-254. Silverman J.H. The arithmetic of elliptic curves. Springer-Verlag, 1986. Smart N. On the performance of hyperelliptic пьютерные системы. 2002. № 3. С. 74-81. Ростовцев А.Г., Маховенко Е.Б. Подпись и шиф рование на эллиптической кривой: анализ безо curve cryptosystems // Advances m Cryptology — EUROCRYPT '99. Lecture Notes in Computer 1999. Vol. 1592. пасности и безопасная реализация // Проблемы информационной безопасности. Компьютерные системы. 2003. № 1. С. 73-83. Ростовцев А.Е., Маховенко Е.Б. Реализация протоколов на эллиптических 1фивых 19 Science. Springer-Verlag. P.165-175. Lercier R., Morain F. Algorithms for computing Проблемы информавдонной безопасности. Компьютерные системы. 1999. № 4. С. 62-67. 20 isogenies between elliptic curves // Computatюnal perspectives on number theory. AMS/IP Studies on Advanced Mathematics. Vol. 7. Tate J. Endomorphisms of abelian varieties over nite fields // Inventiones Mathematicae. 1966. Vol. 2 P. 134-144.
- .t Глава 16. ОБЩИЕ СВЕДЕНИЯ ОБ ИТЕРИРОВАННЫХ КРИПТОАЛГОРИТМАХ 16.1. Основные понятия классической криптографии Симметричным шифром будем называть совокупность взаимно однозначных преобразований множества открытых данных в множество зашифрованных данных, осуществляемых по определенным правилам с помощью секретного изменяемого параметра — правило одинаковых или незначительно различающихся. Кая^дая итерация содержит набор несложных обратимых операций преобразования шифруемого текста. 16.2. Некоторые положения теории секретности Шеннона — ключа, причем знание ключа на передающей стороне позволяет вычислить ключ на приемной стороне, и обратно. Если шифр осуществляет обратимое отображение слов фиксированной длины п бит в слова фиксированной длины т бит, то этот шифр называют блочным^ а число п — Принято считать, что научная криптография начинается с докладд К. Шеннона «Математическая теория криптографии», представленного в — длиной блока. Чтобы можно было обратимым образом зашифровать любое слово длины п бит, необходимо выполнение неравенства т>п 1945 г., который позднее был изложен в его статье [7]. Секретной системой (или просто системой) Шеннон называет конечное множество взаимно однозначных отображений множества открытых блочным от- текстов (сообщений) в множество шифрофамм. носятся шифры гост 28147-89, (см. гл. 19). Часто блочный шифр реализуется последовательным выполнением несложных процедур, включающих в себя сложение блока текста с блоком ключа, подстановку (замену) слов текста. RIJNDAEL Вид отображения полностью определяется способом шифрования и ключом. Для обмена информацией по незащищенным каналам связи отправитель и получатель предва- перестановку или сдвиг и т. п. Последователь рительно выбирают общий секретный ключ из множества возможных ключей. Нарушитель знает способ шифрования, имеет доступ к шифро- ность этих процедур обычно чередуется. Оди- граммам, но не знает ключа (^и открытых тек ночное повторение таких чередующихся проце стов). Цель нарушителя нарушение конфи рования. дур будем называть итерацией или циклом тиф- денциальности, то есть вскрытие ключа или нахождение открытых текстов. Шеннон одним из первых ввел понятие ком- бинации секретных систем. Взвешенной суммой множестве итерированных шифров наряду с блочными различают поточные шифры. Поточный шифр осуществляет поэлементное зашифрование открытого текста, однако способ шифрования зависит от нескольких предшествующих (последующих) разрадов открытого текста. Типичная схема поточного шифрования представляет собой сдвиговый двоичный регистр с нелинейными обратными связями. На вход регистра систем и называется такая система pR + qT^ что S совпадает с Re вероятностью р и совпадает с Г с вероятностью р. Вы или определяется частью сек бор в пользу ретного ключа системы S. Операция взвешенного сложения ассоциативна и коммутативна. По подается открытый текст, на выходе получается шифртекст. Итерированным назовем симметричный блочный шифр, полученный путем выполнения нескольких итераций (циклов шифрования), как 2 Секретная система и криптосистема— разные понятия. Криптосистема включает в себя, кроме способа шифрования, способы генерации ключей, их I доставки, ввода в действие, вывода из действия и уничтожения, а также криптографические протоколы, хэш-функции, способы аутентификации. Таким обра- Термин «цикл шифрования» правильно передает зом, понятие секретной системы по Шеннону аналогично понятию шифра или даже одной итерации шифра -. -•- - ^ смысл понятия, хотя один цикл может отличаться от 5 другого, например, используемьш блоком ключа.
337 индукции взвешенная сумма распространяется чей (открытых текстов) этом случае наилуч на любое число слагаемых. Другой способ комбинации— произведение шим способом атаки является изучение вероят ? ностеи того, что данный открытый текст перехо или композиция^ заключается в последова- дит в данную шифрограмму. и тельном применении секретных систем множеству входных текстов (записывается RT 4 К Секретная система называется совершенной^ если зашифрованный текст не дает никакой ин- сначала выполняется Г, затем R). Композиция формации об открытом тексте. Если Р{Х) систем ассоциативна: (QR)T= Q{RT), но в общем случае некоммутативна: 7?Г^ 77?. ап риорная вероятность открытого текста X и Р(Х\ Y) — условная вероятность того, что шиф- Системы, у которых множества открытых и рограмме Y соответствует открытый текст X, то совершенная система задается равенством зашифрованных текстов совпадают, называются эндоморфными. Для эндоморфных систем с одинаковыми множествами входных текстов определены произведения и степени. При этом /7-й степенью эндоморфной секретной системы Т яв- последовательное w-кратное приме- , Далее будем рассматривать Р(Х) рт п Это P(Y) равенство эквивалентно равенству ляется P{Y\X) для шифрограмм, где P(Y) вероятность шифрограммы ап нение системы только эндоморфные системы риорная P(Y\X)— условная вероятность того, что шиф рограмма Y соответствует открытому тексту X. и Шифр определяемый ключом обознача ется Tj. Чистым называется шифр, у которого совершенной системе число ключей должно быть кратно числу открытых текстов, а кая^ый открытый текст должен переводиться в каждый для любых трех ключей /, j\ к существует такой зашифрованный текст одним и тем же числом ключ /. что ZT, 1 к / и все ключи равновероят- ключей. Например, если чистый шифр содержит ны, в противном случае шифр называется сме единственную область транзитивности. то он тайн ым чистом шифре множества открытых текстов, как и множества зашифрованных текстов. является совершенным. Естественные языки обладают избыточно распадаются на такие непересекающиеся под множества {области транзитивности\ что данный открытый текст может быть переведен в любой из текстов, лежаших в области транзитив стью, в них не все открытые тексты являются равновероятными, что позволяет ввести в рассмотрение условную энтропию.^ Ненадеэ1СН0' стью ключа называется условная энтропия Н(К ности, выбором соответствующего ключа. ключа К при известной шифрограмме 5 При ненадежностью сообщения условная энтро полном переборе ключей каждый элемент данно- пия Н{Х\ У) открытого текста X при известной Эти энтропии определяются го подмножества открытых текстов может быть шифрограмме переведен в любой элемент соответствующего следующим образом: подмножества зашифрованных текстов такой же мощности. При этом число ключей, осуществляющих перевод любого открытого текста из Н{К I У) - У P{Y, К) log Р{К 17), У'Л дднного подмножества в каждый из элементов подмножества зашифрованных текстов, одинаково для всех открытых текстов и является дели- H(X\Y)^yP(Y,X)\ogP{X\YX УЛ телем мощности множества ключей. Предположим, что нарушитель имеет бесконечные вычислительные возможности и не знает ни ключа, ни открытых текстов; ключ (открытый текст) выбирается случайно из множества клю- где P(Y, К) — вероятность появления ключа К и шифрограммы Y при вероятностей открытых текстов, Р{К заданном распределении вероятность того, что для ключа А появилась шифро грамма Y при заданном распределении вероятно 3 Примером взвешенной суммы является операция обратимой замены слова текста словом такой же длины. Такая замена описывается подстановкой, являющейся частью ключа или параметром шифра, как в ГОСТ 28 ] 47-89 (см. п. ] 9.6). ^ Для задания композиции RT необходимо, чтобы множество выходов системы Т совпадало с множеством входов системы R. стеи открытых текстов. Ненаделшость ключа и ненадежность сообщения являются невозрастаюш,ими функциями от числа Л^ известных символов шифрограммы. связи с избыточностью языка ненадежность ключа и ненадежность сообщения быстро стремятся к нулю с ростом числа известных символов шифрограммы. Если избыточность языка на 5 Понятие транзитивности анаяогично можно оп 6 данном параграфе под энтропией всюду по ределить и для смешанного шифра. нимается шенноновская энтропия.
338 одну букву равна Д то ненадежность ключа ста При разработке шифра следует максимизиро новится практически нулевой при ND = 0{Н{К)). вать минимальный объем работы, которую должен Нулевая ненадежность означает, что существует проделать нарушитель для нахождения ключа. Для практически единственное значение ключа, этого не достаточно быть уверенным в том, что удовлетворяющее заданной шифрограмме. Ми- никаким известным методом вскрыть ключ необъем нимальныи шифрограммы, соответст- возможно. Надо быть уверенным в том, что этого вующий практически единственному значению нельзя достичь вообще никаким методом. Дейст- ключа, называется точкой единственности. При вительно. история криптографии показывает, что нулевой ненадежности нарушитель с неограни- часто за появлением нового шифра следует появ- ченными вычислительными возможностями мо- ление нового метода криптоанализа, вскрываю- жет вскрыть ключ. щего этот шифр. Проблема создания шифра за- Если язык обладает нулевой избыточностью ключается в отыскании наиболее сложных задач, (все символы равновероятны, все слова заданной удовлетворяющих определенным условиям.^^ длины равновероятны и т. п.), то ненадежность При разработке шифра с малым ключом не ста использовалась значительная часть ключа. ключа и сообщения не зависит от длины шифро- обходимо стремиться к тому, чтобы при шифре граммы, известной нарушителю. Такие секрет- вании каждого малого элемента открытого тек ные системы называются идеальными. Если нарушитель знает только шифрограммы, то вскрытие ключа идеальной системы невозможно. Для Некоторые методы криптоанализа, например, того чтобы система приблизилась к идеальной, частотный метод анализа моноалфавитной под- следует максимально уменьшить избыточность 7 языка. Если нарушитель обладает конечными вычислительными возможностями, необходимо учитывать трудоемкость вскрытия ключа. Средний объем работы по нахождению ключа Шеннон называет рабочей характеристикой шифра.^ Это среднее значение берется по всем открытым тек- становки (см. подробнее п. 16.7.1), основаны на использовании избыточности открытых текстов. которая определяется статистическими свойствами шифрограмм. Рассматривая статистические методы криптоанализа. Шеннон приписывает каждой статистике S (набору шифрограмм) неко торую «разрешающую мощность». Пусть стам и всем ключам с учетом их вероятностей. Обеспечить высокую рабочую характеристику H(K\S) ненадежность ключа при статистике S. Взвешенное среднее ^P{S)H(K\S) (сумма бе- можно даже при практически нулевой ненадеж- рется по всем шифрограммам) дает среднюю не- «Разре- ности ключа. После того, как объем шифрограммы пре надежность ключа при известном S. можно взойдет точку единственности, ключ вскрыть перебором. Однако этот метод (по су — метод проб и ошибок) практически нереа лизуем из-за большой трудоемкости.^ тающей мощностью» статистики разность Н{К) - У P(S)H{K \ S), называется ти Различают хорошие и плохие статистики. Хорошая статистика характеризуется следующими 7 Если нарушитель знает открытые и соответствующие зашифрованные тексты, то понятие идеаяь- ности теряет смысл. Ключ определен однозначно. свойствами: если шифр реализует случайное отображение множества текстов в себя и нарушитель знает 1,368Я(АГ) символов открытых и соответствующих зашифрованных текстов (см. п. 16.2.1). По сути этот термин аналогичен понятию стойкости шифра. ^ На практике в криптоанализе используют усовершенствованные методы проб и ошибок, среди которых можно выделить два класса. Первый класс ме- ее легко вычислить; она зависит от ключа К больше, чем от открытого текста X; изменения по X не маскируют изменения по К; те значения статистики, которые могут быть распознаны, несмотря на размытость, создаваемую изменениями по X, разбивают множество ключей на несколько подмножеств ? доля ключей, то сложность вскрытия оценивается тодов характеризуется тем, что множество ключей полиномом от длины ключа. упорядочивают по вероятности ключа быть истинньгм ^^ Имеются два подхода к решению этой пробле- и опробование выполняют, начиная с наиболее веро- мы. Первый заключается в изучении всех методов криптоанатгаза, которыми пользуется н^ушитель, опи- Второй класс характеризуется тем, что в резуль- сании их в общих терминах и принятии мер противо- тате опробования отбраковывается не один ключ, а действия этим методам. Второй подход состоит в том, подмножество ключей. Например^ если в результате чтобы свести задачу вскрытия шифра к некоторой хо- каждого опробования исключается фиксированная рошо известной общепризнанно сложной задаче. ятных ключей.
339 причем статистика позволяет распознавать подмножество, в котором лежит правильный ключ; информация, даваемая статистикой, проста и удобна в использовании. Дяя противостояния статистическому крип тоанализу Шеннон предлагает в шифре обеспечить рассеивание {диффузию^ diffusion) и перемешивание (confusion). При рассеивании статистическая структура открытых текстов, приводящая к по избыточности шифрограмм, «распыляется» шифрограммам большой длины, в результате статистика становится трудновычислимой. При перемешивании соотношения между простыми статистиками в множестве шифрограмм и простыми подмножествами в множестве ключей делаются весьма сложными и беспорядочными. 11 Шеннон предлагает строить шифр с использо- несложных, не коммутирующих между ванием собой операций по аналогии с перемешиванием теста: сначала тесто раскатывается тонким слоем, затем скатывается, затем опять раскатывается и т. д. Для зашифрования открытый текст, записанный на естественном языке (русском, английском и т. п.), разбивается на блоки фиксированной длины. Шифр представляет собой композицию операций перестановки букв в блоке, замены подблоков из нескольких букв и сложения букв по модулю числа букв в алфавите (практически складываются номера букв в алфавите при их естественном упорядочении). При этом операция замены должна быть определена на небольшом числе символов, а операция перестановки должна распределять изменения равномерно по всему блоку. 16.2.1. Объем текстов, однозначно определяющих ключ Если открытые тексты не обладают избыточ ностью (каждый блок данных выбирается слу чайно и равновероятно из множества всех воз Оценим объем открытых и зашифрованных текстов, необходимых для однозначного определения ключа шифрования (без учета сложности вычислений). Предположим, что длины блоков открытых и зашифрованных текстов и длина (энтропия) ключа совпадают, а шифратор реализует случайное отображение множества ключей в множество пар блоков открытых и соответст- опреде- вующих зашифрованных текстов. Для ленности будем считать, что нарушитель знает открытый текст и соответствующую шифро- фамму. Если длина ключа отличается от длины блока, то можно перейти к «увеличенным» блокам. Поскольку мощности множества ключей и множества зашифрованных блоков одинаковы, то шифрование можно рассматривать как ото бражение множества блоков открытых текстов в себя. Пусть длина блока и ключа равна п бит Множество ключей задает отображения откры тых текстов в зашифрованные. Если отображе ние является случайным, то произвольный от крытый текст с равной вероятностью переходит в любой зашифрованный текст. Отображение множества открытых текстов в множество зашифрованных текстов можно за дать таблично. Зафиксируем N ю открытых тестов и зашифруем каждый из них на каждом из Л^ ключей. Если среди Л^ зашифрованных текстов шифртекст, соответствующий данному ключу, встречается однократно (или не встречается ни разу), то для определения ключа достаточно одного текста. Если данный шифртекст встречается дважды, то для определения ключа достаточно двух текстов и т. д. Аппроксимируя случайное отображение пуас- соновским процессом, легко найти вероятность того, что данный открытый текст встретится в точности к раз. Эта вероятность приблизительно равна ек\ , где е основание натурального ло для вскрытия ключа 5 можных блоков одинаковой длины), то наруши- гарифма. Математическое ожидание числа пар тель никогда не сможет вскрыть ключ на основе открыгых и соответствующих зашифрованных зашифрованных текстов [7]. Если же открытые текстов, необходимых данные обладают избыточностью или если на рушитель знает открытые и зашифрованные тек сты, то ключ может быть вскрыт. При этом вы числительные возможности нарушителя предпо лагаются бесконечными. можно оценить выражением + 1 + 2 12 е е е-2\ + 3 е-3\ + 1 + ? 368 II Термин «простая» применительно к статистике следует понимать как эффективно распознаваемая, а е «простые» применительно к подмножествам клю чей 12 как эффективно перечислимые. Отсутствие ограничений на вычислительные возможности нарушителя ведет к тому, что перебор ключей может быть проведен мгновенно. Поэтому для однозначного определения ключа, шенноновская энтропия которого равна п бит, требуется примерно \368n бит открытого текста предположении, что все зашифрованные тексты нарушителю известны).
340 16.2.2. Теория аутентификации Симмонса где ДК К) нт нтк) взаимная информация шифрограммы и ключа. Справедливо не По аналогии с теорией секретности Г. Сим монс предложил теорию аутентификации равенство \ogP I > I(Y, К), причем равенство со достигается при одновременном выполнении ус общений [13]. Как и в теории Шеннона, предпо- ловий: лагается, что нарушитель не знает ни сообщения. ни ключа. Пусть к получателю поступают шифрограм вероятность Р( У допустимо) не зависит от (то есть попытка имитации оптимальна при случайном выборе Y); мы У от подлинного отправителя и / от нарушителя. Цель нарушителя— навязать ложное сообщение, которое будет принято как подлинное. для каждой шифрограммы вероятность Обозначим через Р/ вероятность успешного на вязывания ложной информации, а через Ps — P{Y\K) одинакова для всех К, при которых h(Y,K) вероятность успешной подмены подлинного сообщения ложным. Определим вероятность обмана чить Аншюгичными рассуждениями можно полу /(У, К), причем достижение равен logP, > d max(P/, Р s). Пусть 4Y}, #Щ, ЦК} мощности MHO ства соответствует совершенной аутентичности. Задачи обеспечения секретности и аутентич ности противоречат друг другу: малая вероят жеств соответственно шифрограмм, открытых ность обмана d достижима лишь тогда, когда текстов и ключей, обладающих ненулевой вероятностью. Из условия однозначного расшифрования следует, что для каждого ключа существует не менее #{Х] различных шифрограмм У, для /(У, К) велико, то есть когда шифрограмма дает нарушителю большую информацию о ключе. 16.3. Булевы функции и булевы формулы которых P{Y\K)> О, так как любой текст X может быть зашифрован и расшифрован. Следова- Любую булеву функцию можно (по крайней тельно, если нарушитель выберет У случайно из мере, теоретически) задать в виде таблицы. Если множества шифрограмм с ненулевыми вероятно- число аргументов булевой функции равно п ? то стями. то вероятность / успешной имитации определяется неравенством #{Х} таблица содержит 2 наборов аргументов. Для каждого из наборов функция может принимать значения или Pj^ #{У 1 Все булевы функции можно перечислить, выписывая всевозможные двоичные слова длины 2". Число таких слов (то есть Поэтому для защиты от обманов необходимо, различных булевых функций) равно 2^. чтобы #ш MY). При этом полная защита {р I 0) невозможна. «Совершенная аутентичность» определяется как наибольшая защита, достижимая при заданной мощности множества допустимых шифрограмм. . Пусть ции, что /г(У, К) при ? такая функция аутентифика — шифрограмма, до Переменная х, называется существенной для булевой функции J{xu ...^х„\ если равенство /(д:|,...,д:^,...,д:^,)=^/(д:|,..., x^,...,д:^,) выполняется не для всех наборов переменных, в противном случае она называется несущественно^ или фик- если тивнои. пустимая KY,K) данном секретном ключе А, и в противном случае. При данном ключе К получатель примет шифрограмму У как Далее будут рассматриваться следующие бу истинную только тогда, когда /г(У, К) вероятность успешного навязывания равенством Р(Удопустимо) = Y.^^Y,K)P{K) к Справедливо неравенство Тогда задается левы функции: константы и существенно зависящие от О переменных (нуль-арные); тождественная функция fix) ~хи инверсия X, существенно зави- (функция НЕ) fix) сящие от одной переменной (унарные); функция сложения по модулю 2: fix^y) УР{¥) logP(Удoпycгимo)>-/(У,A), 13 Обобщенная схема аутентификации включает в х@у^ существенно зависящая от двух переменных и принимающая значение при себя двух легальных участников претендента и верификатора, причем верификатор по определению не доверяет претенденту. Кроме того, предполагается x^y\^ значение О прих функция и (конъюнкция): f{x^y)'=xy (запи сывается такж:е х л у\ существенно завися щая от двух переменных и принимающая существование нарушителя, действующего автономно или в сговоре с верификатором (см. рисунок 8.2). значение при X тальных случаях; и значение в ос '--■-^^i^ ^i-'' -Л^' -^J^^-t'^'-^'-^Ax^' it'-
341 функция или (дизъюнкция): Х-^?>')'^-^ v v, кцию. Существуют базисы, состоящие из одной существенно зависящая от двух переменных функции, например, х\/у,ху и принимающая значение при X и значение i в остальных случаях. Функции и задают соответственно ело жение п умножение в поле 1г2 и поэтому коммутативны, ассоциативны, умножение дистрибутивно относительно сложения. Элементы Обычно используются базисы из функций, задающих на множестве формул алгебраическую структуру ПОЛЯ или полукольца. Например, базис с бинарными операциями сложения и умножения по модулю и нуль-арной операцией кон поля р2 образуют аддитивную группу с опера Другой часто циеи сложения по модулю каждый элемент противоположен сам себе. Функция И идемпо тентна: хх X. Функция ИЛИ коммутативна, ассоциативна, дистрибутивна относительно идемпотентна и стантой 1, задающий на паре {true, false} струк туру поля, изоморфного полю Г2 используемый базис состоит из бинарных операций И (умножение), ИЛИ (сложение) и унарной операции НЕ и задает полукольцо булевых формул, изоморфное дистрибутивной решетке с отношением порадка О < функции И; функция И дистрибутивна относительно функции ИЛИ. Каждая из операций И, Используя законы де Моргана: ху XV V, ИЛИ задает на поле F2 структуру коммутативного моноида, который не может быть вложен в группу. х\/ у х/\у и свойство дистрибутивности, лю Поэтому пара бинарных операций И, бую булеву функцию в базисе И, ИЛИ, НЕ можно ИЛИ образует коммутативное полукольцо. Любая из них может считаться сложением, а оставшаяся операция— умножением. Если сложение задано операцией ИЛИ (И), то нулем полукольца записать в виде дизъюнктивной нормальной формы (ДНФ) / (Xi, ..., X п V X, X. ,х Jn ' является (1) Нетрудно убедиться, что оба ва рианта задают изоморфные полукольца, поэтому обычно в качестве сложения используется операция ИЛИ, а в качестве умножения — И. Для или в виде конъюнктивной нормальной формы (КНФ): / (Xi,..., X п /\(Xi \/Х, V.. ^ ^1 /2 ^ ^7- ) ' обеспечения функциональной полноты (возможности записать любую булеву функцию с помо- где символ ./ п означает, что соответствующая нерассмотренному ременная входит в выражение с инверсией или щью указанных операций) к множеству операций обычно добавляется унар- без инверсии пая операция НЕ. Законы де Моргана определяют алгоритм пе- Из 16 возможных булевых функций двух пе- рехода от ДНФ к КНФ, задающий изоморфизм пары функций задают полуколец булевых функций, поэтому все свой- ременных только две структуру кольца на множестве {О, 1}. Это рас- ства ДНФ автоматически переносятся на КНФ. смотренные выше функции сложения и умножения по модулю 2, а также инверсия функции ело- записанной Представление булевой функции формулой. в ДНФ, неоднозначно. Например, жения по модулю 2 (сложение) и функция ИЛИ формулы xyz v xyz v xyz и xy\/xz задают одну и (умножение). В этом случае нулем кольца явля- ту же функцию. Поэтому в множестве ДНФ суще- . Полученное кольцо яв- ствуют классы эквивалентности, представляющие ется а единицей ляется полем, изоморфным полю F2; изоморфизм одни и те же булевы функции, и возникает проблема поиска представителей этих классов. Булева формула, записанная в ДНФ и представляющая некоторую булеву функцию, может задается инверсией Функции , И, ИЛИ по индукции определя ются для произвольного числа аргументов функция может быть также Булева формулой булеву формулу индуктивно: каждая переменная Xi — формула; задана быть минимизирована по числу дизъюнкций и среднему числу элементов в конъюнкциях.^^ По некотором базисе В). Определим 14 если g{x, 9 Xi I п И /ь ••">Jm Здесь под решеткой понимается частично упорядоченное множество, в котором каждая пара эле- формулы, ментов имеет точную верхнюю и точную нижнюю TOg(A, ./J формула грани (см. п 14. 15 Базисом может служить набор нуль-арных. унарных или бинарных булевых функций, позво ляющих реализовать произвольную булеву фун После минимизации не все «слагаемые» имеют одинаковую степень, поэтому минимизированная булева функция в общем случае не является формой, тогда как до минимизации степени всех слагаемых одинаков ы. ^^< ^ ^ - - ■ u^-v- - ^h- -i.
342 аналогии с несущественной переменной опреде одинаково часто соответствии с п. 3.15 сба лим нестандартную конъюнкцию^ имеющую вид лансированный полином/е Gr, имеет в точности —т » 1 тт rsD-l . _ _ >^ ааЪ. где а. произвольные формулы. Не различных неразложимых делителей. стандартные конъюнкции представляют нулевую кольце G„ полином вида х^@Ях\^. .Х,-1 ■> константу и могут быть исключены. Если в ДНФ Xj+i ,.,,Xfj) задает сбалансированную входит выражение вида cd\/cd. где с и булеву произвольные формулы, то в силу_дистрибутив ности получаем: cd\/ cd ~c{d\/ d) того. справедлив закон с . Кроме поглощения: функцию. Действительно, функция х, сбалансирована, и переменная Xj не входит в полином / Поэтому, если на некотором наборе из п пе о cvcJ^cl \/cd= c{\\/d) = c для произвольных формул с, d. Минимизация выполняется с использованием свойств идемпотентности, дистрибутивности и поглощения и основана на исклю- ременных х,, ,х о / о ,х о п мает X о 1' значение , x,-^i, О, X то /-1 / + 15 ,х о п и X на о 1 '• полином / прини- наборов паре ,х о / 1,1, д: о /+1' » •* Л о п ния и чении несущественных конъюнкции. Минимизированное представление булевой функции в виде ДНФ может быть различным, ременных x[,...,х,' полином Xj ©/принимает по одному разу значе Если на некотором наборе из п пе- 1 1 i,x 1 ; + 1, ...,Х 1 Г) ПОЛИНОМ / прини Например, булева функция / четырех перемен мает значение ных. принимающая на двоичных наборах то на паре наборов 1 1 {хо^хихг^хъ) вида (О, О, О, 0), (О, О, О, 1), ..., (1, 1, 1, 1) значения соответственно I, О, 1, 1. I, 1, Хл,..., Xji^ и, X 1 /+1? ,x 1 п и 1 X., ,х 1 /-1 ,l,x 1 ;+ ? » »Ч Л 1 п ПОЛИНОМ Xi +/ тоже принимает по одному разу О, 1, О, 1, О, 1, О, О, О, О, имеет минимальные значения О и 1. Это рассуждение справедливо и в представления: том случае, когда полином/зависит от меньшего _ числа переменных. XqXjX^ V х^х^х^ V х^х^Х2 V х^х^х^ Назовем булеву функцию аффинной, если она и Хг^ХлХ-. V Xf^X^X', V ХпХХ^ V XcsX^X 0-^1-^2 0-^2-^3 0^1 ^3 0-^1^3 Полукольцо ДНФ от п переменных с суммой в виде точной верхней грани и произведением в виде точной нижней i рани иногда называют по лукол ь цом кольце п решеточных полиномов. полу /7 единственным обратимым элементом является константа Определим идеал полукольца Ь^ как множест во, замкнутое относительно операции нахожде ния точной верхней грани, причем точная ниж Н5[я грань произвольного элемента из L^ и эле мента идеала является элементом идеала. Глав ныи идеал полукольца т образованный поли номом gZ.. состоит из полиномов вида fg. где Булевы функции и булевы формулы являются одним из основных инструментов описания итерированных шифров. Например, любую п- разрядную подстановку и вообще любое отображение множества Z/2''Z в себя можно задать с помощью п булевых функций. Задача вскрытия ключа итерированного шифра сводится к задаче решения булева уравнения (см. п 16 2). 16.4. Аффинно эквивалентные булевы функции и подстановки задается формулой вида а о а^х Булева / функция называется линейной, если «о Заме на переменных Xf аффинными булевыми функциями дает аффинную булеву функцию. Непостоянная аффинная булева функция всегда сбалансирована. Подстановку, действующую на множестве из ю элементов, можно задать строкой из п П разрядных двоичных чисел. Каждый из п разрядов подстановки является булевой функцией п переменных и может быть задан полиномом Же- галкина.^^ Назовем и-разрядную подстановку линейной над р2 (или просто линейной), если она задается уравнением V /.X 5 где невырожденная над 2 матрица размера пхп (то есть detZ линейной подстановке каждый разряд описыва ется линейной булевой функцией. Композиция линейных подстановок соответ ствует умножению матриц этих подстановок, поэтому линейные подстановки, как и невырож денные матрицы одного размера, образуют под группу симметрической группы, действующей на множестве Ж12^' Назовем «-разрядную подстановку аффинной над F2 (или просто аффинной), если она задается уравнением у Lx а, где невырожденная над F2 матрица размера и х «, а — вектор сдвига. Определим сбалансированную булеву функ цию как функцию, принимающую значения и 16 См. также п. 3.15 -п^-■f-^--'' „. ,' ?^ ;
343 аффинной подстановке каждый разряд описы вается аффинной булевой функцией. Подстановка, обратная к аффинной, тоже яв Назовем обратимой аффинной заменой пере X а L'\ я ляется аффинной: Композиция двух аффинных подстановок явля ется аффинной подстановкой: МувЬ, то z = MZxeA/a@ менных полинома J{x\. финное отображение \ хЛ Gn Lx а, где X обратимое аф , — , Xfi) 1 Уп) при котором полином Ях\ X п если у Lx а 5 г М'х где матрица М невырождена. Поэтому аффинные подстановки также образуют подгруппу симмет- переходит в полиномДуь ...,>'„). Аффинную замену переменных можно представить как аффинную подстановку, действующую на множестве наборов аргументов. Назовем булевы функции Ях\, ..., х Г) И рическои группы, действующей Z/2"Z. на множестве Аналогично определяются линейные и аф ё{уъ ---^Уп) е Gw аффинно эквивалентными^ если существует обратимая аффинная замена пере- финные подстановки над произвольным конеч менных у Lx а, переводящая g в /*или в /*@ ным коммутативным кольцом с единичным элементом. Очевидно, что определитель матрицы обратимой подстановки должен являться обратимым элементом кольца R. Такие подстановки образуют подгруппу симметрической группы, действующей на «-разрядных словах #/?-буквен- ного алфавита. g{Lx в а) /(X), /(X) Поскольку аффинные подстановки образуют группу, это отношение рефлексивно, симметрично и транзитивно. Тогда для каждого класса эквивалентности существует канонический пред Теорема 16.4.1. Подстановка S «-разрядных ставитель. Например, каноническим представи двоичных слов задается п полиномами Жегалки- телем аффинных полиномов естественно назна на, степень которых не превышает п ЧИТЬ полином X|. Доказательство. Подстановку можно за дать п булевыми функциями. Объединим одноименные коэффициенты булевых функций в п- финной замене переменных степень Теорема 16.4.2. При любой обратимой аф полинома разрядные векторы: а о ® у а,х / > ^ijXjX } />/ ^l.../7-^l --^П Жегалкина не меняется. Доказательство. Пусть g— полином, полученный из полинома Жегалкина/при помощи обратимой аффинной замены переменных. Тогда Выразим векторные коэффициенты через зна чения подстановки. Полагая х\ . Полагая все х, X Г) на ходим an Xj 1, получаем J при j^i и deg(/) < deg(g^), так как каждый одночлен степени J полинома/заменяется произведением J линейных полиномов, а получение степени, большей J, а / sm ® s{i\ а у ЯО) © Я!) ® 5(1) ЭД), потребует более d сомножителей. В этом случае и полином / получается из полинома g обратной заменой переменных, то есть полиномы/и g аффинно эквивалентны. Поэтому deg(^) < deg(/) и. следовательно, deg(/) deg(^). ai2... ...fl sm e s{\) e sii) e S{\2...n) Назовем подстановки и Т аффинно эквива Сумма в правой части содержит слагаемые от 00...О до П.. Л, переставленные в соответствии с и поэтому равна нулевому век- единственный коэффициент лентнымщ если существуют аффинные подста новки А^ В такие, что ASB = Т. Последнее равен подстановкой тору. ство эквивалентно равенству AS ТВ 1 Аффин ai2... № Поскольку описывающий нелинейность пая порядка п. равен нулю, то подстановка S имеет порядок не эквивалентность подстановок рефлексивна, симметрична и транзитивна. Множество А аффинных подстановок является подгруппой сим- линеиности не выше п метрической группы. Определим максимальный (минимальный) порядок нелинейности подстановки как максимум (соответственно минимум) степеней полиномов эту подстановку. Жегалкина, представляющих Аналогично можно определить и порядок нелинейности произвольного отображения множества Ж/Т'Ж в себя. Пример 16.4.1. Аффинно эквивалентные под становки. Пусть подстановка S задается таблицей
344 Выберем аффинные подстановки А(х) х + ? Б(х) Х4- Если умножить двоичные векторы (О, О, О, 0), (О, О, О, 1),..., (1, 1, I, 1) на матрицу подстановки и прибавить соответствующий вектор сдвига, то подстановку А можно записать в виде таблицы: Аналогично для подстановки В: ^/Произведение подстановок ASB иметь вид 17 будет Оценим вероятность того, что случайная под становка будет аффинной. Аффинная подстанов ка задается произвольным вектором сдвига и не вырожденной над г2 матрицей размера пхп и поэтому может быть сгенерирована следующим вероятностным алгоритмом. . Выбрать произвольный вектор сдвига. . Выбрать произвольную ненулевую первую строку матрицы. . Выбрать произвольную ненулевую вторую строку матрицы, отличную от первой строки. Выбрать произвольную ненулевую третью первых строк равно третьих строк 2 вторых строк — и т. д. Поэтому число невырожденных аффинных подстановок равно #А Л П 2°)(2 /7 1 )(2 17 2 )...(2 Г) П'\ Вынесем 2" за скобки и изменим порядок со множителей: #А п +п п л Произведение дробных сомножителей схо дится к ненулевому значению при неограниченном увеличении и, что легко показать, переходя к натуральному логарифму этого равенства и раскладывая логарифмы в степенной ряд. Это произведение примерно равно 0,288, отсюда #А = 0,288 • 2" "^ 1п #А 0(п\ п I Общее число «-разрядных подстановок равно . Выражая факториал по формуле Стирлинга, получаем финной Г) т\ п2 " 1е'" W' вероятность аф подстановки примерно равна 2 П +П е jn «2" . Например, при п вероятность аффинной подстановки равна 9 5-10 8 9 при п 1,2 • 10 27 16,5, Задача вскрытия ключа и математические задачи Безопасность криптографических алгоритмов основана на сложности некоторой математической задачи. Поскольку число таких задач велико, введем их классификацию, согласованную с методами криптоанализа. Существуют универсальные методы крипто- ко всем или многим криптоалгоритмам, и специальные методы, применимые к отдельным (неудачно спроектированным) между методами анализа, применимые криптоалгоритмам. Очевидна аналогия универсальными и специальными криптоанализа и методами решения массовых и частных математических задач. Примером специального метода является ме- строку матрицы, отличную от первой и вто тод встречи посередине, применимый для замкнутых шифров (см. подробнее п. 17.2.1). Для выяснения применимости этого метода необходимо распознать, является ли шифр замкнутым (более общо: обладает ли шифр заданным свойством). Решение такой задачи сопровождается сертифи- Этот алгоритм порождает все аффинные под- катом, представляющим собой «таблицу умно рои строк и суммы этих строк. Далее по индукции, пока не будут выбраны все строки. становки. Число векторов сдвига равно 2 . Число жения» подстановок, индуцированных шифром Очевидно, что сложность проверки этого серти 17 Сначала выполняется подстановка R затем SmA. фиката может быть сверхполиномиальной.
345 Примером универсального метода анализа процедуру возведения в степень в простом конеч ном поле ¥р как итерированную (итерациями яв блочного шифра является дифференциальный метод (см. п. 18.2). Для оценки стойкости к это- ляются операции модульного умножения), то рост — сопровождается и числа му методу требуется указать наиболее вероятный размера задачи — дифференциал — разность шифртекстов при не- пропорциональным ростом числа итераций. которой разности открытых текстов. Задача вы- Отношение полиномиальной сводимости за числения наиболее вероятного дифференциала дач, лежащее в основе теории сложности, опреде требует найти вид дифференциала и дать оценку лено только для асимптотически больших разме- его вероятности для случайных или определен- ров этих задач. Поскольку, как правило, для ите- ным образом выбранных открытых текстов. От- рированных шифров увеличение размера задачи вет должен сопровождаться сертификатом, на- невозможно, использование аппарата теории пример, парами открьггых и зашифрованных тек- сложности при их анализе обычно неэффективно. стов при переборе ключей, при этом сложность проверки сертификата может быть сверхполино- миальнои. 16.5.2. Задача о выполнимости Пусть булева функция п переменных задана в виде нескольких наборов несложных булевых 16.5.1. Задача вскрытия ключа и NP-полные задачи функций, подставляемых друг в друга и связанных с помощью обычных логических функций Рассмотрим связь задачи вскрытия ключа ите- И, ИЛИ, НЕ.^^ NP-полная задача о выполнгшо- рированного шифра с некоторыми NP-полными сти булевой функции состоит в том, что требует- задачами выбора, удобными для решения как на ся найти набор переменных 9 на котором эта обычном, так и на молекулярном и квантовом функция принимает значение «true» [1]. компьютерах. Если задача А размера п сводится к задаче Рассмотрим алгоритм, вычисляющий композиции несложных наборов булевых функций от размера п со сложностью Х«) и задача В сводится нескольких переменных, например, подстановок, к задаче С того же размера со сложностью g{n\ то Частным случаем такого алгоритма является сводится к С со сложностью не более g(fin)). итерированный шифр. Если/ g^ ^^ полиномы, то их композиция— тоже полином. Бинарное отношение полиномиальной Пусть разряды выходного текста описывают ся уравнениями сводимости рефлексивно (тривиальная сводимость) и транзитивно. Кроме того, это отношение / Fix: (16.5.1) антисимметрично с учетом полиномиальной эквивалентности. Поэтому отношение полиномиальной сводимости на множестве массовых задач выбора является отношением частичного порядка. Криптография с открытым ключом, как правило, имеет дело с алгебраическими структурами, обладающими определенными алгебраиче где Xj — разряды открытого текста, ki — ключа, п — длина блока открытого текста, Л^ разряды длина ключа. Размером задачи будем считать скими свойствами, например ? левыми группами. Это для их анализа асимптотические оценки сложно сти ? устремляя размер задачи к бесконечности. Поскольку при этом все алгебраические свойства математической структуры сохраняются, то конкретная задача вскрытия ключа «подобна» асим- число N. Булевы функции F, заданы композициями наборов булевых функций и не имеют аналитической записи в виде ДНФ (она очень с конечными абе- сложна), но их значения могут быть вычислены для произвольного набора аргументов. Моделируя процесс шифрования на компьютере, выполняющем операции И, ИЛИ, НЕ, можно вычислить значение функции F/ с полиноми- позволяет использовать птотически большой задаче, и есть основания полагать, что полученные оценки будут справедливы и в конкретном случае. Для итерированных шифров указанный принцип подобия не работает. Действительно, что собой представляет «асимптотически большой» алгоритм шифрования DES? Для этого нужно увеличивать не только длину блока и длину ключа альной от 7V сложностью. Действительно, каждая , подстанов- перестановки может быть записана в виде из операций сложения по модулю ки булевых формул с полиномиальной от N сложностью. Поскольку число композиций таких операций в итерированном шифре равно 0(1), то итоговая сложность вычисления функции по линомиальна. 5 НО и число циклов шифрования. В результате по 18 Такое задание булевой функции не позволяет лучится шифр, имеющий мало общего с исход- записать ее в дизъюнктивной нормальной форме или ным шифром. Для сравнения: если рассмотреть в виде полиномаЖегалкина. ' ' -^
346 Если известно h^ 1,3687V открытых и зашиф- цикла шифрования. На каждом цикле над блока- рованных текстов, то система уравнений (16.5.1) ми длины 32 бита выполняются операции сложе- имеет единственное решение, которое и является ния по модулю 2 блока с ключом, замены слов ключом [6]. Подставляя в уравнение (16.5.1) вме- текста (четырехразрядной подстановки),^^ пере- сто разрядов открытых текстов их значения и становки битов в блоке и сложения блоков по представляя процесс зашифрования как компо- модулю 2. Сложность будем измерять как сум зицию наборов булевых функций, получаем марное число конъюнкций и дизъюнкций фор- функцию зашифрования, описывающую г'-й раз- мулы, заданной в ДНФ с использованием компо- ряд шифртекста. Приравняем эти функции к ис- зиций наборов булевых функций. Сложность вы- тинным значениям разрядов шифртекста; слож числения одноразрядной суммы равна ность перестановки в расчете на один разряд равна 1 (заменяется имя операнда), сложность булевой функции, реализуемой подстановкой, с Система (16.5.2) имеет единственное реше- учетом минимизации в среднем равна примерно fi\k\ 5 ... 5 1<^]\ I 1,2, ...,/2. (16.5.2) ние, которое, следовательно, может быть записа но в виде булевой формулы, содержащей един ственную конъюнкцию: Итого, сложность вычисления всех функций Fj для 32- одного блока на одном цикле равна (4 + + 7 +4) = 512, на 32 циклах— 16384. К-лК-п ... /с 1'^2 Л/ ? Для вычисления функции Н из найденных / не (16.5.3) обходимо выполнить 1,368-256 = 350 конъюнк где означает, что переменная входит с инвер ции 10.94 в формуле (16.5.4). Это соответствует 11 блокам по 32 бита. Итоговая слож сиеи или без инверсии. Но булева функция ность вычисления целевой функции составляет 1^оо^ лл лс^г^г,-хл _. .__ _ _ . v. 20 тш (16.5.3) может быть записана и в виде конъюнк- 16384 11 = 180224 указанных операций, ции булевых формул: и Н Af> (16.5.4) /=1 Если у, = 1, то fi входит в формулу (16.5.4) без инверсии, в противном случае — — с инверсией. Поскольку выражения (16.5.3) и (16.5.4) принимают значение 1 на одном и том же наборе аргументов, они представляют одну и ту же булеву функцию аргументов ki, ..., ^yv, которую назовем целевой, при этом (16.5.4) дает способ вычисления целевой функции для произвольного ключа. Каждая функция f вычисляется с полиномиальной сложностью, поэтому и целевая функция Н вычисляется с полиномиальной сложностью. Предположим, что все функции / вычисляются с одинаковой сложностью, шифр содержит г циклов, сложность выполнения каждого цикла на компьютере равна R. Тогда сложность вычисления функции Н равна 1,368М?г. числа Rwr сравнительно невелики. На практике Формула (16.5.4) задает способ вычисления булевой функции, которая равна 1 только для набора аргументов, совпадающего с Минимизируя правую часть формулы ключом. (16.5.4), получаем уравнение (16.5.3). Это уравнение ре шается легко (см. алгоритм 17.3.1). Таким обра зом, справедлива следующая теорема. Теорема 16.5.2. Задача вскрьггия ключа ите рированного шифра с длиной ключа N бит на основе известных открьггых текстов полиномиально сводится к задаче минимизации булевой формулы N переменных, заданной в ДНФ. Любая булева функция может быть задана в виде полинома Жегалкина. Поэтому целевую функцию (16.5.4) можно представить как компо зицию полиномов Жегалкина ? а функцию (16.5.3)— как результат упрощения (минимизации) итоговой композиции полиномов. Поэтому справедливо следующее утверждение. Таким образом, доказана следующая теорема. Теорема 16.5.1. Задача вскрытия ключа итерированного шифра с длиной ключа N бит на основе известных открытых текстов полиномиально сводится к задаче о выполнимости булевой формулы (16.5.4) Л^переменных. Пример 16.5.1. Сложность вычисления целе вой функции Н Пусть итерированный шифр имеет длину ключа 256 бит 5 размер подстановки бита 5 32 Теорема 16.5.3. Задача вскрытия ключа итерированного шифра с длиной ключа N бит на основе известных открытых текстов полиномиально сводится к задаче минимизации полинома Жегалкина от N переменных. 19 Здесь под подстановкой понимается замена одной четверки битов другой четверкой, а не подстановка одной формулы в другую. ^^ Найденная оценка справедлива, если отображение ведет себя как случайное. ? K!V ^; -^ .. т:-.
U7 Свойство NP-полноты [1] означает полиномиальную сводимость задачи о выполнимости ко всем остальным NP-полным задачам. подобранных открытых текстов (нарушитель имеет доступ к шифровальной аппара- может задавать открытые тексты для соответствующие 9 И знает 16.6. Требования к шифрам Во второй половине XIX века на основе об ширного опыта использования методов крип тографии А. Керкхоффс в статье «Военная туре зашифрования шифртексты); адаптивно подобранных открытых текстов (нарушитель имеет доступ к шифровальной аппаратуре, может задавать открытые тексты для зашифрования так, что последующий от- криптография» сформулировал следующие ос новные требования к разработке шифроваль пых систем: система должна быть нераскрываемой. если не теоретически, то хотя Это бы практически значит, что на основе шифртекста невоз можно вскрыть ключ или открытый текст;^^ знание открытой и соответствующей зашиф рованной информации не должно позволять нарушителю вскрыть ключ или другую открытую информацию; криптосистема должна обеспечивать воз можность запоминания (хранения) и смены ключа: ? шифрованный текст должен допускать пере дачу по каналу связи;^^ шифровальная аппаратура должна быть удоб крытый текст выбирается в зависимости от результата зашифрования предыдущих текстов, и знает соответствующие шифртексты); подобранных шифртекстов (нарушитель может подавать шифртексты для расшифрования и узнавать результаты расшифрования этих текстов); адаптивно подобранных шифртекстов (нарушитель может подавать шифртексты для расшифрования и узнавать результаты расшифрования этих текстов, причем очередной шифртекст выбирается в зависимости от результатов расшифрования предыдущих текстов); связанных ключей (ключи К и К' =J{K) пользователей не известны, но известна или даже может быть выбрана функция Л [8]. НОИ для переноски; криптосистема должна быть простой в экс плуатдции. Из широкого спектра задач криптоанализа Эти требования справедливы и поныне. (вскрытие ключа, оескчючевое чтение^ навязы вание ложной информации, определение неизвестного алгоритма шифрования и т. п.) будем рассматривать только задачу вскрытия ключа История криптографии показывает, что зада- или обращения хэш-функции. чи вскрытия ключа шифра решаются с использо ванием всех имеющихся у нарушителя средств Шифры часто проектируют универсальными рассчитанными на различные условия эксплуа ? Мы будем рассматривать только криптоаналити- тации. Например, для стандарта шифрования ческие атаки, реализуемые с использованием ал гебраических и статистических свойств шифра, в невозможно оговорить такие ограничения, как коэффициент избыточности источника откры- предположении, что нарушителю известен алго- тых текстов, запрет шифрования априорно из- ритм шифрования. вестных нарушителю открытых текстов или не- Различают криптоанализ на основе: возможность ознакомления нарушителя с от ш ифрт е КС то в (нарушитель знает только крытыми текстами. Поэтому стойкость таких шифртексты и статистические свойства мно- шифров дoляa^a обеспечиваться по отношению жества открытых текстов); открытых текстов (нарушитель знает от крытые тексты и соответствующие шифртек сты); к криптоанализу на основе подобранных, в том числе адаптивно, открытых и зашифрованных текстов. Задача разработки шифра (как и других крип тоалгоритмов) характеризуется тем ? что пра 21 Заметим, что если множество ключей конечно. вильность ее решения трудно проверить. Например, плохо сконструированный самолет не будет то ключ всегда можно найти перебором. Однако сложность перебора должна быть достаточно велика, летать и не пройдет испытания; программа чтобы обеспечить практическую безопасность По Керкхоффсу, должна быть 5 СО предусмотрена 23 Под бесключевым чтением будем понимать вы передача по телеграфу — основному виду связи в то числение открытого текста по его шифрограмме, вы время. полняемое без вскрьггия ключа.
348 держащая ошибки, будет неправильно работать ческого применения допускаются шифры, кото- или давать сбои, что выяснится при ее тестиро- рые прошли всестороннее исследование, то есть вании или при эксплуатации. Однако плохие за- шифры, разработанные в соответствии с первым щитные качества шифра никак не отражаются на подходом. работоспособности информационной системы и являются своего рода миной, которая может Стойкость шифра как сложность наилучше- быть задействована квалифицированным наруши- го известного алгоритма, вскрывающего ключ. телем по его усмотрению. Оценка защитных качеств или как срок, в течение которого невозможно криптоалгоритма вскрыть ключ, должна бьггь достаточной для является наиболее трудоемким этапом при его хранения информации в секрете в течение задан- разработке. Итерированные шифры отличаются ного срока. Иногда этот срок может составлять от алгоритмов криптографии с открьггым клю- десятки лет. чом значительно большим разнообразием, этому по задача Сложность вскрытия ключа обусловлена тем, криптоанализа итерированного что небольшие изменения ключа или открытого шифра обычно является новой научной задачей. текста приводят к большим изменениям шифро- При разработке шифра криптоанализ сводится граммы. Поэтому на множестве троек {открытый к оценке его защитных качеств, при этом задача текст, ключ, шифрограмма} трудно установить практического взлома шифра не решается, лишь оценивается сложность ее решения. но вычислимую метрику (функцию, показывающую, насколько тестируемый ключ близок к ис- При разработке криптоалгоритма перед разра- тинному). Следовательно, становится сложным ботчиком часто встает дилемма: делать ли алго- или даже невозможным использование методов ритм «прозрачным» ддя криптоанализа или по последовательных приближений возможности «запутать» его и тем самым предпо- для вскрытия ключа. ложительно затруднить криптоанализ. Под про- Статистические методы криптоанализа ис- зрачностью следует понимать удобство описания пользуют в качестве такой метрики некоторые свойств криптоалгоритма с помощью известного статистические зависимости, которые для истин математического аппарата и ? соответственно, ного ключа имеют место чаще, чем для других оценку стойкости по отношению к существую- ключей. Алгебраические методы криптоанализа основаны на использовании алгебраических свойств шифра, что позволяет отбраковать клас щим методам анализа. Например, если дифференциалы шифра легко можно вычислить, то можно и легко оценить стойкость к дифференциальному сы ключей или непосредственно вскрыть ключ, метбду криптоанализа (см. п. 18.2). Это разделение в значительной мере условное. Под запутыванием следует понимать неудоб- Могут применяться комбинации алгебраических ство описания криптоалгоритма с помощью известного математического аппарата, сводимость и статистических методов. Стойкость шифра к статистическим методам задачи вскрытия ключа к математической задаче, криптоанализа существенно зависит от объема принадлежащей недостаточно исследованной известных открытых и соответствующих за области математики ? или просто значительное шифрованных текстов (см. гл. 18). ростом неудобство вычислений. этого объема стойкость снижается. Учитывая По сути, эти два подхода различаются тем, высокую производительность шифраторов, для что в первом случае задача оценки стойкости ограничения объема зашифрованных на данном криптоалгоритма решается легко, но задача ключе текстов и для сохранения высокого уров практического его вскрытия является сложной, ня стойкости в информационной системе при Во втором случае усложняется оценка стойко- ходится периодически менять ключи. Напри сти криптоалгоритма, хотя задача практическо мер 9 ДЛЯ каждого сеанса можно устанавливать го его вскрытия, возможно, тоже является собственный сеансовый ключ и стирать его по окончании сеанса. На практике требуемый срок Вряд ли можно однозначно ответить на во- конфиденциальности открытык текстов может сложной. прос какой из этих подходов лучше. крипто многократно превышать срок действия ключа графин встречаются оба подхода. В печати часто описываются новые перспективные криптоалго- Например ? история показывает, что многие архивы становятся доступными для историков ритмы, про стойкость которых сложно сказать только спустя многие десятилетия после их соз что-то определенное (это характерно для крипто- дания. алгоритмов, представляющих скорее научный, а Алгебраические методы криптоанализа (см не практический интерес). В ходе публичного гл. 17) обычно не требуют большого объема ста обсуждения защитных качеств криптоалгоритма тистики; здесь периодическая замена ключей не картина иногда проясняется. Однако для практи- позволяет усложнить атаку.
349 Стойкость шифра часто может определяться Ключ любого шифра имеет конечную длину особенностями протоколов управления ключа- Поэтому теоретически его можно вскрыть пере ми процессами выработки, доставки, установ- бором действительности это затруднительно ления, ввода в действие, вывода из действия, заме- даже при длине ключа в десятки бит. Для того ны и уничтожения ключей. Поэтому стойкость чтобы вскрыть ключ DES перебором, нужно в шифра должна соответствовать стойкости прото- среднем опробовать 2^^ ключей.^"^ Типовой ком- колов управления ключами. Например, если отече- пьютер потребует для зашифрования на одном не 16 ственный стандарт шифрования ГОСТ 28147-89 цикле не менее 60 тактов (перестановка — при разумных ограничениях на объем зашифро- удобная для компьютера операция), а для ванных на одном ключе текстов обеспечивает циклов— не менее 1000 тактов, то есть опробо- сложность вскрытия ключа, по порядку величи- вание ключа при тактовой частоте 100 МГц зай- ------ - -''^ '" - -'' " 5712 мет 10 МКС, а опробование ключей ны близкую к переборной (то есть порядка 10 то использование для установления ключа про- лет. Стандартный чип шифрует по алгоритму токола Диффи-Хеллмана в случае мультиплика- DES со скоростью примерно 1 блок в микросе- тивной группы простого поля с характеристикой кунду, то есть в 10 раз быстрее. Сконструировав длины 1024 бита обеспечивает стойкость поряд- для перебора ключей специализированный «комка 10^^. Поэтому и стойкость шифра с указан- пьютер» из 1000 таких чипов, получим, что ключ Ч Г\26 -!-' K-V ным протоколом не может превышать 10 Ги можно вскрыть за несколько месяцев. Этот при потетический специализированный компьютер мер иллюстрирует нецелесообразность исполь для вскрытия ключа по состоянию на начало зования универсальных компьютеров для вскры 1990-х годов мог выполнять порядка 10^*^ one тия ключей «силовым» методом. раций в год [12]; каждый год производитель ность вычислительной техники удваивается. Обычно методы криптоанализа симметрич Экстраполируя эту зависимость на будущее, пых шифров и ключевых хэш-функций включа даже без учета развития математических мето- ют два этапа. На первом этапе устанавливается дов криптоанализа, получаем, что в 2000 г. ма- вычислимое отношение порядка, связывающее шина может выполнять 10 операций в год, а в множество открытых и зашифрованных текстов 2030 г. 10 операций в год. Падение сложно и множество ключей, при этом множество клю сти задачи дискретного логарифмирования при- чей упорядочивается по вероятности ключа быть водит к дополнительному снижению срока, в истинным. На втором этапе осуществляется оп- течение которого ключ невозможно вскрыть, робование ключей, начиная с наиболее вероят- Поэтому указанный способ установления ключа ных. вряд ли можно признать удовлетворительным. Сложность опробования зависит от распреде- если информация доллсна храниться в секрете в ления вероятностей ключей. Предположим, что течение хотя бы 10 лет. Стойкость бесключевых хэш-функций определяется двояко: как сложность обращения и как удалось найти такой способ упорядочения, при котором для последующего ключа длины п бит вероятность быть истинным в а > 1 раз меньше, чем для предыдущего. Тогда список вероятно- сложность вычисления коллизии. Для ХЭШ стей будет иметь вид: Р, а Л а , ..., причем функции с переборной сложностью обращения легче найти коллизии, чем вычислить аргумент. Требуемый уровень стойкости для ХЭШ ^1 а / аР функции обычно меньше, чем для шифра. Это определяется тем, что зачастую обращение хэш- /=0 а 1 '^ у. --Г * йГ "^ г- Вероятность вскрытия ключа с одной попыт /- _ . 1 -1 . _ _ -, -2 а , с двух попыток а ? функции или поиск коллизий представляет инте- ки будет равна рее только в течение срока действия параметров и т. д. Здесь вероятность успеха на втором этапе хэш-функции. Однако могут встречаться и ис- практически не зависит от длины ключа, ключения. Например, если текст завещания вы- Таким образом, одна из основных задач крип- полнен на компьютере и подписан автором с ис- тоанализа состоит в том, чтобы найти вычисли- пользованием электронной цифровой подписи мое упорядочение ключей по их вероятности (при этом необходимо использовать хэш- быть истинными. Для решения этой задачи необ- функцию), то подмена завещания может быть ходимо ввести вычислимый способ нахождения этом сопряжена с обращением хэш-функции, случае задача обращения хэш-функции может 24 представлять интерес в течение всего срока деи ствия завещания. DES как фейстелев шифр обладает свойством дополнения (см. п. 16.8), поэтому ключи можно определять с точностью до инверсии, то есть объем пере- 55 бора составляет 2 ключей ^ ^L- ^^ V -V '_- ~ J -^ _---кЛ
^ 350 «расстояния» между данным ключом и неизвест . Если Для усложнения вскрытия иногда исключа ным истинным ключом (метрику). Если оста- ются символ пробела и знаки препинания. От- ваться в рамках традиционного представления крытый текст записывается как одно большое шифра, это вряд ли возможно, поскольку поле F2 слово, например: не упорядочено. Один из возможных подходов «вложить» ОТКРЫТЫИТЕКСТДЛЯЗАШИФРОВАНИЯ шифр как алгебраическую структуру над 2 в и разбивается на слова фиксированного размера. структуру над упорядоченным кольцом К. При например, четырехбуквенные: этом решение уравнения Н для целевой функции Н над F2 должно совпадать с решением этого же уравнения над R, Тогда по вычисленной целевой функции можно судить о том, насколько тестируемый ключ близок к истинному, и найти ключ методом последовательных приближений. Этот подход ведет к алгебраическим методам ОТКР ЫТЫИ ТЕКС ТДЛЯ ЗАШИ ФРОВ АНИЯ. После этого открытый текст зашифровывается с помощью циклического сдвига вправо (на четыре символа): ТЦОФ ЯЦЯН ЦИОХ ЦИПГ ЛДЬМ ШФТЖ ДСМГ. криптоанализа (см. гл. 17). Другой возможный подход расшифрования выполняется цикличе- определение ский сдвиг шифрограммы влево на столько же Для новой метрики, которая проявляется не для одиночного открытого и зашифрованного текстов, а «в среднем» 5 на большом объеме статистики. Этот подход ведет к статистическим методам криптоанализа (см. гл. 18). символов. Если буквы пронумеровать от О до 31 и обо значить: х — номер буквы открытого текста номер буквы зашифрованного текста. 5 ключ 5 то шифр цезаря можно задать формулой: 16.7. Шифры замены и перестановки x +А: (mod 32). Для практического использования шифр Це- этом парафафе рассматриваются наиболее заря является слабым: вскрытие ключа сводится простые шифры, использовавшиеся для зашиты к перебору 32 возможных сдвигов. Некоторое усложнение этого алгоритма заключается в аф- открытых текстов на естественном языке, и частотный метод криптоанализа согласно работе [11]. финном преобразовании множества текстов: / 16.7.1. Моноалфавитная замена Шифр моноалфавитной замены шифр 5 В котором каждая буква алфавита (как правило 5 небольшого) заменяется буквой этого же алфавита по фиксированному правилу, не зависящему от других букв текста. Таким образом, шифры моноалфавитной замены представляют собой совокупность подстановок, действующих на буквах алфавита. Если х и I буквы соответствен но открытого текста и шифрограммы, то уравне ние зашифрования имеет вид / F(xd 5 где F подстановка. Простейший прим ер ны шифр Цезаря 25 моноалфавитной заме этом шифре моноалфа витная подстановка реализуется циклическим сдвигом алфавита, записанного в естественном порядке. Значение сдвига является ключом. Например, для 32-буквенного алфавита (А Д, Е, Ж, 3, И, Й, К, Л, М, Н, О, П, Р, С, Т, У, Ф, X. Ш,Щ Ы Ю, Я) шифрограмма слова ШИФРЫ при циклическом сдвиге вправо на четыре буквы имеет вид ЬМШФЯ. ах, + h (mod 3 2) 5 где а обратимый и произвольный элемент кольца Z/32Z. общем случае ключ (вид подстановки, ис пользуемой в шифре моноалфавитной замены) может быть произвольным. Для расшифрования используется обратная подстановка. Вскрытие шифра моноалфавитной замены при известных открытых текстах выполняется очевидным путем — надо восстановить таблицу подстановки. Если известны только зашифрованные тексты, то вскрытие выполняется частотным методом, который основан на различии вероятностей появления букв естественного алфавита. ^ Каждая буква имеет свою безусловную бел ■ вероятность появления. Например 5 про один из наиболее часто встречающихся знаков 5 Ф наиболее языке редко встречающаяся — наиболее редко буква в русском встречающаяся буква в английском языке (таблицы 16.1, 16.2 [4]). Частота букв существенно зависит от вида текста. Например, в данной главе буквы А, Б, В, 26 Примеры вскрытия шифров м оно алфавиты ой 25 замены приведены в приключенческих рассказах Таким шифром пользовался Ю. Цезарь при пе- Э. По «Золотой жук» и А. Конан-Дойля «Пляшущие реписке с Цицероном. человечки».
351 1 , Д, E, ж, 3, и 5 К встречаются соответственно с всего буквы Э и Щ с частотой 0,0036; частота частотами 0,074; 0,014: ? 0,0447; 0,0098; 0,0264; буквы Ф равна 0,0135 ? ТО есть в 6,5 раз больше 5 0,0804; 0,0086; 0,0164; 0,0787; 0,034. Чаще всего чем положено согласно таблице 16.2, встречается буква О, ее частота равна 0,104, реже Таблица 16.1 Относительные частоты встречаемости букв английского алфавита Буква Частота 0,0856 0,0139 0,0279 0,0378 1304 0,0289 0199 Буква Ч астота 0528 0,0627 0,0013 0,0042 0,0339 0,0249 0,0707 Буква Частота 0797 0199 0,0012 0677 0607 1045 0,0249 Буква Частота 0092 0149 0,0017 0199 0008 Таблица 16.2 Относительные частоты встречаемости букв русского алфавита зашифрованных текстах эти же частоты со то третьим шифром моноалфавитной замены. ответствуют другим буквам. Остается найти эм- Композиция таких шифров ассоциативна, пирическую частоту появления данной буквы ничным элементом группы является шифр 5 все шифртекста и сопоставить ей букву открытого тавляющий текста с такой же или близкой частотой появле- шифров моноалфавитной замены равно а\ еди- ос- буквы неподвиясными. Число где ? ния. Однако это не позволяет вскрьггь весь число букв алфавита. шифр, например, буквы Р, Y в английском языке, а также буквы А, И в русском языке встречаются почти одинаково часто. Уточнение вида подстановки выполняется методом последовательных 16.7.2. Полиалфавитная замена приближений на основе избыточности естест Усложненным вариантом шифров замены яв венного языка для сочетаний нескольких букв ляются шифры полиалфавитной замены 5 В кото или слов. рых кай<дая буква алфавита заменяется некоторой буквой этого же алфавита, но вид замены Шифр моноалфавитной замены действует как зависит от других букв. Подробный обзор таких набор подстановок на множестве букв открьггого шифров сделан в работе [11]. При этом откры- текста. Поэтому такие шифры, как и подстанов- тый текст, рассматриваемый как одно слово, разки, образуют группу по композиции. Это значит, бивается на слова длиной п символов что зашифрование текста сначала одним, а затем п>2) 5 -граммы, которые заменяются обратимым путем на другим шифром моноалфавитной замены экви- w-граммы. Таким образом, шифры полиалфавит валентно зашифрованию этого же текста каким- ной замены представляют собой подстановки ?
352 действующие на w-граммах (длиной 2, 3 или бо- лее символов). Совокупность шифров полиалфавитной замены, действующих на w-граммах одинаковой длины, образует группу. Если использовать произвольную подстановку на словах из п букв, то ключ становится слишком длинным. Например, для п \ 19 28 24 27 24 12 12 результате расшифрования получаем от в 32-буквен- крытый текст. ном алфавите (А 5 5 • -5 Я) нужно предусмотреть всевозмойшые замены вида Такой шифр для любого ключа сохраняет AAA, ААБ, ААВ, ..., ЯЯЯ ? ТО есть при табличном задании подстановка бу- дет иметь длину 32 = 32768 букв или свыше 150 Кбит. Хранить такой ключ неудобно, поэтому Напри если буквы пронумеровать от О до 31 и w используют ключи специального вида. мер. неподвижным нулевой вектор. Для исключения этого недостатка можно перейти от линейных к аффинным, описываемым преобразований уравнением Zx + а, где а вектор сдвига Обратное преобразование описывается уравне нием X 1 а). граммы открытого текста представить как векто ры X, то линейную подстановку можно задать невырожденной матрицей l над кольцом (определитель матрицы должен быть взаимно простым с характеристикой кольца, то есть не четным). Зашифрованная w-грамма имеет вид Lx (mod 32). Расшифрование выполняется умножением векторов шифрограммы на обратную матрицу L Пример 16.7.1. Полиалфавитная замена с по мощью шифрующей матрицы. Для п = 3 и шифрующей матрицы вида 19 10 24 28 20 23 зашифрование задается уравнением L\ над кольцом где X, векторы, состоящие Шифр с шифрующей матрицей, как и шифр аффинного преобразования, легко может бьпгь вскрыт методами линейной алгебры, если известно несколько линейно независимых откры тых и соответствующих зашифрованных текстов Пример 16.7.2. Вскрытие ключа шифра аффинного преобразования. Открытый текст имеет вид КРИ ПТО ГРА ФИЯ, соответствующий шифртекст имеет вид ПЮП РОИ ИШЛ ЕЮШ. Матрица L имеет раз мер 3 X Находим цифровое представление век торов открытого и зашифрованного текстов в кольце Открытый текст: х^ Х2 (15 ? 18 ? И) ? Хз ? 16 ? Х4 У1 зашифрованный текст: (16, 14, 9), Уз = (8, 24, II), У4 (10: (20, (15,30,15) 30, 24). ? 16, 8), , 31); У2 Для вычисления вектора сдвига находим ли нейную комбинацию входных векторов, пред ставляющую нулевой вектор. Решаем над из номеров букв 3-грамм соответственно открытого и зашифрованного текста. Открытый текст систему линейных уравнений относительно а. ? ЗИМНЕЕСОЛНЦЕ разбивается да граммы: с 5 аХ] + hx2 + схз + ахл 5 где нулевой ЗИМ НЕЕ СОЛ ЩЕ. После перехода к номерам вектор. букв в алфавите этот текст примет вид 5 5 12) ? Х2 (13 ? ? ? Хз (17 ? 14,11) ? Х] Хл Получаем 8а, с 10а, 24а ? где а (13, 22, 5). Поочередно умножаем эти векторы на матрицу. Получаем векторы зашифрованного текста: у^ произвольный ненулевой элемент кольца Z/32Z Тогда уравнение зашифрования для такой ли нейной комбинации входных текстов молшо за , 30,24), у2 = (19,17,3), Уз = (19,12,17), У4 = (23, 12, 23), которым соответствует текст ЕЮШ УСВ УМС ЧМЧ. Матрица расшифрования имеет вид: писать в виде 23а ^У1+*У2+<Тз+^У 4 14а (а + й + с +J)a (11а)а, 5а 27 Принципиально шифр полиалфавитной замены не отличается от шифра моноалфавитной замены: и тот и другой задаются подстановкой. Если «буквой» нового алфавита считать последовательность из п символов обычного алфавита, то п о л иалфав итну ю замену можно рассматривать как мо но алфавитную в новом алфавите. , откуда в а 11 "^ ^ '^ -Г t- 1 23^ 14 У -: L г 10 15 У
353 ДИМ Теперь находим матрицу L. Для этого перехо- и по этой частоте восстанавливаются слова отцентрированным выходным векторам крытого текста. Вскрытие шифра значительно к / / / а: У1 / (10, 20, 0) ? У2 / (И ? ? 26) ? Уз / облегчается ? если известна часть открытых и со (3,14, 28) ? У4 Г (О, 20, 9). Решаем системы ответствующих зашифрованных текстов. уравнении: и X. +feoXo +&:гХ 1 12 2 13^3 5 Криптоанализ шифров полиалфавитной замены на основе зашифрованных текстов подробно описан в работе [ 11 ]. Очевидно, что чем больше п, тем слолшее вскрыть ключ, так как сложнее найти вероят ность /7-граммы. 621Х,+Й22Х2+Й23ХЗ ? Го 31*1 + 6 32 X 2 ^h 33^3 Тогда первая строка матрицы L равна {ЬиУ\' + ' ■ ' '^^ ^' ^, 4); вторая строка равна + ЬиУ2 + Й13Уз') (bl^yi + 622У2' + Й23Уз') (10 ? Т ? 12); третья стро ка равна (fegiyi' + Й32У2' + ^ззУз') = (20, 22, 23). Аффинное преобразование характеризуется хорошим рассеиванием (каждый элемент шифрограммы зависит от всего блока открытого текста), но перемешивающие качества его невелики, так как зависимость шифрограммы от открытого текста подчиняется простым законам. Поэтому для повышения стойкости шифра в соответствии с предложениями Шеннона желательно использовать композицию аффинного преобразования и подстановки, описываемой нелинейным уравне нием над Z/wZ, где п — объем алфавита. Много кратное повторение таких композиции позволяет задать полиалфавитную подстановку с использованием сравнительно короткого ключа, причем будут выполняться требования Шеннона к шифру в части практической стойкости. Другим известным примером шифра полиалфавитной замены является шифр Виэюенера [11]. Ключ представляет собой w-грамму (Аго, •••, К-\ Открытый текст разбивается на w-граммы вида X ( Xq, —, X /7-1 Каждая w-грамма преобразуется в w-грамму шифртекста (Уо,..., V/7-i) следую щим образом: у, = Х/ + kf (mod 32). Обобщенный шифр Виженера осуществляет обратимую замену символа w-граммы, то задается набором из п подстановок. есть Вскрытие ключа шифра полиалфавитной замены на основе зашифрованных текстов тоже выполняется частотным методом. Составляется таблица частот допустимых w-грамм входного текста, на которых действует подстановка, индуцированная шифром. Далее определяется эмпирическая частота появления w-грамм шифртекста Шифр перестановки не изменяет значения букв в тексте, но переставляет их, то есть выпол няется замена не букв, а их позиций. В этом слу чае открытый текст разбивается на блоки фикси рованной длины w, и буквы в блоке переставля ются в соответствии с некоторой перестановкой, которая является ключом. Мощность множества ключей составляет п\ ? поэтому длина блока должна быть достаточно велика, чтобы исклю чить перебор. Например, перестановка вида (10 ? ? ? ? ? ? ? ? ? 11 ? 12 ? переводит открытый текст КРИПТОГРАФИЯ в шифртекст ФИРАТРКГПИЯО. Криптоанализ шифра перестановки на основе известных открытых текстов выполняется очевидным путем. Криптоанализ шифра, представляющего собой композицию шифров перестановки и моноалфавитной замены, на основе подобранных и известных открытых текстов читателю предлагается провести самостоятельно (см. упражнения 1,10,11). 16,8. Операторы, используемые при построении блочных шифров Рассмотрим некоторые типичные операто ры 9 применяемые в итерированных шифрах дво (алфавит входных и выходных данных — ичный). Если не оговорено особо, то линей ность и нелинейность оператора рассматрива ется над полем F2. 1. Перестановка битов в блоке. Этот опера тор является линейным не только над Г2, но и в любой алгебраической конструкции (не обязательно в кольце) с любыми одноразрядными операциями. Перестановка описывается матри цен. в которой в каждой строке и в каждом столбце содержится единственная единица, а остальные элементы — нулевые. Пример записи и действия перестановки на блоке длины 8 бит: вход выход 23 67 26 ПЕРЕСТАНОВКА(10110001) = (00111010) -_^ л ^> : i^. -X
354 Характерной особенностью перестановки яв- бинарным алгоритмом Евклида). При этом по ляется то, что она сохраняет вес входного векто ра (число единиц). лагают О ' = 0. Данный оператор является нелинейным и используется в стандарте шифрования RJJNDAEL. Эта подстановка обладает хорошим распределяется аффинным, точнее — сдвигом, поскольку лением дифференциалов. Если число п четное, то наиболее вероятный дифференциал имеет ве- (то Сложение по модулю 2. Этот оператор яв его матрица является единичной. роятность /?-ь2 если п нечеткое - то . Подстановка п~разрядного слова вместо п- есть все дифференциалы, обладающие ненулевой разрядного входного слова (операция замены), вероятностью, равновероятны). Представление Этот оператор в общем случае при п>2 нели- двоичных разрядов подстановки в виде п поли- неиныи, но при п е {1, он является аффин- номов Жегалкина дает для каждой булевой ным. При этом шифруемый блок разбивается на функции слагаемые со степенью нелинейности w-разрядные слова, которые заменяются в соот- п - 1 как для четного, так и для нечетного числа — это максимально достижимая степень нели- ветствии с кодом подстановки. п- 4. Циклический сдвиг (фиксированный). Этот оператор является частным случаем перестановки и поэтому линеен. При этом непостоянный циклический сдвиг не является линейной опера циеи. Умножение на невырож:денную Mampuify. Если элементы матрицы лежат в кольце 7?, то этот оператор является линейным над R. Он используется в качестве рассеивающего оператора . пп. 19.9, в шифрах SAFER, R1JNDAEL (см 19.10). . Сложение по модулю Т. Этот оператор является «слабо» нелинейным и используется во многих шифрах (ГОСТ 28147-89, RC5, FEAL). Матрица коэффициентов нелинейной части преобразования является разреженной, нелинейность обусловлена наличием и длиной переноса из предыдущего разряда в последующие при выполнении сложения. 7. Умножение по модулю простого числа Ферма. Этот оператор является нелинейным и используется в шифре IDEA для простого чис ла/> в группе 4- При этом вычисления проводятся порядка 2 . Для обеспечения об ратимости умножения множитель и заменяется на 16 9 а произведение 16 заменяется на Об на ратной операцией является умножение мультипликативно обратный элемент по моду то р. неиности. . Возведение в степень по модулю простого числа Ферма р. Эта операция у = </ (mod/?) является нелинейной и используется в шифре SAFER для + Для обратимости этой операции необходимо, чтобы основание а являлось обра зующей группы F^,. Обратной операцией являет ся дискретное логарифмирование. После вычис ления экспоненты выполняется замена (mod/?) на О, а перед вычислением логарифма обратная замена. 10. Фейстелев шифр (рис. 16.1) назван по имени американского математика X. Фейстеля, который запатентовал соответствующую схему шифрования [9]. На каждом цикле шифро 1^о вт« ния входной блок X зашифровываемого текста длины 2п бит разбивается на два полублока: х X длины п бит каждый. Блок х" шифруется с по мощью (не обязательно обратимой) шифрующей функции F,, Выходом первого цикла зашифрова- х' в Fi(x")). Для рас 1 X ния является блок х шифрования на этом цикле выполняется опера ция разбиения: хт = х^' || х/' и последующее шифрование блока х/ с помощью той же функции F\. Выходом является текст х 1 @F,(x,'))||x,'. Обычно цикловые операторы шифрования / F,bi /9 к/) осуществляют подстановку, завися щую от ключа. Фейстелев шифр обладает свойством дополне- к(х). ния^ если выполняется равенство Е^ОО где EU\) итоговый оператор зашифрования открытого текста х на ключе к, а черта означает Нахождение обратного элемента в рас- инверсию. Для шифра, обладающего свойством — дополнения, ключ момшо искать с точностью до ширенном поле характеристики 2. Пусть p{t) полином степени w, задающий расширенное ко печное поле из 2 элементов. Вход w-разряднои подстановки представляется элементом x(t) этого поля. Выходом подстановки является эле- (mod p(t)) ' - .;?- *■ X t мент y(t) поля такой, что x(t)y(t) (такая подстановка вычисляется расширенным анализа. Определение дифференциала см. в п. 18.2. Чем меньше вероятность дифференциала, тем выше стойкость шифра к дифференциальному методу крипто- - ?-г. ^f . ■:Л T-^ii-t. Ч-.-■ V ^^ ^- К i-* ' S'
355 инверсии. Этим свойством, в частности, обладает и шифртексте. Свойство дополнения можно ин- стандарт DES (см. п. 19.3). терпретировать как вычислимый автоморфизм Существует простой критерий для определе- шифра: существуют такие отображения ф^, ф^;, i^k ния того, обладает ли фейстелев шифр свойством для открытого текста, шифртекста и ключа соот- дополнения. ветственно, что выполняется равенство Теорема 16.8.1. Если в операторе Fi фейсте- лева шифра происходит поразрядное сложение входного (для F,) текста с ключом по модулю то шифр обладает свойством дополнения. Доказательство. Рассмотрим одиночный оператор F,. Пусть х, — его вход и к, — его ключ. Инверсия входного текста (?у(Е^х)) Е W )(фх(^)). X 7 1@х I и ключа Из теоремы 16.8.1 следует, что этому уравнению удовлетворяет инверсия произвольного числа одноименных битов в открытом тексте, шифр- тексте и ключе. Фейстелев шифр может быть рассмотрен как сдвиговый регистр с обратными связями / 1@к 7 сумму не меняет: х. @ к. = 1 @ х @ структура, типичная для поточных шифров. Ре ©1вЦ -х^ вк . Поэтому 7;(х,,к,) = F-(x,,k / гистр содержит две ячейки: для х и х" 5 ТО есть Рассмотрим шифрование первого блока. сдвигает не биты. а полублоки. Содержимое ин ячейки х" преобразовывается с помощью опера версного по отношению к (хо, Xi). После сложения тора Fj и складывается с содержимым ячейки х с текстом на выходе оператора F^ получим инверс- t 9 сумма поступает на вход ячейки х", а содермшмое ныи результат: Xq @ /^ (к,, х 1 в Хо) в Fi(l в X кь1вхО = 1вхов^,(кьХ1)-Хов^Дк,,х 1 переписывается в х. Такой подход позволяет адаптировать для анализа фейстелевых шифров методы, первоначально предложенные для анали- Свойство дополнения выполняется для первого за шифров на основе сдвиговых регистров. цикла и, следовательно, для второго дующих циклов шифрования. и после X t 11. Подстановочно-перестановочные шифры Этот тип итерированных шифров характеризует X п ся тем, что в цикловой функции шифрования перемешивание и рассеивание реализуются с использованием операций фиксированной или ключевой замены (подстановки коротких слов блока) и перестановки битов в блоке [10]. КИМ (см. шифрам относятся DES, ГОСТ 28147 та- 89 пп. 19.3, 19.6). Часто размер подстановки равен четырем битам. При этом для разных слов блока иногда используются различные подстановки. Например, первое слово заменяется в соответствии с подстановкой Su второе— в соответствии с & и т. д. Подстановочно-перестановочные шифры яв ляются наиболее хорошо изученным типом блоч ных шифров. Стойкость такого шифра в значи тельной мере определяется свойствами подста новки [14] Вопросы выбора подстановок рас сматриваются в гл. 18 12 . Подстановка, задаваемая полиномом над ЖИ'^Ж. Если размер подстановки равен длине блока (полублока в фейстелевом шифре), то такая подстановка совмещает в себе функции перемешивания и рассеивания Табличное пред РисЛбЛ. Фейстелев шифр ставление такой подстановки требует экспонен циально большого объема памяти, поэтому инте рее представляет возможность задания подста новки полиномом невысокой степени. Например Обобщенное свойство дополнения означает возмомшость инверсии не всех, а произвольных одноименных разрядов в открытом тексте, ключе л 4 агх + а^л + аох ( 111 od2 т ? (16.8.1)
356 где Go, ai 7 ai обратимые (нечетные) элементы дения в квадрат. Обратная подстановка тоже за кольца Z/2 т дается полиномом над Z/2 т 1 который, однако может содержать значительное число слагаемых. Теорема 16.8.2. Функция (16.8.1) описывает поэтому подстановку (16.8.1) желательно ис подстановку в кольце Z/2 т ЧТО (16.8.1) отображает кольцо R в себя. Полиномиальная пользовать в фейстелевых шифрах. Доказательство. Очевидно то 7 недостаткам подстановки (16.8.1) относится что два младших разряда являются аффин- функцня не является подстановкой тогда и толь- ными булевыми функциями 5 И подстановка ко тогда, когда она принимает какое-нибудь зна- (16.8.1) сохраняет число подряд идущих нулей в чение дважды. Если предположить, что при пе- младших разрядах. Однако эти недостатки мож- реборех функция (16.8.1) принимает дважды не- но устранить, если к аргументу приписать некоторое значение й, то сравнение 4 2 аоХ -галх -гаиХ О (mod 2 т (16.8.2) сколько ненулевых младших разрядов, а после вычисления подстановки их удалить. должно иметь двойной корень. Кратные корни можно определить вычислением наибольшего общего делителя левой части сравнения (16.8.2) и ее производной. Поскольку в Z/2'"Z каждый элемент, не являющийся делителем нуля, обратим, нужно рассматривать наибольший общий делитель над каждым главным идеалом, который является делителем нуля в кольце Z/2'"Z. Доста точно рассмотреть кольца Z/2Z, Z/2 Z, ..,Z/2 Производная левой части равенства (16.8.2) равна Аагх + 2а-[Х + ао- Нетрудно видеть, что левая часть этого равенства не делится на производную ни над одним из указанных колец. Кроме того, производная не имеет корней ни в одном из этих колец, так как коэффициент «о нечетный, а коэффициенты при степенях х четные. Полином, задающий производную, имеет степень :>, поэтому он может раскладываться на множители лишь тогда, когда хотя бы один из делителей имеет степень 1, то есть если производная имеет корень в указанных кольцах. Поскольку корней нет, то производная левой части равенства (16.8.2) не раскладывается на множители ни над одним из указанных колец. Следовательно, наибольший общий делитель левой части равенства (16.8.2) и ее производной над каждым из указанных колец равен обратимой константе, и выражение (16.8.1) задает подстановку в Z/2'" 16.9. Описание итерированных шифров в терминах булевых функций Результат зашифрования открытого текста длины п бит с помощью итерированного шифра задается композицией наборов несложных булевых функций. Число композиций пропорционально числу циклов шифрования. Алгебраические свойства булевых функций, записанных в базисе И, ИЛИ, НЕ или в виде полиномов Же- галкина, теоретически позволяют исключить операцию композиции и представить итоговое зашифрование в виде совокупности п булевых формул, заданных в дизъюнктивной нормальной форме или полиномами Жегалкина. Очевидно, что для обеспечения стойкости шифра формулы, описывающие итоговое зашифрование, должны быть сложными. Сложность булевой функции п переменных, записанной в ДНФ, будем определять как число конъюнкций (длину ДНФ) после минимизации. Справедлива следующая теорема [5]. Теорема 16.9.1. Почти все булевы функции п аргументов как дизъюнктивные нормальные формы и как полиномы Жегалкина имеют одинаковую сложность, асимптотически равную 0(2"/п). Пронумеруем двоичные разряды входа и выхода подстановки, начиная с младших разрядов. Эта теорема обусловливает эффект Шеннона: почти все булевы функции имеют одинаковую Тогда /-Й двоичный разряд подстановки (16.8.1) сложность, зависит только от входных разрядов и эта сложность экспоненциально Поэтому данное отображение будет , ...^ /. велика. Этот результат означает, что уравнение являться зашифрования практически невозможно записать подстановкой и в том случае, если к аргументу х в формуле (16 приписать несколько произ в виде стандартной булевой формулы, например, в виде ДНФ, и выглядит пессимистическим для вольных младших разрядов (соответственно уве- нарушителя. Однако на практике не все так пло личив число т\ а после вычисления функции их хо. Это обусловлено несколькими факторами. удалить. Коэффициенты ai и приписываемые Во-первых, булевы функции, с помощью ко младшие разряды могут быть параметрами шиф- торых строится шифр, не являются «случайны ра или ключом. Подстановка (16.8.1) эффективно вычислима и ми». Действительно, шифрование должно выполняться быстро, а для этого наборы булевых при ао ал ао требует двух операций возве- функций, композиция которых определяет шифр ?
357 должны быть несложными (вычислимыми с полиномиальной сложностью). Однако почти все булевы функции п переменных для достаточно большого п не допускают представления в виде набора небольшого числа композиций булевых функций малой сложности. Действительно, если сложность булевых функций, используемых при к к шифровании, не превышает 2'" и т « л, а число композиций не превышает г, то можно получить шим. Например, всего Nc . Иными словами, почти все булевы функции не являются вычислимыми. Во-вторых, современные методы криптоанализа не требуют представления итогового оператора шифрования в виде набора булевых формул, не содержащих композиции (см. гл. 17, 18). третьих, в ряде случаев описание шифра в терминах булевых функций не является наилуч- ДЛЯ шифра RIJNDAEL (см. булевых функций. Число п. 19.10) более перспективным может быть они же всевозможных булевых функций п аргумен- сание в терминах кольца полиномов над 1р25б- тов. равное Nn 2« 9 несопоставимо больше: Упражнения к главе 16 Предположим, что шифр строится с помо щью w-кратных композиции коммутирующих между собой отображений перемешивания и рассеивания. Что можно сказать о стойкости такой системы? Почему нужно использовать не коммутирующие между собой операции? Чем отличается булева функция от булевой формулы? Предложите методы вскрытия ключа криптосистемы Виженера, а также шифрующей матрицы и аффинного шифрующего преобразования на основе подобранных открытых текстов. Оцените сверху объем известных открытых текстов, необходимый для вскрытия 50 % шифрограмм для шифра на основе замены грамм и для шифра на основе замены -грамм (криптоанализ на основе известных открытых текстов). Оцените сверху объем подобранных открытых текстов, необходимый 50 % шифрограмм для шифра на основе за для вскрытия мены 2"Грамм и для шифра на основе замены -грамм (криптоанализ на основе подобранных открытых текстов). Пусть открытые тексты представляют собой обычные тексты на английском языке, шифрование осуществляется методом моноалфавитной замены. Используя таблицу частот появления английских букв, оцените сложность частотного метода криптоанализа и сравните ее со сложностью перебора. Пусть шифр представляет собой замену п- грамм в iV-буквенном алфавите для некоторого языка и вероятности появления всевоз- момшых w-грамм в этом языке образуют гео- метричес1^ю прогрессию. Покажите, что шифр раскрывается частотным методом с 10 11 12 13 полиномиальной от Л^ сложностью. Какова емкостная сложность этого метода? Пусть шифр представляет собой замену п грамм в 7V-6yKBeHH0M алфавите для некоторого языка, и вероятности появления всевозможных w-грамм в этом языке образуют арифметиче- С1^ю прогрессию. Оцените сложность частотного метода и требуемый объем статистики. Пусть шифр представляет собой замену п- грамм в 7V-6yKBeHH0M алфавите. Какова длина ключа, если совокупность всевозможных ключей позволяет реализовать произвольную подстановку? Пусть шифр моноалфавитной замены и шифр перестановки В действуют на блоках из АВ п символов 7V-6yKBeHHoro алфавита, и - применение к открытому тексту шифра В и затем применение к полученной шифрограмме шифрам!. Покажите, что АВ = ВАи что сложности вскрытия шифров АВ^ АВАВ^ АВАВА одинаковы. Пусть А^ В — шифры из предыд>'щей задачи. Предложите способ вскрытия шифра АВ на основе подобранных открытых текстов. Оцените необходимый объем подобранных от крытых текстов. Пусть шифры полиалфавитной замены А и действуют на словах длины щ и щ соответственно. Покажите, что композицию шифров АВ можно рассматривать как шифр полиалфавитной замены, действующий на словах с длиной Пав, равной наименьшему общему кратному Па, Щ. Как можно задать действие шифрам! на словах длины w^s? Приведите пример шифра с шифрующей матрицей, в котором размер блока шифрограммы больше, чем размер блока открытого
текста, и вскройте ключ такого шифра. Если шифрующая матрица размера лх(п-^т) и ранга W, то обратная матрица М имеет размер (п + т) X п, при этом ML Е 14. Оцените вероятность того, что случайная квад ратная матрица будет невырожденной над IF2. 15 16 Предложите несколько быстрых алгоритмов генерации случайной невыромоденнои матрицы над |р2 и над Ж1ТЖ. При каких условиях отображение, задаваемое полиномом степени 2 над Z/2 Z, являет ся подстановкой? Литература к главе 16 Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979. Гульден Я., Джексон Д. Перечислительная комбинаторика. М.: Наука, 1990. Колчин В.Ф. Случайные отображения. М.: Наука, 1984. Нечаев В.И. Элементы криптографии. Основы теории заищты информации. М.: Высшая школа, 1999. Нигматуллин Р.Г. Сложность булевых функций. М.: Наука, 1991. Ростовцев А.Г., Маховенко Е.Б. Введение в криптографию с открытым ключом. СПб.: Мир и Семья, Интерлайн, 2001. Шеннон К. Теория связи в секретных системах / В сб.: К. Шеннон. Работы по теории информации и кибернетике. М.: ИЛ, 1963. С. 333-402. Biham Е. New types of cryptanalytic attacks using related keys Advances in Cryptology EUROCRYPT '93. Lecture Notes in Computer Sci ence. Springer-Verlag. 1994. Vol. 765. P. 398-409. 10 11 12 13 14 Feistel H. Cryptography and computer privacy // Scientific American, 1973. Vol. 228. P. 15-23. Kam J.B., Davida G.I. Structured design of substitution-permutation encryption networks // IEEE Transaction on Computers, 1979. Vol. C-28. P. 747-753. Konheim A. Cryptography: A Primer. New York: J. Wiley & Sons, 1981. Odlyzko A. Discrete logarithms in finite fields and their cryptographic significance // Advances in Cryptology Proceedings of EUROCRYPT 84. Lecture , 1985. Notes in Computer Science. Springer-Verlag, Vol.209. P. 224-314. Simmons G.J. Authentication tlieory/coding theory // Advances m Cryptology Proceedings of CRYPTO 84. Lecture Notes in Computer Science. Springer-Verlag. 1985. Vol. 196. P. 411-431. Webster A.F., Tavares S.E. On the design of S-boxes // Advances in Cryptology — CRYPTO '85. Lecture Notes in Computer Science. Springer-Verlag. 1986. Vol. 218. P. 523-534. f-^ -* ХЛ .^.v r
Глава 17. АЛГЕБРАИЧЕСКИЕ МЕТОДЫ КРИПТОАНАЛИЗА В данной главе рассматриваются некоторые (в Первый подход применяется, если объемлю том числе эвристические) методы криптоанализа щая алгебраическая структура позволяет полу итерированных блочных шифров и хэш-фун- чить новые качества. Задача решается в два эта На первом этапе продолжают криптоалго па. кций, использующие их алгебраические свойства и не требующие знания большого объема откры- ритм на некоторое объемлющее множество, по- тых и соответствующих зашифрованных текстов, зволяющее облегчить вскрытие ключа за счет Для краткости под открытым (зашифрованным) указанных новых качеств текстом будем понимать блок открытого (за шифрованного) текста. и построить метод вскрытия ключа продолженного криптоалгоритма. На втором этапе параметризуют построен- Для решения одной и той же задачи, напри- ный метод вскрытия с использованием данных, мер вскрытия ключа некоторого шифра, могут присущих исходному (непродолженному) крип- использоваться различные методы. При этом тоалгоритму и находят решение исходной зада встает задача выбора наилучшего из них. Назо чи. Такой ход рассуждении Пойа называет вем эффективностью метода число итераций, обобщением и редукцией. определенных этим методом и необходимых для решения данной задачи. Эффективность метода является более грубым понятием, чем сложность алгоритма, поскольку сложности одной итерации группе (как число тактов модели) для некоторой вычислительной конечной группы Пример 17.1.1. Метод обобщения и редукции. Для вычисления дискретного логарифма в р используется гомоморфное вложение р в бесконечную полугруппу различных методов существенно обладающую однозначным разложением на различаются, хоть и являются обычно полиноми- простые множители. Такое продолжение позво ляет использовать базу разложения для вычисле алъно эквивалентными. Рассматриваемые методы различны по своей ния дискретного логарифма и за счет этого дос проектировании жела- тичь субэкспоненциальной сложности логариф природе, поэтому при тельно проверить шифр (или хэш-функцию) на мирования (см. п. 10.1). стойкость по отношению к каждому из них, а также по отношению к другим методам, предложенным разработчиком. 2. Гомоморфное вложение кольца п ра , где характеристика кольца системы RSA, в 17.1. Метод обобщения и редукции Метод гомоморфизмов кольцо полиномов (Z/wZ)[z] позволяет найти открытые тексты системы шифрования с открытым ключом RSA, если известны параметры линейного соотношения между этими текстами (см. п. 9.4.2). Решеточный метод криптоанализа (см Как правило, задача взлома шифра или хэш- п. 17.3) основан на продолжении булевых функ на конечное множество функции решается индивидуально. Однако спо- ции с множества собы ее решения имеют некоторые общие черты, рациональных чисел. Это продолжение является которые роднят варианты атак и позволяют го ворить о методах криптоанализа. гомоморфным вложением дистрибутивных ре шеток. Метод анализа позволяет отбраковать не Использование отображений алгебраических сколько ключей за одно опробование и за счет это го снизить сложность по сравнению с перебором. 4. Метод криптоанализа на основе продол сохраняющих их основные свойства ме структур («гомоморфизм»), является общепринятым тодом решения математических задач (см., на пример. женных полиномов Жегалкина (см. пп. 17.6, ся вложение алгебраической структуры в объем книгу Д. Пойа [3]). Обычно использует- 17.7) использует продолжение булевых функций, заданных в виде полиномов Жегалкина над полющую структуру (или иное продолжение ис- лем IF2, на упорядоченные множества рациональ- ходной структуры на объемлющую структуру), а ных или целых 2-адических чисел. Тем самым на также гомоморфное отображение большей струк- расширенном множестве ключей устанавливает- туры в меньшую. ся вычислимое отношение порядка. -V _ - Cj
360 Использование метода обобщения и редукции 17.2. Замкнутые и чистые шифры иногда приводит к искажению свойств первона чальнои математической структуры, в частности 5 Эндоморфный блочный шифр. отображаю теряются некоторые ее алгебраические свойства, щ^й множество всевозможных блоков длины п Так, 17.1.1 п.З- П.4 объемлющая структура из П. не содержит обратных элементов. примера gpj^ j^^ себя, задает набор подстановок, дейст из не содержит решеточных дополнении, в теряется ассоциативность и однозначная разрешимость уравнении Из-за такого искаже кия соответствующий метод криптоанализа приобретает эвристический характер и до некоторой степени утрачивает общность: иногда он эффективен, а иногда нет. Второй подход используется непосредственно для снижения сложности задачи за счет уменьшения ее размера. При этом задача разбивается на несколько подзадач, решаемых поочередно. основе этого подхода лежат сжимающие гомо морфизмы алгебраических структур (групп, полугрупп, колец и т. п.). Наличие таких структур и существование гомоморфизмов в шифрах уста повить несложно (обычно разработчики стараются исключить такие гомоморфизмы на этапе проектирования криптоалгоритма). Поэтому данный подход на практике применим лишь для плохо спроектированных шифров. Пример 17.1.2. Методы, основанные на го моморфном отображении структуры, над кото рои определен криптоалгоритм 5 на меньшую структуру. 1. Метод Гельфонда для вычисления аис «^ кретного логарифма в циклической группе ис пользует эндоморфизмы исходной группы в под группы простых порядков (см. п. 11.1.1). Поэто сложность логарифмирования в исходной му группе (с точностью до полинома от размера за дачи) равна сложности логарифмирования в под группе максимального простого порядка. . Если тексты и ключи, отображения которых реализованы в шифре, можно разбигь на непересе кающиеся классы так, что каждый класс содержит только свои разряды текстов и ключей, то итоговый шифр можно представить в виде «прямой суммы» небольших шифров по аналогии с китайской теоремой об остатках. При анализе такого шифра используется гомоморфное отображение в аналогичную структуру исходной структуры вующих на множестве из п элементов. Этот на бор зависит от ключа. Каждая из подстановок зашифрования имеет обратную подстановку. реализуемую расшифрованием на том же ключе. Предположим, что для данного шифра последовательное шифрование на двух произвольных ключах эквивалентно шифрованию на некотором третьем. Это означает, что произведение двух подстановок Ej и £,, соответствующих зашифрованию (расшифрованию) на ключах и явля ется подстановкой Eg^ реализуемой зашифрова на ключе нием (расшифрованием) шифры будем называть замкнутыми /vv» Такие чистом шифре для любой тройки ключей к,, А/, ks существует ключ Я/ такой, что справедливо уравнение 1 Е,ЕГЕ^ t Поскольку число всевозможных троек ключей к,, kj, Л, значительно больше, чем мощность #К множества ключей, то число таких троек для фиксированных ключей А:,, К в среднем равно 0((#Х)' Множества замкнутых и чистых шифров различны. Например, множество подстановок, дей ствующих на множестве букв русского алфавита , не замкнуто, но чисто, и отображающих так как подстановка в КЕ 1 7 сохраняет букву неподвижной. 17.2.1. Вскрытие ключей замкнутых и чистых шифров Пусть К множество ключей замкнутого шифра. Тогда для ка^<дого к^ е К существует 0{#К) пар /5 к,). эквивалентных ключу к^. Для замкнутых шифров задача вскрытия ключа решается значительно быстрее, чем для шифров, не обладающих этим свойством. Пусть известны открытые тексты и соответствующие шифрограммы, однозначно определяющие ключ. Вместо того чтобы искать истинный меньшего размера (например, гомоморфизм кольца Gr, в свое собственное подкольцо. см. п. 17.9). . Если шифр реализован для текстов в п~ символьном алфавите п использует алгебраиче- го шифра. ключ ks, будем методом встречи посередине ис кать пару ключей (А:,, kj) таких, что Е^ = EjEf [16]. Алгоритм 17.2.1. Вскрытие ключа замкнуто ские преобразования, описываемые в терминах Вход. Замкнутый шифр с множеством ключей кольца полиномов над Ж/пЖ, где п — составное К, открытый текст х и его шифрограмма j. число с известным разложением, то можно пред- Выход. Пара ключей {к, I) таких, что искомый ключ задает ту же подстановку, что и произведение подстановок, задаваемых ключами ки1. ставить кольцо Ж/пЖ в виде прямой суммы колец простых характеристик (см. п. 17.9).
361 Мето Для / .., 0(^[#К) выполнить еле 17.2.2. Проверка шифра на замкнутость и чистоту дующие действия. 1.1. 1.2. Выработать случайный ключ к,. Зашифровать текст Применимость метода встречи посередине X на ключе для вскрытия ключа замкнутого или чистого / Z 1 Eiix). Отсортировать базу данных (z^, к^ по первой «координате». блочного шифра определяется соответствующей задачей распознавания. Множество подстановок, реализуемых шифром, является подмножеством Для 7 ВИЯ. 3.1. 3.2. 7 2,.. симметрической группы, следовательно, опера- выполнить следующие дейст- ция композиции шифрования текстов на любых ключах ассоциативна. Выработать случайный ключ /,. Поскольку в блочных шифрах операции за Расшифровать шифрограмму у на ключе шифрования и расшифрования различаются не h- ^i \ . iy)- принципиально. то. дополнив множество под 3.3. становок, индуцированных замкнутым шифром. Сравнить Wj с базой данных, получен- единичным отображением, получим некоторую ной на шаге 2. При совпадении z I W J группу, которая является подгруппой симметри положить к Результат: (к, /). к, J J Число повторов шага 3 равно 0(J#K) . Слож ческой группы, действующей на множестве текстов. Таким образом, можно сказать, что замкнутый шифр является группой, тогда как незамкнутый шифр представляет собой набор случайных подстановок, действующих на множестве блоков ность алгоритма 17.2.1 равна о( #К ]og(#K)), открытого текста. множитель \og(#K) обусловлен сложностью сортировки. Емкостная сложность алгоритма 17.2.1 имеет такую же оценку. Для сравнения: сложность вскрыгия ключа замкнутого шифра перебором равна 0{#К). Вскрытие ключа чистого шифра осуществляв Для такого шифра определим для каждого открытого текста х орбиту iS^. Множество открытых текстов разбивается на непересекающиеся Гд, остав орбиты. Если существует подгруппа ляющая неподвил^ным текст х, — стабилизатор текста х 5 ТО #S #К ется аналогично алгоритму 17.2.1, X НО вместо #т 5 где К множество ключа к, при составлении базы данных исполь- ключей [16]. Число орбит теоретически может зуются пары случайных ключей (А:,, ^у). а сорти- лежать в диапазоне от 1 (транзитивная группа руются тройки {kj,k ,Е^Е (у)) по третьей «ко или транзитивный шифр) до #К. ординате». Затем для случайных ключей ks и шифрограммы у вычисляются и сравниваются с базой данных тексты 1 S (у) Метод встречи посередине и метод Полларда применительно к блочному шифру работают, если При совпадении шифр является замкнутым. Эти методы являются текста с элементом базы данных искомая тройка вероятностными и дают результат с вероятностью. ключей равна /9 '7? ks). Можно, наоборот, при сколь угодно близкой к после составлении базы о{Ш) шагов. данных использовать пары Проверить шифр на замкнутость можно, контролируя длину цикла подстановки, индуцирован- (к^, к ВуЕ~\у)). Сложность вскрыгия ключа ной шифром, и контролируя результат метода (к,, Е,{х)Х а во встречном направлении — тройки \ \ чистого шифра тоже равна 0{J#K log(#^)), то есть по порядку величины примерно вдвое меньше, чем сложность перебора. Этот же метод можно использовать и для вскрытия ключа шифра, описываемого уравнением вида т П^ п I I (X) V (X) / 1 для небольших чисел и„ т этом случае искомый ключ к, заменяется набором из т ключей. _> встречи посередине и метода Полларда [14, 16]. При проверке длины цикла (cycling closure test) выполняется псевдослучайное блуждание по множеству Sy^: для начального значения л<) выбира ется ключ, совпадающий с ль, затем вычисляется Хх о (хо). где Es{t) текста на ключе s 3 Xl оператор зашифрования V (Х|) и т. д. Рано или поздно последовательность зациклится. Замыкание цикла можно проконтролировать проверкой равен ства X/ = хъ аналогично алгоритму Полларда. Получение равенства служит индикатором того, что Xi лежит в цикле, остается вычислить длину цикла.
362 Этот статистический тест позволяет выяснить, обусловлена тем. что небольшое изменение индуцирует ли множество ключей шифра слу- ключа или открытого текста приводит к значи- чайный набор подстановок или шифр является тельному изменению шифрограммы, причем неясно, каким именно разрядом ключа опреде- — разряды гоуппои. Лемма 17.2.1 [16]. Пусть в блочном шифре длины блоков открытого и зашифрованного тек- ляется данный разряд шифрограммы стов равны м^ а мощность множества ключей равна т. Если шифр является i-руппой, то число индуцированных шифром ключа «безымянны». Решеточный метод явля ется универсальным (применим к любому блоч ному шифру) и позволяет установить. каким пар отображений {Е„ Е.) таких, что EjEj Es для данного J., равно т. Если шифр является случайным набором под- именно разрядом ключа определяется значение шифрограммы. Рассмотрим итерированный шифр без эквивалентных ключей. Предположим, что нарушитель знает криптоалгоритм и некоторое количество разрядов открытых и соответствующих зашифрованных текстов, однозначно определяющих ключ. Тогда согласно формуле (16.5.4) можно полагаем, что среди ключей нет эквивалентных, составить целевую функцию, которая принимает тогда и только тогда, когда тестируе- становок, то число пар таких отображений близ ко к т'1{М\). Доказательство. Первое утверждение еле дует из рассмотрения группы порядка т (пред значение число ключей равно порядку группы). Второе утверждение следует из того, что число пар ото- ^^1ый ключ равен истинному. Для простоты предположим, что длины блока и ключа одинаковы и / V-^/5 ЕЛ равно т , а число всевозмож бражений ных подстановок из Мэлементов равно (АЛ) Тест встречи посередине также основан на лемме 17.2.1. Если шифр является группой, то для множества случайно выбранных пар ключей равны п бит. Кроме того, в формуле (16.5.4) бу- и, пренебрегая возможной дем полагать, что неоднозначностью решения. ^ " г ^ tV э ii; /5 мощности а V/w и случайных ключей будет найдена тройка ключей такая. что 17.3.1. Решеточные продолжения булевых функций и решеточные полиномы ЕШх) Es{x) с вероятностью ошибки е а 2 ДЛЯ всех X, Для шифра, являющегося набором слу Решетка называется дистрибутивной, если в ней выполняются законы дистрибутивности (см. чайных подстановок, вероятность нахождения п. 3.14): такой тройки ключей на указанном объеме ста тистики равна т 2 /м\ если длина ключа х(у V z) = xy\/xz; x\/yz = (x v v)(x v z). близка к длине блока. Тест можью проводить для нескольких открытых текстов. Дистрибутивной решеткой является любое Аналогично можно проверить и ч и стоту шифра. Действительно, шифр С является чистым тогда и только тогда, когда хотя бы для одного ключа (и. следовательно. для всех ключей) конечное линейно упорядоченное множество. Дистрибутивная решетка {О, 1, v, л} может быть рассмотрена как полукольцо. В качестве сложения используется операция v, в качестве умножения— операция л. Присоединяя к полу- 1 шифр Ef^'C является замкнутым [16]. Поэтому любой замкнутый шифр является чистым. Об ратное, вообще говоря, неверно. Таким образом, проверка шифра С на чистоту кольцу {О, 1} новые элементы, можно получить полиномы. По аналогии с тем, как полиномы над коммутативным кольцом образуют кольцо, полиномы над полукольцом сводится к проверке шифра тость для произвольного ключа к. 1 на замкну 5 1, V, л} образуют полукольцо решеточных полиномов. При этом по сложению элементы полукольца образуют коммутативный моноид с нулем О, а по умножению— 17.3. Решеточный криптоанализ — коммутативный моноид с единицей которая является единственным обратимым элементом полукольца (из равенства min(a, а следует а а 1). большинстве современных шифров ис пользуются композиции наборов булевых Булевы формулы в функциональном базисе И, ИЛИ, НЕ можно рассматривать не только как функций, каждая из которых имеет несложное элементы булевой алгебры, но и как решетки, описание и может быть легко вычислена. При- При этом множество {true, false} значений аргу- 89 и мерами являются DES, FEAL, ГОСТ 28147 т. п. Сложность вскрытия ключа таких шифров ментов и функций интерпретируется как true false с линейным упорядочением Соот
363 ветственно элементарные функции определяются численно на множестве {О, 1} так: avb sup(a,b)i алЬ = inf(a,b); a (17.3.1) a. Решеточные продолжения операций И, ИЛИ являются коммутативными, ассоциативными (это следует из определения решетки) и ди стрибутивными (так как множество А линей но упорядочено). Для них выполняются за Здесь одной и той же буквой обозначено имя аргумента и его численное значение. В дальнейшем символы л и V будем понимать в решеточном смысле, символ л иногда будем опускать для упрощения записи. Выражения (17.3.1) позволяют формально рассматривать произвольную булеву формулу коны поглощения: £7 V b bv a,ab ba. {a\/ b)\/ c = av (bvc), (ab)c a{bc\ a(b V c) = ab\/ ac,av (be) = (av b){a v c), a V (ab) = a, a(a v a. как решеточный полином, определенный на N множестве А , где А множество рациональ- . Здесь ных чисел, лежащих в интервале от О до является наименьшим элементом. наи большим элементом решетки. В силу линейной упорядоченности avb множества имеем: тах(а, Ь% алЬ^^min(a, b). Множество А может состоять из конечного числа элементов. Отображение А (ОЛЬ пере водящее числа. Операция инверсии не является решеточной операцией дополнения для нецелого аргумента: аа^О,ava^l, но представляет собой инверсный изоморфизм решетки в себя. Кроме того, выполняются законы де Моргана: ab = avb, a\/b~a/\b. Для решеточного продолжения операции сложения по модулю 2 слагаемое, ближайшее к числу 0,5, поглощает (с точностью до ин меньшие 0,5, в О, а числа, большие 0,5, в 1, является гомоморфизмом решеток. При этом формальное представление булевой функции формулой сохраняется, но расширяется область ее определения и, соответственно, область значений (дистрибутивная решетка над {О, 1} вкладывает- версии) другие слагаемые суммы. Число 0,5 является аннулятором для всех чисел 0,5 © а = 0,5. Доказательство следует непосредственно из решеточного представления операции сложения по модулю 2. Округление а для а 0,5 и а для 0,5 а задает гомоморфизм из полуколь ся в дистрибутивную решетку над А). Будем называть такие функции решеточным продолэюе- ца РПБФ в полукольцо булевых формул. нием булевых функщй (РПБФ), а бинарные операции а\/ b и а г\Ь — дизъюнкцией и конъюнк- Кроме того, если интерпретировать введен- цией по аналогии с булевыми формулами [5]. ные понятия геометрически, определив булеву Соответственно определяется и дизъюнктивная нормальная форма (ДНФ).^ функцию на вершинах 7У-мерного единичного куба, а РПБФ— на всех рациональных точках Такой переход от булевых функций к их ре- этого куба, то выполняются еще два свойства: щеточным продолжениям обусловливает изме нение алгебраических свойств булевых функций (элементы множества А не обладают дополне- ниями). РПБФ обладает следующими свойствами: . Решеточные продолжения операций ИЛИ, И сохраняют идемпотентность Булева функция и ее решеточное продолже ние совпадают на вершинах единичного куба. 7 (по определению решетки): £? v а = а, аа = а. Поэтому РПБФ принимает значения одной из пере менных или ее инверсии. 1 Вообще говоря, с учетом минимизации булевых формул и их композиций ДНФ не является формой в алгебраическом смысле. Мы употребляем этот термин как устоявшийся в области синтеза конечных автоматов. ^ Дополнением к элементу а ^А называется эле- . Если пред- существует дополнение, , а по второ- Множество РПБФ я вляется расширением множества (полукольца) булевых функций которое получается в результате присоединения нестандартных конъюнкций вида к^к^. Доказательство этого свойства следует из рассмотрения РПБФ как полинома над полукольцом А с учетом законов де Моргана и того, что в А отсутствуют дополнения. Соответственно РПБФ разбивается на стан дартную и нестандартную части. Например, если РПБФ представить дизъюнктивной формой (см. также лемму 17.3.1), то в немент А такой, что а\/ Ъ 1, алЪ стандартную часть входят нестандартные положить, что дня а то по первому свойству дополнения Ъ на му свойству дополнения Поскольку в Q выпол няется 1^0, получаем противоречие конъюнкции gjkikj, которые не превышают 0,5 на всем единичном кубе и равны всех его вершинах (здесь формула). , _ ... некоторая
364 Лемма 17.3-1- Любая РПБФ, полученная пу- рикой для РПБФ и зависит от способа упорядо тем применения конечного числа композиции и чения аргументов в данном конусе, а не от их операторов, описываемых в виде ДНФ, имеет конкретных значений. Удаление целевой функции , равной конъюнкции нескольких булевых функций (не все из которых превышают 0,5), представление в виде решеточного продолже ния ДНФ. Доказательство. Если не учитывать опера- равно максимуму удалений тех функций, кото- тор инверсии, то заключение леммы следует не- рые принимают значение меньше 0,5. Поэтому увеличение числа РПБФ, входящих в конъюнк- целевой функции, должно приводить к посредственно из дистрибутивности операции относительно операции л. Таким образом, оста V цию ется рассмотреть действие оператора инверсии на увеличению удаления целевой функции. Удале ДНФ и показать, что в результате этого опять по- ние (обозначаемое через rem) обладает следую лучается ДНФ. Инверсия дизъюнкции (конъюнк- щими свойствами: ции) РПБФ может быть исключена на основании законов де Моргана. Поскольку число композиций конечно, то повторение этой процедуры по rem (а Ф rem(a) л гет(6) rem(a) = rem(a) числу композиции через конечное число шагов позволит исключить инверсии в формулах, то есть даст ДНФ с элементарными конъюнкциями, которая будет соответствовать РПБФ. Если Ь<а< 0,5, то rem(aZ)) = rem(Z)) и Лемма 17-3.2. РПБФ, не превышающая 0,5 на всем единичном кубе, представима в виде ДНФ, rem(a v b) = rem(a). Поскольку каждое из преобразований шифрования может быть легко вычислено, описываю- ш,ие это преобразование булевы формулы и их решеточные продолжения также вычислимы. Поэтому можно легко вычислить и решеточное включающей только нестандартные конъюнк- продолжение целевой функции ции Если целевая функция содержит только стан Доказательство. В соответствии с леммой дартную конъюнкцию неизвестным уравнени 17.3 эта функция представима в виде ДНФ. По- ем), то ключ может быть легко найден следую скольку по условию каждая конъюнкция не превышает 0,5, то в нее входит хотя бы одна пара щим алгоритмом - > -1 переменных вида / / Эти конъюнкции являют ся нестандартными Алгоритм 17.3.1. Нахождение набора пере- котором стандартная конъюнкция менных. на принимает значение Следствие 17.3.3. Решеточное продолжение Вход Вычислимая конъюнкция от п пере целевой функции имеет вид менных Я Cvg^k^L v...vg п-~п п К^ 5 (17.3 Выход. Набор переменных, на котором функ ция принимает значение где — целевая конъюнкция (стандартная часть РПБФ), представленная выражением (16.5.3), решеточные продолжения булевых функ- Метод. Придать переменным произвольные значе- ции Доказательство. Вынося за скобки нестан дартные конъюнкции вида кЛ^ в соответствии с ния, отличные от 0,5, с попарно различными удалениями. Вычислить функцию с. Если С < 0,5, то найти переменную, удаление которой равно удалению функции, заменить законом дистрибутивности, получаем требуемое значение этой переменной на инверсное и заключение. вернуться на шаг Если тат: вершина единичного ^ 0,5, то резуль куба, ас со ции Назовем конусом, ассоциированным с верши ной Т куба, множество точек куба, каждая коор рованная с текл^щим конусом. дината которых отличается от соответствующей . Та Отметим, что С ^0,5, так как С принимает значение какой-либо переменной или ее инвер- координаты вершины Г меньше, чем на 0,5. КИМ образом, соответствие конус/вершина явля- сии. Поскольку значение функции С превыша ется взаимно однозначным. Удалением РПБФ (от значения ? ет 0,5 в единственном конусе, а вероятность на дан- угадать этот конус мала, то почти всегда будет ном наборе аргументов будем называть число выполняться неравенство С < 0,5. Удаление аргументов, расположенных к 0,5 ближе, чем функции С равно удалению одной из перемен- значение функции (как точки на вещественной ных, неравенство С < 0,5 означает, что oKpyi^ прямой). Удаление является естественной мет- ление этой переменной было выбрано неверно
365 После замены его на инверсное значение уда ление функции будет определяться другим разрядом ключа. Алгоритм требует в среднем п Разрядам ключа придать произвольные зна чения, отличные от 0,5, из (произвольно) вы бранного конуса с попарно различными уда шагов. лениями Вычислить целевую функцию Н. При Н 0,5 17.3-2. Метод криптоанализа результат: вершина, ассоциированная с те кущим конусом единичного Алгоритм 17 можно адаптировать и для случая, когда решеточное продолжение целевой функции содержит нестандартные конъюнкции, то есть С<Н. Пусть для набора значений переменных {К,} {Ki^0,5— значение переменной kj) с попарно различными удалениями из конуса, ассоцииро ванного с некоторой вершиной куба, выполняет ся равенство гст{Н) = YCYa{Kf^) для некоторого т куба. Н< 0,5 выполнить следующее действия 3.1. При Если удаление целевой функции равно нулю, то выбор конуса неудачен или метод не работает. В противном случае вычислить множество возможных клю чей как пересечение найденного множе ства с пересечением наиденных ранее множеств. При этом во всех конусах, кроме конуса, ассо циированного с решением, Н < 0,5 Поскольку Если мощность множества ключей дос таточно мала или если очередные ите рации не снижают мощности множества С < Я, то не все значения переменных с удалени возможных ключей, то искать ключ пе ем не менее rem(Xm) выбраны правильно Это ребором гет(К ) ^ позволяет отбраковать сразу 2 "' ключей. На ■^ jf пример, если тестируемый ключ, в котором разряды отсортированы по удалениям, имеет вид (К-,..., Х" ^1 /..' tn ., к и то при я 0,5 и Поскольку эффективность метода определи ется удалением целевой функции, но не ее зна чением, то разности между соседними значения ми гет(Я) rem(X, аргументов могут быть произвольными т кроме тестируемого ключа частности, значения аргументов могут образовы можно также отбраковать ключи вида вать арифметическую прогрессию это не влияет на эффективность метода криптоанализа {К^^,..., К ,..., К^^), {К^^,..., К , К^^), Корректность алгоритма следует из гомо {К^^,..., iC , К^^),..., {К^^,..., К, , К / тл\ ,...,к / /? Чем больше удаление целевой функции, тем больше информации о ключе можно получить. Целевая РПБФ может вычисляться как в разных конусах, так и в одном конусе с различным упорядочением переменных. После серии таких испытаний получается набор условий типа «хотя бы одна переменная из данного набора опреде лена неправильно». Если удаление переменной Am не равно О, то это позволяет отбраковать сразу несколько ключей, которые не могут удовлетво рять целевой конъюнкции. Соответственно су жается и область перебора. морфизма решеток^ -> {О, 1}, заданного округ лением. Для повышения эффективности реше точного анализа можно использовать следую щие приемы: . Приравнивать не вьгчисленные значения раз рядов шифрограммы и их истинные значения, а значения промежуточных текстов, которые получаются зашифрованием открытого текста на половине циклов и расшифрованием шиф рофаммы на половине циклов на том же ключе (для этого н>'ЖНО знать не отдельные разряды, а целые блоки открытых текстов). . Число отбракованных ключей для алгоритма 17 Алгоритм 17.3.2- Вскрытие ключа решеточ ным методом . Алгоритм шифрования и набор откры тых и зашифрованных текстов, однозначно определяющих ключ. Выход. Набор переменных, на котором целе вая функция Н принимает значение Метод. По известным открытым и зашифрованным текстам составить алгоритм вычисления решеточного продолжения целевой функции. равно 2^^"^^^. Поэтому желательно выбирать конус и упорядочение не случайным образом, а использовать процедуры, обеспечивающие максимум удаления. Для снижения сложности метода целесообразно учитывать распределение вероятностей разностей удалений целевой функции и целевой конъюнкции. На сложность метода сильно влияют нестан дартные конъюнкции. С целью ослабления их действия булевы формулы, описываюидие стандартную часть каждой операции шифрования, желательно минимизировать.
366 Эффективность данного метода не зависит от руглению переменных на входе этого оператора. нелинейности криптоалгоритма Метод не рабо- то есть к округлению аргументов РПБФ тает, если в формуле (17.3.2) почти все g, больше Рассмотрим композицию РПБФ: hog to 0,5 Например, g, может содержать только не- (этот слу- где стандартные дизъюнкции вида J vk / h,( а (Ль к). , hs). feb .&), №, (к)), 5 f^nfr, I g/(k), и применим округление к J чаи неотличим от случая Тогда значение каждой координате вектора а to Тогда о ф(ё) h о а(ф(к)). Ясно, что g(ф(k)) не зависит от спо- целевой функции определяется переменной с соба упорядочения переменных, то есть является нулевым удалением, и алгоритм сводится к пере- фиксированным двоичным вектором в каждом бору. Практически с ростом числа циклов шиф- конусе. Поскольку целевая РПБФ без учета округления представима в виде ДНФ, то и с учетом ок- Самой «неудобной» операцией для решеточ- ругления на начальных циклах шифрования це- ного метода является сложение по модулю рования удаление целевой функции стремится к О, то есть значения g превышают 0,5. Действительно, удаление суммы любом конусе равно нулю. 1 в левая РПБФ тоже будет иметь представление в виде ДНФ, хотя вид функции и изменится. Лемма 17.3.5- Пусть g]. 5 & Влияние нестандартных конъюнкций можно уменьшить, используя функцию округления. Попеременные не могут решеточные продолжения булевых функций и пусть скольку в алгоритме 17 Agb , gn% Ще/:у^ const. Тогда принимать значение 0,5, ни одна из булевых функций не может принимать это значение. Ок ругление переводит rem(//) > min(rem(g I , rem(g^)). РПБФ в двоичный вид функции округления могут быть применены к произвольным промежуточным РПБФ (входящим в композицию функции шифрования). причем функции gu , gn ВЫЧИСЛЯЮТСЯ на од ном И том же наборе аргументов. Доказательство. Требуемое неравенство Лемма 17.3.4. Функция округления сохраняет решеточный гомоморфизм целевой РПБФ и целевой булевой функции, то есть решение уравнения (16.5.4) для РПБФ соответствует решению выполняется, если функцию h записать в виде ДНФ. Из леммы 17.3 следует, что максимальное этого же уравнения для булевых функций. Доказательство. Округление переводит РПБФ в соответствующую булеву функцию удаление любого разряда выходного текста на любом цикле шифрования не может превышать максимального удаления входного текста. При- ее к итерированному шифру, получаем меняя При этом округление не меняет значения РПБФ следуюш,ее утверждение на множестве {0,1}, следовательно, функция округления является решеточным гомоморфиз мом силу дистрибутивности решетки это свойство выполняется и для композиции буле вых функций. Следствие 17.3.6. Для того чтобы целевая функция имела большое удаление, необходимо, чтобы на каждом цикле шифрования конъюнкция из соответствующих РПБФ, описывающих шифрование на одном цикле. имела большое Функция округления является «неалгебраиче- удаление. скои» в том смысле, что она не совпадает ни с одним решеточным полиномом.' Действительно, значение решеточного полинома совпадает со значением переменной или ее инверсии, значение же округления — всегда О или Основные свойства функции OKpyi ления ф ЫаЬ) ф(а)ф(6) ф(а \/Ь) = ф(а) V ф(6) Таким образом, для повышения эффективности решеточного метода нужно, чтобы на каждом цикле удаления разрядов промежуточного текста принимали значения из всего спектра удалений. Иначе говоря, совокупность решеточных продолжений булевых функций, описывающих каждый оператор шифрования, должна действо- ф(а) ф(а) вать на множестве удалении как перестановка Удаление можно считать именем переменной Эти свойства позволяют сводить округление После каждой операции в ходе шифрования один РПБФ на выходе оператора шифрования к ок- из разрядов выходного текста должен принимать имя первой переменной к^ другой разряд имя 3 Поскольку единственным обратимым элементом решетки над множеством^ является 1, то рациональных функций над А не существует. второй переменной к2 и т. д. Данный метод анализа может быть реализован как на «обычном» компьютере, так и на специализированном ана-
367 логовом устройстве, реализующем операции на- Представим прямую и обратную подстановки хождения минимума, максимума и инверсии. в виде наборов четырех РПБФ. Пусть векторы Это требование может достигаться введением (г/ь W2, г/3, Ua) и (vj, V2, V3, V4) соответствуют входу округления для тех аргументов промежуточных булевых функций, которые гарантированно не ное представление булевых функций подстанов и выходу подстановки. Найдем минимизирован могут входить в стандартную конъюнкцию Па пример 9 ДЛЯ аргумента или значения булевой функции kfk, можно применять округление. По этому, в частности, минимизация булевых функ ций и их композиций позволяет повысить эффек тивность метода (минимизация соответствует введению округлении применительно к нестан дартным конъюнкциям). Пример 17 Использование решеточного метода для обращения хэш-функции. Пусть 32-разрядная хэш-функция задана урав нением 4 (X) е X, (17.3 ки зашифрования: Ф(1) 15 ф(15) 13 И 15 10 11 12 13 14 15 14 10 12 Для этого построй м вспомогательную таблиц\ Г и \ и 1 и 2 и 2 и 4 и 4 и 4 операция шифрования на одном цикле. где включающая в себя сложение по модулю z текста х с константой 1000 0111 0110 0101 0100 0011 00100001; 3 2-разрядную перестановку битов текста (32,5,9, 13,2,6 ? 10 ? 14, 3 ? 11,18, ? 12, 16, 17, 21, 25, 29, 15, 22, 26, 30, 19, 23, 27, 31, 20, 24, 28, 1), пронумерованных от до 32: на разрядную подстановку (блок разбивается тетрад, каждая из которых заменяется в соответствии с кодом подстановки: 5= (О, 13, 11,8,3,6,4,1,15,2,5,14,10,12,9,7)); циклический сдвиг блока на 15 бит влево. щ щ щ Каждой клетке таблицы соответствует набор четырех входных переменных число от до 15. Например, элементу щи^щи^ соответствует число (1100)2= 12 (здесь щ старший двоич ный разряд), элементу (0010) Ы^Ы^Ы-^Ыл число 2 2 ит Каждый элемент ф(/) подстановки S предста вим в двоичном виде: Ф(0 1 Ф2ФЗФ4) 2 Для построения функции v^, в клетку таблицы Здесь 4 (х) означает шифрование текста х на с номером ф(/) записываем значение ф'^- : четырех циклах ными Выбранная подстановка обладает экстремаль свойствами (максимальными нелинейно стью и диффузией, см. гл. 18) Для ТТ1Л 1 1 рош,ения моделируюш,еи профаммы возьмем одну и ту же подстановку для всех восьми тетрад. Все циклы шифрования одинаковы, что соответствует степенному шифру (см. п. 18.5). Отметим, что использование шифра с различающимися циклами шифрования, например, с различными подстановками для каждой тетрады и различными нереста новками, практически не влияет на стойкость криптоаш^орштиа к решеточному методу анализа. Пустьу = 0011 01000111 1010 1100 0000 1011 1001. Константа подстановка и перестановка считаются известными. 4 Этому значению хэш-функции соответствует X 0111 0001 1101 0111 1100 0001 1100 01П: 4 (X) 0100 0101 1010 11010000 00010111 1110 и I щ и 2 и 2 и 4 и 4 и 4 -т.-. - и 3 и 3 и > г-^Тч^^ 3 Каждую из функций Vk представляем в виде ДНФ дизъюнкции конъюнкции вида ЩипЩПл, соответствуюш,их ненулевым элементам / <?к Минимизируем булеву функцию, объединяя по парно если возможно, то по четыре или по во семь элементов) клетки таблицы, которые имеют общие фаницы с учетом склеивания противопо- таблицы. Объединять клетки ложных сторон таблицы, вообще говоря, можно по-разному, по
368 этому минимизированное представление подстановки в виде булевых функций неоднозначно. Для функции V4 подстановки iS таблица будет иметь вид: и 1 и 1 и 4 и 4 и 4 г/2 г/s щ vA min(l - Vi, V2, V4), min(vb V2, V4), mm(Vb V2, V3)); max(min(v2, V4), min( 1 mm(l - Vb V2, V3, V2, V4),mm(vi,l -V2,i'3, V3,V4),mm(l-VbV3,V4), V4)); max(min(vi, V2, V3,1 - V4), min(l - Vi, V2,1 V3), min(l - Vi, V2, V4), min(l Vbl V3, V4), min(vi, V2, V3), mm(vi, 1 -V2, V4)); max(min(] Vl, V2,1 V3, V4), min(l Vl, Vb V3), min(l - Vl, V3,1 - V4), mm(vb V2, V4), mm(VbV2, 1 -V3),min(vi, V3, V4)). Записываем г'4 в виде ДНФ и минимизируем (соответствующие пары элементов в таблице заштрихованы): Из что 4 уравнения (17.3.3) следует, F'*(x) = y©x, тогда, в силу обратимости шифрования, умножая обе части этого уравнения слева HSiF 2 ,...2^3^4 \/ щи2^2,11^ V г/,2/2^32/4 У Щи2'и^и^ V , МОЖНО записать Рд —UM'.Unll г, ч Т--2 \/ иЛ12ЩиА V Щи2ЩИ4 \/ щи2^2,11 ^ V Щи2Щи^ (X) F (У Ф X). Щи2Щ \^Щи2Щи/^ \/и2Щи/^ \/Щи2Щи/^ V VU^U'.Ua VU-.U-^Ua. 1 2 4 2 3 4 Целевая функция представляет собой конъюнкцию поразрядных равенств битов в последнем уравнении. Выберем аргумент решеточного продолжения хэш-функции так. чтобы компенсировать на Аналогично получаем для остальных разрядов: чальную перестановку. Начальный конус и упо- _ рядочение можно либо выбирать наугад, либо -^ i J 4 \ 1 i 13 4 \ I i \ 1 i а расписать композицию нескольких операции шифрования (не обязательно всех) и выполнить на V 2 UM2Uo,U^ \/U^U2Uj^ VU^ll^U^ V U^ll2l^4 "^ Щ'^^ъ'^^'^ V 1 = Щи2и^ V W, г^2г^з V Щи-^и^ V U2l^2>^4 ^ Vlltll2'l^2> УЩ^2'^4- минимизацию булевых функций; при этом выходе некоторых подстановок нужно получить большие удаления. Например, для тестируемого аргумента X (Хи ...,Хз2) (перечисление слева Поэтому РПБФ для прямой подстановки име направо и сверху вниз) вида ют вид: Vl тах(тт(г^ь г/2, 1 - щХ min(z/b г/2. г/з). min(u], min(l Uu г/3, 1 - W4), mm(l г/2, г/4), min(l г/2, г/з, г/4). г/1. г/2, г/з)); (0,68; 0,05; 0,09; 0,13; 0,98; 0,94; 0,90; 0,86; 0,97; 0,93; 0,89; 0,82; 0,96; 0,92; 0,88; 0,84; 0,17; 0,21; 0,25; 0,29; 0,85; 0,78; 0,74; 0,70; 0,81; 0,77; 0,73; 0,69; 0,80; 0,76; 0,72; 0,01) Vl max(min(l - г/i, г/25 ^з, 1 - щ\ min(l ыЛ, т1п(г/1, г/2, щ), тт{щ, г/з, г/4). г/1. г/з. после двух циклов решеточного продолжения зашифрования получаем F (х): тт(г/ь г/2 ? г/4)); V3 тах(тш(г/2, 1 - г/з, 1 - г/4), min(l г/з), тт(г/ь г/з, г/4), тт(г/1. г/1, г/2. (0,32; 0,68; 0,68; 0,32; 0,21; 0,79; 0,31; 0,31; 0,21; 0,84; 0,16; 0,79; 0,21; 0,89; 0,18; 0,82; г/2. т\ min(l г/1. г/2, г/з, 1 г/4)); ,11; 0,20; 0,28; 0,23; 0,72; 0,24; 0,31; 0,72; 0,69; 0,76; 0,72; 0,24; 0,72; 0,32; 0,32; 0,27) Va тах(тт(г/1, г/2, г/з), т1п(г/2, г/з, W4), г/2 тт(г/1, min(l -г/i, W2 ? г/4),min(l -г/2, г/з, 1 г/4). ? г/з, 1 г/4). min(l г/1, 1 г/2. г/з, г/4)) Решеточное продолжение суммы х © у равно (0,68; 0,05; 0,91; 0,87; 0,98; 0,06; 0,90; 0,86; 0,97; 0,07; 0,11; 0,18; 0,04; 0,92; 0,12; 0,84; 0,83; 0,79; 0,25; 0,29; 0,85; 0,78; 0,74; 0,70; 0,19; 0,77; 0,27; 0,31; 0,20; 0,76; 0,72; 0,99). Вычисляем минимизированные РПБФ для об ратной подстановки: г/1 тах(шт( Vl, V2, V3,V4),min(l-V2,V3, Находим результат решеточного продолжения расшифрования F~\y Ф х): (0,32; 0,83; 0,83; 0,71; 0,82; 0,86; 0,87; 0,29;
369 0,69; 0,86; 0,87; 0,82; 0,69; 0,83; 0,69; 0,82; 0,31; 0,83; 0,32; 0,74; 0,29; 0,30; 0,69; 0,32; 0,69; 0,31; 0,69; 0,74; 0,29; 0,30; 0J2; 0,69) функции проще искать перебором. Кроме того, как видно из данного примера, решеточный метод допускает распараллеливание. Вместо целевой функции, составленной как конъюнкция поразрядных равенств одноименных разрядов в двух последних векторах, мояшо 17.4. Метод арифметического продолжения булевых функций найти вектор 1 - (F (х) Ф F ~ (х Ф у)), соответствующий элементам конъюнкции, как совокуп- Существует ряд других универсальных мето ность решеточных продолжений равенств одно- дов анализа, основанных на продолжении функ именных разрядов в формуле (] 6.5.4): (0,68; 0,68; 0,68; 0,32; 0,21; 0,79; 0,31; 0,69 0,31; 0,84; 0Д6; 0,79; 0,31; 0,83; 0,31; 0,82 0,69; 0,20; 0,68; 0,26; 0,29; 0,70; 0,31; 0,32 0,69; 0,31; 0,69; 0,26; 0,29; 0,68; 0,68; 0,31) Значение целевой функции определяется минимальным (одиннадцатым) разрядом полученного вектора и равно 0,16, то есть удаление равно 32 100 0.16 16 Значит среди 16 разрядов вектора х, имеющих значения в диапазоне от 0,01 до 0,16 и от 0,84 до 0,99 не все округления выбраны правильно. Этим отбраковывается 2'^ возмож ных аргументов на первой итерации криптоанализа: неправильными являются аргументы (хъ •..; x^i) вцда(*;0;0;0;1;1;1;1; 1- 1- * • 1- 1- 1- *1^ • *1^ • Й^ • J 1 5 *. . |. *. ^.^ ^.^ ^. :j.. ^. :j.. ^. ^. :j.. |-j^ ^,д^ СИМВОЛОМ обозначено любое значение О или 1. * Аналогично выполняем Для нового аргумента х: вторую итерацию (0,68; 0,05; 0,09 0,03; 0,07; 0Л1 0,17; 0,21; 0,25 0,81; 0,77; 0,73 0,13; 0,02; 0,06; 0,10; 0,86 0,82; 0,04; 0,08; 0,12; 0,84 0,29; 0,85; 0,78; 0,74; 0,70 0,69; 0,80; 0,76; 0,72; 0,01) получаем вектор 2 2 (F^x) © р-\и @ у)): (0,32; 0,21; 0,68; 0,32; 0,69; 0,31; 0,31; 0,69 0,31; 0,83; 0,84; 0,29; 0,21; 0Д4; 0,31; 0,71 0,69; 0,80; 0,68; 0,74; 0,29; 0,70; 0,31; 0,28 0,69; 0,69; 0,31; 0,32; 0,29; 0,70; 0,68; 0,73) IS воз с удалением 18. Этим отбраковывается молшых аргументов: неправильными являются все аргументы {х\\ ...;хз2) вида (*; 0; 0; 0;0; 1;0; *. ; 0; 0; 0; * 5]^ ■ 5]^ • SK • *J^ * *J^ • 5]^ • fll^ • ^ • *J^ ъ *JC ■ 5]^ • 5 Э 5 5 5 5 5 5 5 5 5 5 5]^ • 5K • 5K • 5]^ • 5 5 5 ;0). ЦИЙ шифрования до функций над упорядочен ным множеством, поиске экстремума на продол женных функциях и обратном переходе к буле анализа дисковой шифровальной машины вым функциям. В 1982 г. американские математики Д. Андельман и Дж. Риде [9] предложили для «Энтма» времен Второй мировой войны использовать представление продолженного шифра в терминах векторного пространства над полем (R вещественных чисел. При этом соответствующим образом продолжается и множество преобразовании, выполняемых над текстами. Дисковая машина состоит из набора к вращающихся дисков (плоских цилиндров), каждый из которых реализует однобуквенную подстановку (замену) для входного алфавита. На основаниях дисков расположены электрические контакты, причем предыдущий диск может пе редавать электрический сигнал на последующий диск, для каждой новой буквы осуществляется поворот диска. Зашифрованная буква соответствует выходу последнего диска. Таким образом, дисковая машина реализует поточный шифр, в котором каждая буква текста заменяется буквой из этого же алфавита, причем эта подстановка зависит от времени и от предыдущих букв текста. Пусть а — размер алфавита, X, — перестановка, реализуемая /-м диском, U— ничного сдвига диска, при этом one U'^ ратор еди г I сдвиг /-Г0 диска по сравнению с исходным состоянием. Итоговая подстановка, реализуемая машиной, содержащей к дисков, имеет вид: к '^ — ?Г- tf ' V Sir ,Х) = Т\и-''■ X,и \ /■=1 где г— вектор вращений дисков, X— вектор Дальнейшие итерации позволяют получить перестановок. удаление порядка 15 17 Пренебрегая сложно стью нахождения пересечения множеств воз Варьируемыми параметрами являются: набор подстановок, реализуемых дисками, способ элек- можных аргументов (или объединения множеств трического соединения дисков, способ вращения дисков и т. п. Будем считать способ вращения Тогда что отбракованных аргументов), получаем, сложность вскрьггия аргумента равна примерно '^ итераций решеточтюго криптоанализа. дисков известным, можно описать набором множество ключей из перестановок Отметим. что когда множество возможных буквенного алфавита, это множество имеет мощ решении станет достаточно мало, аргумент хэш ность {а\) . Перестановгса представляется квадрат
370 ной матрицей размера д, в которой каждый стол- будет выполняться дистрибутивность и множе- бец и каждая строка содержат единственный еди- ство продолженных булевых функций переста- нртчный элемент, остальные элементы — нулевые. нет быть полукольцом. Поэтому переход к не Андельман и Риде предложили заменить мат- прерывным функциям (17.4.1) вносит в вычисле рицы перестановки матрицами, элементы кото- ния погрешность, которую трудно учесть. Об неотрицательные вещественные числа; ратный переход от непрерывных функций к дво рых сумма элементов в каждой строке и столбце рав- ичным неочевиден. Например, для X 0,4 и на (такие матрицы называются дважды стохас 0,3 получаем X V V 0,7, что значительно тическими). Тогда расширенное множество клю- ближе к 1, чем оба операнда. Для трех операндов чей состоит из к наборов всех указанных матриц. это еще заметнее. Операции сложения и умно- Анализ выполняется на основе шифртекстов с жения не являются идемпотентными в отличие учетом того, что частота появления букв естест- от операций л, v. венного языка соответствует вероятности. Процесс поиска максимума целевой функции Пусть Х = (Хь ...,Х/:)—вектор перестановок, для стартового значения (0,5; ...; 0,5) после 30 d(X, г) — вычислительных итераций начинает сходиться к соответствующий набору к дисков, вектор вероятностей одиночных букв шифртек- истинному значению ключа. ста, р — -разрядный вектор вероятностей появ ления одиночных букв открытого текста. Тогда d(X, г) S(r, Х)р хи п По-видимому, этот метод не имеет преимуществ по сравнению с перебором, если число циклов шифрования и размер ключа велики. Это обусловлено влиянием указанной погрешности (целевая функция имеет множество локальных максимумов, не связанных с решением), а также Нужно найти максимум функции тем. что сложность вычисления производной л^ Z(X/{c,r}f) = r[(e,(,)d(X,r(0)), растет по экспоненте от числа циклов шифрова ния. В частности, для DES с 16 циклами и 56 би /=1 тами ключа вычисление производной оказывает ся сложнее, чем перебор. описывающей вероятность того, что при задан ной последовательности N символов c{i) шифр Обобщим метод криптоанализа на текста частота появления символов открытого арифметического продолжения булевых текста соответствует частоте появления букв ее тественного языка при некотором наборе дисков, где Сс/А — вектор символов шифртекста. Для поиска максимума (вскрытия вектора дисков) используется аппарат дифференциального исчисления. Начальное приближение для дважды стохастических матриц, задающих «расширенные» диски, выбирается произвольным. Ключ вскрывается поочередно, начиная с первого диска. Этот метод был опробован и на «маленьком» подстановочно-перестановочном шифре с длиной основе функций. Составим целевую функцию /7 как арифметически продоллсенную согласно (17.4.1) конъюнкцию поразрядных равенств промежуточных текстов для продолженного ключа по аналогии с решеточным методом. Для однозначного определения ключа с помощью целевой функции в среднем достаточно, чтобы число конъюнкций в 1,368 раза п. 16.2.1). Пусть вой функции. п (см. число конъюнкции в целе превышало энтропию ключа блока и ключа 27 бит, 3-разрядной подстановкой и тремя циклами шифрования [9]. Для Для дальнейшего изложения метода анализа этого арифметически продолэюенные булевы функции рассматривались как полиномы над полем (R: рассмотрим некоторые свойства продолженной целевой функции. Заметим 9 дует: xvy X лу ху; xvy х+у; X X. что из равенства х\/у х)(\ х+у (17.4.1) хлу еле ху. Лемма 17.4.1. Если все разряды ключа равны 0,5 и каждая из операций шифрования описьюа- ется набором сбалансированных продолженных булевых функций, представленных в виде полных дизъюнктивных нормальных форм, то каждый продолженный разряд промежуточного тек ста равен 0,5. Для набора аргументов из интерва ла (О, 1) каждый разряд промежуточного текста принимает значения из этого же интервала. Доказательство. Сбалансированная про- что противоречит продолжению (17.4.1). Однако, долженная булева функция т переменных может если заменить xvy выражением х + у-ху, то не бьггь записана в виде дизъюнкции т-\ попарно
Wl ключ является истинным, то все конъюнкции значение различных продолженных конъюнкции от т пе ременных. Следовательно, каждая из этих конь- равны i и :4начение продолженной целевой юнкций принимает значение 2~'", а продолженная функции равно I. Поскольку продолженная фун- дизъюнкция — — значение 0,5 на любом наборе кция, описывающая равенство одноименных дво- переменных. Переход к объемлющим сбаланси- ичных разрядов, является сбалансированной, то рованным продолженным булевым функциям она принимает значения от до Следователь выполняется по индукции. Рассмотрим сбалансированную но, продолженная целевая функция на единич- продолжен- ном кубе принимает все вещественные значения ную булеву функцию. Очевидно, что каждая от до конъюнкция может принимать значение и или . Целевая функция однозначно определяет ключ, поэтому глобальный экстремум ее на вершинах единичного куба и не может при- продолжения является единственным и соответ нимать отрицательные или превышающие 1 зна- ствует вершине единичного куба. В силу гладко чения. Следовательно, и значения продолженной сти продолженной целевой функции существует функции неотрицательны. Покажем, что сумма окрестность вершины конуса, в которой каледыи продолженных конъ- элемент целевой конъюнкции строго больше 0,5. юнкций не может превышать 1. Сбалансированная продолженная функция не может принимать Приведенные рассуждения справедливы и в значения, превышающие число конъюнкций. То- том слз^ае, если целевая функция определяет гда можно найти экстремум этой функции, при- несколько ключей — число глобальных макси равняв к нулю производную функции как поли мумов продолженной целевой функции равно нома над 1R. Поскольку в каждую конъюнкцию числу решений. Таким образом, нахождение точ каждая переменная входит в первой степени, то ки глобального максимума продолженной целе внутри куба полная производная не может быть вой функции эквивалентно вскрытию ключа всюду равной 0. Следовательно, экстремумы шифра на основе открытого и зашифрованного функции возможны только на вершинах куба, текстов. Существует вершина, на которой целевая функ Нет необходимости рассматривать продолже ция и, следовательно, продолженная целевая ние (17.4.1) как непрерывное, можно ограни функция принимает значение 1, и вершина на которой эта функция принимает значение Продолженная функция внутри единичного куба является гладкой, поэтому она принимает и все минимизация булевых функций. Действительно, читься поиском максимума методом наискореи шего спуска [4] для трех значений разрядов ключа: {0; 0,5; 1}. Кроме того, здесь не требуется промежуточные значения от О до если к равенству булевых функций (/Ag)v(/Ae) /, (17.4.2) Поскольку все операции шифрования обратимы, то все промежуточные булевы функции, задающие процедуру шифрования, являются сба- соответствующему минимизации, применить лансированными. Таким образом, если каждый продолжение (17.4.1), то оно примет вид: разряд продолженной переменной равен 0,5, то в целевую функцию будут входить продолжения конъюнкций, равных 0,5. Поэтому продолженная целевая конъюнкция от п продолженных двоичных переменных равна 2 Очевидно, что если все разряды ключа опре /Я+/1 /я+/ ш _ *■ ^^г- Равенство (17.4.2) выполняется и для продол женных булевых функций. Применим рассматриваемый метод к задаче делены правильно, то значение продолженной обращения хэш-функции, целевой функции равно Алгоритм 17.4.1. Обращение итерированной Теорема 17.4.2. Если целевая функция одно- хэш-функции с использованием арифметически значно определяет ключ, то ее продолжение име- продолженных булевых функций. Вход. Алгоритм вычисления хэш-функции/и ее значение у. Выход. Аргументх - (jci, ...^Ху) хэш-функции/ ет единственный глобальный экстремум, равный , который достигается при совпадении продол женного ключа с истинным значением. Сущест вует окрестность вершины конуса, ассоцииро ванного с решением, в которой каждый элемент целевой конъюнкции строго больше 0,5. Доказательство. Согласно лемме 17.4.1 сбалансированная продолженная булева функция Метод. Положить о < г < 77. Положить X й п 9 J< 9 Х^< I 0,5 для и вычислить продолженную принимает значения от О до 1. Если тестируемый целевую функцию Н о J Я X =0 ' н ч- -J -1.
372 Положить JC/ ^ 1 и вычислить продолженную целевую функцию Н Я X I I • Если Н о J <Н* <Н 1 ./ (то есть, вероятно, х. 1), то положить Xj<r- 1 и н * 1 я . J Если о Н\<Н* < Н] (то есть. вероятно, Xj 0), то положить JC, -^ о и Н <^Н . Если ни одно из неравенств не выполняется, то положить Xj< 0,5. Если все разряды аргумента найдены, то алгоритм заканчивает работу, иначе положить 7^ 7 + и вернуться на шаг 2. Разряд аргумента на шаге 4 можно определять и по максимуму целевой функции, но это иногда ведет к увеличению вероятности ошибки. Использование двойного неравенства можно объяснить тем, что высказьшания «разряд аргумента равен О» и «разряд аргумента не равен 1» одинаково информативны. Если вероятно правильное значение разряда аргумента соответствует увеличению целевой функции, то вероятно неправильное значение должно соответствовать ее уменьшению. При объединении этих условий 5 получаем двойное неравенство. Для продолженных функций число 0,5 является аннулятором для всех чисел по сложению: 0,5 ед: 0,5. Если число циклов шифрования достаточно велико, то изменение одного разряда аргумента перестает влиять на значение целевой функции — оно всегда равно 2 . Поэтому есте ственным усилением метода представляется тес тирование на шаге 4 не одного, а одновременно нескольких разрядов аргумента. ходе дальнейшего поиска разрядов аргумен та критерием правильности является рост теку щих значении tf. Это позволяет использовать стратегию отбраковки найденных ранее разрядов ключа, если Н не имеет тенденции к увеличению. Хэш-функция характеризуется пороговым числом г правильно наиденных разрядов аргу мента, при достижении которого раскрытие оче редного разряда выполняется со сложностью 0{\) (одна итерация шага 4 алгоритма 17.4.1). Таким образом, стойкость хэш-функции (слож ность ее обращения) пропорциональна 2 : нужно угадать г разрядов аргумента, тогда остальные разряды определяются с линейной сложностью Поэтому число г задает экспоненциальную со ставляющую стойкости хэш-функции [4]. 5 Можно использовать и просто максимум, а так — для поиска «ин же минимум целевой функции версного» ключа. Пример 17.4.1. Оценка порогового числа раз рядов аргумента и стойкости хэш-функции. Рассмотрим хэш-функцию из примера 17.3.1 при тех же значениях параметров и аргумента, но для шести циклов шифрования. Тогда 1010 1001 1010 110000010011 0001 0И1. Используем неминимизированные булевы функции, задающие прямую и обратную подстановки. Операция вещественнозначного продолжения суммы по модулю одного разряда х текста с разрядом Z ключа задается равенством x@z х(\ z) + (l x)z X +Z 2xz. Продолженная прямая подстановка (г/1, W2, Щ. Щ) -^ (vi, V2, V3, V4), где г/ь Vi — старшие разряды двоичного представления входа и выхода подстановки, имеет вид VI щ)(\ X мз(] «2)(1 W4) + (l ^3)^4 + (1 «1X1 М2)Х Щ)(\ и-х^щи^ + ЩУ. X «2X1 «зХ1 и^ + щ(\ - U2)UsU4 + + Щи2(1 + и\и2Щ(\ щХ\ иЛ + U\U2(\ — Щ)Щ + г/4): V2 г/0(1 г/2)(1 X Us)Ua + (1 щ)щ + (1 г/1 )г/2г/з( 1 г/,)г/2 X г/4) + + г/1(1 г/2)(1 г/з)(1 г/4) + г/1(] щ)т X X Щ) + Wl(l " и2)ЩЩ + U\U2{\ ~ Щ)Щ + + и\и2ЩиА\ V3 щ)(\ X щ){\ и2)щ{ \ и\Ш2 Х(] х(1 «2X1 «зХ1 Ua)+U\(\ U])U2 X г/2)х г/з)г/4 + г/1(1 - и2)щщ + u\U2{\ Щ)х Va г/iXl X мз(1 +(1 + Wl(l «2X1 u4)+a Щ)И4 + (1 г/,)(1 г/2)х UiWl г/з)(1 г/4) + и{)и2ЩЩ + и\(\ г/2)(1 г/з)(1 иЛ + щ)щ{ 1 иЛ + г/1г/2г/з(1 - и^ + щигЩЩ Аналогично определяется продолженная обратная подстановка. Выберем в качестве начального приближения значения 0,5 для всех разрядов аргумента. Иш,ем целевую функцию Н для начального приближения аргумента (0,5; ...: 0,5), заменяя логические операции арифметическими согласно продолжению 17.4.1. Поскольку разряды все проме функции, задающие текстов, сбалансированы, получаем 2,328306437-10 ' булевы очных 32 10 Вскрытие шзгумента будем выполнять в не сколько итераций, используя алгоритм 17.4.1. На первой итерации все разряды аргумента, кроме
373 одного, полагаем равными 0,5; этому одному раз ряду придаем поочередно значения и При о Целевая функция равна Н. = 2,32951 10 10 этом проверяем, что Н ле^шт между Н^ и Н 1 J и Для Xi ^2 ^32 0,5 получим по виду неравенства определяем оценку разряда Н 1 1 2,32937 10 10 . Поскольку if не лежит меж аргумента. На второй итерации тестируем поочередно остальные разряды, при этом в аргумент подставляем оценки разрядов аргумента, найден о 1 ду Н. и /(J, то этот разряд не определен Аналогично получаем: ные на первой итерации. На третьей итерации уточняем оценки второй итерации и тестируем оставшиеся нераскрьггые разряды аргумента и т. д. Н о Н 13 о 24 2,32834-10 10 ? 2J2824.10 10 Н 1 13 ,н 1 24 2,32827-10 10. 9 2,32838-10 10 9 Например, на первой итерации для аргумента 0,5 после трех циклов X вида X] Х2 хъг зашифрования получим F (х): Я о 32 2,32827-10 10 ? Я 1 32 2,32834-10 10 Поэтому вероятные оценки разрядов аргумен (0,5; 0,5; 0,5; 0,5; 0,5; 0,5; 0,5; 0,5; 0,5; 0,5: 0,5 0,5 0,5 0,5; 0,5; 0,5; 0,5; 0,5; 0,5; 0,5; 0,5; 0,5; 0,501; 0,492; 0,492; та равны: Х\ъ О, Х24 1, Х-Х2 Разряды тестиру ем поочередно, чтобы исключить их взаимное влияние. На второй итерации подставляем найденные 0,501; 0,492; 0,492; 0,5; 0,501; 0,492; 0,492). оценки в аргумент, остальные разряды полагаем 3 После трех циклов расшифрования ползшим (х Ф у): равными 0,5, тогда Н = 2,33142 - 10^^^. Результа ты тестирования приведены в таблице I7.I /i — число одинаковых округлений в одноимен и (0,5; 0,5; 0,5; 0,5; 0,5; 0,5; 0,493; 0,5; 0,5; 0,5; 0.5; 0,5; 0,5; 0,5; 0,493; 0,5; 0,493; 0,5; 0,508; 0,5; 0,5; 0,5; 0,5; 0,5; 0,5 0,5 0,5 0,5 0,5; 0,5; 0,5; 0,484) ных разрядах промежуточных текстов соответст венно при нулевом и единичном значениях тес тируемого разряда). Таблица 17.1 Результаты тестирования для примера 17.4.1 М.-У -^ - / _, , ^ ^ ■ >^. I* ? ^ ,' V^ -г ^ ■■> -: ш. I г J •^ Ч t . *' ^-i \ ^ ■^-i 1^ <. W -т Т кш -^^ ^'- -*-^ ^-i *-" !-- -^ Ш^ J- - <. ►_— ^ .^"% г
374 Продолжение таблицы 17,1 Тестирование по целевой функции Н дает во- этапе предвычислений. Значение г в общем слу- семь ошибок. Поскольку принятие ложного раз- чае неточно и зависит от расположения найден- ряда в качестве правильного ведет к ошибочно- ных разрядов. Для нахождения числа г достаточно выбрать аргумент хэш-функции, вычислить ее значение и потом увеличивать число угаданных разрядов аргумента до тех пор, пока алгоритм сти всех дальнейших вычислении, желательно ужесточить критерии приема разряда аргумента. Например, принимать тестируемый разряд при выполнении двух условии: Я о ./ <Н' <Н]; 2) /о >/ь если Я^ > Н], или/о </ь если Я? <Н\. В J J J J этом случае число ошибок сокращается до шести. Зависимость порогового числа от числа циклов шифрования той же хэш-функции имеет вид: Рассмотрим 64-разрядную хэш-функцию, . . г^2ку. \ ,тч . заданную уравнением: F (х) Ф X, один цикл шифрования которой содержит: сложение текста с константой по модулю 2; перестановку вида х I ^23/(niod б'^)? подстановку (О, 13, 11, 8, 14,10,12,9,7); 9 15, 2, 5, циклический сдвиг влево на 25 разрядов. Зависимость порогового числа от числа цик лов шифрования имеет вид: 17.4.1 не начнет работать, а значение продол женной целевой функции Н не начнет возрас тать. Можно двигаться и в другую сторону. уменьшая число известных разрядов аргумента до тех пор, пока алгоритм 17.4.1 не перестанет определять очередной разряд аргумента с гаран тированно большой вероятностью. Вскрытие ключа с учетом найденного поро гового числа выполняется следующим алгорит мом [4]. Алгоритм 17.4.2, Обращение хэш-функции с помощью арифметически продолженных булевых функций. Вход. Значение хэш-функции. Выход. Аргумент хэш-функции. Мето Вычислить с помощью алгоритма 17,4.1 пороговое число г. Выбрать произвольным образом г разрядов аргумента. Применить алгоритм 17.4.1 для вскрытия ос тальных разрядов значение If. Если аргумента, контролируя значение // в ходе выпол нения алгоритма 17.4.1 (в среднем) возраста ет, то разряды на шаге настоящего алго ритма выбраны правильно. В противном слу чае вернуться на шаг 2. Таким образом, эта хэш-функция характери Сложность алгоритма 17,4.2 зуется определенным числом циклов шифрова- сложностью проверки того. что определяется тестируемые ния, свыше которого стойкость по отношению к данному методу практически не увеличивается. разряды ключа определены правильно. В общем случае для снижения сложности можно использовать и другие критерии: увеличение числа раз- Пороговое число для заданной хэш-функции рядов, входящих в целевую функцию, с одинако- определяется с полиномиальной сложностью на выми округлениями; увеличение разности, обес-
375 печиваемои при изменениях аргумента, и т. п. На Выберем открытый текст x = 21d6 с1с6 Ь579 очередной итерации целесообразно проверять 0аЬ7 и шифрограмму 3518 7465 ff87 Ь527 правильность разрядов аргумента хэш-функции, (этому преобразованию текстов найденных на предыдущих итерациях, по приня- ключ к= 86ed с328 270а 15а5). соответствует тому критерию. Это позволит корректировать Как и в случае хэш-функции, для вскрытия ошибки предыдущих итераций. Для повышения ключа нужно угадать пороговое число разрядов точности метода желательно использовать мето ды проверки статистических гипотез. ключа, а оставшиеся разряды можно вычислить. Например, если угаданы все разряды ключа, кро- Этот метод криптоанализа допускает распа- ме восьми (разряды 2-5, 8, 58,60, 61 равны 0,5), то .^^^ т^... сслл^^ г\—20 1 раллеливание If 5,5147 10 целевая функция увеличи Алгоритмы 17.4.1 и 17.4.2 очевидным обра- лась по сравнению со случаем, когда число уга зом можно адаптировать и к задаче вскрытия данных разрядов невелико. ключа итерированного шифра. функции из п Пример 17.4.2, Использование арифметически продолженных булевых функций для вскрытия ключа блочного шифра. Рассмотрим степенной восьмицикловый блоч- функция (таблица 17.2) ный шифр с длиной блока 64 бита и цикловой Зависимость порогового числа от числа цик лов шифрования примерно соответствует хэш примера 17.4.1. По мере увеличения числа угаданных разря дов ключа увеличивается среднем) целевая функцией шифрования F из п. 3 примера 17.4 Таблица 17.2 Зависимость параметров алгоритма от числа угаданных разрядов в примере 17.4.2 м^ t ^ v^ ■ l"L£ 17.5. Анализ шифров с малым порядком нелинейности в базисе И, ИЛИ, НЕ — только полукольцом, кольце G„ определено дифференцирование, а каждая булева функция представляется полиномом В ряде случаев функцию шифрования удобнее Жегалкина однозначно. Наиболее употребитель- при заданных в базисе И, ИЛИ, НЕ, а полиномов Же- описании ее в терминах кольца G„ является аф- представлять композицией не булевых функций, пая операция сложения текстов по модулю галкина. Это обусловлено тем, что Gn является финной, тогда как при описании в базисе И, кольцом, тогда как множество булевых функций ИЛИ, НЕ она таковой не является.
376 Ключ шифрования можно определить и как менными. Таким образом^ задача вскрытия клю содержимое памяти ключей, и как подстановку, ча сводится к вычислению многократной произ задаваемую блочным шифром. Каждую булеву функцию, описывающую со ответствующии разряд по дета но вки /X), водной целевой функции. Поскольку все переменные входят в полином Жегалкина только в первой степени, дифферен- коэффициентов, цирование в кольце G^, сводится к исключению можно задать набором из определяющих ее представление в виде полино- переменной. Для испытываемого набора пере мов Жегалкина: менных 1 э Ук «AO + Z / ОаЛ+Е%-^'^- + К можно исключить переменную если вычислить ЯГль ..., A/_i, А:,, kjA-u .-., кЛ + J + Я№, .-. 5 /-1 9 ki^x^ ..,^к,^. Исключение двух i>] Тогда всю подстановку можно описать набором двоичных 77-разрядных: векторов, которые соответствуют булевым функциям, задающим разряды подстановки: переменных потребует четырех слагаемых и т. д. Исключение всех переменных, кроме одной, потребует перебора. Если итерированный подстановочно перестановочный шифр использует на каждом а о 4- а.х н- / / цикле четырехразрядные подстановки (как в ^ х,х^ + •"'"^1. .Л-"^« ; i>J Для вскрытия ключа шифра (обращения хэш функции) составим целевую функцию как в ре шеточном методе. Если все операции предста вить полиномами Жегалкина, то целевая функ ция й^над р2 тоже будет полиномом Жегалкина: примерах 17.3.1, 17.4.1, 17.4.2), то порядок нелинейности для одного цикла шифрования не превышает 3. При этом 77-мерные векторные коэффициенты а,, 2Ljp 2Ljjk^ ... являются «ПОЧТИ нулевыми» и слабо зависят от ключа. После нескольких циклов шифрования эта зависимость усиливается. п и я П(АФ^,) + 1яЛ(1Ф^,), (17.5.1) /=1 /=1 Пример 17.5.1. Изменение векторных коэффициентов с ростом числа циклов шифрования. Рассмотрим 64-разрядную хэш-функцию i^'"(x) Ф X, каждый из т циклов шифрования где bi в {О, 1}, (к\, ..., kfj) — ключ и / бу левы функции, представленные в виде полино мов Жегалкина. Если которой содержит операторы сложения по моду лю 2 текста с константой 86ed с328 270а 15а5 5 , ТО соответствующий разряд ключа равен 1, в противном случае этот разряд равен 0. Целевая функция принимает зна перестановку вида х I ^2M(mod(yA), подстановку ИЗ примера 17.3.1 и циклический сдвиг влево на 25 разрядов. Запишем хэш-функцию в виде полиномов Жегалкина: чение 1 только на том наборе аргументов, кото ж.^ рыи является решением задачи криптоанализа 64 п ао + а, х + Поскольку в действительности V g^k, (1Ф А:,) /=1 /-1 В G„, то и производная этой суммы по любой пе и вычислим векторные коэффициенты: ременной равна нулю. Между вычислением производной целевой функции (17.5.1) и перебором ключей существу- , По- Н практически невозможно ао У(0 64 ),а, ао + у(1,0 63 ? а? ао + у(0 1,0 62 ет связь. Действительно, D\D2...DJH) скольку функцию an ао + у(1, 0^') + у(0, 1, 0^0 + У(1 Л. 0^') записать в виде формулы, но можно вычислить, и т. д. Пусть оператор шифрования F (х) описы то использование производных могло бы послу- вается уравнением жить механизмом для вскрытия ключа. Напри мер, если выполняется равенство D2...D„{H) 64 ТО D 2 первый DJH) разряд ключа равен ? если (ю Ьо + Еь х. + / / 1ь .х^х + 1=\ i>J ТО первый разряд ключа равен Остается то же проделать с остальными пере Тогда ао bo, а / / + i,a у by и т. д. Для того чтобы коэффициенты ,^,;, описы 6 Любой блочный шифр не только реализует класс подстановок, но и позволяет его компактно описать. Вычисление собственно массива ключа сводится к вычислению искомой подстановки в «терминах» этого и на тради- вающие нелинейную часть преобразования, были отличны от нуля, необходимо, чтобы соответствующая конечная разность порядка / была от лична от нуля. Нелинейные свойства шифра про шифра. Однако подстановку можно ционном языке опис ания подстановок являются только при прохождении соответст вующих разрядов текста через блок подстановки.
371 Рассмотрим подробнее механизм появления нелинейных свойств. Изменение /-го разряда аргумента вызывает изменение некоторых разрядов промежуточных текстов. Векторный коэф- ц не равен нулю, если разряды проме- 17,6. Криптоанализ на основе рационального продолжения полиномов Жегалкина фициент жуточных текстов, обусловленные изменениями входных г-го иу-го разрядов, на некотором цикле зашифрования пройдут через один и тот же блок рациональных чисел, что позволит упорядочить подстановки. Для того чтобы векторный коэф Как и булевы функции, полиномы Жегалкина можно продолжить до полиномов над полем множество их значении. фициент Ьм выглядел как случайный вектор, же лательно, чтобы после того, как он станет отличным от нуля на некотором цикле шифрования, прошло еще несколько циклов, в ходе которых этот коэффициент в результате операций перемешивания и рассеивания данном случае операции подстановки) примет требуемый вид. Для шифра можно определить число циклов. при котором каждый разряд открытого текста сцепляется при помощи нелинейного оператора с каждым разрядом. Можно определить и число циклов, необходимое для того, чтобы произволь- ный текст стал похож на случайный. В данном случае изменение одного разряда на входе подстановки приводит к изменению двух-трех разрядов на выходе подстановки. Следовательно, для того чтобы каждый разряд сцепился с каждым log364 из остальных разрядов 5 необходимо от 3,8 до log264 = 6 циклов шифрования Эксперимент показывает, что векторные ко эффициенты 1.4 ,ь 2-4 ,ь 3 45 описывающие квадра тичную нелинейность, становятся отличными от нуля только при т> А. При т появляются ненулевые коэффициенты, описывающие нели нейность порядка 3 и 4, но они, как правило, раз режены и явно не выглядят как случайные. 17.6.1. Теоретические основы Как и раньше, будем придавать переменным значения из конечного множества рациональных чисел и максимизировать целевую функцию как продолженный полином Жегалкина. По аналогии с методом Андельмана-Ридса можно ис пользовать дифференцирование, если число цик лов шифрования невелико. Отображения G, 2 ? вычисляемые путем подстановки вместо переменных их двоичных значений, являются гомоморфизмами колец. Поскольку 2 Gn. ЭТИ отображения можно рас сматривать как эндоморфизмы кольца G„. Соот ветственно отображения продолжения кольца G, в множество рациональных чисел сматривать можно как рас- продолжения эндоморфизмов кольца Gy, Определим два варианта продолэюения опера ции сложения по модулю 2 и умножения: х@у Х +V 2ху, X л V ^У. (17.6.1) х@у X у\. X лу W, (17.6.1 t Если порядок нелинейности итогового урав нения шифрования невелик или векторные ко эффи1шенты полиномов Жегалкина, описываю щих подстановку, предсказуемы начиная с неко торой степени, то можно использовать следующую атаку на основе подобранных шифртекстов. Набрать необходимый объем открытых и зашифрованных текстов и вьршслить непредсказуемые коэффициенты полиномов Жегалкина. Представить дешифруемый шифртекст в ви- векторных де суммы наиденных на шаге коэффициентов полиномов Жегалкина. Для нахождения открытого текста сложить по модулю 2 найденные векторные коэффи циенты. 7 Посколы^ изучать закон распределения 64 разрядных блоков текста практически сложно, жела тельно изучить закон распределения некоторых раз рядов в блоке. Способ задания этих разрядов, очевид но, зависит от типа шифра. где в левой части переменные и операции из по- 2, В правой — из множества А рациональных ля от до чисел (17.6.1' тентности умножения: Продолжение сложения в получается из (17.6.1) с учетом идемпо х'+У - -^ 2ху X Продолженная по формуле (17.6.1) операция сложения задает на множестве А структуру коммутативного моноида с нулем так как она коммутативна и ассоциативна и продолжения сумм элементов из А лежат в А. Противоположный элемент х определяется из равенства х@х f то есть х + х f 2хх f от куда X f X 2х Нетрудно заметить. что X t ? для х^О, 1. Если расширить область на все определения продолженных значении множество рациональных чисел, то для всех элементов, кроме 0,5, будут выполняться свойства
абелевой группы. Элемент 0,5 при этом играет роль «бесконечно большого» и является аннуля- тором по сложению для всех элементов: а 2а Нетрудно заметить, что это равенство при а, b выполняется только для двоич jceO,5~>x + 0,5~2-jc-0,5 0,5. ных значений а, Ь. Следовательно, продолжен По умножению продолженное множество об разует коммутативный моноид с единицей 1, так как операция умножения коммутативна и ассоциативна и множество А замкнуто относительно умножения. Продолженные по (17.6.1) полиномы не обра зуют полукольцо, так как нет дистрибутивности: ныи полином Жегалкина принимает значение только на двоичном наборе переменных. Однако на этом наборе его значение совпадает со значением исходного полинома. Этим доказано, что продолженный полином Жегалкина принимает значение только тогда, когда исходный поли 8 X /\{у ® Z) -^ Ху + XZ X г\у®х r\z ~^xy + xz 2xyz, 2ху^ ном принимает значение 1. Поскольку исходный полином может принимать это значение только на двоичных наборах переменных, продолжен- Для двоичных переменных из А справедливы равенства + 5 ое о, о© ? ныи полином принимает значение i на этих же двоичных наборах. Докажем теорему для нулевых значений. Поскольку на остальных двоичных наборах исход- , то и продолженный полином на этих наборах принимает Предположим, что существует набор ныи полином принимает значение значение л 1, ОлО Ол лО недвоичных переменных. на котором продол а также выполняется дистрибутивность. Поэтому верна следующая теорема. женный полином Жегалкина принимает значе ние Из равенства аЬ для значении двух продолженных полиномов получаем а или Теорема 17.6.1. Отображения (17.6.1), так как в поле Q нет делителей нуля, из (17.6.1 f определяют продолжение булевых равенства аФЬ получаем а функций, заданных тюлиномами Жегалкина. 2а По скольку это равенство при а. b выполня Множество А как подмножество поля (Г) явля ется только для двоичных значении переменных. ется упорядоченным. Вскрытие ключа сводится теорема доказана, к вычислению продолженной целевой функции как композиции полиномов Жегалкина и нахож- Ч^т Любое пополнение поля является его рас дению ее экстремума. Имеет место следующее ширением. В полном поле продолженный полиутверждение, ном Жегалкина является непрерывным. Поэтому продолженная целевая функция как конъюнкция Теорема 17.6.2. Значения продолженного по поразрадных равенств (см. п. 17.3) имеет гло- (17.6.1) и исходного полиномов Жегалкина сов- бальные максимумы, равные 1, в точности на тех падают тогда и только тогда, когда переменные наборах переменных из интервала (О, 1), которые принимают двоичные значения. Доказательство. Сначала докажем теорему для единичных значений. Предположим, что су- рированного шифра являются решениями задачи криптоанализа. Таким образом, задача вскрьггия ключа ите или обращения хэш силу теоремы 17.6.1 продолженная целевая ществует набор переменных, на котором исход- функции сводится к поиску глобального макси- ный полином Жегалкина принимает значение 1. ^У^^ продолженной целевой функции для переменных из интервала (0,1). Продолжение (17.6.1) эквивалентно продолжению (17.4.1) полукольца булевых функций в базисе И, ИЛИ, НЕ. Действительно, применяя продолжение (17.4.1) к правой части равенства функция на этом наборе переменных также принимает значение 1. Докажем единственность этого набора. Очевидно, что для двух элементов (значений продолженных полиномов) аи b условие аЬ выполняется только при а хфу (xлy)v(xлy), получим р-- ^ -ы Аналогично из условия аф получаем х(\ J)+3<1 х+у 2ху, 8 Отаетим, что если бы для продолженных поли- "^то соответствует рассмотренному продолжению номов можно было задать условие х дистрибутивность выполнялась бы. 7 X для всех X. то для операции сложения по модулю Поэтому для криптоанализа можно использовать алгоритм
379 17A2. этом случае часть разрядов ключа или значение тогда и только тогда, когда а аргумент шиеся разряды хэш-функции нужно угадать, а остав- (двоичные значения), имеет вид / / ®g, I . Про вычислить. должать эту функцию можно по-разному -1 tJf i Множество А рациональных чисел из интер вала (0,1) замкнуто относительно операции аб солютной величины разности (J 7.6.1' gi hV / f 3 - ^^:^ •щ "^ I' . ^ 5 jT Эта one / / g,h\ \ \ I рация а коммутативна. с ^ а с но Число не ассоциативна: _-►-_ - является нулем ^ и т. д. в трех первых случаях функция равна каждый элемент противоположен самому себе тогда и только тогда, когда операнды принимают (аналогия с кольцом характеристики 2). Однако одинаковые значения из множества {О, а X уравнение единственное решение. Например, при а в общем сл\^ае имеет не следнем случае функция равна при / f по- (не 0,3 решением будет х 5 WX пои 0,5 и 0,2. Поэтому с операцией (17.6.Г) не является ни полугруп- ни квазигруппой. Продолженная операция обязательно двоичные значения). 17.6.2. Метод криптоанализа сложения по модулю 2 дистрибутивна относительно умножения. Это означает, что в полиноме Жегалкина, продолженном по варианту (17.6. и заданном в виде композиции полиномов, можно «раскрывать скобки», однако его значение зависит от порядка суммирования слагаемых. Для уменьшения этой погрешности будем рас сматривать наряду с бинарными операциями сложения и умножения унарную операцию ин версии. ряде случаев это позволяет записать булеву функцию с сокращенным набором сла- представление булевой что гаемых. Отметим, функции формулой с указанными операциями в общем случае не единственно. Очевидно, что целевая функция Н принимает основе метода криптоанализа лежит процедура поиска максимума целевой функции Д принимающей значение 1 для истинного значения ключа шифра или аргумента хэш-функции [6]. Для хэш-функции целевая функция Н представляет собой продолженную конъюнкцию поразрядных равенств. Левая часть каждого равенства— булева функция, описываюшая выходы хэш-функции в зависимости от аргумента; правая часть равенства— значение этой булевой функции как значение соответствующего разряда аргумента хэш-функции. силу обратимости значение 1, если тестируемый набор переменных совпадает с решением. Рассмотрим, в каких других случаях продолженная по варианту (17.6.1 целевая функция Н может принимать значение Для йЕ, £) е Л справедливо: а® b ^ А^ аЪ ^ А. Поэтому значение любого полинома Жегалкина при подстановке вместо переменных элементов из А принимает значения из Л. Продолженная сумма а@ b равна 1 тогда и операции шифрования можно составлять конъюнкцию из равенств разрядов промежуточных текстов по аналогии с решеточным методом. Для шифра целевая функция Н представляет собой продолженную конъюнкцию поразрядных равенств булевых фгакций, описывающих зашифрование известного открытого текста на половине циклов шифрования и расшифрование соответствующей шифрограммы на половине циклов: Я 0{п) П( / ©V ei) (17.6.2) только тогда, когда а О, b или а /=1 Продолженная сумма а® b равна О тогда и толь ко тогда, когда а Жегалкина, представленный в виде суммы Очевидно, что если все разряды аргумента Продолженный полином хэш-функции (ключа шифра) определены пра за ВИЛЬНО, то значение продолженной целевой ассоциативности продолженного сложения и данной очередностью суммирования), принимает функции будет равно 1. Поскольку продолжение значение 1 тогда и только тогда, когда на по- полиномов Жегалкина нарушает ряд алгебраиче- следнем шаге суммирования одно из слагаемых ских свойств исходного кольца полиномов (нет равно О, а другое Аналогично, аЬ ко тогда, когда а = Ь= 1. Поэтому продолженный ции появляются локальные экстремумы, не соот- полином Жегалкина, представленный в виде про- ветствующие решению задачи криптоанализа. ^" При нахождении локального экстремума, как тогда, когда каждый сомножитель принимает и в п. 17.4, ограничимся тремя значениями раз- для a,bsA тогда и толь- идемпотентности умножения), у целевой функ изведения, принимает значение i тогда и только значение рядов аргумента: 0; 0,5; .^.. * Целевая функция представляет собой произ- Рассмотрим эвристический алгоритм нахож- ведение продолженных равенств gi ~ ///. Полином дения локального максимума целевой функции Жегалкина с аргументами gi и //,, принимающий на примере задачи обращения хэш-функции, где
380 X неизвестный аргумент хэш-функции. ее значение. Алгоритм 17.6.1. Нахождение локагтьного максимума целевой функции для итерированной хэш-функции. . Алгоритм вычисления хэш-функции/и ее значение у. Выход. Оценка разрядов аргумента х и локальный максимум целевой функции. Мето Выбрать произвольным об ар Положить J Стразом начальное приближение (xi, ...,х гумента х, близкое к вектору (0,5; ...; 0,5). Для выбранного х, известного алгоритма вычисления хэш-функции и известного у вычислить продолженную целевую функцию Н и положить // Я. Для / ствия. ], 2, ...,77 ВЫПОЛНЯТЬ следующие деи 2.1 Найти У <г- min(r\ {х,]), х" <г- тах(Г\ {Xj}\ где {0; 0,5; и вычислить значения целевой функции If Щ ,//' Г HL J =х ff 2.2 При Н Г if ji<^x"; при Я Я П положить Н, н ft ? ft Ff н f положить д н f ? I X. Если ни одно двойное неравенство не вьтолняется, положить К If. Для / ? ? ? п найти Н max max Я. \<i<n При К max >я' положить и * я шах? Xi< I для наиденного максимума и вернллгься на шаг При Д шах я* результат: я* локальный максимум целевой функции, соответствую щии аргументу х. Аналогичный алгоритм можно использовать и для поиска локального максимума целевой функции шифра. При этом вместо аргумента из меняется ключ. Пусть Nij суммарное число исходов, при которых вскрытый бит аргумента равен /, если на самом деле он равен/ По сути алгоритм 17.6.1 строит матрицу (iVy); вместо целых чисел Ny можно использовать нормированные величины (частоты, которые на большой выборке примерно равны вероятностям). Вскрьггие аргумента хэш-функции выполняется следующим алгоритмом. Выход. Аргумент х хэш-функции/ Мето (Предвычисления.) Для произвольных аргу ментов и соответствующих значении хэш функции найти алгоритмом 17.6.1 для каждо го бита аргумента матрицы (7V/,), (р и где I 5 Ру — частота вскрытия бита аргумента как если в действительности он равен у; q,j — частота того, что бит аргумента равен г, если он вскрылся как/. Для значения у хэш-функции и неизвестного аргумента путем поиска максимума целевой функции алгоритмом 17.6.1 найти вектор (Ро, Pi), где / частота того, что бит аргумента вскрывается как г. Решая для каждого разряда аргумента урав нение (Рп )^ относительно п (Tin, 71 1 где 71/ — вероятность того, что бит аргумента равен /, упорядочить множество ключей по вероятности ключа быть истинным. Тогда п (?, )р Опробовать аргументы, начиная с наиболее вероятных, до выявления истинного значения. Результат: аргумент, для которого вычисленное значение хэш-функции совпадает с истинным. Примечания. Уравнение формулы ipij )^ на шаге следует из для условных вероятностей: Рг(/, /■) 7Г ■ J ■ P^q N... V ji Л^оо + ^01 + ^'V, о + iV, 1 ? где Рг(/,7)— вероятность того, что оценка бита аргумента равна / и его истинное значение равно /; Nij — числа, определенные на шаге Элементы матрицы (ру) на шаге 1 можно он ределить следующим образом: А^ Роо 00 А^ ^00 + ^10 ^ Ро 01 1 N,,+N,, ? М А о 10 N Л^оо + ^10 ? Ри и N,, + N,, Аналогично определяется матрица (q ■ Алгоритм 17.6.2. Обращение хэш-функции с использованием рационального продолжения полиномов Жегалкина. . Алгоритм вычисления хэш-функции/и ее значение у. ?00 ?10 А^ 00 Л^оо + Л^01 5 N. о ^^0 + ^01 ? Яо 1 I N о N,, + N,, ? А^ II //,0+iVn
381 Объем выборки, необходимый для того, что бы частоты были близки к вероятностям, он rain(Woy,A^,-) 1 (N.j+N.j'^ ределяется методами математической статистики. Векторы частот тг могут быть рассмотрены d=Q К + / + 0,5 как функции двух аргументов: двоичного аргумента и начального приближения. На- ^0, + Л^Ь V mm(iV.,,iV О/ 1/ {N «7 N и зовем хэш-функцию 1-эргодической^ если для разряда / аргумента знаки преобладаний Механизм криптоанализа можно пояснить следующим образом. Продолжение полиномов вероятностей тго или п\ при изменении аргу ментов и при изменении начальных при ближении совпадают, а вероятность ошибки Жегалкина по формуле (17.6. Г) приводит к тому, что после раскрытия скобок знаки слагаемых в каждом из сомножителей в (17.6.2) становятся случайными Чем большее число композиции мала. Менее формально: если оценка «по- полиномов Жегалкина применяется к данному хожа» на аргумент при известном аргумен разряду неизвестного, входящего в целевую те, то она будет «похожа» на аргумент и при функцию, тем заметнее эта случайность. Поэто- неизвестном аргументе. Если частота появ- му меньше всего она заметна для тех слагаемых, ления нулевой (единичной) оценки для бита степень которых мала. аргумента равна Помимо того, что знаки слагаемых высоких степеней являются более случайными, значение ДО) Л^оо + ^01 каждого слагаемого по абсолютной величине ^00+Л^10+^01+Л^11 ? меньше, чем значение слагаемого малой степени р(У) N,,+N,, результате при изменении разряда переменной наибольшее влияние на продолженную целевую Л^00+Л^10+^01+Л^11 5 ТО произведение (^у) - (р(0),р(1)) дает вектор вероятностей того, что бит аргумента в действительности равен О или функцию оказывают слагаемые малой степени, то есть наблюдается некоторая аналогия с линеаризацией продолженных полиномов Жегалкина.^ Рассмотренный метод криптоанализа является универсальным. ■_■_ / Л^оо + Л^1 о iV„, +Ж, Пример 17.6Л, Криптоанализ на основе ра ционального продолжения полиномов Жегалки ? на. V Л^оо + ^10 + Л^01 + ^11 ^т + ^10 + Л^01 + ^п Пусть хэш-функция с длиной блока п 64 бита задана уравнением В основу алгоритма 17.6.2 положена гипотеза об эргодичности хэш-функции. Алгоритм 17.6.2 можно использовать и для вскрытия ключа шифра. Для некоторых шифров матрица F 2т (X) Ф X, (17.6.3) подстановочно-перестановочный опера у 5 т или может зависеть от ключа и открытого (зашифрованного) текста, например, если перемешивание обеспечивается за счет сложения с переносом ний аргумента. Обозначим где F — тор шифрования из примера 17.5.1 Выберем представление булевых функций полиномами Жегалкина с уменьшенным числом слагаемых и использованием инверсных значе- через uu W2, г/з, щ (FEAL, ГОСТ 28147-89 см пп. 19.4 19.6) входы подстановки (выходы обратной подста Тогда для разреженных ключей влияние пе- новки), пронумерованные со старших разрядов, а реносов слабее, чем для случайных, и матри- через vj, \% \% гч выходы подстановки (входы можно рассматривать как функцию обратной подстановки). Уравнения подстановки ij числа единичных разрядов ключа для разреженных открьггых текстов. При этом алгоритм 17.6.2 можно применять для проверки имеют вид: Vl (w,(l Ф щи^ Ф (1 Ф г/2)) Ф (1 Ф г/2)(1 Ф Щ)(\ Ф uA гипотезы о том, что истинный ключ является 9 разреженным. По-видимому, для повышения точности метода желательно снизить погрешность, обусловленную отсутствием ассоциативности. Для это го булевы Вероятность ошибки алгоритма 17.6.2 в пред- функции целесообразно представлять так, чтобы чис- положении, что значения iVo/, N^j распределены ло слагаемых было небольшим (например, в виде по биномиальному закону, равна произведения неприводимых полиномов).
382 V2 (щ Ф U2(l Ф (1 Ф wi)(l Ф г/з))) Ф г/4(г/2 Ф (1 Ф г/2)( 1 Ф г/з)). V3 (г/2(1 Ф Щ) Ф WiW4) Ф (1 Ф W2)(l Ф W4)(wi Ф г/з). Va (г/2 Ф z/i(l Ф г/з)) Ф (г/3 Ф г/4)(1 Ф щи2). щ (V3 Ф (Vi Ф Уз)(У2 Ф V4)) Ф V2V4(1 Ф V3) Ф ViV4(V2 Ф Т'з), г/2 (V2 Ф V4) Ф V3(Vi V2V4), г/з ((ViV2 Ф V3V4(Vi Ф V2)) Ф V1V2V2V4) Ф (1 Ф г'з)(1 Ф ф(1 v,)(l V2)( 1 Ф V4)), щ ((Vi Ф Уз) Ф V4(l Ф V2)) Ф ViV3(V2 Ф V3). Из хфу F уравнения (17.6.3) следует. что (X). силу обратимости оператора F можно применить к обеим частям последнего ра венства оператор F~"\ Тогда F"'(x) = F""'(x Ф у). Обозначим W лим целевую функцию ж F т Н как (х Ф у). Опреде продолженную Z,, конъюнкцию поразрядных равенств Wj учетом функций поразрядного равенства можно предложить два способа продолжения целевой функции (17.6.2): 64 н т iw, + Z,) (17.6.4) /=! И 64 Я по ж- Z I (17.6.5) г-1 Для уравнения (17.6.4) условие w I Z I имеет вид Wi Ф г, Ф или vf, Ф (1 ® Z,)- 1. Переходя к продолжению с учетом Zi\ > о, получаем Wi ^д\ или (Щ + zd\ Для входа х = 21d6 с1с6 Ь579 0аЬ7 определим одиночное значение хэш-функции 14се Ь5аЗ 4afe bf90, затем «забудем» х и вычислим с помощью алгоритмов 17.6.1, 17.6.2. Разряды аргумента хэш-функции определим алгоритмом 17.6.2. Результаты анализа для т-4м различных начальных приближений (целевая функция варианту (17.6.4)) сведем в таблицу: по Разряд Оценка Верно/Неверно Начальное приближение (0,5) ; начальное значение 5,13- -42 4,55 ■ К4Г 1,09 ■ 3,28 ■ 5,25 ■ 10-^^ 'щЩ ■ 10-^' ■ 10-^° ПРП Неверно Неверно Неверно Верно Неверно Продолжение таблицы Первое начальное приближение позволяет найти оценки для девяти разрядов аргумента, второе — для семи разрядов. Для рассматривае- хэш-функции средняя частота совпадения найденных разрядов с истинным значением рав- мои на 0.568. то есть г 0-068 1 15 Для продолжений (17.6.4) и (17.6.5) большинство разрядов вскрываются как нулевые. Если же использовать целевую функцию вида Я П(^^(^ z^+z■(\ щ)). то большинство разрядов будут вскрываться как единичные. (Этот вид целевой функции соответствует Я A(WjZiVW^Zj) в аппроксимации Андельма I на~Ридса.) 2. Рассмотрим эту же хэш-функцию с целевой функцией (17.6.5). Для начального приближения • л ^\64 Г7* _ 1 J-n 1 Л-15 _ __ .^ (0,5) ,ff 1,68 10 ? начиная с третьей итера ции алгоритма 17.6.1, правильно определенными оказываются все девять наиденных разрядов ар гумента, для которых выполняется двойное не равенство (см. шаг 2 алгоритма). Для начального приближения 4 4 4 1(0,5У1(0,5Г1(0,5У1(0,5) 48 И If 16 2,38 • 10 уже на первой итерации алго ритма 17.6.1 из 22 разрядов аргумента, для которых выполняется двойное неравенство (шаг алгоритма), 18 оказываются правильно определенными. 3. Рассмотрим степенной шифр с 16 циклами шифрования, каждый из которых описывается тем же оператором F, что и в уравнении (17.6.3). Вскрытие ключа проведем для одного известного блока открытого текста и с оответству ющеи
J83 шифрограммы. Сначала для выбранного ключа с нечетное число, val(w) Таким образом (содерй<ащего 34 единичных и 30 нулевых разря- нормирование в Z2 является дискретным, а его дов) и открытого текста вычислим шифрограм- значения му, затем «забудем» ключ и вычислим его по ми 1С Для неположительными целыми числа адического нормирования справед шифрограмме и функция имеет вид открытому тексту. Целевая ливы соотношения: val(7&) = val(/) + val(g). 64 н Ui^i z;)^z(\ M^j), val(/ ±g)< max{val(/), val(g)} (17.7.1) /-1 Будем рассматривать приближения 8 где w = F (x), % F 8 (y). Усредненная no всем адических чисел их редукцией по модулю т разрядам ключа матрица условных вероятностей для уравнения п и )Р имеет вид у 0,41 0,39 0,59 0,61 При вскрытии ключа (начальное приближение для ключа: (0,5) (0,5)^^0(0,5) .tf 6,07 - 10 18 алгоритм 17.6.1 дает следующие результаты: для некоторого т (по аналогии с приблилсением вещественных чисел конечными последовательностями десятичных дробей). Из двух таких приближенных целых 2-адических чисел, записанных как обычные вычеты в кольце Z/2 т 9 мень шим будет считаться то. которое содержит больше нулей в младших разрядах. Например, для целых двоичных чисел выполняются неравенства Эксперимент показывает, что зависимость преобладания от числа циклов шифрования может быть немонотонной. val(l 1110000) < val(lOlOOO) val(110010)<val(1011001). ственно адические нормы этих чисел равны соответ как взятые со знаком «ми нус» числа нулей в младших разрядах. Gn- Возмо>1шы два варианта продолжения кольца первом варианте используются продолже ния Этот метод можно использовать для нахожде ния порогового числа правильно угаданных раз рядов ключа в начальном приближении. 17.7, Криптоанализ на основе адического продолжения полиномов Жегалкина a'rb (mod 2)->a^b (mod Т\ (17.7.2) ab (mod 2) -> ab (mod 2"^). (17.7.3) Продол>1сения (17.7.2), (17.7.3) задают гомо морфное вложение кольца Gn в R п (Z/2'"Z)[Xb ..., х„Щ„. Идеал а т КОЛ Ь ЦО порожден элементами -^Y-^ _ i-^z m Хл (Xj 2 n^-2 lYmod 2 m /? •••? -^ m 2 m 2 l)(mod 2 m 11ЛЛ. Теоретические основы Полиномы Жегалкина, заданные над множеством {О, 1}, можно продолжить не только до упорядоченного подмножества поля Q, но и до упорядоченного подмножества кольца ^2 целых -адических чисел с 2-адическим нормированием. Можно также говорить о соответствующем продолжении эндоморфизмов кольца G«. Напомним, что кольцо Z2 получается из коль- так как любой четный элемент кольца Z/2 т удовлетворяет сравнению х бой т т нечетный элемент (mod 2 ), а лю сравнению X 2 т-2 О (mod 2 т 11 Идеал %п делится на иде ал 2ti -(х 2 1 -Л'"! * а а а* ш/%^ 2 X п а характеристика J0 Задание нормирования отрицательным значением показателя позволяет искать максимум целевой ца пополнением его бесконечными суммами функции, как и в методе рационального продолжения. со а I I ? а I {О, Конечные суммы в 2 явля /-0 ются обычными целыми числами. Сложение и умножение в Z2 выполняются так же, как в Z. Нормирование можно эквивалентно задать положительным значением показателя, при этом необходимо искать минимум целевой функции (см. п. 17.7.2) " Порядок группы обратимых элементов кольца Z/2'"Z равен т~\ » НО эта группа изоморфна прямому Для элементов из Z определим 2-адическое произведению двух циклических групп, одна из кото показательное нормирование val: для w = 2 с, где рых имеет порядок 2.
384 кольца R„ делится на характеристику кольца G„. Если все разряды ключа (аргумента хэш Имеет место следующая цепочка гомоморфиз- функции) определены правильно э то все сомно МО в колец: Щхи 5 X п (Z/2"'Z)[Xb...,x п ^lUi 5 5 X п жители в (17.7.4), (17.7.4') нечетны, и Н противном случае //является целым отрицатель ным числом гомоморфизмов колец рисунка Диаграмма 17.1 является коммутативной [7] Значения аргументов мояшо выбирать из множества т {О, val(2) 5 Z[Xb ,х П val(O) промежуточным мея<ду Поскольку то значение val( 1) является и так же, как значе 2 [:^ь (2) ние ? промежуточное между и в п. 17.6 ,х П (Ж/2"'Ж)[хi, ..., X П На практике достаточно выбрать т несколько большим, чем разрядность блока (ключа). Поскольку значение нормирования дискретно и лежит в интервале от до 777, ВОЗМОЖНЫ случаи. а 1 (2, а 1 а т G (2, а 1 п л когда на очередном шаге «лучшими» оказывают ся несколько аргументов. На результат анализа может влиять выбор по казателя т, поскольку G,^ и его приближенное адическое продолжение описываются похожими идеалами. Для получения максимального преобладания показатель т следует выбирать так, чтобы при реализации процесса шифрования наблюдался «резонанс» между G„ и его прибли- Рис. 17Л. Коммутативная диаграмма гомоморфизмов колец женным продолжением с учетом переносов, воз пикающих при сложении и вычитании в Z/2'" На практике, вероятно, показатель т следует Длях Z/2 т подбирать экспериментально. такого, что val(x) > -w, выпол няется равенство val(2v) val(x) Во втором варианте продолжения кольца G„ значно определяет единственный ключ. Для про Теорема 17.7.1. Пусть целевая функция одно вместо (17.7.2) используется продолжение а-^- b (mod 2) а (mod 2'").(] 7.7.2') долженной по формуле (17.7.4) или (17.7.4') целевой функции равенство \д\{Н) = О (с продолжением сложения согласно формуле (17.7.2) или Для такого отображения продолженная струк- (17.7.2')) выполняется тогда и только тогда, ко тура не является кольцом, так как нет ассоциативности. Однако для любого х g Z/2 Z выпол няется равенство val(x + х) = -т. гда тестируемый ключ является истинным. Доказательство. Пусть val(//)==0. Так как диаграмма рисунка 17.1 коммутативна, а при пе- гомоморфизм по сложению 17.7.2. Метод криптоанализа Метод анализа aнaJЮгинeн рассмагренному в реходе от определяется формулой (17.7.2'), получаем Н Н э что Обратно, если в G„ выполняется равенство п. 17.6.2 нужно найти локальный максимум целевой функции , то поднятие целевой функции в Л« даже с учетом неопределенности знака каждого слагаемого по формуле (17.7.2') даст val(//) п Н val П(1 + г/, +V.) (mod2'") , (17.7.4) /=1 где W,, V / адические продолжения разрядов промежуточных текстов. Вместо (17.7.4) мояшо использовать формулу Н val п по + ш I V I |)(mod 2 т V/=i (17.7.4') или другие аналогичные выражения. В кольце R^ в качестве переменных используются разряды ключа. Пример 17.7.1. Поиск локального максимума целевой функции. Рассмотрим 8-цикловую хэш-функцию из b6ed с368 af4a примера 17.5.1 с константой Аргументу x = 21d6 с1с6 Ь579 0аЬ7 соот- 744Ь 54f8 а9ее 15а5. ветствует значение функции 71f2. Теперь «забудем» аргумент и будем использовать его лишь в качестве «шпаргалки» для проверки того, совпадет ли найденный разряд аргумента с истинным значением. Кольцо целых 2-адических чисел имеет ха рактеристику Поэтому можно использовать редукцию этого кольца, отбраковывая малые
385 -адической метрике) числа. Достаточно выбрать в формуле (17.7.4') такое т, которое не снижало бы точность вычислений для начального при- й Н Шё^^Р. (\1Л ы\ ближения. Зададим «наугад» т 70 проводить вычисления по модулю 70 И будем . Разряды аргумента вычислим по аналогии с алгоритмом 17.6.1. Для начального приближения (2, ...,2) по- где после редукции по модулю z множество ну леи полинома е, становится подмножеством ну лей полинома л: , и лучаем F Z/. о (mod 2) J Каждый сомножитель в правой части равен ства (17.7.5) является нечетным тогда и только тогда, когда тестируемый ключ совпадает с ис тинным. В силу свойств (17.7.1) с учетом того, что значение нормирования — неположительное целое число, для нормирования продолженной целевой функции (17.7.5) справедливо неравенство < тах(уа1(я), val(F)) На практике по значенрпо \г\{Н) нужно оценить число правильно угаданных битов ключа. этом при видимому. значение \г\(Р) неизвестно. По- ДЛЯ увел ичения инф орм ативности последнего неравенства желательно искать не . Аналогично ищется ключ 16-циклового шифра с длиной блока 64 бита (см. пример 17.6.1, максимум, функции а минимум продолженной целевой алгоритмом 17.6.1, адаптировав его П.З). Для уравнения п и )р при целевой функции (17.7.4') получаем fe ) 0,47 0,39 0,53 0,61 очевидным образом. Этот метод можно использовать и для нахож дения порогового числа правильно угаданных битов ключа в начальном приближении. 17.8. Максимизация числа совпавших разрядов промежуточных текстов (интегральные оценки для всех разрядов ключа, без разбиения по разрядам). Округления для вектора п совпадают с истинными значениями для 63 % брггов ключа. Отметим, что сложность дифференциального метода для данного шифра превышает перебор- менее эффективен, чем рассмотренные в пп. 17.6, ную, сложность линейного метода близка к пе- Этот эвристический метод в общем случае 17.7 универсальные методы криптоанализа. и реборной, а анализ методом сдвига требует око- отличается тем, что в качестве целевой функции ло 2 пар открытых и зашифрованных текстов используется число совпавших разрядов проме (см. гл. 18). Поэтому метод 2-адического про- жуточных текстов, полученных при зашифрова должения для этого шифра оказывается эффек- нии открытого текста на половине циклов шиф тивнее, чем линейный или дифференциальный, рования и при расшифровании шифрограммы на как по времени, так и по требуемому объему от- оставшихся циклах шифрования. крытых и соответствующих зашифрованных тек- Сз^гь метода заключается в следующем. Для стов. Кроме того, для данного шифра этот метод произвольного исходного приближения искомо- несколько эффективнее, чем метод п. 17.6. ■ го ключа (двоичный вектор) вычисляется целевая функция. Затем поочередно изменяются раз- адическое продолжение целевой функции ряды ключа и для каждого из них вычисляется может быть использовано для оценки числа пра- целевая функция. Разряд ключа, обеспечиваю- максимум ВИЛЬНО угаданных разрядов ключа. Действитель щии целевой функции, считается но, в силу коммутативности диаграммы рисунка предположительно истинным. Посколы^ значе 17.1 можно записать продолженную целевую ние целевой функции является целым числом. функцию в виде несколько измененных разрядов ключа могут
386 давать одно и то же значение целевой функции. Пример 17.9.1. Анализ на основе сяшмающих то есть процедура нахоя<дения локального мак- гомоморфизмов характеристики кольца. симума целевой функции иллюстрируется дере Рассмотрим шифр, действующий на множест вом. Для нахождения аргумента, дающего ло- ве 10-буквенных блоков русского алфавита, до кальный максимум целевой функции, необходи- полненного пробелом; буквы Е и Е, Ь и Ъ нераз- мо просматривать все ветви дерева (включая по- личимы, то есть всего 32 буквы (размер блока следующие ветвления), дающие максимальное непринципиален — шифр взламывается с полизначение целевой функции на данной итерации номиальной сложностью от размера блока). Буквы пронумерованы в естественном порядке: про- поиска. На этапе предвычислении для различных бел 1,Б 2 31. Пусть шифр ключей, открытых текстов и найденных шифро- содержит семь циклов шифрования, на каждом грамм определяется преобладание 8, обеспечи- из которых последовательно выполняются следующие три элементарные операции: ваемое данным методом при поиске ключа. Собственно вскрытие ключа производится после того, как станут известными открьггые и зашифрованные тексты, объем которых однозначно определяет ключ. Для этого процедура повторяется при мерно 0(г раз. Истинным ключом считается наиболее вероятный. Уязвимость шифра (хэш-функции) по отношению к данному методу можно охарактеризовать слабым сцеплением разрядов ключа между собой в ходе шифрования. Например, для хэш- функции из примера 17.7.1 существование положительного преобладания не установлено. Противодействие этому методу обеспечивается строгим лавинным критерием (см. п. 18.1). 17.9. Анализ с использованием сжимающих гомоморфизмов сложение блока с ключом как 10-разрядных векторов по модулю 32; подстановка букв. заданная уравнением Л^) 4 2 X +х +x(mod32); операция рассеивания, заданная умножением 12 блока на циркулянтную матрицу над кольцом Ж/32Ж с первой строкой (3, 4 14, 16, 18,20). 10, 12, Зашифруем на ключе (1,2,3,4,5,6,7,8,9,10) АБВГДЕЖЗИИ открытый текст (6,18, 19,27,0, 18, 3,31, 8, 27) = ЕСТЬ СВЯЗЬ. После сложения получим v^ >3. *V ? г^ (7, 20, 22, 31, 5, 24, 10, 7, 17, 5) = ЖУХДЦЧИЖРД _Л -. ..> после подстановки Этот метод анализа э в отличие от предыду щих, не является универсальным и применим лишь для некоторых (неудачно спроектированных) шифров. Атака использует гомоморфное (25,4,10,1,15,24,30,25,19,15) = ШГИАОЧЮШТР, после рассеивания (11,26,0,15,1,6,28,31,29,5) КЩ ОАЕЫЯЭД отображение шифра как алгебраической структуры в другую структуру меньшего размера. Назовем отображение шифра S с уравнением шифрования V = S(h xl где X, V, к соотвегственно от- (5,18,22,15,31,6,10,15,11,25) = ДСХОЯЕИОКШ. Это результат шифрования на одном цикле После семи циклов получим шифрограмму крьггый текст, шифртскст, ключ, в шифр с уравнением шифрования Т(К, X) гомомор физмом, если существуют вычислимые отобра жения 9у(У%^ X (хХК <?}ik\ ^S), Сэюимающий гомоморфизм позволяет перей ти от «большого» шифра S(h х) к «малому» шифру Т{К^ X), Вскрытие ключа «малого» шифра (перебором или иным методом) дает информацию о ключе «большого» шифра по аналогии с китайской теоремой об остатках. Под сжимающим гомоморфизмом можно понимать эпиморфизм колец, групп, полугрупп, конечных автоматов и т. п. Вследствие существенного различия алгебраических свойств указанных алгебраических структур описать этот метод в общем случае вряд ли возможно, лучше пояснить его на примерах. Теперь «забудем» ключ и попробуем найти его, зная открытый и зашифрованный тексты и способ шифрования. Заметим, что множества ключей равна 32 бор вложенных гомоморфизмов колец 50 МОЩНОСТЬ , то есть переключей затруднен. Используем цепочку Z/8Z Z/4Z . (17.9.1) Шифр описывается полиномом из кольца (Z/32Z)[xi, ...,Xio]. Представим ключ в виде 10- разрядного вектора над Z/32Z, а каждый разряд 12 циркулянтной матрице каждая последующая строка получается путем циклического сдвига предыдущей строки на один элемент.
этого вектора— в виде 5-разрядного двоичного с учетом наиденных ранее 20 битов ключа, затем вектора. Будем искать ключ поразрядно, начиная следующие по старшинству биты и ? наконец. с младших двоичных разрядов каждого из десяти старшие биты ключа слов ключа Для Сначала используем гомоморфизм нахождения очередных десяти (Z/32Z)[Xb...,x, о (Z/2Z)[xb 5 ^ю] ключа достаточно выполнить перебор из вариантов, то есть битов 1024 прообразе каждая координата 10 с помощью персонального компьютера ключ может быть вскрыт за доли секунды. разрядного вектора является :)-разрядным двоичным числом, а в образе— одноразрядным двоичным числом. Гомоморфизм ставит в соответ- существованием Слабость рассмотренного шифра обусловлена гомоморфизмов вложенных ствие :)-разрядной координате ее младший раз (17.9 Именно поэтому сложность вскрытия ряд. Гомоморфные образы открытого и зашиф- ключа несущественно зависит от вида подста рованного текстов имеют вид: новки и рассеивающей матрицы, а таклсе от раз Х2 5 0,1,1,0,0,1,1,0,1), У2 (1,0,0 5 3 0,0,1,1, (индекс 2 означает, что рассматриваются двоич ные образы слов ключа и текста). Задавая подста новку и операцию рассеивания младшими разря дами, замечаем, что подстановка является тожде ственнои, а операции рассеивания соответствует единичная матрица. Тогда получаем уравнение зашифрования Х2 + Iki ^ Ji или 2 Х2 + У2 1 О, 1, О, 1, О, U 0). Младшие десять битов ключа найдены Теперь используем гомоморфизм (Z/32Z)[Xb 3 ^ю] (Z/4Z)b,...,x,oL рассматривая по два младших разряда в каждом пятиразрядном слове текста и ключа и учитывая найденные младшие биты ключа. Гомоморфные образы открытого и зашифрованного текстов и меют вид Хл 3 2,3,3,0,2,3,3,0,3), мера блока (при разумных ограничениях) При использовании 26-буквенного латинского алфа вита и операций, действующих на этом алфавите существуют гомоморфизмы и Z/13Z э обусловленные делимостью характеристики кольца. Отсюда следует, что ее ли все операции шифрования описаны в терми нах некоторого кольца, то в качестве характери стики кольца следует выбирать простое число. Пример 17.9.2. Редукция числа переменных. Пусть шифр использует два частично перекрывающихся ключа т и с по 257 байт каждый [2] Каждое 16-разрядное слово ключа характе ризуется как своим содержимым, так и адресом (указателем). Введем обозначения: С/ — — младший байт слова С; F,h(w/), Fc(y,) — значения слов ключа т (соот ветственно с) с указателем ц (соответственно v,); персональная константа 5 т„ с, / Я пара двухбайтовых слов открыто го текста и шифртекста У4 3 3 3 3,3,2,2,3,3,1). Подстановка задается уравнением J{x) х' + + х +х (mod 4), то есть имеет вид (00 3 И 3 10, 01), старший разряд на выходе z-разряднои подста новки задается линейным над 2 уравнением У2 X] + Х2, где X] младший, Х2 старший раз ряд в 2-разрядном слове на входе подстановки. Первая строка матрицы рассеивания над Z/4Z 5 ^,. Композиция имеет вид (3, О, 2, О, 2, О, 2, О, подстановки и рассеивания является нелинейной операцией как над F2, так и над Z/4Z. В данном случае десять старших разрядов в z-разрядных словах ключа проще всего искать перебором из 1024 вариантов. Решение с учетом найденных ранее младших битов ключа имеет вид (1, 2, 3, О, 1,2,3,0, 3 2). Далее ищем третьи биты в 5-разрядных ело вах ключа, используя гомоморфизм (Z/32Z)[xb э ^1о] (Z/8Z)[x,, ...,х, о Зашифрование выполняется следующим ал горитмом Установить значение счетчика / и задать как начальные значения указателей г^, jo, составляющие ключа. Осуществить преобразование /-го слова тек ста Вычислить D I (т, к) (mod 2 16 2.2 Записать D I И F„ i~\ В виде 16 разрядных двоичных векторов и найти вектор t I (D, +F,„ i~\ ))(mod 2 16 Вычислить новые значения указателей 3.1. и I Ui~l + (Fc(y i~] (mod 2 8 сумма двоичных векторов "V ^ *Г
ms I У! 1 + С/; (mod 2 8 Закончить преобразование слова с, С' + г/, (mod 2 16 Установить / / + Если блок закончился. то зашифрование выполнено, если нет вернуться на шаг 2. Этот шифр описывается нелинейными (над -»7/o8-?7 __ Т7/о16^Ч Т1 - 2 , Z/2 и ж/2 Ж) уравнениями. Нелинейность обусловлена зависимостью указателя очередного слова ключа от предьщущего слова открытого текста и использованных на предыдущем шаге слов ключа. Для этого шифра, действующего на 16-разрядных словах, существует отображение в шифр, действующий на 8-разрядных двоичных словах (младших байтах слов), при этом 16- разрядное слово ключа таклсе заменяется младшим байтом. Таким образом, задачу вскрытия ключа можно решать поочередно: сначала найти для гомоморфного образа шифра младшие байты ключа, затем — старшие байты. Возможно дальнейшее снижение числа пере менных, но при этом усложняется перечисли мость прообраза. 17.10. Поиск коллизий хэш-функции ряде случаев требуется, чтобы хэш-функция была стойкой в части нахождения коллизий. Например, если в схеме цифровой подписи ГОСТ Р 34.10-2001 подготовить пару сообщений, дающих одинаковое значение хэш-функции и предъявить одно из них для подписи, а затем в подписанном сообщении заменить это сообщение дру гим, то такая ситуация не распознаваема. 13 Для поиска коллизий (бесключевой) хэш функции с мощностью множества значений используются следующие универсальные методы: метод встречи посередине со сложностью Выхо Пара аргументов W, V таких. что h(u) h(v) Метод Для / 12, ..,, 0('\IY) выбрать произвольный аргумент х„ вычислить пары (х„ к(х,У) и отсортировать полученное множество по второй «координате». Проверить в базе данных наличие элементов с одинаковыми значениями h(x,). Если колли- про- поло- зий нет, то увеличить базу данных тивном слл^ае (коллизия h(xi) Ш)) жить и X,, V X ■J Результат: (w, v) ^-. V 4 ^ л'» ^1J - \ "t-'~— ' J ^ ^ случайном лесе. Этот алгоритм отличается Если осмысленность текстов не требуется, то можно воспользоваться алгоритмом встречи на от алгоритма 17.10.1 только тем, что в качестве аргументов х,- используются хэш-образы после одного или нескольких (не более 0(log У)) последо- этом вательных вычислений хэш-функции. случае длина текстов, дающих коллизию, равна длине хэш-функции. Алгоритм Полларда можно адаптировать для нахождения корня ориентированного дерева который по определению входят две стрелки начала этих стрелок дают коллизию). В этом случае длина текстов, дающих коллизию, таклсе равна длине значения хэш-функции. Алгоритм на каждой итерации находит такую тройку вершин (г/, V, w% что и лежит на дереве, v и vf лежат в цикле, причем расстояния между w и м^, v и iv последовательно сокращаются до Пусть объем памяти вычислительной модели равен V. Алгоритм работает следующим образом. Определим начальное приближение Хо и рекуррентную процедуру Xi+]=h{x,) для />0. На первой итерации ищем такую тройку (/, Х/, Х2,), При этом запоминаем пары (/, х,) по- шагов и сортируем ба- ЧТО Xi Xi еле каждых п зу данных по второй «координате» После того ? 0{4Y\ogY), метод Полларда со сложностью как указанная тройка найдена, вычисляем х,+], ^, гт:. „ х,+о, ... до завершения цикла (получение равенст- ОЫУ) и метод встречи на случайном дереве со . ^ ^ -' ^ ва Xi+j = X/), при этом на каждом шаге сравниваем текущее значение с базой данных и помечаем в сложностью 0(yJYlogY). Вероятностный алгоритм встречи посередине ней встретившиеся позиции Пусть наи позволяет найти коллизии осмысленных текстов и работает следующим образом. большее значение соответствующее непоме наименьшее ченной паре в базе данных, и значение / +/, записанное в базу данных, такое э Алгоритм 17.10.1. Поиск коллизий функции методом встречи посередине. Вход. Хэш-функция h. хэш что 1>к I Тогда полагаем и ^h V Xi э V^ Хк+\ Очищаем базу данных и на каждой по 13 Способ защиты от таких нарушений описан в работе [4] следующей итерации проходим пути от w до н' и от V до IV, записывая в базу данных начальные вершины и каждую {{к - i)/V) -ю вершину. Затем находим новую тройку (и, v, w) и т.
389 Пример 17.10.1. Поиск коллизии хэш функции как корня дерева. Пусть хэш-функция задана Как показывают рассмотренные методы криптоанализа, вопреки распространенному мнению, уравнением задача обращения хэш-функции не обязательно Ырс) la'+x +2х (modpX 216^3 Предпо сложнее, чем задача поиска коллизии ложим, что объем памяти вычислительной моде ли позволяет запомнить всего шесть чисел. Вы берем в качестве отправной вершины графа про извольное неотрицательное число, меньшее например, xi = 1. Предполагая, что хэш-функция ведет себя как случайное отображение, находим 17.11. Компромисс время/память э Компромисс время/память (time-memory trade off), предложенный в открытой печати М. Хел лманом (см работу [17]), позволяет ускорить ожидаемую длину цикла и длину «хвоста» д/7гр/8»160. С запасом выбираем оценку для числа шагов алгоритма, равную 300, вычисляем процесс вскрытия ключа за счет использования таблиц предвычислений. Составление таблиц не требует знания открытых или зашифрованных Xffi h(xi) для / от до 300 и записываем каждое 50-е значение в базу данных. Получаем ^50 57397, хшо = Зу836,х,5о 1021, ^200 10480, Х250 = 27126, хзоо = 25967 текстов и может выполняться однократно. Например, если допустима атака на основе подобранных открытых текстов, то можно составить базу данных из пар ключ/шифрограмма для одного и того же открытого текста и отсортировать ее по шифрограммам. Для вскрытия ключа достаточно зашифровать указанный открытый текст на Далее, предполагая, что хзоо лежит в цикле, продолжаем рекуррентные вычисления от хзоо граммы равную ей в базе данных и прочитать зна искомом ключе, найти для полученной шифро до встречи с первым элементом базы данных это элемент Х25о на 105-м шаге. Значит, корень дерева лежит в промежутке между Х2оо и Х25о чение ключа в найденной ячейке базы данных э П причем Х250 лежит на дереве, а Х2оо в цикле Сложность предвычислений равна 0(2 ), где - разрядность ключа; требуемый объем памяти Длина цикла является делителем числа примерно такой же. Сложность вскрытия ключа после составления базы 300 250 +105 155 Убеждаемся, данных равна что длина цикла не является собственным делителем числа 155. Значит, длина цикла в точности равна 155. Корень дерева лежит в цикле между вершиной Х250 и вершиной, расположенной на 50 шагов «назад» (эта вершина имеет порядковый номер от Таким образом, увеличивая объем памяти э можно снизить сложность вскрытия индивидуального ключа. Отметим, что начать создавать базу данных можно сразу же после опубликования 250 + 155 50 355) э то есть между Х355 и Х25о Вычисляем: Х355 64671. На второй итерации обнуляем базу данных, берем в качестве начального значения Х2оо и делаем 50 шагов до достижения Х25о? запоминая в базе данных каждое 10-е значение. По- алгоритма шифрования. Если алгоритм шифрования неизвестен, то базу данных создать невозможно. Вот почему алгоритм шифрования целесообразно хранить в секрете. общем случае можно обойтись базой данных меньшего размера, не перебирая все ключи лучаем хгю 211703 э ^220 31223, Х230 30762 [17] Правда, тогда снижается вероятность нали э ^240 ^ 20026. Движемся по циклу от Х355 до ветре чи с элементом базы данных. Первый встретив шийся элемент — Х24о- Значит, корень дерева ле жит между Х230 и Х24о- Находим вершину из цик чия искомого ключа в базе данных. Предполо- , что длина блока не меньше, чем длина жим ключа противном случае можно перейти к блоку кратной длины). отстоящую от Х240 32228. на 10 Метод анализа заключается в шагов «назад» ла, л:з85 На третьей итерации обнуляем базу данных, берем в качестве начального значения Х2зо и делаем 10 шагов до достижения хоао, запоминая в базе следующем Определим отображение 5' шифртекста у E(L в ключ к S(y). Примером такого отображения данных каждое ^232 -е значение. Получаем 47341, Х234 = 39518, Х23б = 56975, ^238 == 17723. Движемся по циклу от Хз85 до встречи с элементом базы данных. Первый встретившийся элемент — является замена ключа шифртекстом с отбрасы ванием лишних битов или линейное над F2 пре образование шифртекста. Пусть х — некий от отображе о крытый текст. Тогда для Е(к\ X о ние I E(S(y i~] \х О не является взаимно одно значным и ведет себя как случайное, то есть об Х238- Значит, корень дерева лежит между Х23б и Х238- ладает сжимающими свойствами. Рекурсивное Находим корень дерева: Х238 ^393 17723. Колли- применение такого отображения с последующим зию ^392 составлякэт 44978, /г(х237) элементы л:237 37126 и /г(Хз92) ^238 преобразованием S для некоторого начального ключа дает последовательность ключей А:, ..., А:'".
390 Граф такого отображения для множества ключей заменить более производительным: часть ключа К представляет собой лес, корни которого связа- подобрать, а оставшуюся часть вычислить (или ны в циклы, при этом почти все вершины графа проверить, существует ли для нее решение). Ес- лежат на одном дереве, высота которого близка к ™ решение для оставшейся части существует и длине цикла и асимптотически равна Сжимающие свойства графа позволяют сокра тить объем базы данных за счет увеличения тру доемкости представления ключа. найдено, то вскрыт весь ключ, в противном случае подобранная часть ключа оказалась неправильной и нужна новая попытка. Естественно, вычисляемая часть ключа должна допускать эффективную проверку на соответствие «угадан- На этапе предвычислений для выбранного от- ной» части. Данный метод пригоден для анализа крытого текста х вычисляется матрица из mt алгоритмов, в которых ключ не является моноэлементов сивно Элементы матрицы ищутся рекур- литным и может быть вскрыт «по частям». Примером такого подхода является криптоанализ с использованием арифметического продолжения у S(E(h о н , х1Х 0<j<t 5 E(S(E(ku^u х% х% при котором для начальное значение Ф произвольно Та КИМ образом, последний элемент /-и строки мат рицы является шифртекстом для открытого тек рекур булевых функций (п. 17.4), вскрытия ключа нужно угадать пороговое число битов ключа, а остальные можно вычислить. Проиллюстрируем этот прием на примере поточного шифра А5/1 стандарта GSM (см ста X и ключа, полученного из после сии строке матрицы калсдыи последующий детерминированному [10,11]). Шифр реализован на трех двоичных сдвигающих регистрах с обратными связями элемент вычисляется по (рис 17.2) Запись 22(21) означает, что регистр имеет длину 22 бита, и на вход регистра (22-й разряд) поступает сумма по модулю 2 содержимого алгоритму из предыдущего, поэтому каждую строку можно задать первым и последним элементами (введение последнего элемента строки 0-го и 21-го разрядов. Работа такого регистра зада позволяет ускорить вскрьп^ие ключа). Затем база данных, представленная строками матрицы, сор тируется по последнему элементу строки Со ется At) неприводимым над 2 полиномом вида Г^ + Г + Если состояние регистра равно ставление базы данных не требует знания шиф 5 то на выходе генератора формируется ли рограммы для текста х и может быть начато не неиная над Гг рекуррентная последовательность посредственно после опубликования алгоритма шифрования. На этапе вскрытия ключа для открытого текста х^ и неизвестного ключа ищется шифрограм- битов э определяемых как старшие разряды Xf (modfj)) для / > Таким образом, последовательность состоянии регистра можно описать подгруп * пои циклической группы F^22 • Порядок этой груп 2 ма у, которая сравнивается с элементами базы данных. Алгоритм определения ключа содержит два шага. На первом шаге проверяется совпадение )Р с каким-либо элементом базы данных kjj. Если совпадение есть, то для известного началь- ], которое пы равен • 23 • 89 • 683, образующая этой группы, то есть начальное ненулевое заполнение // ного значения ключа к вычисляется к равно искомому ключу. Если совпадения нет, то выполняется второй шаг: ^ '""^^ ^' ^^ £(50;^), х^) и осу регистра является некоторой степенью элемента Поэтому период последовательности равен порядку группы. Неприводимый полином fj) задает расширение поля F2, которое является 22-мерным 2 ществляется переход на первый шаг При т 0(WK) вероятность успеха со линейным векторным пространством над Поэтому работа одиночного регистра описывает ся системой линейных над F2 уравнений. ставит 0(ЩК) I [17]. действительности веро ятность успеха будет несколько выше благодаря сжимающим свойствам случайного отображения. 17.12. Сочетание перебора и вычисления ключа выход Очевидно, что если нарушитель владеет дос таточной информацией о ключе (шенноновская энтропия нулевая), то ключ можно вскрыть перебором. Однако иногда «тупой» перебор момшо Рис. 17.2. Схема алгоритма шифрования А5
391 Аналогичные рассуждения справедливы и для может быть вычислено решением системы ли двух других регистров, задающих расширения неиных уравнении. поля 2 степеней 19 и 23 и описываемых непри На этом основан алгоритм криптоанализа водимыми полиномами r + f + f + t+\ и P-\-i^-\-f--\-t+\ соответственно. Для групп * 2 19 ,F * 2 23 порядков 524287 и 47- 178481, соот [10, 11]: для известного отрезка последовательности на выходе шифратора содержимое двух коротких регистров угадывается, а содержимое более длинного регистра рассчитывается (с уче- ветственно, с указанными неприводимыми поли- том пропусков тактов). Таким образом, на каж номами элемент f также является образующей. Выходы регистров складываются по моду дои итеращ^и поиска ключа выбирается содержимое регистров длиной 19 и 22 бита и решается лю 2. Поскольку порядки трех мультипликатив- система линейных уравнении для третьего реги ных групп взаимно просты, в случае работы ре стра. Если система имеет решение. то ключ гистров без пропусков длина последовательно- вскрыт, в противном случае попытка неудачна сти на выходе сумматора равна произведению Поскольку сложность решения системы линей порядков групп. ных уравнений асимптотически пропорциональ На самом деле регистры работают с пропус- на квадрату размера задачи (то есть решить сие ками тактов. Содержимое управляющих разря- тему из 23 уравнений проще, чем выполнить пе дов Ui (9 для 19-разрядного регистра и 11 для ос ребор из 2^' . элементов ключа), то этот метод ра тальных регистров) подается на схему голосова- ботает быстрее, чем перебор. С учетом того, что ния «два из трех». Если содержимое соответст- сложность решения системы линейных уравне вующего разряда регистра совпадает с результатом голосования, то этот регистр тактируется (выполняется сдвиг, и в младший разряд записы- егся сумма разрядов согласно неприводимому полиному), в противном случае такт пропускается и состояние регистра сохраняется. Это условие можно задать нулями полинома Жегалкина щщ ® и2Щ. Таким образом, на каж- нии пропорциональна кубу числа переменных, получаем итоговую сложность 2^^ (в то время как перебор требует в среднем 2^^ опробований). Для данного шифра рассмотренный метод не претендует на то, чтобы быть наилучшим. щ U\U2 17.13. Отбраковка классов ключей дом такте каждый регистр работает с вероятно стью /2, а все три регистра не имеют пропусков с вероятностью Ц- Этим обеспечивается нелинейность уравнения шифрования. Выходная последовательность шифратора складывается поразрядно по модулю 2 с шифруемой информацией Поскольку последующее состояние трех регист ров полностью определяется их предыдущим Суть этого метода заключается в том, что на определенном этапе вскрытия ключа можно проводить опробования, в результате которых отбраковываются не одиночные ключи, а классы ключей. При этом опробование класса ключей, очевидно, по своему механизму отличается от опробования одиночного ключа и часто требует состоянием, то в качестве ключа можно рассмат ривать состояние регистров в любой предшест вующии момент времени. общем случае текущее состояние регистра нетривиальных вычислении. Отбраковка классов ключей возможна, если множество ключей момшо разбить на попарно непересекающиеся классы (по крайней мере на два класса), то есть если можно задать эквива- может быть получено более чем из одного пред- лентность на множестве ключей. При этом не шествующего состояния, то есть шифратор pea- исключено, что на разных итерациях разбиения лизует сжимающее отображение; граф отобра- будут различными, как в решеточном методе. жения содержит лес, корни которого связаны в Иногда такое разбиение неочевидно и определя- циклы. Для исключения входа шифратора в ко роткии цикл предусмотрены меры защиты. Шифрование проводится кадрами. На каждом кадре вьфабатывается 428 бит последовательности. Первые 100 бит отбрасываются, последующие 114 бит являются гаммой для передачи от абонента yi к абоненту Д затем очередные 100 бит отбрасьюаются, последние 114 бит являются гам- ется творческим подходом криптоаналитика. По ясним это на примерах. >./->1^ Пример 17ЛЗЛ. Подстановочно-перестано вочный шифр с ключевой подстановкой. Предположим, что в подстановочно-переста новочныи шифр для повышения стойкости вклю V. . _ 14 11 * _ чены 32 случайные по дстано вки. Мощность мой для передачи от В к Л. При этом на каждом множества подстановок равна (16!) кадре ключ модифицируется номером кадра. Если состояния двух регистров известны, то неопределенности, связанные с пропуском тактов, не возникают, и состояние третьего регистра жен К. Шенноном [8]. 32 10 426 . Тогда 14 Такой способ построения шифра был предло
392 вероятность того, что выбранные подстановки дающих и не обладающих центральной симмет являются аффинными, ненулевая. В этом случае рией. Распознать, является ли ключ симметриче итоговое преобразование блока открытого текста ским, можно, используя метод сдвига длины п бит в шифрограмму длины п бит тоже [12, 13] и п. 18.5) . будет аффинным. Проверка того, что преобразование является аффинным, выполняется так. (см Пример 17.13.3. Отбраковка ключей для фей Пусть Zx @ а — уравнение аффинного пре- стелева шифра. образования. Тогда шифрограмма для нулевого Рассмотрим фейстелев шифр, в котором на текста: уо = Z0 ® а, то есть а = уо. Таким образом, каждом цикле выполняется поразрядное сложе легко перейти к центрированному преобразова- ние по модулю 2 векторов обрабатываемого тек нию заменой шшгфрограмм у ~> у ® Уо- Далее, для ста и ключа (например, DES, см. п. 19.3). В таком пары текстов должно выполняться равенство шифре выполняется свойство дополнения: если У1®У2 Z(xi ® Х2). Это условие легко проверяется. F(k, х), то ®у Fa х). Пред поло Если преобразование является аффинным, то ключ жим, что пара блоков открытого и зашифрован может быть задан матрицей L и вектором сдвига а. ного текста однозначно определяет ключ (в про Если в ходе тестирования шифра установлено, тивном случае можно перейти к парам или трои что преобразование не является аффинным, то кам блоков). Благодаря свойству дополнения можно отбраковать множество ключей, индуци- ключ можно определять с точностью до инвер- рующих аффинные преобразования. Число аф- сии. Множество ключей разбивается на классы финных подстановок 16- 15 14 12- из 5 элементов равно эквивалентности, каждьш из которых содержит 10 16 Число наборов из 32 два ключа: прямой и инверсный. таких аффинных подстановок равно 2 10 177 Для вскрытия ключа на основе подобранных данном случае множество ключей разбива- открытых текстов сначала зашифровываем два ется на два класса эквивалентности: класс аф- инверсных финных подстановок и класс неаффинных подблока открытого текста: Х] и Х2 становок. ® Х]. Их шифрограммы равны соответст венно у| и у2. Затем выполняем собственно опро бование. Выбираем ключ находим шифро Пример 17,13,2, Отбраковка с использовани ем списка ключей. грамму /1(к, Xi) и сравниваем ее с шифрограмма ми у1 и у2. При F(k, Xi) Рассмотрим шифр с 32 циклами шифрования, использующий список ключей {К^^ ....К^} с че редованием ''^ "' ^г.ъ.тг .г .г^ . является при F(k, xi) У1 У2 искомым ключом I @ к. Если ни К]) (Kl, Лб, . ,^о) (на пример ГОСТ 28147-89 см п. 19.6). Если все ключи Kq,...^Kj одинаковы или чередуются с «центральной симметрией», то шифр является степенным. Например, если выполняются равен- одно из равенств не выполняется, то переходим к опробованию следующего ключа. Сравнивание выполняется значительно быстрее, чем вычисление шифрограммы /1(к, xi)- Поэтому можно считать, что за одно опробование отбраковываются сразу два ключа: прямой и инверсный.'^ ства К о К 3 Ка К 7 И К 1 К 2 К 5 ^6 5 ТО шифр является степенным с периодом ключи чередуются: К К К К 2 Если К 5 Кз = К4^то шифр является степенным с периодом 8. Для того чтобы определить, имеет ли место 17.14. Задачи, к которым сводится задача вскрытия ключа Теперь можно составить список матсматиче- такое чередование, можно предположить, что ских задач, к которым полиномиально сводится шифр является степенным, и попытаться вскрыть задача вскрытия ключа итерированного шифра ключ соответствующего степенного шифра ме- при наличии одного или нескольких открытых и то дом сдвига (см. п. 18.5). Если гипотеза не под- соответствуюш,их зашифрованных текстов, одно- твердится, то этим можно отбраковать широкий значно определяющих ключ. Формулировка задачи должна подсказывать пз^и к ее решению, поэтому в этот список не нужно включать из- класс ключей указанного вида. Множество ключей разбивается на четыре класса. К первому классу относятся ключи, не вестные NP-полные задачи (задача о гамильто обладающие центральной симметрией. Ко вто- новом цикле, задача о клике, задача об укладке рому, третьему и четвертому классам относятся ранца и др.), число которых составляет несколь- ключи с центральной симметрией и периодами соответственно. Второй класс входит в тре ? ко тысяч тип, а третий класс — в четвертый. Поскольку 15 третий класс значительно шире, чем второй, а четвертый значительно шире, чем третий, доста точно рассмотреть два класса ключей— обла Используя обобщенное свойство дополнения, можно инвертировать не все биты ключа, а некоторое их подмножество. Поэтому ключ можно искать с точностью до автоморфизма.
393 Задача о выполнимости. Минимизация целевой функции и представ Алгоритм 17.15.1. Алгоритм Гровера Вход. Целевая булева функция, однозначно ление ее в виде стандартной конъюнкции определяющая ключ. (см. п. 17.3). Гомоморфное вложение группы подстановок в множество (группу?) решеточных продолжении подстановок, при котором множества удалении входных и выходных разрядов сов падают (см. п. 17.3). Рациональное или адическое продолжение кольца полиномов Жегалкина такое, что ка жщш разряд ключа (вектор тс) вскрывается с положительным преобладанием причем преобладание удовлетворяет неравенству О < 5* < 5, где 5* (log#iO"4cM.nn. 17Л 17 оценивается полиномом от Выход. Искомый ключ. Метод. Нормализовать состояние регистра путем когерентной суперпозиции и привести N- разрядный (]/^[N,...Л/^[N). вектор амплитуд к виду Выполнить 0(2 11 раз следующие действия. 2.1. 2.2. Применить к регистру отображение R. Применить к регистру отображение А. Измерить состояние регистра и опробовать найденный ключ на обычном компьютере. Если найденное решение не удовлетворяет целевой функции, то вернуться на шаг 17,15. Вскрытие ключа на квантовом компьютере Анализ этого алгоритма проведем согласно Задача вскрытия ключа к по нескольким из- ливо равенство вестным открытым текстам и задача обращения матрица, хэш-функции сводятся к задаче о выполнимости этом булевой функции п переменных, где л — работе [15]. Сначала покажем, что отображение задает инверсию вектора состояний относи- , Справед- единичная тельно среднего значения координат Е-^2Р где матрица из элементов ]/N, при — разрядность ключа. Как показал Л. Гровер (см., например, работу [15]), задача о выполнимости может быть решена на квантовом компьютере со сложностью Рассмотрим действие матрицы yi на вектор v: 0(2 /7/2 тогда как перебор дает сложность 0(2 п Таким образом, задача вскрытия ключа и задача обращения хэш-функции могут быть решены на квантовом компьютере со слояшостью порядка квадратного корня из сложности перебора. Алгоритм Гровера аналогичен алгоритму «giant step — baby step». Предположим, что целевая булева функция Н принимает единственное единичное значение на некотором наборе из п двоичных переменных (искомом ключе к). Функцию Щг) можно вычислить на квантовом компьютере для произвольного аргумента г. Пусть N число k(z) соответствует вектору k(z). Зададим квантовое отображение квадратной и матриц ivy ^ ей/? (R и размера Л^, где у при / ч^к COS ф/ + / sin ф/. Это отображение меняет фазу только для искомого значения ключа и не имеет аналогов в классическом компьютере, так как искомое значение ключа ненаблюдаемо. Легко заметить, что матрица R унитарна и поэтому может быть реализована на квантовом компьютере. Зададим второе квантовое отображение квадратной матрицей (А О размера N с элемента ми А - 2/N при / 4^j и // 1 + 2/7V Матрица А также унитарна и поэтому может бьпъ реализо на на квантовом компьютере. Ау Е + 2Р)\ = -V + 2Pv, где Р\ (а, а, ..., а\ а Vj + ... + Уд, N Поэтому А\ V] + 2а, -V2 + 2а э э V/V + 2d), Каждая координата вектора состояний А\ имеет вид а + (а - v^), то есть является инверсией относительно среднего значения координат. Аналогично в векторе R\ сохраняются все координаты вектора v, кроме равной /с, которая за меняется на Теперь покажем, что алгоритм увеличивает вероятность того, что измеренное состояние регистра совпадет с искомым ключом к. Теорема 17.15.1* Если состояние квантового регистра, соответствуюш[ее искомому ключу, имеет амплитуду А:, а остагтьные состояния — амплитуду Z, то после применения отображения А получатся амплитудами соответственно состояния с f V N k-h 2(N N z и z f N k+ N N z Доказательство проводится непосредст венным вычислением '«г ^^ f ? * ч Если отображение делает амплитуду со стояния отрицательной, то после применения отображения получается / Z t При этом все состояния, отличные от искомого, име ют одинаковую амплитуду.
394 Теорема 17.15.2. Однократная итерация шага алгоритма Гровера дает увеличение амплитуды состояния, соответствующего искомому ключу. на величину isk ^nIi. Таким образом, повторение шага 2 алгоритма Гровера o(4n) раз дает амплитуду искомого состояния, близкую к 1. Это означает, что хотя бы одно из состояний регистра, измеренных на Доказательство проводится непосредст- шаге 3, будет соответствовать искомому ключу с венным вычислением вероятностью, близкой к Упражнения к главе 17 Предположим, что подстановочно-перестано вочный шифр использует четьфехразрядную подстановку, каждьш разряд которой описывается полиномом степени 3 и содержит пять слагаемых. Оцените сложность вычисления производной целевой функции в методе Андельмана-Ридса от числа циклов шифрования. Сколько циклов шифрования нужно использовать, чтобы (временная) сложность метода Андельмана-Ридса превышала сложность перебора? Что собой представляет целевая функция при вскрытии ключа шифра методом анализа на основе арифметического продолжения булевых функций? Докажите, что функция округления задает гомоморфизм полукольца решеточных поли в полукольцо решеточных по номов над линомовнадр2. Предложите способ последовательной нимизации булевой формулы, заданной в виде * ми многократной композиции наборов несложных формул. Очевидно, способ должен быть проще, чем перебор. Почему алгебраические методы анализа итерированных шифров с использованием аппарата булевых функций неэффективны для криптографических алгоритмов с открытым ключом? *Исследз/йте возможность (алгебраического) определения операции решеточных полиномов над дифференцирования , пригодного для решеточного анализа, с учетом того, что множество А с операцией точной верхней грани является моноидом, который не может быть вложен в группу. *Рассмотрите возможность использования дифференцирования продоллсенных полиномов Жегалкина для нахождения экстремумов булевых функций. Предложите способ усиления шифра из примера 17.9.1, исключающий атаку на основе редукции характеристики кольца. Предложите способ вскрытия ключа шифра из примера 17.9.2, обладающий полиномиальной сложностью, на основе адаптивно по добранных открытых текстов. 10 11 12 13 И 15 *Исследуйте сложность вскрытия ключа шифра ГОСТ 28147-89 (см. п. 19.6) по отношению к методам, основанным на продолжениях гомоморфизмов полиномов Жегалкина. *Исследуйте сложность методов, основанных на продолжениях гомоморфизмов полиномов Жегалкина, на примере какого-либо шифра в зависимости от способа представления подстановок полиномами Жегалкина (число сложений, очередность сложений и т. п.). *Исследуйте эффективность алгоритма поиска экстремума продоллсенной целевой функции на основе перебора не одной переменной, как в алгоритме 17.6.1, а пар или троек переменных. ^Предложите и исследуйте способ построения шифров, стойких по отношению к методу анализа на основе рационального и адического продоллсения гомоморфизмов кольца G„. Способ должен быть конструктивным. а не типа «предложили что-то и проверили, если плохо предложили дру гое, опять проверили и т. д.». Как изменится свойство дополнения в фей- стелевом шифре, где цикловая функция шифрования содержит операции замены (подстановки) коротких слов полублока, сложения над 2 полублока с ключом и перестановки битов в полублоке? Как изменится это свойство, если будут выполняться сначала перестановка, затем сложение и подстановка; перестановка, подстановка и сложение? * шифре А5/1 нелинейная функция голосования «два из трех» имеет вид/= t\t2 + t\t^ + ^2^3, где и, Г2, h значения разрядов регистров, оп ределяющих сдвиг. Для подстановки / т, IV, имеем/= TxTiU-^, + T{r^U2 + TjT^U], После деления на Т1Т2Т3 получаем, что функция/про- ективно эквивалентна линейной функции + г/2 + г/з (см. п. 6.15.5). Можно ли построить «проективное продолжение» шифра так, чтобы он был проективно эквивалентен аффинному над F2 шифру? Если оставаться в рам ках полиномов Жегалкина, то обычно эта функция не определена. Поможет ли переход к продоллсенным полиномам?
16. *Предложите шифр небольшой разрядности и построите его нетривиальное проективное продолжение (проективные переменные должны быть отличны от константы, требу ется доопределить их преобразование). Од позначно ли оно? Что собой представляет класс AG-эквивалентных шифров? 17- Укажите достаточное условие стойкости шифра по отношению к анализу методом продолжения полиномов Жегалкина. Каким соотношениям должны удовлетворять числа Nqo, Nou N,0, Nu^ 18. Предложите и проверьте метод анализа на 20 основе 2-адического продоллсения булевых функций с использованием порогового числа правильно угаданных разрядов ключа по аналогии с методом арифметического продолжения. 19. Каков должен быть объем базы данных для нахождения коллизии хэш-функции методом встречи на случайном дереве? . Почему методы криптоанализа на основе рационального и адического продоллсения 21 22 23 кольца G„ в обцдем случае не гарантируют вскрьггие ключа быстрее, чем перебором, а при оценке стойкости дают ответ типа «/-й бит ключа может быть вскрыт быстрее, чем перебором, с вероятностью р»? ^Автоморфизмы кольца полиномов Жегалкина (см. п. 3.15) позволяют поставить в соответствие каждой сбалансированной булевой функции аффинную булеву функцию. Можно ли это обстоятельство использовать при анализе шифров? Можно * ли усилить метод, описанный в п. 17.8, если использовать продолжение кольца G„ до кольца F^[x], ...,xj/2l, где о и 21 ix^ Я "t" Хк —, Ху1 Я Я + Х п п *Методы, рассмотренные в этой главе, базируются на архимедовом (пп. 17.3, 17.4, 17.6) и -адическом (п. 17.7) нормировании про должения кольца G„. Предложите метод ана лиза, основанный на дискретном нормировании кольца полиномов в точке по аналогии с нормированием функций из Ор на алгебраических кривых (см. п. 6.16). .V Литература к главе 17 гг Ван дер Варден Б.Л. Алгебра. М.: Наука, 1979. Молдовян А.А., Молдовян Н.А. Новый принцип построения криптографических модулей в систе- 10 11 Anda*son R., Roe М. А5 // http://jva.com/crack-a5.1994. Biryukov А., Shamir А. Real-time cryptanalysis of the alleged A5/1 on a PC (preliminary draft) мах защиты ЭВМ // Кибернетика и системный анализ. 1993. № 5. С. 42-50. Пойа Д. Математическое открытие. М.: Наука, 1976. Ростовцев А.Г. Метод обращения итерированной 12 http://cryptome.org/a51-bs.htm. 1999. Biryukov А., Wagner D. Advanced slide attacks Advances m Cryptology EUROCRYPT 2000. Lecture Notes m Computer Science. Springer хэш-функции // Методы и технические средства Verlag. 2000. Vol. 1807. P. 589-606. обеспечения безопасности информации. Тезисы 13. Biryukov А., Wagner D. Slide attacks // Fast Soft докладов. Под ред. П.Д. Зегжды. СПб.: Изд-во СП6ГТУ,2001.С. 114-117. Ростовцев А.Г. Решеточный криптоанализ // Безопасность информационных технологий. М.: Изд- во МИФИ(ТУ), 1997. Вып. 2. С. 53-55. Ростовцев А.Г., Маховенко Е.Б. Исследование стойкости криптоалгоритмов методом продолжения многочленов Жегалкина // Проблемы информационной безопасности. Компьютерные системы. 2001 .№ 3. С. 43--50. Ростовцев А.Г., Маховенко Е.Б. Криптоанализ с использованием z-адического продолжения многочленов Жегалкина // Научно-технические ведомости СПбГТУ. 2002. № 3. С. 89-93. Шеннон К. Теория связи в секретных системах / В сб.: К. Шеннон. Работы по теории информации и кибернетике. М.: ИЛ, 1963. С. 333-402. Andelman D., Reeds J. On the cryptanalysis of rotor machines and substitution-permutation networks IEEE transactions on information theory. 1982. Vol. IT-28. P. 578-584. 14 15 16 17 ware Encryption FSE '99. Lecture Notes in Com puter Science. Springer-Verlag. 1999. Vol. 1636. P. 245-259. Campbell K., Wiener M. DES is not a group vances m Cryptology Ad- CRYPTO'92. Lecture 1993 Notes in Computer Science. Springer-Verlag Vol. 740. P. 512-520. Hayward M. Quantum computing and Grover's algorithm //http://alumm.imsa.edu/-matth/quant/473/473proj /473proj.html. Kaliski Rivest Sherman the Data En cryption Standard a group? (Results of cycling ex periments on DES) // Journal of Cryptology. 1988. Vol. LP. 3-36. Konheim A. Cryptography: A Primer. New York: J. Wiley & Sons, 1981. »> ^ y^ "■ "^ -' ^i ^ ^ ^ ^ -■-
Глава 18. СТАТИСТИЧЕСКИЕ МЕТОДЫ КРИПТОАНАЛИЗА ■j" ^ 1 Г.-1 Статистические методы анализа (дифферен- становочно-перестановочных шифров. В качест циальный, линейный и др.) характеризуются тем, ве открытого текста используется вход подста что на множестве ключей устанавливается вы- новки, в качестве шифртекста— выход подста- числимое отношение порядка, которое справед- новки. В этом случае, очевидно, суммы в форму- ливо «в среднем», для большой выборки. Поэто- ле (18.1.1) можно легко вычислить. му для противодействия таким методам следует Понятия полноты и лавинного критерия были периодически менять ключи, не позволяя пару- объединены в работе [25] в виде строгого лавин- шителю набрать необходимый объем статистики, ного критерия (strict avalanche criterion). Подстановка удовлетворяет строгому лавинному кри- 18.1. Некоторые определения терию, если для всех / и у выполняется усилен ное по сравнению с (18.1.1) равенство Для описания статистических методов криптоанализа определим некоторые свойства шифров. Понятие полноты шифра в открытой печати W(d].) п было введено М. Мацу и [21]. В полном шифре каждый выходной бит зависит от каждого входного бита. Если шифр неполный, то можно найти Подстановка удовлетворяет строгому лавин ному критерию, если каждая из п булевых функ такую пару входной бит / выходной бит, что из- Очевидно, менение входного бита не приводит к изменению ции, задающих подстановку, удовлетворяет ему. подстановка, удовлетворяющая что выходного бита при строгому лавинному критерию, удовлетворяет и произвольных значениях лавинному критерию, обратное в общем случае остальных входных битов. Пусть блочный шифр переводит блок открытого текста длины п бит в блок шифртекста той же длины. Для пары открытых текстов х и х личающихся значением /-ГО бита. от определим лавинный вектор отображения (подстановки) как поразрядную сумму шифрограмм / ^(x)®^(x,) = «,...,J! / J {0,1}. Определим для/-го разряда лавинного векто ра целочисленную сумму W{d]) К^ где X X пробегает все множество открытых текстов. Зна чение W{d J п можно интерпретировать как вероятность изменения у'-го бита в шифртексте при изменении /-го бита в открытом тексте. Говорят, что подстановка удовлетворяет лавинному критерию (avalanche criterion) [14], если ля всех i выполняется равенство неверно. Строгий лавинный критерий также часто используется при выборе блоков подстановки. Если строгому лавинному критерию удовлетворяет удовлетворяет и то ему 5'(х), Р(6Хе(х) © а)) © Ь, где Р, О подстановка подстановка произвольные матрицы перестановок и а, произвольные векторы сдвига (соответствующие аффинные преобразования выполняются над F 2 Критерий независимости битов (bit independence criterion) [25] означает, что при изменении одного входного бита все двоичные разряды лавинного вектора d попарно независимы. Взаимная корреляционная функция Cy^y{t) для сбалансированных двоичных векторов двух X {м. ш ш ш «Л/ л 1 ? • ? Г) показывает степень их схожести в зависимости от циклического сдвига t и определяется как х,у (О п П 1(2 X / 1)(2у /4/(mod/7) 1). (18.1.2) i=\ п Yw{d 1 J J=l п2 n (18.1.1) На практике лавинный критерий применяется Каждый сомножитель в формуле (18.1.2) ра вен или поэтому и каждое слагаемое под знаком суммы равно или 1. Аналогично опре деляется автокорреляционная функция cut) Коэффициент корреляции двоичных сбаланси при выборе блоков подстановки (5'-boxes) под- рованных векторов длины п бит равен р(х, у)
W7 вольных матриц перестановок Р, g и векторов Cxv(O). Выполняется неравенство -1 < р(х, у) < Чем меньше по абсолютной величине коэффици- сдвига а, b (соответствующие аффинные преоб- ент корреляции, тем ближе доли совпадающих и разования выполняются над F2). Иными словами. несовпадающих битов в векторах. преобразования, заключающиеся в перестановке Булевы функции/и g одного числа перемен- битов и сложении с произвольным вектором для ных, заданные таблично, можно рассмотреть как входа и выхода подстановки, не меняют коэффи и определить для них ко- циент диффузии. двоичные векторы эффициент корреляции: p(f Qg(0). Параметр незавгюгшости битов BIC{S) под становки определяется как максимум коэф фициентов корреляции соответствующих булевых функщ1й. При этом таблично заданные булевы функции рассматриваются как векторы. Справедливо неравенство О < BIC(o) < 1. Обычно при выборе блока подстановки стараются сделать этот параметр минимальным. Отметим, что выбор максимума коэффициентов корреляции в качестве параметра независимости битов не всегда оправдан.* Определим (хэммингов) вес m^(Az) разности А/ Zl Z2 векторов Zi и Z2 как число несовпа дающих в них разрядов (число единичных разрядов вектора Az). Шифр обладает коэффициентом диффузии kd = /, если для 1 < м^(Ах) < / выполня ется неравенство м^(Ах) + м^(Ау) > / + 2, где Ах — разность открытых текстов, Ау— разность зашифрованных текстов. Коэффициент диффузии является уточнением лавинного критерия и характеризует зависимость веса разностей выходов подстановки от веса раз костей входов. Чем больше коэффициент диффу зии какого-либо оператора, тем лучше его рассей вающие свойства. Коэффициент диффузии используется при выборе блоков подстановки шифров (в частности, при определении дифференциальных характеристик подстановки). При этом в качестве открытого текста используется вход подстановки, а в качестве зашифрованного текста — ее выход. Непосредственно из определения коэффициента дцффузии следует, что у прямой и обратной подстановки он одинаков. Поскольку операции сложения по модулю 2 и перестановки битов сохраняют вес разности, то коэффициент диффузии сохраняется подстановкой при замене подстановки P{S{Q{ii) ® а)) © b для произ- 1 Действительно, коэффициент корреляции является лишь одной из возможных функций, определенных на открытых и зашифрованных текстах; выбор именно этой функции никак не связан со свойствами ши^а и современными определениями случайности. По-видимому, этот выбор ведет историю от поточных шифров, которые строились с использованием сдвиговых двоичных регистров (для них коэффициент корреляции является естественной мерой случайности), а также от расхожего мнения, согласно которому некоррелированность последовательностей означает их независимость. 18.2. Дифференциальный криптоанализ Дифференциальный метод криптоанализа был предложен Э. Бихамом и А. Шамиром в 1990 г. [7] и представляет собой попыгку вскрыть секретный ключ итерированного шифра, исполь зующего г-кратную цикловую операцию шифро вания. При этом предполагается, что шифрова ние на каждом цикле осуществляется на своем ключе. Метод может использовать как подобранные, так и известные открытые тексты, однако в первом случае анализ выполняется проще. 18.2.1. Конечные разности Пусть коммутативное кольцо с единицей. i?[xi, ..,,xJ/2l его расширение, представ ляющее собой кольцо классов вычетов кольца полиномов над R по некоторому идеалу 21. Пусть X (х, э .., X /7 И Ах (Ах ь ., Ах /7 Определим (первую)/?a5Hocwfo А/*функции/е *5как А/ /х + Дх) /х). соответствии с алгебраическим определе кием производной [1] получаем: tf д/=Х/; Ах,.+2^ л„., V Ах,Ах-+. .+/ («) А] 5,,.,А .^ Ах 1 .Ах^, / ^>j где /:, / ft Х.^Х ] J (п) Л| ^ ..., Ху, частные производные. если Например, Х\ @ Х2Хъ ® Х2Х4, ТО 2 э G 4 И f X f X 2 x.@x..f f 3 45 X X 3 25 f X A Л9* ff ^b^2 ft Xi,X3 ff m Xi jX2 ^X-^ ^1 >-^2 ,^4 ff x.^x. fff Э ft ■^\ у-^Ъ >^4 ^2>-^3 fff ft Х2->Хл Xy jX^ jXa (4) XuXy^X^.X^ Поэтому A/ Ax 1 (Xi © X4)AX2 ® X2(AX3 AX4)® © Ax2(Ax3 ® AX4). Оператор разности A обладает следующими свойствами. 1. А(/+g) = А/+Ag. -J -■^ ^ ---I
398 соответствии с правилами умножения по линомов разность произведения определяет I «ь-,а/ /(х)^р2, ТО степень полиномаДх) боль ся разностью одночленов сомножителей. Если/— ше /. JVrt- V - -I- \ -■ь -^ ^ 4j _ rj аффинный полином, то его разность. ^ ^^>»? ^ ^ ->i очевидно, является линейным полиномом от Ахь ..., Ахи и не зависит отхк ...,x«. 18.2.2. Метод криптоанализа Если G« основу дифференциального метода крип- кольцо полиномов Жегалкина, тоанализа положена неравномерность распреде- пар то каждый полином из S имеег степень не более ления поразрядных разностей по модулю открьггых и соответствующих зашифрованных 2 ПО каждой переменной и переход к разности ведет к снижению степени полинома на Аналогично можно текстов. определить разности Сложность вскрытия ключа г-циклового высших порядков. Пусть а 1 Ах, а 2 2 Л^ 4 • • 4 Тогда I ai,...,a/ /(X) А„.(А i'l 1 «I ,-,o-i~i /(X)). шифра зависит от существования дифференциа- -го цикла, которые имеют достаточно лов большую вероятность 9]. Разность порядка / для кольца С„ вычисляется Дифференциал для / циклов шифрования как сумма 2' слагаемых I ai,...,a. /(X) J (x®y) f Э усЛ(а1,...,а,-) где Х(а.,...,а / всевозможные линейные ком цикловый дифференциал) определяется как пара векторов [а, р]^ такая, что пара открытых текстов X, X с разностью а может перейти после /-го цикла в пару выходных текстов у, у' с разностью (для соответствующего понятия разности). Вероятность /-циклового дифференциала бинации над F2 векторов Ui,...,а . Если эти век КР] I это условная вероятность торы линейно зависимы, функции равна нулю. то разность любой Р(Ау(0 Ах а) того, что разность Ау(/) пары шифртекстов у, г после /-ГО цикла равна при условии, что раз Пример 18.2.1. Разность второго порядка для кольца G4. Для булевой функции/=xi ® Х2 ® Х2Х3 ® ХхХ^рс^ равна а. когда открытый текст х (или, что то же аргумента X = (xi,..., JC4) разность второго порядка самое, х') и ключи к''\ }^^\ ..., к^\ используемые ность Ах соответствующих открытых текстов 2 «ьаг /(х), определяемая векторами а 1 (1, 1), а 2 (1, 1, О, 0), равна 2 соответственно на циклах 1,2, ...,/, независимы и равновероятны. На практике функция зашифрования на одном «ьаг /(X) /(x@ai@a2)®/(x®a.)@/(x@a2)®/(x). цикле обычно является криптографически ела- Подставляя соответствующие значения с уче том а 1 а 9 (0,1, 1, 1), получаем бой, В данном случае это означает, что по задан ной паре текстов на выходе одного цикла шиф 2 «1,«2 /(X) /(х,,1@Х2,1®Хз,]®Х4)® ®/(]®Xj,X2,l®X3,l®X4)® ® /(1 ® X,, 1 ® ^2, Д^, ^4 ) ® /(Xj, Х2, Х3 5 Х4 Вычисляем: рования и заданной разности входов этого же цикла можно найти цикловый ключ (один или несколько). Это ограничение не является принципиальным, так как обычно при необходимости цикл можно разбить на более мелкие операции, которые будут удовлетворять этому свойству. Вероятности наиболее вероятных дифферен- /^1 э ®Х2, @Хз, ®хЛ Хъ @ Х\Хъ @ XjXj, @ X\X/i @ циалов используются для определения нижней границы сложности атаки дифференциальным методом и могут показать, когда г-цикловыи /(] ®Xi,X2, ®Хз, ®Х4) Хз ® Х4 ® XiX3 ® Х2Х3 ® Х1Х4 ® Х3Х4 ® Х1Х3Х4; /1 XI э ® Х2, Хз, Х4) Х] ® Х2 ® Хз ® Х2Х3 ® Х3Х4 ® Х1Х3Х4; шифр устойчив к таким атакам. Наряду с понятием /-циклового дифферен циала используется понятие (дифференциальной) характеристики^ представляющей собой последовательность одноцикловых дифференциалов, в 2 «ь^г /(X) X 3 ®Х4. которой выходная разность текстов предыдуще 2 Разность порядка / ведет к снижению степени полинома Жегалкина на /. Поэтому, если Поразрядная (по модулю 2) разность совпадает с , поэтому можно говорить и о суммой по модулю распределении сумм
399 го цикла совпадает с входной разностью текстов Таким образом, дифференциальный метод последующего цикла. Характеристика задает вскрывает ключи независимо для каждого цикла представление многоциклового дифференциала в шифрования. При этом асимптотическая слож- виде последовательности одноцикловых. Одному ность метода практически не зависит от того, и тому же многоцикловому дифференциалу мо- один и тот же ключ используется на всех циклах. гут соответствовать несколько характеристик. Основная процедура дифференциального ме или все ключи попарно различны. Подчеркнем, что если при вычислении наибо тода анализа г-циклового шифра с использовани- лее вероятных дифференциалов открытый текст ем подобранных открытых текстов может быть и все цикловые ключи независимы и равноверо- ятны, то при проведении атаки все ключи фиксированы (шифрование ведется на искомом ключе), и только открытый текст может бьггь произ- сле дующей. Алгоритм 18.2.1. Дифференциальный крип тоанализ. Вход. открытые тексты. Алгоритм шифрования, подобранные и соответствующие зашифрованные вольным. основу алгоритма 18.2.1 положена гипотеза стохастической эквивалентности', для циклового дифференциала э г л спра Выход. Ключ. Метод. На этапе предвычислений ищем множество ведливо равенство РШ(г Ах а) 1 )-цикловых дифференциалов К, /JrM Р{Шг Ах а э к^'' со 15 « « « ^ ш\ г л со,.) такое, что вероятность Р(Ау(г J Ах=а.) почти для всех значении ключей coj. , со.^1 -Ъ| 3 максимальна или близка к максимальной. 3 Если выполняются следующие условия: При этом открытый текст х и все ключи гипотеза стохастической эквивалентности Г'\) ДЛЯ Г циклов независимы и равновероятны. Упорядочиваем это множе ство дифференциалов по убыванию их веро ятностеи. Для произвольного открытого текста х вы числяем х' так, чтобы разность между х и х была равна а,. Зашифровываем тексты х и х верна; цикловая функция шифрования является криптографически слабой; существует (г-1)-цикловый дифференциал [а. г~\ такой, что: г г Р(Ду(г Дх а)» 2 п ^ на искомом ключе и после г циклов получаем где п— длина блока шифруемого текста в пару шифртекстов у(г), у'(^)- Предполагаем -го хдикла разность шифр битах э э что на выходе текстов равна наиболее Ау(г Р, Для тройки (Ау(г вероятной , yir) ? у'(г)) находим все возможные (если их не сколько) значения ключа к^''\ то шифр с независимыми цикловыми ключами является уязвимым по отношению к дифференциальному методу анализа [8]. Сложность S(r) вскрытия ключа г-циклового шифра не меньше, чем число итераций алгоритма 18.2.1: Повторяем шаг 2 до тех пор, гюка одно или несколько значений ключа к ^ не станет появляться значительно чаще других. Берем этот ключ или это небольшое множество ключей в S(r)> > '"^ ^ * :; ^.» .f ^-li». шах п качестве криптографического решения ключа А^'^ последнего цикла шифрования. для где шах шах(а) шах(Р)Р(Ау (г Ах а). Чем больше Находим цикловые наиболее max по сравнению с п 1 ? тем вероят- легче вскрыть ключ, и наоборот частности 5 ные дифференциалы и выполняем шаги при max и 1 атака не будет успешной для предпоследнего цикла, при этом значения Здесь наблюдается аналогия с вьщелением сиг У(г ? У(г вычисляем расшифрованием нала из шума в теории связи: чем больше соот шифртекстов на найденном ключе t \ Далее ношение сигнал/шум, тем меньше требуется по действуем аналогично, пока не будут вскрыты кгоров для приема передаваемого сигнала, ключи всех циклов шифрования. Емкостную сложность дифференциального 3 Задача поиска наиболее вероятных дифферен- метода (как число открытых и соответствующих зашифрованных текстов, необходимых для вскрытия ключа) иногда можно снизить, если исполь- диалов является нетривиальной, однако решить ее все же значительно проще, чем вскрыть ключ перебором.
400 зовать не единственный наиболее вероятный нять с использованием теории марковских цепей. 1)-цйкловый дифференциал 5 а класс таких Дифференциал данного цикла здесь не зависит от дифференциалов, обладающих одной и той же предыдущих циклов, а задание многоциклового входной разностью Ах. При этом в ходе вскрытия дифференциала характфистикой является кор- ключа приходится решать дополните л ьщто зада- ректным. Это позволяет упростить процесс оценки чу определения (г - 1 )-циклового дифференциала. стойкости шифра— достаточно найти наиболее На практике часто наиболее вероятный диф- вероятный дифференциал для одного цикла. Одна- ференциал не является единственным, можно ко, какпоказал Л. Гранбулан [И], это предположе- использовать большой класс дифференциалов с ние вьт:олняется не всегда, что приводит к сущест- большими вероятностями. Такой подход позво- венной корректировке оценок стойкости шифра. ляет проводить криптоанализ на основе извест ных (а не подобранных) открытых текстов. Для противостояния дифференциальному методу анализа может возникнуть соблазн использовать Поскольку вычисление ключа часто более такие шифры, в которых число наиболее вероят трудоемкая операция, чем шифрование, то еди- ных дифференциалов велико (в пределе все диф ницей измерения сложности дифференциального ференциалы с ненулевой вероятностью равноверо- метода может служить сложность нахоиедения ятны). Однако этот метод можно усилить за счет возможных ключей одного цикла по известным использования невозможных дифференциалов. значениям (Ау(г у У(г% у'(г)). которые позволяют отбраковывать классы ключей Отличительной чертой дифференциального для данных дифференциалов [5] или сокращать объем перебора. Это обстоятельство позволяет ус- метода является то, что он практически не ис пользует алгебраические свойства шифра (ли корить вскрытие ключа, даже если все допустимые нейность, аффинность, транзитивность, замкну- дифференциалы имеют одинаковую вероятность. Дифференциальный 1фиптоанализ по существу тость и т. п.). В этом смысле линейный и нелинейный шифры, имеющие соответствующие является методом, который может быть адаптиро одинаковые распределения вероятностей диффе- ван (это требует определенного искусства от крип ренциалов, одинаково стойки по отношению к тоаналитика) к конкретному шифру. Например, дифференциальному методу. Различной может можно использовать не первые, а вторые конечные быть лишь трудоемкость вскрытия ключа для разности между входами и выходами одного цикла одного цикла, но это не принципиально и в итоге шифрования. В этом случае для известных четырех приводит не более чем к полиномиальному раз- выходов и второй разности на входе задача нахождения множества возможных ключей должна быть -цикловых несложной. Очевидно, что способ вскрытия цик- дифференциалов можно упростить, если исполь- лового ключа по набору выходов и разности зовать неподвижные дифференциалы или диффе- входов для каждого шифра индивидуален, ренциалы с небольшим периодом повторения [8]. личию сложностей вскрытия ключа Поиск наиболее вероятных Предложенный впервые для анализа шифра DES, дифференциальный метод оказался применимым к широкому классу марковских шифров [9,19]. АЛ. Маркова) назьгеается шифр, у которого веро Марковским (в честь русского математика Пример 18.2.2. Дифференциальный анализ шифра (короткий блок). Пусть в 16-разрядном подстановочно-перестановочном четырехцикловом блочном шифре ис- ятность дифференциала на каждом цикле не зависит от выбора от1фытых текстов, если все ключи равновероятны.'^ Если цикловые ключи в таком шифре независимы, то последовательность разно- пользуется подстановка S (14, J 13 J J 2, 15, П. J 3,10,6,12,5,9, И перестановка Р (1, J 13, 10 J 14 ? J 7, 11, 15,4,8, 12, 16). Нака ждом цикле производится сложение текста с стен текстов после каждого цикла представляет собой марковскую цепь, где последующее состоя ние определяется только предыдущим. Примерами марковских шифров являются DES, FEAL, IDEA (см. пп. 19.3-19.5). Такие шифры удовлетворяют гипотезе стохастической эквивалентности. Для марковского шифра поиск наиболее вероятного ключом данного цикла шифрования [13]. Последовательность шифрующих операций такова: три раза выполняегся цикл (сложение, подстановка, перестановка), затем сложение. подстановка, сложение. циклового дифференциала можно выпол Одним из наиболее трудных этапов дифференциального анализа является поиск наиболее дифференциала^ вероятного циклового ^ Имеется в виду, что шифр является марковским в части распределения дифференциалов. Аналогичное понятие существует и в части распределения линейных равенств в линейном криптоанализе (см. п. 18.4). который удобно задать в виде характеристики. качестве разности будем использовать по разрядную сумму текстов по модулю (XOR- разность). Сложение текста с ключом не влияет на величину дифференциала. Перестановка является линейной операцией, поэтому операторы
40i к A перестановочны: из Р(Х] @ Х2) = Р(х\) @ Дх2) Пусть X, X t следует Р(Ах) АР(х). векторы входа подстановки и у. t соответствующие векторы выхода. Составим Для построения наиболее вероятного одно- для подстановки матрицу дифференциалов. Для циклового дифференциала воспользуемся раз- удобства представим разности числами. Запишем постными характеристиками подстановки. Со- вектор разности Ах = а]Х\@ 02X2® а^х^® 04X4 как поставим вектору х = (хь :^2, хз, Х4) входа под- число а = 8ai+4а2+ 2аз+ «4. Всего может быть становки число Sx\ + 4x2 + 2хз + Х4, а вектору 16 различных разностей, каждой из которых соот- 1 ^У2^Уз,У4) выхода подстановки — число вегствует 16 пар входных векторов х, х'. Анало- Sy^ + 4у2 + 2уз +3^4- Запишем подстановку в виде гично запишем вектор разности Ау = Ь^у] ® hiy2 ® таблицы булевых функций четьфех аргументов: ® ЬъУъ ® Ьм как число h = Sh] + 4^2 + 2Ьз + ^4- Под дифференциалом подстановки будем по нимать пару разностей Ах, Ау над IF2, где х, векторы входа и выхода подстановки. Пусть вход X для заданной разности а пробегает все 16 значений. Для каждого х и соответствующего х' найдем пары выходов подстановки и соответствующую разность h. Элемент с^ь мат рицы разностей равен числу появлении выход НОИ разности h для входной разности а. Сумма элементов в каждой строке и каждом столбце матрицы равна 16, так как для каждого аргумента и входной разности существует некоторая выходная разность. Поскольку для каждой пары одна и та же разность встречается входов X, X дважды (Ах Х@ X ( X I причем то же справедливо и для выходов подстановки, то каж дыи элемент матрицы является четным числом Кроме того, Соо- 16 (из Ах —О следует Ау Транспонированная матрица разностей соответ ствует обратной подстановке. Матрица разно стей полностью определяет дифференциалы под становки и частоту их появления (таблица 18.1). * - ?.; J -шл J V Таблица 18 Матрица разностей при дифференциальном анализе шифра (короткий блок) л Т- *^ т ; ^* „' ^- >- - ' ..• Г 7^
402 ">. Г '^ "• Наиболее вероятным нетривиальным диффе ренциалом для подстановки будет [11,2] 8 [(1, 1 16 1), (О, о, 1, 0)], его вероятность равна /2. Кроме того, шесть дифференциалов об- 16 = ^k (выделены жир- ладают вероятностью ным шрифтом). Подстановка обладает многочисленными невозможными дифференциалами, вероятность которых равна нулю. С помощью построенной матрицы дифференциалов нетрудно определить одноцикловые дифференциалы шифра и их вероятности. Перенумеруем блоки подстановки (»?-блоки) двойными индексами. Обозначим использование подстановки на /-м цикле шифрования для разрядов 1,2, через /1 9 ДЛЯ разрядов 4, 5, 5 через Si2^ для разрядов 8, 9, 10, 11 через Se-, для разрядов 12, 13, 14, 15 через »?/4. Назовем ^-блок активным^ если он используется при составлении характеристики. Обозначим входы /-го цик- W/.05 ла шифрования через и цикла шифрования через v подстановки на /-м цикле через w , г/н5, выходы /-ГО VlO, 5 выходы 5 w /Л5 Назовем весом дифференциала [Аи, Av] суммарное число ненулевых двоичных разрядов в векторах Аи и Av (вес дифференциала связан с коэффициентом диффузии, который, в свою очередь, определяется минимальным весом дифференциала, обладающего ненулевой вероятностью). Для нетривиальных дифференциалов че- воз- можный вес равен 2 (пара входных и пара выходных векторов различаются в одном разряде тырехразряднои подстановки минимально каждая), максимально возможный (пара входных векторов и пара выходных векторов различаются в четырех разрядах каждая). Для того чтобы характеристика, составленная наиболее вероятных одноцикловых диффе- из имела ренциалов, должна содержать минимальное число активных ^-блоков. Следовательно, она как результирующий дифференциал должна иметь минимальный суммарный вес (при этом не учитывается раз ность открытых текстов — вход итогового диф ференциала). Составим трехцикловую характеристику шифра в целом из активных »?-блоков (рис. 18.1, разряды с ненулевой разностью выделены): •^235 S32-> Sj3:, S/a^ S/i/i, 12 5 ^1,5 Щ,1 ^1,8 Рис. 18.1. Дифференциальный метод криптоанализа Тогда характеристика с учетом перестановки большую вероятность, она имеет вид Ли 1 Aw 1 Av 1 0000 1011 0000 0000, 0000 0010 0000 0000, 0000 0000 0100 0000 (вероятность 8 16 2 Au Aw 2 Av 2 0000 0000 0100 0000, 0000 0000 0110 0000, 0000 0010 0010 0000 (вероятность 6 16 Au 3 Aw 3 Av 3 0000 0010 0010 0000, 0000 010101010000, 0000 Olio 0000 0110 (вероятность ( 6 2 16 Г); Au 4 0000 0110 0000 0110. Считая шифр марковским и используя матри цу дифференциалов подстановки, находим веро ятность трехцикловой характеристики: р-^ 16 16 16 ^ 0,0264. Предположим также, что криптоанализ проводится на основе подобран-
40^^ ных открытых текстов. При этом используются Следовательно, подстановки S{x\ S(x@ и пары открытых текстов, в которых первый текст о(х @ а) @ b для фиксированных а, b обладают произволен, а второй отличается от первого раз- одинаковыми матрицами дифференциалов. ностью Ди виде). 1 (О, 0,0) шестнадцатиричном Пример 18-2.3. Оценка стойкости шифра Вскрытие ключа производим, начиная с клю ча щ для активных ^-блоков. Для кая<дой пары шифртекстов, которым соответствуют открытые тексты с одинаковыми разностями, моделируем расшифрование с использованием всех возможна последнем цикле. Истинный (длинный блок) к дифференциальному методу. Для сравнения с алгебраическими методами рассмотрим шифр с теми же операторами шифрования на одном циюте, что и в примере 17.5.1, с восемью циклами ных ключей цикле в общем шифрования. На каждом 5 КЛЮЧ определяем с учетом того, что на входе блока четвертого цикла шифрования разности между указанными парами дают искомую наи- случае может использоваться свой ключ. Стойкость будем оценивать по одному 6-цикловому дифференциалу. Составим матрицу дифференциалов подста более вероятную разность Au4. В действительно ста достаточно опробовать только разряды новки (таблица 18.2; наиболее вероятные диффе ренциалы вьщелены жирным шрифтом).^ Данная подстановка имеет 18 наиболее веро 5.4 ? ? 57 И 5Д25 ..Д5,15 ДЛЯ активных ^-блоков ятных дифференциалов, обладающих вероятно четвертого цикла. Посколы^ истинный ключ является наиболее стью /4. Отметим, что все дифференциалы веса 2 которых входная и выходная разности содер- вероятным, ищем его следующим алгоритмом жат единственный ненулевой разряд) имеют ну Для каждого тестируемого ключа все пары за- левую вероятность, то есть коэффициент диффу шифрованных текстов складываем с тестируе- зии подстановки равен мым ключом, выполняем обратную подстановку Предполагаем, что шифр марковский. По и находим соответствующую XOR-разность вхо- скольку сдвиг, подстановка и перестановка фик- дов подстановки. Если разность совпадает с паи- сированы, по значению шифртекста можно наиболее вероятной разностью Au4, то соответст- ти сумму входа восьмого цикла с ключом. Для вскрытия ключа восьмого цикла используем вующии счетчик увеличиваем на Ключ для которого частота появления искомого диффе дифференциальные характеристики подстановки ренциала максимальна, является наиболее веро- седьмого цикла и характеристику, включающую дифференциалы с первого по шестой циклы. Искомая характеристика должна содержать мини- ятным. Найденный ключ 5 позволяет найти вход блоков четвертого цикла. Затем подбираем ключ мальное число активных »?-блоков. четвертого цикла пробным расшифрованием пар Естественно предположить, что на каясцом шифртекстов так, чтобы выполнялось условие цикле число активных »?-блоков невелико. По Аи 3 0000 0010 0010 0000 и т. д. видимому ? оптимальный вариант характеристи Если наиболее вероятный цикловыи дифференциал (характеристика) имеет вероят ность/?,»_1, то дифференциальный криптоанализ с использованием подобранных открытых текстов ки должен быть похож на «песочные часы» (возможно, с несколькими «талиями» при большом числе циклов шифрования). Назовем активным разрядом дифференциала его ненулевой вход- требует 0{ypf.^^) текстов. Временная сложность метода также равна 0(l//>,.^i НОИ или выходной разряд, участвующий в характеристике. Перестановка выбрана так, что никакие два разряда подстановки /-го цикла не попадают на этом примере для проведения анализа требуется примерно 38 пар подобранных открытых вход одной и той же подстановки (/ + го и соответствующих зашифрованных текстов, цикла, даже с учетом сдвига. Поэтому один Вскрытие восьми битов ключа кз требует 76 one- активный л-блок на /-м цикле шифрования с одним активным разрядом на входе активизи- раций расшифрования на одном цикле. Непосредственно из способа построения матрицы дифференциалов для подстановки следует. рует не менее двух различных м блок с -блоков наоборот, единственным активным выходом на цикле шифрования. на что при переходе к обратной подстановке эта матрица заменяется на транспонированную. Переход от подстановки S(x) к подстановке S(x) @ а влияет на матрицу дифференциалов. Если (/•+ м цикле шифрования может быть акти визирован не менее чем двумя »?-блоками на i-м 5 не 1 (х) подстановка, обратная к S(x% то для 5(х) @ а обратной будет подстановка ST (х® а). Данная подстановка обладает заметно лучшим распределением дифференциалов, чем подстановка из предыдущего примера.
404 цикле. Отсюда следует, что небольшое число активных л-блоков (один-два) не может оста течение трех циклов ваться постоянным в шифрования. Для обеспечения максимума вероятности ха рактеристики (минимизации числа активных блоков) желательно использовать дифференциа- 4 и минимальным весом, для всех циклов характеристики, за исключением, может быть, первого и последнего. Определим веса наиболее вероятных дифференциалов подстановки: лы подстановки, обладающие вероятностью Искомая характеристика из ^-блоков для шее ти циклов шифрования использует одноцикло вые дифференциалы веса 3 (рис. 18.2). Цикл Цикл 2 Цикл 3 Цикл 4 Цикл Цикл 6 Рис. 18.2. Обобщенная характеристика из активных б'-блоков Активные »?-блоки первого цикла могут содержать произвольное число активных входов, а активные »?-блоки шестого цикла— произвольное число активных выходов. Если такая характеристика существует, то она, по-видимому, яв- вероятность ляется I АА наилучшей UfCiAXU 2/1 4 Г 4 И 4 имеет 28 6 Существование характеристики следовало бы доказать, но в данном примере требуется лишь оценить стойкость шифра к дифференциальному методу, не вскрывая ключ. Для оценки стойкости используется предположительно существующая характеристика. Таблица 18.2 Матрица разностей при дифференциальном анализе шифра (длинный блок) 5*- -^
405 Это значит, что для вскрытия ключа требуется же отдельными битами, иначе говоря, усеченный примерно 2 пар подобранных открытых текстов цикловый дифференциал представляет собой с заданными XOR-разностями и соответствую- подмножество полного у-циклового дифферен щих пар зашифрованного текста. Сложность циала. Использование усеченных дифференциа вскрытия ключа после набора статистики о29 г - ставляет примерно 2 опрооовании. со лов для фейстелевых шифров позволяет сокра тить требуемый для вскрытия ключа объем от Аналогичные рассуждения для 16-циклового крытых и зашифрованных текстов, шифра показывают, что для вскрытия ключа необходимо более 2^^ открытых и зашифрованных блока п бит {п нечетно), в котором на каждом цик Рассмотрим фейстелев шифр с длиной полу текстов — невозможный объем статистики. (Это позволяет сравнить для такого шифра сложность дифференциального метода и методов, рассмотренных в гл. 17.) ле выполняется операция х < (х@ 1 где обра щение выполняется в поле из 1 п элементов и Как видно из приведенных примеров, на стойкость подстановочно-перестановочного шифра к дифференциальному методу анализа влияют ве- [16]. Поскольку все поля из 2 элементов изоморфны, и изоморфизм задается умножением на матрицу над Fi, то способы задания поля тем или иным неприводимым полиномом степени п задают аффинную эквивалентность ^-разрядных роятность наиболее вероятного (одноциклового) булевых функций. Поэтому не будем уточнять коэффициент вид поля. Подстановка, индуцированная обраще- является нелинейной. Все диф- дифференциала подстановки и диффузии. Для противостояния дифференциальному ме тоду желательно использовать такие подстанов ки. нием в поле 2«5 которых наиболее вероятные дифферен циалы имели бы минимальную вероятность, случае подстановочно-перестановочного шифра желательно выбирать такие подстановки, у кото- ференциалы с ненулевой вероятностью для не- * ''. Если в шифре четного п имеют вероятность четыре цикла, то вероятность любого трехцикло вого дифференциала не превышает 3-2и ЭТО рых все дифференциалы веса 2 имеют нулевую вероятность (как в примере 18.2.3). меньше вероятности того, что блок будет иметь заранее определенный вид. Поэтому использова- Посколыо^ на каждом цикле есть хотя бы ние разностей длины п бит не позволяет вскрыть ключ дифференциальным методом. Однако двухцикловый дифференциал этого один активный л-блок, в общем случае стойкость шифра к дифференциальному методу растет экс- шифра для любого полублока совпадает с одно- поненциально с ростом числа циклов шифрова- цикловым дифференциалом, так как каждый иония. Поэтому почти каждый шифр можно еде- лублок шифруется в течение двух циклов только лать гарантированно стойким по отношению к однократно. дифференциальному методу. Поскольку одноцикловый дифференциал име ет вероятность э то каждой ненулевой разно Существует целый ряд модификаций диффе- сти входов соответствует различных разно ренциального метода криптоанализа: анализ с стей выходов с одинаковой вероятностью, рав помощью усеченных дифференциалов (truncated ной вероятности дифференциала. При этом в по differentials) [16,18] и дифференциалов высших ловине случаев выходные разности являются не порядков [16]. атака «бумеранг» [24], атака возможными. Поэтому выходная разность (и. «прямоугольнию) (rectangle) [6], потоки диффе- следовательно, двухцикловый дифференциал) ренциалов [11]. при фиксированной ненулевой входной информации содержит п—\ бит информации, то есть ^ 18.2.3. Анализ с помощью усеченных дифференциалов •^ Усеченный дифференциал использует разности не между блоками (полублоками в случае фейстелева шифра), а между их частями или да- один бит о выходной разности известен. Это по зволяет построить двухцикловый дифференциал обладающий вероятностью 1, в котором один бит информации известен. Для вскрытия ключа пятициклового фейстелева шифра с длиной полублока п бит и цикло- методом усеченных диффе- 7 общем случае коэффициент диффузии должен быть согласован с наиболее вероятными дифференциалами, то есть должен рассматриваться для тех разностей, которые входят в наиболее вероятные дифференциалы, но обычно это не выполняется (см. п. 18.1). вой функцией ренциалов нужно выполнить следующие действия [16]. . Выбрать та1^ю ненулевую разность а входных текстов, что доля W возможных дифференциалов среди меньше п выходных разностей
406 Найти матрицу (Т,,) для О < /, /< 2 и та1^ю что ^}7(^i)@]7a@a) а остальные элементы нулевые. Выбрать произвольный открытый текст Х], найти текст Xj < X, @ а и вычислить соот Поэтому совпадение выходных разностей для разных пар входов {хФх') невозможно. Данное обстоятельство обусловливает неэффективность дифференциального метода криптоанализа. Однако дифференциалы второго и более высоких порядков для того же шифра имеют значи- ветствующие шифрограммы yj, у2. Для каждого возможного ключа цикла: 4.1. Расшифровать шифрограммы тельно более удобное (для криптоаналитика) 5 пятого распределение. Одноцикловая разность второго Уь У2 порядка и 2 cxi,a2 f(x) при постоянных аь аг'. найти входы W]. W2 пятого цикла (каи<: / 4.2 дый блок W,: содержит левую w, и правую w/ части). Для каждого возможного ключа к4 четвертого цикла: ^Wi'@k4),V2<- 2 /(^) f(x + а I ■ -2)-/(^ + сс,) + а fix-h а.)-^ fix) 2а,а 2 4.2.1. Вычислить \ 1 Fiw2 г к4) 4.2.2. Если / / V,@V2@wi@W2 О, то 5 И не зависит от л:, а третья и более высокие разности вообще оказываются нулевыми (самая благоприятная ситуация для криптоаналитика). Рассмотрим атаку на данный шифр с помо- /W, где ш,ью разностей второго порядка 2 к4 искомые цикловые ключи. а, а а-) 0. Дифференциал второго цикла При этом оказывается, что для вскрытия клю- задается парой разностей (вход, выход): (а, 2аЬ) ча пятициклового шифра достаточно 2L подоб- и (6,2аЬ). Соответствуюш^тй дифференциал вто- ранных открытых текстов, а временная слож- рого порядка имеет вид [а, 6; 2а6]. Атака строит- ность вскрытия ключа равна где меньшее целое такое, что W^ < X ". Анализ с по- мош,ью усеченных дифференциалов применим к фейстелевым шифрам с произвольным числом циклов шифрования [16]. паи- ся следующим образом [16]. Хл^ 18.2.4. Анализ с помощью дифференциалов высших порядков Выбрать произвольный текстХ\. Положить хг-<^х\ + аь :^з "^ ^i + 0С2, ха, Вычислить соответствующие шифрограммы УьУ2,Уз,У4. Для каждого возможного ключа пятого цикла: 4.]. Расшифровать шифрограммы уь • "5 У А И Определим одноцикловый дифференциал по найти входы v^'i, ..., л^л пятого цикла рядка i как строку из г + 1 разностей: [аь • •., cx^; р]. где I а],...,а, Пх) случае кольца 6*^ и поли 4.2. номов степени не менее i векторы, соответст- вуюш,ие числам а,:, должны быть линейно независимыми. Поясним механизм атаки на примере (каждый блок Wi содержит левую правую wl' части). Для каждого возможного ключа вертого цикла: 4.2.1. W I I и 4 чет Вычислить Vi <~ F(w!' и- кА l<i<4 I пятициклового фейстелева шифра [16] с цикло- вой функцией шифрования f(x) ^ix + к) (mod р) для простого числа/? и ключа к. Дифференциалы будем рассматривать в поле р. Оказывается, что одноцикловые дифференциалы первого порядка распределены равномер- 4.2.2. Если (vi и- V4 - (^2 + ^з)) - (wi и- лщ I I I iw2 + W3)) = 2ab, то 5 и 4 искомые цикловые ключи. Эта атака требует только восьми подобран ных открытых текстов (две но. Действительно, рассмотрим равенство ность вскрытия ключей равна 0(р четверки). Слож /:^ + ^) /^') f(x' и- а\ означаюш,ее. что для двух пар аргументов с входной разностью а выходные разности совпадают. Раскрывая скобки, получим: 18.2.5. Атака «бумеранг» Если ix-^k) 2 ix-^a-^k) 2 t + Л) 2 t 2 + а + к); характеристика шифра имеет вероят ность /?, то для вскрытия ключа дифференциаль ным методом требуется 0(р~^) подобранных от 2ак 2ах + с^ 2ак 2ах' + d\ X t крытых и соответствующих зашифрованных текстов. Иногда эту оценку можно улучшить. Атака «бумеранг» и аналогичная атака «прямоуголь- X . ник» основаны на замене одиночного
407 циклового дифференциала парой дифференциа лов для половины циклов шифрования, дающих вероятностью обла Следовательно, если дифференциал [А, А * каждая. Обе атаки требуют Oiq" ) открытых и зашифрованных текстов и при (f»p являются более эффективными, чем обычный дифференциальный метод. При атаке «бумеранг» сравниваются промежуточные тексты, полученные зашифрованием открытых текстов на половине циклов и расшифрованием соответствующих шифрограмм на является наиболее вероятным для оператора Е^^ то дифференциал [А , А] — для обратного оператора 1 о . Поэтому разность и @ и t явля оставшейся половине циклов. Рассмотрим четверку открытых текстов х, х', U, и' и соответствующие шифрограммы у, у', v, v'. ется составляющей входной разности для наиболее вероятного дифференциала оператора Ео- Требуемые четверки текстов (х, х', и, и') можно получить следующим образом. . Выбрать пару открытых текстов (х, х') с требуемой разностью А. . Вычислить шифрограммы у, у' для открытых Пусть Ах х@х'. Ли и© и'. АУ А\ v@v t XOR-разности. Пусть о У ©у', опера- текстов X, X . Выбрать шифрограммы v, v', имеющие тре 5 тор зашифрования на первой половине циклов ] — оператор зашифрования на второй половине обладает характери- циклов. Пусть оператор о буемую разность 6 с шифрограммами у, у'. Вычислить открытые тексты и, и' расшифро ванием шифрограмм v, v'. стикои А , переводящей разность открытых текстов в разность промежуточных текстов * 5 I а оператор £ ' обладает характеристикой б -> б * ? переводящей разность шифрограмм б в разность тексты. Вскрытие ключа, начиная Таким образом, для реализации атаки нарушитель должен иметь возможность как зашифровывать, так и расшифровывать подобранные средних со промежуточных текстов б . При этом пара (х, х ) задает требуемую входную разность для шифрограммы пар (х. и) и (х', и') — а циклов шифрования, выполняется так же, как и при обычном дифференциальном анализе. входную разность для 1 1 — требуемую (рис. 18.3). Тогда пара (£0(11)5 Eq{vi!)) задает требуемую входную разность для оператора расшифрования Е^'. Действительно, 18.3. Криптоанализ на основе списка ключей и связанных ключей I EJn)@E^ о («) о Л*@б*@б Часто в г-цикловом итерированном шифре для шифрования применяется так называемый список ключей (key schedule)^, который готовится из исходного ключа и представляет собой набор цикловых ключей, используемых соот- 4с А*. ветственно на циклах Например в ГОСТ 28147 89 (см. 1 2 г п. 19.6) исходный ключ U U состоит из восьми 32-разрядных слов, а список ключей задает их порядок: О, 1,2, 3, 4, 5, 6, 7, О, , 7, 6, 5, 4, 1,2,3,4,5,6,7,0,1,2,3,4,5,6, 3,2, ],0;bDES(cm. п. 19.3 ч Q J набор 4б-разрядных из цикловых ключей рекурсивно получается ключа длиной 56 бит. Регулярные свойства спи ска ключей могут быть использованы, напри мер, для ранней отбраковки неправильных клю- при дифференциальном или линейном чей криптоанализе. общем случае атака на основе списка клю чей [15] определяется способом получения цик 4, V-4 -н ловых ключей из исходного ключа и может использовать встречу посередине, выявляемые классы ключей и др. Как правило, анализ на ос- у у нове списка ключей не является самостоятель ным методом, а служит вспомогательным меха низмом, позволяющим усилить другие методы. Рис. 18.3. Атака «бумеранг» 8 Используется также термин «развертка ключа»
408 Для того чтобы затруднить анализ на основе Получаются две последовательности цикловых списка ключей, при разработке шифра целесооб- ключей, сдвинутые на одну позицию, при этом разно ввести (криптографически нетривиальную) ключи, записанные друг под другом, совпадают. зависимость списка ключей от номера цикла Пусть в шифре используется неизвестный шифрования. ключ А]. Цель нарушителя— найти вспомога тельный ключ Кг и открытые тексты Ху\^ Х2^\ (вы- Метод анализа на основе связанных ключей числив соответствующие шифрограммы уь yi) был рассмотрен Э. Бихамом [4] для шифров ? в так, чтобы выполнялось условие х\ | =:^2 2. Тогда которых ключ очередного цикла вычисляется из в силу равенств ^i, = ^2,/+i будут выполняться и ключей одного или нескольких предыдущих равенства циклов по одному и тому же правилу. Список Очевидно что Х2 /+1. Следовательно, У2 Хх ,/■' в силу обратимости функции из ключей, полученных ключа, можно циклически сдвинуть на однл/ или некоторого исходного шифрования можно искать вспомогательный ключ Л25 который дает список ключей, отстаю несколько позиций. Этот новый список ключей щий от списка ключей^ который дает Ль может быть получен из другого исходного ключа. Достоинством данного метода является то, что сложность анализа не зависит от числа циклов шифрования. Как и в дифференциальном ме- ния этой пары будет равна 0{2 Для нахождения такой пары открытых тек стов :vi ], Х2^\ можно воспользоваться парадок сом дней ромадения. Тогда сложность нахожде раз /7/2 где п тоде, предполагается, что функция шифрования рядность блока (для фейстелева шифра на одном цикле является криптографически ела- лублока). по бой. данном случае это значит, что по входу и Для того чтобы выявить искомую ситуацию. выходу можно легко вскрыть ключ, а гипотеза о или цикловых ключей для необходимо проверить совместность системы свойствах текстов двух уравнении: что ^1.1 F{X2U К2л\ Ух = Р{у2\ К2г\ где Уь У2 ОДИНОЧНОГО цикла эффективно проверяема. Пусть г-цикловый шифр построен так, цикловые ключи получаются из исходного ключа по одному и тому же правилу Л, причем если — ключ /-ГО цикла, то ^/+i =А{к). Следуя рассуждениям Э. Бихама, рассмотрим ата!^ на основе подобранного ключа и подобранного открытого текста. Суть атаки заключается в том, что нарушитель может по своему усмотрению Зная ключ первого и/или последнего цикла, легко изменять разность между связанными цикловы- вскрыть ключи остальных циклов. ми ключами (не зная самих ключей) и подбирать Для ускорения подбора вспомогательного кльо- открытые тексты для зашифрования. При этом ча и указанных текстов можно воспользоваться — соответствующие шифрограммы, функция шифрования на одном цикле. Поскольку функция F криптографически слабая, совместность указанной системы эффективно проверяется для каждой четверки {х\^\,у\, :^2д,у2)- ходе проверки вычисляются ключи jfiTo i и fe^. ему К нужно получить систему равенств 1./ А2 /+ь где А] /— цикловый ключ /-го цикла. из исходного ключа Ки К 2. /Ч-1 полученный цикловый ключ (f и- 1)-го цикла, полученный из исходного ключа К2. Для этого достаточно обеспечить выполнение указанного условия после первого цикла. Поскольку алгоритм выбора цикловых ключей степенной, то для остальных цик отбраковкой классов ключей и текстов, заведомо не удовлетворяющих указанному сдвигу. Отметим, что разности между ключами и выходами для одного цикла шифрования при известных входах могут бьггь легко вычислены, если известна одна из эти"х разностей, по аналогии с дифференциальным методом криптоанализа. Поэтому при атаке на основе подобранных открытых текстов нарушитель. лов это условие выполняется автоматически. Обозначим входы для соответствующих последовательностей ключей /-ГО цикла шифрования через л:1/,:^2,;: зная разность ключей, может получить требуемое соотношение между входами циклов шифрования для тестируемых ключей быстрее, чем с использованием парадокса дней рождения. ^гл К 2,1 9 Л^1Д К 1.1 ^22 К 29 ^^1,2 К 1.2 ^2,3 К2 ^1,г-2 К \.г~2 ^2.г-1 К 2г-\ ^1,г-1 К 1.Г-1 / Х2 Кг, Хх К г \,г 18.4. Линейный криптоанализ Метод линейного криптоанализа был впервые опубликован М. Мацуи в 1993 г. [21] и развит рядом авторов [12, 13, 17, 22]. Данный метод требует знания открытых и соответствуюнщх Такая атака может быть эффективна для шифра зашифрованных текстов. Суть метода заключа- LOKI [4]. ется в поиске линейных зависимостей вида
409 'i ®x,- @ V, ©...© y,- •^ h -^ Jb I ! @...@L , которые выполняются с вероятностью, заметно . Здесь Очевидно, что для противодействия линейно- (18.4.1) му методу необходимо обеспечить выполнение равенства (18.4.1) с вероятностью, как можно 10 большей или заметно меньшей, чем {^/}? {У/}? {^/} — биты соответственно открытого ? ^й? У1 текста, шифрограммы и ключа; /], ...,/с— некоторые подмножества битов соответственно открытого текста, шифрограммы и ключа. После получения системы таких уравнении ключ можно найти решением этой системы, поскольку биты :v/, у, известны. Истинный ключ определяется как наиболее (наименее) вероятный, для которого условия (18.4.1) выполнякугся наиболее (наименее) часто. Поскольку решение системы линейных уравнений (18.4.1) не составляет труда, вскрытие ключа сводится к нахождению уравнена НИИ (18.4.1), выполняющихся наиболее часто, бору статистики открытых и зашифрованных тек стов и выявлению наиболее вероятных ключей. более близкой к 0,5 для всех наборов битов от крытого текста, шифрограммы и ключа. Это воз можно лишь в том случае, если уравнение шиф рования является нелинейным. Определим нелинейность NL(/) булевой функции/ зависящей от п переменных, как паи меньшее хеммингово расстояние между таблич но заданными функцией/и множеством аффин ных функций, то есть как число наборов аргументов, на которых булева функция не совпадает с аппроксимирующей аффинной функцией. Нелинейность булевой функции— неотрицательное целое число. Нелинейность аффинной булевой функции равна нулю. Аффинно эквивалентные булевы функции обладают одинаковой нелинейностью. Таблица 18.3 Значения булевой функции / и аффинной булевой функции g = Xi® Хг® Хз® Х4 Пример 18.4.1, Нелинейность булевой функ НИИ, задающей подстановку стандарта DES. Легко заметить, что нелинейность сбалансированной булевой функции является четным Рассмотрим вторую подстановку в блоке SO числом. Нелинейность четырехразрядной буле стандарта DES: О, 15, 7, 4, 14, 5 13, 5 10, 12, вой функции может принимать значения 5 ИЛИ 11, 9, 5, 3, 8. Ее можно записать в виде четырех общем случае, как показали Дяс. Себерри и 4. булевых функций четырех переменных :^ь Х2, хо,, С. Жэнь [23], нелинейность w-разрядной сбалан Ха. Значения булевой функции задающей сированной булевой функции/изменяется в пре младший разряд этой подстановки, и аффинной делах: булевой функции X] @ :^2 @ :^з @ Ха на множе стве аргументов (0,0,0,0),..., (1,1,1,1), приве дены в таблице 18.3. Значения булевых функций/и g различаются в четырех позициях, поэтому NL(/) = 4. Следовательно, в 12 случаях из 16 аппроксимирующая функция совпадает с аппроксимируемой. Функция g является наилучшей аффинной аппроксимацией для функции / В общем случае может существовать несколько наилучших аффинных аппроксимаций. Другая аффинная булева функция, аппроксимирующая функцию/с вероятностью ошибки V4, имеет вид 1 @ д:1 @ д:2 @ Хз. 10 Вероятность заметно отличается от 0,5 по криптографическим меркам. На практике это означает, что можно статистически отличить последовательность, обладающую указанной линейной зависимостью случайной двоичной последовательности. 5 от NL(/) < 2 П-] II т\ Покажем, как для итогового криптопреобра- зования можно найти линейные суммы (18.4.1), наибольшей (наименьшей) выполняющиеся с вероятностью, по соответствующим линейным суммам для операторов шифрования. Рассмотрим две случайные двоичные величины Xi и Х2 такие, что Xi @ Х2 (это означает, что Xi Х2). Предположим, что эти величины распре делены по биномиальному закону P(xi P(xi Рь Р(Х2 Рь Р(Х2 Ри Р2- Событие, заключающееся в выполнении равенства xi = Х2^ произойдет, если обе величины примут п Обратимое преобразование переменных может задаваться только сбалансированными булевыми функциями.
410 значение или 1. Соответствующие вероятности: в вектор, все координаты которого, кроме одно Тогда Хо Р\Ръ Р{х\ Хо Pl)i} Pi) Р(х, Х2) Р\Р2 + (1 P^)i^ Pi)- го, нулевые. В этом случае подстановка СТ содержит аффинную функцию. Отметим, что левая часть равенства (18.4.2) не может быть равна нулю, так как в противном случае и правая часть Пусть р\ = 0,5 + в], Р2 = 0,5 + 82, где в, — соот- равенства (18.4.2) должна быть нулевой, что про ветствующие преобладания. Тогда P(xi Х2) 0,5 + 819, где 8] 9 28i82. тиворечит линейной независимости аффинных функций Xj. Обобщим это рассуждение на случаи п неза висимых двоичных величин Л j^« • • • * */v «5 прини Таким образом, неудачно выбранная подста мающих значение О с преобладаниями соответ- новка может иметь все разряды нелинейными, но ственно 8],..., 8„. Тогда среди булевых функций, задающих подстановку, могут быть такие, что их сумма является аффин- Р{х. @. ®х II 0,5 + 2 11-1 8 i •> i=\ ной функцией. то есть п 8 1....,/7 И-1 8 ; 1=\ Эти два равенства составляют j4eMMy Matfyu (piling-up lemma [21]), положенную в основу на- хомадения вероятности итоговой аффинной аппроксимации. Если хотя бы для одного i выполняется 8 I (то есть I 0,5), то в] л И Р(хх ®х У1 0,5. Нелинейность всех разрядов булевых функ подстановочно-перестановоч ции подстановки ном шифре) является необходимым, но не достаточным условием стойкости шифра к линейному методу. Класс подстановок, слабых по отношению к линейному методу, определяется следую щей теоремой. Пример 18-4,2. Неудачная нелинейная под становка в смысле линейного криптоанализа. Пусть четырехразрядная подстановка имеет вид (3. 1L О, 6, 13,14, 8, 5, 2,4, 15, 12, L 7, 2, 9). Зададим связь мем^ду двоичными векторами входа и выхода подстановки и соответствующими целыми числами следующим образом: вход ному вектору x = (xi,X2,xo,,X4) сопоставим число 8^1 + 4:^2 + 2хо, + Х4, выходному вектору X }•) ,е{0,1}. число 8у1 + 4у2 + 2уз + У4, где Запишем булевы функции для этой подста новки: У\ Xi Х2®Х4® Х2Х4 @ ХъХа\, Уг Х2 @ :V]:v2 @ XiXo, @ XiXa @ Х2Х^ @ ХзХа: Теорема 18,4.1- Линейная сумма для входов и выходов подстановки выполняется с вероятностью или тогда и только тогда, когда подста новка аффинно эквивалентна подстановке, со держащей аффинную булеву функцию. Доказательство. Пусть подстановка финно эквивалентна подстановке булевой функцией I 1^ ах аф- с аффинной ASB, где Л, — аффинные подстановки. Тогда подстановка SB тоже обладает аффинной булевой функцией (вид которой может отличаться от одноименной булевой функции подстановки S). Применяя аффинную подстановку А к выходу подстановки Ж, получаем равенство над F2: Ть I I а J Xj (18.4.2) I J Обратно, пусть для подстановки Г выполняет ся линейное равенство (18.4.2), левая часть кото рого отлична от нуля. Тогда существует аффин ная подстановка С, переводящая вектор У]Ь^у, I Уъ Xj @ Х-х Х\Х'\ Х\Хл@ Х2Х'х @ Х-уХл @ Х-^РС/^ © Х\Х2Ха @ У4 Х\@ хъ® Х1Х2 @ Х2Ха ® :v 1^:2X4 @ х\ХъХ/С. Все разряды подстановки описываются нели неиными уравнениями, однако при этом всегда выполняется линейное равенство У2@Уъ®Уа®х^ Если подстановка является «слабой» в смысле линейного криптоанализа, то и обратная подстановка тоже является «слабой». Теорема 18.4.2. Если подстановка содержит аффинную булеву функцию, то и обратная подстановка лежит в классе аффинно эквивалентных подстановок, содержащих аффинную булеву функцию. Доказательство. Действительно, если Z^^' то аффинной заменой переменных I X \ X I получим Х\ = У]. Значит, подстановка. I
411 аффинно эквивалентная обратной, содержит аф финную булеву функцию. Сумма элементов в каждой строке матрицы т~\ Следствие 18.4,3. Если подстановка содержит такие булевы функции, что сумма некоторых из т-\ ДО 1 равна ±2 ; каждый элемент принимает зна . Равенство (18.4.3) выпол '". Непосредст ч чение от няется с вероятностью 0,5 с и них является аффинной функцией, то и обратная венно из леммы Мацуи вытекает, что по этой подстановка обладает эти свойством. матрице можно найти также наиболее и наименее вероятные линейные суммы для шифра в це- Предположим, что шифр содержит нелиней- лом (поскольку w-разрядный блочный шифр реа- ные операции перемешивания (/и-разрядная под становка) и линейные операции рассеивания. этом случае для проведения криптоанализа ли- нейные суммы). нейным методом требуется найти линейные лизует w-разрядную подстановку, для нее тоже определены наиболее и наименее вероятные ли- суммы вида X ^®Ту I ДЛЯ входных и выход Линейный метод криптоанализа аналогичен функ которые равны О с максимальной (или с минимальной) вероятностью. Это можно сделать следуюшим алгоритмом. ных разрядов подстановки (не булевой ции!), дифференциальному. Назовем {линейной) харак теристикои последовательность линейных сумм для отдельных операторов шифрования, в которых множество выходных переменных в линей Алгоритм 18.4.1. Поиск наиболее вероятной и наименее вероятной линейных сумм для под становки. . w-разрядная подстановка. Выход. Наиболее вероятная и наименее веро ятная линейные суммы и вероятности этих сумм. Метод. . Записать подстановку в виде таблицы т выходных булевых функций, зависящих от т двоичных аргументов каждая. . Перенумеровать всевозможные линейные НОИ сумме предыдущего оператора совпадает с множеством входных переменных в линейной сумме последующего оператора. Криптоанализ заключается в построении характеристики по мере продвижения в процессе шифрования от входа к выходу и определении ее вероятности. Наиболее (наименее) вероятные линейные суммы для каледои операции в ходе шифрования находятся с помощью леммы Мацуи. Отметим, что поиск характеристики— нетриви альная задача, однако она значительно проще, чем комбинации входов алХл @... ClnJC^ Ш5 где перебор ключей. Задание наиболее вероятных и наименее ве роятных линейных сумм для шифра в целом с а I {0,1}, по наборам из т коэффициентов а,. помощью характеристики возможно, если шифр Перенумеровать всевозможные линейные является маркоестш смысле линейного крип комбинации выходов Ь^ух ©... © Zj^y^ где ; {0,1}, по наборам из т коэффициентов Z?,. Составить квадратную матрицу размера т 5 где строки перечисляют всевозможные наборы {а,}, а столбцы— всевозможные на боры {Ь.} так. что номер строки равен т т а. i-\ Т i , а номер столбца 1^ /-1 т-1 тоанализа): вероятность линейной суммы не за висит от входных переменных и ключа. Практи чески это означает, что для шифра выполняется лемма Мацуи. По аналогии с дифференциальным методом в подстановочно-перестановочном шифре можно определить активные б'-блоки и активные разряды блоков. Суммарное число активных ^'-блоков /=1 ; 1 ш-1 Элемент матрицы равен s ло выполнений над F2 равенства: , где5 чис характеристики с учетом их вероятностей долж но быть минимальным. Поэтому обычно линей пая характеристика. как и дифференциальная. ^к^к Ь'Ук к (18.4.3) имеет вид «песочных часов» с «талией» в сере дине процесса шифрования. .. о«,+2о„,-1-+«|2'"'=7 b^+2h^....+b,2 W(-l полученной матрице найти максимальный и минимальный элементы. Индексы этих элементов определяют наиболее вероятную и Пример 18.4.3. Линейный криптоанализ шифра (короткий блок). Рассмотрим шифр из примера 18.2.2. Обозначим через л/V 1 ^ • • • ^ aA'U. входы подстановки. У1 5 5 У4 — ее выходы. Составим таблицу, харак наименее вероятную линейные суммы для теризующую преобладания для линейных сумм подстановки, используя алгоритм 18.4.1 (таблица подстановки, а значения этих элементов вероятности этих линейных сумм. 18.4).
412 Таблица 18.4 Матрица разностей при линейном анализе шифра (короткий блок) Здесь наибольшая абсолютная величина пре- Преобладание равно 4 16 обладания определяется элементами <^2.14? <^\ъ \ Л. 4 Вероятность вы полнения с% 15, ЧТО соответствует аппроксимациям Vo + V 2 4 3 указанной аппроксимации равна 4 ^Ъ y^@У2®Уъ\ ^:3©X4-Vi©V4; Пусть и,J—у-й разряд входного блока на /-м -й разряд выходного и Хл У\ ®У2®Уз ®Ул- Как и в примере 18.2.2, перенумеруем 5'-блоки двойными индексами. Чтобы построить линей- цикле шифрования, v блока на /-м цикле шифрования, ключа на /-м цикле шифрования, где / Для блока 5*12 выполняются равенства и разряд 1,2, ную сумму для шифра в целом рассмотрим ап проксимацию для характеристики, заданной под Х] Ща® к] 4, Хз Щ 6 ® к^ ,6, становками Зюу 5*22, 5*32, 5*34, S^i, 44 5 затрагиваю щую первые три цикла шифрования; соответст Ха Щ 7 © ki 7, Уг ^1,5, вуюш[ие активные шрифтом (рис. 18.4). разряды выделены жирным так как после перестановки ^-и разряд текста ос тается неподвижным. На втором цикле шифро вания переменная V] 5 переходит в г/2 5- Для блока 5*22 составляем аппроксимацию с Линейную характеристику составляем с учетом того, что выходные переменные предыдуш[е- го цикла шифрования должны служить входньь максимальной абсолютной величиной преоблада- ми переменными последуюш[его цикла шифро- ния, в которую входит только входная переменная . Это аппоокси- вания. Для блока 12 Х2, соответствующая разряду г/2,5- используем аппроксимацию мация Х2='У2®Уа^ преобладанием 4 Хл® Х-х® Хл У2, что соответствует элементу C]i4. роятность ее выполнения: 2 1 16 4? ве 4 /4. Для пере менных в составе блока для второго цикла шиф (2 Использование в характеристике линейных ра 16 венств, которые выполняются с преобладанием ведет к увеличению числа активных .^-блоков по фав нению с указанным. рования рис. 18.4): эта аппроксимация имеет вид (см ? г/2,5 © ^2,5 © V7 5 © V7 13
413 Щл UxfiUij для блока 44 переменные хг и Х/^ соответст вуют разрядам ^4,13 и г/4,15; аппроксимация Х2@х^=У2®Уз (соответственно xj ©х^ 1 3 У] ® Уз) с преобладанием /4 и вероятностью 4 ( соотв етств е н н о 1 4 И 1 4 имеет вид г/4ДЗ © ^4,13 © г/4,15 © ^4,15 ~ V4J3 © 1^4,14 (СООТВСТ СТВеННО г/4,13 © Л^4,13 © ^/4,15 © ^4J5 "= V4,12 © V4 14). Составим сквозную линейную аппроксима цию с учетом леммы Мацуи. Выразим выходы первого цикла с помощью найденной аппроксимации и подставим их в качестве входов в выражения для аппроксимации второго цикла. Равенство ^2,5 ® ^2 7 ® ^1,4 ® ^1 6 ® Щ J ® ®^14®^16®^17®^ 2,5 (18.4.4) будет выполняться с вероятностью 1 2 + 2( 3 1 4 2 1 1 4 2 3 то есть преобладание равно 1 /r. Переходим к третьему циклу Объединяем аппроксимации для блоков 32 И 34 В одну линейную сумму. Подставляем в аппроксимацию блока 5*32 выражение Щз — ^гз® hsi, в аппроксимацию блока 5*34 выражение г/3,13 = V27 © к^.п- По лучаем: ^3,5 ® ^3 7 ® ^3 13 ® ^3 15 ® ©V2,©^35®V27®^3.3-0 (18Л5) Рис. 18.4. Линейный метод криптоанализа Согласно лемме Мацуи эта аппроксимация выполняется с вероятностью 1 2 + 2( 1 1 4 2 2 5 8 Преобладание равно Vg. Выражаем V2s©V2 7 из Рассуждая аналогично, получаем на третьем (18.4.4) и подставляем в (18.4.5): цикле шифрования: для блока 32 переменная xj соответствует разряду щу, аппроксимация Х2=У2®У4 0 пре обладанием 4 и вероятностью /4 имеет вид щ^ © к^з = V3 5 © V3 7; для блока 34 переменная xj соответствует разряду щ ]з; аппроксимация Xj = V2 ©V4 с пре 1 обладанием - /4 и вероятностью /4 имеет ввд г/з,13©^з,1з = ^з,1з©^з,]5. На четвертом цикле шифрования: для блока 42 переменные xj и Х4 соответст вуют разрядам Uas И щ 7; аппроксимация Х2 © JC4 =^ V2 © Уз (соответственно Х2 © Х4 1 3 У] © Уз) с преобладанием /4 и вероятностью 4 (соответственно 1 4 И 1 4 имеет вид г/4,5 © ^4,5 © Щ,7 © ^4,7 ~ 1^4,5 © ^4,6 (СООТВСТСТ ВеННО г/4 5 © ^4,5 © Щ,7 © ^4,7 ^ ^4,4 © V4fi); ^3,5 © ^3,7 © V3J3 © V3 15 © Щ,4 © ^1.6 © ^1,7 © ©)t 1.4 @к 1,6 ©)t 1.7 ®к 2,5 ©)t 3,5 © 3,13 Переходим к четвертому циклу шифрования. Здесь ^4,5 V3.5© ,5, г/47 ^4,13 V3 7© 13 9 ^4,15 V3,13©^4,7, V315 © ^415. Рассуждая аналогично, получаем: г/4,5 © ^4,7 © ^4.13 © г/4 15 © ^1 4 © ^1 6 © ^1 7 © ®к 1,4 ®к 1.6 ®к 1,7 ®к 2,5 ©)t 3,5 © 3,13 © @к 4.5 ©)t 4,7 ©)t 4,13 ©)t 4,15 1 2 Это равенство выполняется с вероятностью Q Q 11 1 Q 1 ^ + 2~ ( /4 - /2)( /4 - /гУ ~ ^32? то есть преобладание равно 32 зависимости от четности суммы разрядов ключа равенство
414 г/4 ^ © ^4 7 © г/4 13 ® ^4 15 ® ©г/] 4 ©x/j6 ®щ^ (18.4.6) выполняется с вероятностью преобладание равно ± /32- 15 32 1 Т или /з2, ТО есть После составления линейных аппроксимации для всех циклов шифрования, кроме последнего, приступаем к вскрытию ключа последнего цикла. Биты зашифрованного текста, сложенные по с битами ключа последнего цикла, да- модулю ют выходы vaj подстановок 5*4;. Таким образом, для данного ключа последнего цикла можно вычислить вход щ, подстановки 5*4/. Для всех возможных ключей кз последнего цикла и всех зашифрованных текстов вычисляем разряды г/4,; и проверяем выполнение равенства (18.4.6). Экспериментальное значение преобладания для каждого тестируемого ключа сравниваем с расчетным. Сортируем ключи по экспериментальным значениям преобладания. Значение ключа кз, для которого экспериментальное значение преобладания наиболее близко к расчетному, истинным. имеет наибольшие шансы оказаться данном случае в равенстве (18.4.6) в заключительном сложении с ключом участвуют шесть активных выходных разрядов (V44, V4.5, Щ.б:, ^412, V413 V414) ДЛЯ блоков подстановки 42 1 44 По этому достаточно рассмотреть только шесть би тов ключа: кзл, ks^s. ^5,6, ^5,12, кз^^з. кзм- Процесс поиска облегчается тем, что истин ный ключ, как правило, обладает максимальной абсолютной величиной экспериментальной частоты преобладания. Найденное значение ключа последнего цикла позволяет по известным шифрограммам найти разряды текста ^4,/5 затем вскрыть ключ четвертого цикла с использовани ем соответствуюш[их аппроксимации и т. д. Для вскрытия ключа линейным методом не обходимо 0\г~ ) известных открытых и соответ ствующих зашифрованных текстов, где г— аб солютная величина преобладания. В оассмот ренном примере требуется примерно 10" блоков открытого и соответствующего зашифрованного текста, суммарная трудоемкость анализа составляет примерно 10 опробований. Дифференциальный метод в данном случае несколько более эффективен, поскольку в используемой подстановке вероятности дифференциалов превышают абсолютные величины преобладаний. Однако, например, для шифра DES линейный метод является более эффективным, чем дифференциальный (это объясняется особенностями используемых подстановок). В частности, для вскрьггия ключа с вероятностью 0,5 необходимо примерно 39 открытых и соответствующих зашифрованных текстов. Нетрудно заметить, что итоговое значение преобладания зависит от преобладания для одиночного блока подстановки и от минимального числа блоков подстановки, участвующих в шифровании. Таким образом, для противодействия линейному методу нужно: выбирать подстановки так, чтобы минимизи ровать абсолютную величину максимумов преобладаний для булевых функций, составляющих подстановку; выбирать рассеивающее преобразование так, чтобы обеспечить максимум из минимально возможных активных блоков подстановок, участвуюших в шифровании. Согласно лем ме Мацуи это приводит к экспоненциально му снижению абсолютной величины преобладания; ограничить объем информации, шифруемой на одном ключе, например, заменять ключ после зашифрования определенного числа бло- 13 ков; включать в открытый текст случайные биты, не несущие никакой информации и стираемые после расшифрования. -- ^*1 Пример 18.4.4. Оценка стойкости шифра (длинный блок) к линейному методу. Рассмотрим шифр из примера 17.5.1 с восемью циклами шифрования. Предположим 9 ЧТО точность аффинной ап проксимации каждого разряда на каждом цикле шифрования не зависит от остальных разрядов и от остальных циклов (шифр является «марковским» в смысле линейного анализа). Двоичные разряды подстановки представляются полиномами Жегалкина следующим образом: У^ X] @Х^@ Х/\@ XjX^ © ХоХл ® X^X/i @ © У2 Xi © Х4 © Х1Х2 © Х2Х3 © Х3Х4 © XiXjX^ © Х2Х3Х4; Уз Х\ © Х2 © Хз © XiX2 © Х^4 ® Х1Х2Х4 © Х2Х3Х4, У4 Х\ © Х2 © Хз © Х4 © Х\Х^ © XiXjX^ © Х1Х2Х4. Наилучшие аффинные аппроксимации этих разрядов имеют вид: У\ Х\ © Х2 © Хз © Х4 ИЛИ У\ \В Х} кВ Хо1 У2 Х, © Хя © Х4 ИЛИ У2 Х] © Х2 © Х4; и Для реальных шифров линейный криптоанализ ^^ блоков открытого и затребует обычно не менее шифрованного текста. Поэтому смена ключей не они зит заметно скорость передачи информацрш.
J y^ X\ © X? © X3 или Уъ У4 Xo © Хз © Хл ИЛИ У4 Xi © Хз © X4J Xi © Хо © Хз © Хл Линейные суммы для подстановки с наи Нелинейность большей абсолютной величиной преобладания определяются затемненными ячейками в таблице, всего их 32. Кроме того, подстановка облада- используемои подстановки равна 4. Это означает, что нелинейность кая^ой ^^ линейными суммами веса z, в которых един булевой функции равна 4, то есть вероятность ственный разряд входной суммы и единственный того, что каждый разряд совпадет с аффинной ._ .^ .Л___ 12/ ^3/ аппроксимацией, равна 16 /л. разряд выходной суммы равны 1 (показаны жир ным шрифтом). Число таких сумм равно пре Составляем таблицу, характеризующую пре обладания для линейных сумм подстановки (таб лица 18.5). обладание для них равно ± /g. Линейные суммы, соответствующие элементу a,j таблицы, будем обозначать [/,/]. ж 1 jr^ г , ^^-- _- > Lr ■- t Таблица 18.5 Матрица разностей при линейном анализе шифра (длинный блок) JH Определим вес линейной суммы (с ненулевым преобладанием) как число входящих в нее слагаемых/'* Распределение линейных сумм с преобладанием +V4 по весам имеет вид: Составляем характеристику из 5'-5локов, актив ные разряды которых используются в линейной аппроксимации. Длина характеристики, как и в дифференциальном методе, равна шести циклам; выходы активных разрядов ^'-блоков предыдущего цикла шифрования (с учетом перестановки и сдвига) должны быть входами активных разрядов ^'-блоков последующего цикла шифрования. Для снижения сложности криптоанализа общее число б'-блоков в характеристике должно быть минимальным. Использование в характери стике линейных сумм веса 3, обладающих наи 14 Вес линейной суммы характеризует стойкость большей абсолютной величиной преобладания ведет к резкому возрастанию числа активных блоков, как показано на рисунке 18.2. Поэтому шифра к линейному криптоанализу. В этом смысле на всех циклах, кроме, может быть, первого и последнего, в характеристике должны использо- 14, для минимальный вес линейной суммы подстановки аналогичен минимальному весу дифференциала подста- ваться линейные суммы веса 2. Отсюда т новки, то есть коэффициенту диффузии. итоговое преобладание составит +2 а
416 30 известных бло 5 вскрытия ключа потребуется ков открытого и зашифрованного текста Предположим, что в характеристике линейная сумма 5'-блока первого цикла содержит единственный выходной разряд и имеет преобладание +V4, линейные суммы ^'-блоков циклов 2-5 содержат по одному входному и одному выходному разряду и имеют преобладание ±/8, а линейная сумма 5'-блока шестого цикла содержит единственный входной разряд и имеет преобла дание ± U- Тогда абсолютная величина итогового преобладания равна £ 5Л CUXkKl 4 6 Таким образом, в характеристике на циклах желательно по возможности использовать линейные суммы веса 2. Поскольку 5'-блок обла дает суммами веса 2 с ненулевым преобладанием для каждого входного разряда, то существование требуемой характеристики не вызывает сом1чений. Перенумеруем 5'-блоки на /-м цикле от 8ц до . Обозначим линейные суммы блока S,u ис- пользующиеся в характеристике, через 5',^[/, т], где I и т —- наборы соответственно входных и выходных переменных, входящие в линейную сумму и представленные числами. Пример искомой характеристики с положительным преобладанием: Для составления линейного равенства на основании только этой характеристики требуется £~^ = 2^^ известных блоков открытого и зашифрованного текста. Сложность вскрытия ключа равна примерно 32 Однако объем текстов можно сократить, если воспользоваться несколькими характеристиками, имеющими одинаковые входы и выходы (линейные равенства могут выполняться в нескольких различных вариантах). Сложность вскрытия ключа аналогичного 16- равна Этот пример показывает, что в разрядного шифра линейным методом На сложность линейного метода могут замет но влиять следующие обстоятельства. Линейные аппроксимации подстановки иногда не являются независимыми. Это может приводить к увеличению или снижению абсолютной величины преобладания, оцененной согласно лемме Мацуи, и к тому, что стойкость шифра будет отличаться от теоретической оценки. Может существовать не единственная характеристика с наибольшим преобладанием, а несколько характеристик, в том числе с общими входами и выходами. Это увеличивает итоговое преобладание. Использование «пучка» характеристик позволяет сократить требуемый для вскрытия ключа объем открытых и соответствующих зашифрованных текстов. Очевидно, что вместо линейной аппроксимации над р2 можно использовать аффинную аппроксимацию над произвольным коммутативным кольцом (при этом необходимо корректно обходиться с делителями нуля) [3]. Например для шифра IDEA (см. п. 19.5) может оказаться перспективным линейный криптоанализ над кольцом Z/2* Ж или над Ж/(2 16 4-l)Z Сходство линейного и дифференциального методов позволяет их объединить, используя преобладания линейных сумм для разностей текстов (при условии, что активные 5'-блоки в характеристике совпадают). Это сделано в дифференциально-линейном методе криптоанализа [20], который требует подобранных открытых текстов. Такой метод может быть несколько эффективнее, чем чисто линейный, поскольку можно ослаб1тгь влияние блоков, использующихся на первых циклах. Поскольку на кал<дом цикле в характеристику входит хотя бы один 5'-блок, в общем случае стойкость шифра к линейному методу растет экспоненциально с рос1Х)м числа циклов шифрования. Поэтому почти каждый шифр (за исключением вырожденных случаев) можно сделать гарантированно стойким по отношению к линейному методу 18.5. Анализ степенных шифров методом сдвига примерно 2"'. Этот пример показывает, что в Этот метод криптоанализа, опубликованный подстановочно-перестановочных шифрах слож- А. Бирюковым и Д.Вагнером в 1999 г. [10], ос- ность определяется не только преобладаниями, нован на сдвиге процесса шифрования на один или несколько циклов («slide attack»)*^ по анало- но и весом линейных сумм гии с методом списка ключей 15 Минимизация веса линейных сумм позволяет минимизировать число iS-блоков. Вопрос существования такой характеристики не рассматривается. 16 Перевод слова slide как сдвиг представляется более подходящим по сути метода, чем буквальный перевод.
417 Сложность дифференциального и линейного подавляющее большинство ложных пар. Для ос методов криптоанализа возрастает с ростом чис- тавшихся пар можно выполнять более подроб ла циклов шифрования (см. п. 18.2). А поскольку ную проверку способом (18.5.1). Аналогично можно вьтолнять анализ некото многие современные шифры имеют большое число циклов шифрования (RC6 — 20 циклов, рых других шифров, например, шифров с двумя MARS 32 цикла, CAST— 48 циклов) 5 пред чередующимися ключами: на нечетных циклах ставляют интерес методы криптоанализа, слож используется первый ключ, на четных второй ность которых не зависит (с точностью до поли- [10]. Такой шифр является степенным относи нома) от числа циклов шифрования. Криптоана- тельно пары циклов шифрования. В этом случае ЛИЗ методом сдвига удовлетворяет указанному вскрытие ключа методом сдвига осуществляется требованию. Предположим 5 ЧТО шифр так же, как и для обычного степенного шифра, является степей- но для двух первых циклов. Данное рассуждение ным^ то есть все г циклов шифрования реализуют может быть обобщено на случай трех и более одинаковые подстановки. Обозначим через х ?-1 чередующихся ключей. вход г'-го цикла шифрования, х, Fix i-\ где F оператор шифрования на одном цикле. На практике список ключей, используемых на X г ЕХхоУ Предположим, что ключ шифрования различных циклах шифрования, делается не яегковскрыть по известнымx,-i их,. вполне периодическим, но и не очень сложным. рассматриваемом методе ишутся такие па- Известны разновидности метода сдвига — сдвиг ры открытых и зашифрованных текстов (хо, х^), с кручением (sliding with а twist) и сдвиг с допол- (хо', х/), что хо' = xi (открытый текст второй пары пением (complementation slide) [10, 15], что дела- совпадает с результатом зашифрования на одном ет этот метод применимым для более широкого цикле открытого текста первой пары). Тогда X f г Xf^-\. Согласно парадоксу дней рождения. если число пар открытых и зашифрованных тек стов равно 0(2"^^), то такие пары найдутся с ве класса шифров. Сдвиг с дополнением используется в том слу цикловые ключи повторяются, напри чае, когда в роятностью 0(\). Для фейстелевых шифров, которых обработка текстов ведется половинами пар открытых и замер ? с периодом 2. Предыдущий вариант атаки блока, нужно знать 0{2^^^ шифрованных текстов. Если для вскрытия ключа требуется несколько блоков открытого и зашиф- предусматривает сдвиг на два цикла шифрования, что усложняет вскрытие ключа, так как в случае феистелева шифра требуется и/4 Ф 5 а не рованного текста, то соответственно нужно наи блоков текста. Данный вариант позволяет обойтись сдвигом на один цикл. Это значительно ти несколько указанных пар (это не меняет сокращает требуемый объем статистики для асимптотическую емкостную сложность). Как феистелева шифра, а также упрощает распозна только такие пары найдены, вскрытие ключа од- вание случая сдвига (случая равенств (18.5.1)). ного цикла легко выполняется с использованием пары (хо, хо')- Пусть фейстелев шифр использует операцию поразрядного сложения с ключом ko||ki по мо- Таким образом, для быстрого вскрытия ключа дулю 2, то есть перед зашифрованием с помо нужно уметь находить указанные пары. Их поиск щью цикловой функции шифрования F полублок выполняется путем проверки одновременного выполнения равенств X 1 X о X г F(x, F(x складывается с ключом ко или ki (ключи ко и чередуются). Рассмотрим зашифрование двух блоков (х' X г (18.5.1) и и' II и") на первых четырех циклах, где блок " «похож» на результат зашифрования бло- U U ка X t X tf 1 для одного и того же ключа и сортировки тек через на первом цикле. Обозначим ко © а результат зашифрования указанных стов в соответствии с этим признаком. При этом блоков на четырех циклах через нет необходимости просматривать все пары тек- соответственно. Если t II у " и V' IIV ff стов (такой просмотр имеет переборную слож ность), достаточно отфильтровать большую до лю заведомо неподходящих пар (возможно, несколько приемов). Отметим, что для фейстеле U / х" е к; в и" = х' е F(ko © X // )©к. (18.5.2) ва шифра отбраковка таких пар выполняется то после четвертого цикла с учетом равенства особенно легко: достаточно сравнить левые полублоки открытых и зашифрованных текстов одной пары с соответствующими правыми полублоками другой пары. Такой фильтр отсеивает 1 @ ко получим V f ft ©к: V ff у' е яко е у") е к (18.5.3)
418 Аналогичные равенства будут справедливы подстановки и линейные суммы с наибольшим после 12,..., 4т циклов шифрования для преобладанием должны иметь по возможности т > 2. Поскольку обычно число циклов шифро- большой вес. Желательно, чтобы дифференциа вания кратно четырем, такие же равенства будут лы веса 2 имели нулевую вероятность, а линей справедливы и для шифртекстов. ные суммы веса минимальную абсолютную Будем говорить, что пара открытых текстов х, х' величину преобладания (или наоборот: имеет сдвинутую разность d, если F(x) © х' = d. Таким образом, в ходе шифрования сдвинутая разность (к) повторяется с периодом 4. Криптоанализ такого шифра на основе известных открытых текстов и соответствующих шифртекстов заключается в выявлении пар текстов веса лы веса суммы нулевое преобладание, а дифференциа- минимальную вероятность). Если перемешивающие свойства шифра в значитель НОИ степени определяются переносами при ело жении (как, например. в ОСТ 28147-89), то х", и' и") с указанным свойством. Согласно парадоксу дней рождения такие пары с большой вероятностью могут быть выявлены на объеме статистики по- подстановка должна переводить слова веса О или в слова большего веса. Группа аффинных преобразований w-мерных векторов содержит подгруппу элементы ко рядка /7/2 торой соответствуют перестановке разрядов век тора и сложению его с константой. Согласно Ситуация, когда сдвинутая разность текстов п. 18.1 на нелинейность подстановки не влияют равна сдвинутой разности цикловых ключей, аффинные преобразования, примененные к ее может быть эффективно распознана. Для этого входу и выходу. На коэффициент диффузии под необходимо проверить совместность систем становки не влияют операции из подгруппы уравнений (18.5.2) и (18.5.3) для открытых тек- аффинных преобразований, примененные стов и соответствующих шифртекстов. А КО входу и выходу подстановки. Произвольные аф После нахождения указанной пары текстов финные преобразования могут изменять коэф ключ ко может быть вскрыт решением второго фициент диффузии. Аффинное преобразование уравнения в (18.5.2) для одиночного цикла шиф- входа (выхода) подстановки эквивалентно умно- рования (предполагается, что функция F являет- жению ее слева (справа) на подстановку, опреде- ся криптографически слабой и вскрытие ключа ляемую указанным аффинным преобразованием. для нее выполняется легко), затем ключ ki опре- Такие преобразования приводят к перестановке деляется решением первого уравнения в (18.5.2). строк и столбцов матрицы XOR-дифференциа- Для противостояния методу сдвига шифр не лов. Поэтому аффинные преобразования входа и должен быть степенным. Этого можно избежать, выхода изменяют вид этих дифференциалов, но если на разных циклах выбирать цикловые клю- сохраняют значение вероятности. чи по нетривиальному закону или изменять Назовем подстановку экстремальной^ если уравнения шифрования от цикла к циклу (на- она: пример, ввести зависящую от номера цикла не рестановку или подстановку). имеет минимально возможную абсолютную 18.6. Генерация экстремальных подстановок для шифров величину преобладания линейных сумм; имеет минимально возможную вероятность наиболее вероятных дифференциалов. 17 Умножение экстремальной подстановки спра Некоторые шифры, например, ГОСТ 28147-89, ва и слева на аффинные подстановки дает экстре- используют подстановки, которые не являются мальную подстановку. Умножение подстановки фиксированными. Для того чтобы шифр имел справа и слева на группу г а не меняет вероятно- максимальную стойкость к линейному и диффе- сти дифференциалов данного веса и абсолютной ренциальному методам криптоанализа, подста- величины преобладания линейных сумм данного новка должна обеспечивать минимальную абсо- веса. Поскольку умножение входа и выхода экс- лютную величину преобладания линейных сумм тремальнои подстановки на элементы группы и минимальную вероятность наиболее вероятных дает экстремальную подстановку (при этом со дифференциалов. Это обусловливает актуаль- храняются вероятности дифференциалов веса и ность задачи выбора подстановок, повышающих стойкость шифра. 17 Желательно также, чтобы каждая булева функция, задающая подстановку, существенно зависела от всех входных переменных. Кроме того, по результатам криптоанализа шифра на подстановку могут на- Если диффузия шифра определяется подста- кладываться дополнительные требования (см., напри- 18.6.1. Экстремальные подстановки новкой, то наиболее вероятные дифференциалы мер, п. 19.6.1).
419 абсолютные величины преобладании линейных незаполненной левой части таблицы долж сумм веса 2), то множество экстремальных под- но быть единственное нулевое значение. Пока становок можно разбить на классы. При этом экс- жем, что обратимой аффинной заменой перемен и тремальные подстановки эквивалентными, если S=ATB, где А, будут А ных таблицу можно привести к виду А По этому класс г^-эквивалентных подстановок мож но задать подстановкой, переводящей О в 0. X 1 X 2 18.6.2. Булевы функции для экстремальных подстановок X 2 X 4 ■ох: _ <^ Iv X 4 X 4 Рассмотрим нелинейные свойства сбалансированных четырехразрядных булевых функций. X 3 X 3 X 3 Для удобства будем рассматривать булевы Для этого покажем, что можно перевести еди функции с точностью до аффинной эквивалент- ничное значение в таблице истинности либо в ности. Оказывается, что число аффинно неэкви- точку (О, 1, L 1), либо в to4iw (О, О, 1, 1), то есть валентных булевых функции четырех перемен- что существует аффинная подстановка и такая. ных {xi, ...,Х4} невелико. Так, по определению что 7t(xi все аффинные функции аффинно эквивалентны, и 5 5 ,*) С^ь * * * 5 ? ? л(1 ? ? ол. 5 выполняется только одно из поэтому любую аффинную функцию можно за- n(0^d,e,g) двух условии 5 5 5 или 7t(0, J, е, g) ? 0,1 5 дать представителем у Xi. Поскольку четырехразрядная подстановка и сохраняет неподвижнь[м значение хь то достаточно Теорема 18.6Л. Множество сбалансирован- рассмотреть аффинную подстановку от трех переменных: 7t(x2, хз, Х4). По второму СВОЙСТВУ име- ных булевых функций с нелинейностью 2 представляется функцией /= Х] © Х2Х3Х4 с точностью до аффинной эквивалентности. Доказательство. Существует аффинная буем: о. пО, ? о. ? ? то 7t(0, J, е, g) Поэтому (О, если (d,e,g) Если 5 е 5 g)^ 5 5 ТО возможны семь случаев: лева функция /а, отличающаяся от / только на двух наборах аргументов. С помощью аффинной замены переменных можно получить Уо = Х1. учетом такой замены функция / принимает зна чение О в точности на одном из наборов вида , иначе она не будет сбалансированной. а Тогда с помощью обратимой аффинной замены переменных можно сделать так, что функция / будет принимать значение О для заданного набо . Покажем, что существует обрати ра мая аффинная подстановка тг, которая переводит xi в Х] и заданный набор (1, а, Ь, с) в (1, 1, 1, 1). Аффинной подстановкой, сохраняющей неподвижным аргумент хь является, например, единичная подстановка. Такие аффинные подстановки образуют подгруппу в группе аффинных подстановок. Пример искомой аффинной подстанов- каждом из этих случаев имеем 7t(l, 1,1) (1, 1,1, 1). Таким образом, каждую сбаланси рованную функцию с нелинейностью 2 можно свести к одной из двух функций: 1 Х] w Х2Х3Х4 ки подстановка (^ь Х2©а@ 5 Хз®Ь@ Х4®с@ 1). Таким образом, можно рассматривать булеву функцию с таблицей истинности: или 2 Х] @ ХзХ4(Х1Х2 Ф (1 @ Xi)(l © Х2)). X 1 X 1 X 2 X 2 Теперь покажем, что эти две булевы функции аффинно эквивалентны. Раскроем скобки X 4 функции /2 5 получим J^ =Xi © (1 © Х| © X2)r3X4. Дс лаем обратимую аффинную замену переменных X 4 TtfX], Х25 Х35 Х4) (Xi 5 Ф Xi © Х2, Х35 Х4) и получаем формулу для/]. X 4 Хз Хз Xq Теорема 18.6-2. Существуют ровно две сба лансированные аффинно неэквивалентные буле
420 вы функции с нелинейностью 4: 1 Хл © Х2Хъ и 2 Х] @ Хз © Х1Х3 © Х2Х3 © Х3Х4 © Х1Х2Х3. Доказательство. Выбираем аффинную ап Если (О, а, е, g-) = (О, О, 1, 1), то канонический представитель имеет вид Х] © Х2Х3. Xi. помощью ли проксимацию ^(хь хг, Хз, Х4) аффинной замены переменных хг, хз, Х4 делаем Х1©Х2©хз© Предположим, что (О, 4 е^ g) ^ (О, О, 1, 1). Ес- Х] © Х? © Хз © Х4, то. заменяя Х2 на или Xi©X2©X4© получаем * * * так, что f(l^ двух точек:/(1, Ь 1, 1) всюду, за исключением и/(1. 5 Воз X 1 X 1 X 2 X 2 X 4 X 4 X 4 Хо Хз X 3 незаполненной левой части таблицы стоят две единицы, остальные элементы нули. Рассмотрим варианты приведения двух ОС тавшихся единичных значений булевой функции к стандартным наборам аргументов. Соответствующая обратимая аффинная замена переменных должна сохранять неподвижными элемент Хь вектор (1, 1, 1, 1) и вектор (1, О, 1, 1) или переводить эти векторы друг в друга. Пусть единичные элементы в левой части таблицы стоят на позициях (О, а, Z), с) и (О, J, е, g). Переведем вектор (О, а, Z), с) в (О, 1, 1, 1). Если Z? = О, то, заменяя хз на xi © Хз © 1, получаем Если (О, а, 6, с) (О, 1, 1, 1) или (О, а, Z), с) (0,0, 1), то вы полняем тождественное преобразование или за меняем хг на 1 © хг. Если (0. а, Z), с) (0,1 ? 1,0) или (О, а, Ь, (О, О, 1, 0), то заменяем Х4 на xi © Х4 © 1 И при необходимости заменяем xj на © Х2. Таблица примет вид X 1 X 1 X 2 X 2 X 4 X 4 X 4 X 3 X 3 X 3 Здесь в незаполненной левой части осталась единственная единица. Для нахождения канонических представителей аффинная замена переменных должна сохранять неподвижными элемеш XI и (1,1,1,1) ? (1,0 (или переводить их друг в Если е то заменяя хз на Х2 © хз © э получаем е можность такой аффинной подстановки указана только в теореме 18.6.1. Получаем таблицу истинносте: функции: две . Следовательно, существуют аффинно неэквивалентные булевы Xi © Х2Х3, задаваемая таблицей X 1 X 1 X 2 X 2 X 4 X 4 X 4 X 3 X 3 X 3 Х] © Хз © XiX3 © Х2Х3 © Х3Х4 © Х1Х2Х3 мая таблицей ? задавае X 1 X 1 X 2 X 2 X 4 X 4 X 4 X 3 X 3 X 3 I Экстремальная подстановка может содержать только булевы функции, определенные теоремой 18.6.2. Эксперимент показывает, что если одна из булевых функций подстановки имеет вид Х] © Х2Х3, то невозможно подобрать три другие булевы функции так, чтобы они задавали подстановку и имели нелинейность 4. Таким образом, экстремальные подстановки можно строить только с использованием булевых функций, аффинно эквивалентных функции Xi © Х2Х3 © Х1Х3Х4 © Х1Х2Х3. 18.6.3. Примеры экстремальных подстановок Приведем примеры экстремальных подстано вок. 16 • 4! Поскольку 3- 7 порядок группы А равен 5 ТО каждая экстремальная подста новка задает от 7 ДО 2 14 подстановок из соответствующего класса. Верхняя оценка полу векторы чается, если среди подстановок ASB при А. А нет одинаковых, нижняя оценка если друга), а также сохранять неподвижным вектор для каждой подстановки А ? или переводить друг в друга векторы А и экстремальной 1)и(0,б/,е ? подстановки такая, что AS существует подстановка А SB,
421 Каждая экстремальная подстановка также по сков по столбцам. Перечисление зволяет получить широкий класс подстановок умножением их справа и слева на вспомогательные аффинные подстановки, не принадлежащие группе Ра- Выбором указанных аффинных подстано- юк можно уменьшить число дифференциалов веса 2 с ненулевой вероятностью и число линей- подстановки могут быть матриц, удовлетворяющих парам списков с учетом действия группы Р, не составляет большого труда. Например, у класса, соответствующего списку строк (2, 1, 1, 1), есть единствен ныи представитель: ч к ных сумм веса рекомендованы Такие для стандарта ГОСТ 28147-89 (см. п. 19.6). При этом желательно выбрать вспомогательные аффинные подстановки так, чтхэбы входные слова веса или переводились в слова t V большего веса, а взвешенная сумма дифферен V. циалов веса z с учетом их вероятностей и линейных сумм веса 2 с учетом абсолютной величины их преобладания была минимальна. Заметим, что при сложении над F2 входа или выхода подстановки с произвольным вектором распределение вероятностей дифференциалов и линейных сумм не меняется. Поэтому можно ог- Аналогично скам строк 5 классы, соответствующие спи и (4, 1, 1, 1), имеют по од ному представителю. Обозначим не л и не ино сть по дета новки ^ г(5) NL(5) максимальную абсолютную велн чину преобладания US) коэффициент диф раничиться рассмотрением линейных подстано фузии, PJ^S) — вероятность наиболее вероятного вок из группы невырожденных матриц СЬДРг)- Поиск указанных линейных подстановок можно ускорить с учетом следующих соображении . Если искомая линейная подстановка дифференциала. Для четырехразрядной подстановки выполняется неравенство NL(iS)<4 [14]. При этом равенство достигается только тогда, когда нелинейность кал<дой булевой функции, задающей подстановку, равна 4. (невырожденная матрица). группа мат риц перестановки, то PL и LP — тоже иско мые линейные подстановки. Поэтому поиск матрицы Пример 18.6.1. Экстремальные подстановки. . Подстановка i'l - (О, 13, 11, 8, 3, 6, 4, 1, 15, 5 ? 14, 10, 12, можно вести в пересечении пра- NL(*Si) = 4, г(8\) 1 из US{) примеров гл. 17, 18. PASx) диф вых и левых смежных классов GL группы ференциалы веса 2 являются невозможными, од 4 2 ПО подгруппе Р, содержащих еди ничныи элемент. 18 Умножение матрицы справа и слева на группу не меняет число единиц как в нако существуют линейные суммы веса i с пре обладанием ± k (см. пример 18.4.4). Эта подстановка обеспечивает максимальную стойкость подстановочно-перестановочных шифров к диф- столбцах, так и в строках. Поэтому элементы ференциальному методу анализа. смежного класса можно задать парой спи сков: единиц по строкам и единиц по столб Подстановка, заданная над конечным по цам. Поскольку L отлична от матрицы перестановки и невырождена, множество списков единиц по строкам и по столбцам имеет вид: лем уравнением Sji^ F]6, причем 5*2(0) X 1 (mod / + / + 1) в поле табличном виде 1,9, 14,13, 11,7,6, 15,2, 12, 5, 10,4, 3,8). Здесь N US г) ? ? 1); ? ? 2,2, 2,2, ? (3,1,1,1); (3,3,1,1); (3, 2, 2,1); (4,3,2,1); (4,3,3,1); (3,2,2,2); (4, (4,2, (3, 1,1); ,1); Л); (2,2, 1,1); (4, 3, 1,1); (3, 3, 3,1); 2 4, £(^2) 1 Р<15г) 1 /л. Отметим ? что 2 (X) X единичное отображение (по дета новки с таким свойством называются инволю (3,3,2,2); (3,3,3,2); (4, ? 2,2); (4, 3, 3, 2); циями). Переход к заданию поля Fi6 другим неприводимым полиномом дает подстановки, аф- финно эквивалентные подстановке Sj- Эта экстремальная подстановка имеет дифференциалы веса с ненулевой вероятностью и поэтому не является (3,3, 3, 3); (4, 3, 3, 3). Здесь каледое из четырех чисел списка означает число единичных раз рядов в соответствующей строке (столбце), перестановочных шифров. Из свойства Одному и тому же списку по строкам может и того, что при переходе к обратной подстанов идеальной для подстановочно 1 соответствовать несколько различных спи ке матрица дифференциалов транспонированную, следует. заменяется на что 18 Здесь удобно было бы рассмотреть фактор- симметрической матрицей 2 обладает дифференциалов. группу СЬДРз)/^. Однако GL4(F2) не имеет нормаль- Аналогично можно показать, что матрица пре ных подгрупп [2], поэтому такой факторгруппы не обладаний для линейных сумм тоже является существует. симметрической. X.- ^ ■
422 1 Дифференциал [1,1] веса 2 имеет вероятность нулевой аргумент перед возведением в степень и. Линейные суммы веса 2 встречаются с преоб- заменяется на -1, а значение функции -1 заменя ладанием ± /g. ется на О. Подстановка, заданная над конечным полем Экстремальная подстановка (О, 1, 2, 4, уравнением д^зСх) ^ х' (mod г + / + в поле 16 5 10, 7,9,6, 13, 11, 14, 12, 15) обладает ди причем 5*3 (0) Здесь 3 2 (см. предыдущий ренциалами, вероятность которых не более е- /4. пример). В табличном виде 3 (О, П, 13, 5 14, 12, 5, 8, 3, 15, 2, 4, 10). Имеем Ш.{8г) 5 1 4? Р<15г) 4 Эта экстремальная подста новка имеет дифференциалы веса 2: один диф Среди таких дифференциалов три имеют вес Абсолютная величина преобладания для линейных сумм не превышает /4, но три из них имеют вес " ференциал, обладающий вероятностью /4, и четыре дифференциала, обладающие вероятностью Еще шесть экстремальных подстановок, обла 8 Коэффициент диффузии равен 0. Кроме того, дающих дифференциалами с вероятностью не подстановка оз имеет линейную сумму веса 5 КО более и и линейными суммами с абсолютной торая выполняется с преобладанием 4 Эта же величиной преобладания не более /4, перечисле подстановка может быть задана аналитически ны в таблице 18.6. над другим полем: S/^{х) = х* {тоА \1\ причем -*_v '4 _- т^ 19 Другие показатели степени, отличные от не дают экстремальной подстановки ж . -ж ЦЛ ^ ■ г Таблица 18.6 Экстремальные подстановки, обладающие дифференциалами с вероятностью не более I 4 И линейными суммами с абсолютной величиной преобладания не более 1 4 пЛ ■1> ■J ^ Упражнения к главе 18 -^ ,^- - Предположим, что шифр реализует на одном цикле шифрования операции сложения по модулю 2 и подстановку, заданную форму где нечетное число лой у^кх (mod 2' Покажите, что такой шифр будет нестойким к линейному анализу. Можно ли повысить эффективность линей ного метода, если при составлении линейных сумм двигаться к середине от открытого текста и от зашифрованного текста, по аналогии с решеточным методом? Предложите пример шифра, в котором характеристика, задающая наиболее вероятные дифференциалы, описывается периодической зависимостью. Приведите пример нелинейной подстановки, в которой наиболее вероятный дифференциал неподвижен. Два шифра используют операции сложения с ключом по модулю новку в одну и ту же подста качестве нелинейного перемешивающего оператора и различаются только операторами рассеивания. Первый шифр использует перестановку битов в блоке, а вто- умножение блока как вектора над рои—- умнижснис илика как вскгира над 1Г2 на квадратную матрицу общего вида. Объясните, почему второй шифр в общем случае будет более стойким к линейному и дифференциальному анализу. Приведите пример шифра с нелинейным уравнением шифрования, уязвимого по от-
423 10 11 ношению к линейному методу над кольцом, отличным от F2. Предложите свой вариант подстановки, которая описывается нелинейными уравнениями, но характеризуется большим преобладанием для линейной суммы. Определите коэффициент диффузии для квадратной матрицы размера 2и, содержащей нули на главной диагонали и остальные эле менты единичные. Определите, удовлетворяет ли блок подстановки из примеров гл. 17 требованию строгого лавинного критерия. подстановочно-пере- дифференциалы * что в все Предположим, становочном шифре имеют вероятность О или р. Предложите алго обеспечиваю ритм поиска характеристики. щей максимум вероятности циклового дифференциала. Почему в линейном методе итоговое преобладание умножается на степень двойки (согласно лемме Мацуи), показатель которой пропорционален не числу битов в линейной сумме, а числу ^^-блоков? 12 13 14 15 16 17 свои варианты экстремальных не эквивалентных Предложите подстановок, аффинно подстановкам из примера 18.6 Является ли композиция инволюций инволюцией? Что можно сказать о длинах циклов подстановки, полученной как композиция двух инволюции? Оцените зависимость стойкости шифра к дифференциальному методу от коэффициента диффузии. *Может ли нелинейная подстановка иметь нулевое преобладание сумм веса 2? ^Подстановку как набор полиномов можно для всех линейных записать в проективной форме (см. п. 6.15.5). Назовем эквивалентными подстановки, кото- описываются изоморфными проектив- рые ными полиномами точностью до переста новки элементов {Х,} и {Z/}). Что собой представляет множество классов эквивалентности для симметрической группы? Адаптируйте атаку «бумеранг» к линейному методу. :.. -ь- J^ Литература к главе 18 Ван дер Варден Б.Л. Алгебра. М.: Наука, 1979. Каргополов М.И., Мерзляков Ю.И. Основы теории групп. М.; Наука, 1982. Berson ТА. Differential cryptanalysis mod 2 with applications to MD5 // Advances in Cryptology — EUROCRYPT '92. Lecture Notes in Computer Science. Springer-Verlag. 1993. Vol. 658. P. 71-80. Biham E. New types of cryptanalytic attacks using related keys Advances m Cryptology EUROCRYPT '93. Lecture Notes in Computer Science. Springer-Verlag. 1994. Vol. 765. P. 398-409. Biham E., Biryukov A., Shamir A. Cryptanalysis of Skipjack reduced to 31 rounds using impossible differentials. Technion - Computer Science ment - Technical Report CS0947. 1998 Depart- http:// www.simovits.com/archive/cs0947.pdf. Biham E., Dunkelman O., Keller N. The rectangle attack — — rectanghng the Serpent // Advances m Cryptology — EUROCRYPT 2001. Lecture Notes in Computer Science. Springer-Verlag. 2001. Vol. 2045. P. 340-357. Biham E., Shamir A. Differential cryptanalysis of DES-like cryptosystems Advances in Crypto 1 ogy— CRYPTO'90. Lecture Notes in Computer Science. Springer-Veriag. 1991. Vol. 537. P. 2-21. Biham E., Shamir A. Differential cryptanalysis of FEAL and hash Advances in Cryptology EUROCRYPT'91. Lecture Notes in Computer Sci ence. Springer-Verlag. 1991. Vol. 547. P. 1-16. 10 12 13 14 15 16 Biham E., Shamir A. Differential cryptanalysis of the full 16-round DES // Advances in Cryptology CRYPTO '92. Lecture Notes in Computer Science Springer-Verlag. 1993. Vol. 740. P. 487-496. Biryukov A., Wagner D. Slide attacks // Fast Software Encryption FSE '99. Lecture Notes in Computer Science. Springer-Verlag. 1999. Vol. 1636. P. 245-259. Granboulan L. Flows in differential cryptanalysis of Skipjack // http.V/eprint. iacr.org/ 2001/038/. Harpers C, Kramer G.G., Massey J.L. A generalization of linear cryptanalysis and the applicability of Matsui's piling-up lemma // Advances m Cryptol EUROCRYPT'95. Lecture Notes in Com Vol.921 Science. Sprin ger-Verl ag. 1995. ogy — puter P. 24-38. Heys H.M. A tutorial on linear and differential crypt analysis // http://www.engr.mun.ca/-howard/Research/ Papers/. Heys H.M., Tavares S.E. Substitution-permutation networks resistant to differential and linear cryptanalysis // Journal of Cryptology. 1996. Vol. 9. P. Kelsey Schneier Wagner 19 Key-schedule cryptanalysis of IDEA, G-DES, COST, SAFER, and Triple-DES Advances m Cryptology CRYPTO '96. Lecture Notes in Computer Science. Springer-Veriag. 1996. Vol. 1109. P. 237-251. Knudsen L.R. Truncated and higher order differentials // Fast Software Encryption. Second Interna-
- ^ 17 18 19 20 tional Workshop. Lecture Notes in Computer Sci ence. Springer-Verlag. 1995. Vol. 1008. P. 196-2П. Knudsen L.R., Robshaw M.J.B. Non-linear approxima tions Ш linear cryptanalysis // Advances m Cryptol- — EUROCRYPT '96. Lecture Notes in Computer ogy — Science. Springer-Verlag. 1996. Vol. 1070. P. 224-236. Knudsen L., Rijnmen V. Truncated differentials of IDEA // ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/ knudsen/idea trunc.ps.z. Lai X., Massey J.L., Murphy S. Markov ciphers and differential cryptanalysis // Advances in Cryptology — EUROCRYPT'9 L Lecture Notes in Computer Sci ence. Springer-Verlag. 1991. Vol. 547. P. 17-38. Langford S.K., Hellman M.E Differential-linear cryptanalysis Advances in Cryptology CRYPTO '94. Lecture Notes in Computer Science. Springer-Verlag. 1994. Vol. 839. P. 17-25. 21. Matsui M. Linear cryptanalysis method for DES cipher // Advances in Cryptology — EUROCRYPT '93. Lee- 22 23 24 25 ture Notes in Computer Science. Springer-Verlag. 1994. Vol. 765. P. 386-397. Ohta K., Aoki K. Linear cryptanalysis of the Fast Data Encipherment Algorithm // Advances in Cryp to 1 ogy CRYPTO '94. Lecture Notes in Computer Science. Springer-Verlag. 1994. Vol. 839. P. 12-16. Sebeny J., Zhang X.-M. Highly nonlinear 0 balanced Boolean ftjnctions satisfying string avalanche criterion // Advanced in Cryptology— AUSCRYPT'92. Lecture Notes in Computer Science. Springer-Verlag. 1993. Vol. 7] 8. P. 145 155. Wagner The boomerang attack // Fast Soft^vare Encryption. 6th International workshop, FSE' 99 in Computer Science. Springer Lecture Notes Verlag. 1999. Vol. 1636. P. 156-170. Webster A.F., Tavares S.E. On the design of S-boxes Advances ш Cryptology — CRYPTO '85. Lecture Notes in Computer Science. Springer-Verlag. 1986. Vol. 218. P. 523-534. J ^ ■Ы ■ -E *i- ? =-?''-. ^ f ^'J # r - K>i ■ 1. ^->' - -Л _r. f.: 'f1??-^^ H- =^- ш^ Й
Глава 19. ПРИМЕНЕНИЕ ИТЕРИРОВАННЫХ ШИФРОВ И ХЭШ-ФУНКЦИИ данной главе рассматриваются вопросы применения шифров, а также некоторые популярные отечественные и зарубежные итерированные криптоалгоритмы. Способ описания криптоалгоритмов выбран таким, чтобы лучше просматривалась их алгебраическая структура не удобство программной или аппаратной реали зации). 19.1. Режимы шифрования Под реэюимом шифрования будем понимать способ получения шифртекста из открытого текста или расшифрованного текста из шифртекста с помощью блочного шифра. 19.1.1. Режим простой замены При шифровании в режиме простой замены зарубежной литературе — электронная кодовая книга (electronic codebook, ЕСВ); рис. 19.1) текст разбивается на блоки, каждый из которых шифруется независимо от других на одном и том же X ключе: Жх) при зашифровании. (у) при расшифровании. Таким образом, одинаковые блоки открытого текста переходят в одинаковые блоки зашифрованного текста. По сути, этот режим аналогичен полиалфавитной замене, зависяш;ей от ключа. Например, если длина блока— 64 бита, а длина одной «буквы» в ASKII- кодах — х-г а) Зашифрование б) Расшифрование Рис. 19.1. Режим простой замены Поскольку при шифровании в этом режиме блоки текста шифруются независимо, изменение том числе введение нового или исключение) одного или нескольких блоков шифртекста приводит к изменению соответствующих блоков расшифрованного текста. Поэтому здесь легко можно навязать ложную информацию, если проверка подлинности выполняется по смыслу расшифрованного текста. Соответственно, нарушитель может формировать осмысленные ложные сообщения, составленные грамм. из кусков шифро то же время искажение отдельных битов зашифрованного текста в результате воздействия помех в канале связи приводит к непредсказуемому искажению соответствующих блоков рас- Поэтому для передачи шифрованного текста. информации, зашифрованной в этом режиме, по каналу связи с помехами после зашифрования необходимо использовать корректирующее ко бит, то шифрование в режиме простой дирование замены текста, написанного на естественном язы ке,— — это восьмибуквенная подстановка. Источник открытых текстов часто обладает большой избыточностью. Далеко не все блоки открытого текста являются равновероятными. 19.1.2. Режим гаммирования режиме гаммирования (рис. Это позволяет применять для дешифрования шифрограмм, полученных с помощью режима простой замены, частотный криптоанализ. Возможен также криптоанализ «со словарем», когда составляется словарь из наиболее употребительных открытых и зашифрованных текстов. Поэтому режим простой замены желательно использовать тогда, когда избыточность источника сообщений на уровне блоков невелика (вероятность появления пары одинаковых блоков в течение срока действия ключа пренебрежимо мала), например, при шифровании ключей. 19.2) можно зашифровать текст произвольной длины, даже в один бит. Предположим, что блочный шифр в режиме простой замены реализует подстановку Ek- С помощью ключа к из начального текста 5, называемого синхропосылкой, вырабатывается шифра — гамма псевдослучайная последовательность Z 2 3 {Ей (5), Ей (5), Ef^ (5),...) , то есть отрезок цик да подстановки для начального состояния 5. Уравнение зашифрования имеет вид x©z. уравнение расшифрования X у © Z. Расшиф
426 рование требует знания синхропосылки, которая масштабе времени и передаче по каналу связи с может включаться в состав шифртекста или до- помехами. пускать вычисление на приемной стороне. В за- 19.1.3. Режим I аммирования с обратной связью рубежной литературе режиму гаммирования соответствует режим обратной связи по выходу (output feedback, OFB). Режим гаммироваршя с обратной связью (рис. 19.3) используется для шифрования многоблочных текстов. Под действием различных син- хропосылок одинаковые открытые тексты будут переходить в различные шифрограммы. Поэтому здесь такя^е желательно обеспечить неповторяемость синхропосылки. а) Зашифрование б) Расшифрование Рис 19.2. Режим гаммирования Для обеспечения надежного зашифрования гамма шифра должна иметь большой период. В противном случае различные отрезки открытого текста могут быть зашифрованы одним и тем же отрезком гаммы, и, зная один из отрезков откры того текста, можно легко вычислить остальные, то есть выполнить бесключевое чтение. Случайная подстановка Ek имеет длину цикла а) Зашифрование б) Расшифрование Рис. 19.3. Режим гаммирования с обратной связью в среднем Однако /7-1 если длина блока равна п бит [27] не всегда можно гарантировать. что Этому режиму соответствует режим обратной связи по шифртексту (cipher feedback, CFB), при этом перед зашифрованием (расшифрованием) шифр реализует действительно случайную под- очередного блока осуществляется его цикличе- становку и имеет большую длину цикла. Для ский сдвиг. увеличения длины цикла можно использовать типовые приемы, например, складывать пораз- дит к случайному искажению соответствующего рядно текущий блок гаммы с его порядковым блока гаммы и соответствующих битов расшиф- номером и полученную сумму подавать на вход Искажение одного бита шифрограммы приво шифратора. Шифр DES (см. п. 19.3) допускает подачу на вход шифра т<п бит текущего вектора что ослабляет шифр, поскольку отображение % рованного текста. Поэтому при передаче зашифрованной информации по каналу связи с помехами необходимо использовать корректирующее кодирование. „, .... ^ -^ Z /-I становится необратимым (случайным), а длина цикла гаммы составляет «2"^'^ бит. Повторение синхропосылки по своим последствиям аналогично повторению гаммы. Поэтому вероятность повторения синхропосылки в тече 19.1.4. Режим сцепления блоков Выработка имитовставки режиме сцепления блоков (cipher-block ние времени действия ключа должна быть пре- chaining, СВС) результат зашифрования первого небрежимо мала. В качестве синхропосылки блока открытого текста суммируется по модулю можно использовать код текущего времени или его шифрограмму в режиме простой замены. При шифровании в режиме гаммирования искажение одного бита шифртекста приводит к искажению одного бита расшифрованного текста. с синхропосылкой. На каждом последующем шаге блок у/ шифртекста вычисляется по формуле y/ = £'jt(x/® У/-]). Расшифрование выполняется аналогично (рис. 19.4). Если в зашифрованном тексте поменять Здесь предъявляются менее жесткие требования местами блоки с номерами / и /+ 1, то в к корректирующему кодированию. Поэтому ме тод гаммирования является перспективным при рас шифрованном тексте изменятся блоки с номе рами /, / + ? /+ ? а остальные блоки останутся шифровании речи или изобраясения в реальном без изменений. Это свойство следует непосред
427 ственно из способа сцепления блоков и не зави сит от типа шифра. Действительно, пусть шиф руется многоблочное сообщение о ? ...,Х/) ? торому соответствует шифрограмма (уо, --- ? ко У/) ? где Дх, © у, 1 к оператор зашифрования, и в ней переставлены местами блоки и у^-^1. Обозначим расшифрованный текст для искаженной шифрограммы (uo, ...,U/). Очевид . Для расшифро но, что Un Хп ■ ■ ■? U ^-1 Х^-] ванных блоков с номерами / и далее можно за писать: U } /+1 )®у. х,+, @ у,- ® у 1 1 Дх,+, © у,) © у ,^1 ^-1 ? u,+i 1 (у.) ® У..1 ] £(х, © у ,_1 )©у /+] Х,©У/ 1 ®Уы; Uh^2 н-2) ® У/ х^2 ® У.-Ы ® у.; 1 Дх, н-2 ©у гЫ )®У } U/+3 I /+3 )@у 1+1 1 Дх, +3 ©у /+2 )®У л-2 Х,+з- а) Зашифрование б) Расши фрование Рис. 19.4. Режим спепления блоков Последуюш;ие расшифрованные блоки совпадают с соответствующими блоками открытого текста= Искажение отдельных битов зашифрованного текста приводит к искажению двух блоков шифрограммы: искаженного блока и следующего за ним. Поэтому здесь также необходимо применять корректирующее кодирование шифрования. после за 19.2. Некоторые вопросы применения шифров Блочные шифры могут выполнять следующие защитные функции: обеспечение секретности данных; генерация криптографически стойких псевдослучайных чисел; опознавание участника протокола; контроль подлинности данных; контроль целостности данных; контроль неповторяемости данных. т. Генератор псевдослучайных чисел можно реализовать с помощью шифрования произвольной информации в режиме гаммирования. Защитные функции 3-6 являются вариантами аутентификации и могут быть реализованы только в том случае, если претендент доверяет верификатору. Действительно, если верификатор заявляет, что получил сообщение от претендента, а претендент утверждает, что не посылал этого сообщения, то ясно, что один из них лжет. Однако кто именно обманывает ? ycTanoBtiTb невоз можно— в случае симметричного шифрования оба они обладают одинаковыми возможностями. Симметричные шифры позволяют осуществлять многократную аутенти фикацию ? как диалого вую, так и бездиалоговую. Бездиалоговое опознавание претендента может быть выполнено шифрованием блока некоторой информации, заранее известной верификатору. При этом претендент передает зашифрованное сообщение верификатору. Верификатор проверяет его расшифровывает сообщение и правильность. Для защиты от повторов можно использовать блок открытого текста, состоящий из двух частей: фиксированной и переменной. качестве фиксированной части можно использовать имя претендента и (или) фиксированный код, в качестве переменной части порядковый номер сеанса аутентификации или код текущего времени. Например, в 64-разрядном блоке первые 24 бита блока — фиксированный код, последующие 16 бит— имя претендента, последние 24 бита— код времени. Верификатор, расшифровав сообщение, устанавливает правильность имени и стандарте ГОСТ 28147-89 в режиме сцеп- фиксированного кода и проверяет, что код време ления блоков вырабатывается имитовстав ни, указанный в сообщении, и код ? имеющийся ка отрезок информации фиксированной него, различаются гарант^1рованно мало длины, добавляемый к зашифрованным дан- Диалоговое опознавание не требует защиты ным для обеспечения имитозащиты [1]. Опера- от повторов и может выполняться различными торы Ek (см. рисунок 19.4) при шифровании и протоколами: выработке имитовставки различаются, поэтому 1. Верификатор формирует случайный запрос отмеченный недостаток (возможность переста- и посылает его претенденту. Претендент зашиф- новки блоков в пакете) не характерен для рос- ровывает запрос и возвращает верификатору. сииского стандарта. Ъ.^ у Верификатор расшифровывает принятое сооб
42^ щение и сравнивает с запросом. При совпадении чершем хэш-функции является шифрограмма по- опознавание считается успешным. следнего блока или ее часть. Отметим, что этот 2. Верификатор вырабатывает случайное чис- режим работает только тогда, когда сообщение до, зашифровывает его и посылает претенденту, передается в зашифрованном виде, так как в Претендент расшифровывает сообщение и посы- тивном случае можно переставить местами два лает верификатору. Верификатор сравнивает по- блока открытого текста, и эта перестановка не про лученный текст с первоначальным. При совпаде- будет распознана. НИИ опознавание считается успешным Для защиты от повторов в текст сообщения Верификатор вырабатывает случайное чис- следует включать его порядковый номер для ло, зашифровывает его и посылает открытое данного претендента или код времени отправле- случайное число претенденту. Претендент за- ния. Для этого претендент и верификатор долж- шифровывает это число и возвращает верифика- ны иметь нумераторы сообщений, причем если шифрограмму. Верификатор сравнивает существует несколько претендентов, то нумератору полученное сообщение с вычисленной шифро ция сообщений должна быть индивидуальной граммой. При совпадении опознавание считается для каждого из них, и в сообщение необходимо (идентификатор) претен- успешным. В этом варианте вместо шифра мож- вставлять также имя но использовать ключевую хэш-функцию обратимость не требуется. ее Контроль подлинности и целостности данных осуществляется введением избыточности в открытый или зашифрованный текст. Если избыточность вводится в многоблочный открытый текст, то необходимо исключить возможность нераспознаваемого изменения шифрограммы. Отсюда следует. что избыточность в виде заранее известной верификатору информа ции должна вводиться в последний блок открытого текста. При этом нельзя использовать описанные выше режимы шифрования: необходимо, чтобы изменение любого блока шифрограммы, включая замену, введение новых блоков или их исключение, приводило к непредсказуемому изменению последнего блока расшифрованного текста. Иначе говоря, последний блок расшифрованного текста должен зависеть от каждого блока зашифрованного текста, и эта зависимость при неизвестном ключе должна быть трудновычислимой. В этом случае помогло бы двойное шифрование многоблочного текста: сначала зашифрование в режиме гаммирования с обратной связью, затем выполнение рассеивающего преобразования и повторное зашифрование. В качестве рассеивающего преобразования можно использовать умножение зашифрованного текста как «длинного» вектора на невырожденную матрицу такое, чтобы каждый блок на выходе зависел от каждого блока на входе. Элементами матрицы могут быть не только биты, но и более крупные части блока, например, байты или двухбайтовые слова. Если избыточность вводится в шифртекст, то он должен содержать значение ключевой хэш функции, аргументом которой является откры тыи текст. В качестве хэш-функции можно использовать шифрование в режиме гаммирования с обратной связью на специальном ключе хэши рования, отличном от ключа шифрования. Зна дента. Верификатор проверяет, что номер принятого сообщения больше, чем номер предыдущего сообщения, отправленного данным претендентом. Альтернативный вариант — использовать систему единого времени у претендента и вери фикатора. Причем, если нарушитель может тай но изменить код времени у претендента или ве рификатора, то это позволяет ему задер>1швать информацию, передаваемую претендентом, и эту задержку невозможно выявить. При использовании шифра возникает вопрос о времени жизни ключа. С одной стороны, смена ключей в системе хлопотное занятие, с другой стороны, отсутствие смены ключей может при вести к снижению стойкости ключа по отношению к статистическим методам криптоанализа. Для того чтобы эти методы были неэффективны, ключ нужно менять, не давая нарушителю набрать гл. 18). Чем необходимый объем статистики (см меньше объем информации, зашифро ванной на одном ключе, тем меньше выгоды из влекает нарушитель при вскрытии ключа (пред полагается, что вся шифруемая информация рав ноценна и каждый ее бит имеет конечную цену) Поэтому существует пороговый объем информа ции. зашифрованной на одном ключе, ниже ко торого задача вскрытия ключа становится эко номически невыгодной. Стойкость шифра ? как и пороговый объем информации, меняется во времени. Это обуслов лено следующими обстоятельствами. . Развитие математики и криптоанализа при водит к тому, что стойкость шифра (слож ность математической задачи, положенной в основу безопасности шифра) постоянно сни жается. 2. Производительность вычислительной техни ки увеличивается каждый год примерно в два раза. ..,
429 Специализированные компьютеры, решающие задачу криптоанализа, дешевеют. Почти все итерированные шифры разрабаты- 193. DES DES (Data Enciyption Standard) [29] разрабо ваются так, чтобы первоначально обеспечива- тан в середине 1970-х гг. сотрудником корпора лась переборная сложность вскрытия ключа. При ции IBM Фейстелем и представляет собой этом каждый бит. добавляемый к длине ключа блочный шифр, использующий подстановки 5 пе (при разумных ограничениях на длину) дает уд- рестановки и сложение по модулю 2, с длиной воение сложности. Поэтому скорость падения блока 64 бита и длиной ключа 56 бит.^ Подста- стойкости шифра (то есть снижение логарифма новки и перестановки, используемые в DES ? яв сложности математической времени будем задач и) в течение ляются фиксированными. оценивать в относите ль ных Список цикловых ключей, получаемых из единицах по формуле первоначального ключа, фиксирован и определи s(t, Т) \o%S{T)-\ogS{T + t) t log S{T) r> (19.2.1) ется следующей последовательностью операции: разделение 56-разрядного ключа на два по лублока по 28 бит, со и <^ о ? где S{T) — стойкость в начальный момент вре мени Т. Выраясение (19.2.1) можно интерпрети ровать как снижение первоначальной перебор циклический сдвиг блоков cq и do влево на аГЛ битов, результатом которого являются полублоки С] и J], и далее по индукции НОИ стойкости криптоалгоритма в расчете на один бит ключа. Обычно величина s(L Т) в тече ^7+1 о[/ + ■ Си d н- а[/+1]-4, 1</<]5 ние достаточно большого промежутка времени (число а[/] зависит от номера итерации / и опре- сохраняется примерно постоянной, поэтому ее- деляется соответствующей таблицей). длины 48 5 тественно предположить, что так будет продол жаться и в дальнейшем. Например, для DES (см Цикловый ключ Kj. i r> r> ■5 15 r> бит. используемый на i-м цикле, выбирается по п. 19.3) величина 5(/, ная появлением дифференциального и линейного методов криптоанализа) для достаточно больших основном обусловлен- определенному правилу из конкатенации блоков См ? /н- Рассмотрим основные этапы алгоритма за значений t слабо зависит от / и равна примерно шифрования DES (рис. 19.5). 0,015 год Преобразуем выраясение (19.2.1) к виду log^(r+0 ts{U T))\ogS{T) r> r> ■5 15 выполняет r> откуда S{T^t) sm \-tsim e is(l,7))\nSCn блоку входного текста применяется началь ная перестановка IP. Для каждого цикла / ся операция зашифрования я^г, при которой: 64-разрядный блок разбивается на полу блоки х' и х" по 32 бита; Следовательно, если 5(/, 7) меняется слабо ? то зависимость 5'(Г+ /) для симметричного итерированного шифра или итерированной хэш-функции можно приблю1<:енно описать падаюш;ей экспо- нентои. Некоторые неудачные шифры характеризуют ся повышенной скоростью падения стойкости. целом ? можно по-видимому, для симметричных шифров считать разумной оценку 5(/, 7) »0,015, наиденную для DES. I полублок х" разбивается на 8 тетрад по бита. Каждая тетрада по циклическому закону дополняется крайними 6tiTaMH из соседних тетрад до 6-разрядного слова; полученный 48-разрядный блок суммируется по модулю 2 с 48 битами циклового ключа, биты которого выбираются на каждом цикле специальным образом из 56 бит ключа, а затем разбивается на 8 слов по 6 бит; каждое из полученных на зависимости от аппаратно-программного устройства шифратора периодичность смены предыдущем ключей, определенная по отношению к «идеаль ному» шифру, для статистических методов крип тоанализа может только снижаться. шаге слов 48-разрядного блока поступает на вход одного из восьми фиксированных /^-блоков, который выполняет нелинейную замену наборов 6-разрядных слов тетра дами. При этом два крайних разряда 1 Для задач разложения составного числа и лога 2 Вообще говоря, в DES используется 8-байтный рифмирования в конечном поле (при размере задачи ключ, каждый байт которого состоит из семи битов 10' бит), а также для задачи логарифмирования на фактического ключа, непосредственно используемых восьмой бит служит контрольным би- эллиптическои кривой скорость падения сложности составляет соответственно 0,047; 0,047; « в алгоритме, а том четности остальных семи битов.
430 разрядного слова задают одну из четырех подстановок, на вход которой подаются средние четыре бита 6-разрядного слова. Выходом операции являются выходы восьми четырехразрядных подстановок; полученные 32 бита подвергаются фиксированной перестановке, результатом которой является полублок F/(x" компоненты полублока -F/x" ? суммиру ются по модулю Z с компонентами полублока х', после чего полублоки меняются При расшифровании порядок следования операторов меняется на обратный. Каждый из д^-блоков содержит четыре фикси рованных подстановки из 16 элементов. Эти под становки не всегда являются экстремальными Длина д^-блоков довольно велика— 32 • 16 ■ 2048 бит, поэтому в них теоретически можно было бы встроить потайной ход, который позволил бы разработчику снизить сложность дешифрования (по этому поводу высказывались опасения [23]). 128 булевых функций, задающих подстановки или 4. Соот- местами, то есть (х, F,{x )) преобразуется из л-блоков, имеют нелинейность в (х' © F^x"), х'). блоку текста, полученному после 16 циклов, применяется обратная перестановка IP Результатом является выходной зашифро ванный текст. ветственно ту же нелинейность имеют и подстановки. Примером подстановки с нелинейностью является первая подстановка из блока ^'4: 10 11 12 13 14 12 10 11 15 13 14 Итоговое уравнение зашифрования имеет вид (порядок следования операторов — справа налево): DES IP ^Uf Uf ,nj7№ Использование фиксированной перестановки IP для открытого текста и 1Р~' для шифрограммы не может считаться защитной операцией Цикл 2 Цикл шм\ t*fr*fr*A#k««k # * * Опер атор F/ х" (32 бита) _г. у"(32 бита) -" ■ V ^—■ ^■>'> . 1 ^^-^ ^: -^^-х ',1.. ^ ^ ^Лк Fj2- j^7- — :*^ .^-.ъ^г > _■ ^ ^ L .. « " т Д^. "г- 0*1 Рис 19.5. Схема шифра DES
431 Старший разряд подстановки имеет нелиней- крытый текст перед зашифрованием складывает ность 2. Соответствующая булева функция имеет ся поразрядно по модулю 2 с первым дополни вид: Пусть вход подстановки задан числом Х4 + 2хз + 4x2 + 8xi. Аффинная булева функция Xi © хз © Хл имеет вид: тельным ключом а полученный шифртекст складывается поразрядно по модулю 2 со вторым дополнительным ключом. Вскрытие ключа методом сдвига требует 32_5 и:чвестных открытых и соответствующих зашифрованных текстов, временная сложность составляет 87_5 [11]. DESX используется для шифрования данных в операционной системе WINDOWS 2000. 19.4. FEAL Эти функции различаются в двух позициях и 7/ совпадают с вероятностью S Стойкость DES к линейному методу состав- известных открытых и COOT- [26]. ляет примерно ветствующих зашифрованных тексто в Стойкость к дифференциальному методу не сколько выше, что обусловлено выбором S- блоков: подстановки обладают дифференциалами довольно большого веса, но нелинейность их зачастую равна 2 [7, 9]. Метод списка ключей не позволяет дополнительно снизить стойкость, по Алгоритм FEAL (Fast Data Encipherment Algorithm, рис. 19.6), предложенный японскими криптографами А. Шими1ду и С. Миягучи в 1987 г. [34] как альтернатива DES, ориентирован на разрядный процессор. Длина блока и ключа в FEAL — 64 бита. Обычно число циклов шифрования N варьируется от 4 до 32. Существуют и обобщенные версии алгоритма с более длинным (128-разрядным) ключом и с большим числом циклов. FEAL- Основные операции скольку цикловые ключи выбираются нетриви- 256 сдвиг. сложение по модулю в алгоритме и по модулю ально. DES как фейстелев шифр обладает свой ством дополнения: из равенства ^к(х) еле дует Е-(х). Поэтому перебор ключей можно До начала шифрования из 64-разрядного ключа формируется список цикловых ключей суммарной длины 2iV + 16 байт: Ко,..., /^2л^+]5. к выполнять с точностью до инверсии далее до инверсии произвольного числа разрядов). Эксперименты по исследованию циклового строения отображений, индуцированных различными ключами, показали, что DES не замкнут и не является чистым шифром (то есть смежным классом по замкнутому шифру) [19]. DES обладает коротким ключом. Однако шифрование на двух или на трех ключах не позволяет заметно увеличить стойкость. Например, для вскрытия ключа двойного DES (цикловые ключи шифрования постоянны на первых 16 32 циклах и на вторых 16 циклах, суммарная длина двойного ключа — 96 бит) требуется ных открытых текстов извест и вычислительных операций. Если возможна атака на основе подобранных открытых и зашифрованных текстов, то требуется вычисли- для вскрытия ключа двойного лишь 1 DES подобранных текстов и 17 тельных операций [11]. DES используется для шифрования данных в системе BestCrypt. Попытка устранить недостаток DES, обусловленный малой длиной ключа, при использовании существующих аппаратных средств была предпринята Р. Ривестом [36]. Полученный шифр назвали DESX. В отличие от оригинального DES в DESX введены два дополнительных ключа. От- Зашифрование происходит в три этапа: Входной 64-разрядный блок открытого тек ста суммируется по модулю 2 с восемью бай тами списка ключей. Полученный блок разбивается на два полублока х' и х" по 32 бита. Для каждого цикла выполняется операция зашифрования, при этом каясдый новый 32- разрядный полублок задается уравнением: X 7+2 F,(x 7+1 X /9 / ? ...,N ? где оператор Fj зависит только от двух бай тов списка ключей: К 2f И К 2h- а значение * F,(x * * * где X и 32-разрядные полу блоки, определяется следующим образом: полублок * X разбивается на четыре разрядных слова Хо, Х^ Х^^ Хъ\ вычисляются 8-разрядные слова: SAX, О Хл®К \ 27 ? X 2 Х-.® К 3 27+1 2 О 3 *%( ^15 Х2 5i(X3, Уг\ X 3 К 2/+1 где Sj^a^ о) — циклический сдвиг на два бита влево числа а-^Ъ-^i(mod 256)j" е {0,1}; полублок у представляет собой конкатенацию слов Гп? -м? ^2, -^3. - ^'' *-
432 Блок выходного зашифрованного текста он ределяется сложением по модулю 64- разрядного блока м ? Xt^+i), полученного на последней итерации, с восемью байтами спи ска ключей. При расшифровании порядок выполнения операций меняется на обратный, вид оператора Fi сохраняется. Для анализа 8-циклового FEAL линейным ме>- тодом требуется 2 известных открытых текстов, дифференциальным методом пар подоб ранных открытых текстов ? при этом длительность вскрытия ключа составляет несколько ми нут на персональном компьютере [8, 27]. Цикл 1 Оператор Fi Цикл 2 Цикл ^^mtMnmmMtmmwmtmm «Т«*ЯЯ Пк«П«Я«Я«к«Р Рис. 19.6. Схема 8-циклового шифра FEAL 19.5. IDEA ретный 128-разрядный ключ разбивается на восемь 16-разрядных слов образующих первую Алгоритм шифрования ШЕЛ (International восьмерку цикловых ключей К\,...,К^, затем Data Encryption Algorithm) [24] предложен С. Лай вектор сдвигается циклически на 25 бит влево и и Дж. Месси в 1991 г. и применяется в пакете разбивается на восемь 16-разрядных слов программ Pretty Good Privacy (PGP). IDEA пред- Kg,..., K^^. Далее операции циклического сдвига ставляет собой блочный шифр, в котором 64- и разбиения повторяются до тех пор, пока не бу- разрядные блоки открытого текста последова- дут получены все 52 цикловых ключа. тельно зашифровываются на 128-разрядном Основными операциями алгоритма шифрова _ _ _ /^16 1 1 ключе. Этот шифр не является фейстелевым и ния являются умножение по модулю + удобен для программной реализации на процес- жение по модулю 2 и по модулю 2 . Для того 16 ? сло- сорах с аппаратным умножителем. чтобы умножение по модулю + было обра- Для процедуры зашифрования используются тимой операцией, нулевой сомножитель пятьдесят два 16-разрядных цикловых ключа, сматривается как 2 , а произведение, равное которые получаются следующим образом. Сек- заменяется на 0. рас 16 5
43^ При крытого зашифровании 64-разрядный блок текста разбивается на четыре от 16 ся целочисленное умножение 16-разрядных разрядных подблока Хь -^2, Хз, Х4. На каждом цик слов: (mod ah \е + 2^^А + В, затем вычитание: с Ветвление при вычитании (обу ле используются шесть цикловых ключей. После словленное выполнением неравенства А) восьмого цикла выполняется выходное преобра- приводит к тому, что, измеряя длительность зование, в котором используются четыре цикло- шифрования, можно получить информацию о вых ключа. Итоговые четыре блока уь yj^ у% Уа промежуточных текстах (timing attack). сцепляются и образуют 64-разрядный блок шифр- представляет потенциальную опасность. Это по текста (рис. 19.7). 16 умножение по модулю 2+1 сложение по модулю 2 16 Рис. 19.7. Схема шифра IDEA При расшифровании вьшолняется та же самая последовательность операции, но с другим мно жеством цикловых ключей. Ключи расшифрова ния вырабатываются из ключей зашифрования и ^ о16 . 1 _._._ являются обратными по модулю 2 +1 или про об тивоположными по модулю 2^ . Операцией - ._:^ ^16 _^ _ слов текста и ратной сложению по модулю ключа, является операция сложения с противопо ложным цикловым ключом. Операцией, обратной умножению слов текста и ключа, является операция умножения на обратный цикловый ключ. Произведение с = аЬ (mod 2 + вычисля ется следующим образом. Сначала выполняет этому желательно строить программу шифрования так, чтобы длительность вычислений не зависела от ключа, открытого текста и шифрограммы. настоящее время наилучшим известным алгоритмом вскрытия ключа полной версии IDEA является перебор. Для вскрытия ключа 1 2 циклового шифра требуется стов, а сложность вскрытия равна открытых тек 6 [13] С КО рость падения стойкости IDEA согласно формуле (19.2.1) практически нулевая. Но для этого алгоритма существует перечислимый класс слабых ключей [14]. Анализ IDEA методом продолженных полиномов Жегалкина вызывает сложности, которые. однако. не представляются принципиальными: операции модульного сложения и модульного обращения необходимо представить в виде по линомов Жегалкина. 19.6. ГОСТ 28147-89 Алгоритм блочного шифрования ГОСТ 28147-89 [1] предусматривает три режима шифрования: простои замены, гаммирования и гам- мирования с обратной связью, а также режим выработки имитовставки. Шифр имеет длину блока 64 бита и длину ключа 256 бит. Ключ составлен из восьми 32- разрядных слов jKo, ..., А7- Основные операции — сложение по модулю и ? перестановка, цик лическии сдвиг. При реализации алгоритма зашифрования в режиме простой замены (рис. 19.8) открытый текст разбивается на два полублока х' и х" по 32 бита, к которым применяется оператор циклической итерации F/, i = 0, 1, .,.,31, включающий в себя: 32 суммирование по модулю 2 полублока х с 32 битами ключа; преобразование результата суммирования в блоке подстановки, представляющем собой набор из восьми 4-разрядных подстановок oj, ..., ^8. Каждая из восьми тетрад, поступающих на вход блока подстановки, заменяется в соответствии со своей подстановкой; циклический сдвиг на 11 бит в сторону стар ших битов.
434 Цикл Цикл 2 ^ riri^r«s«^«^«ri^tf ritfriU*^ t Оператор Ft щ%лш ri«F^«F^ %лччш ri r«tfri ^ Цикл 3 2 -•(• »< »« ^ («««FF-tf «<1«* tt»n-t» »« « 0ab(«*-F(«*0« Рис. 19.8. Схема шифра ГОСТ 28147-89 в режиме простой замены Результат циклической итерации Fi{x ft сум Если рассматривать сумму по модулю 7,1 как мируется поразрядно по модулю 2 с полублоком функцию только одного из слагаемых, то два х', полученные полублоки меняются местами, то младших разряда суммы описываются аффин- есть (х', /^/(х")) преобразуется в (х", х' © F,{x tt Всего реализуется 32 цикла, которые разли ными функциями. Если рассматривать сумму по г\Ъ1 л ^ модулю как функцию обоих слагаемы}^ то чаются используемым словом ключа л.,. При за- только младший разряд суммы является аффин шифровании порядок выбора слов ключа еле- ной функцией, а остальные разряды имеют вы дующий: Ао, ^Ь ^25 ^3, ^, ^5, ^5 ^7, Ао, ^Ь ^25 ^3, ^5 ^5, ^6, ^7, Ао5 ^Ь ^2, ^3. ^5 ^5, ^6, ^7 ? ^7, ^6, ^5, ^5 ^35 ^2, ^Ь ^0- сокую нелинейность (/-й разряд — как функция а переменных). Для шифрования данных используются режимы гаммирования и гаммирования с обратной связью. При этом в режиме гаммирования левый и правый полублоки на каждом цикле складываются соответственно по модулю и 32 с константами. Благодаря такому выбору слов, итоговый one Для обеспечения аутентификации сообщений ратор зашифрования не является степенным. При предусмотрен режим выработки ймитовставки расшифровании слова ключа используются в об- (ключевой хэш-функции, аргументом которой ратном порядке. Рассеивающие качества этого является текст, состоящий не менее чем из двух шифра обеспечиваются операторами сложения блоков). Открытый текст зашифровывается по подстановки и шейстелевой ите- схеме, приведенной на рисунке 19.4, при этом в 32 ПО модулю рации. Сложение по модулю можно описать качестве синхропосылки s используется первый полиномами Жегалкина следующим образом Пусть блок к 32 32 32 а а. 1 i-\ I ,b Yb,2 l-\ 9 с с 1 /-1 ^ал-Ъ с i=\ i=l i=\ Обозначим через Pi перенос в /-й разряд. Тогда PlH О ир ah ррентные соотношения с,- ^а^® bj @ pi. открытого текста, а в качестве оператора зашифрование по ГОСТ 28147-89 в режиме простой замены на первых 16 циклах шифрования. Имитовставкой является отрезок полублока шифрограммы, содержащего младшие разряды. При длине ймитовставки в т бит вероятность '" [1]. дли- 1 ®Ьр навязывания ложной информации равна Заметим, что использование ймитовставки /9 где ~з^ - ^^' задают опера- ной более 32 бит за счет присоединения к ней цию сложения по модулю г в виде композиции части старшего полублока ведет к увеличению полиномов Жегалкина. вероятности навязывания ложной информации
435 (при длине имитовставки 64 бита ложную ин формацию можно навязать с вероятностью Шифр ГОСТ 28147-89 используется в паке тах программ Arj, BestCrypt. 19.6.1. Стойкость шифра ГОСТ 28147-89 Число публикаций с результатами криптоанализа шифра ГОСТ 28147-89 в отличие от DES невелико. На сегодняшний день не опубликованы методы, снижающие стойкость ГОСТ 28147-89 по сравнению с перебором. В отдельных публика циях исследуется стойкость искаженного шифра (при использовании «слабых» блоков подстановки, уменьшенном числе циклов шифрования, за- ^"^ поразрядным сло- мене сложения по модулю жением по модулю 2 и т. п.) [11, 21 ]. Линейный и дифференциальный методы криптоанализа требуют недостижимого объема открытых и зашиф- 64 рованных текстов, который превышает число всевозможных блоков открытого текста. Атака на основе списка ключей на 20-цикловый ГОСТ 28147-89 (взяты промежуточные 20 циклов, для которых список ключей, начинающийся с jKj, обладает центральной симметрией) требует 2^^ известных текстов и обладает сложностью 2^ [21]. По-видимому, этот подход не годится для 32-циклового варианта. Существуют классы ключей. при которых ГОСТ 28147--89 становится степенным шифром: это ключи, определяемые равенствами Kq Къ Ка. к Ks^K чей равен 3 = К4. Период повторения клю- или 4. Для степенных шифров возможен анализ методом сдвига на один период чередования ключей [11, 12]. Однако эти равенства эффективно проверяемы только при достаточно л4алом периоде повторения ключей (1 или 2) и при г\33 _ ._ _____ наличии примерно открьп'ых и соответствую щих зашифрованных текстов. Это обстоятельство затрудняет использование свойства периодичности на практике. Кроме того, вероятность периодического ключа пренебрежимо мала. Можно утверждать, что ГОСТ 28147-89 является одним из лучших шифров не только в части стойкости, но и в части скорости ее падения. ГОСТ 28147-89 обладает обобщенным свойством дополнения. Для задания этого свойства достаточно описать коллизии, возникающие при сложении с ключом. Пусть X отображение шифруемых полублоков, соответствующее полнению, ф^^— отображение ключа, F— до ЦИК ловая функция шифрования, ху — левый полу блок, Х2 — правый полублок. Свойство дополне имя определяется равенством: ф^Х1 е F(X2 + к)) X (х, © РШх2) + ЫкЖ Сокращая на обратимые операторы получаем условие автоморфизма шифра: X и F Xj-^ к X (хг) + Ц)к(к) (mod 2 32 частности, этому условию удовлетворяют оператор (mod 2^^^ ы X (х) х + 2 31 (mod 1 32 ), 4>f<(k) к + 2 31 , означающие инверсию старшего бита в слове ключа и полублоке. Перемешивающие и рассеивающие свойства шифра в значительной мере определяются переносами при сложении по модулю Использо вание разреженных открытых текстов в сочета НИИ с разреженными ключами позволяет осла бить влияние переносов, если подстановка со храняет свойство разреженности. Это экспери ментально подтверждается результатами анализа к методам, описанным в 1 J Аналогичная стойкости шифра пп. 17.6, 17.7 (см. также работу ситуация возникает, если ключ и открытые тексты состоят почти из одних единиц, а подстановки сохраняют свойство «разреженности по нулям». Для повышения стойкости шифра можно рекомендовать следующие меры. Все подстановки блока подстановок ГОСТ 28147-89 должны обеспечивать малую вероятность наиболее веро ятн ых дифференциалов и малую вероятность выполнения линейных равенств (см. п. 18.4) Пусть TV/J — множество тетрад веса /' или у. Каж дое из требований: ^(tVoi) {tvoj},5'(tVo, 1 Ь^ъл), S(W3, 4 {>Voj},5'(tv3 4) {TV3. 4 должно выполняться хотя бы для одной подста новки S из блока подстановок. 19.6.2. Стойкость шифра ГОСТ 28147-89 при наличии у нарушителя лабораторных возможностей Предположим, что ГОСТ 28147-89 реализован программно на персональном компьютере и обработка ведется 32-разрядными словами действительности разрядность не имеет принци пиального значения). Пусть нарушитель, обла дающий лабораторными возможностями, может подавать произвольные тексты для зашифрования, знает, как работает программа зашифрования на данном процессоре, и имеет специализированную аппаратуру, позволяющую определить хэммингов вес операнда (результата) на данном такте работы процессора.^ г х---. 4 Поскольку переключение логического элемента компьютера с на и с на О происходит с раз11ыми скоростями, то такая аппаратура представляется технически реализуемой. Для выделения сигналов из шума можно использовать несколько повторов одной и той же программы
436 Вскрытие ключа может выполняться следую- ритм с переменной длиной блока (32, 64 или 128 щим образом. Нарушитель поразрядно подбира- бит), переменным размером ключа (от О до 255 ет полублок х" открытого текста так, чтобы на байт) и переменным числом циклов (от О до 255). первом цикле шифрования вес результата на вы Из байтного 255) ключа KS форми ходе блока подстановки, измеряемый аппарату- руется список цикловых ключей Ао, ..., А2;?+ь где — число циклов, а размер W слова Ki может рой, был минимальным (нулевым или близким к нулю). Затем он поразрядно подбирает полублок быть 16, 32 или 64 бита. При построении списка f X или X ff открытого текста так, чтобы на втором ключей выполняются следующие операции: цикле вес результата на выходе блока подста новки был минимальным, и т. д. результате таких действии нарушитель мо жет (приближенно) определить ключ. Действи тельно, пусть jc" — значение полублока х", обес печивающее нулевой вес на выходе блока подстановки (5ь ...,^8) на первом цикле шифрова- — вектор на ния. Пусть Z № (0),..., 5'8 (0)) входе блока подстановки, которому в алгоритме шифрования соответствует целое число z. Тогда первое слово К (mod 2 32 ключа определяется как Аналогично можно найти и последующие слова ключа. результате возможных ошибок измерения веса нарушитель вычисляет не истинное значение ключа, а некоторое приближение к нему, поэтому на заключительном этапе криптоанализа требуется уточнить истинное значение ключа вблизи найденного приближения. Данная атака, очевидно, может быть реализована для любого шифра, в том числе гипотетиче- ным методом ключ можно вскрыть с линейной сложностью, а все криптографические ухищрения по повышению стойкости шифра бессмысленны. качестве технических мер защиты от подобных атак наряду с физическим зашумлением или случайным изменением тактовой частоты процессора можно использовать преобразования (автоморфизмы) шифрующей программы, которые затрудняли бы нарушителю проведение измерении: случайное встраивание отдельных так тов шифрования в работу других сложных про динамический случайный порядок вы грамм, полнения операций (например, можно сначала сложить младшую тетраду те кета с ключа, применить подстановку к этой тетраде •> затем сложить вторую тетраду текста с тетрадой представление байтного ключа KS в виде последовательности ?Г-разрядных слов Zo, ..., ir-ьгде г Щ l)/fF + l; построение фиксированной (не зависящей от ключа KS) псевдослучайной последовательности 5'о, ..., 5*27^+1 на основе чисел е 2,7182... (основание натурального логарифма) и ф = 1,6180... (золотое сечение); формирование цикловых ключей из последовательностей Lj и Sj по алгоритму, аналогичному алгоритму шифрования, в котором на каждом шаге выполняются следующие операции: а I + a + b)«<3:S) а: ? (Lj + а-\- b) <« (а + Ь); L 5 где «+» сложение по модулю W 3 /» циклический сдвиг в сторону старших разрядов на / бит. Исходными значениями для а,. Ь, i,j являются ского «асимптотически большого». Если указан- ключа AS. ной ошибкой пренебречь, то окажется, что дан- нули, а число итерации определяется размером При зашифровании (рис. 19.9): блок входного открытого текста длины 2W6m разбивается на два полублока х ' и х" по W6itt: первые два цикловых ключа Ко и Kj сумми IV руются по модулю 2 с полублоками х' и х соответственно; выполняется циклическая итерация: гг X f ((х'©х")<«1^.-) + 7^2ь X tr ((X ft ©х') W,^') + K2i,ui=]^,-.R- Выходным зашифрованным текстом является конкатенация итоговых значений полублоков тетрадой после К циклов При расшифровании операции выполняются в ключа и т. д.). Аналогично можно использовать и обратном порядке с теми же цикловыми ключами. Этот шифр использует управляемые цикличе- . От- случайные автоморфизмы конечных автоматов при аппаратной реализации шифра. ские сдвиги (вращения) И^-разрядных слов, метим, что существуют векторы, нечувствитель 19.7. RC5 ные к сдвигу, например, нулевой или единичный. Периодичные векторы с периодом 2/ переходят в себя при сдвиге на четное число разрядов; векто- Быстрый алгоритм блочного шифрования ры с периодом 4 переходят в себя при сдвиге на RC5 [32], предложенный Р. Ривестом в 1994 г., 2f разрядов. Теоретически это свойство можно представляет собой параметризованный алго- положить в основу атаки на шифр с управляе
437 мыми сдвигами, что позволяет свести изучение смежного блока операция управляемого сдвига шифра к изучению его периодов. Для того чтобы является нелинейной. противостоять этой атаке, в RC5 используется Это свойство само по себе не дает стойкости сложение с непериодическими векторами ключа. по отношению к линейному методу криптоана- Управляемый сдвиг входного вектора х' в за- лиза. Поскольку любой циклический сдвиг (далее висимости от пяти младших битов смежного век- на переменное число разрядов) сохраняет число нулевых и единичных разрядов, то наиболее вероятное линейное равенство над ¥2 для этой подстановки имеет вид нелинейной тора X является подстановкой операцией (тогда как фиксированный сдвиг, оче видно, линейная над ¥2 операция). Ее можно за 32 писать показательным уравнением для разрядного векторного пространства над ¥< 2 У-С. X, где С, матрица единичного сдвига. X н целое число, соответствующее пяти млад шим битам двоичного вектора х". цикл \ Цикл к Рис. 19.9. Схема шифра RC5 W W X I Ту I /=1 /=1 ответственно входные и выполняется с вероятностью 1 (здесь х, и у, со- и выходные разряды управляемого циклического сдвига). Поэтому шифр с операциями поразрядного сложения векторов по модулю г и операциями циклического сдвига следует дополнить нелинейной операцией, что и сделано в RC5 (сложение по модулю 2'^ Первоначальная переборная оценка стойкости RC5 к дифференциальному и линейному методам [20] была снижена: для вскрытия ключа 12- подобранных от циклового RC5 требуется крытых текстов [10]. Для вскрытия ключа RC5 предложен метод анализа по модулю 3, а также по модулям простых чисел Ферма [22]. Этот метод пригоден и для анализа других шифров, использующих операции сложения по модулям 2, 2^^ и управляемых циклических сдвигов. Поясним суть метода. Пусть W=32. Поскольку X 2jc, если X < 2 31 5 2х + 1 32 31 2'\ еслих>2'': и 32 (mod 3 ), то X 2х (mod 3 ) ? X <« 2 = X (mod 3). Тогда X п 2x(mod3), если ?? четное; ix(mod3)5 если п нечетное. Если X (mod 3), то X /7 X (mod 3) при любом п. Следовательно, вероятность того, что _. _. ^ .1 о\ ._ _ _. - 4/ _ __ _ _ _ _-__ _ X п X (mod 3), равна 4 при случайном х Кроме того ? (x + y)(mod2 32 х + у; x + y(mod3); ix + y 32 Х + у 1 (mod3) При W 32 кал^дый из. 32 разрядов этой под в зависимости от того, появляются ли переносы при сложении Поскольку при сложении 32 сгановки зависит от 32 бит своего блока и пяти разрядных слов переносы возникают с вероятно- младших битов смежного блока, то есть является стью 0,98, то нижнее равенство выполняется с разреженной булевой функцией 37 переменных, этой вероятностью. Таким образом, линейные линейной над ¥2 по 32 переменным своего блока, равенства х /7 X (mod3) и х+у (mod2 Однако по отношению к пяти переменным X +у (mod 3) выполняются с заметным пре
438 обладанием, что позволяет для вскрытия ключа использовать аппарат линейного над ¥ъ метода. Стойкость RC5 к этому методу в зависимости от числа циклов шифрования [22]: Число циклов шифрования | 8 110 Требуемое число открытых 12 12 текстов Сложность вскрытия ключа 12 45 14 53 61 45 53 61 19.8, Blowfish Алгоритм шифрования Blowfish, разработан ный Б. Шнайером собой фейстелев в 1993 г. [33], шифр представляет с переменной длиной ключа. Размер блока — 64 бита. Эксплуатационными особенностями этого шифра являются: - скорость (при шифровании на 32-разрядном процессоре выполняется 26 единичных команд на один байт данных); — компактность (реализация алгоритма требует менее 5 Кбайт оперативной памяти); — простота (используются операции подстановки, сложения по модулю 2 и по модулю 2 длиной 4168 байт из секретного ключа, длина которого не превышает 448 бит, 521 раз приме- 32 построения списка цикловых ключей няется сам алгоритм зашифрования. Поэтому желательно использовать Blowfish в таких приложениях, где не требуется частая смена ключей. 32-разрядные цикловые ключи К\, ..., разрядные подстановки (5-блоки) К 18 И 32 1 {S\s)-, • ••, S\-2.ss)\ Sj — (Sn, .• •, Sjiiss)-, 3 №, 0? ..., 63 255 );54 {S/^Jd-, •••■» &255) могут быть сформированы на этапе предвычис лении. При зашифровании 64-разрядного блока от крытого текста (рис. 19.10) выполняются еле дующие действия. Блок разбивается на два 32-разрядных полу блока х' и х". На f-M цикле (i 5 2, ...,16): левый полублок х' суммируется по моду лю с соответствующим цикловым клю чом _K^; полученная сумма х разбивается на четыре -разрядных слова а^ й, с, d^ каждое из которых является адресом элемента соответствующей подстановки 5,, 1</<4. 32- разрядный результат обработки полублока X оператором Fj формируется так: Н^') (№, а + S 2. /7 Sx f) + *S'4, J, 32 где «+» — сложение по модулю 2 - полублок F,(x') суммируется по модулю 2 с полублоком х"; - полученные полублоки меняются местами (на последнем цикле этот шаг не выполняется). После 16 циклов полученные полублоки текста суммируются по модулю г с цикловыми ключами jK^i8 и Т^п, получаются полублоки иу ft соответственно. Выходным зашифрованным текстом является конкатенация полублоков у t и у". Цикл 1 Цикл 2 Оператор F, 16 €\ X: Рис. 19.10. Схема шифра Blowfish ^ ,-*- -^ т ■_| J ■^к -" *» t Ш
439 Расшифрование осуществляется аналогично, с обратным порядком использования цикловых ключей: Кш^ ....Ki. Ключи К I ,..., 7^18 и 5-блоки S]^ S2, Sj, S4 вырабатываются из исходного ключа KS следующим образом: начальный массив К, цикловых ключей и блоков разрядной 71 = 3,14159... ставлении): К. инициируется фиксированной 128- строкой (дробной частью числа в шестнадцатиричном пред К I 243f6a88, К 2 85a308d3, 13]98а2е,^ = 03707344, ...; Ку суммируется по модулю 2 с первыми 32 битами ключа KS, Кг суммируется по модулю со следующими 32 битами ключа KS и т. д. Если ключ KS короткий, например, длиной 64 бита, то для построения массива К, ис пользуется конкатенация ключа вида: KS\\KS,KS\\KS\\KSwT.R.', 64-разрядный блок вается алгоритмом (О,..., Blowfish зашифровы ключах, полученных на шагах на и 2: цикловых к ] и к 2 заменяются полученным на шаге результатом зашифрования Со ~ Blowfish(O); шифртекст Со зашифровывается алгоритмом модифицированных цикловых Blowfish на ключах; 7^3 и ^ заменяются полученным на шаге результатом зашифрования С\ == Blowfish(Co); процедура повторяется до тех пор, пока не будут получены сначала девять пар цикловых ключей, а затем 512 пар элементов блоков. Таким образом, всего выполняется 521 цикл зашифрования, на каждом из которых происходит модификация ключей. Этот шифр обладает слабыми ключами для подстановка байта выполняется подстановка ведением в степень: х < для нечетных байтов задаваемая воз (mod 257) с за 45 X меной 256 на О, где 45 — образующая груп 257 • Для четных байтов выполняется об пы 1 ратная подстановка S сложение со вторым цикловым ключом (для четных байтов— по модулю 256, для нечетных — по модулю 2); рассеивающая операция псевдоадамарово преобразование, реализованное при помощи операции над парами байтов: (х, у) <г- 1 X +у (mod 256), х+у (mod256)). Всего выполня ется 12 таких операции, что эквивалентно умножению й-разрядного вектора на матри1ду Мс определителем 1 над кольцом Z/256Z: М _- ч ^ J у После г-го цикла шифрования выполняется сложение блока текста с цикловым ключом (нечетные байты складываются по модулю чет ные 2г + по модулю 256) Всего используется цикловых ключей. Список ключей для шифрования формируется из исходного ключа длиной 64 бита. Пусть К, J -й байт /-ГО блока ключа. Первый блок ключа совпадает с исходным ключом (К\ ..., f^). Второй которых отображение [35]. ; обладает коллизиями и последующий блоки вычисляются рекуррентно: Наличие коллизии позволяет ускорить вскрьггие таких ключей по сравнению с перебо ром, а также распознать, дает ли ключ коллизии. К, J J 5(5(9/ +j)). Oi 3)) + Bi) (mod 256) ? Шифр Blowfish используется в системах BestCrypt, KREMLIN, GnuPG. гдей Для этого криптоалгоритма с 8 и 10 циклами шифрования не найдено практически реализуемых атак, позволяющих снизить стойкость по сравнению с перебором. С. Мэрфи предложил рассматривать этот шифр как модуль над кольцом SAFER г-цикловыи 19.9. SAFER размерности 8, гомоморфизмы которого 10) блочный определяются матрицей М [28]. Для некоторых шифр с длиной блока 64 бита, предложенный подмодулей это отображение является изомор- Дж. Месси [25]. При зашифровании открытого физмом. Использование специфических свойств текста блок разбивается на восемь байтов, про- этого гомоморфизма создает предпосылки для нумерованных от до и составляется список снижения стойкости шифра. цикловых ключей. Далее на каждом цикле выполняются следующие операции: сложекие блока текста с цикловым ключом Совмещение дифференциального метода и атаки на основе связанных ключей показывает. что для вскрытия ключа (нечетные байты складываются поразрядно SAFER требуется 24 29 ЦИКЛОВОГО шифра подобранных открыло модулю 2, четные — по модулю 256) ? тых текстов [21]-
440 Шифр SAFER используется в системе KREM LIN. 19.10. RIJNDAEL (AES) Криптоалгоритм RIJNDAEL был разработан В. Рейменом и Й. Даманом и в 2000 г. выбран Национальным институтом стандартов США в качестве стандарта [5]. В отличие от таких «привычных» шифров как DES и ГОСТ 28147-89, он не является фейстелевым, то есть операции зашифрования и расшифрования используют различные перемешивающие и рассеиваюш;ие преобразования. Характерной чертой этого шифра является то, что здесь нет подстановок, сконструированных непонятным образом по непонятным критериям. Шифр достаточно прозрачен, чтобы математически подготовленный пользователь мог убедиться в том. что в него не заложены «мины». все операции шифрования описьгоаются в терминах поля из 256 элементов и кольца полиномов над этим полем. Длина блока составляет 128 бит, длина клю- , 192 или 256 бит. Число циклов шиф- ча 128 рования зависит от длины ключа и равно 10 или 14 соответственно. 12 Открытый текст представляется в виде квад ратной матрицы размера 4. Элементы матрицы рассматриваются двояко: как векторы над F2 (при описании способа получения подстановки) и как элементы расширенного поля F256 2 полином/(/) + f + f + t + М/(ДО), где неприводим над F2. Над элементами матрицы определены следующие операции: - сложение в поле F256; умножение в поле F256 обраш,ение в поле F256. Строки матрицы рассматриваются как эле поразрядное сложение по модулю 2 блока текста с цикловым ключом. При расшифровании те же операции выполняются в обратном порядке. Подстановка S имеет простое алгебраическое описание. Сначала для байта х вычисляется обратный элемент jc~^ в поле F256 (для нуля обратным считается нуль).*' Затем эти байты представляются как векторы над F2, и вычисляется подстановка как аффинное преобразование S(x) Мх 1 где М— циркулянтная матрица с первой строкой (10001111) и с-(11000110). Поскольку число ненулевых элементов в строке нечетно, матрица М невырол<дена определяется урав Обратная подстановка -1 l^^] ^ .« _ 1 пением X АГ где м обратная к матрице М циркулянтная матрица над trj с пер вой строкой (00100101), (10100000). Затем вычисляется х расширенным алгоритмом Евклида по отношению к полиному fit). Например, для X 1 получаем X ] (10100000) то есть /^+ 1 э откуда X f + t' + t X (01001010) Наиболее вероятные дифференциалы прямой и обратной подстановки, задающей обращение в 256 5 имеют вероятность /б4? что всего в больше, чем «естественная» вероятность 1 раза 256- Циркулянтная матрица задается первой строкой ? t + или в шестнадцатиричном виде (2, 3, 1, 1). Обратная матрица L также цир кулянтна и задается первой строкой (t +1 +t, Г + /+ 1, / + /^ + 1, /^ + 1) или в шестнадцатиричном виде (е, Ь, d, 9). Очевидно, что каждый раз вычислять подстановку неудобно, поэтому прямую и обратную подстановку лучше хранить в памяти шифратора. Компактность алгоритма вычисления подстановки (колмогоровская энтропия подстановки мала) снижает опасения, что в подстановке спрятан потайной ход, позволяющий тем, кто его зна менты кольца (с делителями нуля) классов выче- ет, быстрее вскрывать ключ — в коротком алго жп-ГП/^4,1\ГТ 1 тов: А ^ р25бМ/(^ + 1). Над строками выполня- ритме спрятать постороннюю информацию ются операции сложения и умножения как над сложнее. элементами кольца А Список 128-разрядных ключей для шифрова На каждом цикле зашифрования выполняются ния готовится из ключа длины 128 (192, 256) бит четыре операш1и: подстановка S байтов: циклический сдвиг строк матрицы влево со на основе операции подстановки S и циклического сдвига с учетом номера цикла шифрования. Алгоритм построения списка ключей не является ответственно на О, 1, 2, 3 позиции (или, что циклическим, что исключает возможность атаки то же самое, умножение полиномов из А на на основе связанных ключей и атаки методом сдвига (см. пп. 18.3, 18.5). Криптографическое преобразование RIJNDAEL удобно записать в алгебраическом виде [18]. Подстановка может быть задана над F256 уравнением перемешивание столбцов матрицы путем ум ножения на невырожденную над 1Г256 цирку лянтную матрицу L размера 4x4; 5 Оригинале эта операция назьгоается «сдвиг строк» и «перемешивание столбцов», но эти две операции эквивалент11ы умножению вектора на матрицу. 6 Обратный элемент может быть найден расши ренным алгоритмом Евклида или возведением в сте пень 254 в кольпе р2[г]/(/ + /^ + /^ + Г + 1).
441 7 S{x) Wo + w.x 255-2 d d=0 Поскольку на каждом цикле шифрования выполняется сложение байтов с ключом ? учтем константу ws в составе ключа (это приведет к модификации списка ключей). Поскольку Х^^^ = 1 в поле ^256, то подстановку можно записать в виде Для вскрытия ключа 6-циклового шифра RIJNDAEL требуется 2 подобранных открытых текстов, сложность вскрытия ключа составляет " [17]. Шифр RIJNDAEL используется для шифро вания данных в системах Rar, GnuPG, BestCrypt. ^' \'\:^у£:к 19.11. MD5 7 S(x) w.x 2 d (19.10.1) d=0 Ha каждом цикле шифрования каждый байт Хэш-функция MD5 была разработана Р. Ривестом в 1991 г. [30] как усиленный вариант хэш-функции MD4 [31]. Необходимость замены была вызвана тем, что для хэш-функции MD4 высокой около шифруемого текста является элементом квадрат- сложность вычисления коллизии оказалась не ной матрицы размера 4. Обозначим этот элемент для г-го цикла шифрования а^''^ . Здесь индексы /, минуты на персональном компьютере [15]. Длина аргумента хэш-функции может быть произвольной, длина значения можно рассматривать по модулю 4. Тогда в 128 бит (отсюда следует, что сложность нахож уравнении (19.10.1) коэффициенты w^ и показа- дения коллизии не может превышать 2^"* опера дения коллизии не может превышать тель d будут зависеть от номера цикла шифрова- ций вычисления хэш-функции). ния: d(r). Подстановка для блока в целом описывается уравнением ходе вычислении используются следуюш,ие функции 32-разрядных аргументов и, v, w: S(a (г) 7 W J г (a^'^ ^"',7 2^{г) d(r)=0 Операции сдвига строк матрицы подстановки соответствует уравнение TS(al1) 7 2^'''d(r)^"i,i+j W J а е-) 2^(г) d{r)=0 С учетом Операцию перемешивания столбцов учтем в виде дополнительной суммы: 3 7 MTS{4] Z^/, Ja ir) e{r)d{r)\^e{r),e(r)-\'j 2 d(r) e{r)=Od(r)=0 /^u, V, w) = uvv uw; /2(0, v,w) = uw vvw; _^(u,v,w) = u©v@ w;/4(u,v,w)-v@(uv w) Здесь символом обозначено поразрядное символом V сложение векторов по модулю поразрядная дизъюнкция векторов, символ по разрядной конъюнкции опущен для однозначной очередности операции. учетом равенства а V b а © b © ab эти функции можно записать в терминах кольца G„ W © u(v © w); V © w(u © v); 3 u © V © w: 4 V© W(l u). Теперь можно записать уравнение шифрова ния для одного цикла: а (гн-1) 3 7 + \^i,e{r)d{i')i^ ir) 2 cf(r) e{r)=Od{r)=0 Если выполнить рекурсивную подстановку элементов ajj согласно этому уравнению, то получим уравнение зашифрования на нескольких циклах в виде непрерывной дроби. Все операции описываются в терминах поля ^256- Такое представление уравнения шифрования является предпосылкой для построения алгебраических методов анализа, поскольку поле и-256 является расширением полей Fi6, F4 и F2, а теория непрерывных дробей — достаточно хорошо изученная область математики. Каждая из этих булевых функций является сбалансированной. Булевы функции/i,^,^ имеют нелинейность 2, булева функция /з аффинная (имеет нелинейность 0). На этапе предвычислений определяются еле дующие параметры: 64 три константы по 32 бита каждая: sin(/+ 1)1 для О <у< 63; перестановки 4-] на множестве (0,1,..., 15) как арифметические прогрессии в Z/16Z: 2Г16...31] — прогрессия с первым членом 1 и разностью 5, z[32..A7] грессия с первым членом про и разностью г[48...63] — прогрессия с первым членом и L^t *^^ разностью 7; ,^^. >^^. четыре массива, которые задают параметры циклических сдвигов: s[0... 15] = {(7,12,17,22)"*
442 5Г0...15] = {(5,9,14,20) 4 5[0...15] = {(4, И, Хэш-функция MD5 используется в системах 16,23) 4 9 5[0...15] = {(6, 10, 15,21) 4 MSOffice, PDF. Вариантами хэш-функции MD5 Пусть исходный аргумент т задан хэш-функция SHA, используемая в являются американ- разрядной строкой m\...mt. Эта строка дополня ском стандарте цифровой подписи ECDSS, и ется до длины, сравнимой с 448 по модулю 512 хэш-функция RIPEMD. (то есть длине аргумента «не хватает» ровно 64 битов, чтобы быть кратной 512), а именно: к ар гументу присоединяется одна «1», а затем необ ходимое количество нулей. Причем дополнение строки выполняется даже в том случае, если ее длина уже сравнима с 448 по модулю 512 (в этом случае к аргументу добавляется одна единица и 511 нулей). 64- полученной строке присоединяется разрядное представление числа t. При t>2^ ис пользуются только младшие 64 Пусть бита числа дополненный аргумент имеет М М 1 -М,, где М, блок, состоящий из вид 16 слов по 32 бита каждое, 1 <1<п,гп кратно 16. Стартовый вектор хэширования длины 128 бит представляет собой конкатенацию четырех констант: 01234567II 89abcdef II fedcba981| 76543210. При вычислении используется накопитель, содержащий четыре 32-разрядных слова А, В, D. Исходным заполнением накопителя являются слова стартового вектора хэширования. Обработка 16-словного блока М, <i<n. осуществляется за четыре цшсла, каждый из ко торых включает в себя 16 шагов. На каждом шаге у'-го цикла, няются операции: </<4 9 выпол + (J + ДБ, с, D) + ми/]] + y[i\). (А,В, С,D)<^iD,B + i 5[Л, В, Q 5 где М[-г[^']] — слово, выбранное из М, в соответ ствии с перестановкой z; X сдвиг слова X влево на 32 бит 9 «+» циклический операция сложения по модулю 2 . Таким образом, на кал<: дом шаге выполняются четыре операции сложе ния и одна операция сдвига, вычисляется значе ние одной цикловой функции. Выходом каждой итерации является конкате нация текущих значении четырех слов накопителя. После обработки блока М„ итоговым сжатым образом аргумента будет 128-разрядная строка из четырех слов: А D Поскольку нелинейность операций мала 9 при нелинейные свойства итогового преобразова ния определяются влиянием переносов сложении. Коллизию для MD5 можно вычислить за несколько часов на персональном компьютере [16]. Кроме того, этот алгоритм, по-видимому, уязвим 19Л2. ГОСТ Р 34.11 94 Отечественный стандарт хэш-функции ГОСТ Р 34.11-94 [2] предназначен для использования в криптографических методах обработки и защиты информации, в том числе в алгоритмах цифровой подписи гост ГОСТ Р 34.10-2001. функции 34.10-94 и ходе вычисления хэш используется стандарт шифрования ГОСТ 28147 89. Длина аргумента х произвольная, длина значения h{x)— 256 бит. Варьируемыми параметрами являются стартовый вектор длиной 256 бит (выбирается произвольным) и блок подстановок для шифра ГОСТ 28147-89 (выбирается установленным порядком). Хэш-функция вычисляется на основе шаговой функции хэширования с длиной аргумента 256 бит, при этом аргумент разбивается на блоки длиной по 256 бит. Последний блок при необходимости дополняется нулями. Шаговая функция хэширования вычисляется в три этапа. На первом этапе вычисляются четыре ключа Ки Кг, К^, К^ для шифра ГОСТ 28147-89 по 256 бит каждый. На втором этапе стартовый вектор разбивается на четыре блока по 64 бита каждый, и эти блоки зашифровываются на ключах Ки Къ Къ, К4 по ГОСТ 28147-89. На третьем этапе выполняется рассеивающее преобразование стартового вектора, аргумента хэш-функции и полученных шифрограмм. Рассмотрим подробнее этапы вычисления шаговой функции хэширования h (и, w) блока ар гумента и и стартового вектора w. Для вычисления ключей К\, Кг, Кз, Ка выпол няются аффинные над ¥2 преобразования. Опре делим над ¥2 квадратную блочную матрицу: г ? где^ нулевая единичная матрица размера 64 х 64, матрица. с j8q8,,6 ^4'V(onTro Пусть вектог) тор сдвига и опера- перестановки байтов представляет собой q..j.uqc^q8^8>j2|8q8.q8,8.4 Г)\\%У ПО отношению к дифференциальному анализу с блочную матрицу над ¥2 из 1024 б.поков размера операцией разности по модулю 2 6]. X бит 9 каждый блок нулевая или единич
443 ная матрица: (1, 9. 17,25,2, 10, 18, 5 26, 11 5 19, 27, 4, 12, 20, 28, 5, 13, 21, 29, 6, 14, 22, 30, 15,23,31,8,16,24,32). Собственно хэш-функция вычисляется по ре куррентной формуле: w^- h(n /9 w). <i<n Для последнего блока U п значение шаговой Ключи получаются выполнением аффинных функции хэширования определяется так: над р2 преобразований: вычисляется w < h\n т w); К 1 P(u © w); вычисляется длина аргумента в битах по К 2 2 Р(Жи © ^w) = РА{Ап © w); К 4 2 3 PiA'n © ^ V © с); К4 6 ^ Л ^ ^ ч т^ ^/ л . ^ ^2 P(^^^u © Aw © ^с) = PAiA'vi © ^V © модулю 2 с учетом возможного неполного последнего блока; вычисляется w ^ /г (1, w); вычисляется сумма q всех блоков по модулю ^^^, вычисляется шаговая функция хэширо- Ключи Kj обозначены полужирным шрифтом, поскольку они на этом этапе рассматриваются как векторы над ¥2- Полиномы от матрицы А образуют поле из 16 элементов, изоморфное полю ¥-^i'\l{f + ^+ 1). Это утверждение вытекает из равенства А + ^ + £ вания h (q, w), которая и является значением хэш-функции. Хэш-функция ГОСТ 34.11 94 характеризу ется следуюпщми свойствами. . Не существует аргумент шаговой функции где полином в левой части неприводим хэширования, для которого совпадают три из На втором этапе стартовый вектор w разбива ется на четыре блока: w = (Wb W2, W3, W4), каж дый блок W; зашифровывается на ключе Ki в ре на первом четырех ключей, вырабатываемых этапе. Это утверждение следует из того факта, что полиномы от матрицы А образуют поле. Од- жиме простой замены с результатом s,. Четыре нако существует множество пар стартовых век- шифрограммы образуют 256-разрядный двоич- торов и аргументов, для которых два из четырех ный вектор S = (si, S2, S3, S4). На третьем этапе выполняется рассеивание для аргумента и хэш-функции, стартового вектора w и вектора шифрограмм s как аффинная над аргументов совпадают, например, и W О дают К 1 К 2 При этом для каждого стартового вектора существует единственный аргумент, для которого выполняется заданное равенство 2 операция. Определим над ¥2 блочную квад К ратную матрицу с размером блока 16 х 16: / К,. Обратно, для заданного стартового век тора W существует единственный аргумент и, позволяющий выработать заданное значение ключа К,. Коллизию для хэш-функции в целом можно процедур 128 найти со сложностью примерно вычисления хэш-функции методом, описанным в п. 17.10. Коллизию для шаговой функции хэширования быстрее можно найти методом встречи посередине [3], если совместить заготовку коллизий с выбором стартового вектора хэширования. При равенстве левых частей в формуле (19.12.1) правые части можно сократить на обратимый оператор Б^'. Поэтому коллизия (и, и') шаговой функции хэширования задается условием W © Б(и © В^\) = W © Б(и' © В^\'\ Упрощая это равенство, получаем 'Т. s©s t 12 (U © U'). Матрица имеет вид 12 (рассматриваемая как блочная) t Полиномы от матрицы Б образуют поле из 2 16 Б„ Бзт Бз, Б4, элементов. 12 21 Значение шаговой функции хэширования: 21 ^22 ^21 ^41 О Bri Б43 t v- /г\и, w) 61 (w©Б(u©Б 12 s». (19.12.1)
444 To обстоятельство, что в нижней строке один оставшихся трех блоков методом встречи посе блок единичный, а остальные нулевые, позволяет редине. Сложность поиска коллизий для шаговой разбить задачу поиска коллизий на две части: функции хэширования этим способом равна при- сначала выбрать произвольные ключи Ка блок W4 5 к. f 4 5 мерно 2 "1 "1 f стартового вектора, вычислить S4 @S4 f 5 Аналогично можно искать пару аргументов. S4 @ 84, затем с помощью варьируемых дающих не нулевую, а заданную разность значе разрядов векторов w, и. и' найти коллизию для ний шаговой функции хэширования. _->. л^ -> ^ ^^ Упражнения к главе 19 *Шифр IDEA использует операцию умно жения слова текста на слово ключа по моду лю /? = 2^^+ 1, ключи зашифрования и рас шифрования — взаимно обратные по моду MD5. Очевидно, длина блока шифра должна быть кратна длине блока хэш-функции. помощью дифференциалов второго порядка над 11. *Исследуйте стойкость шифра IDEA с Z/(2 + 1)Z. 12 *Насколько «усеченный вариант» шифра IDEA 2'^+ 1 2^+1, 2^+1 заменой умножения по умножением по модулю 24 1 модулю или и пропорциональным сокраще 7 лю р. Как найти ключ расшифрования для продолженного ключа зашифрования при анализе методом продолжения полиномов Жегалкина? *Оцените стойкость DES к анализу методом продолжения полиномов Жегалкина. *Оцените стойкость RC5 к анализу методом продолжения полиномов Жегалкина. *Оцените стойкость RIJNDAEL к анализу 13. *По аналогии с предыдущей задачей можно методом продолжения полиномов Жегалкина. Сравните эффективность рационального и 2-адического продолжения. нием длины блока) похож на полный шифр? Можно ли использовать «усеченный» шифр для вскрытия ключа полного шифра? определить «усеченный вариант» шифра RIJNDAEL (более общо — вычислимый го Предложите 28147-89 вариант атаки на ГОСТ моморфизм шифра в шифр меньшего разме ра, используя подполе поля 256 Можно ли для случая, когда одноблочные тексты зашифрованы в режиме простой замены и дополнены 32-разрядными имито 14 использовать «усеченный» шифр для вскрытия ключа полного шифра? Оцените стойкость шифра ГОСТ 28147-89 к вставками. Предложите способы получения гаммы с га рантированно большой длиной периода. методу на основе z-адического продолжения, если сложение по модулю 2 заменить сложением по модулю Повлияет ли на стой Предложите свой режим шифрования длин ных сообщений, отличный от режимов гам кость свойство разреженности ключа и текста? мирования и гаммирования с обратной свя- 15. Предположим, что в шифре блок и ключ имеют длину п бит. Покалште, что если по аналогии с режимом гаммирования (рис. 19.2) шифртекст использовать в качестве ключа, а зью. * Предложите свой вариант блочного шифра с размером блока п бит и совмещенными операциями перемешивания и рассеивания. открытый текст оставить неизменным, то Примером такой операции является подста новка х^ + х^ + X (mod 2^) и перестановка би гов. Оцените требуемое число циклов. *Исследуйте сложность обращения одно 16 длина цикла формируемой последовательности составит 0(2"/^) блоков. *Каким требованиям должны удовлетворять 32 подстановки из 5'-блока шифра типа DES, MD5 блочной хэш-функции дол жения полиномов Жегалкина методом про 10. Предложите способ построения блочного шифра на основе блочной хэш-функции, например. чтобы цикловая функция шифрования F, (см. рис. 19.5) была биекцией на множестве 32- разрядных слов? S I J: ■— 7 Мультипликативные гоуппы вычетов по модулю простых чисел Ферма и кольгда Ж/2 16 ? Ж/2 8 4 ? Ж/2^Ж гомоморфны, причем эти гомоморфизмы «похожи».
445 Литература к главе 19 w". гост 28147-89. Системы обработки информации. Зашита криптографическая. Алгоритм криптографического преобразования. М.: Госстандарт 16. Dobbertin СССР, 1989. 15. Dobbertin Н. Alf Swindles 1995. Vol. 1(3). P. 5. Ann CryptoBytes. H. Cryptanalysis of MD5 compress ГОСТ P 34.11 94. Информационная технология. Криптографическая защита информации. Госстандарт Рос- М.: Функция хэширования. сии, 1994. Ростовцев А.Г., Дук Т.Г. Ускоренный способ по иска коллизий в стандарте на хэш-функцию Труды http://www.ioc.ee/home/helger/crypto/htmls/hash.htm. 17. Ferguson N., Kelsey J., Lucks S., et al. Improved cryptanalysis of RIJNDAEL // http://www.соиШеф ane.com/ rijndaelhtml. 18. Ferguson N., Schroepel R,, Whiting D. A simple gebraic representation of RIJNDAEL // http://www. xs4all.nl/-vorpal/pubs/rdalgeq.html. российской научно-технической конфе 19. Kaliski Rivest *j Sherman A the Data En ренции «Методы и средства обеспечения безопасности информации». СПб., 1996. С. 204-205. Ростовцев А.Г., Маховенко Е.Б., Филиппов А.С, Чечулин А.А. cryption Standard а group? (Results of cycling ex стойкости ГОСТ 28147-89 Проблемы информационной безопасности. Ком пьютерные системы. СПб., 2003. № 2. penments on DES) // Journal of Ciyptology. 1988. Vol. 1. P. 3-36. 20. Kaliski B.S., Yin Y.L. On differential and linear cryptanalysis of the RC5 encryption algorithm // Advances in Cryptology CRYPTO'95. Lecture Announcing the advanced enciyption (AES). Federal Information Processing standard Standards Publication, 2001. Berson T.A. Differential cryptanalysis mod 2 32 Notes in Computer Science. Springer-Verlag. 1995. Vol. 963. P. 171-184. 21. Kelsey J., Schneier В., Wagner D. Key-schedule with cryptanalysis of IDEA, G-DES, COST, SAFER, and applications to MD5 // Advances in Cryptology — EUROCRYPT '92. Lecture Notes in Computer Sci 80. Triple-DES Advances Ш Ciyptology CRYPTO '96. Lecture Notes in Computer Science, ence. Springer-Verlag. 1993. Vol. 658. P. 71-80. Springer-Verlag. 1996. Vol. 1109. P. 237-251. Biham E., Shamir A. Differential ayptanalysis of 22. Kelsey J., Schneier В., Wagner D. Mod/? cryptanaly- DES-like cryptosystems Advances in Cryptol sis, with applications against RC5P and M6 ogy CRYPTO '90. Lecture Notes in Computer http://www.counteфane.coln/mod3.html. Science. Springer-Verlag. 1991. Vol. 537. P. 2-21. Biham E., Shamir A. Differential cryptanalysis of FEAL and N-hash // Advances in Cryptology — EUROCRYPT '91. Lecture Notes in Computer Science. Springer-Verlag. 1991. Vol. 547. P. 1-16. Biham E., Shamir A. Differential cryptanalysis of the full 23. Konheim A. Cryptography: A Primer. New York: J. Wiley & Sons, 1981. 24. Lai X., Massey J.L. A proposal for a new block encryption standard Advances m Ciyptology EUROCRYPT '90. Lecture Notes in Computer Sci ence. Springer-Verlag. 1991. Vol. 473. P. 389-404. 16-round DES // Advances in Cryptology CRYPTO '92. Lecture Notes in Computer Science Springer-Veriag. 1993. Vol. 740. P. 487-496. 25. Massey J.L. SAFER ciphering algorithm 64: Fast A byte-oriented block Software Encryption. 10. Biryukov A. Cryptanalysis of RC5 DREI '97 Cambridge Security Workshop. Lecture Notes in Computer Science. Springer-Verlag. 1994. Vol. 809. Workshop on Cryptography and Network Security (Abstmcts). July 28 - Aug 15, 1997. 11. Biryukov A., Wagner D. Advanced slide attacks P. 17. Advances m Cryptology EUROCRYPT 2000. 26. Matsui M. Linear cryptanalysis method for DES cipher // Advances in Cryptology — EUROCRYPT '93. Lecture Notes in Computer Science. Springer-Verlag. 1994. Vol. 765. P. 386-397. 27. Menezes A., van Oorschot P., Vanstone S. Handbook of Applied Ciyptography. CRC Press, 1997. ware Encryption FSE '99. Lecture Notes in Com- 28. Murphy S. An analysis of SAFER//Journal of Ciyp- Lecture Notes in Computer Science. Springer Verlag. 2000. Vol. 1807. P. 589-606. 12. Biryukov A., Wagner D. Slide attacks // Fast Soft puter Science. Springer-Verlag. 1999. Vol. 1636. tology. 1998. Vol. 11. P. 235-251. P. 245-259. 13. Borst J., Knudsen L., Rijmen V. Two attacks on re duced IDEA // http://link.springer.de/link/service/ se ries/0558/ bibs/1233/12330001.hun. 14. Daemen J., Govaerts R., Vandewalle J. Weak keys 29. National (NIST). Institute of Standards FIPS Publication 46-2: and Data Technology En ay pt ion Standard (DES). Dec 1993. for IDEA Advance s m Cryptology CRYPTO '93. Lecture Notes in Computer Science. Springer-Verlag. 1994. Vol. 773. P. 224-231. 30. Rivest R,L. RfC 1321: The MD5 message-digest algorithm // Internet Activities Board, April 1992. 31. Rivest R.L. The MD4 message digest algorithm Advances in Cryptology — — CRYPTO '90. Lecture Notes in Computer Science. Springer-Verlag. 1991. Vol. 537. P. 303-311.
J^'t * 32. Rivest R.L. The RC5 encryption algorithm Software Encryption. Second International Fast Work 34. Shimizu A., Miyaguchi S. Fast data encipher ment algorithm FEAL // Advances in Cryptology shop. Lecture Notes in Computer Science. Springer Verlag. 1995. VoL 1008. P. 86-96. 33. SchneierB. Description of a new variable-length key, 35. Vaudenay S. On the weak keys of Blowfish Software Encryption. Third International Workshop. Computer Science. Springer EUROCRYPT '87. Lecture Notes in Computer Science. Springer-Verlag. 1988. Vol. 304. P. 267-278. Fast 64-bit block cipher (Blowfish) // Fast Software Encryption. Cambridge Security Workshop (Dec 1993). Computer Science. Springer Lecture Notes m Lecture Notes m Verlag. 1994. Vol. 809. P. 191 204. Verlag. 1996. Vol. 1039. P. 27-32. 3 6. ftp://ftp.replay.coni/pub/replay/mirror/ftp.cryptogr^hy. org/ DESX/desx. algorithm.description.
ОТВЕТЫ И УКАЗАНИЯ К УПРАЖНЕНИЯМ Глава 9. Множество простых целых чисел и 1/л / _5\ _ г _ .5 10^ ^и 5\ i 2 10. <« 5 а 9 а 5 G/(a 5 а 5 5 flf^ 3 ! а 4 13. Закон исключения третьего g является вы 11. Любую обратимую матрицу можно пред сказыванием и долисен быть или истинным, или ставить в виде произведения матрицы с единич ным определителем на скаляр. 12. Изоморфизм ф переводит единичный эле множество высказывании ложно ложным. Пусть истинных тогда и только тогда, когда Тогда должно быть истинным в точности одно из мент высказываний: 2 & S или S. Однако ни одно из них не является истинным. Глава 2 . Аддитивная группа Z абелева, все ее подгруппы имеют вид wZ, где п — неотрицательное целое число. 3. Эндоморфизмы аддитивной группы име ют вид а па. (аЬ) 1 Если о а ФУ п па некоммутативная, то ^ а^ V 6. Группа 5*3 некоммутативна: (1,3,2X2 5 5 (3, 5 2); (2,1,3)0,3,2) (2, Перенумеруем подстановки (1,2,3), (1,3,2), (2,1,3), (2, 3,1), (3,1, 2), (3,2, лица умножения имеет вид от в единичный элемент. то есть Ф(0) Ф(1) 13. Рассмотреть множество транспозиций и порожденную ими группу. 14. Рассмотреть множества подстановок, не сохраняющих неподвижным элемент 1, не сохраняющих неподвижным элемент 2 и т. д., затем найти мощность объединения этих множеств с учетом всевозможных их пересечении. 15. Результат следует из разбиения группы по подгруппе. 16. Мультипликативная группа Q образована простыми числами, а аддитивная группа Q не имеет образующих. 17. Пусть G — группа и Н — ее подгруппа индекса 2. Тогда существует элемент х е G такой, G что G HkjxK хН 0\Н. Кроме того. НUЯх, Нх = G\H, поэтомухН 18. Если а G G — Нх. — неединичныи элемент, то до 6. Таб- разложение G по подгруппе (а) совпадает с (а). Поэтому (а) G. Глава 3 1. Нет, поскольку не всегда существует про гивоположныи элемент. . Рассматриваемые числа лежат в поле комплексных чисел, поэтому аксиомы кольца выполняются. Произведение чисел рассматриваемого вида является целым рациональным числом Группа 8з образована двумя подстановками тогда и только тогда, когда сомножители сопряжены. Кольцо целостное, если D не является (1, 3, 2), (2, 3, Нормальными являются следующие группы: квадратом. {е}; сама симметрическая группа 5*3; знакопеременная группа, образованная степенями подстановки (2, 3,1). 7. Гомоморфный образ циклической группы определяется образом образующей, то есть цик- личен. 8. Элементами группы являются положительные и отрицательные числа вида 2'"3", где т, п G 4. Рассмотреть квадрат модуля комплексного числа. Положить х = а G Z. Ядро составляют по т^ 2 1 линомы С корнем а. При равенстве х морфизма нет. гомо а а (mod 0) означает, R, что Сравнение 0. Имеет место изоморфизм R/(0) Не будет, так как идеал не имеет противо по ложного.
448 9. (10)+ (15) = (5), (10)(15) = (150), (10)n(15) квадратичный вычет для простых чисел _(30); (2) + (3) = (1), (2)(3) = (6), (2) п (3) (6) 13.x +6.Х 2х,9. (mod 3). квадратичный вычет, если и оба квадра 14. кольце Z[x] идеал (0) простой, а в коль- тичные вычеты или оба квадратичные невычеты. ue(Z/35Z)[x] —нет. 15. X п ТО есть если р = ±\ (mod \2)ир = ±\ (mod 8) или гомоморфизм: положить еслир = ±Ъ (mod \2)w р = ±Ъ (mod 8). Объедине- ±5 Возможный Ядром этого гомоморфизма являются по- ние этих условий дает/? = ±1 (mod 24) или/? линомы видаДхь ..., х„„|) + л:Дхь ..., x„„i 17. Q; Q; Q; Z/wZ; рациональные функции вида а{х) + й(х)у, где а, й е С(х). 21. Нет, в поле все элементы обратимы. 22.xy + xz+yz = a +х{\ +у){\ +z)){\ +у{\ -ь + х)(1 +z))(] +2(1 +х)(1 +у)){\ +(1 +хХ1 4- Глава 2. Не существует, так как в противном случае объемлющее поле содержало бы делители нуля. 4. Поле не содержит числа тг, которое не является корнем уравнения. ни одного алгебраического в). Построить неприводимый над С(х) по лином степени от А^,у) 2 новой переменной У^ + g{x\ дискриминант которого свобо и ден от квадратов в С(х) (например, deg(g) g{x) не имеет кратных корней), и присоединить корень полиномаДх, у). . Рассмотреть полином х^ -х и степени его делителей. 11. Для этих полиномов в группе F19 элемент а не является квадратом, то есть его порядок не а порядок элемента не делится делится на наЗ. 12. Полиномы и рациональные функции, в которые переменная входит в степени/?. 17. Порядок мультипликативной группы поля характеристики нечетный. Поэтому корень единственный и имеет кратность 2. Корень урав нения имеет вид а яП О 2 18. Рассмотреть сумму а^ +а^ +а 4 + ... ИЗ слагаемых, входящих в след, взятых через одно. Глава Рассмотреть сравнение по модулю 3. Воспользоваться формулой для геометри ческой прогрессии 5. Да. Рассмотреть норму квадратичного числа Ща + Ьл1 17 2) = а (3 + 2л/ 2 + 2Ь 2 2)(3 2л/ (mod 24). 21 квадратичный вычет, если и оба квад ратичные вычеты или оба квадратичные невыче ты, то есть если {], 19, 25, 31 5 37, 55} (mod 84). Число ^ + л/^ является корнем полинома X л о -]4х +9 с целыми коэффициентами. Группа Галуа абелева, имеет порядок 4 и изо морфна прямому произведению групп порядка 2 Группу Галуа составляют операции замены кор ня ни + л/5 полинома J{x) на сопряженные кор л/5. Л + л/5. л/^ л/^ И тождествен пая замена. -_■-■ S, '.- ' Глава 6 5. Нет. Эллиптическая кривая содержит четы ре точки порядка 2: (а, 0), (й, 0), (с, 0), Ра,. . Рассмотреть прообраз произведения элементов, соответствующих узлам решетки. 12. Нет. ~ , . 13. Нет. 18. Ошибка заключается в том, что нужно искать кратность нуля функции на эллиптической а не рациональной функции при х кривой. Функция X имеет на эллиптической кривой нуль задает вертикальную кратности 2, касательную так как х в точке (О, с дивизором 2((0, 0)) 2(Р OD 19. / х(х ции: div(x) 2(РоО 3(РоЭ div(y) 2у 2((0,0)) div(y) = Поэтому Дивизоры линейных функ 2(Ра, div(x 2(( 1,0)) ((О, 0)) + ((], 0)) + (( 1,0)) divOO di v(x) + d i v(x ((0,0))+ ((1,0)) 1,0)) ip OD Hop мирование в точках P, Q равно 21. Нулями функции являются точки пересече ния кривой у и эллиптической кривой, всего четыре точки пересечения: Р 1 (О, 0), 2 5 1), 3 (2, -4), 4 4). Для нахождения кратности нулей построим дивизор функции. Проводим секущую 1\ через Рз, ^4- Получаем третью точку пересечения 5 (-4, -4\ Секущая задана нх^лями 2). То, что сомно- функции >^ + 4; div(/,) (Д) + (Ра) + (Л) 3(Р OD жители простые, следует из мультипликативно сти нормы. Проводим секущую /г через Ps, -Р5, заданную н\^ лями функции х + 4; div(/2) = (Р5) + (-Рз) 2(Р OD
449 Проводим секущую /з через третью точку пересечения 2 ? 5 Получаем липтическои кривой требует полиномиального 1 (0,0). Дивизор се- объема памяти, а разложение квадратичным ре 1сущеи Тогда равен div(/i) div(/3) {Pi) + (r-Ps) + (Pi) 3(P„ шетом — субэкспоненциального. div(/2) + div(/3) = (P,) + (P2) + (Рз) + метод является частным случаем раз + (Р 4 4(Pod). Проверка показывает, что /./ гз ложения на эллиптической кривой, если в качест ве кривой использовать вырожденную кубику. 2 Полином из г может быть разложен с 25. Точка имеет нулевую >^координату. 26. Да, если Р — точка перегиба. полиномиальной сложностью (см. 28. Если идеал, задающий алгебраическую кривую, не является простым, то координатное кольцо имеет делители нуля. Если идеал максимален, то координатное кольцо целостное. 30. Представить / как рациональнхто функ алгоритм 7.4.1). Кроме того, вскрытие такой криптосистемы требует не разложения полинома, а лишь нахождения степеней его простых делителей 5 так как конечные поля одной и той степени рас ширения эквивалентны. 15. 3 Показать, что существует кривая 1 цию, в числителе и знаменателе которой стоят линейные функции, задающие прямые. Функция определена с точностью до константы, но при делении константы сокращаются, то есть можно квадратичное расширение поля рациональных X + В\ (mod/?)) с числом точек/?. 16. Эллиптическая кривая Е(¥р) определяется своим полем функций и может быть описана как считать, что константа равна Глав л. 10. Пусть п ЧИСЛО элементов поля. По fi скольку а' = а, решение уравнения а имеет вид X а г I Глава 8 функций. Квадратный корень X 3 -\- Ах-\-В МО жет быть описан с помощью непрерывных дро бей над кольцом FJx], так как из 1 + а X 1 + а следует 1 + а X X. то есть 1+... X 2 X а . Замена в непрерывной дроби а на кубический полином от х даст эллиптическую кривую. 2. Защита от несанкционированного воздейст вия включает в себя защиту от непреднамерен ного воздействия. . Если нарушитель вскрыл ключ, с помощью хэш которого вырабатывается ключевая функция, и создал с его помощью сообщение, это будет нарушением подлинности, но не целостности. 4. Это будет нарушением подлинности и, возможно, нарушением конфиденциальности (внутри системы безопасной связи), если сообщение должно храниться в секрете от пользователя В. Предписание является частным случаем разрешения (разрешается делать только то, что предписано). 10. Для того чтобы гарантировать безопасность, нужно, в частности, показать, что предполагаемые недокументированные возможности не могут быть использованы для построения атак. 15. Транспозиция является инволюцией а любая подстановка может быть представлена как композиция транспозиции. Глава 9 Глава 10 Идеалы + 0 и порождаются ассоциированными элементами, а идеалы (1 +2А и нет. 20 — 12. Поскольку наилучшим известным мето- дом как дискретного логарифмирования, так и разложения является решето числового поля (отличия при логарифмировании и разложении не принципиальны), асимптотические сложности задач равны. Глава 11 г ш -Л_- J ^ Такие отображения ведут себя как случай ные. 5. Группа точек вырожденной кубики над изоморфна Q . Поэтому ее ранг бесконечно ве лик. 9. Любая симметрическая функция автомор физмов поля, например, след. 10. Все. 12. Для логарифмирования в группе нужно сначала разложить число /7, а затем лога . Асимптотическая временная сложность ме- рифмировать в подгруппах. Задача разложения тодов примерно одинакова. Разложение на эл- значительно проще, чем задача логарифмирова-
450 ния на эллиптаческой кривой. Поэтому найти логарифм на кривой Е{Ж1пЖ) значительно легче, чем на кривой Е{^ р 13. Кривую с числом точек/? - I. Изоморфизм с мультипликативной группой поля устанавлива ется спариванием Вей ля. 15. Потому что У(п) Ж/гЖ. 17. Логарифмирование выполняется так как для орбит автоморфизмов. 22. Не выше 0(Л), так как точки кривой 2 ПО модулю с гочками Е(Ж/р Ж) сравнимы кривой Е(¥р). Поэтому можно вычислить логарифм для редуцированных по модулю р точек кривой Е(¥р), а затем уточнить его значение по модулю/?. -■J ^- j Глава 16 _ А ^^-Е Глава 12 1. Рассмотреть множества задач, решение каждой из которых ведет к нарушению безопасности. 5. Поскольку разложение и логарифмирование выполняются одним и тем же методом решета числового поля, сложности взлома протоколов примерно одинаковы. 1. Если шифр вьтолняет операции А и В. комму тирующие между собой, то для двух циклов шиф рования (ВА) ВАВА В(АВ)А ВВАА bW. То же справедливо и для произвольного числа цик лов шифрования. Если А — короткая подстанов ка. шифр 3 11. Отобралсение х ^ х + Б (mod р) является Неподвижная точка задается биекциеи поля уравнением х 3 р- X Б (mod/?), где Б 1,0,1}. — перестановка битов в блоке, то такой эквивалентен одноцикловому шифру измененными операциями подстановки и пере становки). 7. Пусть максимальная вероятность по явления одного символа. 1 юскольку + 2 + Глава 13 + + N ТО р(\ N 1. Отсюда следует. 15. Решить несколько вариантов системы что сложность дешифрования наиболее вероят двух линейных уравнений с двумя неизвестными ного символа полиномиальна. Далее процесс по X, к и опробовать найденное решение по откры- вторяется для алфавита из TV- 1 символов, тому ключу. 16. Нет. 10. Поскольку операции однобуквенной заме Глава 14 7. Использовать подпись вслепую. ны и перестановки букв в блоке действуют на одиночных буквах, достаточно рассмотреть, во что переходит буква X на позиции /. Пусть шифр А заменяет X на ^', а шифр В перемешает букву с позиции / на позицию/. Тогда АВ и ВА действу- 11 Использовать протокол 14.3.1, в котором ют одинаково и переводят рассматриваемую бу хэш-функция зависит и от сообщения. 12. Обеспечивается защита от повторов Глава 15 кву в букву X на позиции^. 14. Треугольная матрица над F2 невырождена тогда и только тогда, когда она содержит единичные элементы на главной диагонали. Остается 1. Найти число точек над F5 и след эндомор физма Фробениуса. 2. Вычислить сгенерировать случайные невырожденные верхнюю и нижнюю треугольные матрицы и перемножить их. 15. Матрица над Ж/2 Ж невырождена тогда и (mod/?) и разложить число только тогда, когда ее определитель не является р на простые множители в делителем нуля (является нечетным числом) Такая матрица может быть получена как произ Вычислить лГ-^(rnodp) и разложить число ведение верхней и нижней треугольных матриц. р на простые множители в нечетные элементы содержащих диагонали, а остальные элементы на главной произволь 4. Вычислить V-2 (mod/?) и разложить число ные. р на простые множители в Ж[^j 2]. ах 2 16. + Ьх Достаточно рассмотреть полином 17. Достаточное условие цикличности группы вида х(ах + Ь). Он является подстановкой. Е{Ж1пЖ) взаимная простота чисел #Е(¥р) и я 20. Использовать равенство ф 21. Нет. п если значение и встречается лишь однажды, то есть полином ах-\- b не имеет корней в Z/2''' Для этого нужно, чтобы а было четным, а нечетным.
Глава 17 2. Это будет атака, аналогичная атаке «бумеранг», с теми же критериями эффективности. . Для того чтобы сложность метода Андель- Атака может быть эффективной, если удастся мана-Ридса превышала переборную, достаточно, сократить суммарное число активных б'-блоков в чтобы сложность вьмисления производной пре- характеристике по сравнению с обычным линей- вышала сложность перебора. Сложность вычис- ным методом. При этом итоговая характеристика ления производной для операции подстановки может иметь вид пары «песочных часов». Если равна 5. Сложность вычисления подстановки для линейная сумма имеет вес 2, то атака не будет блока в целом равна 64 • 5/4 = 80. Сложность вы- эффективной. числения производной для двух циклов равна 80 и т. д. Если в качестве критерия правильности Такую подстановку можно получить из произвольной подстановки, умножив ее слева и вычисления ключа использовать условие равен- справа на аффинные подстановки ства промежуточных текстов, зашифрованных и Предположим, что разрядность подстанов расшифрованных на половине циклов шифрова- ки значительно меньше, чем разрядность блока. ния, то сложность вычисления производной оп Шифр с перестановкой имеет характеристику. ределяется половиной числа циклов. После 20 аналогичную приведенной на рисунке 18.2, тогда циклов сложность дифференцирования примерно равна сложности перебора. будет как шифр с перемешивающей матрицей в общем случае будет содержать значительно большее ШЬ) ф(а)ф(й), ф(<7 V Ь) = Ыа) V ф(й), число активных ^'-блоков. Ыа) Ыа), 7.9.1 основу безопасности криптосистем с открытым ключом положены задачи: определения структуры и порядка абелевой группы, дискретного логарифмирования, вычисления категорно- го морфизма. Эти задачи решаются со сложно- 6. Например, шифр из примера . /7/2 + 1. 11. Число битов в сумме учтено при вычисле НИИ преобладаний для подстановки. Глава 19 стью, не превышающей квадратного корня из слолшости перебора. . Самый простой путь — изъять из алфавита одну букву так, чтобы характеристика кольца стала простым числом. Другой вариант — ввести зависимость между двоичными разрядами, на- этом случае оказался бы известен от крытый текст, шифртекст и полублок промежу пример, управляемый циклический сдвиг. 14. Пусть Х") <Рк отображения обрабатывав точного текста, являющийся имитовставкои. Для пар открытый текст/промежуточный текст и промежуточный текст/шифртекст можно применить метод продолженных полиномов Жегал- кина. мого текста и ключа, индуцирующие свойство дополнения. оператор одноциклового за . Гарантированно большую длину периода дают (криптографически стойкие) генераторы шифрования полублока. Тогда свойство допол псевдослучайной последовательности, реали нения можно записать в виде ф^(х, @ F(x2, к)) X (х,) @ РШх2% Щ(к)). зующие вычисление элементов циклической группы. Например, если 1 точка эллиптиче 17. Нужно, чтобы в матрице у элементы в скои кривой над конечным полем, имеющая про- — образующая группы F,., то каждой строке были равны между собой. Для этого должны выполняться соотношения: стой порядок г, и последовательность младщих битов л:-координат точек вида Rt+i = IR, будет иметь длину / Л^ 00 ^00 + ^01 N 10 ^10 + Л^11 N. 01 N 10. Использовать схему Фейстеля с хэш ? ^00 + ^01 11 Л^ю+^и 19. функцией в качестве циклового оператора шиф рования. 15. Такой шифр задает случайное отображе ние, обладающее сжимающими свойствами. По скольку почти все случайные отображения больших конечных множеств статистически Глава 18 1. Младший разряд подстановки описывается линейной булевой функцией. одинаковы, то псевдослучайная последовательность будет содерлсать непериодический отрезок и цикл длины 0(2"''^) каждый.
Приложение Эллиптические кривые для стандарта подписи ГОСТ Р 34.10 2001 приложении приведены эллиптические кривые, допускаемые стандартом ГОСТ Р 34.10-2001 для использования в протоколах электронной цифровой подписи. Эллиптические кривые построены согласно методике, указанной в главе 15. Эллиптическая кривая в форме Вейерштрасса А Ос/' X + Лх + 5 задана над простым полем Fp, характеристика/? которого — ближайшее к 2 простое число, позволяющее построить требуемую эллиптическую кривую, число точек имеет большой простои делитель г. ил. Эллиптические кривые с вычислимым числом точек, для которых характеристика поля представ 9 0 ? ляется в виде р^а + 2й , задаются уравнением у X 3 2 2 4tx + 2t X, Для того чтобы число точек было удвоенным простым числом, должно выполняться сравнение (mod 4). Замена переменной X Х4- 4Г дает эллиптическую кривую 2 X 3 10 t'x 56 3 27 Полагая , получаем уравнение кривой в форме Вейерштрасса с коэффициентами А ±1 и 14-15 1 15 1 Ell 4 (mod о). Для (1, 11, 13, 17,23,29,31,37,43,47,49,59,67,79, 10К 113} (mod 120) число 10 я в ляется квадра тичным вычетом по модулю и ? в противном случае 1. Переход к скрученной кривой осуществляется заменой знака коэффициента В. "У 'У Эллиптические кривые для р — а +2Ь , число точек равно 2^, А Таблица П. 1 ±1 2''' ~р 45717 155853 294669 624429 752445 789117 953517 2486340836567023\ 86098364344257497\ 571203 2239829263938443\ 17955090748774928\ 924545 23600191269460415\ 82426043854405666\ 08679 12528921379755035\ 47787045322594781\ 35501 ^__ 2434579060764774\ 08131426752041683\ 495305 3149544021052245\ 14476176203336382\ 090291 81305455637282919\ 38395034443527400\ 9437 174178103118134225847198\ 85034219460724905684667832\ 966521244768988454459108583 718597679269479392066802\ 94106408658157907816178766\ 830442728167637740455861353 5228999617785119210892060\ 80553207725976423484224398\ 15237507522470460794360376 4599569958990904624701441\ 2292805642856436216081218\ 36103452302970636034583465 333121955410060434348690\ 09657399604973842039839677\ 701668805205643554975116159 6514282522872323520527489\ 5720528139523415786553384\ 981841002955913170905720081 8086928346498881558327941\ 8301093879166501722064156\ 144103012648542005831261204 74561039627966581056857875\ 573048444245925609260826I0\ 1288149115076529326510279 91053207912I69946778632452\ 73325644774634265448717520\ 0404087744034005591294990 24775978182928128779582773\ 94668101095942939987554045\ 5573081603636358824635743 4164698571494390873453560\ 7636528527876114806649915\ 4499806432044948884031261 5I9769286464I98679775I549\ 2243743939885127678042469\ О10589176787022382012376107 7242146783919516839068005\ 9237593703889260723496268\ 431088173642846501524773051 8748879263268813115844234\ 3792728I396788562879491749\ 7828082600675456098560117 1031733 32376822076042615\ 23679715871123282\ 3615 3707514659170686838137311\ 4298152877024040657278077\ 9215121365418I592I0I2057766 7084757749935383817873816\ 5788465873108512497935961\ 196586807472118029204067693
453 2 ~p 1063749 I267029 1340373 1352205 1358325 1378845 1531149 1582629 255 -4099156348372528\ 41I88616798I57597\ 88793 29022759085966299\ 25036851333833065\ 72701 1582432648268963\ 01364925528774115\ 36435 23204515768527578\ 69598040090541593\ 34559 32261850039201125\ 885724I7964I41434\ 03445 3037023596646169\ 26163299283579572\ 020049 1020244536181793\ 77803407331227029\ 093563 340I328905606465\ 67099330454510663\ 444209 8457328746926381522469820\ 0122893630696762480089254\ 939953573566349964915374442 -465713005807060842460334\ 47I46095131076464617656864\ 236527484944625437653944222 I0I2665606515131957522341\ 990616487631694003 82912397\ 267193879622116688245112749 -63I7107686079422647835437\ 2118966201894427290I43205\ 5001623976417I7217269997I68 -6608543297415199784526060\ 15926535119520430982044880\ 12142818096197656702611736 5017432325246I28335992654\ 876503 83 521242157500737910\ 9194770782773 8004147922512 7409151137832277I13975841\ 2131533639754761282206802\ 805180885360252639613347593 9628487269027973483516408\ 82355773086624I2978248217\ 767140288257087272029770084 Продолжение таблицы П.1 6224551393545006851822776\ 6918847703979979640073931\ 443673403860723123190930731 4378828887803262539932213\ 2245346332955199731591532\ 622815982274443197291734847 9603376960956023990036778\ 2576146960021036817559305\ 196613121503339900869205411 1041224277416516425 П 4015\ 8277493627106758174677085\ 5801055652358951404838888 271831313 8704006772914855\ 65405613I7395I84583681I77\ 008530904356530795094774855 10428 89001217944462206594\ 2287423791851330089285356\ 110186592332273232658893563 2546454685220I76056863258\ 1602856683993312459792617\ 308868119318643653628598030 71462I2900337769869894426\ 8033415599I00379284237579\ 929427990738649850944444118 n.l.D Эллиптические кривые с вычислимым числом точек, для которых характеристика поля представ 9 2 2 ^ ляется в видер = сГ -^ 4Ь^, задаются уравнением у =х -\- 3ktx + 2kt% где к И 3 3^2 . Поскольку О 2 (mod 4), то -I является квадратичным вычетом по модулю/?, то при 3kt ~ для некоторого t. Число точек на кривой кратно 4. можно обеспечить А S в противном случае А Эти эллиптические кривые изогенны кривой су = 1728, которая стандартом ГОСТ Р 34.10-2001 не допускается. Таблица П.2 Эллиптические кривые для р = (^^АЬ , число точек равно Аг л^■.^i-'^ ;? о 256 254 90983 101027 139515 169275 14743833257207118\ 90837166346533113\ 29787 1631458928808785\ 743 83727781440101\ 058645 82183354317676830\ 10060664656879258\ 7423 14842130233604673\ 53685018292100910\ 26871 34390778264990488403408089\ 71407844022638609228793300\ 0197748802842577482514971 11287703231698444800901207\ 26856598990720307459502312\ 0121732749266735635065018 10366985147989829161774610\ 77904247777759937753721598\ 54564370491263415139826889 84873128975653673665462058\ 10747703196502339432754088\ 6352949036700735058910932 11238560492870238837383361\ 0912486902I842049152229961\ 76475643755103 862941092056 10730883075254907777892378\ 5072997I098956095022I8I896\ 19141163367080229598221047 81292489056065840012392349\ 02961024173770630603456975\ 4271331141385224373132837 100187532231285765022492I3\ 48202786382865666281162309\ 03586295587393880421130065
454 Продолжение таблицы П.2 2^'' - р 179183 19023 9 212555 232019 264935 293039 429219 453675 463379 472595 515387 5884802690407868\ 93502890062958131\ 66213 7112128161820191\ 94346224067613441\ 49885 8329526038119998\ 12800867335343145\ 56969 220247 I 61635422327721611\ 63003886322194210\ 3695 16619802067438825\ 63709843649411794\ 60475 14721549947194681\ 65766017893339731\ 04583 5605782868741979\ 31849552327585389\ 81785 1533797307026822\ 68125694158443261\ 120125 13170050223368737\ 45425990377289475\ 08311 3156519232024768\ 40591576690435402\ 95405 98412100121113376\ 44912610136386245\ 3971 14725457712601468\ 09464375204407921\ 65143 94443682445053440467I99076\ 79745504939568828732099097\ 1641504199016568293341755 81489647217457299797888289\ 4036I623146281486562000730\ 1448682595965189673939166 42210445352079941645511695\ 90762518642697685131242995\ 6865127516464368442598845 77773208948293988519623716\ 73678776936100774509747527\ 6280983279337959413389308 68327677192167372166265802\ 91759455710630968973638305\ 2624810517007727963272303 71312039749891848820348340\ 75478626287753899664065540\ 0358308579652107721720390 5953268645I761423054568545\ 79519663878963056558704226\ 6054227145897852277344249 4250936860989075462574I393\ 57211025357962847078681782\ 4117148271667675834610379 51481982846671448067605354\ 95673915078233805290401189\ 6666383067076738692578505 14366560473624713%9746950\ 79917846650549650049801017\ 5620424616381632278186280 57980108275386721207537268\ 84375746230919899603037142\ 2133115799079940776924074 41044643075194244654083015\ 76664528519I87276651I99686\ 7034604165964832299499707 62252548I7I945218964692630\ 35275382888000579524854807\ 6270248922724326380467698 7870954278427869553806I854\ 03 851690545128598947566473\ 0259075118594408975244407 90815795420I494943I5496984\ 78169909402755470362248740\ 430528083474354692980854 44714997549423484081867197\ 67659748020061449274938197\ 4884280839805880451508330 36114012281207804701383085\ 97886584963171735246722091\ 2450268901552269437427832 I1323082348399026813978049\ 74629861628861413116992266\ 01989815020721243865523808 5964312177880509815666I509\ 76871991353405591332533259\ 2I53278515532094486868I 72201357130151007568024980\ 631235295834533232I3723999\ 1689499059664499183555516 89126637818168980528854704\ 490313 80569574051007545765\ 0555001025998482171921249 84575564730966254623531415\ 11636437391617773920298287\ 5153235673929714640175431 21680681783935986284311254\ 62125282162628770485728211\ 7478000228706351974190300 89033449188360469766338787\ 83401583П0833694005691875\ 5906792640209I07789752612 П.З. Эллиптические кривые с вычислимым числом точек, для которых характеристика поля представ ляется в виде р 9 сГ^ЪЪ 2 S задаются уравнением у 2 х^ + Ък^х + Ikr', где 3 11 2 Поскольку р (mod 4), то -1 является квадратичным вычетом по модулю/?, то есть случай невозможен. Число точек на кривой кратно 4. ±1 в общем случае Таблица П.З Эллиптические кривые для/; = , ЧИСЛО точек равно Аг 256 254 62703 1248754294576226\ 94264379308769150\ 12425 56913011281336358855717569\ 45018050084078422784567395\ I136660193904459684623824 77089865091439371310603048\ 9282317421I154028441036482\ 3475959978294088562720208
455 Продолжение таблицы П.З 95385 117993 213549 219465 231459 238377 257037 260013 321189 330657 379653 389757 394815 434265 453543 3910594134594038\ 50387498871926181\ 01423 8897516304826794\ 68755465801913699\ 05455 1632071973292739\ 88957947583064782\ 80049 14801105692119561\ 70688494410728960\ 02323 16833353011205453\ 67022176176598595\ 45101 1468687929123193\ 06888369440766207\ 152333 I496285344888158\ 33866786700974100\ 539943 1679551425039547\ 09707286653776999\ 754489 16957293303105859\ 57203261152095653\ 66087 16977948996529911\ 63114608391848024\ 32011 1318983820132904\ 95524466052736677\ 15443 5 17012550483742204\ 54714519314027158\ 07951 16914824354757107\ 78391903223220262\ 64347 -4317710254083992\ 58298555418486495\ 10255 _ 1673544245412488\ 55930016090621838\ 503869 1028 832443119287308254300\ 27885321254696601372180004\ 049216640507955002432558081 5610205958802009423807665\ 94718051035019092355022951\ 7046194265569554376573827 63335585118893127465502010\ 8407228296I661279119779271\ 2174672009611173982313600 554505I320446321318043I33\ 4283842498155499049I567220\ 274I9744703939370605518329 37996804289649820416494709\ 39999844436303446006583883\ 7701521575646901651137181 61244367724787781035208I06\ 22507740837337774642734926\ 3833558994290949880227806 -42429267194795015613I1283\ 07889523950805301795431546\ 50029826292345996086282297 69126893891251862487193883\ 85204694732561431327193701\ 6636695107842858034562217 90680125006691089571922219\ 50998402443005500993194178\ 879073 707762072473 3 8 06545 9265605337964124569058900\ 68453568025983094536902736\ 762096320281705715512870 1028696179503 823400593204\ 38355714914807740642911865\ 028209070880466356486564753 9754762175156586887504344\ 79018695803867629083415110\ 65155712668796355820826234 20306799441477403380550934\ 46492549695248065945328364\ 423024218 8060878205152227 45243504256379360460208313\ 82589946100440588392475541\ 7116426662449933940662855 11212713579390414101294328\ 47233204317736113286841191\ 71640747518831808892536378 80752985092019104150507560\ 9406513920I9429I6330751267\ 3 773279214043142018424823 17641537354796589006531660\ 58694606544572255095038997\ 0843346690132402720889929 49349929033480519321933415\ 74449221927I76343310502827\ 4267400970140714240035928 66330462241537008352098797\ 17391702817641331446933417\ 5849100195750196509075893 47258069870340517878487298\ 52259407710453859943040653\ 5105709234954198566414509 83592002088008369308491464\ 10588769659595751955548131 \ 6639549934098609445647125 32000379479181298422542676\ 44398729496352659367391179\ 2457456518958411024510417 69864115437180019886687260\ 84952740888065918689298558\ 5480749308749391862138672 50267549154303I473I56I234I\ 2269166397228I900767544423\ 1615667526739542181584178 57933119098008231467326991\ 0627857827572I271165398356\ 7828764946763952586063282 61181630965561307561395639\ 90129531522619240278997784\ 4886897777973684748046317 21180070047659303013629807\ 94890720289552774952973884\ 5099585373166583617007987 11169624099331291169413248\ 90863113033610406391457239\ 82459392741220522790823 87 85045181826419141659536821\ 64758758832480454606039608\ 3468690695180523723837673 91375786152233456623759981\ 30376004860798267116803064\ 4896145898862632335132440 ПА/) Эллиптические кривые с вычислимым числом точек, для которых характеристика поля представ ляется в виде р 0 0 0^9^ а +1Ь ^ задаются уравнением у =х + ЪШ х + 2kt\ где 3 3 Поскольку р (mod 4), то -1 является квадратичным вычетом по модулю р^ то есть случаи невозможен. Число точек на кривой кратно 4. ±1 в общем случае
456 Таблица П.4 Эллиптические кривые для о = а^ + 7А^, число точек равно Аг 2^ 64967 254 79647 91635 130383 207347 216287 283619 309275 429219 482727 490127 691299 70423 5 717963 738899 782327 1330967813620250\ 27119606853567945\ 675065 5784006770953001\ 00319642880274495\ 99653 11491366607911365\ 28994704607020785\ 57105 15071073133937916\ 77862787413249621\ 01623 33307988092523116\ 46951107119350604\ 1353 11541561857393525\ 03182324957115211\ 98843 16999886793208592\ 97288601872798983\ 54273 78785975345956091\ 09419218673490030\ 1053 14939355983376488\ 33591902879449959\ 3561 15921693248382816\ 04038732872677544\ 39111 16996916160130541\ 17783926769438541\ 69027 5726417747570395\ 94524603347922062\ 94279 1496539304534962\ 548800312862б9859\ 336363 11356186316470898\ 59890719881994067\ 8741 1568910650654872\ 8427960424И08455\ 592543 1296426307535822\ 88951672493631887\ 505733 28387972031714775692393191\ 18302484189733090027965529\ 7738176714347407617818180 72225183367830918495196105\ 88017202786408187206268553\ 9756465666847654014296040 57924860862554806464835545\ 17802730579787126591184517\ 7613722308454454450707768 92684534874350524825754961\ 04673302693144149316071803\ 7434748205731088127082063 89085409626589763683729653\ 85842553703074634839204537\ 403576036105983360971304 70136286761399630798014945\ 42592387922165968573997954\ 5561163026349081706857823 29139877655185727094092058\ 149 И 592475044329969732436\ 4140616567076013954140712 7478148627568422951930601 08422007208848833344327913\ 4192444716543036854097302 89747789553986161602780786\ 25457703702206531707660793\ 9045631694693934151915138 15126616411682981954453566\ 70553439930847528229055308\ 3999755590777031227162436 11099325613288191775364870\ 09601104791043683302641419\ 09735050505508634771789771 77118539255676417938650833\ 92059447953829296248986114\ 468795501950645224573597 92124216359641030749842126\ 40683214568283511056333403\ 636612700591221212186552 85218325813799902653439050\ 70525832157585936205176091\ 5673977074482996005579794 43709237324117649916207266\ 97141621591896605241540637\ 0261848713032228676688721 16833468548813179128824967\ 66291526022831963538242172\ 581294088536285554881581 492457503 82567663461020848\ 81029604944482956737660774\ 4908285536120563655190584 24464938484036688032869753\ 04916825094500090889483550\ 2455395540914260100734508 29184572007960748394486636\ 51379973375018049409608041\ 3464131116540144359641489 10581683391867010229907741\ 60783850381695787311405879\ 5618318523639901597072581 94794315860127441877996055\ 24628582531858264448533849\ 2499414075160522647403677 743816577111161905122344П\ 62989671993119119616615600\ 9289719897342204328839244 33043917800991321043596653\ 53 327848473415293409042791 \ 0915611315079481487643749 0486905793918813688948444\ 63580043380224386687799922\ 6528893035838863044472628 60609701776525282373039028\ 08661388196336162085281738\ 7413294565465036325308661 73416700516842565237205663\ 41776161108514323242050955\ 7222924982459295280921345 84959092383454289632178223\ 58789830077988727212897535\ 6461376920994392298265867 33522597315065140305397780\ 33952075319781837001415427\ 5616975700903060139085402 21322944229167524350510719\ 50949101502373586719944091\ 6804888500217193239634547 79666562254116250975583648\ 96016941531542570279012459\ 2410510780072758630890782 71164375274306595479632930\ 93745678152301913 840266743\ 2705519209200330011888608 84142509010701179801856847\ 27610206541317472944159674\ 770635069323442754595981
457 U.5.D 11 Эллиптические кривые с вычислимым числом точек, для которых характеристика поля представляется в виде р 3 Ъа \\аЬ + \\Ь , задаются уравнением У = д:^ + Ък1\ + 2h\ где 9 7^11 Для этих кривых число точек является простым. Если существует эллиптическая кривая ДРр) с числом точек г, то существует и «двойственная» кривая ^(F,.) с числом точек л. Таблица П. 5 2 2 Эллиптические кривые для л == За" + ПаЬ + 11Г, ЧИСЛО точек равно г 11932201199V 89167196601V 1I933708036V 56406066632V 11933708036V 56406066632V 1193220П99\ 89167196601V 3I370394273V 70590426363V 31371901110\ 37829296368V 31371901110\ 37829296368V 573 31370394273\ 70590426363V 35235430338V 38291982381V 749396434946228 84499000791V 53598742115488586052436260V 3456260258241995009869271 9182861863 8450877742778734V 29384325283736015866872594V 4495140169505059898796779 279874547187504336I6107360V 12660339672011731862635562V 4230610758309922887925573 42248938039502771428666723V 939455993078285634075438I3V 6975215594202I905889682I6 863319326430840305245338I9V 3925271593930336205234454 54507142450020364936097446V 06993286733375219831248IOOV 6313469693567888447156914 35236937175V 05530852380V 35236937175\ 05530852380V 933 75196738890V 13123673262\ 35235430338V 3829I982381V 10342989267874289209I4805V 01214514092142237722515877\ 443557851426501575937846510 75198245726V 80362543209\ 613 75198245726V 75196738890V 80362543209V 13123673262V 12497568779037137727875992\ 50864730970220202198639078V 0994968927933527114236583 744I7596245655060395400428V 55643224154059636077389390V 7306986956375769968926600 58367671822063441915696533V 73790690725750859981480886V 6483 817346698428737912190 78180275501V 46086163889V 7818I782338V I3325033832V -6059713796361171475939947\ 01I17745654264508001777608V 59085941838082351906668419 78181782338V 13325033832V 433 95968482419V 0094569906IV 95969989255\ 68184568980\ 78180275501V 46086I63889V 653 1057303292575036655467419V 49855712273227349215722520V 264188291501695582467536946 95969989255V 68184568980\ 72547989196V 88479152318V 95968482419V 0094569906IV 333 7257030325IV 19703465664V 80241703116102673993606451V 151197549687I9743004942633V 3537323949725321860654234 7257030325IV 72547989196V 19703465664V 88479152318V 82407390533495886104235405V 67247250064084463 842399179V 8001375127930948252064762 6364723731I356853045755549V 26822250685690388727994844V 3366802560024090103748134 10248845357281994930457322V 68407902I49552903279367084V 02480482910133383176035587 1455I494679V I4553726085V 79198368618V 22320799946V 837 -4014571О12729031028497079V 00181786054750008585261049V 3 8256417178543468159049904 1I258458927084367265568298V 5160908617281952658108732IV 96224990503641632074529679 1021260212696227289736623 5V 39304645966565083277597938V 93333089139886774367378828 390038456876667I0235642721V 0992457474n88329616465018V 822000289729248428I503997 62739372213125977369901449V 26739002078435569247654603V I84393094862343550543836 43424520435456678390081059V 03245755376572253938I80367V 7359331907058763408635522 I2570427447764547970326338V 85255144858956410414747084V 9504588086701827961768989 249597549502I0735235757775V 42444438521482455010816167\ 7547992744553398467535186 10635298392030334533404555V 76208343532314932292267077V 0027206322I74893469345297 14404324443765726679094089V 5841665430I735544051842333V 92747512847953 3 3231230625 5569889753529I027942610355V 558I2858762388890516988373V 8174748424551031409632373 78755747049779939530I40972V 43139027485084013594485712V 6607649960631249680931102 I0570960246544597645284412V 30310516186379436090336122V 37818007453145632110312431 626283363109I91582869868I7\ 831075945433284I7568425222V 9447238186298359049626409
458 Продолжение таблицы П.5 256 14553726085V 22320799946\ 837 14551494679V 79198368618V 797 3393I359257032620441836294V 4272229476198 8441810907023V 2462696320442522071121706 24935825I82I019378360I6911\ 750352330355U623552547226V 1067412447782905123492250 11.6. D 19 Эллиптические кривые с вычислимым числом точек, для которых характеристика поля представ 9 9 ляется в виде р - 5сГ + \9аЬ + 19й , задаются уравнением у 2 X -^Zkf-x^lkL где 9 3 19 По скольку (mod 4), то является квадратичным вычетом по модулю р, то есть равенство ±1 в общем случае невозможно. Для этих кривых число точек является простым. Если существует эллиптическая кривая Ei^^ с числом точек г, то существует и «двойственная» кривая ДР,.) с числом точек/7. Таблица П.6 2 2 Эллиптические кривые для о == 5йг + \ЭаЬ + 19* , число точек равно г 1Ъ^ 18792966V 18801537636265237\ 01052229V 17750135 59087807 _ I880I537V 118792966010522295V 63626523V 19087807 77750135 19221547\ 1192301189234I2331V 29766938V 10863985 92201757 19230118V I19221547297669389V 92341233V 12201757 10863985 50370835V 50379406873263071\ 24752012V 16190947 97535987 50379406V 87326307\ 16190947 13279558V I13280416001739204V 50370835247520129\ 35987 83916490V 109809235 991173507 132804I6V |13279558839164909V 00173920V 191173507 409809235 20187432V 12018828918797605IV 02540175V I30185647 711566037 20188289V 20187432025401757V 18797605V 111566037 130185647 21656608V 21657465840316286V 65403558647826861706805137\ 8076706220613347919342I437\ 9323018232764097154749567 597031258687012I3843256498V 21082346250155953547513335V 703423062055993111225463 15750434788603993783I88966V 56993636027784655443143247\ 0061781177996492429719154 88085594249836544198432484V 28240683119454394444119057\ 4508994522960389293886290 11125624292252006316505388V 788 87315654859329708777319V 47051117962370719320279988 76756898560853769563551978V 10691520578841325297094501V 607071278504961382131677 11400672923347883874018904V 49968016761542713630483674V 53276643003986123847437941 55925463270937968877606461V 29338753269801035510396299V 229718853233265078674357 1059240673389737954765223V 21442443258101763488500131V 890392265370849301323943233 34991302227384873750693300V 42484108765924015989064053V 05215742243924696048077 67774I99V 141257677 222641495 32318893832868354530989257\ 15258984468503105467768053V 6562671333685665873579762 10837982228400479427306222V 39859962895623310202642796\ 43728I87192694668306605177 512686243547403988I7747253V 6913534978348591I256837239V 93086042519261I1527947542 79909227689667889357242727\ 7I945534002860672448610708V 363321348907259904667711 I05459086327474203818I828IV 1337358265937I286666142101V 70921826865219487791603911 43071913745783658998943647\ 20020859469690304363I75733V 6904511028262501040228751 31626556546083265100384199V 11920339510363068781025942V 812275066791944359791215 1008596353005584973I379419V 31981265182969619831283788V 75572414163466977213912334 9859475272869I9630400875I8V 14180379666930005596910708V 5890892680953870397570044 584846495188833 82795175543V 62548608612587645056914959V 3232873057581112110161005 68862734783479897847054225V 691566229205729924813 82980\ 3731584519750619667893289 87238481696656360159317716\ 58433247885976881093570226\ 9622534901554247472908435
459 256 256 21657465V 21656608677741992V 84031628V 64П51617 22641495 26488434109038319V 30289297 26487576V 94646402V 511684387 26488434V 126487576946464025V 10903831V 111684387 930289297 31022824V 3102368I289628857V 12705456V 140868135 322273807 3I02368IV 131022824127054563V 28962885V 740868135 22273 807 Продолжение таблицы П.6 !0769953066998068180789504V 34043973724885013208966993V 50547978871165908781552821 30974982917502976421275833V 03884240190272450721452747V 678774415272344I48722095 23965997553000355623653117\ 8340I482316481351543395598V 7698157208107901886442584 I0673989893487297902750872V 14681828211223442702533996V 25006997178213152016772759 28027032891175022838627523V 36501778947321075657738393V 5485279302733863312423747 98293388174138137451989377\ 01804774693431474504038503V 3553392344509699771798919 99037946946113502621980036V 2375439I756107652539252772V 3158261171643772640244908 53944095238070949365585584V 57195159707757458990006175V 2050467328127140687352405 58716162547590255718595260V 40296851876465800844598079V 5813798827733820924303988 77029755678491228218869215V 76579777499851531282005518V 3389307027580391861378988 UJ.D 27 Эллиптические кривые с вычислимым числом точек, для которых характеристика поля представ 2 2 2 3 2 3 ляется в виде р = 1а + 21 аЬ + 21Ь , задаются уравнением у =х -^ 3kt х + 2kt, где 9^3 2 1Г23 2 • Для ЭТИХ кривых число точек является простым. Если существует эллиптическая кривая £(Fp) с числом точек г, то существует и «двойственная» кривая ДРЛ с числом точек». Таблица П.7 2 2 Эллиптические кривые для/? = l(t + 21 ab +11 b\ ЧИСЛО точек равно г 1Ъ6 4776108IV 85498073\ 97062963 47772045V 46359740V 14170027 I7468677\ 88100733V 511527539 11469114\ 24186900V 128611449 33489799V 15253508V 745179213 33490895V 51339675\ 43021560V 48386077\ 343024967 43022656\ 84472243V 960062263 47772045463597401 V 4170027 47761081854980739 V 7062963 17469774241869001 V28611449 17468677881007335 VI1527539 33490895513396753 V62233897 33489799152535087 V45179213 43022656844722439 V 60062263 43021560483860773 V43024967 83937657404054016551071594V 88802594963747283243333017\ 6554919199091551264909182 58285095293935385165553335V 55050154142897631067292719V 2348032514817236315971550 33465069114053148008749901V 47439333532522355201682919V 1194880198241751740698830 51801464849882314462188590V 62423567773490478704601056V 6471071741695180339006063 2708506590547965432077703V 14865643124221647072640036\ 38734948847142794138460037 1385014122604552431834637\ 76312212881573286791671888V 13302832115919160259525458 45707446639647009582159912V 32406539780551724063444939V 8656011455631742706378083 93500234902717860553197658V 93207075176829703266294980V 9210109935959412698369351 36722202423905344914985326V 61959579764439273860157652V 0810379390734641727007536 39835405772332827502342845V 39510615862467013259448368V 2641927917569860448570672 20378960863265025549146635V 23948447390836095811200786V 5961227618421399371140527 28659309998367342298058536V 54531547151281460632122664V 8396637540393455092299950 48901475503066218258156897\ 74579691178096191604594727V 3450432516191200865340257 15938117425631610302565702V 63579016526396454093640258V 8119157082995069750548680 64895516214228729382510234V 24998604013616449924703855V 54134556811674740073743 40376845562260217581034970V 38883654968538304515591564V 7881058244732185001015325
460 Продолжение таблицы П.7 256 64015774V 62390626V 623541019 64016870984767932 V40540017 640I6870V 98476793V 240540017 64548606V 00267602V 484818337 64015774623906266 V23541019 64549702363537691 V01816363 64549702V 64548606002676024 36353769V I V84818337 101816363 67199606V 67200702927046489 56618482V I V97194089 380200899 67199606566184823 V 80200899 67200702V 92704648V 997194089 69455917V I 69457013580355467 21949380V 147952613 69457013V 58035546V 764941687 V64941687 69455917219493801 V47952613 31560492077362040596253984V 45218294744005944325271434V 0370507469381893822220749 94315202664053881648763529V 15338998033071405547566027\ 2641401873891002895565754 94832908577893991825630864V 8I62040I655517379998715851V 0541937380789313384292296 305638292697416768635I7728V 84008330107718661835346105V 6108589056518155888860439 71165876748687180636073608\ 4186177549702882148I382459V 8983907132927695331242516 9I3062960250885I8048347844V 37627536402770236078997270V 1287718775835013051166905 99015033315912934142496842V 01758I27832987546284033064V 1599182344602535912877792 27I29182272983772894322327\ 04207I29261002113290I16I65V 0I2827I786737936822I91015 15628105264641478486464405V 223514485702634632805I6494V 194382232555800914211777 3098125210122509798073 8662V 06551432033633316274796503V 8478329106450509145094574 24I71207542536384589026038V 22824862635453074027433696V 590298322509832044350256 130925866457192I7753973454V 34644029410635364I43520039V 5667264842258204233018679 I024I009I058I672330978705IV 17363520970874259756I68722V 10686837470113075889079145 59136879I7408885I298890080V 29426295033366359107915325V 6347695975383479841421684 1092624032857019558I876757\ 7098126953111800855I065963V 19998680389348081171414981 1891218968055881214802220IV 34444808515000850286968026V 086937004I6488959I222281 П.8./) 43 Эллиптические кривые с вычислимым числом точек, для которых характеристика поля представ ляется в виде р 1 \a-\-43ab + 43h 2 задаются уравнением у 7 х^ + 3kt X + 2fo^, где к 2'^5^ 5 2 43 -Для этих кривых число точек является простым. Если существует эллиптическая кривая Е(¥р) с числом точек г, то существует и «двойственная» кривая Е(¥Л с числом точек р. Таблица П. 8 Эллиптические кривые для » == 11а^ + 43аЬ + 43*^, число точек равно г 43952937\ 43957218382503620V 13084825V 68648515 8648233 43957218V 43952937130848256V 38250362V 08648233 8648515 55019972V 55024253911619560V 65996419V 11234453 61239905 55024253V 155019972659964196V 91161956V 11239905 Q1234453 56462754V I56467035719477227\ 46782186V 39289349 9283223 10977430155645996945677413V 09434790712171675225585591V 253153456239173155931822QQ 5887677967791018219835296\ 36693084537377562946335508V 318Q2134254257254784167Q85 -4881315731510520810497091V 87196995603795046250127944V 3969677662423706376956879 1008129164725065681144673V 35687593586931923090689512V 243775365807764043250702568 5394257247463882787546538V 47816929136374420567364024V 87098669177598707700434023 68679572286912878225379801V 90810333051984786290994899V 2957140048972544432583625 29793317986476943147183498V 8175298568973 8600509926970V 8892857Q98Q1Q5332592Q81Q5 44960396060041551514798996V 64936281255169046628054206V 0632033072998717526374252 79603919469259218934732499V 23330400481862284554971733V Q567175193980846223426659 83672738787737197838551959V 62482291071169968988249256V 1374023598833016556098238
461 256 56467035\ 71947722\ 79283223 65294976\ 63283779\ 42397505 65299257\ 88449315\ 82387253 86808266\ 20104188\ 65635605 86812547\ 45269725\ 05615303 89355610\ 93598346\ 53202485 89359892\ 18763882\ 93180993 256 56462754467821863\ 9289349 65299257884493158\ 2387253 65294976632837794\ 2397505 86812547452697250\ 5615303 86808266201041886\ 5635605 89359892187638829\ 3180993 89355610935983465\ 3202485 99104020\ 99108302206902651\ 95524728\ 79082749 9056703 99108302\ 99104020955247287\ 20690265\ 19056703 9082749 10915211\ 10915639984204195\ 85903865\ 892446725 32415985 I0915639\ 10915211859038658\ 98420419\ 192446725 532415985 22866564805792335548698158\ 87402121645165761634650923\ 6273087841896266234837283 ~6412366421649585904896381\ 42746402733141784590527554\ 74418876836985052808922531 47731995 509994757464524897\ 82587752893896863501I48699\ 2000359282836329108116941 9312393557217675178763879\ 14548499785602871980643463\ 01426681654884714229405055 65276505 829477987527523959\ 85126116742974921577962649\ 2988560599206488649616600 19979354022454995634506354\ 01429238888393929797156761\ 7164302352446563151743259 3508097772267293184566399\ 17657188243539033133601673\ 87153321568588491943567587 -1062361639524618940958757\ 10742098694995444466564508\ 437366681536183810144444350 98347026422055012946318116\ 35402408212187476310265177\ 624314805834590162721172 27809108918565957132649511\ 51987494607558885717217759\ 3792754741029377864760770 92582008908640584545081422\ 25486947196820416889702863\ 243716878555404596865068 Продолжение таблицы П. 8 10962650927424463075885979\ 54174479130968820736038957\ 12574693323233856101020941 67666827395516866716009456\ 91942306101883139536225081\ 5736486676648030368696071 28411728311113887390890897\ 42013458220743918032048075\ 6576420731775658748117478 95108224117527094539466352\ 16696191287216032917940802\ 9355701175153417058114294 77072047028750361434318986\ 79883064518385937745709269\ 6388260094282750986386099 10702187787031439860713735\ 48946092625041620630724656\ 70612290677619035906194669 19958105211681122802209332\ 26537478849706814175714596\ 3583695452490089365374323 96966293542451081110138018\ 82676514238851373897004176\ 8213044879287414474793793 24307116072454381912721467\ 12815116331666623418294334\ 91222806172026024761164 26893705871674917130266805\ 31975391695726267927927976\ 6414702495419697931053424 51537646170950141752680608\ 10099712565137093020622438\ 4186297650074744797227502 П.9.2) 67 Эллиптические кривые с вычислимым числом точек, для которых характеристика поля представ ляется в виде р + 61 ab + 61b , задаются уравнением у =х + ЗкГх + 2kt, где 09^ 3 11 3 3 3 2 ЗГ67 Для этих кривых число точек является простым. Если существует эллиптическая кривая Е(¥р) с чис лом точек г, то существует и «двойственная» кривая Е(¥г) с числом точек/?. Таблица П.9 Эллиптические кривые для р = 11 а^ + 61 аЬ + 67А^, число точек равно г 2''' - г 15264309\ I15265580120257617\ 67824330\ 325370855 11828747 15265580\ 15264309678243303\ 12025761\ 125370855 711828747 49462865371616207614513729\ 74958347508063658115642737\ 1859573823832199482803251 10338046749661243022438720\ 10391640941020338461171901\ 49504913425975138576768379 17746017927026477136229140\ 97764984402340423199431898\ 98523309430840999745207 50893880104489355587594798\ 16921458511320090259797528\ 0750054586120974474079424
462 Продолжение таблицы П.9 256 2^'' - г 16024034002802994\ 26833265 16022763560788680\ 40376567 16022763\ 56078868\ 040376567 16024034\ 00280299\ 426833265 19440252\ |19441523021307289\ 57929297\ 188112095 601660777 19441523\ |19440252579292976\ 02130728\ I01660777 988112095 26657633662610039\ 99330255 26656363220595726\ 12890297 26656363\ 22059572\ 612890297 26657633\ 66261003\ 999330255 31680961\ 38720705\ 967286117 31682231\ I31680961387207059\ 82922137\ I67286117 353718165 33774649\ 82679630\ 804586965 27753357652553387433887044\ 60904020556923992588579354\ 0200328921329177595457584 58728425167286476224069294\ 04382336954961609269557944 6943755573083710281783443 10388754240281453371824142\ 17118654971848631432378603\ 63855802422831861117905349 11193849646933689719981336\ 13435965189133286533996018\ 95494266794412499950874015 77753809394040345292881216\ 93497828248789519760713463\ 9003300057865899481079067 13175222410955884663924511\ 90699747565850938894350288\ 3523584848748539585263126 31682231829221373\ 53718165 33775920268810621\ 91015717 40943081019283543839177987\ 97559355679928988320743134\ 1595749438872790074848421 99689952912126673036312551\ 98674051670159323866872419\ 715937316725721299776096 33775920\ 26881062\ 191015717 38158945\ 21819345\ 358304167 38160215\ 66020776\ 744726017 33774649826796308\ 04586965 38160215660207767\ 44726017 38158945218193453\ 58304167 39815601\ 60485873\ 250697455 39816872046873046\ 37116697 39816872\ 39815601604858732\ 04687304\ 637116697 50697455 95323211076850016878020690\ 45943726806049358693516295\ 2534847755320456020669493 10322167160987134955549641\ 18444713777936730607876858\ 85619910091983530963896896 10317487330096191295861293\ 78402615102869770114997760\ 59468566442939299081132234 9056195888906339656398879\ 00560655831030065439241114\ 69300240064817796388962321 97567013678549290124566818\ 43577901847407239349732188\ 4128845950742650952905210 -1073222723320421905137652\ 40021592471536609197245789\ 319788287257353344879822008 43629728293083903880716309\ 38907029715722746688846014\ 6006668324413951717113204 76477490060809706133093097\ 87423 855505126452984907978\ 956951557049500477713711 52335657519920847188301792\ 87024864981860191664648387\ 5236752065724961075832132 10452651123852378450484700\ 00365071421754599855658699\ 80126835249105981841754089 81018561938462701120054773\ 02716057699516240091801885\ 5116841394394252176754730 48993425545112771556344807\ 97663131434331421529779237\ 7717482153102363722141066 78067757952239471564072399\ 97208049549674014858664797\ 7279381249324208165812915 32362732071105131321722382\ 80347690174300694216761705\ 9898689090851370508178137 91169339858397818411938773\ 59060741150513025173026002\ 0567821212163173631165916 10710094734058609285767921\ 06079267284495556599632714\ 03227313564150387763018936 12836465677215448627168948\ 09080669559890489934698303\ 4600727118776479021342568 73323085727772237582275664\ 92068969276529932068331793\ 697710789018115031856238 43248724563291194710399533\ 29408761237243039960502792\ 9426634143253914724007003 20950740768688138169122542\ 06888328053144889464483416\ 6090518762947614382338509 ПЛ0.2) 163 Эллиптические кривые с вычислимым числом точек, для которых характеристика поля пред _ лл л . ЛГ-Л.1 .1^0)2 __ _ _ _... 2 3 . -,7,2 .01,3 ставляется в виде 41а + 163а/>+ 163/> , задаются уравнением X -^ЪкГх^-гкГ, где 12 ^ 3 3 23^29 3 3 3 2 2 2 ]]Ч9ЧП'163 Для этих кривых число точек является простым. Если существует эллип тическая кривая Е{¥р) с числом точек г, то существует и «двойственная» кривая Е{¥г) с числом точек/?.
Таблица П. 10 Эллиптические кривые для р = ЧИСЛО точек равно г 256 63942173955984089\ 183283 63875528\ 4226795 8\ 2721855 63942173\ |63875528422679582\ 95598408\ 9183283 21282829\ 53582515\ 19Q2Q445 21289494\ 08915560\ 25477403 721855 21289494089155602\ 5477403 21282829535825151\ 9020445 22162550\ 57544463\ 71321609 22169215128775087\ 7778303 22162550575444637\ 1321609 22169215\ 12877508\ 77778303 25121612\ 125128276807495174\ 25416472\ 4352859 37897053 _ _ 25128276\"Т25121612254164723\ 80749517\ 44352859 7897053 60550377\ 75884035\ 28707209 60557042\ 31217080\ 35152383 60557042312170803\ 5152383 60550377758840352\ 8707209 70727150\ 69443848\ 68157705 70733815247768937\ 4599825 70733815\ 24776893\ 74599825 83503099\ 42891237\ 14028773 83509763\ 98224282\ 20467059 87521825\ 08717410\ 95952225 87528489\ 64050456\ 02389305 70727150694438486\ 8157705 11602378773616822525463164\ 55622907355389332860210191\ 1259045730985155554960935 18560378032518851078394783\ 41008803248782189907075250\ 01489322539664637996809 11524881406340006321410850\ 67077468359448972631575155\ 2581591924028208876490121 50534328592881227333216938\ 90361634557672818818281460\ 500938466266582837700610 5830683601944702366983490\ 94814971536759032325455865\ 63088191686222596964079025 87151893941671681785683564\ 89827985807023223282465659\ 7957645129471462360856197 35594514456813990512730999\ 41797627446381080695370408\ 8056214425074772111100367 11564778716509527961262084\ 09686360211716173427842866\ 8797120151377728026523524 32323710394038809117153095\ 43423143665811381651077293\ 1441963804892008869254212 7789427460593 8273 88324391 56862002715925235603798952\ 4694071924519090798302692 5464913461230752006063759\ 89123284655957558616018234\ 36782180700236710873875603 83509763982242822\ 0467059 34904080981655970357999518\ 14254162489032377308434298\ 8784614763832689488382130 10314093 81077126626314048\ 95987528369720557016431301\ 817444784747869073050518849 83503099428912371 \ 4028773 87528489640504560\ 2389305 87521825087174109\ 5952225 28997343434832669408933439\ 89158893863235410427300306\ 3686181558809089817675866 10417238978105067295428354\ 47652011028960549509978145\ 06431796633388117311136415 53497435212484525882475740\ 79760452779907230756739085\ 7330706304255281987402895 25278088159801497478039748\ 29332220738121281481992055\ 5512983401882438524923413 61242802886505009539781103\ 08226919049812500489718533\ 9116088698366875653013401 98082602054975313366391043\ 62925909716980762089398691\ 7112303855451657928766484 77817373833099656649268554\ 96596288784590120823107339\ 5683327652262988054180585 18623775726701630407509260\ 58161906882342346718049607\ 9523687966817355699417139 95696730116829271986581800\ 49904020578265518449269979\ 1412198745319385403368432 55749324595633890958988077\ 70932497119738400130482936\ 8658747524024123783737222 73381352979837061915083306\ 909561871728793 8048053 5425\ 0803938429823257037621176 80418851890853459260848483\ 14388503387711063172868482\ 0170754254420701556597439 76563402047306352621387942\ 49330538367202528083011659\ 4778635578550493761185827 55484233620214628184160371\ 42344490399529144864642821\ 4823747634273804807442090 62684645129623174652405920\ 18021589687564861420358759\ 8415353727599873131944430 70210808358762247202756876\ 47638104198486967899126560\ 7235946543799830530431999 34078610225966969675649709\ 03526349628259449394235202\ 2570575300375243965609792 86268388505360671374170591\ 20539547459605669661188495\ 3378101665801053147140440 85805813656947248421241713\ 12608722107983454417303350\ 4582587391055541213066588
471 Якоби, 84 - алгоритм вычисления, 165 синхропосылка, 425 система распределения ключей, 289 /-безопасная, 289 скрытый канал, 270 в схеме симметричного шифрования, 271 в схеме цифровой подписи, 270 тест псевдопростоты "^ Миллер а-Раби на, 165 --^ J *: V- , ^ ^ Соловэя-Штрассена, 166 •к _ л *^ * — ^ точка IV^ бесконечно удаленная, /00 \ - .* г-;- ^^ -. вес на точечной решетке, 245 возврата, 106 высота, 118 Г_ 1 ^ ■> , J ■rj-rf'-t ^ на эллиптической кривой, 320 Рабина, 2 71 у стране иие,271 Эль-Гамаля, 270 в схеме шифрования с открытым ключом, 277 след, 69, 71 каноническая, 119 кручения, 117 локальное кольцо, 130 неособая, 105 особая, 105 перегиба, 107 -L й*-*^ - i% г^ ^ j< ^ -.-ж сложение точек коники, 102 кубики, 103 сложностная неоднородность, 184 случайное дерево путь, 23 7 сжимающее свойство, 18 смежный класс самопересечения, 105 транзитивная безопасность, 187 '-S^ -i угроза, / 79 ■ ^ доступности, 180 подлинности, 180 раскрытия, 179 целостности, 179 •-.. ',i левый, 24 правый, 25 собственный делитель, 44 совершенная аутентичность, 340 спаривание Вейля, 138^ 148 свойства, 138 список ключей, 407 сравнение, 39 степень расширения, 62 трансиендентности, 62 стикер, 13 сумма Гаусса, 8 7 Якоби, 88 теорема i- ^-1 Безу. 104 Вильсона, 82 китайская об остатках, 40 для кольца Z, 82 Морделла-Вейля, 117 о гомоморфизмах групп, 27 о гомоморфизмах колец, 39 о примитивном элементе, 72 об ассоциативности отобралсений множества в себя, основная об абелевых группах, 52, 233 основная теории Галуа, 71 Ферма великая, 7Р, 99 малая, бб, 210 Хассе, 139 Чебышева, 79 Чуфг, 141 ■' -^ умножение Дирихле, 80 упоря доче н ность атак, 182 безопасных информационных систем, 182 моделей нарушителя, 182 уравнение Пелля, 91 установление ключа, 288 на основе протокола Диффи-Хеллмана, 289 на эллиптической кривой, 316 на основе симметричных методов, 289 ' I протокол Диффи-Хеллмана, 252 протокол Х.509,2Р/ ' - "j ' А факторгруппа, 25 фактор кольцо, см. кольцо классов вычетов фундаментальная единица, 91 фундаментальный параллелограмм, ПО функция. ^_ Вейерштрасса, 112 Вейля, 139 алгор итм вычис ле н и я, 172 вычисление логарифмической производной, 173 взаимная корреляционная, 396 вычислимая. 10 ^> ^: ^ -ш ^ -F вычислимая в одну сторону с потайным ходом, 252 двоякопериодическая, ПО криптографически слабая, 398 • - Лукаша, 22Р -^^ .j^-^-.-j^. ^ Мебиуса, 80 мультипликативная, 81 рациональная, 46 -'- ^•^ « -■- "^ на кривой, 130 " - \:^_ir ^^1 *^ J- ' V^ ; ' .; ^-ь - 1^ 1"'=^■- - текст открытый; 19} зашифрованный, 191 ■* 'l IF J - значение в точке, 130 значение на дивизоре, 137 нуль, 134 полюс, 135 г, - .- < -t .■^^.--t t -L Т
V-r .' - УКАЗАТЕЛЬ абсолютная величина, 75 активный S-блок, 403 алгебраическая кривая, 100 степень. 99 алгоритм, 8 антисимметрично сть, рефлексивность, э э э вероятностный, 9 Гровера, 393 деления в кольце Ж, 157 э детерминированный Евклида бинарный для кольца Z, 158 расширенный, 159 Евклида для кольца Z, 158 расширенный, 158 Евклида для кольца F э 159 инкрементальный, 274 Ленстры-Ленстры-Ловаша (LLL), 160 решения квадратного уравнения в поле из 2 элементов. 164 п S сложность, 10 временная, 10 емкостная, 10 полиномиальная, 10 субэкспоненциальная, 10 экспоненциальная, 10 симметричность транз итив но сть булева формула, 341 булева функция, 51 арифметическое продолжение, 370 аффинная, 342 аффинная эквивалентность, 343 инверсия, 51 линейная, 342 минимизация, 367 нелинейность, 409 максимальная, 420 представление полиномом Жегалкина, 52 решеточное продолжение, 363 свойства, 363 удаление, 364 сбалансированная, 342 сложность. 356 верификатор, 195,279 вес умножения Карацубьг-Офмана, 151 Монтгомери, 156 Шенхаге, 151 Шенхаге-Штрассена, 155 эффективный, 10 атака, 180 «атака гроссмейстера», 193,317 аутентификация, 179 защитные функции, 196 координаты, 196 упорядоченность, 197 корреспондента (пользователя), см. опознавание сообшения, / 79 дифференциала, 402 линейной суммы, 415 полинома, 48 слагаемого, 48 хэммингов. 397 вложение, 26 временная метка, 291 децентрализованная реализация, 292 на изогенных эллиптических кривых, 333 централизованная реализация, 291 вычет квадратичный, 83 кубический, 83 степени п, 82 базис минимальный, 97 нормальный, 313 решетки, 160 минимальный по Ловашу, 160 бесключевое чтение, 347 бесключевое шифрование Месси-Омуры, 253 на эллиптической кривой, 317 бинарная операция генератор псевдослучайной последовательности, 260 Блюма-Блюма-Шуба (BBS), 261 на супервырожденнои эллиптической кривой, 325 компрометация, 325 неявная. 325 3 3 ассоциативность д истр ибу тивно сть ком мутати вно сть э э бинарное отношение. я вная, 325 криптографически стойкий, 261 на блочном шифре, 260 на ключевой хэш-функции, 260 на эллиптической кривой, 325 пример неудачной реализации, 320 гиперэллиптическая кривая, 141 норма ункции, 142
465 род, 141 сопряженная функция, 142 гипотез а Берна и Свиннертона-Дайера, 141 Римана для эллиптических кривых, 140 стохастической эквивалентности, 399 граф случайного отображения, / 7 глубина, 18 ширина, 18 группа, 22 абелева, 22 индекс, 24 на идеал, 41 относительно нормирования, 75 дешифрование, 191 дзета-функция кривой, 140 диаграмма коммутативная э вычисления инкрементальной подписи, 274 гомоморфизмов групп, 27 гомоморфизмов групп идеалов, 97 тг гомоморфизмов, индуцированная изогенией, 333 ^z^^;.^ точная, 27 :Ю1 >i,i .i *'. -^ автоморфизм, 26 автоморфизмов, 26 алгебраическая, 130 аддитивная, 22 без крученйя, 24 бинарная операция, 22 Галуа, 70 гомоморфизм, 26 ядро, 26 Гротендика, 31 дважды транзитивная, 31 действие на множестве, 28 дивизоров, 135 единиц кольца, см, группа обратимых элементов кольца знакопеременная, 30 изоморфизм, 26 интранзитивная, 31 кватернионов, 23 классов идеалов, 93 коммутант, 2 7 коммутатор, 27 конечно порожденная, 24 кручения, 24 модулярная, 24 Морделла-Вейля, 244 обратимых элементов кольца, 35 полинома, 70 порядок, 23 прямое произведение, 31 разложение по подгруппе, 25 свободная, 24 симметрическая, 29 система образующих, 24 сопряжение, 28 транзитивная, 31 характеров абелевой группы, 28 центр, 23 циклическая, 23 дискретный логарифм, 24 образующая, 23 порядок элемента, 23 свободная, 23 дивизор -Е-С " =' -- "^ Ъ:1 -- на кривой, 135 — главный, 136 носитель. 135 -|-^ '-^ + - т ^.- ^^ Л Г :; - л. положительный, 135 пол у приведенный, 144 приведенный, 145 степень, 135 функции, 136 I' J дивизоры r-J^^ ^rr -_> -J -^ ^v- if- линейно эквивалентные, 136 наибольший общий делитель, 144 сравнимость, 135 дискретное логарифмирование метод базы разложения, 219 метод встречи на случайном дереве, 235 метод встречи посередине, 234 метод Гельфонда, 233 метод Копперсмита, 227 метод логарифмической производной, 242 метод Полларда, 235, 248 метод решета числового поля, 225 оценка сложности, 226 с использованием предвычислений, 24 7 метод «giant step — baby step», 234 на квантовом компьютере, 239 с помощью орбит автоморфизмов, 240, 306 через поднятие, 245 дифференциал, 398 активный разряд, 403 одноцикловый порядка /, 406 подстановки, 401 ■ ^Ч^^- ^^ -с-^-^^Г"-^'> й-^ - -Tl ■- ; \' * ■ ^ Л»У-^ э ' Ч< эндом орфизм, 26 данные, 189 делимость ^;;г.* идеалов, 41 усеченный, 405 -. -. дифференциальный оператор, 54 диффузия, см, рассеивание - - доказательства с нулевым разглашением, 279 без диалоговые знания дискретного логарифма, 284 знания набора переменных удовлетворяющих заданной булевой функции, 284 на основе канала со стиранием, 286 на эллиптической кривой, 323 диалоговые знания дискретного логарифма, 281 знания изоморфизма графов, 279 знания разложения, 280 правильности выбора составного числа, 282
466 на эллиптической кривой, 322 дополнение к элементу, 363 доступ к информации, / 78 несанкционированный, / 78 игра в покер по телефону, 279 идеал, 38 аффинного алгебраического многообразия, Pi базис, 39 дробь непрерывная, 207 бесконечная, 208 конечная, 208 подходящая, 208 ^^ задач а выбора, // класс CO-NP, 12 класс NP, 12 класс Р, /2 о выполнимости, / / о простом числе, / / о составном числе, 11 об изоморфизме графов, // полиномиальная сводимость, 12 полиномиальная эквивалентность, 12 решаемая, // труднорешаемая, // вычисления изогении, 331 оценка сложности, 333 вычисления категорного морфизма, 331 дискретного логарифмирования ,-*-л _■ главный, 38 дробный, 92 единичный, 38 квадратичного порядка, 92 возведение в квадрат, / 75 дробный, 92 приведение, 175 разветвление, 93 v разложение, 93 умножение, / 74 левый, 38 максимальный, 41 нулевой, 38 порожденный элементами, 39 1 i ^j- _-р правый, 38 приведенны и, 93 простой, 41 jD-гладкий, 223 в группе F # а 5 2]8 в группе точек эллиптической кривой, 233 в группе функций Лукаша, 229 в якобиане гиперэллиптической кривой, 248 Диффи-Хеллмана, 229 массовая, // сложность, // матем атическая основная, 200 унифицированная, 199 Месси-Омуры, 254 о выполнимости булевой функции, 345 об укладке ранца, 258 поиска, 200 разложения на множители, 203 ^ ■ = размер, 10 распознавания, 200 сертификат, // идеалы пересечение, 40 произведение, 40 сумма, 39 идемпотентность, 22 идентификатор, 179 извлечение корня квадратного в F^ О (mod 2), 163 (mod 2),/65 (i-nod4), М2 3(mod4), 162 5 (mod 8), 162 ±^ -f ^ ' кубического в F <? (mod Ъ\164 19, 37 (mod 54),/64 7, 13 (mod \%\164 изогения, 132 закон взаимности Вейля, 137 исключения третьего, 20 составления подходящих дробей, 208 зашифрование, 191 защита информации, 178 от агентурной разведки, 178 от непреднамеренного воздействия, / 78 от несанкционированного воздействия, 178 от несанкционированного доступа, 178 от технической разведки, 178 от утечки, / 78 средство, / 79 цель, 179 эффективность, 179 дуальная, 132 нулевая, 132 степени 2,133 степени 3,133 степень, 132 ядро, 132 изоморфизм бирациональный, 122 торов, 114 эллиптических кривых, 119 имитозащита, 190 инволюция, 201 информационная система, / 78 безопасная, 181 доказуемо безопасная, 181 доказуемо уязвимая, 181 транзитивная, 185 уязвимая, 181 информация, 178 •," —
467 безопасность, / 79 доступность, 179 защищаемая, 178 конфиденциальная, 178 подлинность, / 79 секретная, 178 целостность, 179 -tf л^ * ^ у '* Ч. ^ -уг -1 к — > ^ исчисление, атак, 182 — Т' — ч. ^ порождающие правила, 9 целых алгебраических чисел, 95 целых квадратичных чисел, 89 целых 2-адических чисел, 383 целых /7-адических чисел, 76 I Т ^ ^ - -- ZM J- — ^ шщ- частные, 36 частных, 37 ii- - ^т ^l' % Ч ^-i^- £ ^jm эндоморфизмов модуля, 45 комплексное умножение, ПЗ .►- - ' - + :^f влияние на скорость вычислений, 308 влияние на сложность логарифмирования, 240 -г ■'L композиция канал со стиранием, 285 канал утечки, / 78 ^.\^ V ь*-- -3— алгоритмов, 10 дивизоров, 173 ■>. касательная к проективной кривой, 106 категория, 32 морфизмы, 32 ':* объекты, 32 квадратичных форм, 95 отображений, компьютер квантовый, 14 « функтор, 32 квадратичная форма, 94 главная, 94 - норм альная, 94 положительно определенная, 94 молекулярный, 13 кондуктор 'J квадратичного порядка. 90 квадратичной формы, 94 коника, 101 -' f f^ ■ - -■ t ^ приведенная, 94 эквивалентность, 94 квадратичный порядок, 90 максимальный, 90 квазигруппа, 22 квантовый регистр, 15 ключ, 189 доставка, 288 Л - ^ •Г^ _г. - ^ "* 1;, Гв -Е Г <.■ _ V Ч. j-^ ' ^ '-^ конус, ассоциированный с вершиной куба, 364 координаты аффинные. 99 ;^ проективные, 100 корень степени п из единицы, 72 коэффициент " -*,\^ диффузии, 397 корреляции, 396 i - *г: X —^\^ -:^ протокол Нидхама-Шредера, 290 предварительное распределение, 288 mjT кратность пересечения, 102 криптоалгоритм, 190 .Г-' ; 7 производный, 288 f:-. безусловно стойкий, 192 i ^ к J ^ ^ г^=^ шифрования, 191, 336 когерентная суперпозиция, 14 количество информации, 16 кольцо, 34 ассоциативное, 34 главных идеалов, 42 гомоморфизм, 36 делители нуля, 35 . -^ дискретного нормирования, 75 дифференциальных операторов, 55 евклидово, 42 ч. fT. г' ^ - - г ■'■, ■т К '- ^ -е- -^ - С _■- -. *; J-- J- _ > л -Z доказуемо стойкий, 192 итерированный, 4 предположительно стойкий, 192 криптоанализ, 190 - алгебраические методы, 348, 359 — с 1- - л дифференциальный, 397, 399 --->. ■-.. атака «бумеранг», 406 использование дифференциалов высших порядков, 406 использование усеченных дифференциалов, 405 'Г. ^ ' ^^ * _- Т- F 1 f^ единица, см. обратимый элемент изоморфизм, 36 пример, 400, 403 линейно-дифференциальный, 416 ■ы- классов вычетов, 39 коммутативное, 34 координатное, 128 норма элемента, 128 полиномов Жегалкина, 51 однозначность разложения, 53 симметрические функции, 54 присоединение переменной, 38 прямая сумма, 41 с единичным элементом, 34 к _ '' -^Ti." факториальное, 44 характеристика, 35 целозамкнутое, 65 целостное, 35 ^ # X ^ -1 » — _ - - -^ 1. •r- 'I W-^. -^ ^v ^1^н^г-7^'"^^^; -^ ш ^^'- *' ; — —^^^ линейный, 408 лемма Мацуи, 410 метод сдвига, 4/6 на основе адаптивно подобранных открытых '.?.:^Г' ■ текстов, 347 на основе адаптивно подобранных шифртекстов, 347 на основе арифметического продолжения, 369 обраще1ше хэш-функции, 371 1, i пороговое число, 572 пример, 372,374 на основе гомоморфизма характеристики кольца, 386
468 на основе компромисса время/память, 389 на основе открытых текстов, 347 на основе подобранных открытых текстов, 347 на основе подобранных шифртекстов, 347 на основе рационального продолжения, 380 примеры, 381 на основе редукции числа переменных, 387 на основе связанных ключей, 347, 408 на основе списка ключей, 407 на основе шифртекстов, 347 на основе 2-адического продолжения, 384 примеры, 384 решеточный, 362 вскрытие ключа, 365 пример, 367 сочетание перебора и вычислений, 390 статистические методы, 348, 396 частотный, 350 шифров с малым порядком нелинейности, 377 эффективность метода, 359 криптографический гфимитив, 189 бесключевой, 189 вскрытие, 190 несимметричный, 189 симметричный, 189 стойкость, 190 криптографический протокол, 190 криптофафия, 177 криптосистема, 190 кубика, 102 инвариант, 115 дискриминант, 115 кубит, 14 кубическая кривая, см. кубика верхняя грань, 50 точная, 50 нижняя грань, 50 точная, 50 модели нарушителя однотипные, 182 модель нарушителя, 181 максимальная, 182 тривиальная, 184 модуль, 22 ,;;Г^ над кольцом, 45 моноид, 22 вложимость в фуппу, 31 ''..■•■ ~i. к:^"- -Л "5 ^. ^г нарушитель, 180 возможности, 181 вычислительные, 183 криптоаналитические, 183 лабораторные, 183. 435 математические, 183 организационные, 183 технические, 183 стратегия активная, 180 пассивная, 180 - -\^ ■ ** с невычет квадратичный, 83 кубический, 83 степени «, 82 не надежность лавинный вектор, 396 параметр независимости битов, 397 лавинный критерий, 396 строгий, 396 ключа, 337 ,5 сообщения, 337 нестандартная конъюнкция, 342 норма, 69, 71 дивизора, 146 идеала квадратичного порядка, 92 числового поля, 97 квадратичного числа, 90 минимальная подсистема безопасности, 182 многообразие аффинное алгебраическое, 99 неприводимое, 100 множества равные, 6 множество. -"А^-? декартово произведение, 6 дополнение, 6 задач, положенных в основу безопасности, 184 замкнутое относительно операции, 6 линейно упорядоченное, 8 мощность, 8 нормальная форма дизъюнктивная, 341 конъюнктивная, 341 нормирование, 74 архимедово, 75 дискретное, 75 неархимедово, 75 недискретное, 75 показательное, 75 тривиальное, 74 /7-адическое, 74 ->- -адическое, 75 нуль-последовательность, 76 ^ч ^^ 'Ч^ -Г 'i ь*"- Y^ -* "ч \^'^ V^^ Ч'":^ i' объединение, пересечение, 6 пустое, 6 разность, 6 симметрическая разность, счетное, 8 упорядоченное, 50 область транзитивности, 337 округление, 363 о ператор возведения в степень по модулю простого числа Ферма, 354 обращения в расширенном поле характеристики 2, iJ4 . ■^■-- '-^^^
469 перестановки битов в блоке, 353 подстановки ^7-разрядного слова, 354 сложения по модулю 2,354 по модулю 2", 354 умножения на невырожденную матрицу, 354 по модулю простого числа Ферма, 354 циклического сдвига, 354 опознавание, 179 диалоговое на изогенных эллиптических кривых, 332 на основе диалоговых доказательств с нулевым разглашением, 322 на основе шифрования с открытым ключом, 321 по аргументу хэш-функции, 196 по паролю, 196 основная теорема безопасности Белла-Лападулы, 177^ 185 отображение, 6 биективное, инъективное, 7 кривых рациональное, 131 регулярное, 129 аффинная, 342 -йг аффинная эквивалентность, 343 - беспорядок, 30 задание набором циклов, 29 задаваемая полиномом над Z/2"'Z, 355 инволюция, 421 линейная, 342 w ^п ~' неудачная в смысле линейного криптоанализа, 410 нечетная, 30 нормализатор элемента, 30 поиск наилучших линейных сумм, 411 порядок нелинейности, 343 стабилизатор элемента, 30 транспозиция, 29 четная, 30 экстремальная, 418 аффинная эквивалентность, 418 примеры, 421 поле, 35 степень, 131 область значений, область определения, образ, 6 офаничение, продолжение, 6 прообраз, полный, 6 сюръективное, 7 алгебраически замкнутое, 62 алгебраическое замыкание, 62 Галуа, ели поле конечное деления круга, 72 квадратичное вещественное, 89 дискриминант, 89 мнимое, 89 классов вычетов нормирования, 75 конечное, 65 — автоморфизмы, 67 мультипликативная фуппа, 58 нормированное, 74 полное относительно нормирования, 75 порядок, 65 парадокс дней рождения, 234 парадоксы теории множеств, 8 логические, 8 семантические, 8 параметризация окружности, 101 передача информации со стиранием, 285 генерация ключей получателя, 285 на основе задачи разложения. 287 на эллиптической кривой, 322 протокол, 285 переменная существенная, 340 - фиктивная, 340 перемешивание, 339 плоскость аффинная, 99 проективная, 100 подбрасывание монеты по телефону, 278 подгруппа, 23 нормальная, 25 подкольцо, 38 подмножество, 6 максимальный, 65 присоединение, 59 простое, 58 разложения полинома, 63 расширение, 59 автоморфизмы, 70 tv^-- — -X ^ л^ -^ ' ^ > * ' \ _г. -г V -г - , ■-- -^ изоморфное, 61 простое, 60 алгебраическое, 61 трансцендентное, 60 ^^ ^> упорядоченное, 74 характеристика, 59 -частных, 36 - числовое, 95 полином,37 - деление, 38 - деления круга, 72 - дискриминант, 48 - значение, 38 - корень, 47 - коэффициенты, 37 — Л/1ТЛ14МЛ/1ЯП1,«1,1ГТ ОЛ "- + * - 1' ri-r^.-^r^-yW 5г^;^'"'^ ■_- -* -^ ^и l.wл.л. жж. жм л.l.wл.Щы'Шл/ л.л^лжл^ж.шжт -J^ v^ собственное, подполе, 58 подстановка, 28 модулярный, 132 над кольцом, 46 однородный, 46 *- _ -к ■^j _ *г^' - r-t ,t-J-. >-:
470 от нескольких переменных, 38 степень, 38 производная, 47 простой корень, 47 свободный от квадратов, 47 симметрический, 47 содержание, 49 степень, 37 полином Жегалкина, 51 неразложимый, 53 проективная эквивалентность, 134 производная, 54 разности высших порядков, 398 рациональное продолжение, 377 тривиальное разложение, 53 адическое продолжение, 384 полиномы деления, 296 полугруппа, 22 коммутативная, 22 полукольцо, 50 булевых формул, 341 решеточных полиномов, 542, 362 пороговый объем информации, 428 по еле до вател ь н о сть сверхвозрастающая, 258 случайная, 16 проективная, 100 ; fV -?<." бесконечно удаленная, 100 '^^- *i" % _? ~- U :^ разглашение знаний, 196 - минимальное, 196,279 нулевое, 196,279 полное, 196 а^=\ - частичное, 196 разделение секрета, 199, 287 пороговая схема, 288 идеальная, 288 разложение на множители метод диофантовой аппроксимации, 206 метод квадратичного решета, 209 метод непрерывных дробей, 208 метод пробного деления, 204 метод Ферма, 205 метод «giant step — baby step», 205 на квантовом компьютере, 213 количественный подход, 16 по Колмогорову. 16 сложностный подход. 16 частотный подход, 16 - фундаментальная, 75 предъявление бита, 278 бл об, 2 78 преобразование данных несимметричное, 189 симметричное, 189 преобразование координат аффинное, 101 проективное, 101 преобразование Монтгомери, 156 алгоритм вычисления, 156 ш Гн 'J ^.^■- Фурье быстрое, 74,154 алгоритм вычисления, 154 дискретное, 73 квантовое, 15,213 претендент, 195,279 приведение дивизора, 174 идеала мнимого квадратичного порядка, 175 квадратичной формы, 94 числа по модулю решетки, 169 принцип максимальной однородности, 184 произведение Монтгомери, 156 про странство аффинное, 99 проективное, 100 прямая, 99 аффинная, 100 на эллиптической кривой, 211 неоднозначное, 43 однозначное, 44 по известным показателям RSA, 204 полинома над F^, 161 простого числа в мнимом квадратичном кольце, 167 схема Крайчика, 206 тривиальное, 44 метод Полларда, 207 - - -метод, 210 =' ' разность функции, 397 рандомизатор, 193 рассеивание, 339 расширение абелево, 70 Галуа, 70 конечное, 62 мультиквадратичное, 64 несепарабельное, 65 нормальное, 64 сепарабелъное, 65 циклическое, 70 расшифрование, 191 решетка, 50,160 бинарные операции, 51 гомоморфизм, 51 дистрибутивная, 51, 362 >> -"^ '^'.t\ -rf--r комплексная, 110 полная, 51 с дополнениями, 51 _ч i = ^^■: свертка, 153 отрицательно обернутая, 153 положительно обернутая, 153 секретная система, 336 идеальная, 338 совершенная, 337 эндоморфная, 337 символ Лежандра, 83 ^--_Ч
471 Якоби, 84 алгоритм вычисления, 165 с инхропосылка, 425 система распределения ключей, 289 у-безопасная, 289 скрытый канал, 270 в схеме симметричного шифрования, 271 в схеме цифровой подписи, 270 на эллиптической кривой, 320 Рабина. 2 71 тест псевдопростоты Миллера-Рабина, 165 Соловэя-Штрассена, 166 точка устранение, 27/ Эль-Гамаля, 270 в схеме шифрования с открытым ключом, 271 след, 69, 71 сложение точек коники, 102 кубики, 103 сложностная неоднородность, 184 бесконечно удаленная, 100 вес на точечной решетке, 245 возврата, 106 высота, 775 каноническая, 119 кручения, 777 локальное кольцо, 130 неособая, 105 особая, 105 перегиба, 107 самопересечения, 105 транзитивная безопасность, 187 угроза, 7 79 случайное дерево путь, 23 7 сжимаюш:ее свойство, 75 4J смежный класс левый, 24 правый, 25 собственный делитель, 44 совершенная аутентичность, 340 спаривание Вейля, /i5, 148 свойства. 138 список ключей, 407 сравнение, 39 степень расширения, 62 трансцендентности, 62 стикер, 13 сумма Гаусса, 87 Якоби, 88 доступности, 180 подлинности, 756* раскрытия, 7 79 целостности, 779 умножение Дирихле, 80 упорядоченность атак, 182 безопасных информационных систем, 182 моделей нарушителя, 182 уравнение Пелля, 91 установление ключа, 288 на основе протокола Диффи-Хеллмана, 289 на эллиптической кривой, 316 на основе симметричных методов, 289 протокол Диффи-Хеллмана, 252 протокол Х.509,297 теорема Безу, 7 04 Вильсона, 82 китайская об остатках, 40 для кольца Z, 82 Морделла факторгруппа, 25 ф актор коль цо, см. кольцо классов вычетов фундаментальная единица, 97 фундаментальный параллелограмм, ПО функция, 5 7/7 о гомоморфизмах групп, 2 7 о гомоморфизмах колец, 39 о примитивном элементе, 72 об ассоциативности отображений множества в себя, основная об абелевых группах, i2, 233 основная теории Галуа, 77 Ферма великая, 79, 99 малая. 66.210 Вейерштрасса, /72 Вейля, 139 алгоритм вычисления, 172 вычисление логарифмической производной, 77i взаимная корреляционная, 396 вычислимая, 10 К^ Хассе, 139 Чебышева, 79 Чуфа, 141 текст открытый. 797 зашифрованш>1Й, /97 вычислимая в одну сторону с потайным ходом, 252 двоякопериодическая, 110 криптографически слабая, 398 Лукаша, 229 Мебиуса, 80 мультипликативная, 81 рациональная, 46 на кривой, 130 значение в точке, 130 значение на дивизоре, 137 нуль, 134 полюс, 135
472 регулярная в точке, 130 RSA, 264 - • *■ трудновычислимая, 10 .■^>^v /f -^ . ^ — г целевая, 346 число i-^< i -^ ч- -Е 1 ^ Эйлера, 80 алгебраическое, 95 ^ "- Х_ ^^^.г-: J^ элементарная симметрическая, 48 степени п, 96 ^ S- 1 * эллиптическая, ПО целое, 95 _ л -^1^ _л-" =tv -■Ч порядок. /// гладкое, 206 -^ ■- характер, 27 квадратичное. 89 классов поля, 93 X Е * — '-^ l^ti аддитивный, 87 Мерсенна, 79 к ь-»Т мультипликативный, 87 решений уравнения над F„, 88 г - характеристика свободное от квадратов, 79 дифференциальная, 398 сильное простое, 212 ^^- линейная, 411 хэш-функция, 190 сопряженное, 90 Ферма, 79 >- ^. -. бесключевая, 190 D-гладкое. 206.208 стойкость, 349 а дичее кое вычислршая в одну сторону, 190 дробное, 76 -^ г -. ГОСТ Р 34.11-94, ^^2 целое, 7^ -■- 1^^ ■ t ключевая, /i^O ■^ -* коллизия, 190 вычисление, 588 шифр, 191 блочный, 336 пример, 389 Виженера, 353 i£^'^ :- обращение, 7i^0 гамма, 7 7, ^25 ограниченное, 2^8 гомоморфизм, 386 свободная от коллизий, 190 сжимающий, 386 на эллиптической кривой, 324 ГОСТ 28147-89, ^55 /-эргодическая, 381 выбор блока подстановок, 435 MD5, 441 -J свойство дополнения, 435 . л^ цикл шифрования, 336 стойкость. 435 замкнутый, 360 ^ -, - ^-:^^ шг циркулянтная матрица, 386 цифровая подпись, 263 вскрытие ключа, 360 итерированный, 336 t -g *^ - ri I -^^ ,н. -^.' вслепую, 271,273 на эллиптической кривой, 326 ГОСТ Р 34.10-2001,5/8,319 ^i- -^ *- 1 безопасность, 57i^ сложностная неоднородность, 320 марковский, 400, 411 моноалфавитной замены, 350 неполный, 396 t х^~ перестановки, 353 подстановочно-перестановочный, 355 П£ ' V ^ г ГОСТ Р 34.10-94,2^8 на изогенных эллиптических кривых, 333 поли алфавитной замены, 351 полный, 396 it.4 инкрементальная, 274 поточный, 336 .Лг yj'\^\Xi\ коллективная, 271,287 неоспоримая, 271^ 272 рабочая характеристика, 338 симметричный, 336 л -■ - H,::^i ^ ^-р на эллиптической кривой, 321 смешанный, 337 .- . г Рабина, 264 разовая, 271 степенной, 4/7 стойкость, 348 ■j Л- г^*г^^^-^0:^ jif-^ с восстановлением сообщения, 274 скорость падения, 429 -i ^ Фиата-Шамира, 265 фейстелев, 354 Hi ■.: V -1 -;■ - .\ - Шнорра, 267 на эллиптической кривой, 520 безопасность. 268 свойство дополнения, 354 обобщенное, 355 Цезаря, 350 •■Y 'j- ' i ." 1 V'r* -?^JV- И* * f..; >^ ^ > Эль-Гамаля> 265 чистый, 337, 360 безопасность, 267 встраивание потайного хода выбором эндоморфный, 191 Blowfish, 438 i' .-. .-: ^L - .■?Х^-Ч^-?. образующей, 267 DES, 429 морфизм, 266 свойство дополнения, 431 ш ^ 1- - > ^ ■^ ш*. ^ на эллиптической кривой, 318 передача информации по скрытому стойкость, 431 DESX, 431 ,. ;-^ -^ каналу. 270 FEAL, 431 ECDSS, 5/i^ IDEA, 432 Г -
RC5, 436 стойкость, 438 RIJNDAEL, 440 алгебраическое уравнение зашифрования, 440 SAFER, 439 стойкость, 439 шифратор, 191 шифрование, 191 ■>j' - режим 5 425 выработки имитовставки, 427,434 гаммирования, 425 гаммирования с обратной связью, 426 простой замены, 425 сцепления блоков, 426 симметричное на эллиптической кривой, 317 шифрование с открытым ключом протокол Блюма-Голдвассера, 257 протокол Голдвассера-Микали, 257 протокол Рабина, 256 протокол Шора-Ривеста, 259 протокол Эль-Гамаля, 254 ранцевый шифр Меркля-Хеллмана, 258 RSA, 203 атаки на основе эндоморфизмов, 215 бесключевое дешифрование, 214 на эллиптической кривой, 315 скорость падения стойкости, 204 шифртекст, 191 эквивалентность, 7 дробных идеалов квадратичного порядка, 93 полиномиальная, 10 проективная, 134 электронные платежи, 2 73 создание электронной монеты, 273 на основе протокола Шнорра, 327 на основе протокола Эль-Гамаля, 326 на основе протокола RSA, 328 электронная монета, 2 73 элемент, 6 алгебраический над полем, 61, 63 максимальный, 50 минимальный, 50 наибольший, 50 наименьший, 50 неразложимый, 44 обратимый, 35 обратный, 35 орбита относительно группы подстановок, 30 отрицательный, 35 примитивный, 72 простой, 41 с однозначным разложением, 44 трансцендентный над полем, 60 целый над кольцом, 64 элементы /-:- алгебраически зависимые, 62 алгебраически независимые, 62 ассоциированные, 44 несравнимые, 50 перестановочные, 23 сопряженные, 25, 96 сравнимые, 50 эллиптическая кривая, 107 встраивание открытого текста в координату точки. 314 В простом поле, 315 в расширенном поле, 315 г-м -ът ■ -* ^ ' генерация кривой над расширенным полем, 299 су с 7 5 302 1728, 304 К "- с комплексным умножением, 307 примеры, 308 генерация точки, 294 группа кручения, 117 ' -- закон сложения точек, 116 поднятие точки, 244 проективная арифметика в форме Вейерштрасса, 171 в форме Гессе, / 71 ранг, 117 расчет числа точек, 294 алгоритм Чуфа, 297,298 над простым полем су над простым полем су = 1728, 30L 304 над расширенным полем, 299 регулятор, 244 супервырожденная, 140 умножение точки на число в арифметике Монтгомери, 310 в расширенном поле, 313 с помощью комплексного умножения, 310 в форме Вейерштрасса, 107 в форме Гессе, 108 О, 301, 302 ^ . ■*'■ -Л- в форме Дойринга, 107 в форме Лежандра, 107 эндоморфизм Фробениуса /25, 241 след, 24h 295 собственное значение, 297 характеристическое уравнение, 124, 295 энтропия ' ^^ " -к- ж. Колмогоров екая, 16 шенноновская, 16 якобиан алгебраической кривой, 136 адическое показательное нормирование, 383 функция Хассе-Вейля, 141 ТУ-вычет, 156 ^^t - ^ Й ■ — - _ ш^ ' А,0}1
477 \2Л. Генераторы псевдослучайной последовательности 260 Упражнения к главе 12 261 Литература к главе 12 262 ГЛАВА 13. ЦИФРОВАЯ ПОДПИСЬ 263 13.1. Подпись на группе трудно вы числимо го порядка 263 13.1.1. Схема подписи RSA 264 13.1.2. Схема подписи Рабина 264 13.1.3. Схема подписи Фиата-Шамира 265 13.2. Подпись на группе вычислимого порядка 265 13.2.1. Схема подписи Эль-Гамаля 265 13.2.2. Схема подписи Шнорра 267 13.2.3. ГОСТ Р 34.10-94 и DSS 268 13.3. Сравнительный анализ представленных схем подписи 269 13.4. Скрытый канал 270 13.5. Другие схемы подписи 271 13.5.1. Схема «неоспоримой» подписи 271 13.5.2. Схема подписи «вслепую». Электронные платежи 273 13.5.3. Схема подписи с восстановлением сообщения 274 13.5.4. Инкрементальная подпись 274 Упражнения к главе 13 275 Литература к главе 13 276 ГЛАВА 14. ДРУГИЕ КРИПТОГРАФИЧЕСКИЕ ПРОТОКОЛЫ 278 14.1. Схемы предъявления битов 278 14.2. Диалоговые доказательства с нулевым разглашением 279 14.2.1. Доказательство знания изоморфизма фафов 279 14.2.2. Доказательство знания разложения составного числа 280 14.2.3. Доказательство знания дискретного логарифма 281 14.2.4. Доказательство правильности выбора составного числа 281 14.3. Бездиалоговые доказательства с нулевым разглашением 283 14.4. Передача информации со стиранием 285 14.5. Разделение секрета 287 14.6. Протоколы управления ключами 288 14.6.1. Установление ключа на основе сршметричных методов 289 14.6.2. Доставка ключа 290 14.7. Временная метка 291 14.7.1. Централизованная реализация временной метки 291 14.7.2. Децентрализованная реализация временной метки 292 Упражнения к главе 14 293 Литература к главе 14 293 ГЛАВА 15. КРИПТОСИСТЕМЫ НА ЭЛЛИПТИЧЕСКИХ И ГИПЕРЭЛЛИПТИЧЕСКИХ КРИВЫХ 294 15.1. Расчет числа точек эллиптической кривой в общем случае 294 15.1.1. Предварительные сведения 295 15.1.2. Полиномы деления 296 15.1.3. Алгоритм Чуфа 297 15.2. Расчет числа точек эллиптической кривой над расширенным полем 299 15.3. Расчет числа точек эллиптических кривых су = О, 1728 над простыми полями 301 15.3.1. Кривая/= х^ +В 301 15.3.2. Кривая/=-х^ + Аг 303 15.4. Эллиптические кривые с комплексным умножением 305 15.4.1. Генерация эллиптических кривых с комплексным умножением 306 15.4.2. Влияние комплексного умножения на скорость вычислений 308 15.5. Эллиптические кривые над расширенными полями специальных характеристик 311 15.6. Протоколы на эллиптических кривых 314 15.6.1. Встраивание открытого текста в координату точки 314 15.6.2. Аналог криптосистемы RSA 315 15.6.3. Установление сеансового ключа 316 15.6.4. Шифрование 317 15.6.5. Цифровая подпись 318 15.6.6. Опознавание, канал со стиранием и доказательства с нулевым разглашением 321 15.6.7. Вычислимая в одну сторону функция, свободная от коллизий 324 15.6.8. Генераторы псевдослучайной последовательности 325 15.6.9. Протоколы для электронных платежей 326 15.7. Криптосистемы на гиперэллиптических кривых 329 15.8. Криптосистемы на изогениях эллиптических кривых 331 15.8.1. Задача вычисления изогении и квантовый компьютер 331 15.8.2. Криптографические протоколы на изогенных кривых 332 Упражнения к главе 15 334 Литература к главе 15 335 ГЛАВА 16. ОБЩИЕ СВЕДЕНИЯ ОБ ИТЕРИРОВАННЫХ КРИПТОАЛГОРИТМАХ 336 16.1. Основные понятия классической криптографии 336 16.2. Некоторые положения теории секретности Шеннона 336 16.2.1. Объем текстов, однозначно огфеделяющих ключ 339 16.2.2. Теория аутентификации Симмонса.... 340 16.3. Булевы функции и булевы формулы 340
-H j3 СОДЕРЖАНИЕ ■г. -J - Jl^ ВВЕДЕНИЕ ГЛАВА 1. МНОЖЕСТВА, АЛГОРИТМЫ 9 СЛУЧАЙНЫЕ ОТОБРАЖЕНИЯ 1.1. 1-2. Сведения из теории множеств 6 Сведения из теории алгоритмов 8 1.2.1. 1.2.2. Алгоритм и исчисление 8 1.3 Сложность алгоритма 10 Нестандартные вычислительные модели... 12 1.3.1. 1.3.2. 1.4. Молекулярный компьютер 13 Квантовый компьютер 14 Случайные последовательности и случайные отображения 16 1.4.1. 1.4.2. Понятие случайности 16 Свойства случайного отофажения... 17 Упражнения к главе 1 20 Литература к главе 1 20 ГЛАВА 2. ГРУППЫ 22 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. Понятие фуппы 22 Подфуппы 23 Гомоморфизмы и изоморфизмы 26 2.7. 2.8. Действие группы на множестве 28 Группа подстановок 28 Вложимость коммутативной полугруппы в фуппу 31 Прямые произведения фупп 31 Категории 32 Угфажнения к главе 2 33 Литература к главе 2 33 ГЛАВА 3. КОММУТАТИВНЫЕ КОЛЬЦА 34 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 3.9. ЗЛО 3.11 3.12 3.13 Понятие кольца 34 Гомоморфизмы колец 36 Частные 36 Предварительные сведения о полиномах... 37 Идеалы и классы вычетов 38 Делимость идеалов 41 Евклидовы кольца и кольца главных идеалов 42 Разложение на множители 43 Кольцо эндоморфизмов модуля. Модули над кольцами 45 Свойства полиномов 46 Производная и кратные корни 46 Симметрические функции 47 Разложение на множители полиномов от нескольких переменных 48 3.14 3.15 Полукольца и решетки 50 Кольцо полиномов Жегалкина 51 3.15.1. Полиномы Жегалкина 51 3.15.2. Разложение на множители в кольце G„ 53 3.15.3. Симметрические функции кольца G„ 54 3.15.4. Кольцо дифференциальных операторов кольца G„ 54 3.15.5. Эндоморфизмы кольца G„ 55 Упражнения к главе 3 56 Литература к главе 3 57 ГЛАВА 4. ПОЛЯ 58 4.1 4.2 Общие сведения о полях. Простые поля 58 4.3 Расширения полей 59 4.2.1. Простые расширения 60 4.2.2. Конечные расширения 62 4.2.3. Целые элементы поля 64 Конечные поля 65 4.3.1. Строение конечных полей 65 4.4. 4.5. 4.6. 4.7. 4.8. 4.3.2. Автоморфизмы конечных полей 67 4.3.3. Норма и след в конечных полях 69 Элементы теории Галуа 70 Поля деления круга 72 Дискретное преобразование Фурье 73 Нормирования 74 Пополнения поля Q ир-адические числа ...75 Упражнения к главе 4 77 Литература к главе 4 78 ГЛАВА 5. СВЕДЕНИЯ ИЗ ТЕОРИИ ЧИСЕЛ 79 5.1. 5.2 5.3 5.4 Однозначное разложение на множители в кольце Z 79 Некоторые числовые функции 79 Кольцо Ж/пЖ 81 Квадратичные и кубические вычеты. 5.5 5.6 Квадратичный закон взаимности 83 Суммы Гаусса иЯкоби 87 Квадратичные числа и квадратичные формы 5.7. 89 5.6.1. Кольцо целых квадратичных чисел 89 Идеалы квадратичных порядков 91 5-6.3- Квадратичные формы 93 т^лгебраические числа 95 5.6.2. Упражнения к главе 5 98 Литература к главе 5 98 ГЛАВА 6. ЭЛЕМЕНТЫ АЛГЕБРАИЧЕСКОЙ ГЕОМЕТРИИ. ЭЛЛИПТИЧЕСКИЕ КРИВЫЕ ...99 6.1. 6.2. Аффинные алгебраические многообразия... 99 Проективная плоскость и проективное пространство 100
475 6.3. Сложение точек на конике 102 6.4. Кубические кривые. Закон сложения 102 6.5. Особые и неособые кубики 105 6.6. Касательные и точки перегиба алгебраической кривой 106 6.7. Нормальные формы эллиптической кривой 107 6.8. Группа неособых точек кубики 108 6.9. Невозможность рациональной параметризации эллиптической кривой 109 6.10. Параметризация эллиптической кривой с помощью эллиптических функций 110 6.10.1. Эллиптические функции ПО 6.10.2. Функция Вейерштрасса 112 6.10.3. Параметризация эллиптической кривой над полем С 113 6.11. Дискриминант иу-инвариант 115 6.12. Закон сложения точек эллиптической кривой 115 6.13. Эллиптические кривые над числовыми полями 117 6.14. Изоморфизмы и эндоморфизмы эллиптических кривых 119 6.14.1. Изоморфизмы над полями характеристики, отличной от 2 и 3 .. 119 6.14.2. Изоморфизмы над полями характеристики 3 120 6.14.3. Изоморфизмы надполями характеристики 2 121 6.14.4. Бирациональный изоморфизм кривых 121 6.14.5. Эндоморфизмы эллиптических кривых 123 6.14.6. Изоморфизмы эллиптических кривых над алгебраически незамкнутым полем 124 6.15. Отображения алгебраических кривых 128 6.15.1. Регулярные функции и отображения 128 6.15.2. Рациональные функции и рациональные отображения 130 6.15.3. Проективные кривые 131 6.15.4. Изогении эллиптических кривых 132 6.15.5. Полиномы Жегалкина как функции на поверхности единичного куба 133 6.16. Дивизоры на алгебраических кривых 134 6.16.1. Локальное кольцо точки и нормирование 134 6.16.2. Дивизоры 135 6.16.3. Спаривание Вейля 137 6.17. Эллиптические кривые над конечными полями 139 6.18. Гиперэллиптические кривые 141 6.18.1. Функции на кривых 6.18.2. Якобиан Упражнения к главе 6 148 Литература к главе 6 149 ГЛАВА 7. ВЫЧИСЛИТЕЛЬНЫЕ АЛГОРИТМЫ АЛГЕБРЫ И ТЕОРИИ ЧИСЕЛ 151 7.1. Алгоритмы умножения 151 7.1.1. Алгоритм умножения Карацубы-Офмана 151 7.1.2. Умножение в классах вычетов 151 7.1.3. Умножение с помошью быстрого преобразования Фурье 153 7.1.4. Модульное умножение. Метод Монтгомери 155 7.1.5. Деление 157 7.2. Алгоритмы обращения и вычисления наибольшего общего делителя 158 7.3. Минимизация базиса решетки 160 7.4. Разложение над конечным полем полиномов от одной переменной 161 7.5. Извлечение квадратных и кубических корней в конечном поле 161 7.5.1. Извлечение квадратного корня в случае д = Ъ (mod 4) 162 7.5.2. Извлечение квадратного корня в случае q-^5 (mod 8), = 9 (mod 16) 162 7.5.3. Извлечение квадратного корня в общем случае для нечетного q 163 7.5.4. Извлечение квадратного корня в случае четного q 163 7.5.5. Решение квадратного уравнения 163 7.5.6. Извлечение кубического корня в конечном поле 164 7.6. Вычисление символа Якоби 165 7.7. Проверка чисел и полиномов на простоту 165 7.8. Разложение чисел в мнимом квадратичном порядке Ж[\- D] 166 7.9. Приведение числа по модулю решетки 169 7.10. Умножение точки эллиптической кривой на число 171 7.11. Вычисление функции Вейля 172 7.12. Сложение элементов якобиана гиперэллиптической кривой 173 7.13. Арифметика группы классов мнимых квадратичных порядков 174 Упражнения к главе 7 175 Литература к главе 7 176 ГЛАВА 8. КРИПТОГРАФИЯ И ЗАЩИТА ИНФОРМАЦИИ 177 8.1. Основные понятия заш:иты информации.... 178 8.2. Исчисление атак 181 8.2.1. Упорядоченность моделей нарушителя и безопасных систем ... 181 8.2.2. Множества возможностей нарушителя 182 8.2.3. Тривиальная модель нарушителя.... 184 8.2.4. Нетривиальная модель нарушителя 186 8.2.5. Место криптографии в защите информации 188
476 8.3. Основные понятия и определения криптографической защиты данных 189 8.3.1. Криптографические примитивы 189 8.3.2. Хэш-функция 190 8.3.3. Шифр 191 8.3.4. Понятие стойкости криптографических алгоритмов 191 8.4. Шифрование 192 8.4.1. Симметричное и несимметричное шифрование 193 8.4.2. Способы шифрования 194 8.5. Аутентификация 195 8.5.1. Опознавание 197 8.5.2. Контроль целостности и подлинности данных 198 8.6. Управление ключами 198 8.7. Задачи, положенные в основу безопасности криптофафических алгоритмов 199 Упражнения к главе 8 201 Литература к главе 8 202 ГЛАВА 9. СИСТЕМА RSA И ЗАДАЧА РАЗЛОЖЕНИЯ 203 9.1. Безопасность системы RSA и задача разложения на множители 203 9.2. Детерминированные методы разложения.. 204 9.2.1. Метод пробного деления 204 9.2.2. Метод «giant step — baby step» 205 9.2.3. Метод Ферма 205 9.2.4. Метод диофантовой аппроксимации 206 9.3. Вероятностные методы разложения 207 9.3.1. р-метод Полларда (метод «Монте-Карло») 207 9.3.2. Метод непрерывных дробей 207 9.3.3. Метод квадратичного решета 209 9.3.4. {р - 1)-метод 210 9.3.5. Разложение на эллиптической кривой 210 9.3.6. Разложение на квантовом компьютере 212 9.4. Атаки на систему RSA, не треб^тощие разложения 213 9.4.1. Случай малого секретного показателя 213 9.4.2. Случаи специальных открытых показателей 214 9.4.3. Атаки на основе эндоморфизмов.... 215 Упражнения к главе 9 216 Литература к главе 9 217 ГЛАВА 10. ДИСКРЕТНОЕ ЛОГАРИФМИРОВАНИЕ В КОНЕЧНОМ ПОЛЕ И СМЕЖНЫЕ ЗАДАЧИ 218 10.1. Метод базы разложения 218 10.2. Логарифмирование в простом поле методом решета числового поля 222 10.2.1. Подготовительные теоретико-числовые результаты 222 10.2.2. Метод решета числового поля 223 10.3. Логарифмирование в расширенном поле 227 10.4. Группа классов мнимого квадратичного порядка 228 10.5. Логарифмирование в фуппе функций Лукаша 229 10.6. Связь между задачами Диффи-Хеллмана и дискретного логарифмирования 229 Упражнения к главе 10 230 Литература к главе 10 231 ГЛАВА 11. ЗАДАЧА ДИСКРЕТНОГО ЛОГАРИФМИРОВАНИЯ ^ НА ЭЛЛИПТИЧЕСКОЙ КРИВОЙ 233 11.1. Универсальные методы логарифмирования 233 11.1.1. Метод Гельфонда 233 11.1.2. Методы встречи посередине и «giant step — baby step» 234 11.1.3. Метод Полларда 235 11.1.4. Метод встречи на случайном дереве 235 11.1.5. Сравнение сложности логарифмирования на эллиптической кривой и в конечном поле 238 11.1.6. Логарифмирование с помощью квантового компьютера 239 11.2. Влияние комплексного умножения на сложность логарифмирования 240 11.3. Логарифмирование с использованием функции Вейля 241 11.4. Другие задачи, связанные с логарифмированием 243 11.5. Время жизни параметров криптосистемы, основанной на дискретном логарифмировании 246 11.5.1. Мультипликативная группа ноля ....247 11.5.2. Группа точек эллиптической кривой 247 11.6. Логарифмирование в якобиане гиперэллиптической кривой 248 11.7. Требования к эллиптической кривой 249 Упражнения к главе 11 250 Литература к главе 11 251 ГЛАВА 12. ШИФРОВАНИЕ С ОТКРЫТЫМ КЛЮЧОМ 252 12.1. Шифрование с открытым ключом для группы вычислимого порядка 252 12.1.1. Бесключевое шифрование Месси-Омуры 253 12.1.2. Протокол Эль-Гамаля шифрования с открытым ключом 254 12.2. Шифрование с открытым ключом для фуппы трудновычислимого порядка...255 12.2.1. Протокол шифрования Рабина 256 12.2.2. Вероятностное шифрование 256 12.3. Ранцевые алгоритмы шифрования с открытым ключом 258
477 12.4. Генераторы псевдослучайной последовательности 260 Упражнения к главе 12 261 Литература к главе 12 262 ГЛАВА 13. ЦИФРОВАЯ ПОДПИСЬ 263 13.1. Поддись на группе трудновычислимо го порядка 263 13.1.1. Схема подписи RSA 264 13.1.2. Схема подписи Рабина 264 13.1.3. Схема подписи Фиата-Шамира 265 13.2. Подпись на группе вычислимого порядка 265 13.2.1. Схема подписи Эль-Гамаля 265 13.2.2. Схема подписи Шнорра 267 13.2.3. ГОСТ Р 34.10-94 и DSS 268 13.3. Сравнительный анализ представленных схем подписи 269 13.4. Скрытый канал 270 13.5. Другие схемы подписи 271 13.5.1. Схема «неоспоримой» подписи 271 13.5.2. Схема подписи «вслепую». Электронные платежи 273 13.5.3. Схема подписи с восстановлением сообщения 274 13.5.4. Инкрементальная подпись 274 Упражнения к главе 13 275 Литература к главе 13 276 ГЛАВА 14. ДРУГИЕ КРИПТОГРАФИЧЕСКИЕ ПРОТОКОЛЫ 278 14.1. Схемы предъявления битов 278 14.2. Диалоговые доказательства с нулевым разглашением 279 14.2.1. Доказательство знания изоморфизма графов 279 14.2.2. Доказательство знания разложения составного числа 280 14.2.3. Доказательство знания дискретного логарифма 281 14.2.4. Доказательство правильности выбора составного числа 281 14.3. Бездиалоговые доказательства с нулевым разглашением 283 14.4. Передача информации со стиранием 285 14.5. Разделение секрета 287 14.6. Протоколы управления ключами 288 14.6.1. Установление ключа на основе сршметричных методов 289 14.6.2. Доставка ключа 290 14.7. Временная метка 291 14.7.1. Централизованная реализация временной метки 291 14.7.2. Децентрализованная реализация временной метки 292 Упражнения к главе 14 293 Литература к главе 14 293 ГЛАВА 15. КРИПТОСИСТЕМЫ НА ЭЛЛИПТИЧЕСКИХ И ГИПЕРЭЛЛИПТИЧЕСКИХ КРИВЫХ 294 15.1. Расчет числа точек эллиптической кривой в общем случае 294 15.1.1. Предварительные сведения 295 15.1.2. Полиномы деления 296 15.1.3. Алгоритм Чуфа 297 15.2. Расчет числа точек эллиптической кривой над расширенным полем 299 15.3. Расчет числа точек эллиптических кривых С7 = 0, 1728 над простыми полями 301 15.3.1. Кривая/= х^ +В 301 15.3.2. Кривая/-х^ + Лх 303 15.4. Эллиптические кривые с комплексным умножением 305 15.4.1. Генерация эллиптических кривых с комплексным умножением 306 15.4.2. Влияние комплексного умножения на скорость вычислений 308 15.5. Эллиптические кривые над расширенными полями специальных характеристик 311 15.6. Протоколы на эллиптических кривых 314 15.6.1. Встраивание открытого текста в координату точки 314 15.6.2. Аналог криптосистемы RSА 315 15.6.3. Установление сеансового ключа 316 15.6.4. Шифрование 317 15.6.5. Цифровая подпись 318 15.6.6. Опознавание, канал со стиранием и доказательства с нулевым разглашением 321 15.6.7. Вычислимая в одну сторону функция, свободная от коллизий 324 15.6.8. Генераторы псевдослучайной последовательности 325 15.6.9. Протоколы для электронных платежей 326 15.7. Криптосистемы на гиперэллиптических кривых 329 15.8. Криптосистемы на изогениях эллиптических кривых 331 15.8.1. Задача вычисления изогении и квантовый компьютер 331 15.8.2. Криптографические протоколы на изогенных кривых 332 Упражнения к главе 15 334 Литература к главе 15 335 ГЛАВА 16. ОБЩИЕ СВЕДЕНИЯ ОБ ИТЕРИРОВАННЫХ КРИПТОАЛГОРИТМАХ 336 16.1. Основные понятия классической криптографии 336 16.2. Некоторые положения теории секретности Шеннона 336 16.2.1. Объем текстов, однозначно определяюш[их ключ 339 16.2.2. Теория аутентификации Симмонса.... 340 16.3. Булевы функции и булевы формулы 340
478 16.4. Аффинно эквивалентные булевы функции и подстановки 342 16.5. Задача вскрытия ключа и математические задачи 344 16.5.1. Задача вскрытия ключа и NP-полные задачи 345 16.5.2. Задача о выполнимости 345 16.6. Требования к шифрам 347 16.7. Шифры замены и перестановки 350 16.7.1. Моноалфавитная замена 350 16.7.2. Полиалфавитная замена 351 16.8. Операторы, используемые при построении блочных шифров 353 16.9. Описание итерированных шифров в терминах булевых функций 356 Упражнения к главе 16 357 Литература к главе 16 358 ГЛАВА 17. АЛГЕБРАИЧЕСКИЕ МЕТОДЫ КРИПТОАНАЛИЗА 359 17.1. Метод обобщения и редукции. Метод гомоморфизмов 359 17.2. Замкнутые и чистые шифры 360 17.2.1. Вскрытие ключей замкнутых и чистых шифров 360 17.2.2. Проверка шифра на замкнутость и чистоту 361 17.3. Решеточный криптоанализ 362 17.3.1. Решеточно продолженные булевы функции и решеточные полиномы .. 362 17.3.2. Метод криптоанализа 365 17.4. Метод арифметического продолжения булевых футякций 369 17.5. Анализ шифров с малым порядком нелинейности 375 17.6. Криптоанализ на основе рационального продолжения полиномов Жегалкина 377 17.6.1. Теоретические основы 377 17.6.2. Метод криптоанализа 379 17.7. Криптоанализ на основе 2-адического продолжения полиномов Жегалкина 383 17.7.L Теоретические основы 383 17.7.2. Метод криптоанализа 384 17.8. Максимизация числа совпавших разрядов промежуточных текстов 385 17.9. Анализ с использованием сжимаюш[их гомоморфизмов 386 17.10. Поиск коллизий хэш-функции 388 17.11. Компромисс время/память 389 17.12. Сочетание перебора и вычисления ключа... 390 17.13. Отбраковка классов ключей 391 17.14. Задачи, к которым сводится задача вскрытия ключа 392 17.15. Вскрытие ключа на квантовом компьютере 393 Угфажнения к главе 17 394 Литература к главе 17 395 ГЛАВА 18. СТАТИСТИЧЕСКИЕ МЕТОДЫ КРИПТОАНАЛИЗА 396 18.1. Некоторые определения 396 18.2. Дифференциальный криптоанализ 397 18.2.1. Конечные разности 397 18.2.2. Метод криптоанализа 398 18.2.3. Анализ с помощью усеченных дифференциалов 405 18.2.4. Анализ с помощью дифференциалов высших порядков 406 18.2.5. Атака «бумеранг» 406 18.3. Криптоанализ на основе списка ключей и связанных ключей 407 18.4. Линейный криптоанализ 408 18.5. Анализ степенных шифров методом сдвига 416 18.6. Генерация экстремальных подстановок для шифров 418 18.6.1. Экстремальные подстановки 418 18.6.2. Булевы функции для экстремальных подстановок 419 18.6.3. Примеры экстремальных подстановок 420 Упражнения к главе 18 422 Литература к главе 18 423 ГЛАВА 19. ПРИМЕНЕНИЕ ИТЕРИРОВАННЫХ ШИФРОВ И ХЭШ-ФУНКЦИЙ 425 19.1. Режимы шифрования 425 19.1.1. Режим простой замены 425 19.1.2. Режим гаммирования 425 19.1.3. Режим гаммирования с обратной связью 426 19.1.4. Режим сцепления блоков. Выработка имитовставки 426 19.2. Некоторые вопросы применения шифров 427 19.3. DES 429 19.4. FEAL 431 19.5. IDEA 432 19.6. ГОСТ 28147-89 433 19.6Л. Стойкость шифра ГОСТ 28147-89 ....435 19.6.2. Стойкость шифра ГОСТ 28147-89 при наличии у нарушителя лабораторных возможностей 435 19.7. RC5 436 19.8. Blowfish 438 19.9. SAFER 439 19.10.RIJ14DAEL(AES) 440 19.11. MD5 441 19.12. ГОСТ Р 34.11-94 442 Упражнения к главе 19 444 Литература к главе 19 445 ОТВЕТЫ И УКАЗАНИЯ К УПРАЖНЕНИЯМ 447 ПРИЛОЖЕНИЕ. ЭЛЛИПТИЧЕСКИЕ КРИВЫЕ Д]Ю СГАНДАРТА ПОДПИСИ ГОСТ Р 34.1 (>-2001 „.. 4 5 2 УКАЗАТЕЛЬ 464
Pocmoeifee Александр Григорьевич Маховенко Елена Борисовна ТЕОРЕТИЧЕСКАЯ КРИПТОГРАФИЯ Издание подготовлено в АНО НПО «Профессионал» 191023, Санкт-Петербург, ул. Садовая, 28-30, корп. 35 Тел.: (факс) 321-67-38, 110-59-91, 115-14-35 www.naukaspb.ru, www.npomis.com b.ru, mis(a),nDomis.com ? Ответственный за издание: Полуда А.А. Ответственный за подготовку: Емельянова KB Ответственный редактор: БелкановаЛ.В. Редактор-корректор: Чудновская Э.К Компьютерная верстка: Бойченко ТА., Коробова Н.В^, Фгтипа ТА. Ответственный за выпуск: Жадобина Т.И. Оператор цифровой печати: Л.В. Кеда Отпечатано в центре цифровой печати АНО НПО «Профессионал» 191023, Санкт-Петербург, ул. Садовая, 28-30, корп. 35 Тел.: (факс) 321-67-38; 110-59-91; 110-57-93; 115-14-35. Сдано в набор 16.08.2004. Подписано к печати 18.10.2004 Формат 60x90/8. Бумага офсетная, плотность 80 г/м Объем 35 п. л. Тираж 1000 экз. 2 _- "J-