技术干货 | 如何学习全同态加密_区块链:Crypterium

本文由陈智罡博士撰写。

自从微信公众号里发了我在2015年写的博文“给博士生的话”后,许多研究生问如何学习全同态加密,以及全同态加密的必看的三篇文章是什么。在这里为大家统一答复。

学习全同态加密需要三部分知识:数学基础,格密码基础,全同态加密。

许多研究生在学习全同态加密时,以为只是学习全同态加密,所以看第一篇文章时,从入门直接到放弃。

这是因为任何知识都需要其它的知识作为基础,而全同态加密属于公钥密码学,所以首先它是一个加密算法,然后具有同态属性。

因此,必须熟悉格加密算法,以及相关的数学知识。下面我们分别说说这三部分。

数学基础

因为目前全同态加密都是构建在格密码算法之上的,所以格密码需要哪些数学知识,以及全同态加密本身需要哪些数学知识就构成了整个学习所需的数学基础。

武汉发展实施方案:促进区块链等数字经济新兴技术和实体经济深度融合:6月23日,武汉市委常委会审议并原则通过了《促进线上经济发展实施方案》、《武汉市突破性发展数字经济实施方案》。24日下午,市政府新闻办举行新闻发布会,对两大方案提出的背景、实施基础、突破路径和相关政策等进行解读。根据实施方案,武汉将聚焦数字产业化、产业数字化,促进人工智能、区块链、云计算、大数据、5G等数字经济新兴技术和实体经济、城市治理、社会民生深度融合通过实施数字经济5大新基建、7大新产业、3大新融合的“573”工程。[2020/6/26]

格密码需要哪些数学基础呢?

主要需要线性代数和抽象代数的基础。线性代数一般理工科都学过,例如矩阵,行列式等计算,向量空间的基等。格加密算法里的计算都是矩阵行列式计算。

动态 | 安徽将利用大数据、人工智能、区块链等技术构建全省政务服务“皖事通办”:记者从安徽省政府新闻发布会获悉,该省将加快数据赋能,推出“慧办事、慧审批、慧监管”的安徽智慧政务新模式,打造更加惠企便民的营商环境,在安徽省一体化政务服务平台基础上,借助大数据、人工智能、区块链等新兴技术手段,全面创新升级建成“皖事通办”平台,实现政府一个平台“上服务”、群众一个平台“找政府”。(新华网)[2020/1/7]

抽象代数估计不是数学专业的,有可能没学过。抽象代数里的群、环、域等知识非常重要,尤其是环,是格加密的数学基础。抽象代数中一般还会涉及到数论一些知识,也在全同态加密中会使用,例如模计算等。

初学者可以看:AnIntroductiontoMathematicalCryptography补充相关数学知识。

声音 | 中银国际CEO:将区块链等技术与传统金融服务的需求相结合可降低小微企业风险溢价:据央广网财经报道,3月23日,由国务院发展研究中心主办的中国发展高层论坛2019经济峰会在北京举行,中银国际CEO李彤在会上指出,将移动互联网、大数据分析、人工智能、区块链等新一代信息技术与传统金融服务的需求相结合,既可以改善信息不对称,降低小微企业的风险溢价,又可以简化服务流程,扩大服务范围。[2019/3/24]

当然公认的最好的密码学教材当属JonathanKatz的INTRODUCTIONTOMODERNCRYPTOGRAPHY。如果你想全面而深入的学习密码学可以看这本书。里面都有相关的数学知识。

格密码

学习全同态加密必须熟悉格密码,这是绕不开的。因为本身全同态加密就是格密码算法上进行构造的。

声音 | 井贤栋:蚂蚁金服正通过区块链技术帮助小微企业融资:11月8日,蚂蚁金服董事长兼CEO井贤栋在世界互联网大会上表示,蚂蚁金服正在通过区块链技术,实现了在供应链中应收账款的高效、可信流转,帮助供应链上的小微企业更容易、更低成本地获得融资,有效提升供应链协作,也助力了金融机构更有效地管理风险,促进实体经济发展。[2018/11/8]

那么如何学习格密码呢?

应该从LWE加密算法开始学习,然后过渡到环LWE加密算法上。一定要把LWE加密算法的过程搞清楚,这样学习全同态加密会轻松许多。

如何学习LWE加密算法呢?

建议看OdedRegev的一篇综述文章:TheLearningwithErrorsProblem。这篇文章相对写的轻松一些。不过不要忘了,如果想一下看懂是不可能的。需要反复看。注意LWE加密中的各个参数的意义。

OdedRegev本身就是提出LWE归约问题的作者,也写过一个格密码讲义,但是非常理论,不适合初学者看。

全同态加密的学习

学习全同态加密只需要看3+2篇文章。因为看完了前3篇文章,才能看最后这2篇文章,否则根本不知道最后这篇文章讲的是什么。然而,最后这篇文章恰好是目前最火的全同态加密方案。

第一篇文章:BV11:EfficientFullyHomomorphicEncryptionfrom(Standard)LWE

全同态加密的转折点就是从BV11开始,能够建立在LWE这种标准格上困难问题之上。使得全同态加密比以前简单多了。

而且BV11这篇文章写作风格非常好,易于理解。

第二篇文章:BGV12:(Leveled)fullyhomomorphicencryptionwithoutbootstrapping

BGV就是HElib基于的方案。模交换就来源于这篇文章。使得无需Boostrapping就能够建立层次型FHE。

第三篇文章:Bra12:FullyHomomorphicEncryptionwithoutModulusSwitchingfromClassicalGapSVP

Bra12就是微软SEAL库基于的方案。比BGV简单了很多,因为不需要模交换就可以构建层次型FHE。

以上三篇文章直接奠定了全同态加密的基础。值得反复阅读。

第四篇文章:GSW13:HomomorphicEncryptionfromLearningwithErrors:Conceptually-Simpler,Asymptotically-Faster,Attribute-Based

GSW13是全同态加密文章里最短的,方案简单到和一般LWE加密算法差不多。

GSW13导致了后面很多全同态加密的理论结果,让全同态加密的理论研究持续发展了好一阵。但是该方案在应用中不实际,所以只在了理论中大放光彩。

我们对GSW进行过深度分析,其实GSW方案中将约减噪音和保持同态性都放在一个密文中。具体可以看我们的文章。

第五篇文章:CKKS17:Homomorphicencryptionforarithmeticofapproximatenumbers

CKKS17能够支持浮点数的计算,而且效率很高,直接用于机器学习中。其实CKKS17的思想都来源于前面的方案。如果对前面的方案理解了,对该方案才能吃透。

以上文章以及电子资源,都可以在我的主页上获得:

https://zhigang-chen.github.io/index.html

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-0:989ms