GPG — максимальный размер ключа с симметричным шифрованием TWOFISH

Я использую скрипт для упаковки и шифрования архивов, чтобы сделать их резервную копию в облачном хранилище.

Он генерирует такие команды оболочки:

cd /vault/backup/pictures; tar cf - vacation-201309 | xz -3 | gpg --symmetric --cipher-algo TWOFISH --digest-algo SHA512 --no-secmem-warning --yes --batch --passphrase-file /vault/keys/back_keyfile -o /vault/backup/upload/vacation-201309.tar.xz.gpg

TWOFISH — это 256-битный шифр, что означает, что он может использовать ключевой файл не больше, чем

openssl rand -base64 256:

3zXeZC/XWC1h1lxre88gzkhCZqk6tV7YKCg9HiKDLrooEDYkvwYXQ5LMBLSFdpYr
c2KAP10aq6pfEi4YeL7llQXfd47qXsEDi8nOpBpPRALxv2NYE4qjZC3sTPe+d1ue
cbFM18BmxHN0094YotLBD+6cQIfZyU8GVLLHx8iH2jf48+7QuXigqWW1oT33BPbQ
zrlND50ZFeGNYo7woIRpSvt8KeBm8t75jVEqXIzA2Zei0r9Xsx0mu828t0wZ6mGL
hkj4B5M56eJzFUCFG207Mf/bXvV5X7Pz6W72Y8nhjAtkumdAsEb0Vc0iIHJ64mfH
XWEfs/1T3n2F8/kxASIvPQ==

По крайней мере, я так это понимаю.

Мой вопрос в том, как будет вести себя GPG, если я передам ему файл ключа большего размера, например

openssl rand -base64 512:

P0MzGpZItSu6fKObtJvAx1fLRxPBK/pOIjR9Yv+mCrHLlit7ksHOjif6ln32lXl3
8g/zxdQc39kanAproaOzZ1ulebxbfK1Bi6/OfwhdP1HF61nWBZb03TDtdNNXEDFW
9lAN6kHUUctpY9PhFCv2AmoKSKzv1HsAGkrhqslO4E+3sIlGgVLg69qKHE9yQJSX
s5xhXKTcAcaVZ++HwuTTvIduf3sc2J+BEDzpqrAwES2hV5gFwnFFA6G0md31VwEI
9wf22p07qbOrRryV/0WZUNZfOuZ5g/JgrqhRgq53lK0VHvyRkNjMlx7BW4n3Y/0y
5Lgve8Q89Cx5jwbxPcBnXW5h4SWLFa8bSLrGrn/eDH+F1mA5BbU+3IrBdLgivz0u
Unr+jLD3FbBOv/8jRAyp/iOwMmOw9welTu/mcEEa20gyupeJXxAZaVrNfWdWVORi
PdjW5vR9Rn/NLh6fV46+E39dgTn4TBp/v9h+LZpiVK3nNkry+as9vH73o+nFIe8Q
H/UkchDqmIBLntKc9rBZQrkx8NOzruoWGJoFE/Wb23AHN7RNyYgVgvZTy5QWhILz
CW/mzwMQYAuLbFfnY4cgDs9zLMo4OqFGUmbgbnXO9KbYgsplU2aps9JoOjyWCchm
uWYRNAGWrgdfl8vIaxMz1WUwWJFDxyNrANPRiPFQTUg=

Будет ли он просто принимать первые 256 символов и игнорировать остальные?


person royskatt    schedule 26.05.2014    source источник
comment
Вы вроде знаете команды openssl - почему не попробовали сделать так, как вы просите?   -  person Oleg Estekhin    schedule 26.05.2014
comment
Хм, мой вопрос скорее о реализации gpg. Как я могу проверить это с помощью openssl?   -  person royskatt    schedule 26.05.2014
comment
Что ж, ПОПРОБУЙТЕ и не забудьте использовать биты вместо байтов.   -  person Maarten Bodewes    schedule 27.05.2014
comment
Хорошо, я сделал ключ на 256 символов, зашифровал файл. После этого я добавил еще один символ в тот же ключевой файл, в котором теперь было 257 символов, и так до 260 символов. Сумма SHA1 всегда была разной. Так как же работает это шифрование 256, поскольку оно требует ключей длиннее 256 символов, каково ограничение для файлов ключей?   -  person royskatt    schedule 27.05.2014
comment
Итак, мой вопрос должен звучать так: каково ограничение символов для файла ключа TWOFISH?   -  person royskatt    schedule 27.05.2014


Ответы (1)


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

Обратите внимание, что 256-битный ключ не состоит из 256 "символов" или байтов.

person Maarten Bodewes    schedule 26.05.2014
comment
Извините за много правок, я слишком мало съел... исправление. - person Maarten Bodewes; 27.05.2014
comment
Почему тогда сумма sha1 не совпадает, если я один раз зашифрую один и тот же файл с помощью 256-символьного ключевого файла, а затем добавлю еще один символ в конец того же ключевого файла. Если использовалась только первая строка, изменение в конце ключевого файла не должно иметь никакого значения, но оно имеет значение. - person royskatt; 27.05.2014
comment
Вероятно, причина случайного IV (вектор инициализации). - person Maarten Bodewes; 27.05.2014
comment
Обратите внимание, что зашифрованный текст должен выглядеть случайным. Если бы не статический IV, вы могли бы легко отличить зашифрованные тексты, которые равны или начинаются с одного и того же открытого текста, что приводит к утечке информации. - person Maarten Bodewes; 27.05.2014
comment
Да, это имеет смысл. Спасибо за разъяснение! - person royskatt; 27.05.2014