[發(fā)明專利]一種字節(jié)碼的加密方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201910393426.0 | 申請(qǐng)日: | 2019-05-13 |
| 公開(公告)號(hào): | CN110096851B | 公開(公告)日: | 2021-02-09 |
| 發(fā)明(設(shè)計(jì))人: | 周亞橋 | 申請(qǐng)(專利權(quán))人: | 北京奇藝世紀(jì)科技有限公司 |
| 主分類號(hào): | G06F21/12 | 分類號(hào): | G06F21/12;G06F21/60;H04L9/08 |
| 代理公司: | 北京集佳知識(shí)產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 100080 北京市海淀*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 字節(jié) 加密 方法 系統(tǒng) | ||
本發(fā)明公開了一種字節(jié)碼的加密方法及系統(tǒng),確定字節(jié)碼文件中包含的字節(jié)碼數(shù)量,將獲取的隨機(jī)數(shù)轉(zhuǎn)換為二進(jìn)制寫入初始向量中得到目標(biāo)初始向量,基于目標(biāo)初始向量和密鑰向量,得到一個(gè)序列元素的數(shù)量與字節(jié)碼數(shù)量相等的隨機(jī)序列,基于各個(gè)字節(jié)碼和各個(gè)字節(jié)碼在隨機(jī)序列中對(duì)應(yīng)的元素,采用預(yù)設(shè)加密規(guī)則對(duì)各個(gè)字節(jié)碼進(jìn)行加密。本發(fā)明中的隨機(jī)數(shù)保證了每次加密的隨機(jī)性,目標(biāo)初始向量和密鑰向量保證了每次加密的安全性,使程序攻擊者從加密后的字節(jié)碼中獲得隨機(jī)數(shù)后,仍然無(wú)法得到隨機(jī)序列,對(duì)各個(gè)字節(jié)碼進(jìn)行加密,可降低字節(jié)碼之間的耦合程度,增大程序攻擊者的破譯難度,降低字節(jié)碼被反翻譯概率。
技術(shù)領(lǐng)域
本發(fā)明涉及軟件技術(shù)領(lǐng)域,更具體的說(shuō),涉及一種字節(jié)碼的加密方法及系統(tǒng)。
背景技術(shù)
字節(jié)碼(Bytecode)通常指的是已經(jīng)經(jīng)過(guò)編譯,與特定機(jī)器代碼無(wú)關(guān),需要解釋器轉(zhuǎn)譯后才能成為機(jī)器代碼的中間代碼。在程序運(yùn)行時(shí),解釋器可以將源代碼文件翻譯成字節(jié)碼文件,并可以分析字節(jié)碼文件,然后執(zhí)行每個(gè)字節(jié)碼對(duì)應(yīng)的指令。也就是說(shuō),只要有字節(jié)碼文件便可以運(yùn)行程序,字節(jié)碼文件中包含了程序的所有信息。
由于字節(jié)碼和源代碼之間存在著固有聯(lián)系,因此,一些反翻譯工具,可以將字節(jié)碼文件進(jìn)行反翻譯,獲得與實(shí)際源代碼幾乎等效的源代碼。于是程序攻擊者可以輕松獲取程序的設(shè)計(jì)邏輯、關(guān)鍵算法和重要參數(shù)等信息,盜取程序中包含的重要信息。
因此,亟需提供一種字節(jié)碼的加密方法,以降低字節(jié)碼之間的耦合程度,增大逆向技術(shù)的難度,使得程序攻擊者即使以非法手段獲得了字節(jié)碼文件,也無(wú)法還原出程序的真正邏輯。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明公開一種字節(jié)碼的加密方法及系統(tǒng),以實(shí)現(xiàn)對(duì)字節(jié)碼的加密保護(hù),降低字節(jié)碼之間的耦合程度,增大逆向技術(shù)的難度,使得程序攻擊者即使以非法手段獲得了字節(jié)碼文件,也無(wú)法還原出程序的真正邏輯,從而達(dá)到保護(hù)程序的目的。
一種字節(jié)碼的加密方法,包括:
獲取字節(jié)碼文件以及所述字節(jié)碼文件中的字節(jié)碼數(shù)量;
獲取符合預(yù)設(shè)要求的隨機(jī)數(shù);
對(duì)所述隨機(jī)數(shù)進(jìn)行編碼,并將編碼后的隨機(jī)數(shù)寫入預(yù)先設(shè)定的初始向量中,得到目標(biāo)初始向量;
基于所述目標(biāo)初始向量和預(yù)先設(shè)定的密鑰向量,得到一個(gè)序列元素的數(shù)量與所述字節(jié)碼數(shù)量相等的隨機(jī)序列;
將所述字節(jié)碼文件中的各個(gè)字節(jié)碼與所述隨機(jī)序列中的各個(gè)元素一一對(duì)應(yīng),基于各個(gè)所述字節(jié)碼和所述字節(jié)碼在所述隨機(jī)序列中對(duì)應(yīng)的所述元素,采用對(duì)應(yīng)的預(yù)設(shè)加密規(guī)則,對(duì)各個(gè)所述字節(jié)碼進(jìn)行加密,得到加密字節(jié)碼序列。
可選的,將所述字節(jié)碼文件中的各個(gè)字節(jié)碼與所述隨機(jī)序列中的各個(gè)元素一一對(duì)應(yīng),包括:將所述字節(jié)碼文件和所述隨機(jī)序列中,位于相同位置的字節(jié)碼和元素一一對(duì)應(yīng)。
可選的,還包括:
將所述目標(biāo)初始向量放置于所述加密字節(jié)碼序列的預(yù)設(shè)位置,形成目標(biāo)加密字節(jié)碼序列;
根據(jù)所述目標(biāo)加密字節(jié)碼序列,得到加密字節(jié)碼文件。
可選的,還包括:
獲取所述加密字節(jié)碼文件,并從所述加密字節(jié)碼文件中的所述目標(biāo)加密字節(jié)碼序列中提取出所述目標(biāo)初始向量;
將所述目標(biāo)初始向量從所述目標(biāo)加密字節(jié)碼序列中刪除,得到所述加密字節(jié)碼序列;
對(duì)所述目標(biāo)初始向量和所述密鑰向量,采用與所述預(yù)設(shè)加密規(guī)則對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則,對(duì)所述加密字節(jié)碼序列中的各個(gè)加密字節(jié)碼進(jìn)行解密,得到解密字節(jié)碼序列;
根據(jù)所述解密字節(jié)碼序列,得到解密字節(jié)碼文件。
一種字節(jié)碼的加密系統(tǒng),包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京奇藝世紀(jì)科技有限公司,未經(jīng)北京奇藝世紀(jì)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910393426.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過(guò)保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過(guò)保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過(guò)感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過(guò)限制訪問(wèn)計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過(guò)限制訪問(wèn)或處理程序或過(guò)程
- 光傳送網(wǎng)信號(hào)調(diào)度方法和裝置
- 跨平臺(tái)的字節(jié)序處理方法、裝置和字節(jié)碼運(yùn)行平臺(tái)
- 用于提高Java處理器取指令帶寬的字節(jié)碼緩沖裝置
- 用于基于圖塊的3D計(jì)算機(jī)圖形系統(tǒng)的可隨機(jī)訪問(wèn)的無(wú)損參數(shù)數(shù)據(jù)壓縮
- 一種服務(wù)集群
- 針對(duì)主控芯片PS2251的數(shù)據(jù)加密方法
- 存儲(chǔ)器的修復(fù)方法
- 一種對(duì)字節(jié)數(shù)組進(jìn)行校驗(yàn)修正的方法和智能設(shè)備
- 循環(huán)移位處理裝置及方法
- 一種基于Unicode編碼的信息嵌入與提取方法
- 加密裝置、加密系統(tǒng)、加密方法以及加密程序
- 移動(dòng)終端和方法
- 再加密方法、再加密系統(tǒng)以及再加密裝置
- 加密終端遠(yuǎn)程管理的方法、加密終端及管理器
- 數(shù)據(jù)加密的方法及裝置
- 流媒體數(shù)據(jù)加密、解密方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 加密裝置、加密系統(tǒng)和數(shù)據(jù)的加密方法
- 文件加密、解密方法、裝置、設(shè)備和存儲(chǔ)介質(zhì)
- 一種車聯(lián)網(wǎng)數(shù)據(jù)加密方法及系統(tǒng)
- 一種服務(wù)數(shù)據(jù)共享云平臺(tái)的數(shù)據(jù)加密方法及系統(tǒng)
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





