加密通道SEC中的加密通道通过一个或多个SEC执行单元(EU)管理每个加密任务的执行。将给定任务的控制信息和数据指针以描述符的形式存储在系统存贮器或通道本身。描述符确定将使用哪些EU,如何配置它们,从哪里取所需要的数据,以及将结果存放到哪里。要激活加密任务,主机首先构造一个描述符,然后选择一个通道,并把描述符的指针写入所选通道的取FIFO中。通道执行的操作包括:如果通道空闲,并且它的取FIFO不为空,则从取FIFO读取下一个描述符的指针,并使用这个指针把描述符读到通道的描述符缓存。为互斥使用通道,向控制器请求分配一个或多个EU单元。如果需要,可以配置辅助EU监听用于主EU的输入或输出数据。当收到EU复位序列完成的通知时,初始化所分配EU中的模式寄存器。初始化EU并写入EU寄存器,例如密钥长度和文本数据长度等。
将数据包从系统存贮器传输到所分配EU的输入寄存器和FIFO。这可能包含使用链接表收集已经被分成多个段的输入数据,这些段存储在系统存贮器的不同地方。将数据包从所分配EU的输出寄存器和FIFO传输到系统存贮器空间。这可能包含用链接表把输出数据分散到多个段中,这些段存储在系统存贮器的不同地方。对于RAID-XOR描述符类型,通道轮流使用三个数据源,从每个源取32个字节。在描述符指示最后一个EU写完成时,初始化所分配EU中的EU-Go寄存器(如果可用)。写EU-Go以后,在进行下一步活动之前,通道将等待来自EU的输入文本数据处理完成的指示。复位所分配的EU。释放所分配的EU。在处理完一个描述符时,以中断或将描述符首部写回系统存贮器的方式向主机提供反馈。
你想了解更多关于这种加密方式的细节吗?你可以参考SEC加密资源来进一步阅读。对于感兴趣的硬件设计者,sec3000加密芯片资料将是一个有用的资源。如果你想看看具体的代码实现,加密侧通道源码也许正是你所需要的。了解数据传输的相关技术,多通道数据传输和DTU数据传输单元将为你提供丰富的信息。
当描述符处理由于错误而停止时,通过中断向主机提供反馈。通道将无休止地等待控制器完成所请求的活动,然后继续下一个描述符的处理。想象一下,一个庞大的系统在你掌控之下,每一个任务都在有序地进行,这感觉是不是很奇妙?如果你对如何实际应用这些技术感兴趣,GPRS的数据传输单元设计可能会让你大开眼界。还有那些关于文件加密解密的方法,如C# 新的文件加密解密方法SEC_FILE和文件加密算法单元EncryptFileDecryptFile,都能为你的项目提供很好的参考。
探索这些资源,不仅让你理解加密通道的工作原理,还能让你在实际应用中游刃有余。去看看这些链接,你会发现更多精彩内容!
暂无评论