世界上有兩種密碼:一種是防止你的小妹妹偷看你的文件;另一種是防止當(dāng)局閱讀你的文件. > > ? —— Bruce Schneier《應(yīng)用密碼學(xué)》 ## ----PGP基礎(chǔ) ## 一、PGP簡(jiǎn)介 ### 是什么? PGP 全稱(chēng)是 Pretty Good Privacy,是一個(gè)被設(shè)計(jì)用來(lái)加密信息,保護(hù)隱私的**軟件**?,F(xiàn)在提到“PGP”, 基本上是說(shuō)" />
摘要:作為一個(gè)老牌的反核能活躍分子,齊默曼為了讓所有有相似傾向的人們可以安全的使用并且安全存儲(chǔ)消息和文件而創(chuàng)造了加密。建議為不同環(huán)境,不同用途都多帶帶生成子密鑰,互不干擾。
世界上有兩種密碼:一種是防止你的小妹妹偷看你的文件;另一種是防止當(dāng)局閱讀你的文件.? —— Bruce Schneier《應(yīng)用密碼學(xué)》
PGP 全稱(chēng)是 Pretty Good Privacy,是一個(gè)被設(shè)計(jì)用來(lái)加密信息,保護(hù)隱私的軟件?,F(xiàn)在提到“PGP”, 基本上是說(shuō) OpenPGP 標(biāo)準(zhǔn)。
記錄片《第四公民》中 Edward Snowden 就是使用 PGP 與女記者 Laura Poitras 之間收發(fā)郵件的,以下來(lái)自電影截圖:
PGP能保證 一條信息是你相信的人發(fā)的,除了你倆之外別人無(wú)法解密, 而且這條消息在傳送時(shí)中間沒(méi)有經(jīng)過(guò)任何哪怕是一個(gè)標(biāo)點(diǎn)一個(gè)字節(jié)的修改。
Github判定提交者只是依靠Git 客戶端設(shè)置的user.name 和 user.email 來(lái)判定身份,而不會(huì)去驗(yàn)證真實(shí)性,也就是說(shuō)你可以在你的倉(cāng)庫(kù)提交記錄中偽造任何人的提交記錄。
具體危害可參見(jiàn)震驚!竟然有人在 GitHub 上冒充我的身份!
涌有了自己pgp key之后,就可以用 gpg-agent 來(lái)代替 OpenSSH Agent來(lái)進(jìn)行 SSH操作了。不過(guò)替換了之后并不會(huì)增加SSH的安全性,額, 折騰精神不死嘛。
硬要說(shuō)好處的話,大概就可以更方便地使用Yubikey(一種硬件加密智能卡)來(lái)SSH。
如果有其他好玩的用法,歡迎評(píng)論或郵件告訴我。
PGP目前支持的算法
除非量子計(jì)算機(jī)落地,目前來(lái)說(shuō)2048位的RSA加密是不可破解的。
我們需要知道PGP、OpenPGP、GnuPG 和 gpg 之間的不同:
OpenPGP 是在 PGP 基礎(chǔ)上定義的開(kāi)放標(biāo)準(zhǔn),使得 PGP 技術(shù)可以由任何公司和個(gè)人實(shí)現(xiàn),而不需要繳納許可費(fèi)用。標(biāo)準(zhǔn)草案指出 OpenPGP 提供的是數(shù)據(jù)完整性服務(wù),賦予用戶查看、檢驗(yàn)、生成和寫(xiě)入加密信息、秘鑰和簽名的能力。 OpenPGP 通過(guò)加密、數(shù)字簽名、壓縮和 Radix-64 轉(zhuǎn)換來(lái)實(shí)現(xiàn)這些功能。
GnuPG 是 OpenPGP 協(xié)議的一種完備的實(shí)現(xiàn),除了按照 OpenPGP 協(xié)議提供數(shù)據(jù)加解密和簽名服務(wù)之外,它還提供了完整的秘鑰管理功能,并實(shí)現(xiàn)了協(xié)議中許多可選的加密或壓縮算法。
今天,“PGP”這個(gè)詞幾乎被普遍用來(lái)表示開(kāi)放的 OpenPGP 標(biāo)準(zhǔn),而不是最初的商業(yè)軟件,因此“PGP”和“OpenPGP”是可以互換的。
“GnuPG”和“gpg”這兩個(gè)詞應(yīng)該僅在提及工具時(shí)使用,而不用于它們產(chǎn)生的輸出或它們實(shí)現(xiàn)的 OpenPGP 功能。舉例:
以下來(lái)自wiki:
菲利普·齊默曼(Philip R. Zimmermann)在1991年創(chuàng)造了第一個(gè)版本的PGP,其名稱(chēng)“Pretty Good Privacy”的靈感來(lái)自于一個(gè)名為“Ralphs Pretty Good Grocery”的雜貨店——電臺(tái)主播Garrison Keillor虛構(gòu)出來(lái)的一個(gè)名為Lake Wobegon的城市的一個(gè)雜貨店。
軟件第一個(gè)版本包含一個(gè)齊默曼自己設(shè)計(jì)的對(duì)稱(chēng)密鑰算法,與周六夜現(xiàn)場(chǎng)的一個(gè)小品BassOmatic同名。作為一個(gè)老牌的反核能活躍分子,齊默曼為了讓所有有相似傾向的人們可以安全的使用BBS并且安全存儲(chǔ)消息和文件而創(chuàng)造了PGP加密。在非商業(yè)用途上是不需要授權(quán)的,無(wú)須任何費(fèi)用,并且在所有的發(fā)行中附帶了完整的[2]的文章中,齊默曼描述了他最初開(kāi)發(fā)PGP時(shí)的情景:
1991年的某天,我把PGP的第一版發(fā)給我?guī)讉€(gè)朋友,以便上傳到互聯(lián)網(wǎng)。我最先發(fā)給Allan Hoeltje,他把這個(gè)程序發(fā)到了Peacenet,一個(gè)針對(duì)草根政治組織--特別是“和平運(yùn)動(dòng)”--的ISP。當(dāng)時(shí)全球政治活躍分子都能訪問(wèn)到Peacenet。然后我又把它上傳給了Kelly Goen,他接著就把源碼轉(zhuǎn)發(fā)到了一個(gè)專(zhuān)門(mén)分發(fā)源代碼的Usenet新聞組?;谖业恼?qǐng)求,他把該Usenet權(quán)限改為了“僅限美國(guó)”。Kelly還把PGP傳到了(美國(guó))國(guó)內(nèi)很多BBS上面。我記不太清剛開(kāi)始在網(wǎng)上貼是6月5號(hào)還是6號(hào)。 說(shuō)出來(lái)嚇人,1991年的時(shí)候,我對(duì)Usenet新聞組確是知之甚少。我并不知道那個(gè)“僅限美國(guó)”的標(biāo)簽只是個(gè)“建議”作用,基本上對(duì)貼子的傳播(范圍)毫無(wú)影響。當(dāng)時(shí),我以為這個(gè)標(biāo)簽會(huì)控制這個(gè)帖子的傳播范圍。當(dāng)時(shí)我不知道如何在新聞組發(fā)貼,甚至不明白新聞組究竟是什么。
PGP在互聯(lián)網(wǎng)上傳播開(kāi)來(lái),并且在這個(gè)世界上獲得了非常多的擁護(hù)者。PGP用戶和支持者也包括在極權(quán)主義國(guó)家持不同政見(jiàn)的人們(一些給齊默曼的感人信件被發(fā)表了,其中一些在美國(guó)國(guó)會(huì)之前被包括到證據(jù)中)。在世界其它地方的公民自由意志主義支持者(參考齊默曼在各個(gè)聽(tīng)政會(huì)上發(fā)表的證據(jù)),以及“自由通訊”激進(jìn)主義分子,他們稱(chēng)他們自己為加密愛(ài)好者,進(jìn)行宣傳和分發(fā)。
建議你先參照后面教程,在隨便一臺(tái)機(jī)器上練習(xí)。 等熟練操作之后,再閱讀 安全使用 生成你真正主要使用的PGP密鑰對(duì) :
brew install gpg
各發(fā)行版一般都會(huì)默認(rèn)安裝GnuPG。
pkg_add gnupg
# step 0
gpg --full-gen-key
# 這里不推薦使用的 `gpg --gen-key`
# step 1
gpg (GnuPG) 2.2.20; Copyright (C) 2020 Free Software Foundation Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY to the extent permitted by law.
Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
(14) Existing key from card
Your selection?
# 默認(rèn)就可以
# step 2
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072)
# 此處輸入你希望的密鑰長(zhǎng)度, RSA的不應(yīng)低于2048 bits,當(dāng)然輸入的數(shù)字越大越安全,相應(yīng)的,加解密的速度也會(huì)更慢
# step 3
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) 2y
# 默認(rèn)可以選0 ,即永不過(guò)期, 這里我選了2y, 因?yàn)榈狡谥半S時(shí)可以更改你的過(guò)期時(shí)間,以確保你對(duì)此密鑰仍擁有控制權(quán)
# step 4
Key expires at Wed 11 Jan 2023 05:50:53 PM CST
Is this correct? (y/N) y
#確定
# step 5
GnuPG needs to construct a user ID to identify your key.
Real name: linus # 這里名字可以是網(wǎng)名,可以是任意名字,如果你注重隱私就不要輸入自己真名了
Email address: [email protected]
Comment: # 備注可以留空
# 注意了: 這里的郵箱, 如果你不打算使用PGP為你的Git記錄認(rèn)證, 這里其實(shí)是可以隨便輸入的,不需要是你的郵箱, 甚至不需要是一個(gè)真實(shí)存在的郵箱,只要接受你信息的人知道就行。隱私泄漏問(wèn)題很?chē)?yán)重,你一旦設(shè)置了,并且發(fā)布到公鑰服務(wù)器,就永遠(yuǎn)刪不掉了 ?
# step 6
You selected this USER-ID:
"linus "
Change (N)ame (C)omment (E)mail or (O)kay/(Q)uit? o
# 確認(rèn)無(wú)誤后輸入 o
# step 7
┌──────────────────────────────────────────────────────┐
│ Please enter the passphrase to │
│ protect your new key │
│ │
│ Passphrase: ________________________________________ │
│ │
│ │
└──────────────────────────────────────────────────────┘
# 輸入一個(gè)復(fù)雜的密碼 并確認(rèn)
# step 8
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.
# 隨機(jī)移動(dòng)你的鼠標(biāo),越隨機(jī)你的密鑰越安全
# step 9 大功告成
gpg: key 99F583599B7E31F1 marked as ultimately trusted
gpg: revocation certificate stored as /root/.gnupg/openpgp-revocs.d/705358AB85366CAB05C0220F99F583599B7E31F1.rev
public and secret key created and signed.
pub rsa3072 2021-01-11 [SC]
705358AB85366CAB05C0220F99F583599B7E31F1 # 你的 key id
uid linus
sub rsa3072 2021-01-11 [E] # 這個(gè)是自動(dòng)生成的用于加密的子密鑰,E代表Encrypt 加密
以下是常見(jiàn)縮寫(xiě)釋義:
A => Authentication
C => Certify
E => Encrypt
S => Sign
? => Unknown capability
sec => Secret Key
ssb => Secret SuBkey
pub => Public Key
sub => Public Subkey
你日常使用應(yīng)該使用子密鑰,主密鑰除了簽發(fā)新的子密鑰不要使用。
建議為不同環(huán)境,不同用途都多帶帶生成子密鑰,互不干擾。
# step 0
gpg --edit-key linus # 或者key id
# step 1 進(jìn)入gpg交互界面
gpg (GnuPG) 2.2.20; Copyright (C) 2020 Free Software Foundation Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY to the extent permitted by law.
Secret key is available.
sec rsa3072/99F583599B7E31F1
created: 2021-01-11 expires: never usage: SC
trust: ultimate validity: ultimate
ssb rsa3072/6FE9C71CFED44076
created: 2021-01-11 expires: never usage: E
[ultimate] (1). linus C
# step 2
gpg> addkey
Please select what kind of key you want:
(3) DSA (sign only)
(4) RSA (sign only)
(5) Elgamal (encrypt only)
(6) RSA (encrypt only)
(14) Existing key from card
Your selection? 4
# 根據(jù)你的用途選擇, 這里生成一個(gè)只用于簽名的子密鑰(sign only)
# 后面的選擇和主密鑰生成的大同小異,按提示操作即可
# 生成完畢后
sec rsa3072/99F583599B7E31F1
created: 2021-01-11 expires: never usage: SC
trust: ultimate validity: ultimate
ssb rsa3072/6FE9C71CFED44076
created: 2021-01-11 expires: never usage: E
ssb rsa3072/FDB960B857D397F6
created: 2021-01-11 expires: never usage: S
[ultimate] (1). linus
# last step
gpg> save # 記得save, 直接退出的話什么也沒(méi)有
假如你忘了主密鑰的密碼,或者丟失了對(duì)主密鑰的控制權(quán)(丟失,被奪?。?,如果沒(méi)有撤銷(xiāo)憑證的話, 除了一個(gè)個(gè)通知你的朋友們沒(méi)有任何辦法 證明你不再使用這個(gè)密鑰,這簡(jiǎn)直是災(zāi)難。
# step 0
gpg --gen-revoke -ao revoke.pgp linus # uid 或者key id
# step 1
sec rsa3072/99F583599B7E31F1 2021-01-11 linus
Create a revocation certificate for this key? (y/N) y
Please select the reason for the revocation:
0 = No reason specified
1 = Key has been compromised
2 = Key is superseded
3 = Key is no longer used
Q = Cancel
(Probably you want to select 1 here) 3
# 按提示走完流程就可以
生成的revoke.pgp
就是撤銷(xiāo)憑證, 有了這個(gè)撤銷(xiāo)憑證,你可以在沒(méi)有密碼的情況下使一個(gè)公鑰失效,所以一定要妥善保存,而且最好比主密鑰多一份。
# 列出所有公鑰、子公鑰
gpg --list-keys
# 列出所有密鑰、子密鑰
gpg --list-secret-keys
# 簡(jiǎn)化命令
gpg -k
gpg -K
# 輸出
sec rsa3072 2021-01-11 [SC]
705358AB85366CAB05C0220F99F583599B7E31F1
uid [ultimate] linus
ssb rsa3072 2021-01-11 [E]
ssb rsa3072 2021-01-11 [S]
這樣并沒(méi)有列出子密鑰的id 而且沒(méi)有打印出指紋信息, 是不安全的。所以在你查看密鑰時(shí)應(yīng)該
--keyid-format long
輸出長(zhǎng)ID--fingerprint
輸出指紋信息比如
gpg --fingerprint -K --keyid-format long
# 輸出
sec rsa3072/0x99F583599B7E31F1 2021-01-11 [SC] # 長(zhǎng)ID
Key fingerprint = 7053 58AB 8536 6CAB 05C0 220F 99F5 8359 9B7E 31F1 #指紋信息
uid [ultimate] linus
ssb rsa3072/0x6FE9C71CFED44076 2021-01-11 [E] # 斜杠后面的就是子密鑰ID
ssb rsa3072/0xFDB960B857D397F6 2021-01-11 [S]
每次都打 --keyid-format long
和--fingerprint
很煩對(duì)不對(duì), 編輯配置gpg文件 vim ~/.gnupg/gpg.conf
# ~/.gnupg/gpg.conf
keyid-format 0xlong
with-fingerprint
gpg -ao public-key.txt --export linus # 導(dǎo)出公鑰
# 注意這里最后 要帶上“!”, 不然會(huì)導(dǎo)出全部子密鑰
gpg -ao secret-key --export-secret-key 99F583599B7E31F1! # 導(dǎo)出主私鑰,建議secret-key 替換為你的加密設(shè)備備份文件的路徑,直接導(dǎo)入到設(shè)備中
gpg -ao sign-subkey --export-secret-subkeys FDB960B857D397F6! #導(dǎo)出有[S]標(biāo)識(shí)、簽名用子私鑰
gpg -ao encrypt-subkey --export-secret-subkeys 6FE9C71CFED44076! #導(dǎo)出有[E]標(biāo)識(shí)、加密用子私鑰 這里的ID替換為你的子密鑰ID
# 別忘了同時(shí)將你剛剛生成的撤銷(xiāo)憑證也備份起來(lái)
備份完后,要將本機(jī)的密鑰清除干凈,首先刪除:
gpg --delete-secret-keys linus # 刪除私鑰, UID 也可以替換成子密鑰ID 主密鑰Key ID
gpg --delete-keys linus # 刪除公鑰
# 如果想全部刪除推薦直接刪文件夾即刪除 $HOME/.gnupg
由于gpg生成的私鑰會(huì)在你的磁盤(pán)上使用明文儲(chǔ)存,所以一個(gè)多帶帶的 rm
或者右鍵刪除 并不能徹底刪除掉,可以使用 wipe 工具。如果你使用的是 SSD 且沒(méi)有 啟用全盤(pán)加密,是沒(méi)法徹底刪除的。
特別推薦使用 Tails (boum.org)發(fā)行版來(lái)生成主要使用的密鑰, 系統(tǒng)自帶pgp和paper key 等工具 可以確保全程斷網(wǎng)操作 同時(shí)此系統(tǒng)重啟會(huì)擦除所有內(nèi)容,還免去了擦除密鑰的麻煩。
#從文件導(dǎo)入
gpg --import [密鑰文件] # 剛剛備份的子密鑰文件, 或者其他人的公鑰
# 暫不推薦從公鑰服務(wù)器導(dǎo)入,具體用法會(huì)在公鑰服務(wù)器一章介紹
# 這里先推薦 練習(xí)導(dǎo)入自己的子密鑰
# 輸出
sec# rsa3072/0x99F583599B7E31F1 2021-01-11 [SC] # sec 后面帶有 # 號(hào)說(shuō)明主密鑰未導(dǎo)入,是安全的
Key fingerprint = 7053 58AB 8536 6CAB 05C0 220F 99F5 8359 9B7E 31F1 #指紋信息
uid [unknown] linus
ssb # rsa3072/0x6FE9C71CFED44076 2021-01-11 [E] # 帶有 # 號(hào)說(shuō)明該子密鑰已導(dǎo)入
這里只講 如何簽名和驗(yàn)證 他人文件, 為他人公鑰簽名和驗(yàn)證 放在公鑰的發(fā)布和交換一章講解。
# 第一種方式,生成二進(jìn)制簽名文件
gpg --sign input.txt # 當(dāng)然也可以加上--output參數(shù)
# 第二種方式,生成ASCII格式簽名
gpg --clearsign input.txt
# 第三種,簽名和原文本分開(kāi)(前兩種的簽名文件中包含了所有原文本,所以體積會(huì)比較大)
gpg --armor --detach-sign input.txt #不加armor生成會(huì)二進(jìn)制
# 驗(yàn)證簽名文件
gpg --verify demo.txt.asc demo.txt
# 加密:
# recipient指定接收者的公鑰ID
gpg --recipient {keyid/uid} --output encrypt.txt --encrypt input.txt
# 也可以按喜好加上--armor選項(xiàng)等
# 我更喜歡用
gpg -se -o encrypt.txt -r {keyid/uid} input.txt
# s代表簽名 e代表加密
# o是 將結(jié)果 輸出到文件 encrypt.txt
# r后面跟 接收者的 uid或者 key id, 接收者的公鑰必須已經(jīng)導(dǎo)入過(guò)
# input.txt 是你要加密的文件
# 解密:
gpg --decrypt encrypt.txt --output decrypt.txt
# 也可以
gpg -d encrypt.txt # 輸出到終端 直接查看
公鑰的交換是所有非對(duì)稱(chēng)加密算法的脆弱點(diǎn),所謂現(xiàn)代的使用方式,主要體現(xiàn)在密鑰的交換和發(fā)布上面, 之后會(huì)多帶帶來(lái)探討。
閱讀并理解本系列之前請(qǐng)不要發(fā)布你的公鑰到公鑰服務(wù)器。
由于PGP沒(méi)有提供任何將吊銷(xiāo)信息通知其他用戶的方式,他不能保證沒(méi)人會(huì)使用撤銷(xiāo)了的已經(jīng)變得不安全的密鑰。
你丟失的私鑰仍然可以被攻擊者使用,并用來(lái)解密那些沒(méi)有更新你的公鑰的人發(fā)送的加密消息。 revoke 子密鑰并更新公鑰后,若有人用老的公鑰加密信息,雖然你仍然可以解密,但是攻擊者同樣可以,這時(shí)候是極度不安全的。
例如:如果A的私人密鑰被盜,她將發(fā)出一個(gè)密鑰撤銷(xiāo)證書(shū)(key revocation certificate),但是由于這個(gè)密鑰的分發(fā)是非正式的且將費(fèi)大量的時(shí)間和口舌,故不能保證密鑰環(huán)中每一個(gè)有A公開(kāi)密鑰的用戶都能收到。由于A必須用她的私人密鑰簽名撤消的證書(shū),所以如果A同時(shí)丟失了私人密鑰,她就不能撤銷(xiāo)密鑰。密鑰的撤銷(xiāo)問(wèn)題被認(rèn)為是整個(gè)系統(tǒng)最薄弱的環(huán)節(jié)。
所以在你將密鑰撤銷(xiāo)后,請(qǐng)將撤銷(xiāo)后的公鑰發(fā)布到你一貫公布公鑰的地方, 并盡可能通知其他人。
gpg --import gpg-linus.asc # 在一臺(tái)新的電腦上導(dǎo)入你的公鑰
gpg: key 99F583599B7E31F1: "linus " not changed
gpg: Total number processed: 1
gpg: unchanged: 1
gpg --import revoke # 導(dǎo)入你備份的撤銷(xiāo)憑證,直接會(huì)導(dǎo)致密鑰不可用
gpg: key 99F583599B7E31F1: "linus " revocation certificate imported
gpg: Total number processed: 1
gpg: new key revocations: 1
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 1 trust: 0- 0q 0n 0m 0f 1u
gpg: depth: 1 valid: 1 signed: 0 trust: 1- 0q 0n 0m 0f 0u
gpg: next trustdb check due at 2021-09-29
gpg -k # 查看密鑰,已經(jīng)revoke
pub rsa3072 2021-01-11 [SC] [revoked: 2021-01-11]
705358AB85366CAB05C0220F99F583599B7E31F1
uid [ revoked] linus
gpg --edit-key linus
gpg > list # 列出你所有的子密鑰
gpg > key {n} # 選擇你要銷(xiāo)毀的子密鑰的 序號(hào)
gpg > revkey
gpg > save # 退出前一定要save 不然所有更改不會(huì)生效
本文作者:UCloud后臺(tái)研發(fā)工程師 Hughes Chen
**博客地址:https://ulyc.github.io/
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/126015.html
摘要:上篇鏈接年,用更現(xiàn)代的方法使用上年,用更現(xiàn)代的方法使用中公鑰的發(fā)布與交換討論公鑰安全交換的中文文章比較少,而這一環(huán)是整個(gè)加密體系的重中之重。年月,有攻擊者惡意向公鑰服務(wù)器提交了對(duì)兩個(gè)著名網(wǎng)友的簽名背書(shū)。此事件中的受害者的證書(shū)就被簽名了次。上篇鏈接:2021年,用更現(xiàn)代的方法使用PGP(上)2021年,用更現(xiàn)代的方法使用PGP(中)PGP 公鑰的 發(fā)布 與 交換討論公鑰安全交換的中文文章比較少...
摘要:世界上有兩種密碼一種是防止你的小妹妹偷看你的文件另一種是防止當(dāng)局閱讀你的文件應(yīng)用密碼學(xué)上篇鏈接年,用更現(xiàn)代的方法使用上三安全使用和備份準(zhǔn)備為了安全性,建議在一臺(tái)斷網(wǎng)的或者系統(tǒng)上生成你的密鑰對(duì)。世界上有兩種密碼:一種是防止你的小妹妹偷看你的文件;另一種是防止當(dāng)局閱讀你的文件.? ...
摘要:一密碼學(xué)的術(shù)語(yǔ)分類(lèi)術(shù)語(yǔ)密碼體制明文空間密文空間密鑰空間加密算法和解密算法五部分構(gòu)成??驴嘶舴蛟瓌t是現(xiàn)代密碼學(xué)設(shè)計(jì)的基本原則。特性散列函數(shù)特性消息的長(zhǎng)度不受限制。 一、密碼學(xué)的術(shù)語(yǔ)、分類(lèi) 1、術(shù)語(yǔ) 密碼體制:明文空間、密文空間、密鑰空間、加密算法和解密算法五部分構(gòu)成。 密碼協(xié)議:有時(shí)稱(chēng)為安全協(xié)議,指以密碼學(xué)為基礎(chǔ)的消息交換的通信協(xié)議,目的是在網(wǎng)絡(luò)環(huán)境 中提供各種...
摘要:目前,京東云金秋上云特惠也只是針對(duì)企業(yè)用戶的,云主機(jī)核限量秒殺僅元年。除非有相反證據(jù)證明外,用戶參與活動(dòng)所獲得的全部權(quán)益和相應(yīng)責(zé)任,均歸屬于參與活動(dòng)的該京東云賬號(hào)所對(duì)應(yīng)的實(shí)名認(rèn)證主體。2021京東云金秋上云特惠早就開(kāi)始了!一直忘記給大家傳達(dá),不好意思哦,不過(guò)京東云體量小,買(mǎi)的個(gè)人用戶不并不多。目前,2021京東云金秋上云特惠也只是針對(duì)企業(yè)用戶的,云主機(jī)2核4G限量秒殺,僅155元/年。大家可...
閱讀 3546·2023-04-25 20:09
閱讀 3745·2022-06-28 19:00
閱讀 3066·2022-06-28 19:00
閱讀 3092·2022-06-28 19:00
閱讀 3185·2022-06-28 19:00
閱讀 2886·2022-06-28 19:00
閱讀 3057·2022-06-28 19:00
閱讀 2643·2022-06-28 19:00