Có một công cụ để mã hóa một tập tin hoặc thư mục?


66

Cách phổ biến nhất để mã hóa các tệp hoặc thư mục riêng lẻ là gì?


Câu hỏi là một chút không rõ ràng. Bạn có muốn tự mã hóa và giải mã tập tin, hoặc đang di chuyển không?
psusi

4
Thay vì 'phổ biến nhất', việc đưa ra giải pháp cho các yêu cầu của bạn có thể hữu ích (theo câu hỏi của psusi). Bạn đang tìm kiếm một sự kết hợp của nguồn mở dễ dàng, đáng tin cậy, bản địa, an toàn, nhanh chóng? Tất cả hay một vài trong số này?
belacqua

7
Tôi muốn thêm nhận xét trái với những gì một số câu trả lời khẳng định, TrueCrypt không được coi là Phần mềm miễn phí hoặc Nguồn mở của Debian / Ubuntu / Fedora / Red Hat / Arch Linux / OpenSuse / Gentoo / etc.
JanC

Câu trả lời:


46

GnuPG (GPG) có thể sử dụng mã hóa bất đối xứng và đối xứng. Tiền điện tử bất đối xứng bao gồm hai khóa, khóa chung để mã hóa và khóa riêng để giải mã. Xem câu trả lời djeikyb trên trang này để sử dụng khóa bất đối xứng.

Đối với mã hóa đối xứng, các khóa mã hóa và giải mã bằng nhau. Điều quan trọng là phải nhận ra rằng hầu hết mọi người rất tệ trong việc chọn mật khẩu mạnh. Do đó, một sơ đồ mã hóa sử dụng mật khẩu nên sử dụng chức năng tạo khóa lấy nhiều tài nguyên (thời gian, bộ nhớ) để làm chậm các cuộc tấn công vũ phu.

Để biết mô tả về KDF của GnuPG, hãy xem bài đăng Trao đổi tiền điện tử này . Ví dụ sử dụng mã hóa đối xứng:

gpg --symmetric < unencrypted_file > encrypted_file

Giải mã:

gpg --decrypt < encrypted_file > decrypted_file

Lưu ý rằng gpglưu trữ symkey theo mặc định (hành vi được ghi lại). Để tránh điều đó, hãy sử dụng --no-symkey-cachetùy chọn như được mô tả trong câu trả lời liên quan .

Trang hướng dẫn của gpg .


câu trả lời cũ cho người dùng có thể chọn khóa tốt, xem ghi chú bên dưới

Đối với các tệp đơn lẻ, opensslrất hữu ích, đặc biệt là khi gửi tệp qua kênh không bảo mật (ví dụ: e-mail). Nó miễn phí (bằng tiền và tự do), không giống như Truecrypt, chỉ miễn phí bằng tiền.

LƯU Ý : mật khẩu bạn nhập vào đây sẽ được xử lý bằng một lần lặp MD5 1 . Nếu bạn chọn mật khẩu "123456", thì bạn sẽ có rất ít bảo mật.

Mã hóa:

openssl aes-256-cbc -salt -in unencrypted_file -out encrypted_file

Bạn sẽ được yêu cầu nhập mật khẩu mà bạn phải nhập hai lần.

Giải mã:

openssl aes-256-cbc -d -in encrypted_file -out unencrypted_file

Trang hướng dẫn cho chương trình enc .

1 openssl enc sử dụng hàm digest được xác định bởi -mdtùy chọn (mặc định md5) và gọi hàm EVP_BytesToKey()với số lần lặp là 1. Điều này có thể được tìm thấy trong nguồn openssl tại apps/enc.c.


Có cách nào để làm điều này mà không có mật mã?
Assaf Lavie

@Assaf Lavie: OpenSSL không hỗ trợ keyfiles nếu bạn muốn vậy, mặc dù nó có thể đọc mật khẩu từ dòng đầu tiên của tệp. Đọc trang hướng dẫn về openssl, phần Truyền đối số cụm từ .
Lekensteyn

ngoài ra, bạn có thể sử dụng cờ "-a" cho phép bạn sao chép văn bản được mã hóa, như vậy: "openssl aes-256-cbc -a -salt -in unencrypted_file -out mã
hóa_file

@ v2r Để thêm cho người đọc thêm: -abase64-mã hóa đầu vào (bí danh -base64), để giải mã nó, bạn cũng cần thêm -atùy chọn.
Lekensteyn

1
@Lucio aes-256là một bí danh cho aes-256-cbc, không có sự khác biệt. CBC là một chế độ hoạt động cho mật mã khối. Xem trang hướng dẫn enc(1)để biết danh sách các mật mã được hỗ trợ.
Lekensteyn

30

Tôi sử dụng Seahorse cho việc này. Đó là một giao diện Gnome cho GnuPG và tích hợp tốt với nautilus:Tích hợp Nautilus

Để có được tích hợp nautilus, hãy cài đặt gói seahorse-nautilustừ Trung tâm phần mềm: seahorse-nautilus Cài đặt cá ngựa-nautilus


3
điều này chỉ hoạt động nếu bạn có khóa GPG được tạo trong hệ thống của mình ...
hhlp

