Проект:Кандидаты в добротные статьи/28 октября 2019

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Завершённые обсуждения кандидатов в добротные статьи

Здесь находятся завершившиеся обсуждения. Просьба не вносить изменений.

Статья о великом визире, занимавшем этот пост дважды. — Зануда 05:14, 28 октября 2019 (UTC)

  • (!) Комментарий: Субашей по тексту или викифицировать или пояснить надо. — --с уважением, Lapsy 11:17, 29 октября 2019 (UTC)
    • ✔ Сделано.-- Зануда (с чужого компа)

✔ Статья избрана. Требованиям ВП:ТДС соответствует. — --с уважением, Lapsy 10:56, 6 ноября 2019 (UTC)

Добрый день! Это моя первая статья, которую я номинирую на статус добротной статьи. В данной статье описывается блочный шифр Halka, главной особенностью которого является использование мультипликативной инверсии на основе LFSR для 8-битных S-блоков. Статья содержит такие разделы, как: История, Алгоритм, Подробная информация о раунде, Мультипликативная инверсия с использованием LFSR, Криптоанализ, Примечания, Литература и Ссылки. — Student zaschitainformacii (обс.) 14:48, 28 октября 2019 (UTC)

  • И ещё. У меня организационное предложение: не актуальную часть обсуждения (где-то до реплики 16:10, 4 декабря 2019 включительно) загнать в {{скрытый блок}}, а в остальной части обсуждения заменить нумерованные списки на ненумерованные (нумерация всё равно разъехалась) и добавить подписи к каждому пункту. — Браунинг (обс.) 15:51, 5 декабря 2019 (UTC)
    • Я не против. adamant.pwncontrib/talk 15:56, 5 декабря 2019 (UTC)
      • Спасибо за попытку сделать обсуждение более понятным. К сожалению, я ужасно путаюсь, потому что одни и те же вопросы вы обсуждаете в разных ветках и это какой-то ад. Поэтому постараюсь ответить здесь на все ваши вопросы. То есть на те вопросы, которые я не прокомментировала выше. В дальнейшем прошу писать ниже и списочком, а лучше вписывайтесь в какой-то один список, пока я не оставлю новый ответ. Как это и было раньше. Это, как мне кажется, намного удобнее и чтобы понять, что конкретно вы спрашиваете и просите исправить, на что именно мне нужно отвечать. Спасибо за понимание.


Итак, мультипликативная инверсия определяется в определенном поле. Это поле Галуа по модулю многочлена. Записывается так: GF(28) = GF(2)[x]/(x8 + x4 + x3 + x + 1), Rijndael's finite field. Вот пример: , . Если перемножить эти два многочлена и результат поделить столбиком на , найти остаток от деления, то он будет равен . Получили единичку, это значит, что они обратны друг другу по модулю . Кстати, нам понадобится именно такое представление дальше, например,

По поводу вопроса об initial_seed = W(t). В статье явным образом не говорится, что это единичный элемент, однако на странице 6 в статье приведён пример конкретного S-блока и то, что там называется initial_seed'ом, является единичным элементом. Возможно, это подразумевалось автором или он считал, что это очевидно из самого названия initial seed. В статье в конкретном примере initial_seed = 0x16, в таблице подстановки этому значению соответствует число 0x32, и после того как его проXORить с данным константным значением 0x24, получится вновь 0x16. Совпадение? Не думаю. Initial_seed может быть любым - это просто параметр для построения шифра. Кстати, полезная викистраница про это: S-box AES

W(t), по всей видимости, в LFSR это вектор из ноликов и единичек, соответствующих тому значению, которое хранит каждый отдельный триггер в LFSR. Функцией обратной связи для LFSR является многочлен , по модулю которого рассматривается поле.

Аффинное преобразование в статье не описывается вообще.

