自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談Zigbee協(xié)議棧的加密算法

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理 算法
這里我們著重講解了Zigbee協(xié)議棧的加密算法。那么通過文章的一些列解說,還望大家能夠?qū)Υ擞兴莆铡?/div>

前面我們介紹了有關(guān)于Zigbee協(xié)議棧的一些原理和結(jié)構(gòu)。不知道大家是否已經(jīng)掌握了。那么這里我們則重點(diǎn)說明一下Zigbee協(xié)議棧中的加密算法。Z-stack對Zigbee2006提供了全面的支持,功能之強(qiáng)大,性能穩(wěn)定、安全性高,說到安全性是我們今天的主題.CC2430硬件支持128bit的AES加密算法,在Zigbee協(xié)議棧中為了避開相同設(shè)備的干擾,和防止被其他設(shè)備監(jiān)聽,我們就采用這個(gè)技術(shù)將數(shù)據(jù)加密來提高數(shù)據(jù)的安全性.

AES(The Advanced Encryption Standard)是美國國家標(biāo)準(zhǔn)與技術(shù)研究所用于加密電子數(shù)據(jù)的規(guī)范.它被預(yù)期能成為人們公認(rèn)的加密包括金融、電信和政府?dāng)?shù)字信息的方法.AES 是一個(gè)新的可以用于保護(hù)電子數(shù)據(jù)的加密算法.明確地說,AES 是一個(gè)迭代的、對稱密鑰分組的密碼,它可以使用128、192 和 256 位密鑰,并且用 128 位(16字節(jié))分組加密和***數(shù)據(jù).與公共密鑰密碼使用密鑰對不同,對稱密鑰密碼使用相同的密鑰加密和***數(shù)據(jù).通過分組密碼返回的加密數(shù)據(jù) 的位數(shù)與輸入數(shù)據(jù)相同.迭代加密使用一個(gè)循環(huán)結(jié)構(gòu),在該循環(huán)中重復(fù)置換(permutations)和替換(substitutions)輸入數(shù)據(jù).

在Z-stack中采用的是128bit的加密,首先需要一個(gè)128bit的key,這個(gè)KEY不同,加密出來的內(nèi)容也不同在Z-stack中是通過DEFAULT_KEY="{0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x 0F, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0D}"這種方式來定義的.

在Z-stack中已經(jīng)在Zigbee協(xié)議棧中實(shí)現(xiàn)了這個(gè)加密算法,如果需要使用直接開啟這個(gè)服務(wù)就可以了,下面我們主要將Z-stack的加密算法的開啟.

Z-stack1.4.3加密算法的功能開啟方法:

1.將f8wConfig.cfg文件中設(shè)置為-DSECURE=1,這句話的意思是SECURE=1,這個(gè)變量在Zigbee協(xié)議棧中作為if語句的條件使用,條件為真的語句中就是開啟加密算法的函數(shù).所以要使用***步是要將這個(gè)參數(shù)設(shè)置為1.

2.將ZGlobals.c中的uint8 zgPreConfigKeys = FLASE;修改為uint8 zgPreConfigKeys = TRUE.

3.準(zhǔn)備一個(gè)key,這個(gè)可以在函數(shù)nwk_global.c中修改:

  1. CONST byte defaultKey[SEC_KEY_LEN] =  
  2. {  
  3. #if defined ( APP_TP ) || defined ( APP_TP2 )  
  4. // Key for ZigBee Conformance Testing  
  5. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  
  6. 0x89, 0x67, 0x45, 0x23, 0x01, 0xEF, 0xCD, 0xAB  
  7. #else  
  8. // Key for In-House Testing  
  9. 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,  
  10. 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F  
  11. #endif  
  12. }; 

在Zigbee協(xié)議棧中,如果使用了加密算法后,網(wǎng)絡(luò)中所有的設(shè)備都需要開啟這個(gè)算法,而且各個(gè)設(shè)備中的key必須相同.否則后果是很嚴(yán)重的,這會導(dǎo)致你的網(wǎng)絡(luò)不能正常通訊,因?yàn)闆]有加密的數(shù)據(jù)或者相同key加密,這些數(shù)據(jù)網(wǎng)絡(luò)是不認(rèn)識的,根本就不會傳到網(wǎng)絡(luò)層.

加密算法開啟以后,如果你需要修改代碼,就必須改變你的key,或者是擦除一次你的flash,否則會出現(xiàn)不可逾期的錯(cuò)誤,而且沒有規(guī)律.通常的做法是擦除flash一次,這樣可以保證和整個(gè)網(wǎng)絡(luò)的key相同.

采用這個(gè)加密算法的好處是:如果一個(gè)網(wǎng)絡(luò)在做實(shí)驗(yàn),你再隨便加入一個(gè)協(xié)調(diào)器或者路由或者終端對現(xiàn)有的網(wǎng)絡(luò)狀態(tài)不會造成影響,這樣就可以進(jìn)行多個(gè)并行實(shí)驗(yàn)了.

責(zé)任編輯:佟健 來源: hi.baidu.com
相關(guān)推薦

2023-10-16 19:05:20

2021-11-22 23:20:01

加密算法架構(gòu)

2010-09-09 09:46:04

ZigBee協(xié)議棧

2010-09-08 15:06:26

藍(lán)牙協(xié)議棧

2011-11-10 09:43:14

ZigBee協(xié)議棧網(wǎng)絡(luò)層

2011-11-08 16:49:06

ZigBee協(xié)議棧Z-Stack

2012-09-13 09:58:38

2020-12-16 05:46:58

算法加密算法MD5

2023-08-02 07:27:53

2010-09-08 16:01:33

加密算法協(xié)議

2020-05-08 11:13:28

Python數(shù)據(jù)技術(shù)

2009-08-13 18:12:11

C#數(shù)據(jù)加密

2024-12-31 08:00:00

SpringBoot開發(fā)加密

2023-07-30 17:44:24

CryptoJS加密字符串

2009-08-21 15:02:31

C#加密算法

2011-08-18 12:12:29

2015-05-11 10:40:08

加密數(shù)字圖像加密加密算法

2020-05-09 14:20:11

信息安全加密

2016-11-16 15:23:09

2020-12-11 06:41:15

AES加密
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號