密钥原理

合集下载

密钥交换(密钥协商)算法及其原理

密钥交换(密钥协商)算法及其原理

密钥交换(密钥协商)算法及其原理密钥交换(密钥协商)算法是指双方在不安全的通信信道中协商出一个共享密钥的过程。

这个共享密钥被用于加密和解密通信中的数据,以确保通信的机密性和完整性。

在密码学中,有许多经典的密钥交换算法,如Diffie-Hellman密钥交换算法、RSA算法和ECC算法等。

Diffie-Hellman是一种最早的密钥交换算法,它利用了离散对数的难题。

该算法的原理如下:1.首先,双方共享一个公开的素数p和一个基数g。

这些参数可以在双方事先约定好,也可以通过其他安全的通信方式传递。

这些参数可以在不同的会话中重复使用。

2.然后,每个参与者选择一个私密的数值作为私钥。

这个私钥只有自己知道。

3.接下来,参与者通过计算公式计算出一个公钥,并将其发送给对方。

公钥的计算公式为:公钥=g的私钥次方对p取模。

4.接收方也进行相同的操作,计算出自己的公钥。

5.双方互相交换公钥信息。

6.然后,双方使用对方的公钥和自己的私钥进行计算,得到一个相同的共享密钥。

计算公式为:共享密钥=公钥的私钥次方对p取模。

7.最后,双方得到的共享密钥可以用于对后续的通信进行加密和解密。

RSA算法是一种公钥密码体制,也可以用于密钥交换。

其原理如下:1.首先,每个参与者生成一对密钥,即一个公钥和一个私钥。

私钥只有自己知道,公钥可以公开。

2.接着,参与者将自己的公钥发送给对方。

3.对方使用收到的公钥对数据进行加密,并将加密后的数据发送给发送方。

4.发送方使用自己的私钥对收到的数据进行解密。

5.最后,双方可以使用解密后的数据进行通信。

ECC(椭圆曲线密码学)算法是基于椭圆曲线离散对数问题的一种密钥协商算法。

其原理如下:1.首先,双方事先约定一个椭圆曲线和一个基点,这些参数可以公开。

2.每个参与者选择一个私密的数值作为私钥。

这个私钥只有自己知道。

3.接下来,每个参与者使用私钥和基点进行一系列的点乘运算,得到一个公钥。

4.然后,双方互相交换公钥信息。

密钥轮转原理

密钥轮转原理

密钥轮转原理密钥轮转原理是一种常用的加密算法,在信息安全领域有着广泛的应用。

它通过对密钥进行循环移位操作,实现对数据的加密和解密。

本文将详细介绍密钥轮转原理的工作过程和应用。

一、工作原理密钥轮转原理的核心思想是通过对密钥进行循环移位操作,将每一位密钥与数据进行异或运算,从而实现数据的加密和解密。

具体工作步骤如下:1. 密钥生成:根据加密算法的要求,生成一个长度为n的密钥。

2. 数据分组:将待加密或解密的数据按照固定长度进行分组,每组的长度与密钥长度相同。

3. 密钥轮转:将密钥按照规定的轮转方式进行移位操作。

移位方式可以是循环左移、循环右移或其他方式,具体取决于加密算法的设计。

4. 异或运算:将移位后的密钥与数据进行异或运算。

异或运算是一种位运算,它可以将两个二进制数的对应位进行比较,如果相同则结果为0,不同则结果为1。

5. 结果输出:将异或运算的结果作为加密或解密后的数据输出。

二、应用场景密钥轮转原理广泛应用于各类加密算法中,例如DES、AES等。

它的优点是简单高效,适用于对称加密和分组密码。

下面以AES算法为例,介绍密钥轮转原理在实际应用中的工作过程。

AES算法是一种高级加密标准,广泛应用于保护敏感数据的安全性。

它使用128位、192位或256位的密钥对数据进行加密和解密。

AES算法的加密过程如下:1. 密钥生成:根据要求生成128位、192位或256位的密钥。

2. 数据分组:将待加密的数据按照128位进行分组。

3. 轮密钥生成:根据密钥生成算法,生成一系列轮密钥。

轮密钥是根据初始密钥进行变换得到的,用于后续的轮次加密操作。

4. 轮次加密:根据加密算法的要求,对每一组数据进行多轮加密操作。

每一轮加密包括字节替代、行移位、列混淆和轮密钥加操作。

