【发布时间】:2015-05-10 11:15:56
【问题描述】:
我编写了一个 Java Card 小程序来进行 DES 加密/解密。 source code of my applet(如果你想使用它,考虑一下 Bodewes 先生在这个源代码中发现了一些错误(这些错误在他的回答下的 cmets 中提到。所以修复它然后使用)有以下功能:
- DES_ECB_ISO9797_M1
- DES_ECB_ISO9797_M2
- DES_ECB_NOPAD
- DES_ECB_PKCS5
我对我的程序输出和在线工具的输出进行了比较,最后我发现它们不同。所以我想使用 OpenSSL 检查我的程序输出的正确性。
这些是使用 key = 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 加密 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 的结果:
::> SendToApplet.exe -key 1122334455667788 -data 3030303030303030
Command::
Data: 3030303030303030
Key : 1122334455667788
Results::
DES_ECB_ISO9797_M1:
8E 43 CF B8 91 02 01 38 .C.....8
DES_ECB_ISO9797_M2:
A6 DE 1C D9 1B A9 EE D0 ........
DES_ECB_NOPAD:
0B FC BF EE 82 F4 8B 19 .......
DES_ECB_PKCS5:
AA 6E 4D 79 E5 0C B1 51 .nMy...Q
问题是如何检查这些结果是否正常?
这是 OpenSSL 工具 命令和参数的列表:
OpenSSL> ?
openssl:Error: '?' is an invalid command.
Standard commands
asn1parse ca ciphers crl crl2pkcs7
dgst dh dhparam dsa dsaparam
ec ecparam enc engine errstr
gendh gendsa genrsa nseq ocsp
passwd pkcs12 pkcs7 pkcs8 prime
rand req rsa rsautl s_client
s_server s_time sess_id smime speed
spkac verify version x509
Message Digest commands (see the `dgst' command for more details)
md2 md4 md5 rmd160 sha
sha1
Cipher commands (see the `enc' command for more details)
aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb aes-256-cbc
aes-256-ecb base64 bf bf-cbc bf-cfb
bf-ecb bf-ofb cast cast-cbc cast5-cbc
cast5-cfb cast5-ecb cast5-ofb des des-cbc
des-cfb des-ecb des-ede des-ede-cbc des-ede-cfb
des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb
des-ofb des3 desx idea idea-cbc
idea-cfb idea-ecb idea-ofb rc2 rc2-40-cbc
rc2-64-cbc rc2-cbc rc2-cfb rc2-ecb rc2-ofb
rc4 rc4-40
不幸的是,我可以看到与填充模式相关的任何内容(即 ISO9797_M1、ISO9797_M2、NOPAD 和 PKCS5 )。如何在我的命令中指定它们?
【问题讨论】:
-
这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Information Security Stack Exchange 会是一个更好的提问地点。另请参阅Where do I post questions about Dev Ops?。
-
@jww 这是关于检查编程实验/API 测试的结果。亚伯拉罕,也许您可以将链接集成到问题中的代码。
-
@Maarten - 询问在哪里可以找到测试向量是题外话。询问如何使用 OpenSSL 命令是题外话。他们都有更好的网站。对于它的价值,我认为这不是一个坏问题。它只是更适合不同的网站。 (而他遇到的编程问题在Java Card DES generator applet output is different from online-tools output问)。
标签: encryption openssl cryptography des