基于数字内容的密钥生成装置、生成方法和数据加密方法

文档序号:7690612阅读:104来源:国知局
专利名称:基于数字内容的密钥生成装置、生成方法和数据加密方法
技术领域
本发明涉及一种密钥生成装置和密钥生成方法,更具体而言,涉及一 种基于数字内容的密钥生成装置和密钥生成方法,以及利用所述密钥生成 装置和密钥生成方法对数据进行加密的方法。
背景技术
目前,随着信息化技术的发展,有力地推动了数字商品诸如电子书籍、 音乐图像、电影电视等的销售。这些数字商品所包含的数字内容,包括多 媒体内容和文字内容等。为了防止盗版,各个公司都在研制相应技术,从 而对数据进行更为有效地加密。
此外,在进行数据通信时,对数据进行有效的加密也是保护数据安全 的重要手段。
无论是在为防止盗版而建立的数字版权保护系统中,还是在数据通信 的加密过程中,密钥管理都是重要的组成部分,而密钥生成部件又是密钥 管理的核心部分。为了对数字内容更为有效地进行加密^v而防止盗版以及 保证数据通信的安全性,已经研发了多种密钥生成方法以及利用密钥进行 数据加密的方法。
然而,已知的密钥生成方法过于繁瑣复杂,难以对信息量日益增大的 数字内容进行迅速而有效地加密,且安全性不高。

发明内容
本发明提供了一种简单有效的基于数字内容的密钥生成装置和密钥生 成方法,能够满足密钥生成的随机性和安全性。
本发明还提供了一种利用密钥对数据进行加密的方法,该方法能够对 数字内容进行迅速而有效地加密。
根据本发明的一个方面,提供了一种基于数字内容的密钥生成装置,
包括存储器部件,存储程序代码;随机数发生部件,产生随机数,该随机数作为密钥种子;算法部件,进行运算从而生成密钥;^r入输出部件, 输入数字内容并输出生成的密钥;以及,主控制部件,分别与所述存储器 部件、所述随机数发生部件、所述算法部件和所述输入输出部件相连,从 而控制所述存储器部件、所述随机数发生部件、所述算法部件和所述输入 输出部件的运行。根据本发明的另 一个方面,提供了 一种基于数字内容的密钥生成方法, 包括以下步骤a):从数字内容中读取数据包;b):从所述凄t据包中读取数 据;c):使用在步骤b)中所读取的数据形成代表数字内容信息的数据;d): 判断密钥种子是否已经产生,如果密钥种子已经产生,则进入步骤f); e): 将随机数作为密钥种子;f):利用所述密钥种子作为运算密钥并利用在步骤 c)中形成的所述代表数字内容信息的数据作为运算内容,通过运算生成密 钥;以及g):输出生成的密钥。根据本发明的又一个方面,提供了一种数据加密方法,包括以下步骤 a):利用以上的密钥生成方法生成密钥;以及b):利用生成的密钥加密数据 包。通过本发明的密钥生成装置和生成方法以及数据加密方法,可以对数 据进行有效地加密,从而保证数字内容的安全性,并维护数据通信的安全 和可靠。


