一种基于硬盘接口控制器的数据加密方法.pdf

上传人:00062****4422 文档编号:996421 上传时间:2018-03-24 格式:PDF 页数:8 大小:430.57KB
返回 下载 相关 举报
摘要
申请专利号:

CN200810232064.9

申请日:

2008.10.31

公开号:

CN101727408A

公开日:

2010.06.09

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 12/14公开日:20100609|||实质审查的生效IPC(主分类):G06F 12/14申请日:20081031|||公开

IPC分类号:

G06F12/14; G06F3/06

主分类号:

G06F12/14

申请人:

西安奇维测控科技有限公司

发明人:

常尊

地址:

710077 陕西省西安市高新区锦业路69号创业研发园C区8号

优先权:

专利代理机构:

西安智邦专利商标代理有限公司 61211

代理人:

康凯

PDF下载: PDF下载
内容摘要

一种通过硬盘接口控制器的数据加解密方法,其特征在于,在BRAM缓存区中开辟一段与扇区缓冲区大小相同的存储空间,作为存储密文的密文缓冲区,该方法包括加密与解密过程,本发明解决了背景技术中不能同时具备安全的级别高和数据的写入和读出速度快的优点的技术问题。具有保密性好,安全可靠,在加密文件大小不变时不会产生数据膨胀,在不需要额外的硬件设备(如芯片),不会影响数据在总线和硬盘之间的传输速率。

权利要求书

1.  一种通过硬盘接口控制器的数据加解密方法,其特征在于,在BRAM缓存区中开辟一段与扇区缓冲区大小相同的存储空间,作为存储密文的密文缓冲区,该方法包括以下步骤:
【加密过程】
1)上位机给控制器发写命令,同时将数据准备好,控制器从上位机接收数据,并存放到扇区缓冲区;
2)当扇区缓冲区写满或数据传送结束后,控制器设置状态寄存器的BSY位,并清除数据请求信号;
3)控制器对扇区缓冲区的数据通过加密算法进行逐扇区加密,将加密好的数据存放到密文缓存区;
4)当扇区缓存区全部数据加密完成后,将密文写到Flash芯片的制定扇区上,当数据写完后,控制器清除BSY信号,发送中断请求信号INTRQ;
5)上位机接收到中断信号后,读控制器的状态寄存器,同时将中断信号清除,如果还有扇区进行写操作,进入步骤1),否则命令结束;
【解密过程】
1)控制器接收到上位机发送读命令后,置位BSY位,将Flash芯片指定扇区上的密文数据读到密文缓存取中;
2)当所请求的密文数据传送完成或密文缓存区写满时,控制器通过解密算法对密文缓存区的数据进行逐扇区解密,将解密后的数据(即明文)存放到扇区缓冲区上;
3)当解密完成后或扇区缓冲区写满时,控制器设置数据请求信号,并清除状态寄存器的BSY位;
4)上位机接收到数据请求后,将扇区缓冲区上的数据读出,数据完成后,清除数据请信号,给上位机发送中断请求信号INTRQ;
5)上位机接收到中断信号后,读控制器的状态寄存器,同时将中断信号清除,如果还有扇区进行写操作,进入步骤1),否则命令结束。

2.
  根据权利要求1所述,通过硬盘控制器接口的数据加解密方法,其特征在于,所述加密算法包括以下步骤:
1)以扇区为单位进行对数据进行加密,从扇区缓冲区中读一个扇区的数据作为明文;
2)每个字节由8位二进制数组成,将其平均拆分成m个n位二进制数,其中m*n=8,顺序的m个n位二进制数表示一个字节;
3)将每扇区明文的512字节拆分为512*m个n位二进制数,将这512*m个n位二进制数顺序的存放到一个二维位段数组中;
4)按照特定的顺序变换数组元素的下标,这个变换顺序的构成密钥元素;
5)将变换后数组中每顺序的m个n位二进制数组成一个新的字节,完成加密。

3.
  根据权利要求2所述,通过硬盘控制器接口的数据加解密方法,其特征在于,所述解密算法包括以下步骤:
