Симметричное шифрование. Помогите!
Установил 1.2.2 под винду все пути прописал все прошло как надо.
Пытаюсь проделать простую операцию симметричного шифрования -с.
Все проходит ОК. А как проделать обратную операцию. Еще раз вызвать
-с для шифрованного файла не помогает даже с -а выдает не исходный файл а фуфло какое то. Чего я делаю не так
Ссылки
[link1] http://www.pgpru.com/soft/gnupg/download.shtml
[link2] http://www.pgpru.com/forum/viewtopic.php?t=240
[link3] http://www.pgpru.com/faq/kriptografija#h44-7
[link4] http://www.pgpru.com/comment16388
[link5] http://www.pgpru.com/comment61254
[link6] http://www.pgpru.com/comment8983
[link7] http://www.pgpru.com/comment9044
[link8] http://www.pgpru.com/forum/sodejjstvie/ohuzhetamudrenajakapcha
-d
--decrypt [file]
1. Всё-таки симметричный алгоритм. :)
2.
Уже давным-давно вышла 1.4.2[link1], а в 1.2.2 найдена **критическая уязвимость**[link2] :!:
3. Обязательно укажите файл вывода (имя для расшифровываемого файла):
При расшифровке файла, зашифрованного симметричным алгоритмом, gpg выдает следующее сообщение:
Подозреваю, что это может быть связно с отсутствием цифровой подписи, т.е. отсутствием проверки неизменности файла. Однако же при расшифровке файла, зашифрованного с помощью ключа (т.е. асимметричного алгоритма), без подстановки ЭЦП такого сообщения не дается.
Что означает это сообщение?
наверно, это означает отсутствие mdc
MDC (modification detection code) — это хэш сообщения, который добавляется к сообщению перед зашифрованием. Это позволяет выявлять атаки[link3], осуществляемые изменением неподписанного шифртекста: в этом случае при расшифровании код MDC не совпадёт, и программа поднимет тревогу. Отсутствие MDC, о чём GPG уведомил Вас таким предупреждением, говорит о том, что расшифрованное сообщение потенциально могло быть подвергнуто атаке.
При асимметричном шифровании MDC может не применяться по двум причинам:
При симметричном шифровании MDC используется всегда, если поддерживается самой программой.
или просто файл побился при пересылке
Ну, это если бы MDC был. В данном случае предупреждается о его отсутствии, т.е. нет никакой гарантии и способа установить, что сообщение получено в том виде, в каком было отправлено.
Спасибо за ответы, все ясно и доходчиво.
Однако в моем случае все-таки не могу понять, шифрую с помощью своей программы GnuPG 1.4.6, старовата уже )) но ведь и расшифровываю с помощью ее же самой... Иначе говоря получается, если бы программа не поддерживала MDC, то видимо и не знала бы о том, что MDC нужно проверить, а значит не выдавала бы подобного сообщения. Ключ поддерживает флаг, хотя насколько я понимаю при симметричном шифровании ключ не используется.
Впрочем нужно обновить программу и попробовать...
Есть подозрение, что в 1.4.6 при симметричном шифровании MDC по умолчанию не использовался. Попробуйте шифровать с дополнительной опцией --force-mdc. Но в любом случае обновитесь до 1.4.9.
SATtva, вы правы. Опция --force-mdc сработала.
Два вопроса.
Как сделать, что бы GPG при симметричном шифровании командой "gpg -c" по умолчанию (т.е. без указания дополнительной опции --cipher-algo) использовал по умолчанию шифр AES256 вместо CAST5?
Так же хотелось бы узнать, как при таком же шифровании добавить использование по умолчанию опции --force-mdc применяя шифр CAST5, при использовании этого шифра она не используется (при использовании AES256 сообщения о целостности при расшифровке не выдается).
В принципе, можно прописать эти опции в gpg.conf, но если используете gpg не исключительно для симметричного шифрования, делать этого настоятельно не советую — поломаете совместимость при использовании асимметричных ключей.
Ясно,спасибо, с ключами то же надо иногда. А если плюнуть и забыть и использовать CAST5, это нормальный шифр? Не было ли рекомендаций его не использовать?
И еще, если gpg используется с ключами, там используется в конечном счете AES или то же CAST5?
Вроде не было. Ну кроме стандартных ограничений по размеру данных для шифров с 64битным блоком.
Это уже определяется предпочтениями в открытых ключач пользователей, для которых шифруются файлы. Там может быть что угодно, хоть 3DES. Но сейчас в ключах, создаваемых по умолчанию, вроде AES256 везде на первом месте прописан, так что скорее всего он будет использоваться.
Ради прикола посоревновал на скорость симметричного шифрования разные алгоритмы. Для шифрования взял видеофайл с расширением mpg размером 662 Мб. Время засекалось по секундомеру смартфона. Может будет кому любопытно. Вот какие результат получились:
На расшифровку провел эксперимент только с одним алгоритмом CAST5, для сравнения скорости шифровки/дешифровки одного файла, на расшифровку ушла 1 минута 8 секунд, т.е. расшифровка идет быстрее.
Ну и последнее – для сравнения решил тестовый файл просто сжать архиватором zip (из рабочего окружения операционной системы). И что удивительно, он сжимался 1 минуту 44 секунды. Т.е. на само по себе шифрование то уходит времени совсем немного. Но вот вопрос. Gpg работает с архиваторами: Без сжатия, ZIP, ZLIB, BZIP2. А который их них используется при шифровании по умолчанию и когда возможен режим без сжатия?
По умолчанию zip; без сжатия только в принудительном порядке либо при соответствующих предпочтениях получателя. Также может автоматически отключаться для каких-то типов файлов, чтобы повторно не сжимать уже сжатые данные (такой функционал был в PGP).
А можете в 2-х словах сказать в чем суть? Про ограничения с 64 битным блоками. Попробовал в нете найти, не удалось чего нибудь вразумительного.
Всё уже украдено до Вас: [1][link4], [2][link5].
Ясно, спасибо. Про размер ключа то все понятно было, а вот про нежелательность использовать шифры с размером блока 64 бит для файлов более определенной величины не знал.
Еще возникли вопросы:
1 Если нужно зашифровать несколько файлов сразу, как сделать? Пробую перечислить через пробел, gpg команду не воспринимает.
2 Есть ли возможность использовать CUDA графических ускорителей для шифрования больших объемов информации?
1. /comment8983[link6], /comment9044[link7]. Файлы во множественном числе, каталоги, маски с вопросами "?" и звёздочками "*" подставлять по вкусу.
2. Для взлома — может и имеет смысл с этим возиться. Для рядовой эксплуатации – маловероятно.
Тогда уж OpenCL. Но, как верно отмечено, если Вы не гоняете гигабайты данных, никакого смысла в этом нет. Для всего остального есть
MasterCardинструкции AES-NI в новых CPU и специализированные криптоакселераторы.Ага, получилось, спасибо.
Не подскажете еще вот такой момент?
Ранее в Ubuntu 10.04 при двойном клике на файле name.gpg, который нужно расшифровать, выскакивало поле для ввода пароля. После ввода пароля я получал расшифрованный файл name. Теперь в Ubuntu 13.04 такая фишка не срабатывает, система говорит "Для файлов типа «заголовок сообщения, зашифрованный PGP/MIME» не установлено ни одного приложения. Найти подходящее приложение для открытия этого файла?". Для расшифровки приходится давать полную команду в терминале, либо смотреть содержимое по команде gpg --decrypt, если это текстовый файл.
Что сделать, что бы в Ubuntu 13.04 появилась возможность расшифровки по двойному клику мыши?
Может быть, поставить какой-нибудь софт типа GPA, а потом указать его в ответе на вопрос
Нет, дело в чем-то другом. Поставил GPA, который кстати поставился криво и выдает ошибку, но расшифровки по двойному клику не получается, прежняя картина. И ксати в Ubuntu 10/04 GPA у меня не было, никогда им не пользовался. Дело в чем то другом.
Вопрос к админам, если прочтете ответьте пожалуйста. тест Тьюринга очень сложный, когда котята или розы все проходит, но когда пирамиды и шары прям не знаю что писать, вроде пишу через пробел и ни в какую.
Видимо не хватает какого-то модуля, ранее даже в блокноте можно было шифровать с использованием GPG, был плагин "шифрование", сейчас нет. Через контекстное меню наутилуса то же можно было шифровать, правда только ключом, сейчас то же нет. Возможно это как-то связано. Ранее за эти вещи отвечал плагин seahorse, сейчас он установлен, но его функционал ограничивается только формой управления ключами.
[offtopic]
/Форум/Содействие/ОхУжЭтаМудренаяКапча[link8]. Не думали зарегистрироваться на сайте?
[/offtopic]
Slon, пакет pinentry какой-нибудь установлен?
Слова надо писать во множественном/единственном числе, как положено.
При обновлении софта так всегда происходит, надо было сидеть на старой убунте. Я не глупее вас, но не обновляю свою убунту, потому что не могу себе позволить потом сидеть и 2 недели фиксить всевозможные баги, в то время как сейчас всё настроено и работает.
Установлены pinentry-gtk2 и pinentry-curses
Вместо первого попробовал pinentry-gtk2:i386, не помогло. Видимо связано с тем, что в 13.04 уже GTK3.
Причем здесь глупее или нет, об этом никто не начинал говорить. Если бы не сгоревшая видеокарта, новая отказалась работать со старой версией.