一种基于密钥循环表及映射表的密钥生成方法技术

技术编号:22532226 阅读:26 留言:0更新日期:2019-11-13 09:26
本发明专利技术公开了一种基于密钥循环表及映射表的密钥生成方法,其特征在于包括以下步骤:S100:解析密钥块并构建密钥循环表;S200:读取并记录所述密钥块中各个扇区的前两个字节的内容,用以作为索引;S300:采用所述密钥循环表生成映射表:循环选取所述密钥循环表的所述末尾连续两字节作为映射表中的键,所述键相对于所述密钥循环表的偏移地址作为值,采用所述键及所述值生成所述映射表;S400:密钥生成。

A key generation method based on key cycle table and mapping table

The invention discloses a key generation method based on a key circulation table and a mapping table, which is characterized in that the following steps are included: S100: parsing a key block and constructing a key circulation table; S200: reading and recording the first two bytes of each sector in the key block for indexing; S300: generating a mapping table using the key circulation table: cycling the key circulation table The two consecutive bytes at the end of the ring table are used as the keys in the mapping table, and the offset address of the key relative to the key circulation table is used as the value to generate the mapping table; S400: key generation.

【技术实现步骤摘要】
一种基于密钥循环表及映射表的密钥生成方法
本专利技术属于电子数据恢复与取证领域,涉及一种基于密钥循环表及映射表的密钥生成方法。
技术介绍
现有技术中,对于包含主控芯片的U盘或者固态硬盘SSD等存储设备的密钥块的生成,多采用密钥生成算法。随着U盘或者固态硬盘SSD等存储设备愈加广泛的应用,加之主控芯片的发展,主控芯片的加密方式越来越多变、越来越复杂,特别是对加密复杂的SSD存储设备以及存储设备接口损坏、电路短路、断路、元器件损坏、电路板断裂等情况下,密钥块的生成也越来越困难,同时,电子数据恢复与取证有关的解密正面临越来越大额度挑战。目前,对于密钥块的生成是基于密钥生成算法是以初始字节对(两字节一组为基本单位)为起始,循环向下计算得到密钥块,整个过程比较耗费时。例如,块大小为4521984字节,则大概需计算2260992次,对块大小更大的情况下,计算量会以几何级数增长。现有技术中尚无一种基于密钥循环表及映射表的密钥生成方法,给此类包含主控芯片的存储设备的电子数据恢复与取证造成了巨大的困难。因此,急需一种针对该类主控芯片的存储设备的数据解密方法,以弥补电子数据恢复与取证困难的不足。
技术实现思路
本专利技术针对现有技术的不足问题,提出了一种基于密钥循环表及映射表的密钥生成方法,以少量的内存换取高效的密钥块生成:构建密钥循环表并生成映射表,直接以查映射表的方式生成密钥,大量减少了原有的计算次数,达到生成密钥的目的。为便于描述,本专利技术可能包含如下术语:在主控芯片包含一个或多个通道(channel),每个通道包含一个或多个块(block),每个块包含一个或多个页(page),每个页包含一个页管理字段(或称系统区SA:SystemArea,以下统称页管理字段)及多个扇区(sector),每个扇区包含固定字节长度的数据及固定字节长度的扇区管理字段(或称管理数据MD:ManageData,以下统称扇区管理字段)。本专利技术申请包括以下步骤:S100:解析密钥块并构建密钥循环表,包括以下步骤:S101:读取所述密钥块并解析所述密钥块中块结构、页结构及扇区结构;S102:读取所述密钥块中各页,删除各页的页管理字段及各页中各扇区的扇区管理字段,用以获取用户数据区密钥;S103:选取所述用户数据区密钥中任一扇区作为起始扇区,将当前扇区的数据写入密钥循环表,记录当前该扇区的前两个字节为数据A;S104:读取当前密钥循环表中末尾两字节内容作为关键字,在所述用户数据区密钥中查找所述关键字;S105:以所查找的所述关键字起始地址+2为首地址,至所述关键字所在扇区的末地址为止的数据尾加至所述密钥循环表;S106:判断所述步骤S105中所尾加的数据中是否包含数据A,如果有,步骤S107,否则,执行步骤S104,直至完成密钥循环表的构建;S107:删除数据A至密钥循环表末尾的数据,完成密钥循环表的构建;S200:读取并记录所述密钥块中各个扇区的前两个字节的内容,用以作为索引;S300:采用所述密钥循环表生成映射表:循环选取所述密钥循环表的所述末尾连续两字节作为映射表中的键,所述键相对于所述密钥循环表的偏移地址作为值,采用所述键及所述值生成所述映射表;S400:密钥生成。优选地,所述步骤S400包括以下步骤:S401:根据所述步骤S200中的所述索引,查找所述映射表中对应的键及对应的值,所获得的对应的值作为所述索引在所述密钥循环表中的偏移地址;S402:以所述密钥循环表的起始地址为首地址,并以所述步骤S401中所获取的偏移地址进行寻址并读取一个扇区的数据;S403:重复执行所述步骤S401及S402直至处理完所有索引,所读取的扇区的数据作为密钥。本专利技术的有益效果是解决了现有技术中尚无一种基于密钥循环表及映射表的密钥生成方法的技术问题。附图说明图1为本专利技术所提供的方法的总流程图;图2为本专利技术一个实施例中解析密钥块并构建密钥循环表的具体流程图;图3为本专利技术一个实施例中密钥块的数据结构示意图。具体实施方式本专利技术采用型号为SM2246XT的慧荣科技的主控芯片作为实施例。下面结合附图和实施例对本专利技术作进一步阐述。图1示出了本专利技术所提供的方法的总流程图。如图1所示,本专利技术的方法包括以下步骤:S100:解析密钥块并构建密钥循环表。图2示出了本专利技术一个实施例中解析密钥块并构建密钥循环表的具体流程图,如图2所示,步骤S100包括以下步骤:S101:读取密钥块并解析密钥块中块结构、页结构及扇区结构:获取主控芯片型号为SM2246XT的数据表,读取数据表中的布局,包括扇区字节长度、扇区管理字段字节长度、页管理字段字节长度、每块所包含的页数及密钥块的初始字节。图3示出了本专利技术一个实施例中密钥块的数据结构示意图。如图3所示,主控芯片包含一个或多个通道(channel),每个通道包含一个或多个块(block),每个块包含一个或多个页(page),每个页包含一个页管理字段(或称系统区SA:SystemArea,以下统称页管理字段)及多个扇区(sector),每个扇区包含固定字节长度的数据及固定字节长度的扇区管理字段(或称管理数据MD:ManageData,以下统称扇区管理字段)。该主控芯片为例,其布局为1094_1604983_256,即,扇区字节长度为1094字节,其中,数据字节长度为1024字节,扇区管理字段的字节长度为70字节;页管理字段字节长度为160字节;密钥块的初始字节为4983,每块所包含的页数为256页;S102:读取密钥块中各页,删除各页的页管理字段及各页中各扇区的扇区管理字段,用以获取用户数据区密钥。具体地,删除如图3所示的各页中各扇区管理字段(或称管理数据MD:ManageData,以下统称扇区管理字段),并删除各页的页管理字段(或称系统区SA:SystemArea,以下统称页管理字段),采用删除后的数据作为用户数据区密钥;S103:选取用户数据区密钥中任一扇区作为起始扇区,将当前扇区的数据写入密钥循环表,记录当前该扇区的前两个字节为数据A;S104:读取当前密钥循环表中末尾两字节内容作为关键字,在用户数据区密钥中查找关键字;S105:以所查找的关键字起始地址+2为首地址,至关键字所在扇区的末地址为止的数据尾加至密钥循环表;S106:判断步骤S105中所尾加的数据中是否包含数据A,如果有,步骤S107,否则,执行步骤S104,直至完成密钥循环表的构建;S107:删除数据A至密钥循环表末尾的数据,完成密钥循环表的构建;S200:读取并记录密钥块中各个扇区的前两个字节的内容,用以作为索引;S300:采用密钥循环表生成映射表:循环选取密钥循环表的末尾连续两字节作为映射表中的键,键相对于密钥循环表的偏移地址作为值,采用键及值生成映射表;S400:密钥生成,包括以下步骤:S401:根据步骤S200中的索引,查找映射表中对应的键及对应的值,所获得的对应的值作为索引在密钥循环表中的偏移地址;S402:以密钥循环表的起始地址为首地址,并以步骤S401中所获取的偏移地址进行寻址并读取一个扇区的数据;S403:重复执行步骤S401及S402直至处理完所有索引,所读取的扇区的数据作为密钥。通过本专利技术提供的方法,解决了现有技术中尚无一种基于密钥循环表及映射表的密钥生成方法的技本文档来自技高网...