5. 输出结果:将最后一轮加密的结果作为最终的加密结果输出。

AES算法的解密过程与加密过程相反。

通过对轮密钥进行逆向操作,可以得到原始的数据。

三、总结密钥轮转原理是一种常用的加密算法,通过对密钥进行循环移位操作,实现对数据的加密和解密。

共享密钥认证原理和示例

共享密钥认证原理和示例

共享密钥认证(Symmetric Key Authentication)是一种加密通信中常见的认证方法,它基于一个前提:通信双方事先共享一个秘密密钥。

这个秘密密钥用于在通信的过程中验证对方的身份,确保信息的安全性。

共享密钥认证原理与示例如下:共享密钥认证原理:1. 密钥分发:在通信双方开始交换信息之前,需要通过某种安全的方式共享一个密钥。

这个过程称为密钥分发。

2. 生成认证数据:在发送消息时,发送方会使用共享密钥对信息生成认证数据,这通常是通过某种形式的加密或哈希函数完成的。

例如,发送方可以计算消息的加密哈希(例如使用HMAC),其中包括共享密钥和消息内容。

3. 验证认证数据:接收方收到消息和随附的认证数据后,将使用相同的共享密钥和相同的加密或哈希函数对收到的消息内容进行处理,以生成一个本地的认证数据。

4. 比较认证数据:接收方比较本地生成的认证数据与发送方提供的认证数据。

如果两者一致,说明消息未被篡改,并且确实是由拥有共享密钥的合法发送方发送的。

共享密钥认证示例:假设Alice和Bob有一个前面通过安全通道共享的密钥,密钥为`K`。

Alice想要向Bob发送一条消息`M`,并使用共享密钥`K`进行认证。

1. 生成认证数据:Alice计算消息`M`的HMAC值(或者其他加密哈希值),使用密钥`K`和消息`M`作为输入。

认证数据(或者说MAC - Message Authentication Code),表示为`MAC(K, M)`。

2. 发送消息和认证数据:Alice将消息`M`和`MAC(K, M)`一起发送给Bob。

3. Bob验证消息:Bob接收到消息`M`和`MAC(K, M)`。

使用相同的HMAC函数和共享密钥`K`对消息`M`计算出一个本地的MAC值,表示为`MAC'(K, M)`。

4. 比较并认证:Bob比较`MAC'(K, M)`和Alice发送过来的`MAC(K, M)`。

密钥的工作原理

密钥的工作原理

密钥的工作原理
密钥的工作原理是基于密码学的原理。

在信息的传输和存储过程中,为了确保数据的安全性和保密性,密钥被用来进行加密和解密操作。

加密是将原始数据经过特定的算法和密钥进行转换,使其变得无法直接理解和解读。

只有拥有正确的密钥,才能够进行解密操作,将加密的数据还原为原始的明文数据。

密钥的选择和使用对于保障数据的安全至关重要。

一个好的密钥应该具备以下特点:
1. 长度足够:密钥的长度越长,破解难度越大。

目前常用的密钥长度一般为128位、192位或256位。

2. 随机性:密钥应该是通过随机的方式生成的,避免使用可预测的密钥。

这样可以增加破解的难度。

3. 保密性: 密钥只能被授权人员所知。

密钥的泄露会导致数据的完全暴露。

4. 更新周期:为了保证密钥的安全性,应该定期更换密钥。

密钥使用一段时间后,有可能会因为技术的发展而被破解。

在实际应用中,密钥的生成、分发和存储也是需要考虑的重要问题。

通常可以使用密码学的算法和协议来完成这些任务,确保密钥的安全性和可靠性。

综上所述,密钥的工作原理是通过使用特定的算法和密钥来实现数据的加密和解密操作,从而保障数据的安全性和保密性。

密钥的选择和使用需要符合一定的要求,同时密钥的生成、分发和存储也需要采取一系列的安全措施。

产品密钥的原理

产品密钥的原理

产品密钥的原理产品密钥(Product Key)是一种用于验证产品合法性的唯一编码,通常用于软件和数字产品,以确保用户购买的产品是正版的。

产品密钥的原理是基于加密算法和数字签名技术,通过给产品分配一个独特的密钥来验证产品的合法性,并防止盗版和非授权使用。

首先,产品密钥是由一组数字、字母和符号组成的唯一编码,能够标识特定的产品和许可证信息。

