芯片通訊的加密方法及激光條碼掃描平臺的制作方法
【專利摘要】本發(fā)明公開了一種芯片通訊的加密方法,該方法包括:獲取第一芯片ID號和第二芯片ID號;對第一芯片ID號和第二芯片ID號進行邏輯運算,得到芯片組合值;對第一芯片向第二芯片發(fā)送的原始數據與芯片組合值進行數學運算,得到一級密文。本發(fā)明還公開了一種激光條碼掃描平臺。本發(fā)明利用第一芯片和第二芯片的ID號作為密鑰的基礎,對第一芯片和第二芯片的ID號進行邏輯運算得到芯片組合值,再對原始數據和芯片組合值進行數學運算,由于CPU最擅長處理是邏輯位操作和加法運算,從而加密占用資源少,運行速度快;同時,通過邏輯運算和數學運算正向加密容易實現,但是反向解密難度非常大,從而提高了芯片之間通訊的安全性和保密性。
【專利說明】芯片通訊的加密方法及激光條碼掃描平臺
【技術領域】
[0001]本發(fā)明涉及條碼掃描【技術領域】,尤其涉及芯片通訊的加密方法及激光條碼掃描平臺。
【背景技術】
[0002]密碼學發(fā)展至今,很多加密算法都已經很成熟,但是用到實際項目上的加密方法存在不少問題,一方面,加密過程太過復雜,占用系統(tǒng)資源太多,運行速度慢;一方面,加密算法不夠精細,加密效果不理想,容易被破解;很難找到一種適合基于兩芯片之間通訊的加密算法,以滿足一些項目的實際性能要求。
[0003]上述內容僅用于輔助理解本發(fā)明的技術方案,并不代表承認上述內容是現有技術。
【發(fā)明內容】
[0004]本發(fā)明的主要目的在于解決芯片通訊方法占用資源多、運行速度慢、保密性能不佳的技術問題。
[0005]為實現上述目的,本發(fā)明提供的一種芯片通訊的加密方法,該方法包括以下步驟:
[0006]獲取第一芯片ID號和第二芯片ID號;
[0007]對所述第一芯片ID號和第二芯片ID號進行邏輯運算,得到的值作為芯片組合值;
[0008]對所述第一芯片向所述第二芯片發(fā)送的原始數據與所述芯片組合值進行數學運算,得到該原始數據對應的一級密文。
[0009]優(yōu)選地,所述對所述第一芯片ID號和第二芯片ID號進行邏輯運算,得到的值作為芯片組合值的步驟包括:
[0010]將所述第一芯片ID號的二進制數據和第二芯片ID號的二進制數據進行邏輯與運算,得到原始芯片組合值;
[0011]取原始芯片組合值的低四位作為組合芯片值。
[0012]優(yōu)選地,所述對所述第一芯片向所述第二芯片發(fā)送的原始數據與所述芯片組合值進行數學運算,得到該原始數據對應的一級密文的步驟包括:
[0013]將所述第一芯片向所述第二芯片發(fā)送的原始數據分成多個ASCII碼表示的字符數據;
[0014]將所述字符數據加上所述組合芯片值,得到原始數據的一級密文。
[0015]優(yōu)選地,所述對所述第一芯片向所述第二芯片發(fā)送的原始數據與所述芯片組合值進行數學運算,得到該原始數據對應的一級密文的步驟之后,所述芯片通訊的加密方法還包括:
[0016]將所述一級密文加上動態(tài)變量得到二級密文,所述第一芯片每向所述第二芯片發(fā)送一個字符數據,所述動態(tài)變量自增I。
[0017]優(yōu)選地,所述動態(tài)變量變化范圍為O至127,當該動態(tài)變量增加到127時,回到初始值O繼續(xù)循環(huán)自增。
[0018]此外,為實現上述目的,本發(fā)明還提供一種激光條碼掃描平臺,該激光條碼掃描平臺包括:
[0019]獲取ID模塊,用于獲取第一芯片ID號和第二芯片ID號;
[0020]邏輯運算模塊,用于對所述第一芯片ID號和第二芯片ID號進行邏輯運算,得到的值作為芯片組合值;
[0021]數學運算模塊,用于對所述第一芯片向所述第二芯片發(fā)送的原始數據與所述芯片組合值進行數學運算,得到該原始數據對應的一級密文。
[0022]優(yōu)選地,所述邏輯運算模塊用于:
[0023]將所述第一芯片ID號的二進制數據和第二芯片ID號的二進制數據進行邏輯與運算,得到原始芯片組合值;
[0024]取原始芯片組合值的低四位作為組合芯片值。
[0025]優(yōu)選地,所述數學運算模塊用于:
[0026]將所述第一芯片向所述第二芯片發(fā)送的原始數據分成多個ASCII碼表示的字符數據;
[0027]將所述字符數據加上所述組合芯片值,得到原始數據的一級密文。
[0028]優(yōu)選地,所述激光條碼掃描平臺還包括:
[0029]動態(tài)自增模塊,將所述一級密文加上動態(tài)變量得到二級密文,所述第一芯片每向所述第二芯片發(fā)送一個字符數據,所述動態(tài)變量自增I。
[0030]優(yōu)選地,所述動態(tài)變量變化范圍為O至127,當該動態(tài)變量增加到127時,回到初始值O繼續(xù)循環(huán)自增。
[0031]本發(fā)明通過獲取第一芯片ID號和第二芯片ID號,然后對第一芯片ID號和第二芯片ID號進行邏輯運算,得到的值作為芯片組合值,再對第一芯片向第二芯片發(fā)送的原始數據與芯片組合值進行數學運算,得到該原始數據對應的一級密文,從而利用第一芯片和第二芯片內置的全球唯一的ID號作為密鑰的基礎,對第一芯片ID號和第二芯片ID號進行邏輯運算(例如,邏輯與和邏輯或運算)得到芯片組合值,再對原始數據和芯片組合值進行數學運算(例如,加法運算),由于CPU最擅長處理是邏輯位操作和加法運算,從而本加密方法占用資源少,運行速度快;同時,雖然通過邏輯運算和數學運算對原始數據進行正向加密容易實現,但是反向解密難度非常大,從而提高了芯片之間通訊的安全性和保密性。
【專利附圖】
【附圖說明】
[0032]圖1為本發(fā)明芯片通訊的加密方法第一實施例的流程示意圖;
[0033]圖2為圖1中對第一芯片ID號和第二芯片ID號進行邏輯運算,得到的值作為芯片組合值的步驟的細化流程示意圖;
[0034]圖3是圖1中對第一芯片向第二芯片發(fā)送的原始數據與芯片組合值進行數學運算,得到該原始數據對應的一級密文的步驟的細化流程示意圖;
[0035]圖4為本發(fā)明芯片通訊的加密方法第二實施例的流程示意圖;
[0036]圖5為本發(fā)明激光條碼掃描平臺第一實施例的功能模塊示意圖;
[0037]圖6為本發(fā)明激光條碼掃描平臺第一實施例的功能模塊示意圖。
[0038]本發(fā)明目的的實現、功能特點及優(yōu)點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0039]應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0040]本發(fā)明提供一種芯片通訊的加密方法。
[0041]參照圖1,圖1為本發(fā)明芯片通訊的加密方法第一實施例的流程示意圖。
[0042]在第一實施例中,該芯片通訊的加密方法包括:
[0043]步驟S10,獲取第一芯片ID號和第二芯片ID號;
[0044]芯片ID號是該芯片出廠時的全球唯一的生產編號,是用以區(qū)別芯片的硬件信息,一般情況,芯片ID號只有芯片的生產方和購買方知道,以芯片ID號作為密鑰破解難度很大。
[0045]步驟S20,對第一芯片ID號和第二芯片ID號進行邏輯運算,得到的值作為芯片組合值;
[0046]對第一芯片ID號和第二芯片ID號進邏輯與、邏輯或、邏輯非等邏輯運算,得到的值作為芯片組合值。
[0047]步驟S30,對第一芯片向第二芯片發(fā)送的原始數據與芯片組合值進行數學運算,得到該原始數據對應的一級密文。
[0048]通過對原始數據與芯片組件值進行加法、減法和乘法的一種或幾種綜合運算,得到該原始數據對應的一級密文。
[0049]本發(fā)明通過獲取第一芯片ID號和第二芯片ID號,然后對第一芯片ID號和第二芯片ID號進行邏輯運算,得到的值作為芯片組合值,再對第一芯片向第二芯片發(fā)送的原始數據與芯片組合值進行數學運算,得到該原始數據對應的一級密文,從而利用第一芯片和第二芯片內置的全球唯一的ID號作為密鑰的基礎,對第一芯片ID號和第二芯片ID號進行邏輯運算(例如,邏輯與和邏輯或運算)得到芯片組合值,再對原始數據和芯片組合值進行數學運算(例如,加法運算),由于CPU最擅長處理是邏輯位操作和加法運算,從而本加密方法占用資源少,運行速度快;同時,雖然通過邏輯運算和數學運算對原始數據進行正向加密容易實現,但是反向解密難度非常大,從而提高了芯片之間通訊的安全性和保密性。
[0050]進一步地,參照圖2,圖2為圖1中對第一芯片ID號和第二芯片ID號進行邏輯運算,得到的值作為芯片組合值的步驟的細化流程示意圖.[0051 ] 在本實施例中,步驟S20包括:
[0052]步驟S201,將第一芯片ID號的二進制數據和第二芯片ID號的二進制數據進行邏輯與運算,得到原始芯片組合值;
[0053]將第一芯片ID號和第二芯片ID號轉化為由O和I組成二進制序列數據,再將第一芯片ID號和第二芯片ID號進行邏輯與運算(1&0 = 0,0&0 = 0,0&1 = 0,1&1 = I),得到原始芯片組合值
[0054]步驟S202,取原始芯片組合值的低四位作為組合芯片值。
[0055]為了進一步減少CPU的處理壓力,取原始芯片組合值的低四位作為組合芯片值。
[0056]進一步地,參照圖3,圖3是圖1中對第一芯片向第二芯片發(fā)送的原始數據與芯片組合值進行數學運算,得到該原始數據對應的一級密文的步驟的細化流程示意圖。
[0057]在本實施例中,步驟S30包括:
[0058]步驟S301,將第一芯片向第二芯片發(fā)送的原始數據分成多個ASCII碼表示的字符數據;
[0059]將第一芯片向第二芯片發(fā)送的原始數據分成多個ASCII碼表示的字符數據,便于數據的加密和傳輸。
[0060]步驟S302,將字符數據加上組合芯片值,得到原始數據的一級密文。
[0061]將ASCII碼表示的每一個字符數據與組合芯片值相加,得到原始數據的一級密文,完成了第一芯片與和第二芯片之間通訊的加密,第二芯片接收到第一芯片發(fā)送的一級密文后,以與上述加密方式對稱且逆向的解密方法進行解密即可獲取原始數據。
[0062]進一步地,參照圖4,圖4為本發(fā)明芯片通訊的加密方法第二實施例的流程示意圖。
[0063]在第二實施例中,在步驟S30之后,芯片通訊的加密方法還包括:
[0064]步驟S40,將一級密文加上動態(tài)變量得到二級密文,第一芯片每向第二芯片發(fā)送一個字符數據,動態(tài)變量自增I。
[0065]在本實施例中,一級密文再加上一個隨第一芯片和第二芯片之間通訊進行而變化的動態(tài)變量,從而形成二級密文,使得芯片之間的每次通訊相同的原始數據(即明文)加密后所得到的二級密文都不一樣,從而以無規(guī)律的二級密文進一步提高了第一芯片和第二芯片通訊的保密性,并且,整個過程所進行的運算都是CPU處理最快的操作,即位操作和加法,變量也很少,故而所占用的CPU資源少,運算速度快。
[0066]此外,動態(tài)變量變化范圍為O至127,當該動態(tài)變量增加到127時,回到初始值O繼續(xù)循環(huán)自增,盡可能避免緩沖區(qū)數據溢出,從而避免因數據溢出導致的數據錯誤。
[0067]本發(fā)明進一步提供一種激光條碼掃描平臺,參照圖5,圖5為本發(fā)明激光條碼掃描平臺第一實施例的功能模塊示意圖。
[0068]在第一實施例中,激光條碼掃描平臺包括:
[0069]獲取ID模塊50,用于獲取第一芯片ID號和第二芯片ID號;
[0070]芯片ID號是該芯片出廠時的全球唯一的生產編號,是用以區(qū)別芯片的硬件信息,一般情況,芯片ID號只有芯片的生產方和購買方知道,以芯片ID號作為密鑰破解難度很大。
[0071]邏輯運算模塊60,用于對第一芯片ID號和第二芯片ID號進行邏輯運算,得到的值作為芯片組合值;
[0072]對第一芯片ID號和第二芯片ID號進邏輯與、邏輯或、邏輯非等邏輯運算,得到的值作為芯片組合值。
[0073]數學運算模塊70,用于對第一芯片向第二芯片發(fā)送的原始數據與芯片組合值進行數學運算,得到該原始數據對應的一級密文。
[0074]通過對原始數據與芯片組件值進行加法、減法和乘法的一種或幾種綜合運算,得到該原始數據對應的一級密文。
[0075]本發(fā)明通過獲取第一芯片ID號和第二芯片ID號,然后對第一芯片ID號和第二芯片ID號進行邏輯運算,得到的值作為芯片組合值,再對第一芯片向第二芯片發(fā)送的原始數據與芯片組合值進行數學運算,得到該原始數據對應的一級密文,從而利用第一芯片和第二芯片內置的全球唯一的ID號作為密鑰的基礎,對第一芯片ID號和第二芯片ID號進行邏輯運算(例如,邏輯與和邏輯或運算)得到芯片組合值,再對原始數據和芯片組合值進行數學運算(例如,加法運算),由于CPU最擅長處理是邏輯位操作和加法運算,從而本加密方法占用資源少,運行速度快;同時,雖然通過邏輯運算和數學運算對原始數據進行正向加密容易實現,但是反向解密難度非常大,從而提高了芯片之間通訊的安全性和保密性。
[0076]進一步地,邏輯運算模塊60用于:
[0077]將第一芯片ID號的二進制數據和第二芯片ID號的二進制數據進行邏輯與運算,得到原始芯片組合值;
[0078]將第一芯片ID號和第二芯片ID號轉化為由O和I組成二進制序列數據,再將第一芯片ID號和第二芯片ID號進行邏輯與運算(1&0 = 0,0&0 = 0,0&1 = 0,1&1 = I),得到原始芯片組合值。
[0079]取原始芯片組合值的低四位作為組合芯片值。
[0080]為了進一步減少CPU的處理壓力,取原始芯片組合值的低四位作為組合芯片值。
[0081]進一步地,數學運算模塊70用于:
[0082]將第一芯片向第二芯片發(fā)送的原始數據分成多個ASCII碼表示的字符數據;
[0083]將第一芯片向第二芯片發(fā)送的原始數據分成多個ASCII碼表示的字符數據,便于數據的加密和傳輸。
[0084]將字符數據加上組合芯片值,得到原始數據的一級密文。
[0085]將ASCII碼表示的每一個字符數據與組合芯片值相加,得到原始數據的一級密文,完成了第一芯片與和第二芯片之間通訊的加密,第二芯片接收到第一芯片發(fā)送的一級密文后,以與上述加密方式對稱且逆向的解密方法進行解密即可獲取原始數據。
[0086]進一步地,參照圖6,圖6為本發(fā)明激光條碼掃描平臺第一實施例的功能模塊示意圖。
[0087]在第二實施例中,激光條碼掃描平臺還包括:
[0088]動態(tài)自增模塊80,將一級密文加上動態(tài)變量得到二級密文,第一芯片每向第二芯片發(fā)送一個字符數據,動態(tài)變量自增I。
[0089]在本實施例中,一級密文再加上一個隨第一芯片和第二芯片之間通訊進行而變化的動態(tài)變量,從而形成二級密文,使得芯片之間的每次通訊相同的原始數據(即明文)加密后所得到的二級密文都不一樣,從而以無規(guī)律的二級密文進一步提高了第一芯片和第二芯片通訊的保密性,并且,整個過程所進行的運算都是CPU處理最快的操作,即位操作和加法,變量也很少,故而所占用的CPU資源少,運算速度快。
[0090]此外,動態(tài)變量變化范圍為O至127,當該動態(tài)變量增加到127時,回到初始值O繼續(xù)循環(huán)自增,盡可能避免緩沖區(qū)數據溢出,從而避免因數據溢出導致的數據錯誤。
[0091]以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的【技術領域】,均同理包括在本發(fā)明的專利保護范圍內。
【權利要求】
1.一種芯片通訊的加密方法,其特征在于,所述芯片通訊的加密方法包括以下步驟: 獲取第一芯片ID號和第二芯片ID號; 對所述第一芯片ID號和第二芯片ID號進行邏輯運算,得到的值作為芯片組合值;對所述第一芯片向所述第二芯片發(fā)送的原始數據與所述芯片組合值進行數學運算,得到該原始數據對應的一級密文。
2.如權利要求1所述的芯片通訊的加密方法,其特征在于,所述對所述第一芯片ID號和第二芯片ID號進行邏輯運算,得到的值作為芯片組合值的步驟包括: 將所述第一芯片ID號的二進制數據和第二芯片ID號的二進制數據進行邏輯與運算,得到原始芯片組合值; 取原始芯片組合值的低四位作為組合芯片值。
3.如權利要求2所述的芯片通訊的加密方法,其特征在于,所述對所述第一芯片向所述第二芯片發(fā)送的原始數據與所述芯片組合值進行數學運算,得到該原始數據對應的一級密文的步驟包括: 將所述第一芯片向所述第二芯片發(fā)送的原始數據分成多個ASCII碼表示的字符數據; 將所述字符數據加上所述組合芯片值,得到原始數據的一級密文。
4.如權利要求3所述的芯片通訊的加密方法,其特征在于,所述對所述第一芯片向所述第二芯片發(fā)送的原始數據與所述芯片組合值進行數學運算,得到該原始數據對應的一級密文的步驟之后,所述芯片通訊的加密方法還包括: 將所述一級密文加上動態(tài)變量得到二級密文,所述第一芯片每向所述第二芯片發(fā)送一個字符數據,所述動態(tài)變量自增I。
5.如權利要求4所述的芯片通訊的加密方法,其特征在于,所述動態(tài)變量變化范圍為O至127,當該動態(tài)變量增加到127時,回到初始值O繼續(xù)循環(huán)自增。
6.一種激光條碼掃描平臺,其特征在于,所述激光條碼掃描平臺包括: 獲取ID模塊,用于獲取第一芯片ID號和第二芯片ID號; 邏輯運算模塊,用于對所述第一芯片ID號和第二芯片ID號進行邏輯運算,得到的值作為芯片組合值; 數學運算模塊,用于對所述第一芯片向所述第二芯片發(fā)送的原始數據與所述芯片組合值進行數學運算,得到該原始數據對應的一級密文。
7.如權利要求6所述的激光條碼掃描平臺,其特征在于,所述邏輯運算模塊用于: 將所述第一芯片ID號的二進制數據和第二芯片ID號的二進制數據進行邏輯與運算,得到原始芯片組合值; 取原始芯片組合值的低四位作為組合芯片值。
8.如權利要求7所述的激光條碼掃描平臺,其特征在于,所述數學運算模塊用于: 將所述第一芯片向所述第二芯片發(fā)送的原始數據分成多個ASCII碼表示的字符數據; 將所述字符數據加上所述組合芯片值,得到原始數據的一級密文。
9.如權利要求8所述的激光條碼掃描平臺,其特征在于,所述激光條碼掃描平臺還包括: 動態(tài)自增模塊,將所述一級密文加上動態(tài)變量得到二級密文,所述第一芯片每向所述第二芯片發(fā)送一個字符數據,所述動態(tài)變量自增I。
10.如權利要求9所述的激光條碼掃描平臺,其特征在于,所述動態(tài)變量變化范圍為O至127,當該動態(tài)變量增加到127時,回到初始值O繼續(xù)循環(huán)自增。
【文檔編號】G06K7/10GK104166830SQ201410418255
【公開日】2014年11月26日 申請日期:2014年8月22日 優(yōu)先權日:2014年8月22日
【發(fā)明者】周竟云 申請人:深圳市興通物聯(lián)科技有限公司