【技术保护点】
1.一种基于密钥循环表及映射表的密钥生成方法,其特征在于包括以下步骤:S100:解析密钥块并构建密钥循环表,包括以下步骤:S101:读取所述密钥块并解析所述密钥块中块结构、页结构及扇区结构;S102:读取所述密钥块中各页,删除各页的页管理字段及各页中各扇区的扇区管理字段,用以获取用户数据区密钥;S103:选取所述用户数据区密钥中任一扇区作为起始扇区,将当前扇区的数据写入密钥循环表,记录当前该扇区的前两个字节为数据A;S104:读取当前密钥循环表中末尾两字节内容作为关键字,在所述用户数据区密钥中查找所述关键字;S105:以所查找的所述关键字起始地址+2为首地址,至所述关键字所在扇区的末地址为止的数据尾加至所述密钥循环表;S106:判断所述步骤S105中所尾加的数据中是否包含数据A,如果有,步骤S107,否则,执行步骤S104,直至完成密钥循环表的构建;S107:删除数据A至密钥循环表末尾的数据,完成密钥循环表的构建;S200:读取并记录所述密钥块中各个扇区的前两个字节的内容,用以作为索引;S300:采用所述密钥循环表生成映射表:循环选取所述密钥循环表的所述末尾连续两字节作为映射表中的键,所述键相对于所述密钥循环表的偏移地址作为值,采用所述键及所述值生成所述映射表;S400:密钥生成。...

【技术特征摘要】
1.一种基于密钥循环表及映射表的密钥生成方法,其特征在于包括以下步骤:S100:解析密钥块并构建密钥循环表,包括以下步骤:S101:读取所述密钥块并解析所述密钥块中块结构、页结构及扇区结构;S102:读取所述密钥块中各页,删除各页的页管理字段及各页中各扇区的扇区管理字段,用以获取用户数据区密钥;S103:选取所述用户数据区密钥中任一扇区作为起始扇区,将当前扇区的数据写入密钥循环表,记录当前该扇区的前两个字节为数据A;S104:读取当前密钥循环表中末尾两字节内容作为关键字,在所述用户数据区密钥中查找所述关键字;S105:以所查找的所述关键字起始地址+2为首地址,至所述关键字所在扇区的末地址为止的数据尾加至所述密钥循环表;S106:判断所述步骤S105中所尾加的数据中是否包含数据A,如果有,步骤S107,否则,执行步骤S104,直至完成密钥循环表的构建;S107:删除...

【专利技术属性】
技术研发人员:梁效宁董超许超明彭炼
申请(专利权)人:四川效率源信息安全技术股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1