The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Новая криптографическая библиотека EverCrypt с математически..., opennews (??), 06-Апр-19, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


53. "Новая криптографическая библиотека EverCrypt с математически..."  –1 +/
Сообщение от . (?), 06-Апр-19, 23:46 
> Поскольку другой поточный шифр RC4, которые уже везде обьявили дырявым, то кроме чачи/сальсы ничего и нет.

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

> При такой передаче много лишнего копирования памяти.
> Тут не предусмотрен возврат данных.

Одномерный массив в си всегда передается как указатель:
void encrypt(uint64_t block[4], const uint64_t rk[120]);
void encrypt(uint64_t *block, const uint64_t *rk);
Для компилятора нет разницы. Поэтому, чтобы гарантированно не облажаться с выходом за границы понадобится еще статический анализатор.

Нужна ли формальная верификация библиотекам для массового использования? Да.
Нужна ли она в принципе для написания крипты? Нет, так как криптография в софте легко разбивается на функции, изменяющие массив (или структуру) фиксированного размера.
Вот что я пытался сформулировать.

Ответить | Правка | Наверх | Cообщить модератору

59. "Новая криптографическая библиотека EverCrypt с математически..."  +/
Сообщение от Sw00p aka Jerom (?), 07-Апр-19, 02:32 
>Нет, так как криптография в софте легко разбивается на функции, изменяющие массив (или структуру) фиксированного размера.

простите, а функции с данными (структурами данных) не работают? как это массив (последовательность), называйте как хотите, можно представить в виде функции без аргумента?


Ответить | Правка | Наверх | Cообщить модератору

72. "Новая криптографическая библиотека EverCrypt с математически..."  +/
Сообщение от Sw00p aka Jerom (?), 07-Апр-19, 14:57 
>Операция сложения используется, как единственный источник нелинейности.

нет, нелинейность в шифрах задают так называемые "бент-функции", в том же aes это его S-Box

Ответить | Правка | К родителю #53 | Наверх | Cообщить модератору

74. "Новая криптографическая библиотека EverCrypt с математически..."  +1 +/
Сообщение от . (?), 07-Апр-19, 16:18 
Chacha и подобные шифры используют три операции: сложение, xor и побитовый сдвиг. Сложение здесь единственная нелинейная операция. В целом это все дает хорошую защиту от классических методов криптоанализа, основанных на статистике. Но у сложения есть ряд интересных свойств, которые как мне кажется позволяют полностью вскрыть шифры данной конструкции. Естественно, эти свойства сейчас исследуются профессиональными криптографами и в случае обнаружения способа его скорее всего опубликуют.
Aes кстати тоже содержит не самый лучший s-box из всех возможных. Алгебраический иммунитет 2, хотя можно почти при той же нелинейности 3. Здесь подробнее:
https://mailarchive.ietf.org/arch/msg/cfrg/iGeC0IO9K0AGS_AvU...

Bent-функции (максимально нелинейные) это математическая модель, в чистом виде редко применяются.

Ответить | Правка | Наверх | Cообщить модератору

80. "Новая криптографическая библиотека EverCrypt с математически..."  +/
Сообщение от Sw00p aka Jerom (?), 07-Апр-19, 18:18 
>Но у сложения есть ряд интересных свойств, которые как мне кажется позволяют полностью вскрыть шифры данной конструкции.

не у сложения (по модулю), а от выбора S-Box

Ответить | Правка | Наверх | Cообщить модератору

82. "Новая криптографическая библиотека EverCrypt с математически..."  +/
Сообщение от . (?), 07-Апр-19, 19:03 
Оригинальная чача, s-box'ов там нет.
https://github.com/odzhan/tinycrypt/blob/master/stream/chach...
Ответить | Правка | Наверх | Cообщить модератору

84. "Новая криптографическая библиотека EverCrypt с математически..."  +/
Сообщение от Sw00p aka Jerom (?), 07-Апр-19, 20:00 
ChaCha State это и есть фактический S-box
Ответить | Правка | Наверх | Cообщить модератору

85. "Новая криптографическая библиотека EverCrypt с математически..."  +/
Сообщение от Sw00p aka Jerom (?), 07-Апр-19, 20:07 
добавлю, почему тогда эти начальные стейты в сальсе были одни, а в чачача ДЖБ их изменил?
Ответить | Правка | К родителю #82 | Наверх | Cообщить модератору

