Рейтинг:1

Зачем использовать броню ASCII для шифрования файлов?

флаг nz

ООП и возраст оба предлагают --броня вариант, но каков вариант использования, когда дело доходит до шифрования файлов? Конечно, в настоящее время большинство каналов позволяют передавать двоичные данные? Это кажется ненужным и звучит так, будто удовлетворяет редкому варианту использования.

Я могу понять это для обмена парами ключей, может быть, подписями, но не для шифрования файлов. Даже для пар ключей и подписей кажется, что есть лучшие способы делать такие вещи, как короткие ключи Base64 и совместное использование файлов подписей, как в Минизнак.

Извините, если это недостаточно связано с криптографией. Я спрашиваю здесь, поскольку это криптографические инструменты, и должна быть какая-то причина, по которой это функция.

dave_thompson_085 avatar
флаг cn
`openssl enc -a` также делает только base64 (без читаемого заголовка и трейлера) - хотя это НЕ рекомендуется по криптографическим причинам, описанным в других вопросах. Он был разработан в 1990-х годах.
Рейтинг:3
флаг in

«Конечно, в настоящее время большинство каналов позволяют передавать двоичные данные?» Конечно, но PGP древний. Многие вещи, включая электронную почту и Usenet, основаны на тексте. И хотя FTP, конечно, может передавать двоичные файлы, вы можете забыть включить эту опцию в текстовых FTP-клиентах того времени.

Обратите внимание, что у нас все еще есть много мест, требующих текста, таких как XML, JSON. HTTP может быть способен отправлять двоичные файлы (хотя многие разработчики, кажется, забывают об этом), заголовки HTTP и URL-адреса обычно являются текстовыми.

Обратите внимание, что, например. gpg также используется в сценариях оболочки и т.п. Было бы крайне неэффективно сначала создать файл и тогда используйте броню ASCII, чтобы преобразовать ее в печатный ASCII.

Также имеет смысл иметь один, общепринятый доспех. В противном случае может произойти сбой расшифровки/проверки подписи или вам, возможно, придется вести переговоры о том, какой именно формат использовать.

И, наконец, если вам это нужно для подписей и т. д., то почему бы не предоставить один и тот же параметр для всех возможных выходных данных? Обычно это всего несколько строк кода.

dave_thompson_085 avatar
флаг cn
HTTP может отправлять двоичные данные в виде отдельного запроса/ответа, но небезопасно в составе составных частей и вообще не в HTML — я каждую неделю вижу вопросы Stack Q, когда кто-то вырезал и вставлял свои двоичные данные и, таким образом, уничтожал их (хотя большинство вопросов все равно оффтоп, так что без потерь). JOSE (JWS, JWE, JWT) использует base64 (с немного другим алфавитом) _всегда_; даже выбора нет.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.