0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在DSP/BIOS中實現(xiàn)的信號產(chǎn)生和加解密模塊的設(shè)計

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-02-06 08:48 ? 次閱讀

1 引言

混沌是非線性動力系統(tǒng)所特有的一種運動形式,它廣泛地存在于自然界。一般而言,混沌現(xiàn)象隸屬于確定性系統(tǒng)而難以預(yù)測,隱含于復(fù)雜系統(tǒng)但又不可分解,呈現(xiàn)多種混沌無序卻又頗有規(guī)則的圖像。

混沌信號的表現(xiàn)形式非常復(fù)雜,具有類噪聲,非周期等特點。但是混沌系統(tǒng)本身又是確定的,由方程,參數(shù)所完全決定,是確定性非線形系統(tǒng)產(chǎn)生的不確定的信號,其狀態(tài)完全可以重現(xiàn)。混沌系統(tǒng)對初值敏感。初值X0的微小的差異,Xn將有很大的差異。這種對初值的敏感性,很小的初值誤差就能被系統(tǒng)放大,使得兩個完全相同的混沌系統(tǒng)從幾乎相同的初始條件開始演化,很快它們的軌道就變得差異很大,互不相關(guān)。因此,系統(tǒng)的長期性是不可預(yù)測的。這些性質(zhì)使得混沌信號具有長期不可預(yù)測性和很強的抗截獲能力。所以將混沌掩蓋引入保密通信領(lǐng)域具有極其廣闊的前景和巨大的潛力]。

混沌信號的產(chǎn)生是混沌加密實現(xiàn)的關(guān)鍵,由某些硬件電路組成的物理系統(tǒng)(例如蔡氏電路和模擬Lorenz系統(tǒng)的振蕩器等)所產(chǎn)生的連續(xù)混沌信號是不可預(yù)測的,傳統(tǒng)的采用模擬電路產(chǎn)生混沌信號的方法雖然有很多優(yōu)點,但仍存在著由于通信兩端模擬電路的器件精度難以完全一致,導(dǎo)致同步性能不是很好的問題。而DSP具有小型嵌入式操作系統(tǒng),實時加密,應(yīng)用方便,又不存在器件的精度問題[3] ,可以在保密通信中實現(xiàn)很好的同步。

2 混沌加密的基本理論

2.1 Lorenz方程

混沌信號的質(zhì)量是加密效果的關(guān)鍵。文中選用Lorenz 系統(tǒng)。Lorenz 方程為三維,屬于高維混沌系統(tǒng)。應(yīng)用Lorenz 方程等高維系統(tǒng)構(gòu)造序列密碼的優(yōu)點在于:一是可以對多個系統(tǒng)變量進(jìn)行處理產(chǎn)生序列密碼。產(chǎn)生序列密碼的原始混沌浮點數(shù)序列既可以是一個混沌變量的序列值,也可以是多個變量的函數(shù)值。這樣序列密碼的設(shè)計更靈活,有更大的空間。提高安全性、改善有限精度造成的短周期效應(yīng)。二是能提供大量密鑰空間。Lorenz 方程具有3個系統(tǒng)變量,也就是有3 個初始值,還有3 個系統(tǒng)參數(shù),這些都可以用來作為序列密碼系統(tǒng)的種子密鑰[4]

選取系統(tǒng)參數(shù):u=16,r=45.2,b=4,初值的選取可以是不為零的任意數(shù),最好能選取在系統(tǒng)混沌吸引子中,這樣可以使系統(tǒng)快速地進(jìn)入混沌狀態(tài)。

2.2 混沌信號的產(chǎn)生

混沌信號的產(chǎn)生主要借助于DSP 強大的運算能力,采用數(shù)值計算的方法?;煦绶匠痰奈⒎?jǐn)?shù)值計算方法主要有:歐拉方法、改進(jìn)歐拉方法和四階龍格-庫塔法。這三種方法精度由低到高,計算量同樣由低到高。文中采用歐拉法。運用歐拉法將方程化為差分方程:定義x、y、z 為雙精度型,選取初值x0=0.15、y0=0.1、z0=0.1。方程參數(shù)值選取A=16、B=45.2、C=4,并定義步長為k,在給定初值的情況下,運用下面三個方程產(chǎn)生混沌信號:

在DSP/BIOS中實現(xiàn)的信號產(chǎn)生和加解密模塊的設(shè)計

3 基于DSP 的混沌信號產(chǎn)生器

3.1.硬件構(gòu)成與系統(tǒng)框圖

