密码键盘介绍三:数据加解密
如果要加解密数据,需要确定3个内容: 使用的密钥(明文)、采用的算法和待加解密数据
数据加密问题:
假设现在有如下信息:
- 本地主密钥(LMK)(明文): 3031323334353637
- 终端主密钥(TMK)(密文): 3837363534333231
- 工作密钥 PinKey(密文): 4142434445464748
- 待加密数据: 4A4B4C4D4E4F5051
- 算法:DES
希望使用PinKey来加密数据,该如何做呢?
问题分析:
- 要用PinKey来加解密数据,我们需要得到PinKey(明文)
- 在基础知识部分,我们了解到PinKey(明文)是可以通过终端主密钥(TMK)解密来得到的。我们只要有终端主密钥(TMK)的明文,就可以解密PinKey。
- 同样终端主密钥(TMK)的明文可以通过本地主密钥(LMK)的明文解密得到。
- 这样,我们只要有本地主密钥(LMK)的明文就可以解密PinKey了,显然问题中已经提供了本地主密钥(LMK)的明文信息。
加密步骤:
按照我们前面的分析结果,来实施加密步骤:
-
使用本地主密钥(LMK)对终端主密钥(TMK)解密(DES算法):
本地主密钥(LMK)(明文): 3031323334353637
终端主密钥(TMK)(密文): 3837363534333231
终端主密钥(TMK)(明文): 81E8F56701EEF115 -
使用终端主密钥(TMK)(明文)对PinKey(密文)解密(DES算法):
终端主密钥(TMK)(明文): 81E8F56701EEF115
PinKey(密文): 4142434445464748
PinKey(明文): 623F1648EFE60C80 -
DES算法,使用PinKey(明文)对数据加密
PinKey(明文): 623F1648EFE60C80
待加密数据: 4A4B4C4D4E4F5051
加密结果: 371C20E09D7172F7
这样我们就得到了加密结果:371C20E09D7172F7
数据解密问题:
假设现在有如下信息:
- PinKey(明文): 623F1648EFE60C80
- 待解密数据: 371C20E09D7172F7
- 算法:DES
希望使用PinKey来加密数据,该如何做呢?
- 用DES算法,使用PinKey(明文)对数据解密
PinKey(明文): 623F1648EFE60C80
待解密数据: 371C20E09D7172F7
解密结果: 4A4B4C4D4E4F5051
这样我们就得到了解密结果:4A4B4C4D4E4F5051
特别说明:
- 为了保证安全:通常本地主密钥(LMK)(明文)是银行工作人员手工通过密码键盘输入的,其他人是看不到这个本地主密钥(LMK)(明文)。只有密码键盘里面保存了本地主密钥(LMK)(明文)信息。
终端主密钥(TMK)和PinKey、MacKey等等都是密文方式传送的。(通常每天会更新) - 这样这个密码键盘可以通过本地主密钥(LMK)(明文)来解密终端主密钥(TMK)(密文)、Pinkey(密文)和Mackey(密文),将解密后的明文信息保存在密码键盘中。
- 密码键盘就可以使用PinKey(明文)和MacKey(明文)来进行数据的加解密等运算。
而外部传输的都是Key都是密文形式,保障了安全性。
转载于:https://www.cnblogs.com/peerhuo/p/5620767.html