Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

разбивка на блоки по 16 бит

59K
09 апреля 2011 года
mkolmogorov
3 / / 25.04.2010
Здравствуйте!

Хочу написать на C# реализацию алгоритма шифрования IDEA - готовых исходников не нашел.

В описании алгоритма сказано: "IDEA использует 128-битный ключ и 64-битный размер блока, открытый текст разбивается на блоки по 64 бит"

Не понимаю, что значит "стольки-то-битный"? Всегда имел дело только с языками высокого уровня, о битах и байтах представление слабое (только как о размере данных).

Если ввожу строковый ключ - как определить его битность? Как вообще представить строку в виде битов? Как с этим работать? А как разбить шифруемый текст на блоки по 64 бит? Какова программная реализация этого?

Буду очень благодарен за подробные ответы!
244
09 апреля 2011 года
UAS
2.0K / / 19.07.2006
Цитата:
Не понимаю, что значит "стольки-то-битный"?


Это значит, что в нем столько-то бит. КО.

Цитата:
Всегда имел дело только с языками высокого уровня, о битах и байтах представление слабое (только как о размере данных).

Не оправдание)

Цитата:
Если ввожу строковый ключ - как определить его битность?

В шифровании применяется, так-то, кодировка ASCII, т.е. в одном символе 8 бит. Отсюда и считайте.

Цитата:
Как вообще представить строку в виде битов?

Представить строку как набор байтов. Для 32-символьной строки получится массив из 32 байтов.

Цитата:
Как с этим работать?

Работать согласно алгоритму шифрования. У вас есть байты. Работайте с битами с помощью битовых операций (сдвиг, xor, and и т.д.)

Цитата:
А как разбить шифруемый текст на блоки по 64 бит?

Разбить на блоки по 8 байт.

Цитата:
Какова программная реализация этого?

В смысле?) Берете да пишите)

P.S.: сам писал реализацию для шифрования по ГОСТу, в целом ничего сложно, так же все разбивается на блоки, такие же ключи.

59K
09 апреля 2011 года
mkolmogorov
3 / / 25.04.2010
один символ - 8 бит. Значит 128битный ключ - 16 символов. Только 16? А как быть если он больше или меньше?

Аналогично и с шифруемым текстом - надо разбить на блоки по 64 бит - то есть по 8 символов?
244
09 апреля 2011 года
UAS
2.0K / / 19.07.2006
Значит 16 символов.
Цитата:
Только 16?

Ну если написано, что ключ должен быть 128 бит, значит только 16.
Он не может быть больше или меньше, он обязательно равен 128 битам.

Цитата:
Аналогично и с шифруемым текстом - надо разбить на блоки по 64 бит - то есть по 8 символов?


Ну да. Если текст не кратен 8 байтам (символам), то можете дополнить нулями или ещё какими-либо байтами (на этот случаи должны быть рекомендации к алгоритму шифрования).

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог