cc2541加密
Ⅰ 圖片中的編碼大概是用什麼加密的, 裡面只有數字,特殊,大寫字母 明文是文本的漢字和符號與字母
不是什麼加密編碼都是公開的,簡單說,把數據用RAR壓縮演算法編碼後,在不告訴你的情況下你怎麼解?
Ⅱ 如何給超低功耗設備供電
很多設備都是為使用低電壓、低電流而設計的。如果功率過高,這些低功率設備很容易受到損壞。避免電源損壞的最佳方法是使用專為低功率應用而設計的電源。
對於更高功率的電源,即便其最小的 OCP(過流保護)值也可能還是不夠低。就以最受歡迎的 120 W 台式電源為例,它的 OCP 值最小也是限制到 100 mA 或更高。低功率的設備更適合使用低功率的電源。例如,電流一旦超過 20 mA 就會損壞 LED 陣列樣品。此時需要電源能夠通過 CV/CC 跳變或 OCP 來限制電流,從而保護設備。
CV/CC 跳變可將電流保持在限定范圍內,防止出現過流情況。消除了過流情況,電源就會回到正常的工作狀態。圖 1 是把電流限制在 20 mA 以下的一個簡單示例。
OCP 是一種閉鎖功能。一旦電流超過 20 mA,輸出就會設為 0 伏並保持在零位。清除 OCP 即可重新啟動輸出。
輸出功率較低的電源與輸出功率較高的電源相比,其雜訊更低。那些用於測試 LED 陣列的電源,其輸出雜訊通常都小於 350 uVrms。
Ⅲ 幫我看看這是什麼加密方式
SAH256 和MD5都算 是摘要演算法,是沒法還原的,因為這兩種演算法生成的都是 固定長度的串,和文件大小無關,就是說一個1G的文件加密後的串是這么長,1T的文件也是這么長
目前所謂的 SAH256 和MD5 解密網站是通過大量收集文件加密後的串來比對的,比對成功即為解密成功,
前不久網上傳過MD5被破解了,不過這種破解是我國的頂級密碼學專家弄的,是讓兩個完全不一樣的文件生成的MD5值一樣
Ⅳ CC2540 怎麼編寫AES128 解密程序
可以查看 ll.h llStatus_t LL_Encrypt 加密函數 等都在該文件內
除非你知道密鑰,否則,基本沒戲
目前唯一一次成功的攻擊就是用的旁道攻擊,你可以自己去查查。
Ⅳ 在zigbee(cc2530)中添加一個加密演算法,使用的是rsa演算法。
你好,zigbee模塊是基於51的片上soc,可以看做有通訊功能的增強單片機也有些應用另外添加低功耗單片機如msp430等通過spi控制rf收發晶元
Ⅵ 請問這個是什麼加密 可以解密嗎
VBScript.Encode直接搜索 VBScript.Encode替換成 VBScript.DEncode再運行就解密了
Ⅶ TP-LINK無線路由器安全加密設置哪種好WEP,WPA,WPA2(PSK),WPA2(AES)
從性能和安全性的角度來說,WPA2-PSK(AES)是最好的,一般的路由器對於該類型的加密都能游刃有餘的處理,而且,WPA2-PSK(AES)是目前為止最安全,也是使用最廣泛的無線加密協議
WEP是Wired Equivalent Privacy的簡稱,有線等效保密(WEP)協議是對在兩台設備間無線傳輸的數據進行加密的方式,用以防止非法用戶竊聽或侵入無線網路。不過密碼分析學家已經找出 WEP 好幾個弱點,因此在2003年被 Wi-Fi Protected Access (WPA) 淘汰,又在2004年由完整的 IEEE 802.11i 標准(又稱為 WPA2)所取代。
WPA全名為Wi-Fi Protected Access,有WPA和WPA2兩個標准,是一種保護無線電腦網路(Wi-Fi)安全的系統,WPA實作了IEEE 802.11i標準的大部分,是在802.11i完備之前替代WEP的過渡方案。WPA的設計可以用在所有的無線網卡上,但未必能用在第一代的無線取用點上。
WPA2 是經由 Wi-Fi 聯盟驗證過的 IEEE 802.11i 標準的認證形式。WPA2 實現了 802.11i 的強制性元素 ,特別是 Michael 演算法由公認徹底安全的 CCMP 訊息認證碼所取代、而 RC4 也被 AES 取代。WPA2具備完整的標准體系,但其不能被應用在某些老舊型號的網卡上。
WPA/WPA2下的加密方式有TKIP和AES兩種,TKIP: Temporal Key Integrity Protocol(臨時密鑰完整性協議)負責處理無線安全問題的加密部分。TKIP在設計時考慮了當時非常苛刻的限制因素:必須在現有硬體上運行,因此不能使用計算先進的加密演算法。而AES(高級加密標准),在密碼學中又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標准。這個標准用來替代原先的DES,已經被多方分析且廣為全世界所使用。經過五年的甄選流程,高級加密標准由美國國家標准與技術研究院(NIST)於2001年11月26日發布於FIPS PUB 197,並在2002年5月26日成為有效的標准。2006年,高級加密標准已然成為對稱密鑰加密中最流行的演算法之一。
Ⅷ 加密演算法問題
MD5的全稱是Message-Digest Algorithm 5(信息-摘要演算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest開發出來,經MD2、MD3和MD4發展而來。它的作用是讓大容量信息在用數字簽名軟體簽署私人密匙前被"壓縮"成一種保密的格式(就是把一個任意長度的位元組串變換成一定長的大整數)。不管是MD2、MD4還是MD5,它們都需要獲得一個隨機長度的信息並產生一個128位的信息摘要。雖然這些演算法的結構或多或少有些相似,但MD2的設計與MD4和MD5完全不同,那是因為MD2是為8位機器做過設計優化的,而MD4和MD5卻是面向32位的電腦。這三個演算法的描述和C語言源代碼在Internet RFCs 1321中有詳細的描述(http://www.ietf.org/rfc/rfc1321.txt),這是一份最權威的文檔,由Ronald L. Rivest在1992年8月向IEFT提交。
Van Oorschot和Wiener曾經考慮過一個在散列中暴力搜尋沖突的函數(Brute-Force Hash Function),而且他們猜測一個被設計專門用來搜索MD5沖突的機器(這台機器在1994年的製造成本大約是一百萬美元)可以平均每24天就找到一個沖突。但單從1991年到2001年這10年間,竟沒有出現替代MD5演算法的MD6或被叫做其他什麼名字的新演算法這一點,我們就可以看出這個瑕疵並沒有太多的影響MD5的安全性。上面所有這些都不足以成為MD5的在實際應用中的問題。並且,由於MD5演算法的使用不需要支付任何版權費用的,所以在一般的情況下(非絕密應用領域。但即便是應用在絕密領域內,MD5也不失為一種非常優秀的中間技術),MD5怎麼都應該算得上是非常安全的了。
演算法的應用
MD5的典型應用是對一段信息(Message)產生信息摘要(Message-Digest),以防止被篡改。比如,在UNIX下有很多軟體在下載的時候都有一個文件名相同,文件擴展名為.md5的文件,在這個文件中通常只有一行文本,大致結構如:
MD5 (tanajiya.tar.gz) =
這就是tanajiya.tar.gz文件的數字簽名。MD5將整個文件當作一個大文本信息,通過其不可逆的字元串變換演算法,產生了這個唯一的MD5信息摘要。如果在以後傳播這個文件的過程中,無論文件的內容發生了任何形式的改變(包括人為修改或者下載過程中線路不穩定引起的傳輸錯誤等),只要你對這個文件重新計算MD5時就會發現信息摘要不相同,由此可以確定你得到的只是一個不正確的文件。如果再有一個第三方的認證機構,用MD5還可以防止文件作者的"抵賴",這就是所謂的數字簽名應用。
MD5還廣泛用於加密和解密技術上。比如在UNIX系統中用戶的密碼就是以MD5(或其它類似的演算法)經加密後存儲在文件系統中。當用戶登錄的時候,系統把用戶輸入的密碼計算成MD5值,然後再去和保存在文件系統中的MD5值進行比較,進而確定輸入的密碼是否正確。通過這樣的步驟,系統在並不知道用戶密碼的明碼的情況下就可以確定用戶登錄系統的合法性。這不但可以避免用戶的密碼被具有系統管理員許可權的用戶知道,而且還在一定程度上增加了密碼被破解的難度。
正是因為這個原因,現在被黑客使用最多的一種破譯密碼的方法就是一種被稱為"跑字典"的方法。有兩種方法得到字典,一種是日常搜集的用做密碼的字元串表,另一種是用排列組合方法生成的,先用MD5程序計算出這些字典項的MD5值,然後再用目標的MD5值在這個字典中檢索。我們假設密碼的最大長度為8位位元組(8 Bytes),同時密碼只能是字母和數字,共26+26+10=62個字元,排列組合出的字典的項數則是P(62,1)+P(62,2)….+P(62,8),那也已經是一個很天文的數字了,存儲這個字典就需要TB級的磁碟陣列,而且這種方法還有一個前提,就是能獲得目標賬戶的密碼MD5值的情況下才可以。這種加密技術被廣泛的應用於UNIX系統中,這也是為什麼UNIX系統比一般操作系統更為堅固一個重要原因。
演算法描述
對MD5演算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。
在MD5演算法中,首先需要對信息進行填充,使其位元組長度對512求余的結果等於448。因此,信息的位元組長度(Bits Length)將被擴展至N*512+448,即N*64+56個位元組(Bytes),N為一個正整數。填充的方法如下,在信息的後面填充一個1和無數個0,直到滿足上面的條件時才停止用0對信息的填充。然後,在在這個結果後面附加一個以64位二進製表示的填充前信息長度。經過這兩步的處理,現在的信息位元組長度=N*512+448+64=(N+1)*512,即長度恰好是512的整數倍。這樣做的原因是為滿足後面處理中對信息長度的要求。
MD5中有四個32位被稱作鏈接變數(Chaining Variable)的整數參數,他們分別為:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。
當設置好這四個鏈接變數後,就開始進入演算法的四輪循環運算。循環的次數是信息中512位信息分組的數目。
將上面四個鏈接變數復制到另外四個變數中:A到a,B到b,C到c,D到d。
主循環有四輪(MD4隻有三輪),每輪循環都很相似。第一輪進行16次操作。每次操作對a、b、c和d中的其中三個作一次非線性函數運算,然後將所得結果加上第四個變數,文本的一個子分組和一個常數。再將所得結果向右環移一個不定的數,並加上a、b、c或d中之一。最後用該結果取代a、b、c或d中之一。
以一下是每次操作中用到的四個非線性函數(每輪一個)。
F(X,Y,Z) =(X&Y)|((~X)&Z)
G(X,Y,Z) =(X&Z)|(Y&(~Z))
H(X,Y,Z) =X^Y^Z
I(X,Y,Z)=Y^(X|(~Z))
(&是與,|是或,~是非,^是異或)
這四個函數的說明:如果X、Y和Z的對應位是獨立和均勻的,那麼結果的每一位也應是獨立和均勻的。F是一個逐位運算的函數。即,如果X,那麼Y,否則Z。函數H是逐位奇偶操作符。
假設Mj表示消息的第j個子分組(從0到15),<<
FF(a,b,c,d,Mj,s,ti)表示a=b+((a+(F(b,c,d)+Mj+ti)<< GG(a,b,c,d,Mj,s,ti)表示a=b+((a+(G(b,c,d)+Mj+ti)<< HH(a,b,c,d,Mj,s,ti)表示a=b+((a+(H(b,c,d)+Mj+ti)<< II(a,b,c,d,Mj,s,ti)表示a=b+((a+(I(b,c,d)+Mj+ti)<<
這四輪(64步)是:
第一輪
FF(a,b,c,d,M0,7,0xd76aa478)
FF(d,a,b,c,M1,12,0xe8c7b756)
FF(c,d,a,b,M2,17,0x242070db)
FF(b,c,d,a,M3,22,0xc1bdceee)
FF(a,b,c,d,M4,7,0xf57c0faf)
FF(d,a,b,c,M5,12,0x4787c62a)
FF(c,d,a,b,M6,17,0xa8304613)
FF(b,c,d,a,M7,22,0xfd469501)
FF(a,b,c,d,M8,7,0x698098d8)
FF(d,a,b,c,M9,12,0x8b44f7af)
FF(c,d,a,b,M10,17,0xffff5bb1)
FF(b,c,d,a,M11,22,0x895cd7be)
FF(a,b,c,d,M12,7,0x6b901122)
FF(d,a,b,c,M13,12,0xfd987193)
FF(c,d,a,b,M14,17,0xa679438e)
FF(b,c,d,a,M15,22,0x49b40821)
第二輪
GG(a,b,c,d,M1,5,0xf61e2562)
GG(d,a,b,c,M6,9,0xc040b340)
GG(c,d,a,b,M11,14,0x265e5a51)
GG(b,c,d,a,M0,20,0xe9b6c7aa)
GG(a,b,c,d,M5,5,0xd62f105d)
GG(d,a,b,c,M10,9,0x02441453)
GG(c,d,a,b,M15,14,0xd8a1e681)
GG(b,c,d,a,M4,20,0xe7d3fbc8)
GG(a,b,c,d,M9,5,0x21e1cde6)
GG(d,a,b,c,M14,9,0xc33707d6)
GG(c,d,a,b,M3,14,0xf4d50d87)
GG(b,c,d,a,M8,20,0x455a14ed)
GG(a,b,c,d,M13,5,0xa9e3e905)
GG(d,a,b,c,M2,9,0xfcefa3f8)
GG(c,d,a,b,M7,14,0x676f02d9)
GG(b,c,d,a,M12,20,0x8d2a4c8a)
第三輪
HH(a,b,c,d,M5,4,0xfffa3942)
HH(d,a,b,c,M8,11,0x8771f681)
HH(c,d,a,b,M11,16,0x6d9d6122)
HH(b,c,d,a,M14,23,0xfde5380c)
HH(a,b,c,d,M1,4,0xa4beea44)
HH(d,a,b,c,M4,11,0x4bdecfa9)
HH(c,d,a,b,M7,16,0xf6bb4b60)
HH(b,c,d,a,M10,23,0xbebfbc70)
HH(a,b,c,d,M13,4,0x289b7ec6)
HH(d,a,b,c,M0,11,0xeaa127fa)
HH(c,d,a,b,M3,16,0xd4ef3085)
HH(b,c,d,a,M6,23,0x04881d05)
HH(a,b,c,d,M9,4,0xd9d4d039)
HH(d,a,b,c,M12,11,0xe6db99e5)
HH(c,d,a,b,M15,16,0x1fa27cf8)
HH(b,c,d,a,M2,23,0xc4ac5665)
第四輪
II(a,b,c,d,M0,6,0xf4292244)
II(d,a,b,c,M7,10,0x432aff97)
II(c,d,a,b,M14,15,0xab9423a7)
II(b,c,d,a,M5,21,0xfc93a039)
II(a,b,c,d,M12,6,0x655b59c3)
II(d,a,b,c,M3,10,0x8f0ccc92)
II(c,d,a,b,M10,15,0xffeff47d)
II(b,c,d,a,M1,21,0x85845dd1)
II(a,b,c,d,M8,6,0x6fa87e4f)
II(d,a,b,c,M15,10,0xfe2ce6e0)
II(c,d,a,b,M6,15,0xa3014314)
II(b,c,d,a,M13,21,0x4e0811a1)
II(a,b,c,d,M4,6,0xf7537e82)
II(d,a,b,c,M11,10,0xbd3af235)
II(c,d,a,b,M2,15,0x2ad7d2bb)
II(b,c,d,a,M9,21,0xeb86d391)
常數ti可以如下選擇:
在第i步中,ti是4294967296*abs(sin(i))的整數部分,i的單位是弧度。(4294967296等於2的32次方)
所有這些完成之後,將A、B、C、D分別加上a、b、c、d。然後用下一分組數據繼續運行演算法,最後的輸出是A、B、C和D的級聯。
當你按照我上面所說的方法實現MD5演算法以後,你可以用以下幾個信息對你做出來的程序作一個簡單的測試,看看程序有沒有錯誤。
MD5 ("") =
MD5 ("a") =
MD5 ("abc") =
MD5 ("message digest") =
MD5 ("abcdefghijklmnopqrstuvwxyz") =
MD5 ("") =
MD5 ("
01234567890") =
MD5的安全性
MD5相對MD4所作的改進:
1. 增加了第四輪;
2. 每一步均有唯一的加法常數;
3. 為減弱第二輪中函數G的對稱性從(X&Y)|(X&Z)|(Y&Z)變為(X&Z)|(Y&(~Z));
4. 第一步加上了上一步的結果,這將引起更快的雪崩效應;
5. 改變了第二輪和第三輪中訪問消息子分組的次序,使其更不相似;
6. 近似優化了每一輪中的循環左移位移量以實現更快的雪崩效應。各輪的位移量互不相同。
Ⅸ 基於CC2540的藍牙BLE協議,用戶自定義的函數是哪塊
用戶模式及協議棧
1.文件傳輸模式
文件傳輸模式提供兩終端間的數據通信功能,可傳輸後綴為.xls、.ppt、.wav、.jpg和.doc的文件(但並不限於這幾種),以及完整的文件夾、目錄或多媒體數據流等,提供遠端文件夾瀏覽功能。文件傳輸協議棧如圖2所示。
完整的協議棧包括藍牙專用協議(如連接管理協議LMP和邏輯鏈路控制應用協議L2CAP)以及非專用協議(如對象交換協議OBEX和用戶數據報協議UDP)。設計協議和協議棧的主要原則是盡可能利用現有的各種高層協議,保證現有協議與藍牙技術的融合以及各種應用之間的互操作,充分利用兼容藍牙技術規范的軟硬體系統。藍牙技術規范的開放性保證了設備製造商可以自由地選用其專用協議或習慣使用的公共協議,在藍牙技術規范基礎上開發新的應用。
Android藍牙系統分為四個層次,內核層、BlueZ庫、BlueTooth的適配庫、BlueTooth的JNI部分、Java框架層、應用層。下面先來分析Android的藍牙協議棧。
Android的藍牙協議棧採用BlueZ來實現,BlueZ分為兩部分:內核代碼和用戶態程序及工具集。
內核代碼主要由BlueZ核心協議和驅動程序組成;藍牙協議實現在內核源代碼net/bluetooth中,驅動程序位於內核源代碼目錄 driver/bluetooth中。用戶態程序及工具集主要包括應用程序介面和BlueZ工具集,位於Android源代碼目錄externel /bluetooth(註:Android版本不一樣,有的在externel/bluez目錄下)中。
1、藍牙協議棧
藍牙協議棧的體系結構由底層硬體模塊、中間協議層和高端應用層三部分組成。
一、底層硬體模塊
組成:
鏈路管理協議(Link ManagerProtocol,LMP);
基帶(Base Band,BB);
射頻(Radio Frequency,RF)。
功能:
射頻(RF)通過2.4GHz的ISM頻段實現數據流的過濾和傳輸。
基帶(BB)提供兩種不同的物理鏈路,即同步面向連接鏈路(Synchronous Connection Oriented,SCO)和非同步無連接鏈路(AsynchronousConnection Less,ACL),負責跳頻和藍牙數據,及信息幀的傳輸,且對所有類型的數據包提供不同層次的前向糾錯碼(Frequency Error Correction,FEC)或循環冗餘度差錯校驗(CyclicRendancy Check,CRC)。
鏈路管理協議(LMP)負責兩個或多個設備鏈路的建立和拆除,及鏈路的安全和控制,如鑒權和加密、控制和協商基帶包的大小等,它為上層軟體模塊提供了不同的訪問入口。
主機控制器介面(HostController Interface,HCI)是藍牙協議中軟硬體之間的介面,提供了一個調用下層BB、LMP、狀態和控制寄存器等硬體的統一命令,上下兩個模塊介面之間的消息和數據的傳遞必須通過HCI的解釋才能進行。
二、中間協議層
組成:
邏輯鏈路控制和適配協議(LogicalLink Control and Adaptation Protocol,L2CAP);
服務發現協議(ServiceDiscovery Protocol,SDP);
串口模擬協議(或稱線纜替換協議RFCOMM);
二進制電話控制協議(TelephonyControlprotocol Spectocol,TCS)。
功能:
L2CAP位於基帶(BB)之上,向上層提供面向連接的和無連接的數據服務,它主要完成數據的拆裝、服務質量控制、協議的復用、分組的分割和重組,及組提取等功能。
SDP是一個基於客戶/伺服器結構的協議,它工作在L2CAP層之上,為上層應用程序提供一種機制來發現可用的服務及其屬性,服務的屬性包括服務的類型及該服務所需的機制或協議信息。
RFCOMM是一個模擬有線鏈路的無線數據模擬協議,符合ETSI標準的TS07.10串口模擬協議,它在藍牙基帶上模擬RS-232的控制和數據信號,為原先使用串列連接的上層業務提供傳送能力。
TCS定義了用於藍牙設備之間建立語音和數據呼叫的控制信令(Call Control Signalling),並負責處理藍牙設備組的移動管理過程。
三、高端應用層
組成:
點對點協議(Point-to-PointProtocol,PPP);
傳輸控制協議/網路層協議(TCP/IP);
用戶數據包協議(UserDatagram Protocol,UDP);
對象交換協議(ObjectExchang Protocol,OBEX);
無線應用協議(WirelessApplication Protocol,WAP);
無線應用環境(WirelessApplication Environment,WAE);
功能:
PPP定義了串列點對點鏈路應當如何傳輸網際網路協議數據,主要用於LAN接入、撥號網路及傳真等應用規范。
TCP/IP、UDP定義了網際網路與網路相關的通信及其他類型計算機設備和外圍設備之間的通信。
OBEX支持設備間的數據交換,採用客戶/伺服器模式提供與HTTP(超文本傳輸協議)相同的基本功能。可用於交換的電子商務卡、個人日程表、消息和便條等格式。
WAP用於在數字蜂窩電話和其他小型無線設備上實現網際網路業務,支持行動電話瀏覽網頁、收取電子郵件和其他基於網際網路的協議。
WAE提供用於WAP電話和個人數字助理(PersonalDigital Assistant,PDA)所需的各種應用軟體。
2、android與藍牙協議棧的關系
藍牙系統的核心是BlueZ,因此JNI和上層都圍繞跟BlueZ的溝通進行。JNI和android應用層,跟BlueZ溝通的主要手段是D- BUS,這是一套被廣泛採用的IPC通信機制,跟Android框架使用的Binder類似。BlueZ以D-BUS為基礎,給其他部分提供主要介面。