考慮到算法復(fù)雜度與開發(fā)便利,本系統(tǒng)采用TI 公司生產(chǎn)的通用高性能32 位定點DSP即TMS320DM642 作為主處理器。該處理器工作主頻高達(dá)720MHZ,處理性能可達(dá)5760MIPS,完全可以滿足算法的要求。整個加密系統(tǒng)的硬件是由上位機(jī)、兩臺DSP 及其外設(shè)組成[5] ,硬件框圖如圖1 所示。PC 機(jī)通過JTAG 仿真器接口與DSP 相連,以方便PC 機(jī)對系統(tǒng)進(jìn)行調(diào)試,DSP 負(fù)責(zé)混沌信號的產(chǎn)生與數(shù)據(jù)的加密。實時語音數(shù)據(jù)經(jīng)過AD 采樣傳輸?shù)紻SP 片內(nèi)RAM 中。由于片內(nèi)RAM 空間有限,DSP 將把所接受到的數(shù)據(jù)寫到片外SRAM 中加以保存。DSP 調(diào)用特定的混沌加密算法,對所接受的數(shù)據(jù)進(jìn)行加密處理,將加密后的數(shù)據(jù)通過DSP 的以太網(wǎng)口用網(wǎng)絡(luò)傳輸?shù)搅硪慌_DSP 上,然后在另一臺DSP 上解密,最后經(jīng)DA輸出,還原原始的實時語音信號[6]。

在DSP/BIOS中實現(xiàn)的信號產(chǎn)生和加解密模塊的設(shè)計

3.2.軟件流程

DSP 的實時操作系統(tǒng)(RTOS)是一段嵌入在目標(biāo)代碼中的軟件,用戶的其他程序都建立在這一操作系統(tǒng)之上,具有很高的可靠性和可行性的內(nèi)核,可以根據(jù)優(yōu)先級合理的分配資源和CPU 的時間。在實現(xiàn)過程中可以屏蔽掉一些具體的硬件操作細(xì)節(jié)。本系統(tǒng)的開發(fā)就采用了DSP/BIOS,DSP/BIOS 是TI 公司針對其生產(chǎn)的DSP 芯片而開發(fā)的一個實時操作系統(tǒng),可實時調(diào)度和同步以及進(jìn)行主機(jī)/目標(biāo)系統(tǒng)通信和實時監(jiān)控的應(yīng)用。它具有搶占式多任務(wù)內(nèi)核,硬件抽象層,實時系統(tǒng)工具,配置工具??梢暂p易地實現(xiàn)多線程的實時調(diào)度與同步,硬件中斷響應(yīng)時間一般在微秒級(us)。DSP/BIOS 是由許多功能模塊構(gòu)成的,每個功能模塊都提供了大量標(biāo)準(zhǔn)的API 接口,從而實現(xiàn)了對硬件的抽象,程序員通過調(diào)用API 可以很容易利用DSP/BIOS 所提供的各種功能,如線程創(chuàng)建,撤銷,喚醒等等??傊肈SP/BIOS 極大地提高了DSP 軟件開發(fā)的可靠性,大大加快了開發(fā)進(jìn)度。

RTOS 中最重要的概念就是任務(wù),每一個線程有一些任務(wù)組成,本系統(tǒng)的軟件結(jié)構(gòu)采用多線程同步工作方式,主要分為三個線程:(1)網(wǎng)絡(luò)處理線程tsk1,主要負(fù)責(zé)啟動TCP/IP 協(xié)議棧與上位機(jī)進(jìn)行以太網(wǎng)數(shù)據(jù)交換,并把接收到的數(shù)據(jù)通過SCOM 模塊傳輸給加解密線程;

(2)加解密處理線程tsk2,主要負(fù)責(zé)調(diào)用特定的混沌加解密算法對收到的數(shù)據(jù)進(jìn)行加解密處理,并通過SCOM 模塊傳遞給輸出線程;(3)I/O 線程tsk3,負(fù)責(zé)將語音信號通過AD 輸入,同時把tsk2 傳來的數(shù)據(jù)通過DA 模塊進(jìn)行輸出,整個軟件流程圖如圖2 所示。

在DSP/BIOS中實現(xiàn)的信號產(chǎn)生和加解密模塊的設(shè)計

