《密码系统设计》实验
实验项目
实验序号 | 实验名称 | 实验学时数 | 实验目的 | 实验内容 | 实验类型 | 学生学习预期成果 |
---|---|---|---|---|---|---|
实验三 | 密码模块实现 | 6 | 基于商用密码标准的密码模块的实现 | 实现简单的密码引擎,能够提供对称密码算法、非对称密码算法、Hash算法等的密码服务。 | 综合性 | 1.理解密码系统固件、接口等的设计和开发流程; 2.参考《GMT 0018-2023密码设备应用接口规范》等商用密码标准设计实现密码算法进行加密/解密、签名/验签、密钥生成/导出等的接口; 3.与其他商用密码模块进行兼容性测试。 |
实验三 密码模块实现
1-3 学时实践要求(30 分)
《GM/T 0016智能密码钥匙密码应用接口规范》:这是智能密码钥匙设备的应用接口标准,规定了密码相关应用接口的函数、数据类型、参数的定义和设备的安全要求。
《GMT 0018密码设备应用接口规范》:这是服务端密码设备应用接口的算法标识、数据结构和接口函数的标准。
-
在 Ubuntu或openEuler中(推荐 openEuler)中编译运行附件中《GM/T 0016智能密码钥匙密码应用接口规范》相关代码,并新增完成标准中至少一项功能。使用Markdown记录详细记录实践过程,每完成一项功能或者一个函数git commit 一次。(15分)
-
在 Ubuntu或openEuler中(推荐 openEuler)中编译运行附件中《GMT 0018 密码设备应用接口规范》相关代码,并新增完成标准中至少一项功能。(15分)
-
实验记录中提交 gitee 课程项目链接,提交本次实验相关 git log运行结果。
- GMT0018 裸卡ukey
root@LAPTOP-PRC71A0C:~/bestidiocs2024/ch06/rochs0018sdf# cd config
root@LAPTOP-PRC71A0C:~/bestidiocs2024/ch06/rochs0018sdf/config# ls
config.sh unconfig.sh
root@LAPTOP-PRC71A0C:~/bestidiocs2024/ch06/rochs0018sdf/config# chmod +x *.sh
root@LAPTOP-PRC71A0C:~/bestidiocs2024/ch06/rochs0018sdf/config# sudo ./config.sh
Please restart your computer in order for this change of udev rules to take effect
run finished!
root@LAPTOP-PRC71A0C:~/bestidiocs2024/ch06/rochs0018sdf/config# git init
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
Initialized empty Git repository in /root/bestidiocs2024/ch06/rochs0018sdf/config/.git/
root@LAPTOP-PRC71A0C:~/bestidiocs2024/ch06/rochs0018sdf/config# git add .
root@LAPTOP-PRC71A0C:~/bestidiocs2024/ch06/rochs0018sdf/config# git commit -m "GMT0018-1"
[master (root-commit) 92f92df] GMT0018-1
Committer: root <root@LAPTOP-PRC71A0C>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly. Run the
following command and follow the instructions in your editor to edit
your configuration file:
git config --global --edit
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
2 files changed, 153 insertions(+)
create mode 100755 config.sh
create mode 100755 unconfig.sh
root@LAPTOP-PRC71A0C:~/bestidiocs2024/ch06/rochs0018sdf/config# git log
commit 92f92df3d195bb5689d59c1c362d342543571284 (HEAD -> master)
Author: root <root@LAPTOP-PRC71A0C>
Date: Sun Nov 17 19:44:27 2024 +0800
GMT0018-1
//
root@LAPTOP-PRC71A0C:~/bestidiocs2024/ch06/rochs0018sdf# git init
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git</