Linux có một số công cụ dòng lệnh khác nhau có thể mã hóa và giải mã các tệp bằng mật khẩu do người dùng cung cấp. Các công cụ mã hóa như vậy có vô số cách sử dụng, bao gồm khả năng mã hóa các tệp đã sẵn sàng để gửi an toàn qua Internet mà không phải lo lắng về việc các bên thứ ba truy cập các tệp nếu bằng cách nào đó việc truyền tải bị chặn.

Trước khi xem xét các công cụ riêng lẻ bạn cần để đảm bảo rằng tất cả các gói có liên quan đều được cài đặt. Đối với Ubuntu, bạn sẽ sử dụng lệnh sau để cài đặt các chương trình:

 sudo apt-get cài đặt gnupg bcrypt ccrypt p7zip-full 

GPG

GNU Privacy Guard (GPG) là một công cụ được thiết kế chủ yếu để mã hóa và ký dữ liệu bằng cách sử dụng mật mã khóa công khai. Tuy nhiên, nó cũng chứa khả năng mã hóa dữ liệu chỉ bằng một mật khẩu do người dùng cung cấp và nó hỗ trợ một loạt các thuật toán mã hóa.

Để mã hóa một tệp, trong trường hợp này là " big.txt ", sử dụng gpg, nhập lệnh sau:

 gpg -c big.txt 

Bạn sẽ được nhắc nhập mật khẩu (hai lần). Một tệp mới được tạo trong quá trình mã hóa được gọi là " big.txt.gpg ". Tệp gốc cũng sẽ vẫn còn, vì vậy bạn sẽ cần phải xóa nó nếu bạn chỉ có ý định giữ một bản sao được mã hóa. Nếu bạn so sánh kích thước tệp của tệp gốc và tệp được mã hóa, bạn sẽ thấy tệp được mã hóa nhỏ hơn. Điều này là do gpg nén tệp trong khi mã hóa. Nếu tệp đã được nén (ví dụ: tệp .zip hoặc tệp .tgz) thì tệp được mã hóa thực sự có thể sẽ lớn hơn một chút.

Để decyrpt việc sử dụng tập tin:

 gpg big.txt.gpg 

Theo mặc định, các tệp được mã hóa bằng gpg sẽ sử dụng thuật toán mã hóa “ cast5 ” được cơ quan mật mã quốc gia của chính phủ Canada phê duyệt. Tuy nhiên, tiện ích gpg cũng hỗ trợ một số thuật toán mã hóa tích hợp khác nhau bao gồm Triple DES (3DES), được sử dụng bởi ngành thanh toán điện tử; Advanced Encryption Standard (AES), một kỹ thuật mã hóa được Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST) phê chuẩn; và Camellia, một thuật toán mã hóa được phát triển bởi Mitsubishi và NTT được EU và Nhật Bản phê chuẩn.

Để xem danh sách các loại thuật toán có sẵn:

 gpg --version 

Danh sách các thuật toán có sẵn được hiển thị trong phần "Thuật toán được hỗ trợ" của đầu ra trong thẻ "Mật mã". Để sử dụng thuật toán khác, hãy thêm tham số “ -crypto-algo ”, theo sau là thuật toán bạn muốn sử dụng, ví dụ “ -crypto-algo=3DES

Lệnh đầy đủ sau đó sẽ trở thành:

 gpg -c -crypto-algo = 3DES big.txt 

bcrypt và ccrypt

gpg không phải là công cụ mã hóa duy nhất có sẵn trên Linux. Các hệ thống Unix ban đầu bao gồm một lệnh gọi là " crypt ", tuy nhiên mức độ bảo mật mà nó cung cấp là rất thấp. Trong danh dự của mình, có một số lệnh khác có thể thay thế nó bao gồm “ bcrypt ” và “ ccryrpt ”.

bcrypt sử dụng thuật toán blowfish trong khi ccrypt dựa trên mật mã Rijndael, là thuật toán được sử dụng cho AES. Nhiều nhà mật mã không còn khuyến cáo sử dụng thuật toán blowfish vì có một số cuộc tấn công lý thuyết được công bố làm suy yếu nó, tuy nhiên đối với mã hóa thông thường, sẽ không bị rình mò cấp nhà nước (NSA, MI5, FSA), nó vẫn hữu ích .

Để mã hóa với việc sử dụng bcrypt:

 bcrypt big.txt 

Không giống như gpg, lệnh bcrypt sẽ thay thế tệp gốc bằng tệp được mã hóa và thêm .bfe vào cuối tên tệp. Giống như gpg, tệp kết quả cũng được nén và do đó kích thước tệp phải nhỏ hơn đáng kể đối với các tệp không nén. Có thể tắt tính năng nén bằng cách sử dụng tham số “ -c ”.

Để giải mã việc sử dụng tệp:

 bcrypt big.txt.bfe 

Tệp .bfe sẽ được thay thế bằng tệp không được mã hóa ban đầu.

Có ba cách có thể để gọi lệnh ccrypt:

  • bằng cách sử dụng ccrypt trực tiếp với các tùy chọn -e hoặc -d
  • để mã hóa hoặc giải mã tương ứng hoặc bằng cách sử dụng ccencrypt
  • lệnh ccdecrypt .

Để mã hóa một tệp, hãy nhập:

 ccencrypt big.txt 

Tệp gốc sẽ được thay thế bằng big.txt.cpt . Không giống như gpg và bcrypt, đầu ra không được nén. Nếu nén là cần thiết thì các công cụ như gzip có thể được sử dụng. Các phần mở rộng tệp được đề xuất cho các tệp được nén và mã hóa là .gz.cpt hoặc .gzc.

Để giải mã một tập tin sử dụng:

 ccdecrypt big.txt.cpt 

7-Zip

Công cụ nén 7-Zip cũng kết hợp mã hóa AES. Để tạo một kho lưu trữ được mã hóa, hãy sử dụng tham số “ -p ” bằng lệnh 7z:

 7z a -p big.txt.7z big.txt 

Bạn sẽ được nhắc nhập mật khẩu (hai lần). Tệp sẽ được nén và mã hóa. Tệp gốc sẽ vẫn còn, do đó, với lệnh gpg, bạn sẽ cần phải xóa nó nếu bạn chỉ muốn giữ một bản sao được mã hóa. Lợi thế của việc sử dụng 7-Zip là nhiều tệp và thư mục có thể được lưu trữ và mã hóa cùng một lúc.

Phần kết luận

Bằng cách sử dụng các kỹ thuật nén này, dữ liệu nhạy cảm có thể được mã hóa với đủ sức mạnh mà ngay cả các cơ quan được chính phủ tài trợ cũng sẽ không thể truy cập tệp của bạn. Như với tất cả các mật khẩu (để sử dụng trực tuyến hoặc ngoại tuyến), sử dụng các cụm từ dài hơn cung cấp bảo mật tốt hơn so với các cụm từ ngắn hơn.