Симметричное шифрование. Помогите!


Установил 1.2.2 под винду все пути прописал все прошло как надо.
Пытаюсь проделать простую операцию симметричного шифрования -с.
Все проходит ОК. А как проделать обратную операцию. Еще раз вызвать
-с для шифрованного файла не помогает даже с -а выдает не исходный файл а фуфло какое то. Чего я делаю не так


Комментарии
— unknown (25/11/2005 14:32)   
-d

--decrypt [file]
— Lustermaf (25/11/2005 16:16)   
1. Всё-таки симметричный алгоритм. :)

2.
SiberiaSerg:
Установил 1.2.2 под винду все пути прописал все прошло как надо.

Уже давным-давно вышла 1.4.2[link1], а в 1.2.2 найдена **критическая уязвимость**[link2] :!:

3. Обязательно укажите файл вывода (имя для расшифровываемого файла):
— Вий (07/01/2009 09:40, исправлен 07/01/2009 09:44)   
При расшифровке файла, зашифрованного симметричным алгоритмом, gpg выдает следующее сообщение:



Подозреваю, что это может быть связно с отсутствием цифровой подписи, т.е. отсутствием проверки неизменности файла. Однако же при расшифровке файла, зашифрованного с помощью ключа (т.е. асимметричного алгоритма), без подстановки ЭЦП такого сообщения не дается.

Что означает это сообщение?
— sentaus (07/01/2009 11:56)   
наверно, это означает отсутствие mdc
— SATtva (10/01/2009 22:55, исправлен 10/01/2009 22:57)   
MDC (modification detection code) — это хэш сообщения, который добавляется к сообщению перед зашифрованием. Это позволяет выявлять атаки[link3], осуществляемые изменением неподписанного шифртекста: в этом случае при расшифровании код MDC не совпадёт, и программа поднимет тревогу. Отсутствие MDC, о чём GPG уведомил Вас таким предупреждением, говорит о том, что расшифрованное сообщение потенциально могло быть подвергнуто атаке.

При асимметричном шифровании MDC может не применяться по двум причинам:

  1. OpenPGP-программа отправителя слишком стара и не знает о существовании MDC.
  2. В Вашем ключе отсутствует флаг поддержки MDC. (У Вашего ключа 0xBC6673A4 он присутствует.)

При симметричном шифровании MDC используется всегда, если поддерживается самой программой.
— unknown (11/01/2009 09:23)   
говорит о том, что расшифрованное сообщение потенциально могло быть подвергнуто атаке.

или просто файл побился при пересылке
— SATtva (11/01/2009 11:14)   
Ну, это если бы MDC был. В данном случае предупреждается о его отсутствии, т.е. нет никакой гарантии и способа установить, что сообщение получено в том виде, в каком было отправлено.
— Вий (11/01/2009 15:49)   
Спасибо за ответы, все ясно и доходчиво.
Однако в моем случае все-таки не могу понять, шифрую с помощью своей программы GnuPG 1.4.6, старовата уже )) но ведь и расшифровываю с помощью ее же самой... Иначе говоря получается, если бы программа не поддерживала MDC, то видимо и не знала бы о том, что MDC нужно проверить, а значит не выдавала бы подобного сообщения. Ключ поддерживает флаг, хотя насколько я понимаю при симметричном шифровании ключ не используется.
Впрочем нужно обновить программу и попробовать...
— SATtva (11/01/2009 15:52)   
Однако в моем случае все-таки не могу понять, шифрую с помощью своей программы GnuPG 1.4.6, старовата уже )) но ведь и расшифровываю с помощью ее же самой

Есть подозрение, что в 1.4.6 при симметричном шифровании MDC по умолчанию не использовался. Попробуйте шифровать с дополнительной опцией --force-mdc. Но в любом случае обновитесь до 1.4.9.
— Вий (11/01/2009 16:21, исправлен 11/01/2009 16:22)   
SATtva, вы правы. Опция --force-mdc сработала.
— Slon (13/05/2013 12:57)   
Два вопроса.

