Как мне запрограммировать шифрование AES-40 в Java? - PullRequest
1 голос
/ 12 января 2020

Для моего научного выставочного проекта я буду изучать шифрование AES и анализировать результаты ключей разных размеров для шифрования AES. Например, я хотел бы изучить около 40-битных ключей и посмотреть, сколько времени потребуется, чтобы их сломать. Я знаю, как работает AES-128 (16-байтовый ключ, создает матрицу битов и соответственно их сдвигает), однако мне было интересно, как я смогу кодировать AES, используя 40 бит вместо 128 бит?

Примечание: это только для образовательных целей (на самом деле не будет использоваться для защиты чего-либо), и предпочтительно язык Java, однако приветствуются и другие языки.

Ответы [ 2 ]

1 голос
/ 13 января 2020

Существует определение S-AES или Simple AES для образовательных целей, но он имеет размер ключа и блока 16 битов и работает с полубайтами в виде слов.

Вы можете найти ссылку, например: здесь . Удачного программирования.

1 голос
/ 12 января 2020

Ну AES определено только для ключей размера 128, 192 и 256. Так что AES-40 - это не вещь.

Теперь я предполагаю, что вы можете ограничить размер ключа до 40 биты, взяв один из распознанных вариантов AES и передав 40-битные ключи с нулями. Но не называйте это AES, потому что это не настоящий AES.

В Википедии есть общее описание алгоритма (ов) AES и ссылки на другие ресурсы.

...