一种密码实验平台的设计方案的关键实现思路

本文详细介绍了密码实验平台的设计方案,强调了用户界面、关键逻辑及密码算法建模的实现思路。平台采用Composite和Factory模式实现基本运算单元的可扩展性,运用Observer模式确保UI组件与算法状态同步。密码算法UI组件分为设计态和运行态,通过不同组件展示算法序列。此外,文章还探讨了密码知识体系的组织和管理,以及非关键功能的实现策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对一个能够实际投入到教学工作中的密码实验平台的刻画将会涉及到一系列功能性、非功能性的细节的设计,在本章中我们忽略了实现中那些简单的或常见的功能设计,而是针对实现过程中各环节的关键技术要点进行设计,其中重点针对密码算法的建模思路进行了详细说明。

 image

 密码实验平台总体设计图(摘自前文)

 

  

 

 

1 密码实验平台的用户界面实现

根据设计,我们知道密码实验平台的界面需要综合密码设计环境及密码运行环境(包括密码验证、密码演示),并集成了密码知识体系的展现,因此相对比较复杂。本密码实验平台的用户界面边界类组织如下:

图 1 密码实验平台用户界面边界类组织结构图

在本节中我们对密码实验平台界面的构成以边界类的形式进行设计(见上图),从而清晰的刻画了界面上所包含的要素及各要素之间的构成关系。因为系统管理任务相对比较常规化,所以我们在此只针对密码实验应用部分进行描述,因此边界类图中不包含对管理工具的用户界面实现的描述。

我们从主界面所包含的界面要素入手,按界面的级别逐次描述密码实验平台的用户界面构成,具体如下:

I)密码算法选择列表

密码算法列表以列表的形式展示了系统中已有的密码算法,供学生选择待实验的算法。密码算法包括初始提供的四种算法及后继通过密码设计实验定制出来的密码算法,在算法比较多时,支持按目录的组织形式。

II)密码实验选择列表

密码实验列表以列表形式展示四种密码实验供学生选择。密码算法的选择结合密码实验的选择决定了需要进行的实验及算法。

III)密码实验工作区

密码实验工作区是进行密码实验的界面区域,密码实验工作区有三种类型,系统根据用户在密码实验列表中的选择从而展示对应的工作区。三种密码实验工作区的实现分别介绍如下:

i)密码验证/演示实验工作区

这里将密码验证和演示演示统一在同一个工作区中,因为他们的主要任务都是运行密码算法,两者之间的区别是:密码验证是直接运行密码算法并输出加密或解密算法的结果,而密码演示是分步骤执行密码算法,并显示每一步执行的基本运算单元的计算结果。

该工作区可以进一步分解为以下几个部分:

a) 结果输出区

在密码验证实验时输出算法执行的结果,或者在密码演示实验时,逐次输出算法流程上每一个基本运算单元单步执行的结果;

b)运行及单步执行工具栏

该工具栏包含了一系列按钮,指定执行密码算法的多种方式。主要执行操作按钮包括:直接运行按钮、单步骤执性算法按钮(每点击一次就执行一个基本运算单元)、开始单步骤执行并深入内部步骤按钮(开始下一步骤的基本算法单元的执行,并进入密码算法单元内部俺更小的步骤执行该算法单元)、执行到指定步骤(直接运行到当前选择的基本运算单元)按钮等。这些按钮驱动算法流程展示区内的执行方式及结果输出区的输出内容。

c) 算法流程展示区

在区域内,以直观的方式展示由算法流程环节的基本运算单元所组成的算法流程图。

ii)密码设计实验工作区

密码设计实验工作区供用户选择基本运算单元,并构造密码算法。该工作区包含以下实现部分:

a) 基本运算单元工具箱

该工具箱分组排列了代表基本运算单元的控件,用户可以选择需要的控件并拖放到算法流程设计区中以构造密码算法。控件的类别包括:一类控件实现参数的输入,包括密钥、密钥长度、待加密的明文及代解密的密文、迭代次数等参数的输入;另一类控件实现基本的运算逻辑,包括各种位运算、置换运算等等。

b) 基本运算单元帮助信息

该界面控件展示了当前在算法基本单元工具箱或者算法流程设计区中选中的基本运算单元相关的帮助信息。帮助信息来自资源管理层的算法知识体系管理子系统,其内容包括该基本运算单元的含义、详细说明、输入输出接口定义信息、使用举例等帮助信息。这些信息在设计时为学生指出了基本运算单元的用途及用法。

c) 算法流程设计区

在区域内,以直观的方式展示用户设计的算法流程图,流程图内的基本单元控件可以通过鼠标调节流程的布局。

iii)密码攻击实验工作区

密码攻击实验工作区是供学生操作密码攻击实验的界面要素,它与密码验证实验工作区类似。不同之处是验证实验需要选择密码算法,而攻击实验则选择密码攻击算法。

IV)密码信息面板

密码信息面板提供当前选择的密码算法或基本运算单元的相关信息以帮助学生对算法的理解和学习,这些信息包括是围绕知识点展开的多个方面的内容。密码信息面板包括以下四个部分:

a) 密码理论知识面板

该部分显示与当前选择的密码算法及基本运算单元相关的理论知识,这些内容取自资源层的密码知识库。

b) 媒体素材列表面板

该部分以用户友好的方式显示媒体素材库里的文件列表,媒体素材包括密码学PPT教案文件、多媒体课件、论文文件等,其来源为资源层的媒体素材库。

c) 相关讨论列表面板

该部分显示围绕目前选中的密码算法或基本运算单元所开展的历史讨论信息,其内容一般是学生的提问、交流与教师的答疑。

注:面板的下方提供“提问”与“回答”入口,通过入口可以激活讨论主题发表面板,供学生或老师提出新的问题,或回复选中的讨论条目。

d) 网络资源链接面板

该部分显示资源层的网络资源库上收集的关于当前密码算法的各种网络资源的链接信息。

2 密码实验平台的关键逻辑实现

密码实验平台的实验逻辑层在资源管理层服务的协助下,共同实现了密码实验的逻辑处理部分。该部分得焦点是对密码算法及基本运算单元的建模,以支持可扩充的密码算法体系,并能够将密码算法细分以实现按步骤执行的演示过程或根据基本运算单元构造复杂密码算法的过程。本节将主要围绕这些关键问题进行较为详细的阐述。

2.1建模思路阐述

密码实验平台的关键目的之一,是通过该平台学习和验证密码算法及其相关密码理论。对于一个具体的算法来说,许多的实验平台只提供了整体“黑盒”的验证,这种实验平台对于教学方面有一定的约束:对于算法内部的相关步骤难以提供清晰的验证过程,很难深入算法内部的相关步骤进行验证,或进一步动态的分步骤演示密码算法;由于算法的整体“黑盒”,学生很难自己完成一个算法的设计过程的教学。针对这些约束,本文采取将密码算法的相关基本运算单元的组件化,算法设计方式的流程化来解决这些问题。

基本运算单元组件是指,通过对密码算法和理论的分析,将密码算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值