Как сделать, что бы GPG при симметричном шифровании командой "gpg -c" по умолчанию (т.е. без указания дополнительной опции --cipher-algo) использовал по умолчанию шифр AES256 вместо CAST5?

Так же хотелось бы узнать, как при таком же шифровании добавить использование по умолчанию опции --force-mdc применяя шифр CAST5, при использовании этого шифра она не используется (при использовании AES256 сообщения о целостности при расшифровке не выдается).

— SATtva (13/05/2013 13:41)   
В принципе, можно прописать эти опции в gpg.conf, но если используете gpg не исключительно для симметричного шифрования, делать этого настоятельно не советую — поломаете совместимость при использовании асимметричных ключей.
— Slon (13/05/2013 15:14)   
Ясно,спасибо, с ключами то же надо иногда. А если плюнуть и забыть и использовать CAST5, это нормальный шифр? Не было ли рекомендаций его не использовать?

И еще, если gpg используется с ключами, там используется в конечном счете AES или то же CAST5?
— sentaus (13/05/2013 15:22)   
Не было ли рекомендаций его не использовать?


Вроде не было. Ну кроме стандартных ограничений по размеру данных для шифров с 64битным блоком.


И еще, если gpg используется с ключами, там используется в конечном счете AES или то же CAST5?

Это уже определяется предпочтениями в открытых ключач пользователей, для которых шифруются файлы. Там может быть что угодно, хоть 3DES. Но сейчас в ключах, создаваемых по умолчанию, вроде AES256 везде на первом месте прописан, так что скорее всего он будет использоваться.
— Slon (13/05/2013 18:06)   
Ради прикола посоревновал на скорость симметричного шифрования разные алгоритмы. Для шифрования взял видеофайл с расширением mpg размером 662 Мб. Время засекалось по секундомеру смартфона. Может будет кому любопытно. Вот какие результат получились:




На расшифровку провел эксперимент только с одним алгоритмом CAST5, для сравнения скорости шифровки/дешифровки одного файла, на расшифровку ушла 1 минута 8 секунд, т.е. расшифровка идет быстрее.

Ну и последнее – для сравнения решил тестовый файл просто сжать архиватором zip (из рабочего окружения операционной системы). И что удивительно, он сжимался 1 минуту 44 секунды. Т.е. на само по себе шифрование то уходит времени совсем немного. Но вот вопрос. Gpg работает с архиваторами: Без сжатия, ZIP, ZLIB, BZIP2. А который их них используется при шифровании по умолчанию и когда возможен режим без сжатия?
— SATtva (13/05/2013 18:41)   
По умолчанию zip; без сжатия только в принудительном порядке либо при соответствующих предпочтениях получателя. Также может автоматически отключаться для каких-то типов файлов, чтобы повторно не сжимать уже сжатые данные (такой функционал был в PGP).
— Slon (14/05/2013 16:33)   
Вроде не было. Ну кроме стандартных ограничений по размеру данных для шифров с 64битным блоком.

А можете в 2-х словах сказать в чем суть? Про ограничения с 64 битным блоками. Попробовал в нете найти, не удалось чего нибудь вразумительного.
— SATtva (14/05/2013 16:47)   
Всё уже украдено до Вас: [1][link4], [2][link5].
— Slon (14/05/2013 17:02)   
Ясно, спасибо. Про размер ключа то все понятно было, а вот про нежелательность использовать шифры с размером блока 64 бит для файлов более определенной величины не знал.
— Slon (14/05/2013 17:23)   
Еще возникли вопросы:

1 Если нужно зашифровать несколько файлов сразу, как сделать? Пробую перечислить через пробел, gpg команду не воспринимает.

2 Есть ли возможность использовать CUDA графических ускорителей для шифрования больших объемов информации?
— unknown (14/05/2013 17:39, исправлен 14/05/2013 17:43)   

