首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TDES (三重DES) DUKPT解密

TDES (三重DES) DUKPT解密
EN

Cryptography用户
提问于 2020-02-21 15:16:38
回答 1查看 867关注 0票数 1

我们有一个POS (Ingenico),使用DES3-CBC加密使用派生密钥。它发送加密数据,10字节大小的密钥序列号(KSN)。我尝试使用CKM_DES3_CBC_ENCRYPT_DATA派生密钥,并使用DES3-CBC机制解密数据。然而,我得到了一些像这样的乱七八糟的数据:

代码语言:javascript
运行
复制
\ufffd\u001dl\ufffdP\ufffdl\ufffd\ufffd\ufffd+\ufffd\ufffd[\ufffd\ufffdl\u0017\ufffd\ufffd\ufffd\u001f?E\ufffd[*\ufffdmd\u0014\u0009ay\ufffd\ufffd3\ufffd\ufffd

我不确定我是否使用正确的机制来派生密钥,或者甚至使用正确的机制来解密数据。

有人能帮我理解一下到底是怎么回事吗?有消息说我需要给KSN贴上垫子。

编辑:我在Github/PKCS上问了一个类似的问题

EN

回答 1

Cryptography用户

发布于 2020-02-25 19:34:19

我解决了问题。因此,对于那些正在寻找答案的人来说,你需要考虑一下你的HSM支持什么机械。我在代码中的每一个逻辑都是正确的。唯一的问题是我用来推导钥匙的机制是错误的。有几种机制可以用来派生密钥,这是很难理解的部分,因为它没有具体说明。正如问题中所述,我从CKM_DES3_CBC_ENCRYPT_DATA开始,但结果,我不得不使用CKM_DES2_DUKPT_DATA。这种机制在任何包装库中都没有定义,比如c# interlop pkcs11库或者我使用的那个golang库。因为这是供应商定义的机制,所以我必须自己定义它,并相应地使用它。

我希望这对将来的任何人都有帮助!

票数 1
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/77749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档