Лучше/хуже — субъективная оценка, когда вы сравниваете и по производительности, и по возможным атакам.
Я вот считаю, что лучше исследованный режим с двумя шифрованиями, чем плохо исследованная новинка с одним.
Я написал, что «CTR не даёт защиты в случае если у вас шифротекст украли два раза», не обязательно мне это повторять своими словами.
Я устроил небольшую провокацию автору статьи, предложив метод, являющийся рекомендованным для некоторых применений, но уязвимым для данного случая. Автор показал, что он не знает про режим CTR, не видел статей по криптоанализу ни CTR, ни XTS, но при этом легко пишет в статье «считается самым безопасным способом хранить данные посекторно» лишь на основании рекомендации одного стандарта. Вам не кажется такой способ мышления неосторожным?
XTS выглядит, как будто он лучше ECB и CTR. Реально ли он лучше или нет для посекторного шифрования — оценить можно только после интенсивного анализа разными специалистами. Всё что мы видим сейчас — стандарт, принятый не смотря на развёрнутую критику разбирающихся товарищей, которую NIST не мог не видеть, раз разместил на своём сайте.
WEP тоже был специально разработан для своей цели и попал в стандарт. Однако через пару лет его сломали.
Стандарты зачастую принимают люди очень слабо разбирающиеся в безопасности — менеджеры, лоббисты, юристы. Посмотрите главу «Процесс стандартизации» в «Практической криптографии» (она же «The Standards Process» в «Cryptography Engeneering»), думаю, у вас поуменьшится доверия к просто стандартизированным алгоритмам.
Правильно.
CTR не даёт защиты в случае если у вас шифротекст украли два раза. А даёт ли защиту XTS от этого? Без реальных работ по криптоанализу этого нельзя утверждать.
Ниже привёл ссылку на комментарии Neils Ferguson об XTS (это соавтор Шнайера по «Практической криптографии»).
И ни одной ссылки на криптоанализ данного режима шифрования.
Зато нагуглилось вот такое: csrc.nist.gov/groups/ST/toolkit/BCM/documents/comments/XTS/collected_XTS_comments.pdf
Смотрим комментарии Vijay Bharadwaj and Neils Ferguson
1) «does not contain a clear statement of what application-level security goals XTS aims to achieve»
2) «proposal lacks the margin of safety that would be expected of a mode which is to be used for 20-30 years»
3) «In general, the attacker can perform a number of manipulations to the ciphertext in order to influence the decrypted plaintext»
4) «This shows that large data units significantly weaken the system. The standard should not allow data units larger than the recommended 2^20 blocks.» (16 мегабайт)
Так в том то и дело, что получается не просто потоковый шифр, а шифрование дающее random access к данным.
Ваши входные данные:
1) Ключ K
2) Адрес (номер) сектора — X
3) Блок данных длины L байт (кратной 128 битам — размер блока AES)
Начальное значение Counter для шифрования блока считаем через номер сектора:
Counter = L * X / 16
В этом случае у вас весь диск получается шифрован как единое целое, но вы можете в любой момент расшифровать любой блок отдельно. Даже любой байт можно расшифровать отдельно.
1) «XTS-AES… считается самым безопасным способом хранить данные посекторно»
Откуда такая оценка? Кем считается и на основании чего.
2) «Вопрос к математически подкованной аудитории: Почему выбрано именно умножение на полином в GF(2) по модулю x128+x7+x2+x+1?»
Это порождающий полином (reduction polynomial) для поля Галуа длиной 128 бит — GF(2^128). Порождающий позволяет ввести для поля операцию умножения и деления, а также перебирать все элементы поля (кроме 0) путём многократного умножения первичного элемента на этот полином. Обычно выбирается трёхчлен (минимальный порождающий), но тут пятичлен.
Разумное ограничение должно быть.
Само по себе излучение пользы не проносит точно. Данные, которые передаются — могут быть полезными. Поэтому нужен баланс — пользы от данных и
100% запрет на всё — дикость, возможность позвать на помощь с помощью мобильника — огромное благо для прикованного к постели, запертого и т.п.
Но и 100% разрешение всего тоже не дело. Если в больнице 1000 человек одновременно начнут говорить по мобилам с включенным WiFi и bluetooth, ещё там будет бесконтактные ридеры на каждой двери и у каждого прибора — совокупный эффект будет не очень полезным.
Есть нормы на ПДК всяких примесей в воздухе. Должны быть и нормы на ПДК излучения. В больницах и т.п. они запросто могут быть строже чем на улице. Зашёл в больницу — отключи в своём мобильнике лишнее, оставь только необходимое. Но это должно касаться всего, в том числе излучения от проводов, транформаторов и т.п., а не только WiFi.
Помимо прямого чтения статей, есть ещё много полезных применений Википедии.
Например, я иногда использую её для перевода терминов. Словари часто дают кучу вариантов, а тут чёткая связка двух статей (если они есть и без редиректа).
Тут есть два момента:
1) Себестоимость изготовления солнечных панелей. Есть мнение, что эффективные панели за свой срок службы производят меньше энергии, чем можно было бы купить на их себестоимость энергии, полученной из других источников.
2) Вредность изготовления и эксплуатации солнечных панелей. Вот тут приводятся сведения, что альтернативные источники энергии в этом отношении опаснее ядерных, если на тераватт-час считать: olegart.livejournal.com/1437206.html
> Так ГОСТ 28147-89 с 256 битами можно реализовать в классическом виде менее чем за 1000GE
Вот его и сломали :) habrahabr.ru/blogs/crypto/119671
> 10млрд компьютеров, каждый из которых выполняет 10млд операция перебора в секунуд, вскроют шифр только за несколько десятков миллиардов лет.
Надо считать через закон Мура, примерно 1 бит в год каждый симметричный шифр «теряет». Если 56 сейчас не безопасно, значит 80 будет небезопасно через 24 года, а 128 — через 70 лет.
Значит нужно несколько вариантов определить, для разных сфер. Например, так:
а) 128 бит, 2000GE («Транспорт»)
б) 256 бит, 4000GE («Стратегическая сфера»)
Насколько я вижу, PRESENT не обеспечивает 200 бит, там 128 максимум.
Не хватает постановки задачи:
1) Какую стойкость нужно обеспечить,
2) Какая площадь на чипе доступна? (2000GE?)
Или нужно определение, что есть LW-криптография.
Ничего не сказано про текущий стандарт симметричного шифрования AES.
Гугление подсказывает, что есть реализации на 3000-3400GE.
А что касается самой задачи — конкурс надо объявлять. Как сделали с AES и со SHA-3.
Чтобы каждый автор мог ломать алгоритмы конкурентов.
Алгоритмы, которые никто не ломал, кроме автора — крайне опасны. NXP/Philips уже нарвалась с Crypto1 на Mifare.
ИМХО, задача распадается на две.
1) Моделирование поведения пешехода. Это, по-моему, задача поиска пути на взвешенном графе.
Граф — прямоугольная решётка, задающая местность, вес — «комфортность» (собака и центр автобана — минимум, ровный асфальт — максимум). Связи — как минимум с 8 соседними узлами. Если сделать шаг решётки 10-20см, это будет неплохо моделировать пешехода на улицах.
Задача решается довольно просто волновым алгоритмом (поэтому решение и похоже на оптику и принцип наименьшего действия, это цифровой вариант наименьшего действия).
Чтобы определить все необходимые дорожки, нужно запускать такой алгоритм для всех возможных маршрутов (например, автостоянка — дом, дом — сосед, сосед — автостоянка, дом — магазин и т.д.) сначала без готовых дорожек — моделируем пешеходов на газоне.
Нужно не забыть про особые случае — велосипедисты, старики с палочками, инвалиды на калясках, матери с детьми в колясках, женщины на высоких каблуках, школьники (перепрыгнуть через небольшой заборчик) и т.д.
2) Определение что и как асфальтировать.
Для этого запускаем «эволюцию» системы — каждый маршрут модифицирует граф — пешеход вытаптывает тропинку на газоне и т.п. Маршруты начнут объединяться, склеиваться и т.д. (люди скорее пойдут по вытоптанной тропинке, чем в метре от неё по свежей траве).
Когда картина устаканится, можно начать моделировать асфальтирование тропинок — менять веса графа на асфальт (совсем комфортные) по выбранным маршрутам и проверять, не меняют ли люди маршруты. Если удалось добиться замены всех вытоптанных тропинок на асфальтированные — задача решена. Потом ещё можно проверить, не стали ли какие-то фрагменты асфальта бесполезными.
Показательна такая удалённость.
Я вот считаю, что лучше исследованный режим с двумя шифрованиями, чем плохо исследованная новинка с одним.
Я устроил небольшую провокацию автору статьи, предложив метод, являющийся рекомендованным для некоторых применений, но уязвимым для данного случая. Автор показал, что он не знает про режим CTR, не видел статей по криптоанализу ни CTR, ни XTS, но при этом легко пишет в статье «считается самым безопасным способом хранить данные посекторно» лишь на основании рекомендации одного стандарта. Вам не кажется такой способ мышления неосторожным?
XTS выглядит, как будто он лучше ECB и CTR. Реально ли он лучше или нет для посекторного шифрования — оценить можно только после интенсивного анализа разными специалистами. Всё что мы видим сейчас — стандарт, принятый не смотря на развёрнутую критику разбирающихся товарищей, которую NIST не мог не видеть, раз разместил на своём сайте.
Стандарты зачастую принимают люди очень слабо разбирающиеся в безопасности — менеджеры, лоббисты, юристы. Посмотрите главу «Процесс стандартизации» в «Практической криптографии» (она же «The Standards Process» в «Cryptography Engeneering»), думаю, у вас поуменьшится доверия к просто стандартизированным алгоритмам.
CTR не даёт защиты в случае если у вас шифротекст украли два раза. А даёт ли защиту XTS от этого? Без реальных работ по криптоанализу этого нельзя утверждать.
Ниже привёл ссылку на комментарии Neils Ferguson об XTS (это соавтор Шнайера по «Практической криптографии»).
Зато нагуглилось вот такое:
csrc.nist.gov/groups/ST/toolkit/BCM/documents/comments/XTS/collected_XTS_comments.pdf
Смотрим комментарии Vijay Bharadwaj and Neils Ferguson
1) «does not contain a clear statement of what application-level security goals XTS aims to achieve»
2) «proposal lacks the margin of safety that would be expected of a mode which is to be used for 20-30 years»
3) «In general, the attacker can perform a number of manipulations to the ciphertext in order to influence the decrypted plaintext»
4) «This shows that large data units significantly weaken the system. The standard should not allow data units larger than the recommended 2^20 blocks.» (16 мегабайт)
Ваши входные данные:
1) Ключ K
2) Адрес (номер) сектора — X
3) Блок данных длины L байт (кратной 128 битам — размер блока AES)
Начальное значение Counter для шифрования блока считаем через номер сектора:
Counter = L * X / 16
В этом случае у вас весь диск получается шифрован как единое целое, но вы можете в любой момент расшифровать любой блок отдельно. Даже любой байт можно расшифровать отдельно.
en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Counter_.28CTR.29
Брюс Шнайер с коллегами в «Практической криптографии» и «Cryptography Engeneering» рекомендуют CTR или CBC с random IV. CBC для по секторного не подходит, это понятно.
Есть ли работы по криптоанализу XTS-AES? Разработчиками обычно создаются шифры, которые только они не могут сломать.
Откуда такая оценка? Кем считается и на основании чего.
2) «Вопрос к математически подкованной аудитории: Почему выбрано именно умножение на полином в GF(2) по модулю x128+x7+x2+x+1?»
Это порождающий полином (reduction polynomial) для поля Галуа длиной 128 бит — GF(2^128). Порождающий позволяет ввести для поля операцию умножения и деления, а также перебирать все элементы поля (кроме 0) путём многократного умножения первичного элемента на этот полином. Обычно выбирается трёхчлен (минимальный порождающий), но тут пятичлен.
Само по себе излучение пользы не проносит точно. Данные, которые передаются — могут быть полезными. Поэтому нужен баланс — пользы от данных и
100% запрет на всё — дикость, возможность позвать на помощь с помощью мобильника — огромное благо для прикованного к постели, запертого и т.п.
Но и 100% разрешение всего тоже не дело. Если в больнице 1000 человек одновременно начнут говорить по мобилам с включенным WiFi и bluetooth, ещё там будет бесконтактные ридеры на каждой двери и у каждого прибора — совокупный эффект будет не очень полезным.
Есть нормы на ПДК всяких примесей в воздухе. Должны быть и нормы на ПДК излучения. В больницах и т.п. они запросто могут быть строже чем на улице. Зашёл в больницу — отключи в своём мобильнике лишнее, оставь только необходимое. Но это должно касаться всего, в том числе излучения от проводов, транформаторов и т.п., а не только WiFi.
Шмидту и Миронюк зачёт, ждём мнений Лессига и Уэйлса.
Например, я иногда использую её для перевода терминов. Словари часто дают кучу вариантов, а тут чёткая связка двух статей (если они есть и без редиректа).
1) Себестоимость изготовления солнечных панелей. Есть мнение, что эффективные панели за свой срок службы производят меньше энергии, чем можно было бы купить на их себестоимость энергии, полученной из других источников.
2) Вредность изготовления и эксплуатации солнечных панелей. Вот тут приводятся сведения, что альтернативные источники энергии в этом отношении опаснее ядерных, если на тераватт-час считать: olegart.livejournal.com/1437206.html
forum.utorrent.com/viewtopic.php?id=31306
Вот его и сломали :)
habrahabr.ru/blogs/crypto/119671
> 10млрд компьютеров, каждый из которых выполняет 10млд операция перебора в секунуд, вскроют шифр только за несколько десятков миллиардов лет.
Надо считать через закон Мура, примерно 1 бит в год каждый симметричный шифр «теряет». Если 56 сейчас не безопасно, значит 80 будет небезопасно через 24 года, а 128 — через 70 лет.
а) 128 бит, 2000GE («Транспорт»)
б) 256 бит, 4000GE («Стратегическая сфера»)
Насколько я вижу, PRESENT не обеспечивает 200 бит, там 128 максимум.
1) Какую стойкость нужно обеспечить,
2) Какая площадь на чипе доступна? (2000GE?)
Или нужно определение, что есть LW-криптография.
Ничего не сказано про текущий стандарт симметричного шифрования AES.
Гугление подсказывает, что есть реализации на 3000-3400GE.
А что касается самой задачи — конкурс надо объявлять. Как сделали с AES и со SHA-3.
Чтобы каждый автор мог ломать алгоритмы конкурентов.
Алгоритмы, которые никто не ломал, кроме автора — крайне опасны. NXP/Philips уже нарвалась с Crypto1 на Mifare.
1) Моделирование поведения пешехода. Это, по-моему, задача поиска пути на взвешенном графе.
Граф — прямоугольная решётка, задающая местность, вес — «комфортность» (собака и центр автобана — минимум, ровный асфальт — максимум). Связи — как минимум с 8 соседними узлами. Если сделать шаг решётки 10-20см, это будет неплохо моделировать пешехода на улицах.
Задача решается довольно просто волновым алгоритмом (поэтому решение и похоже на оптику и принцип наименьшего действия, это цифровой вариант наименьшего действия).
Чтобы определить все необходимые дорожки, нужно запускать такой алгоритм для всех возможных маршрутов (например, автостоянка — дом, дом — сосед, сосед — автостоянка, дом — магазин и т.д.) сначала без готовых дорожек — моделируем пешеходов на газоне.
Нужно не забыть про особые случае — велосипедисты, старики с палочками, инвалиды на калясках, матери с детьми в колясках, женщины на высоких каблуках, школьники (перепрыгнуть через небольшой заборчик) и т.д.
2) Определение что и как асфальтировать.
Для этого запускаем «эволюцию» системы — каждый маршрут модифицирует граф — пешеход вытаптывает тропинку на газоне и т.п. Маршруты начнут объединяться, склеиваться и т.д. (люди скорее пойдут по вытоптанной тропинке, чем в метре от неё по свежей траве).
Когда картина устаканится, можно начать моделировать асфальтирование тропинок — менять веса графа на асфальт (совсем комфортные) по выбранным маршрутам и проверять, не меняют ли люди маршруты. Если удалось добиться замены всех вытоптанных тропинок на асфальтированные — задача решена. Потом ещё можно проверить, не стали ли какие-то фрагменты асфальта бесполезными.