LINUX下的檔案加密

ericwangdl發表於2011-03-07

學習LINUX檔案下加密的步驟,我是初學者,有不對的地方大家指出來啊。

用的是 red fedora 7的中文版本 VM虛擬機器6.0。學習資料《Hardening Linux》書是一個學長借給我的,特別感謝他,讓我學了不少。

[root@localhost /]# gpg --gen-key

gpg (GnuPG) 1.4.7; Copyright (C) 2006 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.

請選擇您要使用的金鑰種類:

(1) DSA 和 ElGamal (預設)

(2) DSA (僅用於簽名)

(5) RSA (僅用於簽名)

您的選擇? 1

DSA 金鑰對會有 1024 位。

ELG-E 金鑰長度應在 1024 位與 4096 位之間。

您想要用多大的金鑰尺寸?(2048)

//預設是2048 你可以自己選擇(8的倍數)

您所要求的金鑰尺寸是 2048 位

請設定這把金鑰的有效期限。 //這個問題建議看看GunPG的文件,一定要把失效日期後還想使用金鑰時怎麼辦的問題搞清楚。我這裡選擇的是0

0 = 金鑰永不過期

= 金鑰在 n 天后過期

w = 金鑰在 n 周後過期

m = 金鑰在 n 月後過期

y = 金鑰在 n 年後過期

金鑰的有效期限是?(0) 0

金鑰永遠不會過期

以上正確嗎?(y/n)y

您需要一個使用者標識來辨識您的金鑰;本軟體會用真實姓名、註釋和電子郵件地址組合

成使用者標識,如下所示:

“Heinrich Heine (Der Dichter)

真實姓名:wolfwang

電子郵件地址:wolfwang860424@gmail.com

註釋:wenjian

您選定了這個使用者標識:

“wolfwang (wenjian)

更改姓名(N)、註釋(C)、電子郵件地址(E)或確定(O)/退出(Q)?o

您需要一個密碼來保護您的私鑰。

我們需要生成大量的隨機位元組。這個時候您可以多做些瑣事(像是敲打鍵盤、移動

滑鼠、讀寫硬碟之類的),這會讓隨機數字發生器有更好的機會獲得足夠的熵數。

+++++...++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++.+++++++++++++++++++++++++.+++++>++++++++++..............

隨機位元組不夠多。請再做一些其他的瑣事,以使作業系統能蒐集到更多的熵!

(還需要280位元組)

我們需要生成大量的隨機位元組。這個時候您可以多做些瑣事(像是敲打鍵盤、移動

滑鼠、讀寫硬碟之類的),這會讓隨機數字發生器有更好的機會獲得足夠的熵數。

+++++..++++++++++.++++++++++.++++++++++.++++++++++...+++++++++++++++++++++++++.+++++...++++++++++.++++++++++..+++++++++++++++++++++++++.++++++++++.+++++++++++++++>++++++++++>+++++.......>+++++...............>+++++.........+++++^^^

gpg: /root/.gnupg/trustdb.gpg:建立了信任度資料庫

gpg: 金鑰 C92521C6 被標記為絕對信任

公鑰和私鑰已經生成並經簽名。

gpg: 正在檢查信任度資料庫

gpg: 需要 3 份勉強信任和 1 份完全信任,PGP 信任模型

gpg: 深度:0 有效性: 1 已簽名: 0 信任度:0-,0q,0n,0m,0f,1u

pub 1024D/C92521C6 2007-08-03

金鑰指紋 = 325D C226 605A 7239 261B 7578 C056 390F C925 21C6

uid wolfwang (wenjian)

sub 2048g/7829A6F0 2007-08-03

總結步驟

1 gpg ――gen-key

2 選擇金鑰型別,提示是1

3 輸入金鑰長度,因該是8的倍數

4 輸入一個失效日期,

5 輸入使用者的ID

6 輸入口令短語

7 讓系統發生一些好的隨即活動。

這個例子裡面產生了2個金鑰,第一個是私用金鑰,不要把它洩漏給別人。私用金鑰已經被你知道的口令短語加密了,第二個是公用金鑰,你需要把他告訴別人,讓對方使用這個金鑰來加密將傳送給對你的檔案,你用自己的口令短語解密就可以了。

pub 1024D/C92521C6 2007-08-03

C92521C6 這個是公共金鑰的標識碼,就是別人用來確定你身份的內容。