1)以扇区为单位进行对数据进行解密,从Flash芯片上读取一个扇区的密文数据;
2)每个字节由8位二进制数组成,将其平均拆分成m个n位二进制数,其中m*n=8,顺序的m个n位二进制数表示一个字节;
3)将每扇区的512字节密文数据拆分为512*m个n位二进制数,将这512*m个n位二进制数顺序的存放到一个二维位段数组中;
4)按照密钥信息变换数组元素的下标,形成新的数组;
5)将变换后数组中每顺序的m个n位二进制数组成一个新的字节,完成解密。

4.
  根据权利要求2~3任一所述,通过硬盘控制器接口的数据加解密方法,其特征在于:所述m个n位二进制数为两个半字节或四个四分之一字节或八个八分之一字节。

5.
  根据权利要求4所述,通过硬盘控制器接口的数据加解密方法,其特征在于:所述每扇区密文的512字节拆分为包含顺序的1024个半字节或2048个四分之一字节或4096个八分之一字节。

6.
  根据权利要求4所述,通过硬盘控制器接口的数据加解密方法,其特征在于:所述二维位段数组为32*32或32*64或64*64的二维位段数组。

说明书

一种基于硬盘接口控制器的数据加密方法
技术领域
本发明涉及一种数据加密方法,具体涉及一种基于硬盘接口控制器的数据加密方法。
背景技术
硬盘接口控制器的最大功能就是数据存储管理,既然涉及数据存储必将涉及保密的问题,数据加密的技术目前也十分繁多,但是在闪存控制器的这个领域,在即能保证加密的级别也能保证数据的写入和读出速度的条件下,实现数据的加密还是值得研究的。
加密技术的核心即使加密算法,加密算法就是指将信息变成密文的计算方法,现代加密算法通常都需要密钥来完成对信息的加密运算,它的安全性基于用于加密的密钥,如果能同时保密加密算法以及密钥,则能够大大提高数据的安全性。
在通用的加密方法中,数据是在传递给控制器之前进行加密。这个加密过程需要额外的时间。在对大量数据进行加密时,如果采用较为复杂的加密算法必定会导致数据的写入和读出速度下降,影响整个硬盘控制器的性能;如果采用简单的加密算法,虽然保证了数据的写入和读出速度,但是数据加密的级别很低,失去了数据加密的意义,而在硬盘接口控制器领域一直没有同时具备加密的级别高和数据的写入和读出速度快的优点的一种加密方法。
在该加密过程中,数据加密是在控制器内部进行的,控制器从主机接受数据,对其进行加密,再将加密后的密文写入Flash芯片,这样在Flash芯片上存储的数据就是一些加密后的密文;而在使用数据时,控制器从Flash芯片读取密文数据,对其进行解密,再将解密后的明文数据传给主机。在整个过程,保证数据不发生变化。
发明内容
本发明的目的在于提供一种基于硬盘控制器接口的数据加密方法,它将数据加密与ATA协议的读写命令相结合,在不改变数据传输线时序的情况下,有效利用总线空闲时间,对数据传输速率影响小;采用自主研发的加密算法,同时保密加密算法和密钥,提高了数据的安全性。其解决了背景技术中不能同时具备安全的级别高和数据的写入和读出速度快的优点的技术问题。
本发明的技术解决方案是:
一种通过硬盘接口控制器的数据加解密方法,其特征在于,在BRAM缓存区中开辟一段与扇区缓冲区大小相同的存储空间,作为存储密文的密文缓冲区,该方法包括以下步骤:
【加密过程】
1)上位机给控制器发写命令,同时将数据准备好,控制器从上位机接收数据,并存放到扇区缓冲区;
2)当扇区缓冲区写满或数据传送结束后,控制器设置状态寄存器的BSY位,并清除数据请求信号;
3)控制器对扇区缓冲区的数据通过加密算法进行逐扇区加密,将加密好的数据存放到密文缓存区;
4)当扇区缓存区全部数据加密完成后,将密文写到Flash芯片的制定扇区上,当数据写完后,控制器清除BSY信号,发送中断请求信号INTRQ;
5)上位机接收到中断信号后,读控制器的状态寄存器,同时将中断信号清除,如果还有扇区进行写操作,进入步骤1),否则命令结束;
【解密过程】
1)控制器接收到上位机发送读命令后,置位BSY位,将Flash芯片指定扇区上的密文数据读到密文缓存取中;
2)当所请求的密文数据传送完成或密文缓存区写满时,控制器通过解密算法对密文缓存区的数据进行逐扇区解密,将解密后的数据(即明文)存放到扇区缓冲区上;
3)当解密完成后或扇区缓冲区写满时,控制器设置数据请求信号,并清除状态寄存器的BSY位;
4)上位机接收到数据请求后,将扇区缓冲区上的数据读出,数据完成后,清除数据请信号,给上位机发送中断请求信号INTRQ;
5)上位机接收到中断信号后,读控制器的状态寄存器,同时将中断信号清除,如果还有扇区进行写操作,进入步骤1),否则命令结束。
将数据的加密和控制器的读写命令向结合,有效利用数据请求的等待过程,所以对数据读写速度影响较小;
在计算机内部,数据是以字节为单位进行存储的,每个字节由8位二进制数组成,在该加密算法中,是以位为单位进行数据加密的;
计算机对硬盘的读写,是以扇区为基本单位进行的,每扇区存放512字节,该加密算法也是扇区为传输单位进行的,数据读写和加密过程相对应。
出于以上的考虑,上述加密算法包括以下步骤:
1)以扇区为单位进行对数据进行加密,从扇区缓冲区中读一个扇区的数据作为明文;
2)每个字节由8位二进制数组成,将其平均拆分成m个n位二进制数(如2个4位,4个2位或8个1位),其中m*n=8,顺序的m个n位二进制数表示一个字节(8位);
3)将每扇区明文的512字节拆分为512*m个n位二进制数,将这512*m个n位二进制数顺序的存放到一个二维位段数组中;
4)按照特定的顺序变换数组元素的下标,这个变换顺序的构成密钥元素;
5)将变换后数组中每顺序的m个n位二进制数组成一个新的字节,完成加密。
同样地,将数据的加密和控制器的读写命令向结合,有效利用数据请求的等待过程,所以对数据读写速度影响较小;
在计算机内部,数据是以字节为单位进行存储的,每个字节由8位二进制数组成,在该加密算法中,是以位为单位进行数据加密的;
计算机对硬盘的读写,是以扇区为基本单位进行的,每扇区存放512字节,该加密算法也是扇区为传输单位进行的,数据读写和加密过程相对应。
出于以上考虑,上述解密算法包括以下步骤:
1)以扇区为单位进行对数据进行解密,从Flash芯片上读取一个扇区的密文数据;
2)每个字节由8位二进制数组成,将其平均拆分成m个n位二进制数(如2个4位,4个2位或8个1位),其中m*n=8,顺序的m个n位二进制数表示一个字节(8位);
3)将每扇区的512字节密文数据拆分为512*m个n位二进制数,将这512*m个n位二进制数顺序的存放到一个二维位段数组中;
4)按照密钥信息变换数组元素的下标,形成新的数组;
5)将变换后数组中每顺序的m个n位二进制数组成一个新的字节,完成解密。
上述m个n位二进制数为两个半字节或四个四分之一字节或八个八分之一字节。
上述每扇区密文的512字节拆分为包含顺序的1024个半字节或2048个四分之一字节或4096个八分之一字节。
上述二维位段数组为32*32或32*64或64*64的二维位段数组。
本发明具有以下优点:
1.采用自主研发的加密算法对数据本身进行加密,保密性好。
2.加密过程在控制器的缓存区完成,与存储管理相结合,高效、安全;
3.加密文件大小不变,不会产生数据膨胀。
4.不需要额外的硬件设备(如芯片),不会影响数据在总线和硬盘之间的传输速率。
附图说明
图1为本发明加密过程流程图;
图2为本发明解密过程流程图。
具体实施方式
在硬盘控制器内部,有一个用来存储硬盘接口传输数据的缓冲区,叫扇区缓冲区,再在BRAM缓存取中开辟一段存储空间,与扇区缓冲区大小相同,作为存储密文的缓存区;在内存中申请一个二维的位字段数组,大小512字节,用来存储加解密过程中的中间数据。
在写数据的过程中,数据通过接口传送到扇区缓冲区中,将扇区缓冲区中一个扇区的数据复制到二维数组中,对数组中的数据按加密算法进行加密,将加密结果在存放到密文缓存区,重复执行上述操作,直到所有数据都已加密,再将加密后的密文写到FLASH芯片上,写操作完成。
在读数据的过程中,将FLASH芯片上指定扇区的数据复制到密文缓存区中,将密文缓存区中一个扇区的秘闻数据复制到二维数组中,对数组中的数据按解密算法进行解密,将解密结果在存放到扇区缓冲区中,重复执行上述操作,直到所有数据都已解密,再将解密后的数据发给上位机,读操作完成。
具体地,一种通过硬盘接口控制器的数据加解密方法,包括以下步骤:
【加密过程】
1)上位机给控制器发写命令,同时将数据准备好,控制器从上位机接收数据,并存放到扇区缓冲区;
2)当扇区缓冲区写满或数据传送结束后,控制器设置状态寄存器的BSY位,并清除数据请求信号;
3)控制器对扇区缓冲区的数据通过加密算法进行逐扇区加密,将加密好的数据存放到密文缓存区;
4)当扇区缓存区全部数据加密完成后,将密文写到Flash芯片的制定扇区上,当数据写完后,控制器清除BSY信号,发送中断请求信号INTRQ;
5)上位机接收到中断信号后,读控制器的状态寄存器,同时将中断信号清除,如果还有扇区进行写操作,进入步骤1),否则命令结束;
【解密过程】
1)控制器接收到上位机发送读命令后,置位BSY位,将Flash芯片指定扇区上的密文数据读到密文缓存取中;
2)当所请求的密文数据传送完成或密文缓存区写满时,控制器通过解密算法对密文缓存区的数据进行逐扇区解密,将解密后的数据(即明文)存放到扇区缓冲区上;
3)当解密完成后或扇区缓冲区写满时,控制器设置数据请求信号,并清除状态寄存器的BSY位;
4)上位机接收到数据请求后,将扇区缓冲区上的数据读出,数据完成后,清除数据请信号,给上位机发送中断请求信号INTRQ;
5)上位机接收到中断信号后,读控制器的状态寄存器,同时将中断信号清除,如果还有扇区进行写操作,进入步骤1),否则命令结束。
具体的数据加解密方法是:
1)以扇区为单位进行对数据进行加密,从扇区缓冲区中读一个扇区的数据作为明文;
2)每个字节由8位二进制数组成,将其平均拆分成2个4位二进制数,顺序的2个4位二进制数表示一个字节(8位);
3)将每扇区明文的512字节拆分为1024个4位二进制数,将这1024个4位二进制数顺序的存放到一个32*32的二维位段数组中;
4)按照特定的顺序变换数组元素的下标,这个变换顺序的构成密钥元素;
5)将变换后数组中每顺序的2个4位二进制数组成一个新的字节,完成加密。
具体的数据加解密方法是:
1)以扇区为单位进行对数据进行解密,从Flash芯片上读取一个扇区的密文数据;
2)每个字节由8位二进制数组成,将其平均拆分成2个4位二进制数(,顺序的2个4位二进制数表示一个字节(8位);
3)将每扇区的512字节密文数据拆分为1024个4位二进制数,将这1024个4位二进制数顺序的存放到一个32*32的二维位段数组中;
4)按照密钥信息变换数组元素的下标,形成新的数组;
5)将变换后数组中每顺序的2个4位二进制数组成一个新的字节,完成解密。

一种基于硬盘接口控制器的数据加密方法.pdf_第1页
第1页 / 共8页
一种基于硬盘接口控制器的数据加密方法.pdf_第2页
第2页 / 共8页
一种基于硬盘接口控制器的数据加密方法.pdf_第3页
第3页 / 共8页
点击查看更多>>
资源描述

《一种基于硬盘接口控制器的数据加密方法.pdf》由会员分享,可在线阅读,更多相关《一种基于硬盘接口控制器的数据加密方法.pdf(8页珍藏版)》请在专利查询网上搜索。

一种通过硬盘接口控制器的数据加解密方法,其特征在于,在BRAM缓存区中开辟一段与扇区缓冲区大小相同的存储空间,作为存储密文的密文缓冲区,该方法包括加密与解密过程,本发明解决了背景技术中不能同时具备安全的级别高和数据的写入和读出速度快的优点的技术问题。具有保密性好,安全可靠,在加密文件大小不变时不会产生数据膨胀,在不需要额外的硬件设备(如芯片),不会影响数据在总线和硬盘之间的传输速率。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1