① 同态加密的实现原理是什么在实际中有何应用
同态加密是一种加密形式,它允许人们对密文进行特定的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样。换言之,这项技术令人们可以在加密的数据中进行诸如检索、比较等操作,得出正确的结果,而在整个处理过程中无需对数据进行解密。其意义在于,真正从根本上解决将数据及其操作委托给第三方时的保密问题,例如对于各种云计算的应用。
这一直是密码学领域的一个重要课题,以往人们只找到一些部分实现这种操作的方法。而2009年9月克雷格·金特里(Craig Gentry)的论文 从数学上提出了“全同态加密”的可行方法,即可以在不解密的条件下对加密数据进行任何可以在明文上进行的运算,使这项技术取得了决定性的突破。人们正在此基础上研究更完善的实用技术,这对信息技术产业具有重大价值。
② 隐私计算-密码学-同态加密
近年来,随着大数据与人工智能的盛行,针对个人的个性化的推荐技术的不断发展,人们在享受便利的同时,也深深的感觉到无处不在的监控与监事,比如刚刚浏览了一个网站的商品,当去其他网站访问的时候就会推荐类似的产品;刚刚搜索了某件商品,在很多其他的场景中都会给你推荐。这种体验,谈不上不好,也谈不上多坏,但是如果仔细想想,就感觉自己的网上进行裸奔,个人隐私,一清二楚,毫无隐私可言,细思极恐。
不过随着广大用户对于个人隐私的重视程度不断加强,以及法律法规的不断完善,针对个人隐私的保护提出了更高的要求,什么样的数据可以采集、收集与使用,如何使用都是一个比较敏感的问题。十三届全国人大常委会第三十次会议表决通过了《 中华人民共和国个人信息保护法 》,并与2021年11月1日起施行。确立个人信息保护原则、规范处理活动保障权益、禁止“大数据杀熟”规范自动化决策、严格保护敏感个人信息、赋予个人充分权利等。新规施行后,违法的主体将 最高可处五千万以下或者上一年度营业额百分之五 以下的罚款。
鉴于上述情况,近年来隐私计算技术被不断的提及,源于其有优秀的数据保护作用,使得 “数据不出域、数据可用不可见、数据可算不可见” ,限定了数据的使用场景,防止了数据的泄露,而引起了业界的热捧。
隐私计算技术的演进历程如下图描述,以下是杨强教授在KDD 2021中国区的分享材料:
可以看到,隐私计算技术从1979年就开始了,最开始是安全多方计算、到差分隐私、到TEE, 再到最近火的不能再火的联邦学习 ,一系列的技术应运而生。那为啥现在隐私计算这么火呢。
注:隐私计算技术成熟度曲线
但是这些技术本身的安全加密都是采用共同的方法与策略,下面讲述下隐私计算的加密技术。
本文主要介绍同态加密,
众所周知,优秀的程序员需要 严谨的逻辑思维与具象能力 ,当然在材料的时候,可能需要适当的渲染。但是对于技术的理解,对技术的探索,严谨的逻辑与坚实的推理是非常重要的。所以,对于“数据加密”这个命题,需要进行一番探索。
如此三态合一,即可保障数据的全链路的生命周期安全 。
那么有没有办法解决数据计算的安全问题呢?答案就是 同态加密技术 。保障数据的运行态的安全,那么同态加密技术具体是如何实现,如何应用,并且有哪些限制呢?
什么是同态加密? ,引用Gentry大佬的原话:
同态加密(Homomorphic Encryption, HE),指满足密文同态运算性质的加密算法,即数据经过同态加密之后,对密文进行某些特定的计算,得到的密文计算结果在进行对应的同态解密后的明文等同于对明文数据直接进行相同的计算, 实现数据的“可算不可见” 。同态加密的实现效果如图所示。
举个例子: 国内某家大型的三甲医院,由于历史悠久,并且医术精湛,历史遗留了大量的用户病例数据 。如今思考基于这些病例数据进行建模分析。但是由于数据量特别巨大,医院本身的IT资源有限,计算能力不足。
这个时候,云厂商找了过来。但是对于医院来说,这些数据本身是用户的隐私信息,并且也是医院的核心价值,所以尽管云厂商再三保证数据安全, 但是医院还是不能够放心的将数据上传到云厂商进行计算 。
正当这个事情推进不下去的时候,云厂商从密码行业花大价钱招来某个大牛,大牛提出一个方案,这样吧,我们现在有 这样一门技术,不需要传输明文数据,只需要传输密文就好,而且加密秘钥由医院自己保存,我们基于上传的密文数据做不解密的密态运算( 并计算函数医院提供就好),这样数据不会泄露,云厂商对数据无感知,之后传回密文结果,医院自己解密就好 。医院一听非常高兴,那就这么办吧。
下面将核心流程描述下。
这里,大家可能有个问题,这个f应该是什么样的函数,有什么样的限制条件?HE方案是支持任意的数据处理方法f,还是说只支持满足一定条件的f呢?根据f的限制条件不同,HE方案实际上分为了两类:
Paillier加密算法是Pascal paillier[1]在1999年发明的概率公钥加密算法,该算法 基于复合剩余类的困难问题,是一种满足加法的同态加密算法 ,已经广泛应用在加密信号处理或第三方数据处理领域。
前面我们分析过 同态加密的核心流程 ,大家可以一起回忆一下。核心的函数包括:秘钥生成、明文加密、密文解密,下面我们来一步一步的分析,并且描述下,
秘钥的生成主要有如下的步骤,
下面介绍一个完整的同态运算,m由 组成,介绍下同态加密的是如何使用密文计算的。
③ 网络安全就业难度大不大
未邀自答。本来我都关机、躺下、准备睡觉了,结果手贱点了知乎,看到了这么一个问题,又看到好朋友 @scalers回答了这个问题,忍不住又把电脑打开,准备花一点时间认真回答一下这个问题。这可能不仅是对问题本身的回答,也是差不多这一年来我对信息安全这个领域的理解和体会吧。=============================利益相关:信息安全方向博士生,主攻Public Key Encryption,主要方向是Predicate Encryption。1-2年之内就要就业,方向应该就是数据安全了。这一年认识了不少领域内的前辈和朋友,了解到不少现状。=============================0. 总体感受:人才既饱和,又匮乏现在安全行业的现状基本是:上层人才极度匮乏,下层人才极度饱和。大概半年多前和一位领域内的人士聊天,对方说了这么一句话:我们招人要求真的不高啊,只要领域相关,7年以上工作经验就好了。当时,幼稚的我心想,我靠你逗我呢,这还要求不高?哪儿找安全领域干7年以上的人去?经过半年的折腾,我现在的感觉是:这个要求真的不高,一点都不高,可能太低了…为什么?因为信息安全这个领域太大了,大到什么程度呢?大到做这个领域的人可能需要把几乎计算机科学的所有领域全理解(注意,不是了解,是理解)以后,才能集大成,然后把这个领域做好。=============================1. 数学和计算机理论基础要求信息安全中最理论的基础是密码学。密码学谁提出来的?图灵提出来的。为什么是他提出的密码学?因为密码学的实现基础是图灵机,或者说是有限自动机原理。密码学的理论基础是抽象代数和信息论。想要比较深入的学习密码学里面的知识,至少要明白计算机领域的归约(Rection),计算复杂性理论;至少要明白抽象代数里面的群(Group)、环(Ring)、域(Field);至少要了解信息论中信息熵的概念;这些如果不理解的话,安全证明估计就过不去了…要是追新,看看密码学界的发展,起码说提出一个名字能明白是什么意思,估计得了解了解椭圆曲线(Elliptic Curve),双线性对(Bilinear Pairing)或者多线性对(Multilinear Pairing),格(Lattice)等等。=============================2. 编程能力要求有人说了,我不用学密码学理论,我能看懂论文,把方案实现了就行了啊。因为实现的方案从理论上是否安全,要考察参数的选择。参数选择的话,就得看懂安全性证明了。我个人只是做了Java Pairing-Based Cryptography Library(jPBC)的一些实现,几乎时常会收到很多邮件,询问这个库怎么用,为什么自己实现的不对。多数情况都是因为对根上的东西没理解,导致用起来不对。有人说了,我也不用看懂论文,我能写最经典的密码学算法,能正确调用就好了。很遗憾,就算是最经典的密码学算法,即使是有经验的开发人员,绝大多数都不能正确实现。仅以RSA为例,请移步我的专栏文章:RSA有多安全,有多不安全?Black Hat 2014 - The Matasano Crypto Challenges解析 - 第一部分 - 刘学酥的密码学与信息安全专栏 - 知乎专栏看看里面有多少坑吧。=============================3. 计算机相关技术能力要求有人说了,我不用写密码学算法,我能正确用就行了。提到网络通信,就有计算机网络的相关知识了。我个人感觉计算机网络知识的复杂度现在和操作系统都差不多了。尤其是现在分布式系统,比如分布式计算和分布式存储技术的普及,分布式计算机网络本身就构成了一个比操作系统还要复杂的总系统。做安全的话,没有计算机网络和操作系统的知识几乎只能做点皮毛工作。提到网络和操作系统,就会想到这本身就需要比较强的编程能力。举个简单的例子,Java优秀的网络通信框架Netty和MINA(感谢 @Edsger Lin 的指正,这里打错了),是不是需要了解一下?HDFS,MapRece是不是了解一下?要不要看看源代码… 来吧,这相关的资料、书籍,可以放满一个书柜了。=============================4. 网络安全技术要求有人说了,我也不用懂这些,我是做技术的,了解网络知识以后,找漏洞挖漏洞,直接走向人生巅峰!怎么说呢,漏洞这个东西虽然知识本身要求的不深入,但是非常考验广度。比如数据库的了解,网络得了解,各种Web语言得了解,里面有什么坑得了解。而且,很多时候漏洞检测和网络渗透会涉及到语言本身上去。举个例子,Black Hat 2014中有个视频,所在的公司开发了一套漏洞检测工具Ravage(为什么我知道,我听译的…逆天漏洞检测及渗透生成工具——RAVAGE课程详情)。这个工具的制作已经深入到JVM的汇编层了。=============================5. 文档能力和与人交流的能力信息安全领域,不光是技术层面的,还有人员层面的。软件开发过程中出现的漏洞,绝大多数都是开发人员没有遵守安全软件开发要求而导致的。同时,各个公司、各个产品的安全架构,安全技术都不太一样。这种时候,为了保证产品的安全特性,就需要文档撰写和阅读能力,以及交流能力了。我和某位领域内人士交流的时候,总听到一种抱怨:我靠,这安全机制不是瞎搞么,这怎么评估,怎么实现?很遗憾,互联网发展太快了,很多东西都没有模块化体系化,现实就是这样。想要解决这个问题,就需要一群在计算机各个领域内都精通,或者退一步,都了解的人,将各种安全技术和产品抽象,从而提出并设计架构。这样才能提出一种比较通用的方法,从架构上去解决大部分的安全问题。不过这对一个人的要求可是有点高啊。安全又仅仅是技术问题吗?非也。信息安全中,技术占3成,管理占7成。技术再好,密钥管理不成熟,开发流程不成熟,访问控制机制设计的不成熟,甚至私下交易,从内部泄露用户隐私,也会导致严重的安全问题。这并不是耸人听闻。CSDN密码数据库泄露可能仅仅是冰山一角。要我看,用户的密码早就被泄露光了… 当然现在已经好了很多。这就意味着,管理也是个很困难的问题。说到管理,交流能力也是必不可少的。=============================6. 其他能力信息安全和通信技术是密不可分的。通信技术的发展必然会导致信息安全技术的发展。举例来说,枚举法是最没创意的攻击方法了。但是现在有了高性能计算机,分布式计算机系统,对于几年前的数据,用枚举法可能反而比其他方法更快。另一个例子,量子计算领域现在蓬勃发展,没准几年,十几年或者几十年后量子计算机就普及了。这并不是不可能,想想计算机从刚出现到现在人手几台一共花费了多长时间?那个时候,现有的体制全部推翻重来,作为安全人员就要更新自己的知识库了。当然了,这个例子有点极端,量子计算机真的来了,所有计算机科学相关的从业人员就要洗牌了。总的来说,信息安全领域要求从业人员随时学习,随时更新知识库。而且这种更新速度是依赖于计算机科学这门学科的发展而来的。2008年DDoS攻击还没影子呢,现在DDoS几乎就是家常便饭了。网络的迅速发展,特别是后面云计算云存储的发展,给安全从业人员又带来了更多的问题。这必须要求从业人员随时更新自己的知识,持之以恒的站在最前沿思考问题。=============================7. 有人能做到吗?密码学精通,可以到安全研究院。比如很多着名密码学家,Gentry,Shoup什么的就在IBM,进行全同态加密的理论研究和具体实现。而且,理解密码学的人学其他方面也比较快。但是需要到领域内快速积累。编程能力强,计算机相关技术强,就可以不光做安全了。但安全领域绝对欢迎这样的人才。网络安全技术能力强,可以到任何一家互联网公司做安全。知乎上的几位技术派大牛们,大多是这方面的佼佼者。文档能力和与人交流的能力强,可以做安全咨询。这是个比较有意思的领域。这个领域更需要广泛了解安全的相关知识。不仅从技术角度,也要从管理角度。我自己只是在公钥密码学中的一个很小的领域有一点点很小的成绩。因为计算机基础知识不足,接下来的一年我估计要各种补基础知识了,而且估计还补不完。上面说的这些对人才的需求,基本上只要精通一点,就是领域内的佼佼者了。所以,信息安全领域是一个集大成的领域。而且几乎任何一个分领域对于领域内知识的要求,都高于本身的要求。因为基础不够的话,想做安全就有点痴人说梦了。=============================8. 回到主题:会饱和吗?回到问题上面来,安全人才会达到饱和吗?我认为有生之年能把上面说的起码都做过一遍,几乎都是不可能的。信息安全的人才要求很高。能力强,哪怕是一方面能力强,都可以从茫茫人海中脱颖而出。一个直接的体现就是信息安全周围配套内容的普及。我在做Black Hat,包括密码学一些视频的听译时,就尝试过让别人帮忙听写,我来翻译。结果,即使是专业听译人员,拿到这些视频也都瞎了。因为专业词汇太多,几乎是中文都不知道什么意思。Black Hat系列这么好,为什么一直以来没人做字幕,听写翻译?因为确实对听译人员要求很高。我自己水平有限,只能听译密码学、Java、以及部分数据库、网络通信相关主题的Black Hat,而且也会遇到各种问题,遇到从来没听说过的技术、开源代码、工具、或者思想。当然这个过程也是收获的过程。所以,从高层看,信息安全人才应该一直会保持匮乏的状态,等待新鲜血液的注入。另一方面,由于门槛太高,不少人会在门外徘徊。门外的人多了,饱和一词也就来了。对于我自己,虽然得到了领域内人士的部分认可。但是,越往里面走,越发现里面的坑有多深。唯一的办法就是不停的学习和更新知识。毕竟,学习要比提出新方法简单多了,大家说对吗?=============================9. 只有信息安全领域是这样?就如同事物都是螺旋向上发展的一样,正像其他回答说的那样,任何领域都是:水平不高,哪里都饱和;水平高了,哪里都会要。什么叫水平高,高到什么程度就够了?我认为没有尽头。一个领域,越是钻研,越是往深了看,就越发现自己的渺小和无能。这会反过来导致更强的求知欲和更强的动力。等觉得自己小到只是一个沙子的时候,抬头一看,可能就会明白,绝大多数人,可能连分子大小都没到,但他们认为自己内部的原子和电子,就是整个世界。希望我们都能成为一粒沙子,看着大海的波涛汹涌,而毫无意识的,为这个世界的组成贡献自己的一份力量。以上。
④ 量子密码,用量子做为密码的途径和前景
应该这么说,量子通信是量子物理和信息科学结合的产物,由于经典密码学并不能保证通信的理论安全性,而量子通信根据量子基本理论而具有绝对的安全性。一旦有窃听存在,就会引起误码,而被通信双方发现。如今最有可能最先实现的量子通信方式是量子密钥分发,即先通过量子密钥分发完成绝对安全的密钥分发,再以“一字一密”的方式进行保密通信。量子密钥分发(QKD)主要包括准备-再测量(prepare-measure)和基于纠缠源(entanglement-based)。经典协议主要是BB84,还有BB92和六态协议。由于分裂攻击的可能,现在协议还需要加入诱骗态,我国王向斌教授的三态协议是很好的应用协议。国内有多个小组在进行的研究,国家也投入比较大,蛮有看点的,但是在实用化上要走的路非常多。
⑤ 区块链中现代密码学
1983年 - David Chaum描述的盲签
1997年 - Adam Back发明的HashCash(工作证明制度的一个例子)
2001年 - Ron Rivest,Adi Shamir和Yael Tauman向加密社区提出了环签名
2004年 - Patrick P. Tsang和Victor K.提出使用环签名系统进行投票和电子现金;
2008年 - 由Satoshi Nakamoto出版的Bitcoin白皮书
2011年 - 比特币系统中的匿名分析,Fergal Reid和Martin Harrigan
2012 - 目的地址比特币匿名(CryptoNote中的一次性地址)。
安全多方计算起源于1982年姚期智的百万富翁问题。后来Oded Goldreich有比较细致系统的论述。
姚氏百万富翁问题是由华裔计算机科学家、图灵奖获得者姚启智教授首先提出的。该问题表述为:两个百万富翁Alice和Bob想知道他们两个谁更富有,但他们都不想让对方知道自己财富的任何信息。该问题有一些实际应用:假设Alice希望向Bob购买一些商品,但她愿意支付的最高金额为x元;Bob希望的最低卖出价为y元。Alice和Bob都非常希望知道x与y哪个大。如果x>y,他们都可以开始讨价还价;如果z<y,他们就不用浪费口舌。但他们都不想告诉对方自己的出价,以免自己在讨价还价中处于不利地位。
该方案用于对两个数进行比较,以确定哪一个较大。Alice知道一个整数i;Bob知道一个整数j, Alice与B0b希望知道究竟i>=j还是j>i,但都不想让对方知道自己的数。为简单起见,假设j与i的范围为[1,100】。Bob有一个公开密钥Eb和私有密钥Db。
安全多方计算(Secure Multi-Party Computation)的研究主要是针对无可信第三方的情况下, 如何安全地计算一个约定函数的问题. 安全多方计算在电子选举、电子投票、电子拍卖、秘密共享、门限签名等场景中有着重要的作用。
同态加密(Homomorphic Encryption)是很久以前密码学界就提出来的一个Open Problem。早在1978年,Ron Rivest, Leonard Adleman, 以及Michael L. Dertouzos就以银行为应用背景提出了这个概念[RAD78]。对,你没有看错,Ron Rivest和Leonard Adleman分别就是着名的RSA算法中的R和A。
什么是同态加密?提出第一个构造出全同态加密(Fully Homomorphic Encryption)[Gen09]的Craig Gentry给出的直观定义最好:A way to delegate processing of your data, without giving away access to it.
这是什么意思呢?一般的加密方案关注的都是数据存储安全。即,我要给其他人发个加密的东西,或者要在计算机或者其他服务器上存一个东西,我要对数据进行加密后在发送或者存储。没有密钥的用户,不可能从加密结果中得到有关原始数据的任何信息。只有拥有密钥的用户才能够正确解密,得到原始的内容。我们注意到,这个过程中用户是不能对加密结果做任何操作的,只能进行存储、传输。对加密结果做任何操作,都将会导致错误的解密,甚至解密失败。
同态加密方案最有趣的地方在于,其关注的是数据处理安全。同态加密提供了一种对加密数据进行处理的功能。也就是说,其他人可以对加密数据进行处理,但是处理过程不会泄露任何原始内容。同时,拥有密钥的用户对处理过的数据进行解密后,得到的正好是处理后的结果。
有点抽象?我们举个实际生活中的例子。有个叫Alice的用户买到了一大块金子,她想让工人把这块金子打造成一个项链。但是工人在打造的过程中有可能会偷金子啊,毕竟就是一克金子也值很多钱的说… 因此能不能有一种方法,让工人可以对金块进行加工(delegate processing of your data),但是不能得到任何金子(without giving away access to it)?当然有办法啦,Alice可以这么做:Alice将金子锁在一个密闭的盒子里面,这个盒子安装了一个手套。工人可以带着这个手套,对盒子内部的金子进行处理。但是盒子是锁着的,所以工人不仅拿不到金块,连处理过程中掉下的任何金子都拿不到。加工完成后。Alice拿回这个盒子,把锁打开,就得到了金子。
这里面的对应关系是:盒子:加密算法盒子上的锁:用户密钥将金块放在盒子里面并且用锁锁上:将数据用同态加密方案进行加密加工:应用同态特性,在无法取得数据的条件下直接对加密结果进行处理开锁:对结果进行解密,直接得到处理后的结果同态加密哪里能用?这几年不是提了个云计算的概念嘛。同态加密几乎就是为云计算而量身打造的!我们考虑下面的情景:一个用户想要处理一个数据,但是他的计算机计算能力较弱。这个用户可以使用云计算的概念,让云来帮助他进行处理而得到结果。但是如果直接将数据交给云,无法保证安全性啊!于是,他可以使用同态加密,然后让云来对加密数据进行直接处理,并将处理结果返回给他。这样一来:用户向云服务商付款,得到了处理的结果;云服务商挣到了费用,并在不知道用户数据的前提下正确处理了数据;
聚合签名由Boneh等人提出,主要是通过聚合多个签名为一个签名,来提高签名与验证的效率。要对多个用户的数据进行签名,聚合签名能够极大地降低签名计算复杂度。CL就是聚合签名。
零知识证明过程有两个参与方,一方叫证明者,一方叫验证者。证明者掌握着某个秘密,他想让验证者相信他掌握着秘密,但是又不想泄漏这个秘密给验证者。
双方按照一个协议,通过一系列交互,最终验证者会得出一个明确的结论,证明者是或不掌握这个秘密。
对于比特币的例子,一笔转帐交易合法与否,其实只要证明三件事:
发送的钱属于发送交易的人
发送者发送的金额等于接收者收到金额
发送者的钱确实被销毁了
整个证明过程中,矿工其实并不关心具体花掉了多少钱,发送者具体是谁,接受者具体是谁。矿工只关心系统的钱是不是守恒的。
zcash 就是用这个思路实现了隐私交易。
零知识证明的三条性质对应:
(1)完备性。如果证明方和验证方都是诚实的,并遵循证明过程的每一步,进行正确的计算,那么这个证明一定是成功的,验证方一定能够接受证明方。
(2)合理性。没有人能够假冒证明方,使这个证明成功。
(3)零知识性。证明过程执行完之后,验证方只获得了“证明方拥有这个知识”这条信息,而没有获得关于这个知识本身的任何一点信息。
只有环成员,没有管理者,不需要环成员之间的合作,签名者利用自己的私钥和集合中其他成员的公钥就能独立的进行签名,不需要其他人的帮助,集合中的其他成员可能不知道自己被包含在了其中。
环签名可以被用作成一种泄露秘密的方式,例如,可以使用环形签名来提供来自“白宫高级官员”的匿名签名,而不会透露哪个官员签署了该消息。 环签名适用于此应用程序,因为环签名的匿名性不能被撤销,并且因为用于环签名的组可以被即兴创建。
1)密钥生成。为环中每个成员产生一个密钥对(公钥PKi,私钥SKi)
2)签名。签名者用自己的私钥和任意n个环成员的公钥为消息m生成签名a
3)签名验证。签名者根据环签名和消息m,验证签名是否是环中成员所签。如果有效就接收,如果无效就丢弃。
群签名的一般流程
盲数字签名(Blind Signature)简称盲签名——是一种数字签名的方式,在消息内容被签名之前,对于签名者来说消息内容是不可见的。1982年大卫·乔姆首先提出了盲签名的概念。盲签名因为具有盲性这一特点,可以有效保护所签署消息的具体内容,所以在电子商务和电子选举等领域有着广泛的应用。
类比例子:对文件签名就是通过在信封里放一张复写纸,签名者在信封上签名时,他的签名便透过复写纸签到文件上。
所谓盲签名,就是先将隐蔽的文件放进信封里,而除去盲因子的过程就是打开这个信封,当文件在一个信封中时,任何人不能读它。对文件签名就是通过在信封里放一张复写纸,签名者在信封上签名时,他的签名便透过复写纸签到文件上。
一般来说,一个好的盲签名应该具有以下的性质:
不可伪造性。除了签名者本人外,任何人都不能以他的名义生成有效的盲签名。这是一条最基本的性质。
不可抵赖性。签名者一旦签署了某个消息,他无法否认自己对消息的签名。
盲性。签名者虽然对某个消息进行了签名,但他不可能得到消息的具体内容。
不可跟踪性。一旦消息的签名公开后,签名者不能确定自己何时签署的这条消息。
满足上面几条性质的盲签名,被认为是安全的。这四条性质既是我们设计盲签名所应遵循的标准,又是我们判断盲签名性能优劣的根据。
另外,方案的可操作性和实现的效率也是我们设计盲签名时必须考虑的重要
因素。一个盲签名的可操作性和实现速度取决于以下几个方面:
1,密钥的长度;
2,盲签名的长度;
3,盲签名的算法和验证算法。
盲签名具体步骤
1,接收者首先将待签数据进行盲变换,把变换后的盲数据发给签名者。
2,经签名者签名后再发给接收者。
3,接收者对签名再作去盲变换,得出的便是签名者对原数据的盲签名。
4,这样便满足了条件①。要满足条件②,必须使签名者事后看到盲签名时不能与盲数据联系起来,这通常是依靠某种协议来实现的。
⑥ SEAL,使用的对称加密技术是
同态加密。对称密钥加密方案使用相同的密钥进行加密和解密,故对称加密方案允许任何知道公钥的人对数据进行加密,而同态加密就允许多人共同加密,故同态加密是SEAL加密的首选技术。
⑦ 同态加密的实现原理是什么在实际中有何应用
同态加密是一种加密形式,它允许人们对密文进行特定的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样。换言之,这项技术令人们可以在加密的数据中进行诸如检索、比较等操作,得出正确的结果,而在整个处理过程中无需对数据进行解密。其意义在于,真正从根本上解决将数据及其操作委托给第三方时的保密问题,例如对于各种云计算的应用。
这一直是密码学领域的一个重要课题,以往人们只找到一些部分实现这种操作的方法。而2009年9月克雷格·金特里(Craig Gentry)的论文 从数学上提出了“全同态加密”的可行方法,即可以在不解密的条件下对加密数据进行任何可以在明文上进行的运算,使这项技术取得了决定性的突破。人们正在此基础上研究更完善的实用技术,这对信息技术产业具有重大价值。
⑧ 同态加密简介
同态加密是数据加密方式的一种,特点是允许数据在加密情况下实现数学或逻辑运算。
同态加密通常为非对称性加密。因此在介绍同态加密之前,简单介绍一下非对称性加密。非对称性加密分为三个步骤:
1. 生成一对钥匙,一个公钥pub和一个密钥priv;
2. 使用公钥pub加密原始数据,得到加密数据,公式:pub(原始数据)= 加密数据 ;
3. 使用密钥priv解密加密数据,得到原始数据,公式:priv( 加密数据 )= 原始数据 ;
同态加密允许对 加密数据 进行处理,得到的解密结果等价于在原始数据下做运算。以联邦学习用到的Paillier算法举例,假设我有两个数 和 ,我希望把它们扔给第三方做加法运算,即 + 。同时不希望第三方知道 、 及它们之和的具体值,同态加密可以派上用场,具体步骤如下:
1. (本地)生成一对钥匙,公钥pub和密钥priv,公钥用于加密,密钥用于解密;
2. (本地)使用公钥pub分别加密 和 ,得到 ( )和 ( );
3. (第三方)使用 函数处理 和 ,即 ;
4. (本地)使用密钥priv解密 ,即 ;
4中 = + 。第三方通过上述步骤3实现了 和 在加密状态下做加法的操作。
为了更直观认识上述步骤,假设 =100, =200,步骤就变成:
1. (本地)生成一对钥匙,公钥pub和密钥priv,公钥用于加密,密钥用于解密;
2. (本地)使用公钥pub分别加密 和 ,得到 =1234, =4321 (举例);
3.(第三方) 使用 函数处理 和 ,即 =12345678;
4. (本地)使用解密priv解密 ,得到 = 300。
第三方在不知道 =100和 =200,但是通过 函数依然可以在加密情况下实现相加运算。
⑨ 信息安全安全前沿技术有哪些
信息安全基本上都是都是攻与防的对抗,正是这种对抗促使了信息安全的发展,因此攻也属于信息安全非常重要的一块。因而前沿的东西都在攻防这一块儿,这也是为什么各大安全公司都有攻防实验室的原因。由于种种原因,攻击技术远远超前于防护技术,最近几年流行的威胁情报也是为了解决如何更快的发现攻击并做情报共享,堵住同类型攻击。
把信息安全划分为北向和南向,北向偏理论,务虚;南向偏技术,务实。当然本人属于南向。
北向前沿:机器学习和深度学习在信息安全中的运用,威胁情报的识别,大数据和云技术在信息安全领域的运用等。
南向前沿:关注blackhat吧,目前都在研究智能硬件设备的安全,物联网安全,智能家居安全,车联网安全,工控安全等等。这些领域目前还都处于攻击技术领先的状态。
至于代表人物,没有,谁敢来代表一个方向的前沿,有也是吹牛瞎忽悠的人。