# Android 安全加密:非對稱加密詳解 ###### tags: `Tag(Android 技術相關)` ## 定義 非對稱加密算法需要兩個密鑰:**公鑰(publickey)**和**私鑰(privatekey)**。公鑰與私鑰是一對, 如果用公鑰對數據進行加密,只有用對應的私鑰才能解密; 如果用私鑰對數據進行加密,那麼只有用對應的公鑰才能解密。 因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。 簡單理解為:==加密和解密是不同的鑰匙== 在互聯網後端技術中非對稱加密技術主要用於登錄、數字簽名、數字證書認證等場景。 https://case.ntu.edu.tw/blog/?p=29107   --- ## 非對稱加密常用演算法 RSA、DSA、ECDSA ### RSA: 1977年被麻省理工學院的羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)三位科學家提出 RSA 是目前應用最廣泛的數字加密和簽名技術,比如國內的支付寶就是通過RSA算法來進行簽名驗證。它的安全程度取決於秘鑰的長度 可以選密鑰長度: 1024位、2048位、4096位 ### DSA: 既Digital Signature Algorithm,數字簽名算法,他是由美國國家標準與技術研究所(NIST)與1991年提出。和RSA 不同的是DSA 僅能用於數字簽名,不能進行數據加密解密,其安全性和RSA相當,但其性能要比RSA快。 ### ECDSA: Elliptic Curve Digital Signature Algorithm,橢圓曲線簽名算法,是ECC(Elliptic curve cryptography,橢圓曲線密碼學)和DSA 的結合,橢圓曲線在密碼學中的使用是在1985年由Neal Koblitz和Victor Miller分別獨立提出的,相比於RSA算法,ECC 可以使用更小的秘鑰,更高的效率,提供更高的安全保障,據稱256位的ECC秘鑰的安全性等同於3072位的RSA秘鑰,和普通DSA相比,ECDSA在計算秘鑰的過程中,部分因子使用了橢圓曲線算法。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up