使用单片机实现即时的加密通信
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用单片机实现即时的加密通信
作者:黄俊礼,朱大庆,张明雷
单位:一系四队
摘要
随着单片机越来越广泛的应用,单片机的技术越来越成熟。本文使用C51系列的单片机来实现加密的语音通信。首先是使用模数转换把语音信号转换为数字信号,然后用单片机对数字信号进行处理,采用汇编语言对信号进行DES 加密,最后用串口输出;接收方收到串行数据后,解密输出,然后进行数模转换,经过放大后还原成语音信号。
Abstrac
The technology of MCU system is much more mature today. In this project, I use MSC-51 singlechip to design encrypted communication system which is based on voice in time. The schematic of project includes four parts: A/D convertion, D/A convertion, encrypted by software, transported in serial port. The arithmetic of encryption is DES(Data Encryption Standard) which is written by assemble language.
关键词:DES加密;即时通信;串行通信
一.硬件组成部分
1,电路图
2,工作原理
(1)A/D转换部分
(语)音频信号通过电位器的调节,传至模/数转换芯片ADC0809的第一路输入口,编码地址ABC为000表明选择IN0作为输入,其他7路输入均接地以防止干扰。由单片机AT89S52的ALE为ADC0809提供时钟信号,并由WR对ADC0809的模数转换进行控制,转换后的8位数据传至AT89S52的P0口。(2)单片机部分
采用12M的时钟信号,图中的开关为复位开关.当接收到ADC0809的信号后,存在寄存器中,当采样达到64bit位时,对其进行DES加密,加密后的数据由串口输出。(具体的DES见后面的软件设计部分)。
(3)D/A转换部分
P1端口的数据传至DAC08032的输入口,由DAC0832的接法可知这里是即时地把数字信号转换为模拟信号。模拟信号通过双运放4558放大后驱动扬声器。
(4)串口通信电平转换电路
为了把单片机的TTL电平转换为传输的RS232C电平,这里采用了一片MAX232,电平转换后采用串口传输。使用此单元电路的目的是增加通信距离。
二.软件组成部分
DES算法是一种通用数据加密标准,用于加密关键而非保密的信息。通过汇编语言编写DES加脱密过程下载到单片机中实现一些简单信息的模数转换后加脱密,既灵活多变,又方便经济。
DES明文分组为64bit密钥分组为64bit。将64bit明文经IP置换后分为两组,每组32bit.每次加密一组轮换加密,对一组进行E盒,P盒运算后与另外32bit 异或即可,脱密是加密的逆过程。
通过分析DES加密过程实现IP,IP逆,E盒与P盒较为容易,难点在于S盒变换,另外密钥的生成可以通过对方约定同一固定密钥后,固化在单片机程序存储器。
下图为DES的加密过程
64比特明文X
初始置换L0R0=IP(X)
L0 R0
K1 +
f
L15=R14R15=L14○+f(R14,K15)
K16 + f
L16=R15 R16=L15○+f(R15,K16)
终置换C=IP-1(R16L16)
输出64比特密文
一、在单片机中内部RAM 的地址为20H~2FH 的一般可按们寻址,位地址00H~7FH128bit 位具体实现的算法及了程序编写思路过程如下,另附原代码IP 置换即将明文的64bit 分组按下表排列。
IP
R(32bit)
E 置换
+
S1盒
S8盒
P置换(32bit)
K(48bit)
64
636261605958575655545352515049484746454443424140393837363534333231302928272625242322212019181716
151413121110987654321
7
15233139475563513212937455361311192735435159191725334149578
16243240485664614223038465462412202836445260210182634425058
IP:入口寄存器:(MSB )27 26 25 24 23 22 21 20(LSB ),
出口寄存器:(MSB )2F 2E 2D 2C 2B 2A 29 28(LSB ) MOV C,06H; MOV 7FH,C;
MOV C,0EH; MOV 7EH,C; 重 复
MOV C,31H; MOV 41H,C;
MOV C,39H; MOV 40H,C;
二、经IP 置换后明文从第一位至第64位依次存放在寄存器2F ,2E ,2D ,2C ,2B ,2A ,29,28中,即位地址7FH~40H 中,可对地址中数据按位变换传送到地址00H~2FH 中E
盒扩展映射。
32
3130292827262524232221201918171615141312
11109
87654321
E
2824201612843232313029282726252423222120191817161514131211109
876543211
2925211713
95
E:
MOV C , 40H MOV 00H ,C
MOV C ,5FH MOV 01H , C
重 复
MOV C , 40H MOV 2EH ,C MOV C , 5FH MOV 2FH , C
三、○
1异或子程序(32位) 入口寄存器:27 26 25 24 3F 3E 3D 3C ,