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

消费电子 时间:2010-12-07来源:网络


2.1.3 AES加解密模块

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

(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)自定义指令逻辑

Nios II自定制AES加密指令的内部硬件结构如图6所示。从图6可以看到用户自定义逻辑功能(AES)连接到了ALU的2个输入端以及ALU的输出端,当使用 Nios II的自定义指令时,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控制系统的命令,来实现通信双方的互连通信。
1 2 3 4

关键词: 传输系统 设计 加密 语音 Nios II 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版