系統(tǒng)的I/O 采用了DSP/BIOS 的SIO(Stream I/O)模塊。該模塊對底層硬件操作作了抽象,為用戶提供了一個與設(shè)備無關(guān)的交互接口,完全不用關(guān)心IO 設(shè)備的細(xì)節(jié)特。Stream(流)是應(yīng)用程序和IO 設(shè)備之間的數(shù)據(jù)通道,采用異步的方式進(jìn)行IO 操作,利用SIO 模塊的issue/reclaim 模式,應(yīng)用程序就可以通過與SIO 交換緩存地址進(jìn)行數(shù)據(jù)的輸入輸出了,開辟了雙緩存bufa,bufb。應(yīng)用程序?qū)⒁痪彺鎱^(qū)bufa 填滿數(shù)據(jù),然后將首地址傳遞給SIO,SIO將自動調(diào)用底層驅(qū)動程序操作外設(shè),對bufa 進(jìn)行數(shù)據(jù)IO,無需應(yīng)用程序的干預(yù)。待bufa 數(shù)據(jù)IO 完畢后,SIO 將空緩沖交還給應(yīng)用程序,同時接收新緩存區(qū)bufb, 這種IO 管理方式,采用指針,避免了數(shù)據(jù)的拷貝,減少了應(yīng)用程序的開銷,如此可以達(dá)到高效的數(shù)據(jù)IO 效率,減少CPU 時間占用消耗,并且大大地提高了程序的可移植性和易于維護(hù),很好的滿足了實時性的要求。

4 混沌序列的驗證

通過DSP的DA輸出,將信號引到示波器,分別可以得到XY,YZ,XZ的兩維信號相圖見圖3。由此可見,示波器輸出的波形和理論值是基本吻合的,以此驗證了加密序列是混沌序列。

在DSP/BIOS中實現(xiàn)的信號產(chǎn)生和加解密模塊的設(shè)計

5 語音實時信號加解密驗證

由于采用的DSP/BIOS系統(tǒng)是一個實時操作系統(tǒng),它能很方便的應(yīng)用在實時信號處理方面??梢曰贒SP/BIOS建立一個語音加密系統(tǒng),對輸入的實時語音信號進(jìn)行混沌加密。為了驗證這一系統(tǒng)以及觀察方便,實驗采用1KHz正弦波作為實時語音輸入,將其通過高速AD輸入DSP中,由DSP調(diào)用混沌信號產(chǎn)生以及加密算法對其加解密,再通過DSP的左右聲道的DA輸出到示波器進(jìn)行實驗,實驗結(jié)果如圖4所示。

在DSP/BIOS中實現(xiàn)的信號產(chǎn)生和加解密模塊的設(shè)計

對比這幾組實驗結(jié)果,可知通過系統(tǒng)加密模塊,原始語音信號已不能辨認(rèn),解密模塊在解密密鑰完全相同時才可以還原出原始信號。另外可以用實際的語音信號在系統(tǒng)一端通過麥克風(fēng)輸入,經(jīng)過加密再從揚聲器輸出,語音已經(jīng)不能辨認(rèn),再將其輸入另一臺解密DSP中,又可以很好的還原原始信號,不過整個過程會存在一定的延時。系統(tǒng)速度瓶頸在于產(chǎn)生混沌序列算法部分,由于混沌運算對精度要求較高,所以混沌序列運算中采用了浮點運算,對于DM642定點DSP會產(chǎn)生較大的處理時間開銷,因此需要通過編寫定點化程序來提高處理速度。實驗表明,優(yōu)化程序后,系統(tǒng)可以實時處理的最高音頻信號頻率達(dá)到4KHz,完全滿足實時語音通信的帶寬要求。

6 總結(jié)

本文提供了一種基于小型嵌入式實時操作系統(tǒng)下混沌信號產(chǎn)生和對語音實時加密的方法,所有的編程都是在DSP/BIOS下完成的, DSP/BIOS有很強的實時分析和任務(wù)實時管理能力,可以對程序進(jìn)行實時跟蹤與分析,提高應(yīng)用程序開發(fā)的可靠性。在設(shè)計中由于采用的是定點DSP,在對采樣點進(jìn)行定點化截尾時,會有很小的誤差出現(xiàn),如果能夠采用浮點DSP,就可以很好的解決這個問題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19384

    瀏覽量

    230507
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    554

    文章

    8058

    瀏覽量

    349575
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1019

    瀏覽量

    83844
