A. 如何数字简单加密
比如多少乘多少除多少,这个就简单啊,不就是反过来就可以了么。怎么还不会哦。
B. 科普:国产密码算法
密码学(cryptography): 通过将信息编码使其不可读,从而达到安全性。
算法 :取一个输入文本,产生一个输出文本。
加密算法 :发送方进行加密的算法。
解密算法 :接收方进行解密的算法。
对称密钥加密 (Symmetric Key Cryptography):加密与解密使用相同密钥。
非对称密钥加密 (Asymmetric Key Cryptography):加密与解密使用不同密钥。
密钥对 :在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。
公钥 :公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。
私钥 :如上,用来解密公钥加密的数据。
摘要 :对需要传输的文本,做一个HASH计算。
签名 :使用私钥对需要传输的文本的摘要进行加密,得到的密文即被称为该次传输过程的签名。
密码协议是指两个或两个以上的参与者为了达到某种特定目的而采取的一系列步骤。规定了一系列有序执行的步骤,必须依次执行。必须有两个或两个以上的参与者,有明确的目的。参与者都必须了解、同意并遵循这些步骤。
常见的密码协议包括IPSEC VPN 协议、SSL VPN 协议、密钥交换协议等。
密码是指描述密码处理过程的一组运算规则或规程,一般是指基于复杂数学问题设计的一组运算,其基本原理基于数学难题、可证明计算、计算复杂度等。主要包括:对称密码、公钥密码、杂凑算法、随机数生成。
在对称加密算法中,加密使用的密钥和解密使用的密钥是相同的,加密和解密都是使用同一个密钥,不区分公钥和私钥。
通信双方采用相同的密钥来加解密会话内容,即一段待加密内容,经过同一个密钥的两次对称加密后,与原来的结果一样,具有加解密速度快和安全强度高的优点。
国际算法:DES、AES。
国产算法:SM1、SM4、SM7。
非对称加解密算法又称为 公钥密码 ,其密钥是成对出现的。双方通信时,首先要将密钥对中的一个密钥传给对方,这个密钥可以在不安全的信道中传输;传输数据时,先使用自己持有的密钥做加密,对方用自己传输过去的密钥解密。
国际算法:RSA
国产算法:SM2
优点:
密钥分发数目与参与者数目相同,在有大量参与者的情况下易于密钥管理。
支持数字签名和不可否认性。
无需事先与对方建立关系,交换密钥。
缺点:
速度相对较慢。
可能比同等强度的对称密码算法慢10倍到100倍。
加密后,密文变长。
密码杂凑算法 :又称为散列算法或哈希函数,一种单向函数,要由散列函数输出的结果,回推输入的资料是什么,是非常困难的。
散列函数的输出结果,被称为讯息摘要(message digest)或是 摘要(digest) ,也被称为 数字指纹 。
杂凑函数用于验证消息的完整性, 在数字签名中,非对称算法对数据签名的速度较慢,一般会先将消息进行杂凑运算,生成较短的固定长度的摘要值。然后对摘要值进行签名,会大大提高计算效率 。
国际算法:MD5、SHA1、SHA2、SHA3
国产算法:SM3
2009年国家密码管理局发布的《信息安全等级保护商用密码技术实施要求》中明确规定,一、二、三、四级信息系统应使用商用密码技术来实施等级保护的基本要求和应用要求,一到四级的密码配用策略要求采用国家密码管理部门批准使用的算法。
2010年年底,国家密码管理局公开了SM2、SM3等国产密码算法。
2011年2月28日,国家密码管理局印发的【2011】145号文中明确指出,1024位RSA算法正在面临日益严重的安全威胁,并要求各相关企业在2012年6月30日前必须使用SM2密码算法
国家密码管理局在《关于做好公钥密码算法升级工作的函》中要求2011年7月1日以后建立并使用公钥密码的信息系统,应使用SM2算法;已经建设完成的系统,应尽快进行系统升级,使用SM2算法。
2014年底,国家密码管理局启动《重要信息系统密码应用推进总体研究课题》,确定十三五密码 科技 专项。
2017年11月底,国家密码管理局下发了《政务云密码支撑方案及应用方案设计要点》。
2017年国家密码管理局发布了42项金融和重要领域国产密码应用试点任务。
2018年,中共中央办公厅、国务院办公厅印发《金融和重要领域密码应用与创新发展工作规划(2018-2022年)。
2018年,为指导当时即将启动的商用密码应用安全性评估试点工作,国家密码管理局发布了密码行业标准GM/T0054-2018《信息系统密码应用 基本要求》。
2021年3月,国家市场监管总局、国家标准化管理委员会发布公告,正式发布国家标准GB/T39786-2021《信息安全技术信息系统密码应用基本要求》,该标准于2021年10月1日起实施。
SM1 算法是分组密码算法,分组长度为 128 位,密钥长度都为 128 比特,算法安全保密强度及相关软硬件实现性能与AES相当,算法不公开,仅以IP核的形式存在于芯片中。
算法集成于加密芯片、智能 IC 卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括政务通、警务通等重要领域)。
SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,是一种基于ECC算法的 非对称密钥算法, 其加密强度为256位,其安全性与目前使用的RSA1024相比具有明显的优势。
包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现 数字签名密钥协商 和 数据加密 等功能。
SM3杂凑算法是我国自主设计的密码杂凑算法,属于哈希(摘要)算法的一种,杂凑值为256位,安全性要远高于MD5算法和SHA-1算法。
适用于商用密码应用中的 数字签名 和 验证消息认证码的生成与验证 以及 随机数 的生成,可满足多种密码应用的安全需求。
SM4 分组密码算法 是我国自主设计的分组对称密码算法,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上高于3DES算法。
用于实现数据的加密/解密运算,以保证数据和信息的机密性。软件和硬件加密卡均可实现此算法。
商用密码技术框架包括 密码资源、密码支撑、密码服务、密码应用 等四个层次,以及提供管理服务的密码管理基础设施。
密码资源层: 主要是提供基础性的密码算法资源。
密码支撑层: 主要提供密码资源调用,由安全芯片、密码模块、智能IC卡、密码卡、服务器密码机、签名验签服务器、IPSCE/SSL VPN 等商密产品组成。
密码服务层: 提供密码应用接口,分为对称和公钥密码服务以及其他三大类。
密码应用层: 调用密码服务层提供的密码应用程序接口,实现数据的加解密、数字签名验签等服务。如应用 于 安全邮件、电子印章系统、安全公文传输、移动办公平台、可信时间戳等系统。
密码管理基础设施: 独立组件,为以上四层提供运维管理、信任管理、设备管理、密钥管理等功能。
完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统(KMC)、证书作废系统(CRL)、应用接口(API)等基本构成部分,构建PKI也将围绕着这五大系统来着手构建。
CA 系统:Ca系统整个PKI的核心,负责证书的签发。CA首先产生自身的私钥和公钥(密钥长度至少为1024位),然后生成数字证书,并且将数字证书传输给安全服务器。、CA还负责为操作员、安全服务器以及注册机构服务器生成数字证书。安全服务器的数字证书和私钥也需要传输给安全服务器。
CA服务器是整个结构中最为重要的部分,存有CA的私钥以及发行证书的脚本文件,出于安全的考虑,应将CA服务器与其他服务器隔离,任何通信采用人工干预的方式,确保认证中心的安全。
(1)甲使用乙的公钥对明文进行加密,生成密文信息。
(2)甲使用HASH算法对明文进行HASH运算,生成数字指纹。
(3)甲使用自己的私钥对数字指纹进行加密,生成数字签名。
(4)甲将密文信息和数字签名一起发送给乙。
(5)乙使用甲的公钥对数字签名进行解密,得到数字指纹。
(6)乙接收到甲的加密信息后,使用自己的私钥对密文信息进行解密,得到最初的明文。
(7)乙使用HASH算法对还原出的明文用与甲所使用的相同HASH算法进行HASH运算,生成数字指纹。然后乙将生成的数字指纹与从甲得到的数字指纹进行比较,如果一致,乙接受明文;如果不一致,乙丢弃明文。
SSL 协议建立在可靠的传输协议(如 TCP)之上,为高层协议提供数据封装,压缩,加密等基本功能。
即可以协商加密算法实现加密传输,防止数据防窃听和修改,还可以实现对端设备身份验证、在这个过程中,使用国密算法进行加密、签名证书进行身份验证、加密证书用于密钥交换
SSL协商过程:
(1)客户端发出会话请求。
(2)服务端发送X.509证书(包含服务端的公钥)。
(3)客户端用已知Ca列表认证证书。
(4)客户端生成随机对称密钥,并利用服务端的公钥进行加密。
(5)双方协商完毕对称密钥,随后用其加密会话期间的用户最终数据。
利用SSL卸载技术及负载均衡机制,在保障通讯数据安全传输的同时,减少后台应用服务器的性能消耗,并实现服务器集群的冗余高可用,大幅度提升整个业务应用系统的安全性和稳定性。此外,借助多重性能优化技术更可缩短了业务访问的响应等待时间,明显提升用户的业务体验。
基于 数字证书 实现终端身份认证,给予密码运算实现本地数据的加密存储,数字证书硬件存储和密码运算由移动终端内置的密码部件提供。
移动应用管理系统服务器采用签名证书对移动应用软件安装包进行签名,移动应用管理系统客户端对签名信息进行验签,保障移动应用软件安装包的真实性和完整性。
移动办公应用系统采用签名证书对关键访问请求进行签名验证。
采用加密证书对关键传输数据和业务操作指令,以及移动终端本地存储的重要数据进行加密保护。
移动办公系统使用商用密码,基于数字证书认证系统,构建覆盖移动终端、网络、移动政务应用的安全保障体系,实现政务移动终端安全、接入安全、传输安全和移动应用安全 。
C. 区块链与隐私计算的结合是必然趋势吗
区块链与隐私计算的结合是必然趋势吗?
我们目前对这个问题的思考框架是:如果不与隐私计算技术结合,区块链技术的应用是 否受到限制、无法向前发展;如果不与区块链技术结合,隐私计算技术是否受到限制、无法 向前发展。如果二者对彼此都是刚需,那么它们相结合的趋势就是必然。
以下为我们对这个问题的思考:
1、隐私计算技术的应用是否区块链技术的刚需
区块链技术有巨大的优势,但是如果没有隐私计算技术,区块链技术的应用会大大受到 限制,因为无法解决链上数据的隐私保护问题,这使得大量涉及敏感数据的场景不愿应用区 块链技术,比如金融和医疗领域。
(1)区块链技术的局限性
第一,链上数据公开透明,数据的合规处理和隐私保护能力不足 区块链作为分布式账本系统,数据的公开透明尽管有利于存证、防篡改,但也存在数据 可轻易被复制、泄漏个人隐私的风险。区块链在公有链上要求不同节点对交易和交易状态进 行验证、维护辩陆,形成共识,因此每个参与者都能拥有完整的数据备份,所有的交易数据公开 透明。如果知道某个参与者的账户,就很容易获取其每一笔交易记录,从而据此推断其 社会 身份、财产状况等。以消费场景为例,平台之间存在竞争壁垒,用户也希望保留消费隐私, 因此区块链缺乏对用户流水、物流信息、营销情况等与企业、个人隐私相关的数据缺乏保护 能力,往往导致数据拥有方不愿意让数据进入流通环节。在链上系统的交易不再受中心账本的控制,用户通过使用唯一的私钥进行交易,交易过 程被加密且加密前数据很难还原,仅以私钥作为交易凭证使得区块链内的交易变得更加匿名 和不可控。在分布式账本系统上,所有的转账以地址形式进行,一但发生了诈骗或者洗钱等 金融犯罪,即便可以公开查询地址,但对资金追踪的难度极大,且私钥作为交易凭证很难证 明使用者的身份,因此许多企业、个人通过区块链进行洗钱等违法交易,不利于数据的合规 处理和合法共享。
第二,数据处理能力不足,制约技术的进一步落地和商业化拓展 链上计算受限于网络共识的性能,使得链上交易难以具备实时性和高效率,区块链智能 合约的计算能力需要扩展。以最大的加密支付系统比特币为例,每秒钟只能够处理大约 3 到 7 笔交易5 ,且当前产生的交易的有效性受网络传输影响,往往需要等待 10 分钟左右的记账周 期才能让网络上的节点共同知道交易内容。此外,如果链上有两个及以上节点同时竞争到记账权力,则还需要等待下一个记账周期才能确认交易的准确性,最终由区块最长、记账内容 最多的链来完成确认。
完全去早灶卜中心化的系统与现实中大部分现有体系的兼容性不足,缺乏链上链下协同、多业 务发展的系统和功能,制约区块链技术的进一步落地。在区块链的技术落地过程中,首先, 各行业本身具有成熟的体系,区块链完全去中心化的形式不一定适合所有的领域和行业;其 次,区块链的陆穗平台设计和实际运行成本巨大,其所具备的低效率和延迟性的交易缺陷非常明 显,是否能够弥补原系统更换的损失需要经过一定的精算和比较;此外,使用区块链存储数 据需要对原有数据格式进行整理,涉及到政务、司法领域的敏感数据,更需要建立链接线上 和线下数据的可信通道防止数据录入有误,这带来了较高的人力、物力成本。
(2)隐私计算技术对区块链技术的帮助
隐私计算技术保障数据从产生、感知、发布、传播到存储、处理、使用、销毁等全生命 周期过程中的隐私性,弥补区块链技术的隐私保护能力,实现数据的“可用不可见”。通过 引入隐私计算技术,用户的收支信息、住址信息等个人数均以密文的形式呈现,在平台进行 数据共享的过程中,既能防止数据泄露,又能够保障用户个人隐私的安全,有利于进一步打 破数据孤岛效应,推动更大范围内的多方数据协作。隐私计算技术可与区块链技术形成技术组合,提升数据处理能力、扩大可应用范围。隐 私计算技术通过对数据进行规范化处理,能够提升数据处理、数据共享的效率,提升区块链 的数据处理能力。此外,隐私计算技术+区块链技术的技术组合能够应用于缺乏中心化系统、 但又对敏感数据分享有强烈需求的合作领域,扩展区块链技术的应用场景。
区块链技术的应用是否隐私计算技术的刚需
(1)隐私计算技术的局限性
第一,数据共享缺乏安全检验,制约数据流通的可信性
数据共享的整个流程涉及到采集、传输、存储、分析、发布、分账等多个流程,隐私计 算主要是解决全流程的数据“可用不可见”的问题,但是难以保证数据来源可信和计算过程 可信。
从数据来源可信的角度来说,在数据采集的环节,数据内容本身可能不完整,数据的录 入可能会存在失误;在数据传输的环节,数据的传输可能会被其他的客户端攻击,导致数据 在传输的过程中泄漏;在数据的储存环节,储存数据的角色方有可能会篡改数据或者将数据 复制转卖到黑市,这些都不会被隐私计算技术记录。如果无法保证数据共享各方的身份得到 “可信验证”,就有可能导致数据的隐私“名不副实”。从计算过程可信的角度来说,在数 据分析和发布的环节,数据的共享方有可能私自篡改数据的运行结果和发布内容,对最终数 据处理的结果进行造假。因此,一旦信息经过验证并添加到隐私计算的环境中,很难发现数 据是否被篡改、被泄漏,很难防止不同时间点不同节点的数据造假的情况,在涉及到金融、政务、医疗、慈善等关键领域里,如果数据有误则产生的一系列法律问题则难以追究。
第二,业务水平整体层次不齐,制约技术平台的扩展
当前,隐私计算的技术实现路径主要分为三种:多方安全计算、联邦学习、TEE 可信执行 环境。三种技术路径存在各自的应用缺陷和问题,由于行业内不同公司对于技术的掌握能力 和研发能力有限,导致技术平台的实际应用范围有限,可扩展能力不足。
多方安全计算尽管具有复杂高标准的密码学知识,但其计算性能在实际应用的过程中存 在效率低的缺陷。随着应用规模的扩大,采用合适的计算方案保证运算时延与参与方数量呈 现线性变化是目前各技术厂商面临的一大挑战。多方安全计算虽然能保证多方在数据融合计 算时候的隐私安全,但是在数据的访问、控制、传输等环节,仍然需要匹配其他的技术手段 防止数据泄露、篡改。
联邦学习技术目前在业内的应用通常以第三方平台为基础模型,在基础模型之上进行隐 私计算,这样的基础模型本身存在被开发者植入病毒的隐患。此外,联邦学习的机制默认所 有的参与方都是可信方,无法规避某个参与方恶意提供虚假数据甚至病害数据,从而对最终 的训练模型造成不可逆转的危害。由于联邦学习需要各个参与式节点进行计算,因此节点的 计算能力、网络连接状态都将限制联邦学习的通信效率。
TEE 可信执行环境在国内目前核心硬件技术掌握在英特尔、高通、ARM 等少数外国核心供 应商中,如果在关键领域从国外购买,则存在非常高的安全风险和应用风险。第三,数据共享缺乏确权机制,制约数据流通的应用性 隐私计算通过使用多方数据共同计算、产生成果,然而在实际合作的过程中,由于各个 数据共享方业务水平不同、数据质量不一导致在数据处理的每一个环节难以实现合理的确权。
按照常规的利益分配机制,拥有高质量数据、高成果贡献率的数据拥有方理应从中获取更多 的利润,但是隐私计算仅考虑到数据的“可用不可见”,数据共享方难以从最终结果来判断 谁的数据对于成果的贡献最大,造成利益分配的不公平。如果缺乏合理的成果贡献评估机制和利益分配机制,就会难以激励数据所有者和其他数 据持有者进行合作。尤其是在不信任的多方合作的场景下,会更加增加合作的信任成本,使 得多方协作难以达成,制约数据流通的实际应用性。
(2)区块链技术对隐私计算技术的帮助
区块链技术通过数据流通的所有环节、所有参与者进行记录,实现数据共享流程中的权 责分明,提升了数据流通的可信性。在数据传输的环节,区块链记录数据的提供者,确认数 据提供方身份的真实性和有效性,有利于数据确权,为公平可行的利益分配机制提供参考;在数据储存的环节,区块链保证数据的每一次修改都有迹可循,防止数据的恶意篡改。区块 链技术可作为隐私计算技术的底层平台,保证了加密数据本身的真实有效性,提升了隐私计 算平台里数据流通的可信性,拓展隐私计算技术的应用范围。
3. 结论
隐私计算技术和区块链技术的融合是必然的趋势。对于数据资产的流转来讲,没有隐私 计算,不能解决数据本身的安全和隐私保护问题;没有区块链,不能解决数据的确权问题以 及在更大范围内的数据网络协作问题。将区块链和隐私计算二者结合起来,建设大规模数据 流通网络,在目前的实践中成为有所共识的 探索 方向。
区块链与隐私计算的结合会改变什么?
1、形成大规模数据流通网络和数据要素市场
当前,数据流通存在三方面问题:数据拥有方的数据保护和数据确权难以实现;不同来 源数据的整合处理成本过高、缺乏统一标准;数据利益的分配机制不完善。
如前文所述,区块链和隐私计算技术相结合,可以一方面解决隐私保护问题,一方面解 决数据确权和多方协作问题,从而建立大规模的数据流通网络。
在大规模数据流通网络建立的基础上,真正意义上的数据要素市场才能够形成,数据作 为生产要素的价值才能够被充分发掘出来。
2、推动数据资产化的发展
所谓资产,是指由企业过去的交易或事项形成的,由企业拥有或者控制的,预期会给企 业带来经济利益的资源。
数据的资产化就是让数据在市场上发现价值,能够为企业创造新的经济益。
大规模数据流通网络和数据要素市场的形成,将大大推动数据价值的发现、数据资产化 的发展。
从企业一侧来看,企业的生产经营活动当中沉淀下来的数据会成为宝贵的资产。一方面, 对这些数据的分析和运用,将推动企业改善自身的业务;另一方面,与外部机构进行数据的 共享,能够推动数据发挥出更大的价值,企业自身也将从中获取更多收益。这会反过来进一 步推动企业的数字化转型和对数据资产的管理。未来,对数据资产的盘点可能成为企业在资 产负债表、现金流量表、利润表之外的“第四张表”。
数据资产化的发展,也会推动围绕数据价值挖掘形成全新的服务体系。其中包括数据确 权、定价、交易等各个环节。上海 社会 科学院信息研究所副所长丁波涛将未来数据资产服务体系中的机构分成四类:
第一类提供中介服务,包括数据经纪人,还有数据代理。
第二类提供数据评估,由于数据市场信息不对称或信息混乱,需要提供合规评估、数据 质量和数据价格的评估。
第三类提供价格咨询,如提供法律、经济咨询或者是上市辅导等的咨询服务企业。
第四类提供专业技术服务,包括数据开发、数据处理服务、数据交付服等。数据资产化的发展,带来的将是人们认知的提升、生产效率的提高、生产要素的重组、 创新的产生、经济的发展以及全 社会 整体福利的提升。
3、对现有业态的改变
区块链与隐私计算的结合,将提升企业和个人分享数据、利用数据的积极性,进一步推 动打破“数据孤岛”。其对现有业态的改变主要体现在以下几个层面:
第一,这将带来新的数据和 科技 变革。
首先,这将推动数据密态时代的到来。数据密态时代的核心,是数据流通使用方式的巨 大改变,数据将以密态形式在主体间流动和计算,显着降低数据泄露的风险,并在合规前提 下支撑各种形态业务的发展。此前,数据被加密之后只能用来传输或者存储,但是未来数据 在加密状态下可以被计算。这将带来一系列新的问题和挑战,引发许多相关技术领域的连锁 反应。
其二,这将重塑大数据产业。随着数据流通的安全化,以往较为敏感的数据领域逐渐开 放。以政务数据为例,隐私计算使联合政务、企业、银行等多方数据建模和分析成为可能, 进一步释放数据应用价值,创造了多样化的应用机遇。
其三,人工智能产业将获得新一轮的发展。数据、算法和算力是人工智能发展的三要素。近几年来,由于缺乏可用的数据,人工智能的发展遭遇瓶颈。未来,5G 和物联网的发展将使 得万物互联,数据量大幅增长。区块链+隐私计算技术的应用,可以使得人工智能利用海量数 据优化模型,真正迈向“智能化”。其四,这将为区块链产业的发展带来新的机遇。区块链与隐私计算相结合,将拓展联盟 链的节点数量,从而进一步扩大可协同利用的数据资源的范围。
第二,在 科技 变革的基础之上,区块链与隐私计算相结合,将给许多传统产业带来变革。
在政务领域,一方面,可以实现政府不同部门之间的互联互通及数据共享,从而促进政 府不同部门的协同,提高政府的效率以及决策质量,推动智慧城市的建设;另一方面,可以 促进政务数据与民间数据的双向开放。政务数据向 社会 开放,可以为企业或学界所用,释放 更多价值。民间的数据源向政府开放,可以提高政府在决策以及政务流程等方面的效率。
在金融领域,支付、征信、信贷、证券资管等各个领域都会因之发生变化。总体来看, 主要是影响到金融的风控和营销两个方面。区块链与隐私计算技术的结合,可以在符合法律 规定、不泄露各方原始数据的前提下,扩大数据来源,包括利用金融体系外部的互联网数据, 实现多方数据共享,联合建模,从而有效识别信用等级、降低多头信贷、欺诈等风险,也有 助于信贷及保险等金融产品的精准定价;同样,内外部多方数据的共享融合也有助于提高金融机构的反洗钱甄别能力。
在医疗领域,未来在疾病治疗、药物研究、医疗保险等多个领域,区块链与隐私计算都 能助推医疗信息化建设,带来巨大变革。在疾病治疗和药物研究方面,区块链与隐私计算结 合,能够促进更多的医疗数据被联合起来进行分析和研究,从而为许多疾病的治疗带来新的 突破。在医疗保险方面,区块链与隐私计算技术结合,主要是可以使得保险公司可以应用到 更多的数据,改善保险产品的设计、定价、营销,甚至可以促进保险公司对客户的 健康 管理 等。
区块链与隐私计算技术相结合,目前应用的重点领域是政务、金融、医疗领域,但是未来其应用将不仅仅局限于这三个领域,还将在更多领域发挥作用。
第三,数据权利、利益将重新分配。
这可能是区块链与隐私计算技术相结合所带来的最为核心,也是最为深刻的,与每一个人 的切身利益都息息相关的变革。
首先,这涉及到每个产业链不同环节利益的重新分配。
前述在广告营销领域的应用落地为例,此前广告营销的利益分配主要是在广告主与渠 道商之间。但是,未来应用区块链和隐私计算技术,可以在更大范围内进行数据协作,则要 解决广告主、多个渠道方、消费者之间多方数据协作的问题,这其中就涉及到多方之间权责 的划分、利益的重新分配。
其次,这还涉及到企业与个人之间利益的重新分配。
欧盟的 GDPR,美国的 CCPA 等法案中涉及用户的一项重要权益即“portability,(可携 带权)”。即第三方应用不能封锁个人数据,一旦个人有下载的诉求,APP 需要提供便利的 API 利于个人拷贝数据。美国公司已陆续为用户提供 API,如果在这方面功能缺失,个人客户 可以提出诉讼,而公司也将面临巨额的罚款。在中国的《个人信息保护法》当中,也有相关的条款。《个人信息保护法》第四十五条规 定,“个人有权向个人信息处理者查阅、复制其个人信息”、“个人请求查阅、复制其个人信息 的,个人信息处理者应当及时提供。个人请求将个人信息转移至其指定的个人信息处理者, 符合国家网信部门规定条件的,个人信息处理者应当提供转移的途径。”
目前,中国公司的区块链+隐私计算 探索 主要集中在 To B 服务领域,但是区块链是全球 化的商业,如果美国已经出现这样的模式,中国大概率不会完全不受影响。伴随着消费级软硬件技术能力的提升,区块链与隐私计算技术结合,会逐步对个人与机构 之间的数据服务进行变革。对于个人用户而言,将有机会获得自身隐私数据的完全掌控权, 并为数据业务过程中所涉及的数据隐私需求获得更强的技术性保障。目前关于 To C 服务的相关问题,国内业界还在探讨当中。
为什么区块链+隐私计算的应用尚未大规模普及?
第一,区块链+隐私计算的落地应用,主要是在涉及需要多方数据协作的情况,目前实际需求尚未爆发。
从隐私计算技术发展的角度来看,目前隐私计算尚在落地初期,解决的主要是两方之间 的数据协作问题,涉及到多方的场景还不多,因此很多时候还没有体会到对区块链+隐私计算 应用的需要。
从区块链技术发展的角度来看,区块链技术在许多领域的应用目前并非刚需。不少问题 可以应用区块链解决,但是不用区块链技术也能解决,而应用区块链技术解决的成本更高。因此,目前区块链项目的建设主要是政务部门和大型企业较为积极,因为政府和大型企业从 长远发展的角度来考虑,可以做前瞻性的投资建设和技术布局,但是大多数商业机构需要衡 量投入与产出。
区块链技术与隐私计算技术结合,主要是用于处理数据协作问题。从数据治理的角度来 看,目前大多数机构都在处理自身内部的数据治理问题,内部的数据体系梳理好之后,才涉 及到与外部进行数据协作,因此还需要时间。
第二,区块链+隐私计算的落地应用较为复杂,涉及到新商业模式的创造、权责以及利益 的重新分配,因此需要的时间更长。
以在广告营销领域的应用落地为例,目前的大多数应用 都只是落地了隐私计算平台,主要涉及两方数据协作,直接应用隐私计算技术,延续此前商 业应用即可。但是,如果引入区块链技术,则要解决广告主、渠道方、消费者之间多方数据 协作的问题,这其中可能涉及到多方之间权责的划分、利益的重新分配,新商业模式的形成 需要时间进行 探索 。
应用的大规模普及,还需要解决哪些问题?
区块链+隐私计算的应用在大规模铺开之前,还需要具备三方面的条件:
第一,从外部环境来看,需要全 社会 整体的数字化水平的提高。 打个比方,区块链+隐私 计算将来会形成数据流通的高速公路,但是路上要有足够的车。目前全 社会 的数字化正在快 速推进当中,大多数机构都是正在进行自身内部的数据治理,他们需要先处理好自己的数据, 之后才能产生更多的与外部数据进行协作的需求,这还需要时间。
第二,从技术发展来看,技术成熟尚需投入。 区块链+隐私计算技术的应用,实际上是牺 牲了数据流通的效率、提升了安全性,但是数据流通的效率也非常重要,未来需要在效率和 安全这两个方面形成一定的平衡,安全要保障,足够的效率也要满足,这其中涉及到许多技 术的研发、行业标准的制定,技术产品化的发展和完善、技术成本的进一步降低,还需要时 间。
第三,还需要相关法律法规的完善,以及数据交易商业模式的形成。 不过,这一条件与 前两个条件相比,其在目前的重要性相对次之。因为随着需求的爆发、技术的完善,相关的法律法规以及商业模式就会随之形成,这一条件在现阶段并非限制区块链与隐私计算技术落 地应用的最关键因素。
区块链+隐私计算的应用中还蕴藏着哪些趋势?
1、国产化的趋势
区块链+隐私计算的应用,涉及网络安全、数据安全,未来将成为新基建的重要组成部分。这是关乎网络空间主权、国家安全和未来发展利益的重要方面,因此这个领域的国产化是未来趋势。
在区块链+隐私计算技术应用的国产化当中,软件的国产化是相对容易实现的。难点在于 硬件的国产化,其中最难的部分是芯片的国产化。
这一部分的发展,与信创领域的发展相关。信创,即信息技术应用创新产业,其是数据 安全、网络安全的基础,也是新基建的重要组成部分。信创涉及到的行业包括 IT 基础设施:CPU 芯片、服务器、存储、交换机、路由器、各种云和相关服务内容;基础软件:数据库、操 作系统、中间件;应用软件:OA、 ERP、办公软件、政务应用、流版签软件;信息安全:边 界安全产品、终端安全产品等。
在区块链+隐私计算领域,目前已经有企业在尝试产品的国产化。例如,前文提到的,蚂 蚁链自研了密码卡、隐私计算硬件以及自研可信上链芯片,同时还推出了摩斯隐私计算一体 机。创业公司如星云 Clustar、融数联智也在进行相关国产化硬件产品的研发。
2、软硬件技术相结合、更多技术融合发展的趋势
目前,在区块链与隐私计算技术相结合的实践中,也呈现出了软硬件技术相结合、更多 技术融合发展的趋势。这主要是缘于几方面的需求:
第一,是加强数据安全性的需求。
隐私计算主要是解决数据在计算过程中不泄露的问题,区块链主要是解决存证问题,二者结合仅能解决数据安全的一部分问题。数据从产生到计算再到消亡,会涉及采集、传输、 存储、计算、销毁等多个环节,其生命周期可能会有数十年之久,要真正保障数据安全需要 一个更加全方位的、体系化的解决方案,以使得每个环节上都有对应的技术体系保障数据安 全 在数据采集阶段需要精心设计设备可信架构,在网络传输阶段需要合理运用安全协议, 在存储阶段需要兼顾加密与性能,在数据计算阶段需要灵活选择可信执行环境与密态运算。除此以外,计算环境的可信与安全在防御纵深建设上也至关重要。这些安全保障能力的技术 图谱会涉及到可信计算、软硬件供应链安全、隔离技术、网络与存储的透明加密、密钥管理、 可信执行环境等等。这其中每一个技术点都有软硬件结合、多种技术融合发挥的空间。
第二,是提升计算性能的需求。
隐私计算的性能目前还比较低,在计算机单机、单机和单机之间、计算机集群之间这三 个层面上都存在。
在计算机单机上,隐私计算由于运用了密码学技术,计算过程中涉及到很多加密解密的 步骤,这使得计算量以几何级数增加。以全同态算法为例,在通用芯片上密文运算的速度比 明文运算慢了 10 万倍。这意味着,做同样的运算,如果用全同态算法,在 Intel 最新的 Icelake 处理器上,跑出来的效果等同于 Intel 的第一代 8086 处理器,直接回退了数十年。这使得全 同态加密在现实情况下就不具备可用性了。算力问题也是导致全同态算法一直未得到广泛应 用的根本原因。
在单机之间和计算机集群之间,会涉及到单机之间和集群之间的通信效率问题。一方面, 主流的隐私计算技术无论是联邦学习还是多方安全计算,都有通信问题。密文膨胀、传输次 数膨胀,会导致单机之间网络传输效率成为隐私计算的瓶颈之一。另一方面,由于大多数隐 私计算的场景都是跨多方的,多方要通过公网进行通信,公网的带宽与时延目前也是巨大的 鸿沟。
性能的问题,会随着时间的推移越来越严重。2021 年,隐私计算的落地尚处于颇为早期 的阶段,主要是在一些机构内部或者是两方、三方之间应用,处理的数据量较小,这个问题 还不明显。可是未来,多方数据交换需求的到来、5G 和物联网的发展所带来的数据量急剧增 大,最终导致的将是数据量爆发式的增长,这需要消耗大量的算力。
到那时,隐私计算的性 能将面临巨大的挑战。现在在硬件的创新方面正处于体系结构的黄金时代。这是因为,移动互联网的飞速发展 使得应用场景发展很快,上层的软件也发展很快,这使得在计算机底层进行支持的硬件甚至 芯片都需要随之进行改变,进入了新一轮的创新周期。
而从区块链与隐私计算结合的长远发展来看,软硬件结合、多技术融合,对隐私计算来 说,可以提升性能、安全性和计算效果;对区块链来说,可以促使更多机构低成本加入联盟 链,扩大联盟链应用范围。
END
编辑 | 领路元
来源 | 零一 财经 《区块链+隐私计算一线实践报告(2022)》
D. 【深度知识】区块链之加密原理图示(加密,签名)
先放一张以太坊的架构图:
在学习的过程中主要是采用单个模块了学习了解的,包括P2P,密码学,网络,协议等。直接开始总结:
秘钥分配问题也就是秘钥的传输问题,如果对称秘钥,那么只能在线下进行秘钥的交换。如果在线上传输秘钥,那就有可能被拦截。所以采用非对称加密,两把钥匙,一把私钥自留,一把公钥公开。公钥可以在网上传输。不用线下交易。保证数据的安全性。
如上图,A节点发送数据到B节点,此时采用公钥加密。A节点从自己的公钥中获取到B节点的公钥对明文数据加密,得到密文发送给B节点。而B节点采用自己的私钥解密。
2、无法解决消息篡改。
如上图,A节点采用B的公钥进行加密,然后将密文传输给B节点。B节点拿A节点的公钥将密文解密。
1、由于A的公钥是公开的,一旦网上黑客拦截消息,密文形同虚设。说白了,这种加密方式,只要拦截消息,就都能解开。
2、同样存在无法确定消息来源的问题,和消息篡改的问题。
如上图,A节点在发送数据前,先用B的公钥加密,得到密文1,再用A的私钥对密文1加密得到密文2。而B节点得到密文后,先用A的公钥解密,得到密文1,之后用B的私钥解密得到明文。
1、当网络上拦截到数据密文2时, 由于A的公钥是公开的,故可以用A的公钥对密文2解密,就得到了密文1。所以这样看起来是双重加密,其实最后一层的私钥签名是无效的。一般来讲,我们都希望签名是签在最原始的数据上。如果签名放在后面,由于公钥是公开的,签名就缺乏安全性。
2、存在性能问题,非对称加密本身效率就很低下,还进行了两次加密过程。
如上图,A节点先用A的私钥加密,之后用B的公钥加密。B节点收到消息后,先采用B的私钥解密,然后再利用A的公钥解密。
1、当密文数据2被黑客拦截后,由于密文2只能采用B的私钥解密,而B的私钥只有B节点有,其他人无法机密。故安全性最高。
2、当B节点解密得到密文1后, 只能采用A的公钥来解密。而只有经过A的私钥加密的数据才能用A的公钥解密成功,A的私钥只有A节点有,所以可以确定数据是由A节点传输过来的。
经两次非对称加密,性能问题比较严重。
基于以上篡改数据的问题,我们引入了消息认证。经过消息认证后的加密流程如下:
当A节点发送消息前,先对明文数据做一次散列计算。得到一个摘要, 之后将照耀与原始数据同时发送给B节点。当B节点接收到消息后,对消息解密。解析出其中的散列摘要和原始数据,然后再对原始数据进行一次同样的散列计算得到摘要1, 比较摘要与摘要1。如果相同则未被篡改,如果不同则表示已经被篡改。
在传输过程中,密文2只要被篡改,最后导致的hash与hash1就会产生不同。
无法解决签名问题,也就是双方相互攻击。A对于自己发送的消息始终不承认。比如A对B发送了一条错误消息,导致B有损失。但A抵赖不是自己发送的。
在(三)的过程中,没有办法解决交互双方相互攻击。什么意思呢? 有可能是因为A发送的消息,对A节点不利,后来A就抵赖这消息不是它发送的。
为了解决这个问题,故引入了签名。这里我们将(二)-4中的加密方式,与消息签名合并设计在一起。
在上图中,我们利用A节点的私钥对其发送的摘要信息进行签名,然后将签名+原文,再利用B的公钥进行加密。而B得到密文后,先用B的私钥解密,然后 对摘要再用A的公钥解密,只有比较两次摘要的内容是否相同。这既避免了防篡改问题,有规避了双方攻击问题。因为A对信息进行了签名,故是无法抵赖的。
为了解决非对称加密数据时的性能问题,故往往采用混合加密。这里就需要引入对称加密,如下图:
在对数据加密时,我们采用了双方共享的对称秘钥来加密。而对称秘钥尽量不要在网络上传输,以免丢失。这里的共享对称秘钥是根据自己的私钥和对方的公钥计算出的,然后适用对称秘钥对数据加密。而对方接收到数据时,也计算出对称秘钥然后对密文解密。
以上这种对称秘钥是不安全的,因为A的私钥和B的公钥一般短期内固定,所以共享对称秘钥也是固定不变的。为了增强安全性,最好的方式是每次交互都生成一个临时的共享对称秘钥。那么如何才能在每次交互过程中生成一个随机的对称秘钥,且不需要传输呢?
那么如何生成随机的共享秘钥进行加密呢?
对于发送方A节点,在每次发送时,都生成一个临时非对称秘钥对,然后根据B节点的公钥 和 临时的非对称私钥 可以计算出一个对称秘钥(KA算法-Key Agreement)。然后利用该对称秘钥对数据进行加密,针对共享秘钥这里的流程如下:
对于B节点,当接收到传输过来的数据时,解析出其中A节点的随机公钥,之后利用A节点的随机公钥 与 B节点自身的私钥 计算出对称秘钥(KA算法)。之后利用对称秘钥机密数据。
对于以上加密方式,其实仍然存在很多问题,比如如何避免重放攻击(在消息中加入 Nonce ),再比如彩虹表(参考 KDF机制解决 )之类的问题。由于时间及能力有限,故暂时忽略。
那么究竟应该采用何种加密呢?
主要还是基于要传输的数据的安全等级来考量。不重要的数据其实做好认证和签名就可以,但是很重要的数据就需要采用安全等级比较高的加密方案了。
密码套件 是一个网络协议的概念。其中主要包括身份认证、加密、消息认证(MAC)、秘钥交换的算法组成。
在整个网络的传输过程中,根据密码套件主要分如下几大类算法:
秘钥交换算法:比如ECDHE、RSA。主要用于客户端和服务端握手时如何进行身份验证。
消息认证算法:比如SHA1、SHA2、SHA3。主要用于消息摘要。
批量加密算法:比如AES, 主要用于加密信息流。
伪随机数算法:例如TLS 1.2的伪随机函数使用MAC算法的散列函数来创建一个 主密钥 ——连接双方共享的一个48字节的私钥。主密钥在创建会话密钥(例如创建MAC)时作为一个熵来源。
在网络中,一次消息的传输一般需要在如下4个阶段分别进行加密,才能保证消息安全、可靠的传输。
握手/网络协商阶段:
在双方进行握手阶段,需要进行链接的协商。主要的加密算法包括RSA、DH、ECDH等
身份认证阶段:
身份认证阶段,需要确定发送的消息的来源来源。主要采用的加密方式包括RSA、DSA、ECDSA(ECC加密,DSA签名)等。
消息加密阶段:
消息加密指对发送的信息流进行加密。主要采用的加密方式包括DES、RC4、AES等。
消息身份认证阶段/防篡改阶段:
主要是保证消息在传输过程中确保没有被篡改过。主要的加密方式包括MD5、SHA1、SHA2、SHA3等。
ECC :Elliptic Curves Cryptography,椭圆曲线密码编码学。是一种根据椭圆上点倍积生成 公钥、私钥的算法。用于生成公私秘钥。
ECDSA :用于数字签名,是一种数字签名算法。一种有效的数字签名使接收者有理由相信消息是由已知的发送者创建的,从而发送者不能否认已经发送了消息(身份验证和不可否认),并且消息在运输过程中没有改变。ECDSA签名算法是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为r,s。 主要用于身份认证阶段 。
ECDH :也是基于ECC算法的霍夫曼树秘钥,通过ECDH,双方可以在不共享任何秘密的前提下协商出一个共享秘密,并且是这种共享秘钥是为当前的通信暂时性的随机生成的,通信一旦中断秘钥就消失。 主要用于握手磋商阶段。
ECIES: 是一种集成加密方案,也可称为一种混合加密方案,它提供了对所选择的明文和选择的密码文本攻击的语义安全性。ECIES可以使用不同类型的函数:秘钥协商函数(KA),秘钥推导函数(KDF),对称加密方案(ENC),哈希函数(HASH), H-MAC函数(MAC)。
ECC 是椭圆加密算法,主要讲述了按照公私钥怎么在椭圆上产生,并且不可逆。 ECDSA 则主要是采用ECC算法怎么来做签名, ECDH 则是采用ECC算法怎么生成对称秘钥。以上三者都是对ECC加密算法的应用。而现实场景中,我们往往会采用混合加密(对称加密,非对称加密结合使用,签名技术等一起使用)。 ECIES 就是底层利用ECC算法提供的一套集成(混合)加密方案。其中包括了非对称加密,对称加密和签名的功能。
<meta charset="utf-8">
这个先订条件是为了保证曲线不包含奇点。
所以,随着曲线参数a和b的不断变化,曲线也呈现出了不同的形状。比如:
所有的非对称加密的基本原理基本都是基于一个公式 K = k G。其中K代表公钥,k代表私钥,G代表某一个选取的基点。非对称加密的算法 就是要保证 该公式 不可进行逆运算( 也就是说G/K是无法计算的 )。 *
ECC是如何计算出公私钥呢?这里我按照我自己的理解来描述。
我理解,ECC的核心思想就是:选择曲线上的一个基点G,之后随机在ECC曲线上取一个点k(作为私钥),然后根据k G计算出我们的公钥K。并且保证公钥K也要在曲线上。*
那么k G怎么计算呢?如何计算k G才能保证最后的结果不可逆呢?这就是ECC算法要解决的。
首先,我们先随便选择一条ECC曲线,a = -3, b = 7 得到如下曲线:
在这个曲线上,我随机选取两个点,这两个点的乘法怎么算呢?我们可以简化下问题,乘法是都可以用加法表示的,比如2 2 = 2+2,3 5 = 5+5+5。 那么我们只要能在曲线上计算出加法,理论上就能算乘法。所以,只要能在这个曲线上进行加法计算,理论上就可以来计算乘法,理论上也就可以计算k*G这种表达式的值。
曲线上两点的加法又怎么算呢?这里ECC为了保证不可逆性,在曲线上自定义了加法体系。
现实中,1+1=2,2+2=4,但在ECC算法里,我们理解的这种加法体系是不可能。故需要自定义一套适用于该曲线的加法体系。
ECC定义,在图形中随机找一条直线,与ECC曲线相交于三个点(也有可能是两个点),这三点分别是P、Q、R。
那么P+Q+R = 0。其中0 不是坐标轴上的0点,而是ECC中的无穷远点。也就是说定义了无穷远点为0点。
同样,我们就能得出 P+Q = -R。 由于R 与-R是关于X轴对称的,所以我们就能在曲线上找到其坐标。
P+R+Q = 0, 故P+R = -Q , 如上图。
以上就描述了ECC曲线的世界里是如何进行加法运算的。
从上图可看出,直线与曲线只有两个交点,也就是说 直线是曲线的切线。此时P,R 重合了。
也就是P = R, 根据上述ECC的加法体系,P+R+Q = 0, 就可以得出 P+R+Q = 2P+Q = 2R+Q=0
于是乎得到 2 P = -Q (是不是与我们非对称算法的公式 K = k G 越来越近了)。
于是我们得出一个结论,可以算乘法,不过只有在切点的时候才能算乘法,而且只能算2的乘法。
假若 2 可以变成任意个数进行想乘,那么就能代表在ECC曲线里可以进行乘法运算,那么ECC算法就能满足非对称加密算法的要求了。
那么我们是不是可以随机任何一个数的乘法都可以算呢? 答案是肯定的。 也就是点倍积 计算方式。
选一个随机数 k, 那么k * P等于多少呢?
我们知道在计算机的世界里,所有的都是二进制的,ECC既然能算2的乘法,那么我们可以将随机数k描 述成二进制然后计算。假若k = 151 = 10010111
由于2 P = -Q 所以 这样就计算出了k P。 这就是点倍积算法 。所以在ECC的曲线体系下是可以来计算乘法,那么以为这非对称加密的方式是可行的。
至于为什么这样计算 是不可逆的。这需要大量的推演,我也不了解。但是我觉得可以这样理解:
我们的手表上,一般都有时间刻度。现在如果把1990年01月01日0点0分0秒作为起始点,如果告诉你至起始点为止时间流逝了 整1年,那么我们是可以计算出现在的时间的,也就是能在手表上将时分秒指针应该指向00:00:00。但是反过来,我说现在手表上的时分秒指针指向了00:00:00,你能告诉我至起始点算过了有几年了么?
ECDSA签名算法和其他DSA、RSA基本相似,都是采用私钥签名,公钥验证。只不过算法体系采用的是ECC的算法。交互的双方要采用同一套参数体系。签名原理如下:
在曲线上选取一个无穷远点为基点 G = (x,y)。随机在曲线上取一点k 作为私钥, K = k*G 计算出公钥。
签名过程:
生成随机数R, 计算出RG.
根据随机数R,消息M的HASH值H,以及私钥k, 计算出签名S = (H+kx)/R.
将消息M,RG,S发送给接收方。
签名验证过程:
接收到消息M, RG,S
根据消息计算出HASH值H
根据发送方的公钥K,计算 HG/S + xK/S, 将计算的结果与 RG比较。如果相等则验证成功。
公式推论:
HG/S + xK/S = HG/S + x(kG)/S = (H+xk)/GS = RG
在介绍原理前,说明一下ECC是满足结合律和交换律的,也就是说A+B+C = A+C+B = (A+C)+B。
这里举一个WIKI上的例子说明如何生成共享秘钥,也可以参考 Alice And Bob 的例子。
Alice 与Bob 要进行通信,双方前提都是基于 同一参数体系的ECC生成的 公钥和私钥。所以有ECC有共同的基点G。
生成秘钥阶段:
Alice 采用公钥算法 KA = ka * G ,生成了公钥KA和私钥ka, 并公开公钥KA。
Bob 采用公钥算法 KB = kb * G ,生成了公钥KB和私钥 kb, 并公开公钥KB。
计算ECDH阶段:
Alice 利用计算公式 Q = ka * KB 计算出一个秘钥Q。
Bob 利用计算公式 Q' = kb * KA 计算出一个秘钥Q'。
共享秘钥验证:
Q = ka KB = ka * kb * G = ka * G * kb = KA * kb = kb * KA = Q'
故 双方分别计算出的共享秘钥不需要进行公开就可采用Q进行加密。我们将Q称为共享秘钥。
在以太坊中,采用的ECIEC的加密套件中的其他内容:
1、其中HASH算法采用的是最安全的SHA3算法 Keccak 。
2、签名算法采用的是 ECDSA
3、认证方式采用的是 H-MAC
4、ECC的参数体系采用了secp256k1, 其他参数体系 参考这里
H-MAC 全程叫做 Hash-based Message Authentication Code. 其模型如下:
在 以太坊 的 UDP通信时(RPC通信加密方式不同),则采用了以上的实现方式,并扩展化了。
首先,以太坊的UDP通信的结构如下:
其中,sig是 经过 私钥加密的签名信息。mac是可以理解为整个消息的摘要, ptype是消息的事件类型,data则是经过RLP编码后的传输数据。
其UDP的整个的加密,认证,签名模型如下:
E. 区块链的六层模型是什么
区块链技术的模型是由自下而上的数据层、网络层、共识层、激励层、合约层、应用层组成。
F. 如何实现定长数字串加密算法
3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高; RC2和 RC4:用变长密钥对大量数据进行加密,比 DES 快; IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性; RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件快的长度也是可变的; DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准); AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,目前 AES 标准的一个实现是 Rijndael 算法; BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快; 其它算法,如ElGamal、Deffie-Hellman、新型椭圆曲线算法ECC等。