TWI736998B - 資料加解密處理方法 - Google Patents
資料加解密處理方法 Download PDFInfo
- Publication number
- TWI736998B TWI736998B TW108136085A TW108136085A TWI736998B TW I736998 B TWI736998 B TW I736998B TW 108136085 A TW108136085 A TW 108136085A TW 108136085 A TW108136085 A TW 108136085A TW I736998 B TWI736998 B TW I736998B
- Authority
- TW
- Taiwan
- Prior art keywords
- sub
- bit
- byte
- encryption
- data string
- Prior art date
Links
Images
Landscapes
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一種資料加解密處理方法,適用於透過軟體程式實施建構在電子裝置,包含用以控制該電子裝置對資料串進行加密處理的資料加密步驟,該資料加密步驟之加密處理次步驟是使該電子裝置以一預定排序對資料串的至少一個位元組執行N次的移位處理子步驟與M次的多重數值運算子步驟,以得到至少一個新的位元組,進而產生一個加密資料串。透過本發明資料加解密處理方法之資料加密步驟設計,可透過軟體程式的方式完成資料串的加密處理,而不需使用昂貴的加密處理晶片,方便透過APP形式供行動裝置下載安裝使用,是一種相當創新實用的資料加解密方法設計。
Description
本發明是有關於一種資料處理方法,特別是指一種資料加解密處理方法。
隨著無線通訊技術的進步,幾乎所有的智慧家電都可與行動裝置進行無線溝通,例如電子鎖、門禁系統、冰箱、空調設備等,而為了避免智慧家電與行動裝置進行無線通訊的過程中,通訊資料被側錄盜取,或者是造成不相關的設備讀取而誤作動,各種智慧家電或行動裝置通常都會以特定加密技術對要傳輸的資料進行加密處理。前述智慧家電與行動裝置進行通訊資料之加解密方式主要採用硬體加密機制,也就是透過加密晶片來執行,由發送端先以加密晶片對要傳輸的資料進行加密處理後再對外發送,然後由接收端以另一加密晶片配合對應之金鑰或解密程式對加密後的資料進行解密處理,以取得原始資料。但這種以加密晶片進行加密、解密處理的硬體加解密機制,會增加智慧家電與行動裝置的製造成本。
因此,本發明的目的,即在提供一種可改善先前技術之至少一個缺點的資料加解密處理方法。
於是,本發明資料加解密處理方法,適用於透過軟體程式實施建構在一個電子裝置。該資料加解密處理方法包含一個用以控制該電子裝置對一個資料串進行加密處理的資料加密步驟,該資料串具有多個位元組(byte)。該資料加密步驟具有一個加密處理次步驟,及一個產生加密資料串次步驟。
該加密處理次步驟,是使該電子裝置以一預定排序對該資料串的其中至少一個位元組執行N次的移位處理子步驟與M次的多重數值運算子步驟,以得到至少一個新的位元組,2≦N,1≦M。其中,所述移位處理子步驟是使該電子裝置將一個位元組的八個位元(bit)數值往高位元方向或往低位元方向位移L位,1≦L≦7,並將每一被位移出的位元數值與一個預定位元數值進行邏輯運算所得到的一個運算後位元數值,反向補入對應空缺的bit 0位置或bit 7位置,以得到一個新的位元組。所述多重數值運算子步驟是使該電子裝置將一個位元組的該等位元數值分別與一個預定運算數值的八個位元數值進行邏輯運算,以得到一個新的位元組。
該產生加密資料串次步驟,是使該電子裝置彙整該資料串中未經加密處理的每一位元組與經該加密處理次步驟處理的每一位元組以得到一個加密資料串。
本發明的功效在於:透過本發明資料加解密處理方法之該資料加密步驟的所述移位處理子步驟與所述多重數值運算子步驟的設計,可透過軟體程式的方式完成資料串的加密處理,資料串的加密處理完全不需使用昂貴的加密處理晶片,而方便透過APP的形式供智慧型手機、平板電腦等行動裝置下載安裝使用,是一種相當創新實用的資料加解密方法設計。
在本發明被詳細描述的前,應當注意在以下的說明內容中,類似的元件是以相同的編號來表示。
參閱圖1、2,本發明資料加解密處理方法的實施例,適用於以軟體程式的形式實施建構在多個電子裝置(圖未示)上,可用以控制該等電子裝置對彼此要進行傳輸的一個資料串進行加密處理,以及對一個經加密處理後的加密資料串進行解密處理。該資料加解密處理方法例如但不限於以APP(mobile application)的形式安裝在一個行動裝置與一個電子鎖,使該行動裝置與該電子鎖間進行通訊的資料串可透過加密處理保護,以防止他人從旁側錄盜取。所述資料串與所述加密資料串各具有多個位元組(Byte),每一個位元組具有八個位元(Bit)。
該資料加解密處理方法包含一個用以對該資料串進行加密處理的資料加密步驟300,及一個用以對該加密資料串進行解密處理的資料解密步驟400。所述加密處理是針對該資料串的其中一個位元組、其中數個位元組或每一個位元組各別進行加密處理。所述解密處理是針對該加密資料串中有經加密處理的每一個位元組進行解密處理,以將加密資料串還原成該電子裝置可正確判讀的解密資料串。
在以下實施例中,是以對該資料串的其中一個位元組的加密處理,以及對該加密資料串的其中一個位元組的解密處理為例進行說明。
該資料加密步驟300包括一個加密處理次步驟301,及一個產生加密資料串次步驟304。該加密處理次步驟301是使該電子裝置以一預定排序對要進行加密處理的該位元組執行N次的移位處理子步驟302與M次的多重數值運算子步驟303,以得到一個新的位元組,2≦N,1≦M。
所述移位處理子步驟302是將一個位元組的八個位元(bit)數值依序往高位元方向或往低位元方向連續位移L位,1≦L≦7,並在移位過程中,將當前被移出該位元組的一個位元數值與一個預定位元數值進行OR邏輯運算以得到一個運算後位元數值,當該位元組是往高位元方向移位時,是將該運算後位元數值反向補入當前對應空缺的bit 0位置,當該位元組是往低位元方向移位時,是將該運算後位元數值反向補入當前對應空缺的bit 7位置,並重複此移位方式直至完成L位元數值的移位處理,就可得到一個經移位處理後的新的位元組。
所述多重數值運算子步驟303是使該電子裝置將一個位元組的該等位元數值分別與一個預定運算數值的八個位元數值進行XOR邏輯運算,以得到一個新的位元組。其中,當2≦M時,該等多重數值運算子步驟303所使用的該等預定運算數值可以完全相同、部分相同,或完全不同。
該產生加密資料串次步驟304,是使該電子裝置彙整要經加密處理之該資料串中,未經加密處理的位元組與經過該加密處理次步驟301處理後的位元組,以得到該加密後資料串。
該資料解密步驟400包括一個解密處理次步驟401與一個產生解密資料串次步驟404。該解密處理次步驟401是使該電子裝置根據所接收之該加密資料串中被加密之每一個位元組的加密處理方式,也就是以反序該加密處理次步驟301執行之N次的移位處理子步驟302與M次的多重數值運算子步驟303的方式,反序執行對應N次的移位處理子步驟402與M次的多重數值運算子步驟403,並以相反之位元數值移位方向執行每一次的移位處理子步驟402,藉以對該加密後資料串中經過該資料加密步驟300處理的每一位元組進行解密處理。該產生解密資料串次步驟404,是使該電子裝置彙整該加密資料串中未經解密處理的位元組與經該解密處理次步驟401處理的位元組以得到該解密資料串。
參閱圖1、3、4,以下是以一個位元組900的加解密處理方式為例進行說明,在以下加解密運算例中,針對加密處理部分,是使該加密處理次步驟301控制該電子裝置對該位元組900依序執行一次移位處理子步驟302、一次多重數值運算子步驟303,及一次移位處理子步驟302。第一次執行的移位處理子步驟302是將待處理的位元組900的該等位元數值往高位元方向位移三位,也就是移位三次。第二次執行的移位處理子步驟302是將待處理的位元組904往高位元方向位移兩位,也就是移位兩次。該多重數值運算子步驟303採用之該預定運算數值為0x93之二進位值「10010011」,該等移位處理子步驟302所採用之該預定位元數值為「0」。
初始的位元組900為數值「0x25」的二進位值為「00100101」,在第一次執行的移位處理子步驟302中,第一次往高位元方向移動一個位元數值時,bit 7位置的位元數值「0」會被移出該位元組900,而該位元組900的bit 0位置會對應空出,將移出該位元組900的位元數值「0」與該預定位元數值「0」進行OR邏輯運算以得到一個運算後位元數值「0」,並將該運算後位元數值「0」補入對應空缺的bit 0位置,以得到一個新的位元組901「01001010」,而完成第一次移位。
接著,針對第一次移位產生的新的位元組901進行第二次移位,bit 7位置的位元數值「0」會移出該位元組901,將移出該位元組901的位元數值「0」與該預定位元數值「0」進行OR邏輯運算以得到一個運算後位元數值「0」,並將該運算後位元數值「0」補入對應空缺的bit 0位置,以得到一個新的位元組902「10010100」,而完成第二次移位。
最後,針對第二次移位產生的新的位元組902進行第三次移位,bit 7位置的位元數值「1」會移出該位元組902,並與該預定位元數值「0」進行OR邏輯運算以得到一個運算後位元數值「1」,將該運算後位元數值「1」補入對應空缺的bit 0位置,以得到一個新的位元組903「00101001」,而完成第三次移位。此時即完成第一次執行的移位處理子步驟302。
緊接著,執行該多重數值運算子步驟303,將經過第一次的移位處理子步驟302所產生的該位元組903「00101001」的該等位元數值,分別與該預定運算數值800「10010011」的該等位元數值進行XOR邏輯運算,也就是使該位元組903與該預定運算數值800之相同位元位置的位元數值進行XOR邏輯運算,例如使該位元組903的bit 7位置的位元數值「0」與該預定運算數值800的bit 7位置的位元數值「1」進行XOR邏輯運算,使該位元組903的bit 6位置的位元數值「0」與該預定運算數值800的bit 6位置的位元數值「0」進行XOR邏輯運算,依此方式,使該位元組903的bit 0位置的位元數值「1」與該預定運算數值800的bit 0位置的位元數值「1」進行XOR邏輯運算。透過上述多重數值運算子步驟303處理後,該位元組903「00101001」會變成新的位元組904「10111010」,也就是數值0xBA。
參閱圖1、4、5,最後,再針對該多重數值運算子步驟303處理後產生的位元組904「10111010」進行第二次的移位處理子步驟302,相同於上述第一次的移位處理子步驟302方式,將該位元組904往高位元方向位移兩個位元,而可得到一個新的位元組905「11101010」,而變成數值0xEA。
當使該電子裝置以該加密處理次步驟301完成對要加密處理之該資料串中的特定位元組900的加密處理後,就可接續使該電子裝置執行該產生加密資料串次步驟304,彙整原資料串中未經加密處理的每一位元組與每一加密位元組以構成該加密資料串,然後就可控制該電子裝置對另一個電子裝置傳送該加密資料串。
參閱圖2、6、7、8,當一個電子裝置收到一個用上述資料加密步驟300(示於圖1)處理後的加密後資料串時,便會對應執行該資料解密步驟400以將該加密資料串還原成解密資料串。
該資料解密步驟400的該解密處理次步驟401是以反序方式,對該加密資料串中有經加密處理的每一位元組905進行一次往低位元方向位移二位元的移位處理子步驟402、一次多重數值運算子步驟403,以及一次往低位元方向移位三位元的移位處理子步驟402。進行每一次移位處理子步驟402時,用以進行OR邏輯運算的該預定位元數值同樣為「0」,而進行該多重數值運算子步驟403時,用以進行XOR邏輯運算的該預定運算數值800同樣為數值0x93「10010011」。
透過上述解密處理次步驟401,就可以第一次的移位處理子步驟402將一個位元組905「11101010」還原成圖6所示的新的位元組906「10111010」。接著,再以該多重數值運算子步驟403將該位元組906還原成如圖7所示之新的位元組907「00101001」,最後,再以第二次的移位處理子步驟402將該位元組907還原成圖8所示的一個解密位元組908「00100101」。
當使該電子裝置以該解密處理次步驟401完成該加密資料串中特定位元組的解密處理後,該產生解密資料串次步驟404會接續驅使該電子裝置彙整該加密資料串中未經解密處理的位元組與經解密處理產生的解密位元組以得到該解密資料串。
必須說明的是,兩電子裝置以本發明資料加解密處理方法進行資料串之加密傳輸時,可預先設定該加密處理次步驟301之所述移位處理子步驟302與所述多重數值運算子步驟303的執行次數與順序,而該解密處理次步驟401於解密時,則會反序執行對應之所述移位處理子步驟402與所述多重數值運算子步驟403。此外,也可預先設定所述移位處理子步驟302、402用以進行邏輯運算的該預定位元數值為「1」或「0」,並預先設定所述多重數值運算子步驟303、403用以進行邏輯運算的該預定運算數值800。
再者,針對一個資料串中的該等位元組進行加密處理時,可分別採用具有不同次數與順序組合之移位處理子步驟302與多重數值運算子步驟303的加密處理次步驟301,可藉此使該資料加密步驟300能產生更多種變化的加密處理方式,而使產生之該加密資料串更不易被破解。同樣的,該資料解密步驟400會配合該資料加密步驟300之加密方法設計進行解密處理,不再贅述。
綜上所述,透過本發明資料加解密處理方法之該資料加密步驟300與該資料解密步驟400的所述移位處理子步驟302、402與所述多重數值運算子步驟303、403的設計,可透過軟體程式的方式完成資料串的加密處理以及加密資料串的解密處理,資料串的加解密處理完全不需使用昂貴的加密晶片,而方便透過APP的形式供智慧型手機、平板電腦等行動裝置下載安裝使用,是一種相當創新實用的資料加解密方法設計。因此,確實能達成本發明的目的。
惟以上所述者,僅為本發明的實施例而已,當不能以此限定本發明實施的範圍,凡是依本發明申請專利範圍及專利說明書內容所作的簡單的等效變化與修飾,皆仍屬本發明專利涵蓋的範圍內。
300:資料加密步驟
301:加密處理次步驟
302:移位處理子步驟
303:多重數值運算子步驟
304:產生加密資料串次步驟
400:資料解密步驟
401:解密處理次步驟
402:移位處理子步驟
403:多重數值運算子步驟
404:產生解密資料串次步驟
800:預定運算數值
900~907:位元組
908:解密位元組
本發明的其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中:
圖1是本發明資料加解密處理方法的一個實施例的一個資料加密步驟的步驟流程圖;
圖2是實施例的一個資料解密步驟的步驟流程圖;
圖3是該實施例的一個加密處理次步驟對一個位元組執行第一次移位處理子步驟時的位元數值移位流程示意圖;
圖4是該實施例的該加密處理次步驟對一個位元組執行一個多重數值運算子步驟時的位元數值變化示意圖;
圖5是該實施例的該加密處理次步驟對一個位元組執行第二次移位處理子步驟時的位元數值移位流程示意圖;
圖6是該實施例之一個解密處理次步驟對一個位元組執行第一次移位處理子步驟的位元數值移位流程示意圖;
圖7是該實施例之該解密處理次步驟對一個位元組執行一個多重數值運算子步驟時的位元數值變化示意圖;及
圖8是該實施例之該解密處理次步驟對一個位元組執行第二次移位處理子步驟的位元數值移位流程示意圖。
300:資料加密步驟
301:加密處理次步驟
302:移位處理子步驟
303:多重數值運算子步驟
304:產生加密資料串次步驟
Claims (7)
- 一種資料加解密處理方法,適用於透過軟體程式實施建構在一個電子裝置,包含一個用以控制該電子裝置對一個資料串進行加密處理的資料加密步驟,該資料串具有多個位元組(byte),該資料加密步驟具有以下次步驟: 一個加密處理次步驟,使該電子裝置以一預定排序對該資料串的其中至少一個位元組執行N次的移位處理子步驟與M次的多重數值運算子步驟,以得到至少一個新的位元組,2≦N,1≦M,其中, 所述移位處理子步驟是使該電子裝置將一個位元組的八個位元(bit)數值往高位元方向或往低位元方向位移L位,1≦L≦7,並將每一被位移出的位元數值與一個預定位元數值進行邏輯運算所得到的一個運算後位元數值反向補入對應空缺的bit 0位置或bit 7位置,以得到一個新的位元組; 所述多重數值運算子步驟是使該電子裝置將一個位元組的該等位元數值分別與一個預定運算數值的八個位元數值進行邏輯運算,以得到一個新的位元組;及 一個產生加密資料串次步驟,是使該電子裝置彙整該資料串中未經加密處理的每一位元組與經該加密處理次步驟處理的每一位元組以得到一個加密資料串。
- 如請求項1所述的資料加解密處理方法,其中,所述移位處理子步驟是使該電子裝置將每一被位移出的位元數值與該預定位元數值進行OR邏輯運算以得到該運算後位元數值。
- 如請求項1所述的資料加解密處理方法,其中,所述多重數值運算子步驟是使電子裝置將一個位元組的該等位元數值分別與該預定運算數值的該等位元數值進行XOR邏輯運算以得到新的位元組。
- 如請求項3所述的資料加解密處理方法,其中,當2≦M時,該等多重數值運算子步驟所使用的該等預定運算數值是完全相同、部分相同,或完全不同。
- 如請求項2所述的資料加解密處理方法,其中,所述多重數值運算子步驟是使電子裝置將一個位元組的該等位元數值分別與該預定運算數值的該等位元數值進行XOR邏輯運算以得到新的位元組。
- 如請求項5所述的資料加解密處理方法,其中,當2≦M時,該等多重數值運算子步驟所使用的該等預定運算數值是完全相同、部分相同,或完全不同。
- 如請求項1至6任一項所述的資料加解密處理方法,還包含一個用以對該加密資料串進行解密處理的資料解密步驟,該資料解密步驟包括一個解密處理次步驟與一個產生解密資料串次步驟,該解密處理次步驟是以反序方式執行該加密處理次步驟執行之N次的移位處理子步驟與M次的多重數值運算子步驟,並以相反之位元數值移位方向與相同的預定位元數值執行每一次的移位處理子步驟,且以相同之預定運算數值執行所述多重數值運算子步驟,對該加密資料串中經過該資料加密步驟處理的每一位元組進行解密處理以得到一個解密位元組,該產生解密資料串次步驟是使該電子裝置彙整該加密資料串中未經解密處理的每一位元組與每一解密位元組以得到一個解密資料串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108136085A TWI736998B (zh) | 2019-10-04 | 2019-10-04 | 資料加解密處理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108136085A TWI736998B (zh) | 2019-10-04 | 2019-10-04 | 資料加解密處理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202116036A TW202116036A (zh) | 2021-04-16 |
TWI736998B true TWI736998B (zh) | 2021-08-21 |
Family
ID=76604480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108136085A TWI736998B (zh) | 2019-10-04 | 2019-10-04 | 資料加解密處理方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI736998B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0465006B1 (en) * | 1990-06-29 | 1999-07-14 | Cabletron Systems, Inc. | A method for generating a checksum |
TW200520494A (en) * | 2003-12-15 | 2005-06-16 | Inst Information Industry | Method and system for data encryption |
US7124064B1 (en) * | 2001-03-30 | 2006-10-17 | Cisco Technology, Inc. | Automatic generation of hardware description language code for complex polynomial functions |
US20100049986A1 (en) * | 2008-08-22 | 2010-02-25 | Hitachi, Ltd. | Hash value generator |
CN102223228A (zh) * | 2011-05-11 | 2011-10-19 | 北京航空航天大学 | 基于fpga的aes加密芯片设计方法及嵌入式加密系统 |
WO2012071597A1 (de) * | 2010-12-02 | 2012-06-07 | Cordes Rene-Michael | Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten |
-
2019
- 2019-10-04 TW TW108136085A patent/TWI736998B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0465006B1 (en) * | 1990-06-29 | 1999-07-14 | Cabletron Systems, Inc. | A method for generating a checksum |
US7124064B1 (en) * | 2001-03-30 | 2006-10-17 | Cisco Technology, Inc. | Automatic generation of hardware description language code for complex polynomial functions |
TW200520494A (en) * | 2003-12-15 | 2005-06-16 | Inst Information Industry | Method and system for data encryption |
US20100049986A1 (en) * | 2008-08-22 | 2010-02-25 | Hitachi, Ltd. | Hash value generator |
WO2012071597A1 (de) * | 2010-12-02 | 2012-06-07 | Cordes Rene-Michael | Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten |
CN102223228A (zh) * | 2011-05-11 | 2011-10-19 | 北京航空航天大学 | 基于fpga的aes加密芯片设计方法及嵌入式加密系统 |
Also Published As
Publication number | Publication date |
---|---|
TW202116036A (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6449970B2 (ja) | IoTデバイス | |
CA2998994C (en) | Computer-implemented cryptographic method for improving a computer network, and terminal, system and computer-readable medium for the same | |
CN104468089B (zh) | 数据保护装置及其方法 | |
JP5784084B2 (ja) | 認証および安全なデータ転送のためのセッション鍵の生成 | |
CN101753292B (zh) | 用于链接式加密模式的方法和设备 | |
CN112311865B (zh) | 一种文件加密传输方法及装置 | |
WO2001039429A1 (en) | Integrity check values (icv) based on pseudorandom binary matrices | |
CN111722831B (zh) | 一种加密系统及其实现方法 | |
KR101834504B1 (ko) | 암복호화 장치 및 방법 | |
CN113079001B (zh) | 密钥更新方法、信息处理设备及密钥更新装置 | |
CN109698745A (zh) | 一种密钥管理方法、系统及耳机和存储介质 | |
CN115174261A (zh) | 基于分阶划层与密中密分发的混合加密解密系统与方法 | |
CN102377563B (zh) | 加密数据流的方法及设备 | |
CN107967414A (zh) | 微控制芯片指令加密方法、解密方法及加/解密系统 | |
CN114499857A (zh) | 一种实现大数据量子加解密中数据正确性与一致性的方法 | |
TWI736998B (zh) | 資料加解密處理方法 | |
TWI728933B (zh) | 混合式多階運算加解密系統、其發送端裝置、以及其接收端裝置 | |
KR102377265B1 (ko) | 네트워크 내의 장치 | |
WO2018054144A1 (zh) | 对称密钥动态生成方法、装置、设备及系统 | |
CN111049639B (zh) | 一种基于fpga的动态数据加解密实现方法 | |
JP2019200382A (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム | |
TWI705685B (zh) | 雙重網路加密系統 | |
KR101428665B1 (ko) | Aes-otp기반의 보안 시스템 및 방법 | |
Sawant et al. | Advanced Encryption Standard Block Cipher Algorithm | |
CN114430319B (zh) | 平行运算加解密系统、发送端装置以及接收端装置 |