程序员

密码管理EasyPass开发笔记(第1篇)

2018-10-02  本文已影响7人  zhongxuqi

EasyPass背后的密码学基础

密码学是数学和计算机科学的分支,目前也是少数几个守方的优势远远大于攻方的领域,主流加密算法都难以被暴力破解的攻破。密码学是一个博大精深的学科,本文并展开去讲,主要从加密算法方面入手,阐述EasyPass如何在技术上实现安全地保存用户的帐号密码信息。

加密算法分类

加密算法主要分为以下几种:单向加密算法(Hash算法)、对称加密算法、非对称加密算法。下面,我们详细介绍一下这几种算法的特点。

单向加密算法

顾名思义,这种加密算法是不可逆的,加密后的数据并不能通过解密恢复,常见的加密算法有md5、sha-1、sha256等等。单向加密算法虽然不可逆,但是它有个特性,就是加密后的数据和加密前的数据基本是可以一一对应的,即不同的数据加密出来的结果是不同的。因此,在给出加密结果的前提下,验证给定数据是否为该加密结果的原始数据。

当下热门的区块链技术的共识机制POW就利用了单向加密算法的不可以逆性。原理就是给定加密结果的限制条件(比如开头必须是大于8个0),由于算法不可逆,计算机只能通过暴力枚举的方式去求解,得出正确的解体现了工作量,限制位数越多越能体现工作量。比特币就是靠这种机制保证了系统的可靠性,至今仍然坚固无比。

对称加密算法

加密和解密使用相同密钥的加密算法。目前流行的加密算法有DES、3DES和AES。这种加密算法的特点是:算法公开、计算量小、加密速度快、加密效率高。缺点是:传输方和接收方都需要知道密钥。

对称加密算法

最新出来的是DES加密算法,是在1977年,IBM公司设计的方案。在当时的计算力下,已足够安全,但是随着计算机的发展和摩尔定律,DES的安全性已经受到危险,因此3DES应运而生。3DES的原理是对每个数据块进行三次DES加密,从而使得密钥长度的增加了3倍,提高了算法的安全性,但是加密原理并没有改变,而且加密时间的耗时变长了。AES是DES的升级版,解决了DES加密的缺陷,堪称最流行的对称算法。相比DES,AES具有更高的密码安全性和更快的加密速度,按照当今计算机的算力,需要花费上千亿年的时间才能破解。

非对称加密算法

加密和解密使用不同密钥的加密算法。目前主要的非对称加密算法有RSA和ECC(椭圆曲线加密算法)。在安全性上,RSA的安全性基于对极大整数做因数分解的难度,目前除了暴力破解没有任何办法;ECC的安全性基于解决椭圆曲线离散对数问题的困难性。在使用上,密钥分公钥和私钥,私钥用户自己保存,公钥对外公开。用私钥加密后的数据只能有公钥解开,相反用公钥加密后的数据也只能用私钥解开。

非对称加密算法

总结

加密算法 是否可逆 加密速度 密钥安全
单向Hash算法 无密钥
对称加密算法
非对称加密算法

EasyPass如何利用密码学保证用户帐号密码的绝对安全

EasyPass采用AES-256加密算法,具体的处理流程图如下:

EasyPass数据处理流程

如上图所示,服务器只存储了加密后的数据,而且服务器并不保存主密码,数据的加解密算法采用了AES-256算法,从而在技术上保证了用户数据的绝对安全。因为主密码只有用户自己知道,所以即使服务器上的数据完全泄露,黑客在不知道用户主密码的情况下,根本无法解密用户的数据。

EasyPass的Android端采用的AES加密算法库是javax.crypto.Cipher,IOS端采用的AES加密算法库是CryptoSwift。

广告时间(哈哈,允许我推广一下我的密码管理工具)

简单专业的密码管理EasyPass

官网地址:https://www.easypass.tech

官方邮箱:easypass.inc@gmail.com

EasyPass官网
上一篇下一篇

猜你喜欢

热点阅读