最近在研究RSA,對(duì)其中的簽名和加密的概念不是很理解构挤,從網(wǎng)上搜了搜髓介,在這里總結(jié)一下。
舉個(gè)例子筋现,就拿A給B發(fā)送經(jīng)過(guò)簽名加密信息來(lái)說(shuō):
1版保、A對(duì)信息簽名的作用是確認(rèn)這個(gè)信息是A發(fā)出的,不是別人發(fā)出的夫否;
2、加密是對(duì)內(nèi)容進(jìn)行機(jī)密性保護(hù)叫胁,主要是保證信息內(nèi)容不會(huì)被其他人獲取凰慈,只有B可以獲取。也就是保證整個(gè)過(guò)程的端到端的唯一確定性驼鹅,這個(gè)信息是A發(fā)出的(不是別人)微谓,且是發(fā)給B的,只有B才被獲得具體內(nèi)容(別人就算截獲信息也不能獲得具體內(nèi)容)输钩。
這只是大概說(shuō)了作用豺型,具體說(shuō)來(lái),涉及到密鑰相關(guān)的東西买乃。密鑰有公鑰和私鑰之分姻氨。
那么這里一共有兩組四個(gè)密鑰:
A的公鑰(PUB_A),A的私鑰(PRI_A)剪验;B的公鑰(PUB_B)肴焊,B的私鑰(PRI_B)。
公鑰一般用來(lái)加密功戚,私鑰用來(lái)簽名娶眷。
通常公鑰是公開(kāi)出去的,但是私鑰只能自己私密持有啸臀。
公鑰和私鑰唯一對(duì)應(yīng)届宠,用某個(gè)公鑰簽名過(guò)得內(nèi)容只能用對(duì)應(yīng)的私鑰才能解簽驗(yàn)證;同樣用某個(gè)私鑰加密的內(nèi)容只能用對(duì)應(yīng)的公鑰才能解密。
這時(shí)A向B發(fā)送信息的整個(gè)簽名和加密的過(guò)程如下:
1豌注、A先用自己的私鑰(PRI_A)對(duì)信息(一般是信息的摘要)進(jìn)行簽名伤塌。
2、A接著使用B的公鑰(PUB_B)對(duì)信息內(nèi)容和簽名信息進(jìn)行加密幌羞。
這樣當(dāng)B接收到A的信息后寸谜,獲取信息內(nèi)容的步驟如下:
1、B用自己的私鑰(PRI_B)解密A用B的公鑰(PUB_B)加密的內(nèi)容属桦;
2熊痴、得到解密后的明文后用A的公鑰(PUB_A)解簽A用A自己的私鑰(PRI_A)的簽名。
從而整個(gè)過(guò)程就保證了開(kāi)始說(shuō)的端到端的唯一確認(rèn)聂宾。
A的簽名只有A的公鑰才能解簽果善,這樣B就能確認(rèn)這個(gè)信息是A發(fā)來(lái)的。
A的加密只有B的私鑰才能解密系谐,這樣A就能確認(rèn)這份信息只能被B讀取巾陕。
這個(gè)過(guò)程可以這么個(gè)故事來(lái)概括:
B的銀行卡落到A的家里了,A要給B郵寄銀行卡纪他,提前和B說(shuō)了我要給你寄銀行卡(B拿到A的公鑰)鄙煤,
A在寄銀行卡的時(shí)候要求快遞員在B收到東西時(shí)說(shuō)出是誰(shuí)寄的(A用自己的私鑰進(jìn)行簽名),只有說(shuō)對(duì)了才給B(B用A的公鑰驗(yàn)證簽名)茶袒。
這張銀行卡對(duì)于快遞員來(lái)說(shuō)是加密的(快遞員既不知道銀行卡是誰(shuí)的梯刚,也不知道銀行卡密碼),但是對(duì)于A來(lái)說(shuō)薪寓,A知道銀行卡是誰(shuí)的(相當(dāng)于B的公鑰)亡资,而對(duì)于B來(lái)說(shuō),B有銀行卡的密碼(B的私鑰)向叉。