91. "Новая криптографическая библиотека EverCrypt с математически..."  +/
Сообщение от Ivan_83 (ok), 08-Апр-19, 00:21 
> добавлю, почему тогда эти начальные стейты в сальсе были одни, а в
> чачача ДЖБ их изменил?

Напиши ему и спроси.

Ответить | Правка | Наверх | Cообщить модератору

97. "Новая криптографическая библиотека EverCrypt с математически..."  –1 +/
Сообщение от товарищ майор (?), 08-Апр-19, 12:18 
наши коллеги из NSA очень попросили.

Ответить | Правка | К родителю #85 | Наверх | Cообщить модератору

108. "Новая криптографическая библиотека EverCrypt с математически..."  +/
Сообщение от Sw00p aka Jerom (?), 08-Апр-19, 20:18 
Так это как в случае со слабым S-box

Цитата из вики:

"В 2008 году Daniel Bernstein опубликовал родственное семейство поточных шифров под названием ChaCha, целью которого было улучшение перемешивания данных за один раунд и, предположительно, улучшение криптостойкости при той же или даже немного большей скорости."

Ответить | Правка | Наверх | Cообщить модератору

112. "Новая криптографическая библиотека EverCrypt с математически..."  +/
Сообщение от . (?), 08-Апр-19, 23:14 
S-box определяет вид нелинейного преобразования. У сальсы и чачи нелинейное преобразование одно и то же - сложение. Меняются константы, линейные преобразования (битовые сдвиги), а так же порядок применения сложения. То есть это разные шифры, но суть у них одна.

По Шеннону для шифрования комбинируют рассеивание и запутывание.
Рассеивание - распространение влияния одного бита на максимальное количество других, причем равномерно. Линейные операции, в общем случае умножение на матрицу.
Запутывание - включение битов в как можно более сложные уравнения. Нелинейные операции. Однако нелинейность это только одно из свойств.

Ответить | Правка | Наверх | Cообщить модератору

113. "Новая криптографическая библиотека EverCrypt с математически..."  +/
Сообщение от Sw00p aka Jerom (?), 09-Апр-19, 00:48 
> По Шеннону для шифрования комбинируют рассеивание и запутывание.

"рассеивание и запутывание" - какие-то "упрощенные" определения, S-box - блок подстановок (замен) (нелинейные), P-box - блок перестановок (линейные). (SP-сеть, Сеть Фейстеля)

Ответить | Правка | Наверх | Cообщить модератору

90. "Новая криптографическая библиотека EverCrypt с математически..."  +1 +/
Сообщение от Ivan_83 (ok), 08-Апр-19, 00:20 
> Согласен. Но все же создалось некоторое впечатление, что сместить пытаются не rc4,
> а именно aes.

Чача вроде как быстрее AES если не использовать aes-ni.

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

Я не криптоаналитик, единственный подвох который я знаю - потоковые шрифты далеко не всегда можно применять в различных конструкциях вместо блочных.
Например в полнодисковом шифровании по схеме XTS можно только блочный, потому что поточный там из за xor в самой XTS даёт совсем не тот результат который ожидаешь :)

Ответить | Правка | К родителю #53 | Наверх | Cообщить модератору

104. "Новая криптографическая библиотека EverCrypt с математически..."  +/
Сообщение от meantraitor (?), 08-Апр-19, 16:21 
> Одномерный массив в си всегда передается как указатель

А двумерный? А десятимерный?

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

extern int N;
void foo(int bar[120], int xyz[120]) {
   for (int i = 0; i < N; ++i)
      bar[i] = xyz[i];
}

В лучшем случае, статический анализатор предупреждение выдаст.

Ответить | Правка | К родителю #53 | Наверх | Cообщить модератору

106. "Новая криптографическая библиотека EverCrypt с математически..."  +2 +/
Сообщение от . (?), 08-Апр-19, 17:31 
> А двумерный? А десятимерный?

Вы правы, любой массив это указатель.

> extern int N;

Похоже на выстрел в ногу, как и например передача в функцию &(bar[N]). Получается много условностей, но все же гарантировано безопасный кодинг на си мне представляется возможным в некоторых случаях. А именно, когда код может быть полностью проверен статическим анализатором.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру