Шифрування та стискання


28

Чи є кращий спосіб стиснути та зашифрувати файли, відмінні tarвід них opensslабо gpg?


3
Це залежить. Які ваші вимоги? Як ви оцінюєте "найкращий"? Які інструменти у вас є? Ви вже розглядали якісь інші варіанти, які можуть бути корисними для згадування?
Грег Хьюгілл

Не вважав жодним іншим. Це просто повинно бути базовим шифруванням, коли хтось не може прочитати вміст файлу, і бажано підтримувати хороший коефіцієнт стиснення.
user75027

1
Як правило, відповідь буде "ні". Однією з основних філософій Unix є "робити одну справу і робити це добре". tar -zє невеликим винятком, оскільки це дуже поширена практика.
Патрік

1
Новіші tarверсії підтримують xz стиснення (прапор -J), коефіцієнт стиснення якого зазвичай кращий, ніж більш традиційне -zстиснення gzip ( ) або bzip2 ( -j).
jofel

Я помітив, що xzце чудово. Я пам’ятаю, що завантажував ядро, і воно було блискавками приблизно до 1/7 свого початкового розміру. Я здогадуюсь, tar cvJf out.tar.xz file1 [file2...]а потім використаю gpg або openssl для його шифрування. Я також помічаю, що xz дуже швидкий. Як він сприймає кращу компресію, ніж bz2, і все ще бути швидким?
user75027

Відповіді:


24

tar- це звичайний інструмент для збирання файлів. tarСама рівнина не стискається. Існують окремі інструменти, такі як gzip , bzip2 та xz (у порядку збільшення коефіцієнта стиснення для типових файлів), які стискають один файл. Багато tarреалізація, включаючи tar GNU (звичайна реалізація в Linux), може автоматично стискати опцію ( -zдля gzip, -jдля bzip2, -Jдля xz):

tar -cJf myarchive.tar.xz file1 file2 file3

Для шифрування файлу використовуйте gpg . Створіть ключ та зв’яжіть його зі своєю адресою електронної пошти (ідентифікатори ключів GPG / PGP зазвичай містять адресу електронної пошти, хоча це не обов'язково). Зашифруйте свої файли, вказавши електронну пошту як одержувача. Щоб розшифрувати файл, вам потрібно буде ввести пароль, щоб розблокувати приватний ключ.

GPG також дозволяє зашифрувати файл паролем. Це менш безпечно і менш гнучко. Він менш гнучкий, тому що вам потрібно вказати пароль при шифруванні (наприклад, ви не можете робити резервні копії без нагляду). Це менш безпечно, оскільки єдиним захистом є пароль, тоді як шифрування на основі ключа розбиває захист між паролем і ключем.

Не використовуйте інструмент opensslкомандного рядка. Це вітрина бібліотеки OpenSSL, не призначена для виробничого використання. Хоча ви можете виконувати деякі речі з цим (зокрема, у ньому є всі примітиви, необхідні для базового сертифікаційного органу), це важко правильно використовувати, і він не має всього необхідного, щоб робити все правильно. Там, де GPG дає вам велосипед, OpenSSL дає кілька металевих стрижнів різного розміру та пару гумових камер (гвинти та насос не входять у комплект). Використовуйте GPG.


Я розумію дьоготь як бундлер і методи компресії. gpg клавіші, однак, для мене нові. Я точно не розумію, як ним користуватися, хоча у мене є ключ. Я думаю. Я думаю, що у мене також є ключі ssh.
user75027

Це те, що я шукав для стиснення та шифрування за допомогою однієї команди (за допомогою tarта gpgв трубі).
CGFoX

12

Ви можете використовувати 7zip:

7z a -p -mhe=on stuff.7z MyStuff
   ^  ^     ^      ^        ^
   |  |     |      |        `--- Files/directories to compress & encrypt.
   |  |     |      `--- Output filename
   |  |      `--- Encrypt filenames
   |  `---- Use a password
   `---- Add files to archive

Він запропонує вам ввести пароль. Мабуть, він використовує AES-256 для шифрування та SHA-256 пароля та лічильник, повторений 512К разів для виведення ключа.

Редагувати : Це не шифрує імена файлів, тому ви, можливо, tarвсе захочете спочатку.

Редагування 2 : Додано -mhe=on.


5
Якщо ви використовуєте, 7zaви можете зашифрувати імена файлів за допомогою -mhe=onпараметра.
SilverlightFox

3

Таким чином, ви також можете використовувати імена файлів для шифрування 7zip:

7z a -p -mhe=on stuff.7z MyStuff
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.