产品密钥的生成通常是由软件开发商或数字产品提供商在产品发布之前进行的,并且会通过加密算法和数字签名技术来确保密钥的唯一性和安全性。

其次,产品密钥的验证过程是通过将产品密钥与产品的数字签名进行比对来实现的。

数字签名是一种能够验证文件完整性和真实性的技术,通常是由数字证书颁发机构(CA)进行签发。

在产品安装或激活的过程中,系统会要求用户输入产品密钥,并将该密钥与产品的数字签名进行比对,以验证产品的合法性。

此外,产品密钥还可以包含许可证信息和授权限制,用于确定产品的使用范围和权限。

这些许可证信息可以包括产品版本、用户数量、使用期限等,以便在产品激活时进行验证和授权。

通过产品密钥的许可证信息,软件开发商和数字产品提供商可以有效地管理用户许可证,并对产品的使用进行限制和控制。

再者,产品密钥的安全性是确保产品合法性的关键。

产品密钥通常会采用加密算法进行生成和存储,以防止密钥被破解或盗取。

并且,数字签名技术能够保证密钥的真实性和完整性,确保用户输入的密钥和产品的数字签名能够有效匹配。

除此之外,一些先进的产品密钥系统还会采用硬件锁、网站授权等技术来进一步加强产品的安全性。

最后,产品密钥的原理是基于加密算法和数字签名技术,通过唯一的密钥和许可证信息来验证产品的合法性和授权,并防止盗版和非法使用。

通过合理的设计和实施产品密钥系统,软件开发商和数字产品提供商可以保护自己的产品安全性和利益,并提供给用户正版的产品和良好的使用体验。

因此,产品密钥作为一种有效的产品合法性验证机制,已经成为了软件和数字产品领域不可或缺的一部分。

mysql 的 aes_encrypt 的密钥生成原理

mysql 的 aes_encrypt 的密钥生成原理

mysql 的 aes_encrypt 的密钥生成原理
MySQL的`AES_ENCRYPT`函数是用于对数据进行AES加密
的函数,在使用该函数进行加密时需要提供一个密钥。

密钥的生成原理可以分为两种情况:
1. 随机生成密钥:在MySQL中,可以使用`UUID()`函数生成
一个随机的密钥。

例如,可以使用以下方式生成一个随机密钥:
```
SELECT UUID();
```
这样就可以得到一个随机的密钥,将其作为
`AES_ENCRYPT`函数的第二个参数。

2. 使用固定密钥:也可以使用一个固定的密钥作为
`AES_ENCRYPT`函数的参数。

例如,可以使用以下方式指定
一个固定的密钥:
```
SELECT AES_ENCRYPT('your data', 'your key');
```
这里将字符串`your key`作为密钥传递给`AES_ENCRYPT`函数。

无论是随机生成的密钥还是固定密钥,都需要注意密钥的安全性。

随机生成的密钥通常更安全,因为它们更难被猜测。

另外,
为了提高密钥的安全性,可以使用一些额外的技术,例如使用密钥派生函数(KDF)对密钥进行处理,或者将密钥存储在安全的地方,并限制访问权限。

des密钥原理

des密钥原理

des密钥原理
DES(Data Encryption Standard)是一种对称加密算法,其密钥原理如下:
1. 密钥生成:DES使用一个64位的密钥,但实际上只有56位被用于加密算法,每个字节的第8位用于奇偶校验。

密钥生成算法通过对输入密钥进行一系列的置换、选择和旋转操作,生成16个48位的子密钥。

2. 初始置换:明文首先经过一个初始置换,将64位的明文按照固定的规则进行重新排列。

3. 加密轮:DES使用Feistel结构,将64位的明文分为左右两部分,每个加密轮都对右半部分进行扩展置换、与子密钥进行异或运算、通过S盒进行代替、再进行置换,最后与左半部分进行异或运算得到下一轮的右半部分。

4. 初始置换的逆置换:经过16轮加密轮后,得到的64位密文再经过初始置换的逆置换,得到最终的密文。

DES密钥的特点是:密钥序列中的每一个子密钥都只使用一次,即每个子密钥只用于一个加密轮。

同时,DES算法中的所有操作(置换、选择、置换、异或等)都是可逆的,这意味着解密过程可以完全还原出原始的明文。

