Рейтинг:0

Как я могу найти правильную пару ключей, учитывая открытый текст и зашифрованный текст

флаг jp

Если у меня есть известные пары открытого текста и зашифрованного текста и 2 неизвестных ключа длиной 24 бита. (Предположим, что метод шифрования неизвестен)

9acb0442f0c5341e 035a85c5772da926
aa209b8e700e0976 f1849958b47fec38
6cb50b02afd3a30c 4e48ca11ee429960
10cd96722811a558 ​​0a18dd10a6b31c5c
18d2fe904d088f48 f84950f2d18dc4e8
83e4f98dd04ab55f 4dc9a896a1dd3a99
36d9ff456172bfe3 ea626b82da337f24
516c42b078092a35 05d5757be9fca1e7

Первый ключ шифрует первый столбец, а второй ключ шифрует результат для получения второго столбца. Как найти правильную пару ключей?

Перебор 2 ^ 48 должен быть невозможен, поэтому мой оригинальный цикл for не будет работать

 for (int i = 0; i < 16777216; i++) // 16777216 равно 2^24, а i соответствует первому ключу
            {
                for(int j = 0; j < 16777216; j++) // j для второго ключа
                {
                   temp = doubleEncrypt (int i, int j, a.getPlaintext()); // сохраняем полученный зашифрованный текст во temp
                   if(temp == a.getCiphertext() // проверяем, соответствует ли то, что мы получили, фактическому зашифрованному тексту
                   {
                       System.out.println("Пара ключей " + val+1 + "th:");
                       printKeyPair(i, j); // если совпадение найдено выводим ключи i, j
                   }
                }
            }

Моя идея состояла в том, чтобы дважды зашифровать первый столбец, пока я не получу второй столбец, но я не уверен, как это сделать не более чем за 2 ^ 25 итераций.

fgrieu avatar
флаг ng
Мы не отвечаем на основные вопросы домашнего задания. Подсказка: зашифруйте открытый текст, например. `9acb0442f0c5341e` со всеми возможными ключами `i` и сохранить результаты в словаре. Теперь, как бы вы проверили (с высокой степенью достоверности) угадывание ключа `j` с помощью одной операции шифрования или дешифрования?
Volapiik Vyrient avatar
флаг jp
спасибо, я попробую это

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.