1. /comment8983[link6], /comment9044[link7]. Файлы во множественном числе, каталоги, маски с вопросами "?" и звёздочками "*" подставлять по вкусу.
2. Для взлома — может и имеет смысл с этим возиться. Для рядовой эксплуатации – маловероятно.

— SATtva (14/05/2013 18:25)   
Есть ли возможность использовать CUDA графических ускорителей для шифрования больших объемов информации?

Тогда уж OpenCL. Но, как верно отмечено, если Вы не гоняете гигабайты данных, никакого смысла в этом нет. Для всего остального есть MasterCard инструкции AES-NI в новых CPU и специализированные криптоакселераторы.
— Slon (14/05/2013 18:52)   
Ага, получилось, спасибо.
— Slon (22/06/2013 10:50)   
Не подскажете еще вот такой момент?

Ранее в Ubuntu 10.04 при двойном клике на файле name.gpg, который нужно расшифровать, выскакивало поле для ввода пароля. После ввода пароля я получал расшифрованный файл name. Теперь в Ubuntu 13.04 такая фишка не срабатывает, система говорит "Для файлов типа «заголовок сообщения, зашифрованный PGP/MIME» не установлено ни одного приложения. Найти подходящее приложение для открытия этого файла?". Для расшифровки приходится давать полную команду в терминале, либо смотреть содержимое по команде gpg --decrypt, если это текстовый файл.
Что сделать, что бы в Ubuntu 13.04 появилась возможность расшифровки по двойному клику мыши?
Гость (23/06/2013 04:53)   

Может быть, поставить какой-нибудь софт типа GPA, а потом указать его в ответе на вопрос
Найти подходящее приложение для открытия этого файла?
— Slon (25/06/2013 07:00)   
Нет, дело в чем-то другом. Поставил GPA, который кстати поставился криво и выдает ошибку, но расшифровки по двойному клику не получается, прежняя картина. И ксати в Ubuntu 10/04 GPA у меня не было, никогда им не пользовался. Дело в чем то другом.

Вопрос к админам, если прочтете ответьте пожалуйста. тест Тьюринга очень сложный, когда котята или розы все проходит, но когда пирамиды и шары прям не знаю что писать, вроде пишу через пробел и ни в какую.
— Slon (25/06/2013 07:40)   
Видимо не хватает какого-то модуля, ранее даже в блокноте можно было шифровать с использованием GPG, был плагин "шифрование", сейчас нет. Через контекстное меню наутилуса то же можно было шифровать, правда только ключом, сейчас то же нет. Возможно это как-то связано. Ранее за эти вещи отвечал плагин seahorse, сейчас он установлен, но его функционал ограничивается только формой управления ключами.
— SATtva (25/06/2013 08:55)   
[offtopic]
тест Тьюринга очень сложный

/Форум/Содействие/ОхУжЭтаМудренаяКапча[link8]. Не думали зарегистрироваться на сайте?
[/offtopic]
— Kent (25/06/2013 20:22)   
Slon, пакет pinentry какой-нибудь установлен?
Гость (25/06/2013 22:39)   
вроде пишу через пробел и ни в какую.

Слова надо писать во множественном/единственном числе, как положено.

можно было .. сейчас он установлен .. не хватает .. функционал ограничивается только

При обновлении софта так всегда происходит, надо было сидеть на старой убунте. Я не глупее вас, но не обновляю свою убунту, потому что не могу себе позволить потом сидеть и 2 недели фиксить всевозможные баги, в то время как сейчас всё настроено и работает.
— Slon (26/06/2013 16:18)   
Slon, пакет pinentry какой-нибудь установлен?

Установлены pinentry-gtk2 и pinentry-curses
Вместо первого попробовал pinentry-gtk2:i386, не помогло. Видимо связано с тем, что в 13.04 уже GTK3.

При обновлении софта так всегда происходит, надо было сидеть на старой убунте. Я не глупее вас,

Причем здесь глупее или нет, об этом никто не начинал говорить. Если бы не сгоревшая видеокарта, новая отказалась работать со старой версией.

Ссылки
[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