一种基于3d建模的防泄漏密钥加密方法

文档序号:9711304阅读:2383来源:国知局
一种基于3d建模的防泄漏密钥加密方法
【技术领域】
[0001]本发明涉及计算机信息安全技术领域,特别涉及一种基于3D建模的防泄漏密钥加密方法。
【背景技术】
[0002]随着网络与信息技术的不断发展,信息安全已经成为社会关注的焦点,而作为信息安全核心的加密技术,也在不断的推成出新。对称加密以其加密解密速度快的特性,被广泛用于大数据量的保密通信中,但对称加密有一个不可控的缺陷,一旦由于人为的疏忽或故意,亦或是黑客盗取造成密钥的泄漏,则通信不再安全,对通信双方的打击将是毁灭性的。

【发明内容】

[0003]本发明的目的在于克服现有技术的不足,提出一种基于3D建模的防泄漏密钥加密方法,可有效防止密钥泄漏。
[0004]本发明解决其技术问题所采用的技术方案是:
[0005]一种基于3D建模的防泄漏密钥加密方法,包括如下步骤:
[0006]步骤11:通信双方约定一个元子随机分布的三维空间和一个存有若干空间坐标的初始密钥,所述三维空间固化于密钥生成器中,所述初始密钥以文本的形式存储;
[0007]步骤12:通信双方读取所述初始密钥中的坐标并告知密钥生成器,密钥生成器从各个元子获得数据,进而获得真实的初始密钥;
[0008]步骤13:通信双方利用所述真实初始密钥加密一些随机数据进行握手,若握手成功,执行步骤14,否则结束加密通信;
[0009]步骤14:通信双方约定一种处于所述三维空间里的3D建模方式并告知密钥生成器,密钥生成器在其内部完成建模,处于模型内的作为有效数据,处于模型外的作为冗余数据,并建立数据和坐标之间的双向映射关系;
[0010]步骤15:加密时,加密方的密钥生成器每次随机选择若干模型内的元子,将其数据组成第一密钥,同时在模型外选择若干元子,作为冗余数据,将其冗余数据插入到第一密钥中,形成第二密钥,然后根据所述映射关系将第二密钥的数据转换为空间坐标获得第三密钥,将第一密钥和第三密钥通知用户,用户利用第一密钥对明文进行加密,然后丢弃第一密钥,通信时,将第三密钥与密文一同发送;
[0011]步骤16:解密时,解密方的密钥生成器根据收到的第三密钥中的坐标从三维空间中找到与坐标对应的元子,若该坐标处于模型内,则为有效数据,取出元子的数据;若该坐标处于模型外,则为冗余数据,直接丢弃,从而还原出第一密钥,用户利用第一密钥解密,最终获得明文。
[0012]所述三维空间由元子构成,每一个元子具有一个唯一的空间坐标和一个可重复的数据。
[0013]所述映射关系是一种Key-Value键值对,以元子的数据作为Key,所有包含该数据的元子的坐标作为Value。
[0014]通信时,加密方可随时通知解密方更换建模方式,建模方式不同时,同样的坐标可能为有效数据,也有可能为冗余数据。
[0015]本发明提供的技术方案带来的有益效果是:
[0016]1、用户无法访问三维空间,不存在泄漏;
[0017]2、存有初始密钥的授权文件即使泄漏也可以保障通信安全;
[0018]3、同一数据可以映射不同的坐标,所以即使是相同的密钥,其转换出的结果也不是唯一的,难以破解;
[0019]4、随机插入冗余数据,破解方难以分辨有效数据和冗余数据,无法还原出真实密钥,难以破解。
[0020]5、建模方式可由通信双方随时约定更换,难以破解。
[0021]以下结合附图及实施例对本发明作进一步详细说明,但本发明的一种基于3D建模的防泄漏密钥加密方法不局限于实施例。
【附图说明】
[0022]图1为本发明方法的主流程图;
[0023]图2为本发明方法的三维空间构成图;
[0024]图3为本发明方法加解密通信简要框图。
【具体实施方式】
[0025]参见图1,本发明的一种基于3D建模的防泄漏密钥加密方法,包括如下步骤:
[0026]步骤11:加密通信前,通信双方约定一个元子随机分布的三维空间和一个存有若干空间坐标的初始密钥所述三维空间固化于密钥生成器中,所述初始密钥以文本的形式存储;
[0027]本实施例中,所述三维空间由元子构成,如图2所示,每一个元子具有一个唯一的空间坐标和一个可重复的数据。具体的,三维空间XYZ,例如256*256*256上分布有若干元子,由这些元子(16777216个)构成一个三维空间,每一个元子具有一个唯一的空间地址或坐标(X,y, z),以及一个数据η,η的取值范围为0x000000?OxFFFFFF,n可唯一,亦可重复。在加密通信前,通信双方会有一个事先约定的且不通过网络发送的各元子随机分布的三维空间,以及一个存有若干空间坐标的初始密钥。三维空间固化于密钥生成器中,用户无法获取该三维空间,在加密通信时由密钥生成器生成密钥,而初始密钥通过授权文件的形式发放。
[0028]步骤12:握手前,通信双方读取所述初始密钥中的坐标并告知密钥生成器,密钥生成器从各个元子获得数据,进而获得真实的初始密钥;
[0029]步骤13:通信双方利用所述真实初始密钥加密一些随机数据进行握手,若握手成功,执行步骤14,否则结束加密通信;
[0030]本实施例中,通信双方进行握手的步骤包括:
[0031]步骤131:通信方A使用真实的初始密钥加密随机生成的若干数据,并发送给通信方B,通信方B使用真实的初始密钥对收到的密文进行解密,获得明文,然后将获得的明文进行一次MD5,再利用真实的初始密钥加密后发送给通信方A,通信方A解密收到的密文,和已保存的数据(之前生成的随机数据经过一次MD5)进行比较,若相同,执行步骤132,否则握手失败,结束加密通信;
[0032]步骤132:通信方A选择一种3D建模方式并建立模型,使用真实的初始密钥将建模方法加密后发送给通信方B,通信方B使用真实的初始密钥解密建模方法并建立模型,将加密后的建模结果(如模型超出了三维空间范围将会导致失败)发送给通信方A,若建模成功,执行步骤133,否则握手失败,结束加密通信;
[0033]步骤133:通信方A再随机生成一些数据,选择若干模型内的元子,将其数据组成密钥KEY1’同时在模型外选择若干元子,作为冗余数据,将其数据插入到KEY1’中,形成密钥KEY2’,然后根据映射关系将密钥KEY2’的数据转换为空间坐标获得密钥KEY3’,利用密钥KEY1’对随机生成的数据进行加密,然后丢弃密钥KEY1’,通信时,将密钥KEY3’与密文发送给通信方B,通信方B使用密钥K
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1