Student zaschitainformacii (обс.) 13:13, 6 декабря 2019 (UTC)

  • tl;dr: видимо, adamant прав, наша "инверсия" не инверсия , а . Пара поправок: аффинное преобразование в статье не только не описывается, но и не упоминается, откуда оно взялось вообще? И многочлен у нас немножко другой (это не затрагивает остального рассуждения). — Браунинг (обс.) 13:40, 6 декабря 2019 (UTC)
    • Ой, да, перепутала. Про аффинное преобразование вообще тогда упоминание уберу. На страницах 3-4 оригинальной статьи сформулирована и доказана теорема, что реализуемый на LFSR алгоритм будет возвращать мультипликативную инверсию. Student zaschitainformacii (обс.) 13:52, 6 декабря 2019 (UTC)
      • На страницах 3-4 он доказывает, что на выходе будет получено такой что . Почему, собственно, это мультипликативная инверсия он никак не обосновывает и есть все основания полагать, что это просто неверное утверждение. adamant.pwncontrib/talk 14:35, 6 декабря 2019 (UTC)
    • Упс, стоп. Я попробовал закодить этот алгоритм и воспроизвести S-блок из статьи, и у меня ничего не получилось. Точнее, S[0x16] = 0x32 получилось, а остальное нет (вместо 2c, 20, dc... получаю 2d, ae, 23...). Что ставит под сомнение выводы, основывающиеся на этом совпадении. :( Код с Гитхаба, на который я давал ссылку выше, к сожалению, не поможет, поскольку там S-блок взят целиком из статьи. — Браунинг (обс.) 14:15, 6 декабря 2019 (UTC)
      • А вы авторитетный источник? Я не могу ответить, потому что Адамант ввел свои обозначения. Что такое D? Что я понимаю. У нас есть начальное состояние. Через 255 шагов LFSR возвращает нас к начальному состоянию. При помощи этого свойства и XORа находится мультипликативная инверсия. Мы все уже несколько раз перечитали эту статью. О какой другой мультипликативной инверсии может идти речь, кроме той, что есть в литературе по AES, а именно: Let , the multiplicative inverse in GF(2^8) ??? Ничего больше я понять не могу.
        • Это тупик. Давайте не пытаться запутывать самих себя. Student zaschitainformacii (обс.) 14:25, 6 декабря 2019 (UTC)
          • Вопрос риторический, ответ ожидаемый: не АИ я, не АИ. D — можно считать P=QD определением. "О какой другой мультипликативной инверсии может идти речь" — так вот именно этого мы и не понимаем! Потому что это определённо не та инверсия. Если вы понимаете, то сможете написать на любом языке программирования программу, которая воспроизводит S-блок из статьи. Я вот не осилил. — Браунинг (обс.) 14:36, 6 декабря 2019 (UTC)
        • это некоторый элемент такой что и, соответственно, . Можно считать, что по модулю примитивного многочлена. adamant.pwncontrib/talk 14:41, 6 декабря 2019 (UTC)
  • На самом деле есть компромиссный вариант: выкинуть всю конкретику и оставить общие слова с атрибуцией ("По утверждению автора, вычисляется мультипликативная инверсия..."). Не знаю, сочетается ли это с ВП:ТДС-4. Может, и сочетается, поскольку это всё вторичными источниками (описывающими именно Halka) всё равно не освещено. — Браунинг (обс.) 14:36, 6 декабря 2019 (UTC)
    • Ваш вариант мне абсолютно по душе. Но, кстати, я нашла статью c абсолютно таким же математическим описанием и примитивным многочленом(чорт, не могу скинуть ссылку на сайхаб, но вот doi: 10.1109/ICCE-TW.2015.7217019), мне тут показалось, что про обычную инверсию и говорится, потому что они пытаются to compute the multiplicative inverse of any non-zero element in Galois Field — Эта реплика добавлена участником Student zaschitainformacii (ов) 14:51, 6 декабря 2019 (UTC)
      • Так у этих-то парней начальное состояние 00000001, а не как у некоторых индийцев. — Браунинг (обс.) 14:51, 6 декабря 2019 (UTC)
      • Короче, что оставить и что убрать? Мы все равно ничего не поняли :D Student zaschitainformacii (обс.) 14:51, 6 декабря 2019 (UTC)
        • В общем, я думаю, ситуация здесь такова, что на самом деле Сурав Дас самовольно расширяет понятие мультипликативной инверсии и на самом деле работает не с ней, а с некоторым параметрическим семейством инверсно-подобных преобразований, каждое из которых всё ещё называет мультипликативной инверсией. Скорее всего, этот произвольно выбранный действительно служит некоторым замещением для аффинного преобразования из AES, но так как это явно нигде не прописано, внести в статью мы это также не можем. Так что, видимо, следует обойтись добавлением в статью того, что данное преобразование является мультипликативной инверсией «по утверждению автора» (я уже внёс это в статью). adamant.pwncontrib/talk 15:32, 6 декабря 2019 (UTC)
          • Подтверждением того, что служит заменой аффинному преобразованию служит, например, такая строчка: «Using a different initial seed, this also gets a free linear transformation for Halka S-box». Я думаю, на её основании можно уточнить в статье, что произвольно выбранный позволяет «автоматически» проводить линейное преобразование после взятия инверсии. adamant.pwncontrib/talk 15:38, 6 декабря 2019 (UTC)
          • В общем, я попробовал расписать подробнее этот момент на основе того, что Сурав Дас пишет у себя про параметризацию, думаю сейчас вопрос решён более менее приемлемым образом. adamant.pwncontrib/talk 15:52, 6 декабря 2019 (UTC)
      • У них то же математическое описание потому что они его скопировали у Sourav Das, вон и ссылки в примечаниях есть. А начальное состояние действительно 00000001, так что инверсия честная получается. adamant.pwncontrib/talk 15:00, 6 декабря 2019 (UTC)
    • Я (снова) посмотрел статью, автор явно в курсе того, что «мультипликативная инверсия» у него определена неоднозначно (см. секцию Parametrization) и он в этом проблем не видит. В принципе, можно оставить конкретику, но указанную атрибуцию добавить к «Для вычисления мультипликативной инверсии заданного входного вектора…». То есть, что это уважаемый автор статьи заявляет, что нам нужно именно искать. adamant.pwncontrib/talk 15:18, 6 декабря 2019 (UTC)
  • (+) За. Статья прошла достаточно долгий путь и, на мой взгляд, она сейчас намного лучше, чем была изначально. Единственное, что ещё — Браунинг выше упомянул, что в [1] в преамбуле заявляют о некоторых проблемах с устойчивостью к дифференциальному анализу, если это так, то действительно стоит упомянуть об этом в статье. adamant.pwncontrib/talk 16:05, 6 декабря 2019 (UTC)

✔ Статья избрана. Требованиям ВП:ТДС соответствует. Статья прошла долгий и сложный путь, но в итоге пришла к статусу. Поздравляю! — Красныйхотите поговорить? 19:57, 7 декабря 2019 (UTC)