一種采用編碼實現(xiàn)信息保密存儲的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息保密存儲技術(shù)領(lǐng)域,本發(fā)明公開了一種采用編碼實現(xiàn)信息保密存 儲的方法和系統(tǒng)。
【背景技術(shù)】
[0002] 為了保證數(shù)據(jù)的安全,一般的方式是對需要保密的數(shù)據(jù)進行加密。對數(shù)據(jù)進行加 密的常用方法是對原始信息通過數(shù)據(jù)加密算法來進行保護,原始信息通過加密算法加密后 得到密文,只有掌握密鑰的人才能解密密文,恢復(fù)出原始消息。
[0003] 但密碼運算一般都較為復(fù)雜,因此對進行加密解密運算的硬件有一定的要求,在 信息加密后,需要同時安全保存密文和密鑰,信息量也比較大。同時還需要設(shè)置密鑰的產(chǎn)生 過程,在數(shù)據(jù)傳輸?shù)倪^程中,還需要對原始信息進行完整性填充,比如分組加密方式(國際 通用算法AES、我國標準算法SM4),分組長度是128比特。如原始消息的長度不是128的整 數(shù)倍,需要對原始消息進行填充,直到128的整數(shù)倍。
[0004] 因此,上述采用加密算法實現(xiàn)數(shù)據(jù)安全的方式難以適應(yīng)于資源較少,特別是資源 受限的應(yīng)用場景,如NFC、RFID等領(lǐng)域。
【發(fā)明內(nèi)容】
[0005] 針對現(xiàn)有技術(shù)中的信息安全技術(shù)存在的上述的技術(shù)問題,本發(fā)明公開了一種采用 編碼實現(xiàn)信息保密存儲的方法,本發(fā)明還公開了實現(xiàn)上述方法的系統(tǒng)。
[0006] 本發(fā)明的技術(shù)方案如下 本發(fā)明公開了一種采用編碼實現(xiàn)信息保密存儲的方法,其具體包括以下的步驟:步驟 一、將原始消息進行編碼,得到中間過程編碼、最終編碼以及與編碼次數(shù)對應(yīng)的相關(guān)參數(shù); 步驟二、將中間過程編碼、最終編碼以及與編碼次數(shù)對應(yīng)的相關(guān)參數(shù)保存,其中一次或者多 次編碼得到的編碼序列以及相關(guān)參數(shù)安全保管,未經(jīng)授權(quán)不能獲取,從而實現(xiàn)信息的保密 存儲;步驟三、經(jīng)過允許,得到所有的編碼序列以及相關(guān)參數(shù),根據(jù)最終編碼、中間過程編碼 以及與編碼次數(shù)對應(yīng)的相關(guān)參數(shù)通過編碼的逆過程還原出原始消息。
[0007] 更進一步地,上述編碼具體包括以下的步驟:Sl :接收待編碼的當(dāng)前數(shù)值,將編碼 次數(shù)標識加1,并判斷當(dāng)前數(shù)值是否為3的倍數(shù),其中,編碼次數(shù)標識初始為0 ;編碼次數(shù)標 識用于表示總共進行了多少次編碼;S2 :如果是3的倍數(shù),將當(dāng)前數(shù)值減1,并將位置標識加 1后與編碼次數(shù)標識關(guān)聯(lián),其中,位置標識初始為0 ;位置標識用于表示當(dāng)前數(shù)值經(jīng)過編碼 后得到的編碼序列中發(fā)生減1的比特所在的位置;S3 :采用預(yù)先構(gòu)造的二叉樹的左子數(shù)和 /或右子數(shù)的權(quán)值對當(dāng)前數(shù)值進行編碼,得到當(dāng)前編碼序列,其中二叉樹中左子樹的權(quán)值為 〇、右子樹的權(quán)值為1,并且如果二叉樹中的節(jié)點為n,則該節(jié)點的左子樹為2 X n,右子樹為 2 X η+3, η>=1〇
[0008] 更進一步地,上述方法還包括判斷當(dāng)前編碼序列的長度是否小于或者等于預(yù)定長 度,是則按預(yù)定編碼格式輸出當(dāng)前編碼序列、編碼長度、編碼次數(shù)標識和位置標識。
[0009] 本發(fā)明還公開了一種采用編碼實現(xiàn)信息保密存儲的系統(tǒng),其具體包括編碼單元、 存儲單元、安全保管單元和消息還原單元;所述編碼單元用于將原始消息進行編碼,得到中 間過程編碼、最終編碼以及與編碼次數(shù)對應(yīng)的相關(guān)參數(shù);所述存儲單元用于保存中間過程 編碼、最終編碼以及與編碼次數(shù)對應(yīng)的相關(guān)參數(shù);所述安全保管單元用于實現(xiàn)其中一次或 者多次編碼得到的編碼序列以及相關(guān)參數(shù)的安全保管;所述消息還原單元用于根據(jù)最終編 碼、中間過程編碼以及與編碼次數(shù)對應(yīng)的相關(guān)參數(shù)通過編碼的逆過程還原出原始消息。
[0010] 更進一步地,上述編碼單元具體采用以下的步驟實現(xiàn)編碼:Sl :接收待編碼的當(dāng) 前數(shù)值,將編碼次數(shù)標識加1,并判斷當(dāng)前數(shù)值是否為3的倍數(shù),其中,編碼次數(shù)標識初始為 〇 ;編碼次數(shù)標識用于表示總共進行了多少次編碼;S2 :如果是3的倍數(shù),將當(dāng)前數(shù)值減1, 并將位置標識加1后與編碼次數(shù)標識關(guān)聯(lián),其中,位置標識初始為〇 ;位置標識用于表示當(dāng) 前數(shù)值經(jīng)過編碼后得到的編碼序列中發(fā)生減1的比特所在的位置;S3 :采用預(yù)先構(gòu)造的二 叉樹的左子數(shù)和/或右子數(shù)的權(quán)值對當(dāng)前數(shù)值進行編碼,得到當(dāng)前編碼序列,其中二叉樹 中左子樹的權(quán)值為〇、右子樹的權(quán)值為1,并且如果二叉樹中的節(jié)點為n,則該節(jié)點的左子樹 為2 X n,右子樹為2 X η+3, η>=1。
[0011] 更進一步地,上述所述編碼單元包括判斷模塊,所述判斷模塊判斷當(dāng)前編碼序列 的長度是否小于或者等于預(yù)定長度,是則按預(yù)定編碼格式輸出當(dāng)前編碼序列、編碼長度、編 碼次數(shù)標識和位置標識。
[0012] 通過采用以上的技術(shù)方案,本發(fā)明的技術(shù)方案與現(xiàn)有技術(shù)中常用的加密算法的方 式相比,存在以下的有益效果:常用的信息加密方法是對原始信息通過數(shù)據(jù)加密算法來進 行保護的,原始信息加密后得到密文,只有掌握密鑰的人才能解密密文,恢復(fù)出原始消息。 而本方法是一種基于編碼的信息保護方式,具有編碼簡單、不依賴于密碼算法(往往密碼算 法的運算較為復(fù)雜)、性能高、速度快、資源消耗小等特點。常用的信息加密保護方法需要通 信雙方共享信息加密密鑰,而加密密鑰需要安全傳遞、以便雙方共享。而本方法不需要通 信雙方共享信息加密密鑰,只需要共享一種信息編碼即可。常用的加密保護方法需要安全 保存密文和密鑰,而本方法只需要保存信息的最終編碼(可以固定長度)和中間過程編碼, 編碼全部保存以便后續(xù)恢復(fù),具體安全保存哪一個編碼或者哪幾個編碼則根據(jù)需要進行靈 活設(shè)定。其信息量比常用的加密保護方法少(最低減少的信息量是密鑰長度)。本方法不需 要常用加密方法中的密鑰產(chǎn)生過程,不依賴于密鑰安全,其安全性依賴于最終編碼和過程 編碼。本方法不需要對原始信息進行完整性填充,常用的加密保護方法需要對不完整的分 組進行完整性填充。如分組加密方式(國際通用算法AES、我國標準算法SM4),分組長度是 128比特。如原始消息的長度不是128的整數(shù)倍,需要對原始消息進行填充,直到128的整 數(shù)倍。本方法需要的資源較少,特別適用于資源受限的應(yīng)用場景,如NFC、RFID等領(lǐng)域。本 方法是基于編碼的消息保護與傳輸方法,不需要大量的運算和中間存儲處理,其資源消耗 可以忽略不計。本方法實現(xiàn)性能高,延時短,只需要進行固定格式的編碼即可,不需要常用 加密方法中的線性和非線性變換。
【附圖說明】
[0013] 圖1為本發(fā)明中的信息編碼方法的實現(xiàn)示意圖。
【具體實施方式】
[0014] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。
[0015] 如圖1所示的本發(fā)明的信息編碼方法的實現(xiàn)示意圖。節(jié)點為η (根節(jié)點為1),左 子樹為2η,右子樹為2η+3。左子樹權(quán)重為0,右子樹權(quán)重為1。
[0016] 本發(fā)明公開了一種采用編碼實現(xiàn)信息保密存儲的方法,其具體包括以下的步驟: 步驟一、將原始消息進行編碼,得到中間過程編碼、最終編碼以及與編碼次數(shù)對應(yīng)的相關(guān)參 數(shù);步驟二、將中間過程編碼、最終編碼以及與編碼次數(shù)對應(yīng)的相關(guān)參數(shù)保存,并將其中一 次或者多次編碼的編碼序列以及相關(guān)參數(shù)安全保存;步驟三、根據(jù)最終編碼、中間過程編碼 以及與編碼次數(shù)對應(yīng)的相關(guān)參數(shù)還原出原始消息。通過上述方法,將原始消息進行編碼,保 密存儲中間過程編碼和最終編碼,當(dāng)需要得到原始消息時,通過編碼的逆過程還原出原始 消息。在這個過程中,不需要加密算法的運算,也不需要加密密鑰的協(xié)商和分發(fā)等,不需要 大量的運算和中間存儲處理,其資源消耗可以忽略不計。本方法實現(xiàn)性能高,延時短,只需 要進行固定格式的編碼即可,不需要常用加密方法中的線性