banner
 .::*nix::. Mã hóa trong Linux - Giới thiệu GNUPG Go to original post Author: redsun  - Translator:  - Entry Date: 20/02/2009 14:53:47
Để gửi dữ liệu của mình đi mà chỉ muốn người bạn của mình có thể mở được, để gửi sản phẩm qua mạng mà không muốn bị người khác lấy mất... GNUPG(GNU Privacy Guard) sẽ giúp bạn làm điều đó với vài lệnh đơn giản.


Bài viết này sẽ hướng dẫn cho bạn cách mã hóa các file trong Linux bằng GNUPG (GNU Privacy Guard). Dành cho các bạn đã biết cơ bản về Linux, các lệnh của Linux.

I-Giới thiệu GNUPG

GNUPG là một chương trình giúp mã hóa các file, với các chìa khóa công khai và chìa khóa bí mật. Ví dụ bạn muốn gủi file cho bạn mình mà biết được public key(chìa khóa công khai) thì chỉ việc mã hóa nó với chìa khóa đó thì chỉ có bạn mình mở được mà người khác không mở được. Bạn có một số dữ liệu quan trọng, không muốn cho người khác xem thì bạn cũng có thể mã hóa nó với GNUPG.

II-Cài đặt

Tùy từng vào các hệ thống Linux khác nhau mà bạn phải tìm cho mình các gói RPM khác nhau. Nếu bạn đã cài apt-get rồi thì việc rất đơn giản. Nếu chưa cài thì hãy lên trang web của hệ thống Linux mình dùng và tìm file rpm tương thích. Tôi giới thiệu cách dùng với apt-get.
apt-get install gnupg
Gõ lệnh này xong và bạn cứ việc làm theo yêu cầu của nó là ta đã cài xong GNUPG.

III-Sử dụng

1)Tạo chìa khóa

Để tạo chìa khóa ta gõ lệnh :
Code:


gpg --gen-key


Kết quả như sau:
#gpg --gen-key
gpg (GnuPG) 1.4.1; Copyright (C) 2005 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details.
Please select what kind of key you want:
(1) DSA and Elgamal (default)
(2) DSA (sign only)
(5) RSA (sign only)
Your selection? 1
DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
= key expires in n days
w = key expires in n weeks
m = key expires in n months
y = key expires in n years
Key is valid for? (0) 0
Key expires at Thu 07 Apr 2005 05:11:17 PM PDT
Is this correct? (y/N) Y
You need a user ID to identify your key; the software constructs the user ID from the Real Name, Comment and Email Address in this form: "Heinrich Heine (Der Dichter) "
Real name: vcsj
Email address: vcsj@vcsj.net
Comment: Love linux
You selected this USER-ID: "vcsj (love linux) "
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.
Enter passphrase: Mã bí mật của bạn
Repeat passphrase: Gõ lại mã bí mật
We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy.
.++++++++++..+++++++++++++++++++++++++++++++++++++++++++++++++++++++..+++++.+++ ++++++++++++.+++++++++++++++..+++++..++++++++++.+++++++++++++++>.+++++.+++++>++ +++..............<+++++>.+++++...<+++++...................>+++++..<.+++++>+++++ ....................................................................+++++
We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy.
+++++++++++++++...+++++.+++++.+++++..+++++.++++++++++++++++++++++++++++++.+++++ ..+++++.++++++++++..+++++.+++++.++++++++++.+++++.++++++++++++++++++++++++++++++ +++++>.++++++++++>.+++++>+++++.................<.+++++>...+++++.<+++++......... ..>.+++++...............................................................<+++++. ...........................>.+++++......................................+++++^^^
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 6C7C81B2 marked as ultimately trusted
public and secret key created and signed.
gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
pub 1024D/6C7C81B2 2005-04-03 [expires: never]
Key fingerprint = C2A9 6818 3158 C13B 457A 1409 11ED 2943 6C7C 81B2
uid vcsj (love linux)
/ sub 2048g/68F3472B 2005-04-03 [expires: never]/ 

Từ đây bạn đã có thể sử dụng GNUPG

2)Mã hóa file

Trước hết tạo một file text nào đó
echo "Toi nghe giai dieu to quoc toi" > vn.txt
Tiếp theo ta mã hóa để không ai có thể đọc được nếu không biết mã bí mật
Code:


#gpg --recipient <a href="mailto:vcsj@vcsj.net">vcsj@vcsj.net</a> --encrypt vn.txt


gpg là lệnh mà chúng ta sẽ dùng thường xuyên, bạn nên nhớ lấy nó.
Bạn có thể mã hóa tất cả các file, không chỉ là file text không, ví dụ mã hóa file ảnh, file nhạc, film,...
Sau khi mã hóa xong thì file nó sẽ có phần mở rộng là gpg.Bây giờ ta thử mở nó ra để xem:
Tất nhiên nó sẽ toàn ký tự loàng ngoằng mà ta cũng chẳng muốn xem nữa.smilie Tuy nhiên bạn có thể nhìn thấy các ký tự có thể in ra được bằng cách thêm tính năng "-a " trong câu lệnh mã hóa. Tức là:
Code:


gpg -a --recipient <a href="mailto:vcsj@vcsj.net">vcsj@vcsj.net</a> --encrypt vn.txt


Để mã hóa nhiều file hay cả một thư mục thì trước hết ta nén chúng lại:
Code:


tar -cvzf thumuc.tar.gz Thu_muc_nao_do


Tiếp tục mã hóa file .tar.gz mà ta nhận được
Code:


#gpg --recipient <a href="mailto:vcsj@vcsj.net">vcsj@vcsj.net</a> --encrypt thumuc.tar.gz



3)Giải mã

Để giải mã được bạn phải nhớ mã bí mật của mình, ta dùng lệnh
Code:


#gpg --recipient <a href="mailto:vcsj@vcsj.net">vcsj@vcsj.net</a> -o vn.txt --decrypt vn.txt.gpg


Chú ý là khi gửi file mã hóa đi, hay bạn muốn lưu file mã hóa của mình thì phải xóa file chưa mã hóa đi, nếu không thì việc mã hóa cũng không còn ý nghĩa
Đến đây bạn gõ mã bí mật của mình vào là hoàn tất công việc, mở file ra để kiểm tra lại.

4)Chia sẻ chìa khóa công khai

Bạn cũng muốn chia sẽ chìa khóa của mình cho người khác để họ cũng có thể gửi file mã hóa đến cho mình, đây là cách làm:
Code:


gpg --export --armor -o ~/my-public-key.asc


Trong thư mục của bạn đã có file .asc, và bạn có thể để lên trang web cá nhân của mình hay vào cuối mỗi email
Chúc bạn thành công

======================

Nguồn : http://vcsj.net
Tác Giả : redsun

[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to top Go to original post  

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|