3
@hhlp: câu trả lời của djeikyb giải thích cách làm điều đó.
idbrii

1
Tôi muốn mã hóa khóa GPG của mình.
KI4JGT

19
  • Applet khay hệ thống EncFS cho trình mã hóa Gnome

TrueCrypt : ngưng, phần mềm mã hóa đĩa miễn phí có sẵn không an toàn .


2
+1, encfs - có hoặc không có GUI - rất hữu ích và đủ cho hầu hết các mục đích.
loevborg

3
Cryptkeeper thật tuyệt vời - đơn giản, mạnh mẽ và dễ dàng để thiết lập với Dropbox ( askubfox.com/questions/19613/ chủ ).
Scaine

TrueCrypt không được đóng gói trong Ubuntu (hoặc bất kỳ bản phân phối chính nào khác) cho các mối quan tâm cấp phép.
MagicFab

2
TrueCrypt không phải là nguồn mở. vi.wikipedia.org/wiki/ từ
yuric

4
'CẢNH BÁO: Sử dụng TrueCrypt không an toàn' - TrueCrypt
user456015

16

Một phương thức cli sẽ là GnuPG và có thể tar. Đây là một hướng dẫn ngắn để tham khảo, bạn thực sự nên đọc tài liệu.

Lần chạy đầu tiên gpg --gen-key. Làm theo lời nhắc để tạo cặp khóa công khai / riêng tư của bạn. Bây giờ bạn có thể mã hóa tập tin : gpg -e foo.txt. Điều này sẽ tạo ra một tập tin gọi là foo.txt.gpg. GnuPG không xóa tệp không được mã hóa ban đầu, tùy thuộc vào việc bạn có muốn nó treo xung quanh hay không. Để giải mã foo.txt.gpg, hãy chạy gpg foo.txt.gpg. Giải mã sẽ nhắc bạn trước khi ghi đè các tập tin hiện có.

Nếu bạn cần mã hóa một thư mục, trước tiên hãy đọc nó:

tar -cf foo.tar foo/
gpg -e foo.tar

Bạn có thể đổi tên tập tin được mã hóa bất cứ điều gì bạn muốn. Khi được giải mã, tên tệp gốc được giữ nguyên.


2
Ưu điểm của phương pháp này là: Đầu tiên, nó không yêu cầu cài đặt các gói bổ sung; Thứ hai nó không yêu cầu quyền truy cập root. Tôi sẽ thêm nén vào lệnh tar (xz hoặc gz).
Panther

12

Ngoài ra còn có eCryptfs , mà Ubuntu sử dụng để mã hóa Home Directories.

Bạn có thể chọn mã hóa thư mục chính khi cài đặt hoặc $HOME/Privatetheo mặc định, bạn có thể thiết lập một thư mục bằng cách sử dụng tiện ích ecryptfs-setup-private . Thư mục này có thể được cấu hình để tự động gắn kết khi đăng nhập và ngắt kết nối khi đăng xuất. Mỗi tệp và thư mục trong $HOME/Private, đệ quy, sẽ được mã hóa.


Thật không may, eCryptfs RẤT chậm. Ngoài ra, có một vài lỗi trong phiên bản mới nhất
ruX

Ngược lại, nếu bất cứ điều gì eCryptfs nhanh hơn gpg; theo mặc định gpg cố gắng nén trước khi mã hóa. Và eCryptfs hiện cũng được sử dụng bởi hầu hết các Android
Xen2050

2

Bạn cũng có thể sử dụng "Chữ ký học thuật" để sử dụng mật mã đường cong elip với GUI wxWidgets. Nó là nguồn mở nhưng không có trong kho. Nó chủ yếu thực hiện mã hóa bất đối xứng ECC, chữ ký và dấu thời gian. Nhưng công cụ này cũng có một mục Menu để gọi Gnupg (RSA) và truy cập trực tiếp vào việc giải mã đối xứng các tệp cung cấp AES và các thuật toán khác. Trang chủ của nó ở đây: https://www.academia-signature.org

Tôi sử dụng nó rất nhiều để bảo vệ các tập tin quá cảnh và để ký điện tử các tài liệu học thuật (bảng điểm, thư giới thiệu, danh sách điểm, v.v.)


1

Tôi đã thực hiện một số đề xuất khác và tạo một trình bao bọc kịch bản lệnh shell đơn giản (dành cho người lười biếng)

https://github.com/orionM/ssl-crypt-tools

thưởng thức


1
hmm, bash script bằng openssl aes-256-cbc ...You know thay vì sử dụng if [ $? -ne 0 ] ; then... fibạn chỉ có thể sử dụng ||? Và có một số người cho rằng OpenSSL "* đã có một số lỗi bảo mật lớn trong năm ngoái [ Heartbleed ] trong khi các tài liệu của Snowden cho thấy GPG là một trong số ít các chương trình có thể đánh cắp NSA khi được sử dụng đúng cách. Mã OpenSSL cũng được sử dụng. một cesspool hoàn chỉnh và có phạm vi kiểm tra khủng khiếp. (Tiết lộ: [anh ấy] làm việc trên một dự án "OpenSSL hút; hãy sửa nó".) - jbarlow * "
Xen2050
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.