要讓別人使用你的公共金鑰去加密檔案併傳送給你,必須線把你的公共金鑰提取出來發給對方或者是把別人發給你的金鑰新增到你的“金鑰環”檔案裡面

[root@localhost /]# gpg --armor --export C92521C6 >

上面這個命令就是用來提取公共金鑰的到budcobackups.key的檔案裡面

我們看一下

[root@localhost /]# cat budcobackups.key

-----BEGIN PGP PUBLIC KEY BLOCK-----

Version: GnuPG v1.4.7 (GNU/Linux)

mQGiBEazHJURBADJAdeZb724fUw9duOXMHW94VNgGmmxrLCE0h+AVk/DakD5uwyi

+zAtN+Bwe2wmLJPOx35cf6DYHBRMprtbjmjKG2Sng8MZ0rgzD7+uY873p0AIsWJd

IIMQaY0ROp2wViG6CaDwbB9zIot1DnQZ/YWioiVL0ryeJZAOzVrXN1N8iwCg6+QM

Pouhdv17xH/XZk7ufsPi09MEAJ6hnPCPrPx4hORQj9ym456MhO2mthbMq8GGR92H

/1zf+aC6z7FwL4jEL2FHsdt/PEhp3/jNc0s0RQNQgYs0YDEnUPdPIkoR6vGmOjeq

vQprsB+qAlOYBgUTeil9LovG2QPL/9PhOH6ADz0tAlvxtqmeT3vITwA5mL/7scFo

kLqiA/9SyS2PAzazX3vQ/F/McMjMQSPXkR8xNgNOVoh7XtHTdmY7CiXvCojQvlcL

tx+EQzQLZDlMDBhy/0FZVIjP4zENGiAsPBQVJpd4Ca+SyNrNMLhxFLuVRJKv251P

z2ZX6FNKIL398Lm12k5fpaMCNaLGFJFkq8EaVYLyJfLQqsGSKLQtd29sZndhbmcg

KHdlbmppYW4pIDx3b2xmd2FuZzg2MDQyNEBnbWFpbC5jb20+iGAEExECACAFAkaz

HJUCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDAVjkPySUhxqBYAKDF30gb

ROSTXG6kaNjISPGmSXojbACghen1C9DrKH41Ifil8qlYDPwmiiy5Ag0ERrMclRAI

AP9fdOGVGDOB8WO9UrpMkWjdvk6wVatDWdzUR02S09uifzbI7kUMDGBcDRpEpCyh

Xng/jAS516NMVJKy/vLPzB+q05THX5pxfE63QRWb1HaWm5OKfuoKxeozGo6smRnM

5/K12VN3XKA+EbHm1EFAuR0Kf6pmrmCV7e/Oj9DAPSgUGQd34p3vJRVky4Jhp0/6

289/PFWqzU7Kn3hR0V1MPtsxzyq6Rcm49NQXhE+MQ0AhG0zbMREiOUnU95pGijdl

ozs6tuLalAbX0owxIhkoTA5xZ9IDrQ4EOqTP7tJ4GpH8kA4Ri3PNuPFAg6jTTzb8

oENDIjzti13G8xZHj9vlK3sAAwUIAKY+cykiI80+e44fJVOI/dDmWBaL9zWKWlZG

A2+QV4Kfywk/4DwKteGdPGOUFbDrlRf7dzDG+6v681dNjMQXyfSp2bHnCbzS6C9J

NRK95fu4Yqu70gU31qveJQ4Tj6YO8zS78Bc4rub7gq1wC58S2XJilPEUsCglHpNQ

0YWImNCVJKTfwvj5nCpKrvF3RWqAyfUgCQh/+hIwPxx+yFwJaf2yyTUqPN9LpyJI

Z26wgf2Whhta/JPkRDSxZVFgI2+D8zVu2CcRpThUcogyVFr2bKiiL6UL3ACJ8yqD

rZvRC9m+f8TZhmUcn6hctQHM5eR5r+FEIdsBA24TJ09SnFh9x5iISQQYEQIACQUC

RrMclQIbDAAKCRDAVjkPySUhxmryAJwOHAoxZG7OCsMzEYIuhtLE1ucM/QCgiwv5

8SccWfYJa9cm1CpIcjltDVQ=

=iVWV

-----END PGP PUBLIC KEY BLOCK-----

將這個檔案發給對方