收藏 人收藏

    評論

    相關(guān)推薦

    labviewAES加解密小程序

    本帖最后由 eehome 于 2013-1-5 10:10 編輯 使用AES算法對128bit加密和解密版本:LabVIEW 8.6 8.6.1作者:zerld功能:使用AES算法對128bit加密和解密為便于閱讀,算法還留有優(yōu)化空間。本
    發(fā)表于 02-22 14:12

    基于DSPBIOS的多信號并行處理軟件架構(gòu)設(shè)計

    隨著信息技術(shù)和芯片技術(shù)的發(fā)展,DSP技術(shù)航空、通信、醫(yī)療和消費類電子設(shè)備得到廣泛應(yīng)用。伴隨主頻不斷提升及多核并行工作,DSP芯片的運算能力快速增強。運用
    發(fā)表于 09-03 17:18

    加解密

    stm32F4如何看加解密的代碼
    發(fā)表于 04-08 11:23

    如何利用MEMS和FPGA設(shè)計移動硬盤數(shù)據(jù)加解密系統(tǒng)?

    來源:維庫電子隨著信息量的急劇增長,信息安全日益受到人們重視。一個完整的數(shù)據(jù)加解密系統(tǒng)應(yīng)該 具備安全可靠的密碼認(rèn)證機(jī)制和加解密算法。本文基于MEMS 強鏈、USB 控制器和FPGA 設(shè) 計了一種
    發(fā)表于 07-31 07:40

    如何利用MEMS強鏈和FPGA設(shè)計USB移動硬盤數(shù)據(jù)加解密系統(tǒng)?

    隨著信息量的急劇增長,信息安全日益受到人們重視。一個完整的數(shù)據(jù)加解密系統(tǒng)應(yīng)該具備安全可靠的密碼認(rèn)證機(jī)制和加解密算法。利用MEMS強鏈和FPGA設(shè)計USB移動硬盤數(shù)據(jù)加解密系統(tǒng),我們具體該怎么做呢?
    發(fā)表于 08-01 06:48

    硬件加解密的分類

    文章目錄1、硬件加解密的分類2、ARM-CE / ARM-NEON3、Soc crypto engion4、cryptoisland5、cryptocell1、硬件加解密的分類armv8的芯片
    發(fā)表于 07-22 07:55

    STM32的加解密硬件模塊

    基于物理噪聲源的隨機(jī)數(shù)產(chǎn)生器? 生成32位隨機(jī)數(shù)? AHB 從設(shè)備,不使用時可關(guān)閉它以節(jié)省功耗? 廣泛運用于加解密算法和協(xié)議? 密鑰的生成? “Challenge- Acknowledge”認(rèn)證模式
    發(fā)表于 09-08 07:54

    STM32加解密技術(shù)

    沒有加解密技術(shù)是萬萬不能的? 通訊安全? 平臺安全? *例外:STM32 RDP保護(hù)知識產(chǎn)權(quán)? 加解密技術(shù)不是萬能的? 只是工具? 無法代替其它STM32安全技術(shù)
    發(fā)表于 09-08 08:18

    基于DSP/BIOS的交流信號檢測研究

    基于DSP/BIOS的交流信號檢測研究:介紹了TMS320F28l2的A/D轉(zhuǎn)換器的工作原理,并將其作為信號采樣模塊對交流電壓或電流
    發(fā)表于 05-26 23:39 ?55次下載

    基于DSP BIOS的實時語音混沌加密系統(tǒng)

    文中提出了一種DSP/BIOS下,實現(xiàn)Lorenz方程產(chǎn)生混沌信號并對語音實時
    發(fā)表于 12-23 16:03 ?10次下載

    基于DSPDSP/BIOS的實時雷達(dá)信號采集與處理系統(tǒng)

    基于DSPDSP/BIOS的實時雷達(dá)信號采集與處理系統(tǒng):介紹了一種實時操作系統(tǒng)DSP
    發(fā)表于 01-16 16:59 ?25次下載

    基于MEMS和FPGA的移動硬盤數(shù)據(jù)加解密系統(tǒng)

    基于MEMS和FPGA的移動硬盤數(shù)據(jù)加解密系統(tǒng) 隨著信息量的急劇增長,信息安全日益受到人們重視。一個完整的數(shù)據(jù)加解密系統(tǒng)應(yīng)該 具備安全可靠的密碼認(rèn)證機(jī)制和加解密
    發(fā)表于 11-05 08:57 ?776次閱讀
    基于MEMS和FPGA的移動硬盤數(shù)據(jù)<b class='flag-5'>加解密</b>系統(tǒng)

    源碼-加解密文本

    易語言是一門以中文作為程序代碼編程語言學(xué)習(xí)例程:易語言-源碼-加解密文本
    發(fā)表于 06-06 17:43 ?6次下載

    STM32的加解密硬件模塊

    電子發(fā)燒友網(wǎng)站提供《STM32的加解密硬件模塊.pdf》資料免費下載
    發(fā)表于 08-02 09:14 ?1次下載
    STM32的<b class='flag-5'>加解密</b>硬件<b class='flag-5'>模塊</b>

    基于FPGA的可編程AES加解密IP

    可編程AES加解密IP內(nèi)建密鑰擴(kuò)展功能,使用初始密鑰產(chǎn)生擴(kuò)展密鑰,用于加解密過程??删幊藺ES加解密IP處理128-bit分組數(shù)據(jù),并且支持可編程的密鑰長度:128-bit,192-b
    發(fā)表于 01-09 10:49 ?511次閱讀
    基于FPGA的可編程AES<b class='flag-5'>加解密</b>IP