总的来说,DES密钥原理的核心在于使用初始置换和逆置换对明文进行重新排列,然后通过一系列的加密轮操作生成最终的密文。

同时,DES算法中的所有操作都是可逆的,保证了解密过程的正确性。

passkey原理

passkey原理

passkey原理
Passkey原理是一种用于保护数据安全的重要技术。

在计算机领域中,passkey原理常常被用于加密和解密数据,以确保数据传输和存储的安全性。

Passkey原理的核心思想是通过一组密钥来对数据进行加密,只有拥有正确密钥的用户才能解密数据,从而实现数据的保护和隐私。

Passkey原理的应用范围非常广泛,可以用于电子邮件、网络通信、金融交易、移动应用等各个领域。

通过使用passkey原理,用户可以安全地传输敏感信息,防止数据被恶意篡改或窃取。

Passkey原理的工作原理非常简单,但却非常有效。

当用户需要加密数据时,系统会生成一个随机的密钥,然后使用这个密钥对数据进行加密。

只有拥有正确密钥的用户才能解密数据,确保数据的安全性。

同时,密钥通常是一次性的,加强了数据的安全性。

Passkey原理的优点是安全性高,加密强度大。

由于密钥是随机生成的,破解难度非常大。

同时,由于密钥是一次性的,即使密钥泄露,也不会对数据造成长期影响。

Passkey原理的缺点是密钥管理较为复杂。

由于密钥是一次性的,用户需要妥善保管密钥,避免密钥泄露。

同时,密钥的生成和分发也需要一定的技术和资源支持。

总的来说,Passkey原理是一种非常有效的数据安全保护技术,可
以帮助用户保护数据的安全性和隐私。

通过合理使用passkey原理,可以有效防止数据被恶意窃取和篡改,保障用户的权益和数据安全。

Passkey原理的应用前景广阔,将在未来得到更广泛的应用和发展。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

金融行业密钥详解金融行业因为对数据比较敏感,所以对数据的加密也相应的比较重视。

在其中有关密钥及加密方面的文章很少,并且散发在各个银行及公司的手中,在网上没有专门对这部分进行介绍的。

本文对金融行业的密钥进行较深入的介绍,包括象到底什么是主密钥(MasterKey)、传输密钥(MacKey),为什么我们需要这些东西等。

本文采取追源溯本的方式,力求让对这感兴趣的人达到知其然,同时也知其所以然,而不是模模糊糊的知道几个概念和名词。

因为本文主要是针对对金融行业密钥不是很熟悉的人,所以如果你对密钥很熟悉就不必仔细看了。

好了,咱们言规正传。

我们知道,金融行业有很多数据要在网络上传递,包括从前置到主机,从自助终端到前置等,这些数据在网络上传来传去,我们很容易就会想到安全性的问题,如果这些数据被人窃取或拦截下来,那我们怎么敢在银行存钱了。

这个问题在计算机出现时就被前人考虑到了,所以出现了很多各种各样的加解密技术。

抛开这些不管,假设当初由我们自己来设计怎样解决数据被窃取的情况。

假设我们有一段数据,是ATM 取款的报文,包括一个人的磁卡号、密码、取款金额,现在需要将这些数据从一台ATM机器传到前置机处理,这些数据是比较机密的,如果被人窃取了,就可以用该卡号和密码把帐户中的钱取走。

首先,我们可以想到用专用的银行内部网络,外面的人无法获得网络的访问权。

这个仔细想想显然不可行的,因为一是不能保证外人一定没办法进入银行内部网络,二是银行内部人员作案是没法防止的。

接着,我们很容易想到,既然保证数据不被窃取的可能性很小,那我们何不变换一下思路,数据避免不了被窃取,那我如果将数据处理下,让你即使窃取到数据,也是一些无用的乱码,这样不就解决问题了吗。

这个想法比较接近现在的做法了,当前置机接收到了数据,它肯定是对数据进行反处理,即与ATM端完全步骤相反的数据处理,即可得到明文的数据。

我们再进一步想想,如果因为某种原因,报文中的取款金额被改变了,这样就会导致ATM出的钱和前置扣帐记录的钱不一致的情况,看来我们必须加上一个验证机制,当前置机收到ATM发送的一个报文时,能够确认报文中的数据在网络传输过程中没有被更改过。

