现代密码学简介
现代密码学主要包括以下的两个部分:
1.对称密码(传统密码学)
2.非对称密码(公钥密码学)
其中对称密码学就是我们通常理解的密码,加密解密用同一种秘钥,例如AES,RC4等。
其中非对称密码就是现在使用的公钥密码,使用密钥对(公钥,私钥)进行加密与解密操作,例如RSA,ECC,国产商业密码SM2、SM9等。
我现在主要看的就是公钥密码,公钥密码现在应用比较多,并且研究也比较热门,作为比较,对称密码主要在军事上用的多点,研究的人相对做公钥的人来说是少一些,不过也非常值得继续深入研究。
我们实验室的方向
其中我们主要研究的就是公钥密码,根据周围有人做的方向来看,我回顾下,我们实验室在公钥这个部分主要的大方向:
1.基于身份的加密解密方案(IBE);
2.零知识证明系统;
3.哈希证明系统;
4.抗泄露的加密解密方案;
5.基于格的密码学;
我想做的东西
我们实验室的研究方向都比较学术化,主要就是写论文,但是我个人还是偏向于做一些能够应用的东西,最好能结合编程落地的一些东西。不过现在有两种学习和研究的方法,第一种就是深入的看到一种具体的应用场景中,然后尝试解决场景中的具体问题,例如在IOT、IOV中的访问控制问题,通信安全问题等。或者就是区块链的相关应用,最近几年区块链确实是非常的火爆,也可以根据其中存在的问题根据已有的密码学工具给出解决方案。另外一种学习的方法就是,深入研究理论,做理论相关的工作,然后去找能够使用的应用场景,结合起来。我开始使用的就是这种方法,之前根据大牛的思路,改了一个数字签名算法,显然这个算法可以应用到一些IOT场景中,所以水了篇专利,后来又写了篇论文,还在修改。这是一个方法,但是也是有利有弊吧,如果这篇文章搞定了,我会单独写一下这篇论文的故事。
言归正传,最为一个软件工程出身的人,当然要结合一下自己的专业做密码。现在我主要研究的密码协议,特别是安全多方计算这块以及零知识证明,我打算从区块链出发,然后针对其中使用的密码学原语,使用安全多方计算相关技术和零知识证明技术对其进行去中心化改造,但是能不能成功也不能确定,以后可能还会换。
总而言之,接下来的一个月时间我打算用20篇左右的博客,从理论的角度深入学习下通用协议的构造与设计,及其安全证明方法。