一种采用编码实现信息保密存储的方法和系统的制作方法
【技术领域】
[0001] 本发明涉及信息保密存储技术领域,本发明公开了一种采用编码实现信息保密存 储的方法和系统。
【背景技术】
[0002] 为了保证数据的安全,一般的方式是对需要保密的数据进行加密。对数据进行加 密的常用方法是对原始信息通过数据加密算法来进行保护,原始信息通过加密算法加密后 得到密文,只有掌握密钥的人才能解密密文,恢复出原始消息。
[0003] 但密码运算一般都较为复杂,因此对进行加密解密运算的硬件有一定的要求,在 信息加密后,需要同时安全保存密文和密钥,信息量也比较大。同时还需要设置密钥的产生 过程,在数据传输的过程中,还需要对原始信息进行完整性填充,比如分组加密方式(国际 通用算法AES、我国标准算法SM4),分组长度是128比特。如原始消息的长度不是128的整 数倍,需要对原始消息进行填充,直到128的整数倍。
[0004] 因此,上述采用加密算法实现数据安全的方式难以适应于资源较少,特别是资源 受限的应用场景,如NFC、RFID等领域。
【发明内容】
[0005] 针对现有技术中的信息安全技术存在的上述的技术问题,本发明公开了一种采用 编码实现信息保密存储的方法,本发明还公开了实现上述方法的系统。
[0006] 本发明的技术方案如下 本发明公开了一种采用编码实现信息保密存储的方法,其具体包括以下的步骤:步骤 一、将原始消息进行编码,得到中间过程编码、最终编码以及与编码次数对应的相关参数; 步骤二、将中间过程编码、最终编码以及与编码次数对应的相关参数保存,其中一次或者多 次编码得到的编码序列以及相关参数安全保管,未经授权不能获取,从而实现信息的保密 存储;步骤三、经过允许,得到所有的编码序列以及相关参数,根据最终编码、中间过程编码 以及与编码次数对应的相关参数通过编码的逆过程还原出原始消息。
[0007] 更进一步地,上述编码具体包括以下的步骤:Sl :接收待编码的当前数值,将编码 次数标识加1,并判断当前数值是否为3的倍数,其中,编码次数标识初始为0 ;编码次数标 识用于表示总共进行了多少次编码;S2 :如果是3的倍数,将当前数值减1,并将位置标识加 1后与编码次数标识关联,其中,位置标识初始为0 ;位置标识用于表示当前数值经过编码 后得到的编码序列中发生减1的比特所在的位置;S3 :采用预先构造的二叉树的左子数和 /或右子数的权值对当前数值进行编码,得到当前编码序列,其中二叉树中左子树的权值为 〇、右子树的权值为1,并且如果二叉树中的节点为n,则该节点的左子树为2 X n,右子树为 2 X η+3, η>=1〇
[0008] 更进一步地,上述方法还包括判断当前编码序列的长度是否小于或者等于预定长 度,是则按预定编码格式输出当前编码序列、编码长度、编码次数标识和位置标识。
[0009] 本发明还公开了一种采用编码实现信息保密存储的系统,其具体包括编码单元、 存储单元、安全保管单元和消息还原单元;所述编码单元用于将原始消息进行编码,得到中 间过程编码、最终编码以及与编码次数对应的相关参数;所述存储单元用于保存中间过程 编码、最终编码以及与编码次数对应的相关参数;所述安全保管单元用于实现其中一次或 者多次编码得到的编码序列以及相关参数的安全保管;所述消息还原单元用于根据最终编 码、中间过程编码以及与编码次数对应的相关参数通过编码的逆过程还原出原始消息。
[0010] 更进一步地,上述编码单元具体采用以下的步骤实现编码:Sl :接收待编码的当 前数值,将编码次数标识加1,并判断当前数值是否为3的倍数,其中,编码次数标识初始为 〇 ;编码次数标识用于表示总共进行了多少次编码;S2 :如果是3的倍数,将当前数值减1, 并将位置标识加1后与编码次数标识关联,其中,位置标识初始为〇 ;位置标识用于表示当 前数值经过编码后得到的编码序列中发生减1的比特所在的位置;S3 :采用预先构造的二 叉树的左子数和/或右子数的权值对当前数值进行编码,得到当前编码序列,其中二叉树 中左子树的权值为〇、右子树的权值为1,并且如果二叉树中的节点为n,则该节点的左子树 为2 X n,右子树为2 X η+3, η>=1。
[0011] 更进一步地,上述所述编码单元包括判断模块,所述判断模块判断当前编码序列 的长度是否小于或者等于预定长度,是则按预定编码格式输出当前编码序列、编码长度、编 码次数标识和位置标识。
[0012] 通过采用以上的技术方案,本发明的技术方案与现有技术中常用的加密算法的方 式相比,存在以下的有益效果:常用的信息加密方法是对原始信息通过数据加密算法来进 行保护的,原始信息加密后得到密文,只有掌握密钥的人才能解密密文,恢复出原始消息。 而本方法是一种基于编码的信息保护方式,具有编码简单、不依赖于密码算法(往往密码算 法的运算较为复杂)、性能高、速度快、资源消耗小等特点。常用的信息加密保护方法需要通 信双方共享信息加密密钥,而加密密钥需要安全传递、以便双方共享。而本方法不需要通 信双方共享信息加密密钥,只需要共享一种信息编码即可。常用的加密保护方法需要安全 保存密文和密钥,而本方法只需要保存信息的最终编码(可以固定长度)和中间过程编码, 编码全部保存以便后续恢复,具体安全保存哪一个编码或者哪几个编码则根据需要进行灵 活设定。其信息量比常用的加密保护方法少(最低减少的信息量是密钥长度)。本方法不需 要常用加密方法中的密钥产生过程,不依赖于密钥安全,其安全性依赖于最终编码和过程 编码。本方法不需要对原始信息进行完整性填充,常用的加密保护方法需要对不完整的分 组进行完整性填充。如分组加密方式(国际通用算法AES、我国标准算法SM4),分组长度是 128比特。如原始消息的长度不是128的整数倍,需要对原始消息进行填充,直到128的整 数倍。本方法需要的资源较少,特别适用于资源受限的应用场景,如NFC、RFID等领域。本 方法是基于编码的消息保护与传输方法,不需要大量的运算和中间存储处理,其资源消耗 可以忽略不计。本方法实现性能高,延时短,只需要进行固定格式的编码即可,不需要常用 加密方法中的线性和非线性变换。
【附图说明】
[0013] 图1为本发明中的信息编码方法的实现示意图。
【具体实施方式】
[0014] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0015] 如图1所示的本发明的信息编码方法的实现示意图。节点为η (根节点为1),左 子树为2η,右子树为2η+3。左子树权重为0,右子树权重为1。
[0016] 本发明公开了一种采用编码实现信息保密存储的方法,其具体包括以下的步骤: 步骤一、将原始消息进行编码,得到中间过程编码、最终编码以及与编码次数对应的相关参 数;步骤二、将中间过程编码、最终编码以及与编码次数对应的相关参数保存,并将其中一 次或者多次编码的编码序列以及相关参数安全保存;步骤三、根据最终编码、中间过程编码 以及与编码次数对应的相关参数还原出原始消息。通过上述方法,将原始消息进行编码,保 密存储中间过程编码和最终编码,当需要得到原始消息时,通过编码的逆过程还原出原始 消息。在这个过程中,不需要加密算法的运算,也不需要加密密钥的协商和分发等,不需要 大量的运算和中间存储处理,其资源消耗可以忽略不计。本方法实现性能高,延时短,只需 要进行固定格式的编码即可,不需要常用加密方法中的线性