怎样实现?最简单的,象计算机串口通讯一样,对通讯数据每一位进行异或,得到0或1,把0或1放在在通讯数据后面,算是加上一个奇偶校验位,收到数据同样对数据每位进行异或,得到0或1,再判断下收到数据最后一位与算出来的是否一致。

这种方式太简单了,对于上面提到的ATM到前置机的报文来说,没什么用处,不过我们可以将对数据每一位异或的算法改成一个比较复杂点的。

因为DES算法已经出来了很多年了,并且在金融行业也有广泛的应用,我们何不用DES算法进行处理,来解决上面的问题呢。

我们应该了解DES算法(此处指单DES)的,就是用一个64bit 的Key对64bit 的数据进行处理,得到加密后的64bit数据。

那我们用一个Key对上面的报文进行DES算法,得到加密后的64bit数据,放到报文的最后,跟报文一起送到前置机,前置机收到报文后,同样用Key对数据(不包括最后的64bit加密数据)进行DES加密,得出64bit的数据,用该数据与ATM发送过来的报文最后的64bit数据比较,如果两个数据相同,说明报文没有中途被更改过。

再进一步,因为DES只能够对64bit的数据进行加密,一个报文可不止64bit,哪我们怎么处理呢?只对报文开头的64bit加密?这个是显然不够的。

我们可以这样,先对报文的开始64bit加密,接着对报文第二个64bit加密,依次类推,不过这有问题,因为每个64bit都会得到同样长度的加密后的数据,我不能把这些数据都放到报文的后面,那报文的长度不变成两倍长了。

换个思路,我先对报文第一个64bit加密,得到64bit的加密后数据data1,接着再拿加密后的data1与报文第二个64bit数据进行按位异或,得到同样长64bit的数据data2,我再用Key 对data2加密,得到加密后的数据data3,再拿data3与报文第三个64bit数据进行按位异或,同样的处理依次类推。

直到最后会得到一个64bit的数据,将这个数据放到报文的最后发到前置机,这样报文的长度只增加了64bit而已。

这个算法就叫做MAC算法。

好了,到目前为止我们已经知道了什么是MAC算法,为什么需要它,接着我们再看看经常被提起的另外一个名词。

在上面说到MAC算法的时候,我们会注意到其中进行DES加密算法时提到了一个Key,这个用来参与MAC计算的Key就常被称为MacKey,也有叫工作密钥、过程密钥的。

我们继续来处理ATM和前置机间网络数据传输的问题。

前面提到的MAC算法对传送的报文进行了处理,保证了在网络传输过程中数据不会被有意或无意的篡改,但是,我们再进一步想想,如果仍然是上面提到的一个取款报文,如果想作案的话,我不改报文的内容,我只是截取报文的内容,因为内容里面有卡号和密码,都是明文的形式,很容易就看出来哪些内容是卡号、哪些内容是密码。

有了卡号和密码,我就好办了,找个读卡器就能够很快的制出一张磁卡,然后拿这个磁卡可以随便取钱了,根本不需要修改报文,这样你就算前置机对报文的MAC校验通过了,也只是保证了报文没改动过,对于防止作案没有实质上的帮助。

那我们很容易想到,我再加上一道加密,这次我把整个存款的报文都用DES加密,将明文全部转换成密文,然后送到前置机,这下好了吧。

即使你把报文截取了也没用,你拿着这些密文也没有用,你也没有DES的密钥来解密它,只有前置机才知道密钥。

这是个好主意,确实防止了卡号和密码等被人获知的危险。

这也是现在普遍采取的做法,不过我们需要对这个做法进行一些改进。

首先,我们要知道用DES对数据加解密是耗时间的,尤其是使用硬加密(下一步讲什么是硬加密)的情况,速度是比较慢的。

我们来想想,整个存款报文有必要每个数据都DES加密吗,象报文中的什么流水号、ATM号等信息,对它们加密没什么意义,进一步讲,取款金额加密也没意义,假设你取500块,但是你将报文改成了100块,导致主机只把你帐户扣100块钱,你白赚了400块。

这个听起来挺划算的,实际上是不可行的,因为这样造成了帐务上的短款,银行当然会查账的,根据ATM记录的硬件出钞张数和主机扣款金额,肯定会把你查出来的,那这种掩耳盗铃的做法,下场显而易见,想必没人这么傻。

我们来考虑一个报文中到底什么信息是需要加密的,目前一般的做法是只对帐号和密码(也有只对密码加密的)进行加密,其他的内容不加密的,明文就明文,没什么大不了的。

