Описание тега constant-time

В криптографическом программном обеспечении необходимы функции постоянного времени для предотвращения атак, основанных на измерении времени операций.
1 ответ

Как реализовать универсальный PriorityQueue с базовыми методами в Java?

Мне нужно реализовать пользовательскую очередь приоритетов без использования формы PriorityQueue Java.Util... У меня есть три основных метода: вставить, удалить и очистить. Все операции должны выполняться за постоянное время O (log n). Как я могу сд…
4 ответа

Почти постоянное время вращения, что не нарушает стандарты

У меня чертовски много времени, пытаясь придумать постоянное вращение, которое не нарушает стандарты C/C++. Проблема заключается в крайних / угловых случаях, когда операции вызываются в алгоритмах, и эти алгоритмы не могут быть изменены. Например, с…
0 ответов

Структура данных для хранения изменяемой пары ключ / значение за время O(1) в Java

У меня есть Мир, который может содержать несколько Пулей, вся Пуля имеет Позицию (Центр). Что в основном заключается в следующем class Position{ private double xCoordinate; private double yCoordinate; } Нам нужно реализовать функцию в O(1) (почти по…
03 апр '17 в 17:22
2 ответа

Общая функция сравнения времени C++

Я пишу класс ProtectedPtr, который защищает объекты в памяти с помощью Windows Crypto API, и столкнулся с проблемой создания общей функции сравнения с постоянным временем. Мой текущий код: template <class T> bool operator==(volatile const Prot…
1 ответ

Какова временная сложность метода Java ArrayList.sublist(startIndex, endIndex)?

Вопрос в основном говорит обо всем. Предположим, у меня есть (отсортированный) список, который может содержать от 1К до 1М элементов. у меня есть starting index и ending index, Если я использую ArrayList.sublist(start, end) метод, сложность по време…
0 ответов

BouncyCastle ECDSA Point Умножение

У меня проблемы с просеиванием кода BouncyCastle (в частности, библиотеки Java), поэтому я решил опубликовать этот вопрос здесь на тот случай, если кто-нибудь, знакомый с ним, уже знает ответ. Если я использую класс ECPoint от BouncyCastle и запуска…
15 июл '18 в 14:19
1 ответ

Функция сравнения строк с постоянным временем

Для сравнения двух строк я сейчас использую strcmp или один из его вариантов. Однако, поскольку strcmp занимает больше времени, если совпадает больше символов, он уязвим для временных атак. Есть ли функция сравнения строк с постоянным временем в ста…
25 июл '17 в 14:13
1 ответ

Разработка алгоритма с постоянным временем для функции

Этот вопрос только что у меня над головой: Функция G(m) определяется следующим образом: а) Если m <= 100, то G(m) = G(G(m + 11)) б) если m > 100, то G(m) = m - 10 Согласно вышеупомянутому вопросу, как мне разработать алгоритм с постоянным временем, …
16 авг '17 в 18:36
3 ответа

Предотвращает ли спекуляция зависимость от памяти постоянное время BN_consttime_swap?

контекст Функция BN_consttime_swap в OpenSSL это красота. В этом фрагменте condition был вычислен как 0 или же (BN_ULONG)-1: #define BN_CONSTTIME_SWAP(ind) \ do { \ t = (a-&gt;d[ind] ^ b-&gt;d[ind]) &amp; condition; \ a-&gt;d[ind] ^= t; \ b-&gt;d[i…
2 ответа

Эффективна ли маскировка для предотвращения атак по побочным каналам?

Я работаю с криптографическим кодом с открытым ключом bigint. Безопасно ли использовать побитовое маскирование, чтобы гарантировать, что время расчета и адреса памяти, к которым обращаются, не зависят от значений данных? Является ли этот метод уязви…
09 янв '15 в 17:28
1 ответ

Кэш LFU, как получить и установить в O(1)?

Готовясь к интервью, я столкнулся с чем-то, что заставляет меня усомниться в моем понимании больших алгоритмов с постоянным временем. Вопрос о LeetCode просит создать решение проблемы кэширования LFU. Есть 3 способа реализации: Конструктор - Ввод: i…
04 мар '18 в 16:06
2 ответа

Структура данных Java, которая имеет постоянное время доступа и допускает дублирование

HashMap имеет постоянное время доступа, но не допускает дублирование. ArrayList позволяет дублировать, но не имеет постоянного времени доступа. Есть ли в java структура данных, которая обеспечивает постоянное время доступа и дублирование? Я знаю, чт…
21 мар '15 в 19:50
1 ответ

Ошибка Python: ModuleNotFoundError: нет модуля с именем 'cryptography.hazmat.bindings._constant_time'

Я пытаюсь запустить скрипт, который мне удавалось запустить в прошлом. Останавливается с ошибкой: ModuleNotFoundError: No module named 'cryptography.hazmat.bindings._constant_time' Я недавно удалил python 3.6 и установил python ActiveState: ActivePy…
1 ответ

Ошибка импорта Нет модуля с именем constant_time при доступе к серверу

Это продолжение модулей импорта в Nifi ExecuteScript Я новичок в Python, а также нифи. Я пытаюсь выполнить свой скрипт на Python в процессоре ExecuteScript. Я хочу получить доступ к серверу. поэтому я использовал клиент Paramiko. Но когда я запускаю…
5 ответов

Быстрая оценка постоянного времени от "x==7" до 1 (true) или 0 (false) в Java

Я хочу перенести криптографическую функцию с C на Java. Функция должна выполняться за постоянное время, поэтому никакие условные переходы (и поиск таблиц по x) не допускаются. Исходный код C: int x,result; ... result = (x==7); ... Таким образом, "ре…
2 ответа

Является ли оператор переключателя JavaScript линейным или постоянным временем?

У меня есть следующий JavaScript на моем сайте, поэтому при выполнении определенных поисковых запросов ответ жестко запрограммирован на определенную страницу: function redirect() { var input = document.getElementById('searchBox').value.toLowerCase()…
1 ответ

Постоянный доступ к произвольному элементу в списке (C++)

В настоящее время я работаю над реализацией алгоритма, который я хотел бы показать, что он может работать в постоянном времени, даже с очень большим количеством элементов. К сожалению, мне нужна структура данных, где хранить элементы. Когда количест…
21 мар '17 в 13:46
3 ответа

Создайте структуру массива в JavaScript, в которой отсутствует индексирование

Индексирование (ведение индексов) в массиве делает Array.prototype.shift а также Array.prototype.unshift O(N) вместо O(1). Однако, если мы просто хотим использовать pop() / push() / shift() и unshift () и никогда не использовать индексы для поиска, …
1 ответ

Как найти целое число в списке размером N за постоянное время?

Свойства списка: должен иметь размер N, где N - количество целых чисел нет пустых клеток числа могут быть не совсем последовательными (т. е. {-23,-15,-3,1,2,6,7,8,15,100}) Вставка / поиск должны быть в постоянном времени. Моим первым инстинктом было…
03 апр '15 в 04:34
2 ответа

Эффективный кольцевой буфер с постоянным доступом

В проекте машинного обучения, написанном на Python, мне нужен эффективный кольцевой буфер, например collections.deque но с постоянным доступом к любому элементу, например numpy.array. Проблема в том, что deque, по-видимому, является связанным списко…
14 апр '20 в 20:06