# 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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.