对帐号和密码加密有个术语,我们可能都听说过,叫PinBlock,即PIN块,就是对帐号和密码进行DES加密处理后的一个密文数据块。

即然使用了DES算法来加密帐号和密码,则必然有个Key来加密,那么我们就把这个Key称为PinKey,就是专门来加密用户帐户和密码的Key。

至于怎样进行加密形成最后的密文PinBlock,有很多标准的,象IBM3624、ANSI、ISO、DIEBOLD 等标准,其实它们大同小异,就是在对报文中的密码进行一个预处理,再用PinKey来DES加密,主要的差别就是怎样预处理而已,比如有的是密码后面补F,补够16位,就是类似这样的预处理。

到这里我们应该理解PinKey和PinBlock了。

通过PinKey和MacKey对报文进行了两重处理,基本上报文就是安全的了。

如果我们对DES算法比较了解,就会知道,如果想对加密后的密文解密,必须要知道Key才行,所以说Key一定要保密。

怎样来保密Key呢?我们前面提到的无论是算MAC还是算PIN 块,都是直接拿明文的Key来计算的,那么这个Key很容易被窃取的,比如有人在机器上装了个黑客程序,只要检测到你在用Key加密数据,就把明文的Key获取了。

这个听起来好像挺玄乎的,不过是有这个可能性的,尤其是网上银行这些东东最容易中招了。

这样看来,我们还要对PinKey和MacKey本身进行加密,不要让人知道了。

怎样实现,同样是DES 算法大显身手的地方。

我再找个Key对PinKey和MacKey进行一次加密,这样你就看不到PinKey和MacKey的明文了,好,解决问题了。

这时用来对PinKey和MacKey进行加密的Key就被我们称为MasterKey,即主密钥,用来加密其他密钥的密钥。

不过,需要等一下,那MasterKey怎么办,它是明文啊。

再找个Key来加密MasterKey,那最终无论处理多少道,最后的那个Key肯定是明文,这样看来,安全的问题还没有解决啊。

既然此路不通,那我们需要换个思维角度了,仔细想想怎样处理明文的MasterKey。

黑客程序只能窃取我软件上的东西,如果我把MasterKey放到硬件里面怎么样,黑客是没能力跑到我硬件里面把MasterKey取出来的,当然,不排除道高一尺、魔高一丈的情况,但至少99.9%的黑客都没这能力的。

那这样不就解决了我们遇到的问题了吗,只要把MasterKey放到硬件里面(一般是键盘的加密模块里面)就好了。

好,到这里,我们已经不怕有人把报文中的关键信息获取到了,总算是安全了。

在最近,老是有人提到“硬加密”,这个有什么用呢?我上面不是已经解决了加密的问题了吗,还要这个概念干什么?看来我还是有些地方没考虑到。

我一直想的是将明文的密码加密成密文,其中有个环节需要考虑下,明文的密码是怎样形成的,不就是我按键盘上面的数字形成的吗。

以前我的软件处理是这样的,键盘每按一下,我就把那个数字在程序里面先存起来,等到4位或6位密码按完后,再把它们合在一起,再送给PinKey加密。

那如果黑客程序直接把我的按键信息获取,那他根本不用破解报文中用PinKey加密后的密码,直接简单的就把我输入的密码得到了,我前面费尽心思对密码进行加密处理变得一点意义都没有了。

怎么办?如果我把获取按键的程序固化进入加密硬件(一般在键盘中),按键的数字根本不通过上层的软件,直接一步进入硬件里面处理,等到按键按完了后,硬件直接把经过一道处理的按键信息给我上层软件,此时已经是密文了,就相当于把前面计算PinBlock的处理移到硬件里面去了,那黑客就没法获取我的按键了。

这种处理现在就被称为硬加密,伴随着EMV和3DES算法,变得越来越流行了,好像自助终端不支持硬加密就不行,连EMV也强制要求了。

最近还有个名词经常被提到,就是3DES。

为什么要提出3DES的概念呢?我在一篇文章中提到了3 DES的具体算法,其实推出3DES是因为原来的单DES算法随着计算机硬件的速度提升,存在被破解的可能性,所以将算法进行了改进,改为3DES算法。

但是对于我们理解金融行业的密钥及加密机制来说,用什么算法都一样。

相关文档
最新文档