新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于Nios II的语音加密传输系统设计

基于Nios II的语音加密传输系统设计

作者:时间:2010-12-07来源:网络收藏


2.1.3 AES加解密模块

G.729A的编码帧为80 bit/10 ms,根据对进行分帧编码和传输的特点,在利用该声码器构造保密通信时选用分组密码。本文采用高级标准AES完成数字语音信号的加解密,为了提高AES加解密速度,将AES加解密过程 的一条自定义指令。

(1)AES算法及硬件实现

AES模块工作原理如下:在运算控制模块(Control) 控制下,待明文与初始圈密钥进行异或(AddRoundKey),接着进行Nr次圈迭代变换,除最后一圈(第Nr圈)省略列混合变换处,每圈包含字节代替变换(ByteSub)、行移位变换(ShiftRow)、列混合变换(MixColumn)和圈密钥加法(AddRoundKey)四步变换。

解密工作过程与加密相类似,待脱密的密文与初始圈密钥进行异或(AddRoundKey),然后进行Nr圈迭代运算,除最后一圈(第Nr圈)省略逆列混合变换外,每圈包含逆字节代替变换(InvByteSub)、逆行移位变换(InvShiftRow)、逆列混合变换 (InvMixColumn)、圈密钥加(AddRoundKey)四步变换。

G.729A的语音编码帧为80 bit/10 ms,每秒所需加密的数据约为8 Kbit,因此,在满足语音加密的情况下,本文采用循环方式实现AES,节省硬件资源。其硬件加解密结构及其相关控制信号如图5所示。

AES硬件加解密结构
AES硬件加解密结构
图5 AES硬件加解密结构

(2)自定义指令逻辑

自定制AES加密指令的内部硬件结构如图6所示。从图6可以看到用户自定义逻辑功能(AES)连接到了ALU的2个输入端以及ALU的输出端,当使用 的自定义指令时,Nios II内部的ALU操作将被放弃,以用户自定义逻辑的输出结果作为有效结果。

Nios自定义逻辑指令
 Nios自定义逻辑指令
图6 Nios自定义逻辑指令

AES加解密模块得到的自定义逻辑在多个时钟周期完成,采用多周期自定义指令结构。涉及的信号线在dataa、datab、result 的基础上增加了clk、clk_en、reset、start 4个信号。其指令结构如图7所示。

AES自定义指令结构
AES自定义指令结构
图7 AES自定义指令结构

2.1.4 通信传输模块

通信传输模块利用MODEM在公共电话网PSTN上实现通信。PSTN网络覆盖面广,用户通过MODEM就可以方便地完成对接,实现通信,这在现有条件下非常实用。

MODEM通过RS232接口与DE1相连,通过RJ45与PSTN网络相连,解析来自Nios II控制系统的命令,来实现通信双方的互连通信。


评论


相关推荐

技术专区

关闭