HMH's Blog

Mã hoá, giải mã, ký: GnuPG.

Posted by hmha on Tháng Tám 7, 2009

Nếu bạn cần mã hoá và tạo tài liệu với chữ ký thì GnuPG là một giải pháp tốt. Sau khi cài đặt xong hãy tạo khoá với lệnh:
$ gpg --gen-key
bạn tự trả lời các câu hỏi do chương trình đưa ra😀.
Xem các khoá:
$ gpg --list-keys
Xuất khoá:
$ gpg --output mypubkey.gpg --export uid
với câu lệnh trên khoá được tạo ra ở dạng nhị phân, nếu muốn khoá ở dạng ASCII, thực hiện:
$ gpg --armor --output mypubkey.txt --export uid
Nhập khoá:
$ gpg --import pubkey
bạn nên xác thực lại khoá công khai (vì nó có thể giả mạo) bằng lệnh:
$ gpg --edit-key uid
sau đó đối chiếu với dấu vân tay bằng lệnh fpr, sau khi kiểm tra đúng thì xác thực nó với lệnh sign.
hoặc có thể xác thực khoá với lệnh:
$ gpg --sign-key uid

Mã hoá và giải mã:

Giả sử A muốn gửi cho B một tại liệu docu, A sẽ sử dụng khoá công khai của B để mã hoá:
$ gpg --output docu.gpg --encrypt --recipient pub_of_B docu
khi B nhận được tài liệu docu.gpg (đã mã hoá), để giải mã B sẽ dùng khoá riêng tư của mình:
$ gpg --output docu --decrypt docu.gpg

Ký và kiểm tra chữ ký:

Bây giờ A muốn gửi cho B một tài liệu docu với chữ ký của mình và B sẽ kiểm tra xem có đúng chữ ký của A hay không. Khi đó A sẽ dùng khoá riêng tư của mình để ký và B sẽ dùng khoá công khai của A để kiểm tra.
A ký:
$ gpg --output docu.sig --sign docu
khi đó tài liệu sẽ được ký và tồn tại ở dạng nhị phân.
B kiểm tra:
$ gpg --verify docu.sig
B vừa kiểm tra vừa khôi phục tài liệu:
gpg --output docu --decrypt docu.sig
Ngoài ra với những tài liệu không cần thiết nén khi ký (dạng ASCII) chúng ta có thể sử dụng tuỳ chọn –clearsign, với tuỳ chọn này tài liệu không bị thay đổi khi ký:
$ gpg --clearsign docu
Để kiểm tra chữ ký chúng ta dùng –verify như trên.
Và cuối cùng là việc sử dụng chữ ký tách rời. Với cách này tài liệu cũng không bị thay đổi và bạn vẫn có thể đọc bình thường:
$ gpg --output docu.sig --detach-sig docu
với cách dùng này tập tin chữ ký docu.sig sẽ được tạo ra, để xác minh chữ ký chúng ta chạy:
$ gpg --verify docu.sig docu
Xong.
Sử dụng GnuPG là một cách hay, tuy nhiên nếu khoá riêng tư của bạn bị mất thì có thể sẽ bị sử dụng với mục đích xấu. Vì vậy tôi chỉ sử dụng GnuPG để mã hoá tài liệu với mật khẩu, dù sao mật khẩu nằm trong đầu mình vẫn an toàn hơn, tất nhiên là bạn phải biết trăm chén không say để tránh say rồi lỡ miệng:mrgreen:.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

 
%d bloggers like this: