密码键盘介绍三:数据加解密

如果要加解密数据,需要确定3个内容: 使用的密钥(明文)、采用的算法和待加解密数据

数据加密问题:

假设现在有如下信息:

  • 本地主密钥(LMK)(明文): 3031323334353637
  • 终端主密钥(TMK)(密文): 3837363534333231
  • 工作密钥 PinKey(密文): 4142434445464748
  • 待加密数据: 4A4B4C4D4E4F5051
  • 算法:DES

希望使用PinKey来加密数据,该如何做呢?

问题分析:
  1. 要用PinKey来加解密数据,我们需要得到PinKey(明文)
  2. 在基础知识部分,我们了解到PinKey(明文)是可以通过终端主密钥(TMK)解密来得到的。我们只要有终端主密钥(TMK)的明文,就可以解密PinKey。
  3. 同样终端主密钥(TMK)的明文可以通过本地主密钥(LMK)的明文解密得到。
  4. 这样,我们只要有本地主密钥(LMK)的明文就可以解密PinKey了,显然问题中已经提供了本地主密钥(LMK)的明文信息。
加密步骤:

按照我们前面的分析结果,来实施加密步骤:

  1. 使用本地主密钥(LMK)对终端主密钥(TMK)解密(DES算法):
    本地主密钥(LMK)(明文): 3031323334353637
    终端主密钥(TMK)(密文): 3837363534333231
    终端主密钥(TMK)(明文): 81E8F56701EEF115

  2. 使用终端主密钥(TMK)(明文)对PinKey(密文)解密(DES算法):
    终端主密钥(TMK)(明文): 81E8F56701EEF115
    PinKey(密文): 4142434445464748
    PinKey(明文): 623F1648EFE60C80

  3. DES算法,使用PinKey(明文)对数据加密
    PinKey(明文): 623F1648EFE60C80
    待加密数据: 4A4B4C4D4E4F5051
    加密结果: 371C20E09D7172F7

这样我们就得到了加密结果:371C20E09D7172F7

数据解密问题:

假设现在有如下信息:

  • PinKey(明文): 623F1648EFE60C80
  • 待解密数据: 371C20E09D7172F7
  • 算法:DES

希望使用PinKey来加密数据,该如何做呢?

  1. 用DES算法,使用PinKey(明文)对数据解密
    PinKey(明文): 623F1648EFE60C80
    待解密数据: 371C20E09D7172F7
    解密结果: 4A4B4C4D4E4F5051

这样我们就得到了解密结果:4A4B4C4D4E4F5051

特别说明:
  1. 为了保证安全:通常本地主密钥(LMK)(明文)是银行工作人员手工通过密码键盘输入的,其他人是看不到这个本地主密钥(LMK)(明文)。只有密码键盘里面保存了本地主密钥(LMK)(明文)信息。
    终端主密钥(TMK)和PinKey、MacKey等等都是密文方式传送的。(通常每天会更新)
  2. 这样这个密码键盘可以通过本地主密钥(LMK)(明文)来解密终端主密钥(TMK)(密文)、Pinkey(密文)和Mackey(密文),将解密后的明文信息保存在密码键盘中。
  3. 密码键盘就可以使用PinKey(明文)和MacKey(明文)来进行数据的加解密等运算。
    而外部传输的都是Key都是密文形式,保障了安全性。

转载于:https://www.cnblogs.com/peerhuo/p/5620767.html

密码键盘介绍三:数据加解密-编程知识网创作打卡挑战赛赢取流量/现金/CSDN周边激励大奖