Я пытаюсь написать программу RSA, чтобы узнать больше о шифре. Я использую Java, но я ищу общий совет.Лучшая практика программирования
Мой вопрос в том, что лучший способ взять содержимое файла и преобразовать его в блоки удвоения, чтобы повысить мощность?
Так что у меня есть текстовый файл ASCII, который содержит полный текст Гамлета (или K & R C, или любой другой) я превратить его в блоки байтов и поднять весь блок к власти. Если я подниму каждый байт на мощность, он будет уязвим для частотного анализа.
Прямо сейчас я прочитал файл в массив байтов, преобразованный в двойной массив, преобразуя его в 2d двойной массив размера [64] [файл/64], а для каждого double [] в массиве 2d конкатенация все удваивает строку, накладывает эту строку на двойную (или должна быть biginteger?), затем выполняйте мою математику.
Это ужасно сложно.
Я мог бы сделать это без 2d массива, но это казалось более простым способом обработки блоков, поскольку вы не можете массивы массивов в java. Вам не нужно указывать код, но я ищу лучшую архитектуру.
Я не могу обрабатывать весь текст как число, но если я просто шифрую каждый байт, очень легко написать программу для поиска шаблонов – Muricula
Я не могу обрабатывать весь текст как число, но если Я просто шифровал каждый байт, он попадал на частотный анализ. Мне нужно поднять весь блок до власти. Кроме того, если бы я должен был зашифровать что-то с помощью симметричного алгоритма, такого как AES, какова была бы точка RSA? Я вижу, что вы говорите об шифровании ключа, но почему бы не использовать обмен ключами для duffie hellman? Я использую двойники, потому что они являются самым большим примитивным типом данных. Они длиннее длинных. Я думаю, что скоро переработаю его для BigIntegers, я начинаю просто. Есть ли у вас какие-либо рекомендации относительно других реализаций? – Muricula
darned timestamp при редактировании комментариев – Muricula