DES测试数据

加密测试数据

                key                                 plaintext                        ciphertext
                0000000000000000 0000000000000000 8CA64DE9C1B123A7
                FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF 7359B2163E4EDC58
                3000000000000000 1000000000000001 958E6E627A05557B
                1111111111111111 1111111111111111 F40379AB9E0EC533
                0123456789ABCDEF 1111111111111111 17668DFC7292532D
                1111111111111111 0123456789ABCDEF 8A5AE1F81AB8F2DD
                0000000000000000 0000000000000000 8CA64DE9C1B123A7
                FEDCBA9876543210 0123456789ABCDEF ED39D950FA74BCC4
                7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B
                0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271
                07A1133E4A0B2686 0248D43806F67172 86

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
06-02
好的,以下是一个简单的SKF_Encrypt()函数的测试用例,测试DES算法的准确性和TPS性能。您可以根据需要进行修改。 ``` #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <conio.h> #include "skf.h" int main() { // 初始化设备 ULONG rv = SKF_Init(); if(rv != SAR_OK) { printf("SKF_Init failed, error code = %X\n", rv); return -1; } // 打开应用 char *app_name = "TestApp"; HAPPLICATION hApp; rv = SKF_OpenApplication(app_name, &hApp); if(rv != SAR_OK) { printf("SKF_OpenApplication failed, error code = %X\n", rv); SKF_Finalize(); return -1; } // 打开容器 char *container_name = "TestContainer"; HCONTAINER hContainer; rv = SKF_OpenContainer(hApp, container_name, &hContainer); if(rv != SAR_OK) { printf("SKF_OpenContainer failed, error code = %X\n", rv); SKF_CloseApplication(hApp); SKF_Finalize(); return -1; } // 设置密钥参数 BLOCKCIPHERPARAM EncryptParam; memset(&EncryptParam, 0, sizeof(BLOCKCIPHERPARAM)); EncryptParam.Algorithm = SGD_DES; EncryptParam.PaddingType = 0; EncryptParam.IVLen = 8; EncryptParam.KeyLen = 8; // 生成密钥 HKEY hKey; rv = SKF_GenRandom(hContainer, 8, NULL); if(rv != SAR_OK) { printf("SKF_GenRandom failed, error code = %X\n", rv); SKF_CloseContainer(hContainer); SKF_CloseApplication(hApp); SKF_Finalize(); return -1; } rv = SKF_SetSymmKey(hContainer, "TestKey", &EncryptParam, &hKey); if(rv != SAR_OK) { printf("SKF_SetSymmKey failed, error code = %X\n", rv); SKF_CloseContainer(hContainer); SKF_CloseApplication(hApp); SKF_Finalize(); return -1; } // 加密数据 ULONG ulDataLen = 8; BYTE pbData[8] = {1, 2, 3, 4, 5, 6, 7, 8}; BYTE pbIV[8] = {0}; BYTE pbEncData[8]; ULONG ulEncLen = 8; rv = SKF_Encrypt(hKey, pbIV, pbData, ulDataLen, pbEncData, &ulEncLen); if(rv != SAR_OK) { printf("SKF_Encrypt failed, error code = %X\n", rv); SKF_CloseContainer(hContainer); SKF_CloseApplication(hApp); SKF_Finalize(); return -1; } // 解密数据 BYTE pbDecData[8]; ULONG ulDecLen = 8; rv = SKF_Decrypt(hKey, pbIV, pbEncData, ulEncLen, pbDecData, &ulDecLen); if(rv != SAR_OK) { printf("SKF_Decrypt failed, error code = %X\n", rv); SKF_CloseContainer(hContainer); SKF_CloseApplication(hApp); SKF_Finalize(); return -1; } // 检查解密后的数据是否与原始数据相同 if(memcmp(pbData, pbDecData, ulDataLen) != 0) { printf("SKF_Encrypt/Decrypt test failed\n"); SKF_CloseContainer(hContainer); SKF_CloseApplication(hApp); SKF_Finalize(); return -1; } // 计算TPS性能 int i, count = 1000; clock_t start, end; double duration; start = clock(); for(i = 0; i < count; i++) { rv = SKF_Encrypt(hKey, pbIV, pbData, ulDataLen, pbEncData, &ulEncLen); if(rv != SAR_OK) { printf("SKF_Encrypt failed, error code = %X\n", rv); SKF_CloseContainer(hContainer); SKF_CloseApplication(hApp); SKF_Finalize(); return -1; } } end = clock(); duration = ((double)(end - start)) / CLOCKS_PER_SEC; printf("SKF_Encrypt TPS: %.2f\n", count / duration); // 关闭容器 SKF_CloseContainer(hContainer); // 关闭应用 SKF_CloseApplication(hApp); // 终止设备 SKF_Finalize(); return 0; } ``` 该测试用例使用了SKF库中的函数来初始化设备、打开应用、打开容器、生成密钥、加密数据、解密数据等操作,并计算了SKF_Encrypt()函数的TPS性能。您可以根据需要修改测试用例中的参数和计算方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值