當對方受到檔案,或者你受到別人給你的金鑰後把金鑰新增到金鑰環裡面,這個是非常敏感的檔案,建議多備份,只有同時輸入正確的,金鑰檔案和口令短語才能解密,加密檔案

對方執行下面的命令將金鑰檔案新增到鑰匙環裡面

[root@localhost /]# gpg --import budcobackups.key

[root@localhost /]# gpg –kv 來檢視鑰匙環裡面都有哪些金鑰新增進去了。

/root/.gnupg/pubring.gpg

------------------------

pub 1024D/C92521C6 2007-08-03

uid wolfwang (wenjian)

sub 2048g/7829A6F0 2007-08-03

下面我們就可以加密檔案了

[root@localhost /]#

[root@localhost wolfwang]# vi 123.txt

ni hao ma

wo shi wolfwang

wo shi xuesheng

[root@localhost wolfwang]# gpg -ea -r C92521C6 123.txt 這裡 -r是收件人的意思 後面加的對方的金鑰,對方給我發就因該加我的金鑰標識碼。系統將生成一個.asc的檔案這個就是加密後的檔案,我們可以把他發給別人。看看啥樣的~~

[root@localhost wolfwang]# cat 123.txt.asc

-----BEGIN PGP MESSAGE-----

Version: GnuPG v1.4.7 (GNU/Linux)

hQIOA1dJmNt4KabwEAgAyY7wK1NGZEdGbhG8wPRtFnUVUeXj97a9lLDvlORS46bk

f1bnqJwFDCh/gqP9rQIfEkJ+sORtuh5Nk5Hsybw6Of1zvqBPO41UQIj3AS9MKsJg

FPa7cZqo7gYRqQGi5WhpJbvpBKT4G/OZq22TicbsUkphKzzCkALZqDLN5OQ3/2GF

zx4WwMqnQLPqUpZE9kK/QfAwhmXLVgMHzxNJpNlfg9zNHq9I9eeWALv9ZGiwHTkw

lCQyA17vvjs9xaF6K3gszPZkg0BEdOptb4w/IpW28BMA5woexGD12/mQN7OwQWPZ

xY9ZRzQwhc+IRgDs2aZrYpMQ/fpIXNnbEVS0lzdAIwgAtAc1bz3LrCe+tINA+jpW

eLuuNjfyGsi2R60eVFqd96Lfd15g8LbhAGDe+Mss3e8uKTu65cGkPTel8qDHGocx

fgT/RJ3dwuDzP+LfvfShrF30K0rzmu77kr3+512UmO2MNNyTAeUqRO8NCYDaTC8c

zce5rbMx/xbNFq14TEuz3Lv+0lctx1OiUaMXcqdQgBBn9FNepcTt9z9dXxO7SB9L

MkT0QB9bDwStEsjh8p4pzpfiMJ6Dv4jCe6TpaCzBYPAFLlnoFCrQEoz9w9NlWsBX

GREJd4+F0O6hQBlIxrVuWSG0Dl+dzkOySg+KqYd3qImooiqVvp36B5s8b9nYjTCI

n9JpAX/4oW8rYxM6zsRk5ODYM2hIbbafcmj3wmQxJWhmx517u1Cy6r07Pb5eCbhm

j3fz7TwGFqxomwrJgPS3DaneXPQfW9PCXELs/7m6nyjlRPkAeFgFDdkd2X0tutQJ

NwP0IgovRY/oZezF

=bDyq

-----END PGP MESSAGE-----

在加密完後,建議把原始檔刪掉 rm –rf 123.txt

當受到加密檔案的時候用下面這個命令解密

[root@localhost wolfwang]# gpg -o 1231.txt -d 123.txt.asc

您需要輸入密碼,才能解開這個使用者的私鑰:

在這裡你輸入你的密碼然後會有後面的資訊

“wolfwang (wenjian)

2048 位的 ELG-E 金鑰,鑰匙號 7829A6F0,建立於 2007-08-03 (主鑰匙號 C92521C6)

gpg: 由 2048 位的 ELG-E 金鑰加密,鑰匙號為 7829A6F0、生成於 2007-08-03

“wolfwang (wenjian)

檔案‘1231.txt’已存在。 是否覆蓋?(y/N)y

[root@localhost wolfwang]# cat 1231.txt

ni hao ma

wo shi wolfwang

wo shi xuesheng

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25492137/viewspace-688583/,如需轉載,請註明出處,否則將追究法律責任。

相關文章