Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Его Правительские Звания
84 / 71 / 20
Регистрация: 13.07.2017
Сообщений: 1,534
Записей в блоге: 2
1

Как сделать, чтобы было максимально трудно перебирать ключи в шифре?

13.10.2019, 09:16. Просмотров 459. Ответов 10
Метки нет (Все метки)

Понимаю, что не существует такого шифра, который взломать невозможно в принципе. Но вся криптография основана на задаче максимально затруднить взлом. Но почему-то при этом шифры стремятся сделать быстрыми. Меня это удивляет, так как в быстрых шифрах быстрее и перебираются ключи. Конечно, шифр не должен шифровать сутки, но 5 минут на процессоре 2 ГГц - мне кажется, это приемлемо. Вопросы ко всему этому такие:
1. Если на процессоре 2 ГГц (который в некоторых кругах считается стандартным) шифр вычисляется 5 минут в 4 потока, то сколько ключей в секунду будет перебираться на самой мощной сети суперкомпьютеров, которая может появиться в ближайшие 30-50 лет?
2. Как конкретно сделать, чтобы шифр мог задействовать несколько потоков как минимум в течение половины общего времени шифрования? Планируется использовать в шифре математические операции и табличные замены.
3. Как сделать, чтобы шифр требовал много памяти (как минимум 1 ГБ)?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2019, 09:16
Ответы с готовыми решениями:

как сделать чтобы максимально можно было добавить 3 авто
#include "stdafx.h" #include <stdio.h> #include <conio.h> #include <locale> #include <stdlib.h>...

Что объявить в классе-контейнере, чтобы его можно было перебирать поэлементно
что и как надо объявить в своем классе-контейнере, чтобы его можно было перебирать поэлементно...

Шифр Цезаря: Как сделать сортировку в шифре, чтобы дешифратор выдал единственно верное решение
Люди, как сделать сортировку в шифре, чтобы дешифратор выдал единственно верное решение Нужно как...

Найти точку на плоскости, чтобы максимально расстояние от нее до заданных прямых было минимальным
Всем привет, есть задача, которая в общем смысле формулируется так : у нас есть N прямых от 2 до...

10
Модератор
7667 / 5389 / 1542
Регистрация: 21.04.2018
Сообщений: 15,876
Записей в блоге: 2
13.10.2019, 09:35 2
Etyuhibosecyu, вы опять пытаетесь изобретать велосипед.

Быстрый шифр означает не быструю возможность подбора шифра, а возможность его применения на большом объёме данных, или для быстрого обмена данных.
Для подбора шифра скорость шифрования менее важна чем скорость валидации ключа. А при неизвестных начальных данных валидации может быть очень не простая.

Что касается запаса на будущее, то это просто надо добавить длину ключа.
Допустим, если 64 бита супер-пупер компьютер считает за год и нас этого устраивает.
То с учётом закона Мура (удвоение скорости за полтора-два года) делаем ключ размером 128 бит.
Такой ключ обеспечит защиту на 50 лет с запасом.
0
Его Правительские Звания
84 / 71 / 20
Регистрация: 13.07.2017
Сообщений: 1,534
Записей в блоге: 2
13.10.2019, 09:38  [ТС] 3
Элд Хасп, а что такое "скорость валидации ключа"?
0
Модератор
7667 / 5389 / 1542
Регистрация: 21.04.2018
Сообщений: 15,876
Записей в блоге: 2
13.10.2019, 09:50 4
Etyuhibosecyu, допустим, у вас есть шифровка "1234567890".
Вы поменяете к ней ключ и получаете "0987654321".
Но не зная начального набора данных, вы не можете проверить соответствует ли полученная дешифровка эти данным.
И соответственно не можете сделать вывод о правильности/неправильности применённого ключа.
0
Его Правительские Звания
84 / 71 / 20
Регистрация: 13.07.2017
Сообщений: 1,534
Записей в блоге: 2
13.10.2019, 10:19  [ТС] 5
Элд Хасп, обычно шифруются не наборы цифр, а осмысленные тексты. Даже пароли не являются случайными последовательностями Юникода, так как используют ограниченный набор разрешенных символов. А зная набор разрешенных символов, отфильтровать небольшое количество кандидатов на нужный пароль - тривиальная задача. А проверка на соответствие текста заданному алфавиту делается элементарно и очень быстро. Кроме того, даже в пределах текстов, соответствующих алфавиту, можно сравнительно легко найти те, которые с большей вероятностью являются нужным паролем, например, как правило, даже в паролях, сгенерированных специальными программами, как минимум половина символов являются буквами. Так что с валидацией никаких проблем, если знать тип шифруемых данных. Так что прошу все же ответить на вопросы в шапке прямо.
0
727 / 279 / 95
Регистрация: 09.01.2018
Сообщений: 553
13.10.2019, 10:48 6
Etyuhibosecyu, Даже если атака по открытому тексту, ключ длиной 256 бит невозможно перебрать ни в какие разумные сроки. Даже, если скорость перебора ключей в пентилион (18 нулей) в секунду, на перебор уйдет около 1.86Е+51 лет. Можно смело разделить это число еще на миллиард (октильон ключей в секунду) и это не сократит время сколько нибудь значительно. Думаю в таких рамках, вряд ли имеет какой либо смысл рассматривать увеличение скорости перебора как серьезный недостаток, значительно снижающий устойчивость ко взлому методом грубой силы.
0
Его Правительские Звания
84 / 71 / 20
Регистрация: 13.07.2017
Сообщений: 1,534
Записей в блоге: 2
13.10.2019, 10:59  [ТС] 7
escoult, а если метод не грубой силы? Если использовать какой-нибудь дифференциальный криптоанализ и выделится не 2^256, а, например, 2^64 ключей? Тогда уже при миллиарде ключей в секунду можно будет взломать за обозримое время.

Добавлено через 2 минуты
Добавлю: знает ли кто-либо, как максимально уменьшить влияние на шифр дифференциального криптоанализа?
0
Модератор
7667 / 5389 / 1542
Регистрация: 21.04.2018
Сообщений: 15,876
Записей в блоге: 2
13.10.2019, 11:02 8
Etyuhibosecyu, обычно перед шифрованием применяется какой-то метод компрессии. Причём декомпрессию можно делать только с конца последовательности.
Поэтому надо сначала полностью дешифровать последовательность, потом её с конца декомпресировать и только потом можно проверить валидность.
1
Модератор
7667 / 5389 / 1542
Регистрация: 21.04.2018
Сообщений: 15,876
Записей в блоге: 2
13.10.2019, 11:30 9
Etyuhibosecyu, современные шифры уже учитывают дифференциальный криптоанализ.
И обязательно проверяются на стойкость к нему.

Добавлено через 3 минуты
Etyuhibosecyu, но наука не стоит на месте.
Всё может быть. Может завтра кто-то придумает как можно в секунду щёлкать любой шифр.
Но такие скачки технологий, науки не предскажешь.
То что можно предсказать обязательно учитывается при разработке шифра.
0
Его Правительские Звания
84 / 71 / 20
Регистрация: 13.07.2017
Сообщений: 1,534
Записей в блоге: 2
13.10.2019, 11:37  [ТС] 10
Элд Хасп, а конкретно что нужно сделать, чтобы шифр учитывал дифференциальный криптоанализ, вы не знаете?
0
Модератор
7667 / 5389 / 1542
Регистрация: 21.04.2018
Сообщений: 15,876
Записей в блоге: 2
13.10.2019, 12:13 11
Etyuhibosecyu, я по-моему уже писал вам в другой теме.
Шифрование проходил несколько часов в ВУЗе.
Большее потом с ним не сталкивался.
Если было нужно использовал уже готовые методы, библиотеки.

Насколько помню из теории, там просто идёт проверка на устойчивость.
Если можно ускоренно взломать тем или иным способом, то просто алгоритм отбрасывается.

Добавлено через 2 минуты
Etyuhibosecyu, теория шифров - это не раздел программирования.
Поэтому здесь вы вряд-ли получите квалифицированные ответы в этой области.
Она относится к прикладной (вычислительной) математике.
Попробуйте в научных разделах поинтересоваться.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2019, 12:13

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

как сделать, чтобы при нажатии на кнопку появлялась таблица, заданная мною, чтобы в полях таблицы можно было ввести информацию а потом сохранить ее
Здравствуйте! Подскажите, вот у меня есть веб-страница и код в ней. Если открыть в браузере, то сам...

Как сделать, чтобы не было размывания?
при созданий/сохранений простого изображения создаётся размытость правых и нижних краёв. как...

Как сделать так, чтобы не было самоедства?
import sys,random from PyQt5.QtWidgets import QMainWindow,QFrame, QDesktopWidget,...

Как сделать чтобы не было доступа к worldofwarcraft.com?
т.е чтобы пользователь не смог играть на этом сервере! Это WoW!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.