RSA
非對稱加密,公鑰加密,私鑰解密,反之亦然。由於需要大數的乘冪求模等算法,運行速度慢,不易於硬件實現。
通常私鑰長度有512bit,1024bit,2048bit,4096bit,長度越長,越安全,但是生成密鑰越慢,加解密也越耗時。
既然是加密,那肯定是不希望別人知道我的消息,所以只有我才能解密,所以可得出公鑰負責加密,私鑰負責解密;
同理,既然是簽名,那肯定是不希望有人冒充我發消息,只有我才能發佈這個簽名,所以可得出私鑰負責簽名,公鑰負責驗證。
AES
對稱加密,密鑰最長只有256個bit,執行速度快,易於硬件實現。由於是對稱加密,密鑰需要在傳輸前通訊雙方獲知。
基於以上特點,通常使用RSA來首先傳輸AES的密鑰給對方,然後再使用AES來進行加密通訊。