数字货币加密签名技术
① 加密数字资产和数字货币技术有什么区别
很专业的。
② 数据加密和数据签名的原理作用
加密可以帮助保护数据不被查看和修改,并且可以帮助在本不安全的信道上提供安全的通信方式。例如,可以使用加密算法对数据进行加密,在加密状态下传输数据,然后由预定的接收方对数据进行解密。如果第三方截获了加密的数据,解密数据是很困难的。
在一个使用加密的典型场合中,双方(小红和小明)在不安全的信道上通信。小红和小明想要确保任何可能正在侦听的人无法理解他们之间的通信。而且,由于小红和小明相距遥远,因此小红必须确保她从小明处收到的信息没有在传输期间被任何人修改。此外,她必须确定信息确实是发自小明而不是有人模仿小明发出的。
加密用于达到以下目的:
保密性:帮助保护用户的标识或数据不被读取。
数据完整性:帮助保护数据不更改。
身份验证:确保数据发自特定的一方。
为了达到这些目的,您可以使用算法和惯例的组合(称作加密基元)来创建加密方案。下表列出了加密基元及它们的用法。
加密基元 使用
私钥加密(对称加密) 对数据执行转换,使第三方无法读取该数据。此类型的加密使用单个共享的机密密钥来加密和解密数据。
公钥加密(不对称加密) 对数据执行转换,使第三方无法读取该数据。此类加密使用公钥/私钥对来加密和解密数据。
加密签名 通过创建对特定方唯一的数字签名来帮助验证数据是否发自特定方。此过程还使用哈希函数。
加密哈希 将数据从任意长度映射为定长字节序列。哈希在统计上是唯一的;不同的双字节序列不会哈希为同一个值。
私钥加密
私钥加密算法使用单个私钥来加密和解密数据。由于具有密钥的任意一方都可以使用该密钥解密数据,因此必须保护密钥不被未经授权的代理得到。私钥加密又称为对称加密,因为同一密钥既用于加密又用于解密。私钥加密算法非常快(与公钥算法相比),特别适用于对较大的数据流执行加密转换。
通常,私钥算法(称为块密码)用于一次加密一个数据块。块密码(如 RC2、DES、TrippleDES 和 Rijndael)通过加密将 n 字节的输入块转换为加密字节的输出块。如果要加密或解密字节序列,必须逐块进行。由于 n 很小(对于 RC2、DES 和 TripleDES,n = 8 字节;n = 16 [默认值];n = 24;对于 Rijndael,n = 32),因此必须对大于 n 的值一次加密一个块。
基类库中提供的块密码类使用称作密码块链 (CBC) 的链模式,它使用一个密钥和一个初始化向量 (IV) 对数据执行加密转换。对于给定的私钥 k,一个不使用初始化向量的简单块密码将把相同的明文输入块加密为同样的密文输出块。如果在明文流中有重复的块,那么在密文流中将存在重复的块。如果未经授权的用户知道有关明文块的结构的任何信息,就可以使用这些信息解密已知的密文块并有可能发现您的密钥。若要克服这个问题,可将上一个块中的信息混合到加密下一个块的过程中。这样,两个相同的明文块的输出就会不同。由于该技术使用上一个块加密下一个块,因此使用了一个 IV 来加密数据的第一个块。使用该系统,未经授权的用户有可能知道的公共消息标头将无法用于对密钥进行反向工程。
可以危及用此类型密码加密的数据的一个方法是,对每个可能的密钥执行穷举搜索。根据用于执行加密的密钥大小,即使使用最快的计算机执行这种搜索,也极其耗时,因此难以实施。使用较大的密钥大小将使解密更加困难。虽然从理论上说加密不会使对手无法检索加密的数据,但这确实极大增加了这样做的成本。如果执行彻底搜索来检索只在几天内有意义的数据需要花费三个月的时间,那么穷举搜索的方法是不实用的。
私钥加密的缺点是它假定双方已就密钥和 IV 达成协议,并且互相传达了密钥和 IV 的值。并且,密钥必须对未经授权的用户保密。由于存在这些问题,私钥加密通常与公钥加密一起使用,来秘密地传达密钥和 IV 的值。
假设小红和小明是要在不安全的信道上进行通信的双方,他们可能按以下方式使用私钥加密。小红和小明都同意使用一种具有特定密钥和 IV 的特定算法(如 Rijndael)。小红撰写一条消息并创建要在其上发送该消息的网络流。接下来,她使用该密钥和 IV 加密该文本,并通过 Internet 发送该文本。她没有将密钥和 IV 发送给小明。小明收到该加密文本并使用预先商定的密钥和 IV 对它进行解密。如果传输的内容被人截获,截获者将无法恢复原始消息,因为截获者并不知道密钥或 IV。在这个方案中,密钥必须保密,但 IV 不需要保密。在一个实际方案中,将由小红或小明生成私钥并使用公钥(不对称)加密将私钥(对称)传递给对方。有关更多信息,请参见本主题后面的有关公钥加密的部分。
.NET Framework 提供以下实现私钥加密算法的类:
DESCryptoServiceProvider
RC2CryptoServiceProvider
RijndaelManaged
公钥加密
公钥加密使用一个必须对未经授权的用户保密的私钥和一个可以对任何人公开的公钥。公钥和私钥都在数学上相关联;用公钥加密的数据只能用私钥解密,而用私钥签名的数据只能用公钥验证。公钥可以提供给任何人;公钥用于对要发送到私钥持有者的数据进行加密。两个密钥对于通信会话都是唯一的。公钥加密算法也称为不对称算法,原因是需要用一个密钥加密数据而需要用另一个密钥来解密数据。
公钥加密算法使用固定的缓冲区大小,而私钥加密算法使用长度可变的缓冲区。公钥算法无法像私钥算法那样将数据链接起来成为流,原因是它只可以加密少量数据。因此,不对称操作不使用与对称操作相同的流模型。
双方(小红和小明)可以按照下列方式使用公钥加密。首先,小红生成一个公钥/私钥对。如果小明想要给小红发送一条加密的消息,他将向她索要她的公钥。小红通过不安全的网络将她的公钥发送给小明,小明接着使用该密钥加密消息。(如果小明在不安全的信道如公共网络上收到小红的密钥,则小明必须同小红验证他具有她的公钥的正确副本。)小明将加密的消息发送给小红,而小红使用她的私钥解密该消息。
但是,在传输小红的公钥期间,未经授权的代理可能截获该密钥。而且,同一代理可能截获来自小明的加密消息。但是,该代理无法用公钥解密该消息。该消息只能用小红的私钥解密,而该私钥没有被传输。小红不使用她的私钥加密给小明的答复消息,原因是任何具有公钥的人都可以解密该消息。如果小红想要将消息发送回小明,她将向小明索要他的公钥并使用该公钥加密她的消息。然后,小明使用与他相关联的私钥来解密该消息。
在一个实际方案中,小红和小明使用公钥(不对称)加密来传输私(对称)钥,而对他们的会话的其余部分使用私钥加密。
公钥加密具有更大的密钥空间(或密钥的可能值范围),因此不大容易受到对每个可能密钥都进行尝试的穷举攻击。由于不必保护公钥,因此它易于分发。公钥算法可用于创建数字签名以验证数据发送方的身份。但是,公钥算法非常慢(与私钥算法相比),不适合用来加密大量数据。公钥算法仅对传输很少量的数据有用。公钥加密通常用于加密一个私钥算法将要使用的密钥和 IV。传输密钥和 IV 后,会话的其余部分将使用私钥加密。
.NET Framework 提供以下实现公钥加密算法的类:
DSACryptoServiceProvider
RSACryptoServiceProvider
数字签名
公钥算法还可用于构成数字签名。数字签名验证发送方的身份(如果您信任发送方的公钥)并帮助保护数据的完整性。使用由小红生成的公钥,小红的数据的接收者可以通过将数字签名与小红的数据和小红的公钥进行比较来验证是否是小红发送了该数据。
为了使用公钥加密对消息进行数字签名,小红首先将哈希算法应用于该消息以创建消息摘要。该消息摘要是数据的紧凑且唯一的表示形式。然后,小红用她的私钥加密该消息摘要以创建她的个人签名。在收到消息和签名时,小明使用小红的公钥解密签名以恢复消息摘要,并使用与小红所使用的相同的哈希算法来散列消息。如果小明计算的消息摘要与从小红那里收到的消息摘要完全一致,小明就可以确定该消息来自私钥的持有人,并且数据未被修改过。如果小明相信小红是私钥的持有人,则他知道该消息来自小红。
请注意,由于发送方的公钥为大家所周知,并且它通常包含在数字签名格式中,因此任何人都可以验证签名。此方法不保守消息的机密;若要使消息保密,还必须对消息进行加密。
.NET Framework 提供以下实现数字签名算法的类:
DSACryptoServiceProvider
RSACryptoServiceProvider
哈希值
哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希计算都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的。
消息身份验证代码 (MAC) 哈希函数通常与数字签名一起用于对数据进行签名,而消息检测代码 (MDC) 哈希函数则用于数据完整性。
双方(小红和小明)可按下面的方式使用哈希函数来确保数据的完整性。如果小红对小明编写一条消息并创建该消息的哈希,则小明可以在稍后散列该消息并将他的哈希与原始哈希进行比较。如果两个哈希值相同,则该消息没有被更改;如果值不相同,则该消息在小红编写它之后已被更改。为了使此系统发挥作用,小红必须对除小明外的所有人保密原始的哈希值。
.NET Framework 提供以下实现数字签名算法的类:
HMACSHA1
MACTripleDES
MD5CryptoServiceProvider
SHA1Managed
SHA256Managed
SHA384Managed
SHA512Managed
随机数生成
随机数生成是许多加密操作不可分割的组成部分。例如,加密密钥需要尽可能地随机,以便使生成的密钥很难再现。加密随机数生成器必须生成无法以计算方法推算出(低于 p < .05 的概率)的输出;即,任何推算下一个输出位的方法不得比随机猜测具有更高的成功概率。.NET Framework 中的类使用随机数生成器生成加密密钥。
RNGCryptoServiceProvider 类是随机数生成器算法的实现。
③ 数字签名加密算法
数字签名技术
Internet的迅猛发展使电子商务成为商务活动的新模式。电子商务包括管理信息系统MIS、电子数据交换EDI、电子订货系统EOS、商业增值网VAN等,其中EDI成为电子商务的核心部分,涉及到多个环节的复杂的人机工程。网络的开放性与共享性也导致了网络的安全性受到严重影响,在开放的Internet平台上,社会生活中传统的犯罪和不道德行为将变得更加隐蔽和难以控制。人们从面对面的交易和作业,变成网上互不见面的操作、没有国界、没有时间限制,就产生了更大的安全隐患。因此,在电子商务的发展热潮中,电子商务的安全性已成为制约电子商务发展的重要瓶颈。
如何保证网上传输的数据的安全和交易对方的身份确认是电子商务是否得到推广的关键,可以说电子商务最关键的问题是安全性问题;而数字签名(Digital Signatures)技术是保证信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性的一种有效的解决方案,是电子商务安全性的重要部分。
一 、电子商务中数据传输的几个安全性需求
1. 数据的保密性:用于防止非法用户进入系统及合法用户对系统资源的非法使用;通过对一些敏感的数据文件进行加密来保护系统之间的数据交换,防止除接收方之外的第三方截获数据及即使获取文件也无法得到其内容。如在电子交易中,避免遭到黑客的袭击使信用卡信息丢失的问题。
2. 数据的完整性:防止非法用户对进行交换的数据进行无意或恶意的修改、插入,防止交换的数据丢失等。
3. 数据的不可否认性:对数据和信息的来源进行验证,以确保数据由合法的用户发出;防止数据发送方在发出数据后又加以否认;同时防止接收方在收到数据后又否认曾收到过此数据及篡改数据。
上述需求对应于防火墙、加密、数字签名、身份认证等技术,但其关键在于数字签名技术。
二、 数字签名的含义和功能
数字签名是通过一个单向函数对要传送的报文进行处理得到的用以认证报文来源并核实报文是否发生变化的一个字母数字串。
在传统的商业系统中,通常都利用书面文件的亲笔签名或印章来规定契约性的责任,在电子商务中,传送的文件是通过电子签名证明当事人身份与数据真实性的.数据加密是保护数据的最基本方法,但也只能防止第三者获得真实数据。电子签名则可以解决否认、伪造、篡改及冒充等问题,具体要求:发送者事后不能否认发送的报文签名、接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改、网络中的某一用户不能冒充另一用户作为发送者或接收者。
三、数字签名的实现方法
实现数字签名有很多方法,目前数字签名采用较多的是公钥加密技术,如基于RSA Date Security 公司的PKCS( Public Key Cryptography Standards )、Digital Signature Algorithm、x.509、PGP(Pretty Good Privacy). 1994年美国标准与技术协会公布了数字签名标准(DSS)而使公钥加密技术广泛应用。&127;公钥加密系统采用的是非对称加密算法。
(一)用非对称加密算法进行数字签名
1、算法的含义
此算法使用两个密钥:公开密钥(public key)和私有密钥(private key),&127;分别用于对数据的加密和解密,即如果用公开密钥对数据进行加密,只有用对应的私有密钥才能进行解密;如果用私有密钥对数据进行加密,则只有用对应的公开密钥才能解密。
2 签名和验证过程
(1)发送方首先用公开的单向函数对报文进行一次变换,得到数字签名,然后利用私有密钥对数字签名进行加密后附在报文之后一同发出。
(2)接收方用发送方的公开密钥对数字签名进行解密变换,得到一个数字签名的明文。发送方的公钥是由一个可信赖的技术管理机构即验证机构(CA: Certification Authority)发布的。
(3)接收方将得到的明文通过单向函数进行计算,同样得到一个数字签名,再将两个数字签名进行对比,如果相同,则证明签名有效,否则无效。
这种方法使任何拥有发送方公开密钥的人都可以验证数字签名的正确性。由于发送方私有密钥的保密性,使得接收方既可以根据验证结果来拒收该报文,也能使其无法伪造报文签名及对报文进行修改,原因是数字签名是对整个报文进行的,是一组代表报文特征的定长代码,同一个人对不同的报文将产生不同的数字签名。这就解决了银行通过网络传送一张支票,而接收方可能对支票数额进行改动的问题,也避免了发送方逃避责任的可能性。
(二)用对称加密算法进行数字签名
1 算法的含义
对称加密算法所用的加密密钥和解密密钥通常是相同的,即使不同也可以很容易地由其中的任意一个推导出另一个。在此算法中,加、解密双方所用的密钥都要保守秘密。由于计算速度快而广泛应用于对大量数据如文件的加密过程中,如RD4 和DES。
2 签名和验证过程
Lamport发明了称为Lamport-Diffie的对称加密算法:利用一组长度是报文的比特数(n)两倍的密钥A,来产生对签名的验证信息,即随机选择2n个数B,由签名密钥对这2n个数B进行一次加密变换,得到另一组2n个数C。
(1)发送方从报文分组M的第一位开始,依次检查M的第i位,若为0时,取密钥A的第i位,若为1则取密钥A的第i+1位; 直至报文全部检查完毕。所选取的n个密钥位形成了最后的签名。
(2)接收方对签名进行验证时,也是首先从第一位开始依次检查报文M,如果M的第i位为0时,它就认为签名中的第I组信息是密钥A的第i位,若为1则为密钥A的第i+1位; 直至报文全部验证完毕后,就得到了n个密钥,由于接收方具有发送方的验证信息C,所以可以利用得到的n个密钥检验验证信息,从而确认报文是否是由发送方所发送。
这种方法由于它是逐位进行签名的,只要有一位被改动过,接收方就得不到正确的数字签名,因此其安全性较好,其缺点是:签名太长(对报文先进行压缩再签名,可以减少签名的长度。);签名密钥及相应的验证信息不能重复使用,否则极不安全。
(三)几个认证产品
认证产品可分两大类:一是用户认证,主要是通过单独签名访问网络资源;二是对象认证,即判定传递信息和文件的认证及其真实性。数字签名技术就主要用于信息、文件以及其他存储在网上的传输对象的认证。AT&T Government Market的Secret Agent 便通过将数字签发的文档作为E-mail消息的文件附件来发表的形式,将现有客户机运行的环境 E-mail系统 、Web浏览器等应用密切地结合在一起;Regnoc Software 的Signature 使用OLE 2.0可对Windows 下的任何文本作数字签名;ViaCrypt 的ViaCrypt PGP可从传递信息的应用中切割文本至Windows 或Macintosh裁剪板,在那里对它进行数字签名后将它粘贴到传递信息中,其面对电子商务的一个功能是,无论雇员发送或接收的所有密文都能破译,可设置成在公司密钥下去自动破译所有外发信息,且要求雇员须使用职权范围允许的解密密钥。
四 数字签名的算法及数字签名的保密性
数字签名的算法很多,应用最为广泛的三种是: Hash签名、DSS签名、RSA签名。
1.Hash签名
Hash签名不属于强计算密集型算法,应用较广泛。很多少量现金付款系统,如DEC的Millicent和CyberCash的CyberCoin等都使用Hash签名。使用较快的算法,可以降低服务器资源的消耗,减轻中央服务器的负荷。Hash的主要局限是接收方必须持有用户密钥的副本以检验签名, 因为双方都知道生成签名的密钥,较容易攻破,存在伪造签名的可能。如果中央或用户计算机中有一个被攻破,那么其安全性就受到了威胁。
2.DSS和RSA签名
DSS和RSA采用了公钥算法,不存在Hash的局限性。RSA是最流行的一种加密标准,许多产品的内核中都有RSA的软件和类库,早在Web飞速发展之前,RSA数据安全公司就负责数字签名软件与Macintosh操作系统的集成,在Apple的协作软件PowerTalk上还增加了签名拖放功能,用户只要把需要加密的数据拖到相应的图标上,就完成了电子形式的数字签名。RSA与Microsoft、IBM、Sun和Digital都签订了许可协议,使在其生产线上加入了类似的签名特性。与DSS不同,RSA既可以用来加密数据,也可以用于身份认证。和Hash签名相比,在公钥系统中,由于生成签名的密钥只存储于用户的计算机中,安全系数大一些。
数字签名的保密性很大程度上依赖于公开密钥。数字认证是基于安全标准、协议和密码技术的电子证书,用以确立一个人或服务器的身份,它把一对用于信息加密和签名的电子密钥捆绑在一起,保证了这对密钥真正属于指定的个人和机构。数字认证由验证机构CA进行电子化发布或撤消公钥验证,信息接收方可以从CA Web站点上下载发送方的验证信息。Verisign是第一家X.509公开密钥的商业化发布机构,在它的Digital ID 下可以生成、管理应用于其它厂商的数字签名的公开密钥验证。
五 数字签名的发展前景展望
生成和验证数字签名的工具需要完善,只有广泛使用SSL(安全套接层)建立安全链接的Web浏览器,才可能频繁用到数字签名技术。比如一个公司要对其雇员在网络上的行为进行规范,就要建立广泛协作机制来支持数字签名的实现。支持数字签名是Web发展的目标,确保数据保密性、数据完整性和不可否认性才能保证在线商业的安全交易。
和数字签名有关的复杂认证能力就像现在操作、应用环境中的口令保护一样直接做进操作系统环境、应用、远程访问产品、信息传递系统及Internet防火墙中,像Netscape 支持X.509标准的Communicator 4.0 Web客户机软件;Microsoft支持X.509的Internet Explorer 4.0客户机软件及支持对象签名检查的Java虚拟机等。
安全问题是阻碍电子商务广泛应用的最大问题,改进数字签名在内的安全技术措施、确定CA认证权的归属问题是解决电子商务安全问题的关键。
④ 目前的数字认证和加密算法的主要技术及其应用
1. 什么是数字证书?
数字证书就是网络通讯中标志通讯各方身份信息的一系列数据,其作用类似于现实生活中的身份证。它是由一个权威机构发行的,人们可以在交往中用它来识别对方的身份。
最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循ITUT X.509国际标准。
一个标准的X.509数字证书包含以下一些内容:
证书的版本信息;
证书的序列号,每个证书都有一个唯一的证书序列号;
证书所使用的签名算法;
证书的发行机构名称,命名规则一般采用X.500格式;
证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049;
证书所有人的名称,命名规则一般采用X.500格式;
证书所有人的公开密钥;
证书发行者对证书的签名。
使用数字证书,通过运用对称和非对称密码体制等密码技术建立起一套严密的身份认证系统,从而保证:信息除发送方和接收方外不被其它人窃取;信息在传输过程中不被篡改;发送方能够通过数字证书来确认接收方的身份;发送方对于自己的信息不能抵赖。
2. 为什么要使用数字证书?
由于Internet网电子商务系统技术使在网上购物的顾客能够极其方便轻松地获得商家和企业的信息,但同时也增加了对某些敏感或有价值的数据被滥用的风险。买方和卖方都必须保证在因特网上进行的一切金融交易运作都是真实可靠的,并且要使顾客、商家和企业等交易各方都具有绝对的信心,因而因特网电子商务系统必须保证具有十分可靠的安全保密技术,也就是说,必须保证网络安全的四大要素,即信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性。
信息的保密性
交易中的商务信息均有保密的要求,如信用卡的帐号和用户名被人知悉,就可能被盗用,订货和付款的信息被竞争对手获悉,就可能丧失商机。因此在电子商务的信息传播中一般均有加密的要求。
交易者身份的确定性
网上交易的双方很可能素昧平生,相隔千里。要使交易成功首先要能确认对方的身份,商家要考虑客户端是不是骗子,而客户也会担心网上的商店不是一个玩弄欺诈的黑店。因此能方便而可靠地确认对方身份是交易的前提。对于为顾客或用户开展服务的银行、信用卡公司和销售商店,为了做到安全、保密、可靠地开展服务活动,都要进行身份认证的工作。对有关的销售商店来说,他们对顾客所用的信用卡的号码是不知道的,商店只能把信用卡的确认工作完全交给银行来完成。银行和信用卡公司可以采用各种保密与识别方法,确认顾客的身份是否合法,同时还要防止发生拒付款问题以及确认订货和订货收据信息等。
不可否认性
由于商情的千变万化,交易一旦达成是不能被否认的。否则必然会损害一方的利益。例如订购黄金,订货时金价较低,但收到订单后,金价上涨了,如收单方能否认受到订单的实际时间,甚至否认收到订单的事实,则订货方就会蒙受损失。因此电子交易通信过程的各个环节都必须是不可否认的。
不可修改性
由于商情的千变万化,交易一旦达成应该是不能被否认的。否则必然会损害一方的利益。例如订购黄金,订货时金价较低,但收到订单后,金价上涨了,如收单方能否认收到订单的实际时间,甚至否认收到订单的事实,则订货方就会蒙受损失。因此电子交易通信过程的各个环节都必须是不可否认的。
数字安全证书提供了一种在网上验证身份的方式。安全证书体制主要采用了公开密钥体制,其它还包括对称密钥加密、数字签名、数字信封等技术。
我们可以使用数字证书,通过运用对称和非对称密码体制等密码技术建立起一套严密的身份认证系统,从而保证:信息除发送方和接收方外不被其它人窃取;信息在传输过程中不被篡改;发送方能够通过数字证书来确认接收方的身份;发送方对于自己的信息不能抵赖。
3. 数字认证原理
数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。
在公开密钥密码体制中,常用的一种是RSA体制。其数学原理是将一个大数分解成两个质数的乘积,加密和解密用的是两个不同的密钥。即使已知明文、密文和加密密钥(公开密钥),想要推导出解密密钥(私有密钥),在计算上是不可能的。按现在的计算机技术水平,要破解目前采用的1024位RSA密钥,需要上千年的计算时间。公开密钥技术解决了密钥发布的管理问题,商户可以公开其公开密钥,而保留其私有密钥。购物者可以用人人皆知的公开密钥对发送的信息进行加密,安全地传送以商户,然后由商户用自己的私有密钥进行解密。
如果用户需要发送加密数据,发送方需要使用接收方的数字证书(公开密钥)对数据进行加密,而接收方则使用自己的私有密钥进行解密,从而保证数据的安全保密性。
另外,用户可以通过数字签名实现数据的完整性和有效性,只需采用私有密钥对数据进行加密处理,由于私有密钥仅为用户个人拥有,从而能够签名文件的唯一性,即保证:数据由签名者自己签名发送,签名者不能否认或难以否认;数据自签发到接收这段过程中未曾作过任何修改,签发的文件是真实的。
4. 数字证书是如何颁发的?
数字证书是由认证中心颁发的。根证书是认证中心与用户建立信任关系的基础。在用户使用数字证书之前必须首先下载和安装。
认证中心是一家能向用户签发数字证书以确认用户身份的管理机构。为了防止数字凭证的伪造,认证中心的公共密钥必须是可靠的,认证中心必须公布其公共密钥或由更高级别的认证中心提供一个电子凭证来证明其公共密钥的有效性,后一种方法导致了多级别认证中心的出现。
数字证书颁发过程如下:用户产生了自己的密钥对,并将公共密钥及部分个人身份信息传送给一家认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内附了用户和他的密钥等信息,同时还附有对认证中心公共密钥加以确认的数字证书。当用户想证明其公开密钥的合法性时,就可以提供这一数字证书。
5. 加密技术
由于数据在传输过程中有可能遭到侵犯者的窃听而失去保密信息,加密技术是电子商务采取的主要保密安全措施,是最常用的保密安全手段。加密技术也就是利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。
加密包括两个元素:算法和密钥。一个加密算法是将普通的文本(或者可以理解的信息)与一窜数字(密钥)的结合,产生不可理解的密文的步骤。密钥和算法对加密同等重要。
密钥是用来对数据进行编码和解码的一种算法。在安全保密中,可通过适当的密钥加密技术和管理机制,来保证网络的信息通讯安全。密钥加密技术的密码体制分为对称密钥体制和非对称密钥体制两种。
相应地,对数据加密的技术分为两类,即对称加密(私人密钥加密)和非对称加密(公开密钥加密)。对称加密以数据加密标准(DES,Data Encryption Standard)算法为典型代表,非对称加密通常以RSA(Rivest Shamir Ad1eman)算法为代表。对称加密的加密密钥和解密密钥相同,而非对称加密的加密密钥和解密密钥不同,加密密钥可以公开而解密密钥需要保密。
⑤ 电子签名的加密技术
目前国内领先的电子签名平台,其加密技术很先进,甚至获得了商用密码产品销售许可证。其应用具体如下:
1. 多重身份认证程序
个人用户通过绑定身份证、手机号及银行卡等相关信息并验证,确保个人信息真实有效;
企业用户审核企业信息,绑定授权签名者身份信息,确保企业主体信息合法有效。
除此之外,面向所有个人及企业用户提供数字证书验证服务,用户使用权威公正的第三方机构(CA),在进行登录、签署等操作时进行身份识别、杜绝身份冒充。
2. 三万年才能破译的军用密保强度
采用2048位数字及字母的密码组合加密存储用户敏感信息及合同文件,传输过程中,个人隐私及重要商业机密信息将以一堆数字及字母组合呈现,即便被意外截获,坏人也只能得到一堆读不懂的乱码,无法获取用户私密信息。
3. 双重保障文件防止篡改
不可抵赖:采用第三方可信时间戳技术,标注每一份合同签署时间,确保文件签署时间的功利性和不被篡改。
防止篡改:电子文件采用ISOPDF格式,采用RSA等算法进行签名及验证,每一份电子合同文件在签订后就会生成一个固定的数值,一旦被篡改,数值将会出现变化,经过比对即可有效判断文件是否被篡改。
4. 9份副本文件轻松应对突发状况
所有合同均在多重云平台进行存储,能够轻松应对同城、异地、灾备等多元化的储存需求。
⑥ 数字签名的加密方式是怎样的原理
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
每个人都有一对“钥匙”(数字身份),其中一个只有她/他本人知道(密钥),另一个公开的(公钥)。签名的时候用密钥,验证签名的时候用公钥。又因为任何人都可以落款声称她/他就是你,因此公钥必须向接受者信任的人(身份认证机构)来注册。注册后身份认证机构给你发一数字证书。对文件签名后,你把此数字证书连同文件及签名一起发给接受者,接受者向身份认证机构求证是否真地是用你的密钥签发的文件。
公钥加密系统允许任何人在发送信息时使用公钥进行加密,数字签名能够让信息接收者确认发送者的身份。当然,接收者不可能百分之百确信发送者的真实身份,而只能在密码系统未被破译的情况下才有理由确信。
鉴权的重要性在财务数据上表现得尤为突出。举个例子,假设一家银行将指令由它的分行传输到它的中央管理系统,指令的格式是(a,b),其中a是账户的账号,而b是账户的现有金额。这时一位远程客户可以先存入100元,观察传输的结果,然后接二连三的发送格式为(a,b)的指令。这种方法被称作重放攻击。
完整性。传输数据的双方都总希望确认消息未在传输的过程中被修改。加密使得第三方想要读取数据十分困难,然而第三方仍然能采取可行的方法在传输的过程中修改数据。一个通俗的例子就是同形攻击:回想一下,还是上面的那家银行从它的分行向它的中央管理系统发送格式为(a,b)的指令,其中a是账号,而b是账户中的金额。一个远程客户可以先存100元,然后拦截传输结果,再传输(a,b3),这样他就立刻变成百万富翁了。
不可抵赖。在密文背景下,抵赖这个词指的是不承认与消息有关的举动(即声称消息来自第三方)。消息的接收方可以通过数字签名来防止所有后续的抵赖行为,因为接收方可以出示签名给别人看来证明信息的来源。
⑦ 什么叫数字签名加密法
公开密钥密码不仅能够实现数字签名,而且安全方便而且相比于传统密码更容易达到书面签名的效果,所以公开密钥密码深受欢迎!
由于数字签名的形式是多种多样的,比如有通用数字签名,仲裁数字签名,不可否认签名,盲签名,群签名,门限签名等,在这里我就以数字签名的一般方法解答吧!
(1)A和B都将自己的公开密钥Ke公开登记并存入管理中心的共享的公开密钥数据库PKDB,以此作为对方及仲裁者验证签名的数据之一。
(2)A用自己的保密的解密密钥Kda对明文数据M进行签名得到签名S,然后A查询PKDB查到B的公开的加密钥Kea,并对用Kea对S再加密,得到密文C
(3)最后A把C发送给B,并将S和C留底。
总而言之是利密码技术的方法来实现数字签名的方法。包括利用用传统密码。
⑧ 数字签名就是加密算法吗
数字签名并不是加密算法
数字签名是只通过不可逆的算法,将要签名的信息处理后的数据
这个数据可以作为一种电子凭证,保证电子文件的完整性,签名人的不可否认性
数字签名过程中会使用到不可逆的加密算法。相关信息经过这些算法处理后,将无法被还原,同时也变得不易理解。算法本身保证,几乎不可能将两个不同的信息加密为同一个签名。这样使得第三方难以破译、篡改或伪造签名。
目前用的比较多的数字签名算法有MD5、SHA等算法
⑨ 能否推荐一本关于 数字签名和加密技术的比较好的教材呀
刘尊全. 刘氏高强度公开加密算法设计原理与装置. 北京:清华大学出版社 简单摘要:
通常情况下,在计算机上实现的数据加密算法,其加密或解密变换是由一个密钥或一组密钥来控制的。密钥是由使用密码体制的用户随机选取的,密钥称为唯一能够控制明文和密文之间变换的关键,它通常是一随机字符窜。
传统密码体制通常采用移位法、代替法和代数法来进行加密和解密的变换,可以采用其中的一种或几种方法相结合的方式作为数据变换的基本模式。移位法也称置换法。移位法把明文中的字符重新排列,字符本身不变,但其位置改变了。作为移位法最简单的例子是:把明文的字母或字符倒过来写,然后以规定的长度的字符组发送或记录密文,例如下例:
明文:Data security has evolved rapidly since 1975
密文:5791EC NISYLD IPARDE VLOVES AHYTIR UCESAT AD
作为移位法的另一种形式,可以将明文分组后倒过来写,然后以规定的长度的字符组发送或记录密文,例如下例:
明文:CRYPTOGRAPHY AND DATA SECURITY BY LIU
密文:RGOTPYRC DDNAYHPA RUCESATA UILYBYTI
请注意,后一种分组移位法的形式,显著提高了密文的不可懂性。
代替法是利用对照表的方式,用另一个明文表来对应明文中的字符表,这样一来密文中的字符应保持明文中的原来位置,但其本身改变了。作为代替法的一个最简单的例子是单密字母表,它由明文部分和密文部分组成:
明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文字母表:CDEFGHIJKLMNOPQRSTUVWXYZAB
在明文变换成密文时,把明文中的字符用密文字符表中对应的字符来代替,并且密文采用分配记录的方式:
明文:The Cryprology is a hot research area
密文:VJGETARV QNQIAKUC JQVTGUGC TEJCTGC
代数法加密可以对下列两种明文表示法进行相关的变换:
1. 将明文中的字符按指定的变换方法用数字来代替,然后对这些数字的值进行一系列可逆的数字运算,运算后产生的数字结果再通过逆初始变换的过程生成密文.应注意,采用代数法加密必须是无误差的数字运算。
2. 按照二-十进制,把明文字符的二进制等效值当作一组逻辑和算术运算的输入,产生的二进制结果再变回到二-十进制作为密文。
通常情况下,代数法加密可以采用微型计算机或其他类型的计算机来自动计算。代数法加密可以作为复杂加密体制的一种方法。
作为代数法的例子,这里介绍Hill发明的以求解联立方程为基础的加密体制。下面给出任意建立的字符对照表:
A B C D E F G H I J K L M
4 8 25 2 9 20 16 5 17 3 0 22 13
N O P Q R S T U V W X Y Z
24 6 21 15 23 19 12 7 11 18 1 14 10
注意,在字符对照表中,对应26个英文字母其取值范围为0—25。我们取x代表明文字母,y代表米问字母,采用4个字符分组的明文序列,这种加密方法又称为四元代替法,并有下列的加密方程:
(1.2)
(1.3)
(1.4)
(1.5)
根据加密方程,可以给出下面的解密方程:
(1.6)
(1.7)
(1.8)
(1.9)
加密或解密过程中对数字结果的处理是按模26进行的。
例:对明文HELP,首先把明文翻译成下列一组数
(1.10)
(1.11)
(1.12)
(1.13)
用加密方程组求其密文值:
(1.14)
(1.15)
(1.16)
(1.17)
从而得到密文UQZY。在解密过程中,采用解密方程组求其明文值来进行处理。
数据的加密和解密变换可以采用一种或两种以上的办法、算法的结合。这些方法或算法可以多种多样,并且千变万化,寻找简单而有效的算法密码学的始终关注的问题。
通常情况下,一个密码体制由以下五个部分组成:
1. 明文信息空间M;
2. 密文信息空间C;
3. 密钥空间K;
4. 加密变换
5. 解密变换
对于密码体制,加密和解密变换是矛与盾的统一。建立和使用密码体制,都必须考虑数据加密所处的环境;用户为保护信息安全所使用的密码体制;攻击者为获取信息而拥有的破译手段和所用的 计算机工具。
⑩ 计算机基础题:数字签名技术采用的是公开密钥体制它是用什么加密
私有密钥
密钥是由公开密钥和私有密钥组成的密钥对,用私有密钥进行加密,利用公开密钥可以进行解密