密鑰對(私鑰,公鑰)
A: private_keyA(私鑰) ---> public_keyA=hashX(private_keyA)(通過某種不可逆算法生成公鑰public_keyA)
B: private_keyB(私鑰) ---> public_keyB=hashX(private_keyB)(通過某種不可逆算法生成公鑰public_keyB)
網絡傳輸加密:
公鑰用來加密,私鑰用來解密
A,B都有彼此的公鑰
A向B發送消息msgA:
A --> msgA --> lock(public_keyB, msgA)(用B的公鑰加密) --> msg*** --> transit --> msg*** --> unlock(private_keyB, msg***)(用B的私鑰解密) -- > msgA --> B
B向A發送消息msgB:
B --> msgB --> lock(public_keyA, msgB)(用A的公鑰加密) --> msg*** --> transit --> msg*** --> unlock(private_keyA, msg***)(用A的私鑰解密) -- > msgB --> A
個人簽名認證(驗證消息來源合法性):
私鑰用來加密,公鑰用來解密
A --> msgA --> lock(private_keyA, msgA)(用A的私鑰加密) --> msg*** --> transit --> msg*** --> unlock(public_keyA, msg***)(用A的公鑰解密) -- > msgA --> SomeBody(如解密成功,則能確認消息來源為A)