图1是根据本发明的密钥生成装置的内部结构框图;图2是根据本发明的密钥生成方法的示意图;以及图3是利用本发明的密钥生成方法对数据进行加密的示意图。
具体实施方式
以下结合附图,对本发明上述以及另外的特征和优点作更详细的说明。图1是根据本发明的密钥生成装置的内部结构框图。如图1所示,密钥生成装置100包括存储器部件101、输入输出部件 102、随机数发生部件103、算法部件104和主控制部件105。存储器部件101与主控制部件105相连接,用来存储程序代码,并提 供系统运行所需要的内存。存储器部件101可以包括同步动态随机存储器,用来提供密钥生成装置运行需要的内存;以及闪烁存储器(FLASH memory),用来存储程序代码。
输入输出部件102与主控制部件105相连接,用以实J见输入和输出的 功能。输入输出部件102可以包括用于读取数字内容的接口和输出生成密 钥的接口。输入输出部件102例如是专用总线或者专用接口 ,但不限于此, 也可以根据需要而采用本领域技术人员所熟知的其他方式来实现。
随机数发生部件103与主控制部件105相连接,用于随机数的产生。 该随机数将作为密钥种子。随机数发生部件103例如是硬件随机数发生器 或者软件随机数发生器。
算法部件104与主控制部件105相连接,用于实现生成密钥的算法, 比如SM4-ECB算法。算法部件104例如是专用集成电3各芯片(ASIC )或者 逻辑芯片,但不限于此,也可以根据需要而采用本领域技术人员所熟知的 其他方式来实现。
主控制部件105用于控制密钥生成装置中其它部件的运行。主控制部 件105例如是单片机、嵌入式系统或计算机,但不限于此,也可以根据需 要而采用本领域技术人员所熟知的其他方式来实现。
在对于数字内容所包含的数据进行加密时,初始程序从存储器部件101 的闪烁存储器读入到存储器部件101的同步动态随机存储器。通过输入输 出部件102读入数字内容的数据包,该数据包被写入存储器部件101的同 步动态随机存储器中。然后,根据预定的规则从数据包里读取数据,并利 用所读取的数据形成代表数字内容信息的新的数据。该新的数据可以仅包 括从数据包里所读取的数据,当然,该新的数据也可以包括其他相关数据, 例如表示数据包属性的数据。之后,利用随机数发生部件103产生的随机 数作为密钥种子,并将该密钥种子作为算法部件104的运算密钥,对新的 数据进行运算从而生成密钥。通过输入输出部件102输出所生成的密钥。 利用该密钥,就可以对所读入的数据包进行加密。
图2是根据本发明的密钥生成方法的示意图。
如图2所示,根据本发明的密钥生成方法可以包括以下步骤
步骤201:开始。
步骤202:从数字内容中读取数据包。该数据包例如可以包括第一预定 数目的数据。数据包中所包含的数据的第一预定数目可以根据需要来确定。
6该第一预定数目例如以字节或者位为单位,比如1920字节。步骤203:从所述数据包读取数据。例如,可以从所述数据包中的预定位置读取第二预定数目的数据,该预定位置可以连续也可以不连续。该第二预定数目例如以字节或者位为单位。步骤204:使用在步骤203中所读取的数据形成代表数字内容信息的新的数据。该新的数据可以仅包括在步骤203中所读取的彰:据。当然,该新的数据也可以包括其他相关数据,例如表示数据包属性的数据。步骤205:判断密钥种子是否已经产生。如果密钥种子已经产生,则进入步骤207。步骤206:如果没有产生密钥种子,则用随机数作为密钥种子。 步骤207:利用密钥种子作为运算密钥并利用在步骤204中形成的新的 数据作为运算内容,通过运算生成密钥。步骤208:输出在步骤207中所生成的密钥。通过以上步骤201 -208,产生了加密数据所需的密钥。即,完成了根 据本发明的密钥生成方法。可以利用所产生的密钥,对所读取的数据包进 4亍力口密。在需要加密的数字内容包括多个数据包时,可以利用本发明的密钥生 成方法产生多个密钥,对各个数据包分别进行加密。图3是利用本发明的 密钥生成方法对数据进行加密的示意图。如图3所示,在步骤208中生成密钥之后,可以通过以下步骤对数字 内容所包括的数据包进行加密。步骤209:利用在步骤208中生成的密钥,加密在步骤202中读取的数 据包。步骤210:判断是否还有数据包需要加密。如果还有数据包需要加密, 则再次进入步骤202。 步骤211:结束。通过重复步骤202 - 210,可以对数字内容所包括的多个数据包分别进 行力口密。根据本发明的密钥生成装置、生成方法和数据加密方法,具有以下优点一、本发明不仅与数字内容结合紧密,而且随机性较强。二、 本发明根据数字内容逐段加密,根据数字内容不同密钥不同,安 全性高。
三、 本发明在生成密钥过程中,只需要一个密钥种子,就可以产生足 够多的密钥,方法简单。
四、 本发明在相应的解密过程中,只需要保存密钥种子即可,方法简 单有效。
五、 本发明还具备很强的可扩展性,可以根据芯片性能的需要,改变 加密的数据包的长度,从而改变密钥生成数,适合于不同应用。
通过本发明的密钥生成装置和生成方法以及数据加密方法,可以对数 据进行有效地加密,从而保证数字内容的安全性以防止盗版,并维护数据 通信的安全和可靠。
以上所述仅为本发明的优选实施例,对本发明而言仅^又是说明性的, 而非限制性的。本领域技术人员将理解,在不脱离本发明的精神和范围的 前提下,可对其进行多种改变、修改、甚至等效,所有这些都将落入本发 明的保护范围内。
权利要求
1. 一种基于数字内容的密钥生成装置,包括存储器部件,存储程序代码;随机数发生部件,产生随机数,该随机数作为密钥种子;算法部件,进行运算从而生成密钥;输入输出部件,输入数字内容并输出生成的密钥;以及主控制部件,分别与所述存储器部件、所述随机数发生部件、所述算法部件和所述输入输出部件相连,从而控制所述存储器部件、所述随机数发生部件、所述算法部件和所述输入输出部件的运行。
2. 根据权利要求1所述的基于数字内容的密钥生成装置,其中所述存 储器部件包括同步动态随机存储器和闪烁存储器,所述同步动态随机存储 器提供所述密钥生成装置运行需要的内存,并且所述闪烁存储器存储所述 程序代码。
3. 根据权利要求1所述的基于数字内容的密钥生成装置,其中所述数 字内容包括数据包,所述数据包通过所述输入输出部件输入,其中所述生成的密钥是通过以下方式产生将所述密钥种子作为所述 算法部件的运算密钥,对从所述数据包里读取的数据所形成的代表数字内 容信息的数据进行运算。
4. 一种基于数字内容的密钥生成方法,包括以下步骤a) :从数字内容中读取数据包;b) :从所述数据包中读取数据;c) :使用在步骤b)中所读取的数据形成代表数字内容信息的数据;d) :判断密钥种子是否已经产生,如果密钥种子已经产生,则进入步骤e) :将随机数作为密钥种子;f) :利用所述密钥种子作为运算密钥并利用在步骤c)中形成的所述代表 数字内容信息的数据作为运算内容,通过运算生成密钥;以及g) :输出生成的密钥。
5. 根据权利要求4所述的基于数字内容的密钥生成方法,其中所述数 据包包括第一预定数目的数据。
6. 根据权利要求4所述的基于数字内容的密钥生成方法,其中在步骤 b) 中,从所述数据包中的预定位置读取第二预定数目的数据。
7. 根据权利要求6所述的基于数字内容的密钥生成方法,其中所述预 定位置连续或者不连续。
8. 根据权利要求4所述的基于数字内容的密钥生成方法,其中在步骤c) 中形成的所述代表数字内容信息的数据还包括除了在步骤b)中所读取的 数据之外的其他数据。
9. 一种数据加密方法,包括以下步骤a) :利用权利要求4所述的密钥生成方法生成密钥;以及b) :利用生成的密钥加密数据包。
10. 根据权利要求9所述的数据加密方法,还包括以下步骤c) :判断是否还有数据包需要加密。如果还有数据包需要加密,则进入 步骤a)。
全文摘要
本发明提供了一种基于数字内容的密钥生成装置、生成方法和数据加密方法。密钥生成装置包括存储器部件、随机数发生部件、算法部件、输入输出部件以及主控制部件,其中主控制部件分别与存储器部件、随机数发生部件、算法部件和输入输出部件相连,从而控制这些部件的运行。通过本发明的密钥生成装置以及基于该密钥生成装置的密钥生成方法和数据加密方法,能够满足密钥生成的随机性和安全性,并可以对数据进行有效地加密,从而保证了数字内容的安全性并维护了数据通信的安全和可靠。
文档编号H04L9/18GK101296074SQ20081008900
公开日2008年10月29日 申请日期2008年4月15日 优先权日2008年4月15日
发明者张秋璞, 波 邵, 郭宝安 申请人:北京安普博达科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1