加密通信系统和通信装置转让专利

申请号 : CN200480030221.8

文献号 : CN1868163B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 布田裕一山道将人(已故)大森基司馆林诚

申请人 : 松下电器产业株式会社

摘要 :

在一个包括第一装置和第二装置的加密通信系统中,第一装置利用第二装置的公钥加密第一密钥,以生成第一加密数据,然后将其发送到第二装置,从第二装置接收第二加密数据,然后利用第一装置的秘密密钥解密第二加密数据,以获得第二密钥,并且根据第一和第二密钥生成第一加密密钥以用于与第二装置的通信中。第二装置利用第一装置的公钥加密第三密钥,以生成第二加密数据,并且将其发送到第一装置,接收第一加密数据,并且利用第二装置的秘密密钥解密第一加密数据,以获得第四密钥,并且根据第三和第四密钥生成第二加密密钥以用于与第一装置的通信中。第一和第二装置利用第一和第二加密密钥执行加密通信。

权利要求 :

1.一种包含第一装置和第二装置的加密通信系统,其中

所述第一装置(i)利用所述第二装置的公钥加密第一密钥,以生成第一加密数据,并且将所述第一加密数据发送到所述第二装置,(ii)从所述第二装置接收第二加密数据,并且利用所述第一装置的秘密密钥解密所述第二加密数据,以获得第二密钥,其中所述第二加密数据是通过在所述第二装置处使用所述第一装置的公钥来加密所述第二装置的第三密钥而生成的,并且(iii)根据所述第一和第二密钥生成第一加密密钥以用于与所述第二装置的通信中,所述第二装置(i)利用所述第一装置的公钥加密所述第三密钥,以生成所述第二加密数据,并且将所述第二加密数据发送到所述第一装置,(ii)从所述第一装置接收所述第一加密数据,并且利用所述第二装置的秘密密钥解密所述第一加密数据,以获得第四密钥,并且(iii)根据所述第三和第四密钥生成第二加密密钥以用于与所述第一装置的通信中,并且所述第一和第二装置利用所述第一和第二加密密钥执行加密通信,

其中,所述第一装置并置所述第一和第二密钥以生成并置数据,计算所述并置数据的散列值,并且划分所述散列值以生成第一加密密钥和第一散列密钥;

所述第一装置使用所述第一散列密钥来计算用于第一发送数据的第一散列值,使用所述第一加密密钥来加密所述第一发送数据以生成加密的第一发送数据,并且将所述第一散列值和所加密的第一发送数据发送到所述第二装置,其中所述第一加密密钥不同于所述第一散列密钥;

其中,

所述第二装置并置所述第三和第四密钥以生成并置数据,计算所述并置数据的散列值,并且划分所述散列值以生成所述第二加密密钥和第二散列密钥,从所述第一装置接收所述第一散列值和所加密的第一发送数据,使用与所述第一加密密钥相对应的所述第二加密密钥来解密所加密的第一发送数据,以产生解密的第一发送数据,使用所述第二散列密钥来计算用于所解密的第一发送数据的第二散列值,并且当所接收的第一散列值与所计算的第二散列值相匹配时,确定所述解密的第一发送数据未被篡改;其中所述第二加密密钥不同于所述第二散列密钥。

2.根据权利要求1所述的加密通信系统,其中

所述第一加密密钥和第一散列密钥被包括在散列计算结果中,所述散列计算结果是对通过并置所述第一和第二密钥而产生的并置数据进行散列计算而产生的。

3.一种用于利用共享密钥执行与另一装置的加密通信的通信装置,包含:

数据生成单元,用于使用公钥加密第一密钥以生成第一加密密钥数据,其中该公钥对应于所述另一装置所持有的秘密密钥,并且将所述第一加密密钥数据发送至所述另一装置;

解密单元,用于从所述另一装置接收第二加密密钥数据,并且使用所述通信装置的秘密密钥解密所述第二加密密钥数据以获得第二密钥,其中,所述另一装置通过使用所述通信装置的公钥来加密第三密钥而生成所述第二加密密钥数据;

密钥生成单元,用于根据所述第一和第二密钥生成第一加密密钥;以及

通信单元,用于使用所述第一加密密钥执行与所述另一装置的加密通信,其中,所述另一装置从所述通信装置接收所述第一加密密钥数据、使用该另一装置的秘密密钥来解密所述第一加密密钥数据以获得第四密钥、并且根据所述第三和第四密钥生成与所述第一加密密钥相对应的第二加密密钥,其中,

所述密钥生成单元还通过对所述第一和第二密钥进行预定操作并划分该预定操作的结果,生成所述第一加密密钥和第一散列密钥,所述通信装置包括内容数据处理单元,该内容数据处理单元包括:

计算单元,用于使用所述第一散列密钥来计算用于发送数据的第一散列值;以及加密单元,用于使用所述第一加密密钥来加密所述发送数据以生成加密的发送数据,并且其中,所述通信单元还将所述第一散列值和所加密的发送数据发送至所述另一装置,该内容数据处理单元从所述另一装置接收用于第二发送数据的第二散列值和加密的第二发送数据,其中,所述另一装置通过对所述第三和第四密钥进行预定操作并划分该预定操作的结果,生成所述第二加密密钥和第二散列密钥,使用所述第二散列密钥来计算用于所述第二发送数据的第二散列值,使用所述第二加密密钥来加密所述第二发送数据以生成加密的第二发送数据,并且将所述第二散列值和所加密的第二发送数据发送至所述通信装置;

使用所述第一加密密钥来解密所加密的第二发送数据;

使用所述第一散列密钥来计算用于所解密的第二发送数据的第二散列值;以及当所接收的第二散列值与所计算的第二散列值相匹配时,确定所述第二发送数据未被篡改。

4.根据权利要求3所述的通信装置,其中所述密钥生成单元利用所述第一和第二密钥执行异或操作,并且基于所述操作的结果生成所述第一加密密钥和所述第一散列密钥。

5.根据权利要求3所述的通信装置,其中

所述数据生成单元根据密钥封装机制加密所述第一密钥,以生成所述第一加密密钥数据,并且所述解密单元根据密钥解密机制解密所述第二加密密钥数据以获得所述第二密钥。

6.一种由利用共享密钥执行与另一装置的加密通信的通信装置所使用的方法,包括:利用与所述另一装置所持有的秘密密钥相对应的公钥来加密第一密钥,以生成第一加密密钥数据;

将所述第一加密密钥数据发送至所述另一装置;

从所述另一装置接收第二加密密钥数据,其中,所述另一装置通过利用所述通信装置的公钥来加密第三密钥而生成所述第二加密密钥数据;

利用所述通信装置的秘密密钥来解密所述第二加密密钥数据,以获得第二密钥;

通过对所述第一和第二密钥进行预定操作和划分该预定操作的结果,生成第一加密密钥和第一散列密钥;

利用所述第一加密密钥执行与所述另一装置的加密通信,其中,所述另一装置从所述通信装置接收所述第一加密密钥数据、利用该另一装置的秘密密钥来解密所述第一加密密钥数据以获得第四密钥、并且根据所述第三和第四密钥生成与所述第一加密密钥相对应的第二加密密钥;

利用所述第一散列密钥来计算用于发送数据的第一散列值;

利用所述第一加密密钥来加密所述发送数据,以生成加密的发送数据;

将所述第一散列值和所加密的发送数据发送至所述另一装置;

从所述另一装置接收用于第二发送数据的第二散列值和加密的第二发送数据,其中,所述另一装置通过对所述第三和第四密钥进行预定操作和划分该预定操作的结果,生成所述第二加密密钥和第二散列密钥,利用所述第二散列密钥来计算用于所述第二发送数据的第二散列值,利用所述第二加密密钥来加密所述第二发送数据以生成加密的第二发送数据,并且将所述第二散列值和所加密的第二发送数据发送至所述通信装置;

利用所述第一加密密钥来解密所加密的第二发送数据;

利用所述第一散列密钥来计算用于所解密的第二发送数据的第二散列值;以及当所接收的第二散列值与所计算的第二散列值相匹配时,确定所述第二发送数据未被篡改。

说明书 :

加密通信系统和通信装置

技术领域

[0001] 本发明涉及用于在装置之间共享密钥并且执行加密通信的加密通信技术。

背景技术

[0002] 近年来,经由家用电器、移动电话等之间的网络进行通信的机会逐渐增多。为了保护有版权的作品,防止利用诸如这些装置的通信内容泄漏等等,在执行装置认证和密钥共享之后执行使用共享密钥的加密通信。
[0003] 依据认证/密钥共享方案,一种称作DTCP(Digital TransmissionContent Protection,数字传输内容保护)的规范制定了当使用IEEE1394总线连接AV装置时所采用的方案。利用DTCP,在验证方案中采用了利用椭圆曲线DSA签名的口令-应答认证(challenge-response authentication),并且在该密钥共享方案中采用了椭圆曲线DH密钥共享。可以在关于DTCP规范的白皮书中找到关于DTCP的公开内容(URL:http://www.dtcp.com/spec.html),而可以在由Tatsuaki OKAMOTO和Hirosuke YAMAMOTO的ModernCryptography(Sangyo Tosho,1997,仅在日本可得)中找到关于口令-应答认证、椭圆曲线DSA签名和椭圆曲线DH密钥共享的公开内容。
[0004] 然而,对于由DTCP制定的认证/密钥共享方案的至今未经证实的安全性而言,存在不可靠性。这里,在公钥加密中,基于难以解决有关数学问题的假定,安全性的证据指的是不持有秘密密钥的用户不能解密密文,从而提供公钥加密的安全性的保证(例如,参 见 MihirBELLARE、Phillip ROGAWAY,“Minimizing the use of random oraclesin authenticated encryption schemes”,1997,URL:http://www.cs.ucdavis.edu/research/tech-reports/1997/CSE-97-8.pdf)。

发明内容

[0005] 针对上述问题所实现的本发明的一个目的是提供一种能够共享具有极度安全性的加密密钥的加密通信系统。
[0006] 为了达到上述目的,本发明是一个包括第一装置和第二装置的加密通信系统。第一装置(i)利用第二装置的公钥加密第一密钥,以生成第一加密数据,并且将该第一加密数据发送到第二装置,(ii)从第二装置接收第二加密数据,并且利用第一装置的秘密密钥解密第二加密数据,以获得第二密钥,并且(iii)根据第一和第二密钥生成第一加密密钥以用于与第二装置的通信中。第二装置(i)利用第一装置的公钥加密第三密钥,以生成第二加密数据,并且将第二加密数据发送到第一装置,(ii)从第一装置接收第一加密数据,并且利用第二装置的秘密密钥解密第一加密数据,以获得第四密钥,并且(iii)根据第三和第四密钥生成第二加密密钥以用于与第一装置的通信中。第一和第二装置利用第一和第二加密密钥执行加密通信。
[0007] 利用这种结构,由于即使共享密钥之一被公开给未被授权的用户,在加密数据通信中所使用的加密密钥仍然保持安全,所以从两个共享密钥重新生成加密密钥,从而使得通信数据能够被保护。
[0008] 此外,有可能依靠是否能够正确解密加密数据以获得两个共享密钥,来认证另一通信方的装置是否是授权装置。

附图说明

[0009] 图1示出了加密通信系统1的整体结构;
[0010] 图2是示出装置A100和装置B200的结构的方框图;
[0011] 图3是示出装置A100中的密钥共享单元120的结构的方框图;
[0012] 图4是示出装置A100中的内容数据处理单元130的结构的方框图;
[0013] 图5是示出装置B200中的密钥共享单元220的结构的方框图;
[0014] 图6是示出装置B200中的内容数据处理单元230的结构的方框图;
[0015] 图7是示出由密钥共享单元执行的密钥共享操作的流程图;
[0016] 图8是示出由认证单元执行的相互认证操作的流程图;以及
[0017] 图9是示出由内容数据处理单元执行的内容数据传输操作的流程图。

具体实施方式

[0018] 下面利用附图详细描述本发明的优选实施例。
[0019] 1.加密通信系统1的结构
[0020] 如图1所示,加密通信系统1由装置A100和装置B200组成。装置A100和B200播放由视频、音频等构成的内容。
[0021] 加密通信系统1执行装置之间的认证和密钥共享,并且利用共享密钥执行加密通信。在本实施例中给出的实例包括利用共享密钥发送和接收的内容数据。
[0022] 1.1装置A100的结构
[0023] 如图2所示,装置A100由发送/接收单元102、内容数据存储单元103、共享密钥存储单元109、认证单元112、控制部件115、输入/输出(IO)单元116、重放单元117、接口118、密钥共享单元120以及内容数据处理单元130组成。
[0024] 具体地说,装置A100是由微处理器、ROM、RAM、硬盘单元等组成的计算机系统。计算机程序存储在RAM中或者在硬盘单元上。装置A100完成作为根据计算机程序操作的微处理器的结果的功能。
[0025] 装置A100能够将外部装置诸如监视器或扬声器连接到接口118,并且当播放内容数据时,视频和音频信号经由接口118输出。
[0026] 下面描述各个组件。
[0027] (1)密钥共享单元120
[0028] 如图3所示,单元120由验证数据存储单元101、证书验证单元104、秘密密钥存储单元105、密钥生成单元106、密钥解密单元107以及共享密钥生成单元108组成。
[0029] 单元120将密钥KA从装置A100传递到装置B200,接收从装置B200传递到装置A100的密钥KB,并且共享密钥KA和KB。根据共享密钥KA和KB,单元120生成在加密通信中使用的共享密钥KS以及在通信数据的篡改检测中使用的共享密钥KH。
[0030] (a)验证数据存储单元101
[0031] 单元101存储装置A100的公钥证书Cert_A和CA(CertificationAuthority,认证中心)的公钥KPC。
[0032] 证书Cert_A包括公钥KPA和签名SKPA。
[0033] 公钥KPA由CA发布到装置A100。签名SKPA也由CA发布,并且证明公钥KPA是可靠的公钥。为了生成签名SKPA,利用对应于公钥KPC的CA的秘密密钥KSC,对公钥KPA执行签名生成算法S1。
[0034] 这里,CA是可信赖的第三方机构,其发布公钥证书,证明属于加密通信系统1的装置的公钥的可靠性。注意,签名生成算法S1例如可以是RSA签名、椭圆曲线DSA签名等等。ModernCryptography(参见上文)详细描述了这些算法。
[0035] (b)秘密密钥存储单元105
[0036] 单元105存储秘密密钥KSA。秘密密钥KSA对应于公钥KPA,并且由CA预先生成。
[0037] (c)证书验证单元104
[0038] 单元104验证从其它装置接收的公钥证书是否是由CA所发布的可靠证书。
[0039] 收到装置B200的公钥证书Cert_B时,单元104在控制单元115的控制下除去证书Cert_B中包含的签名SKPB和公钥KPB。单元104从验证数据存储单元101读取公钥KPC,并且利用公钥KPC和KPB对签名SKPB执行签名验证算法V1以验证签名。如果验证成功,单元104就将包含在证书中的公钥KPB输出到密钥生成单元106。如果验证没有成功,单元104结束该处理。
[0040] (d)密钥生成单元106
[0041] 单元106从证书验证单元104接收装置B200的公钥KPB,并且根据密钥封装机制生成密钥KA和密钥信息KEMA。
[0042] 这里,密钥封装机制是用于利用公钥加密将共享密钥从发送端(″发送器″)上的装置传递到接收端(″接收器″)上的装置的算法。发送器将接收器的公钥pk输入到公钥加密算法E中以生成密文C和共享密钥K,并且发送密文C到接收器。接收器将接收器的秘密密钥sk和密文C输入到公钥解密算法D中以导出与发送器相同的共享密钥K。
[0043] 然后使用共享密钥K利用公用密钥加密来加密通信数据。
[0044] 这样的事实是在常规密钥传递方案中未发现的特色,即,尽管单向执行从发送器到接收器的信息发送,但是由于发送器不能人为地创建共享密钥,所以发送器的任何未被授权的动作都被禁止。
[0045] 利用装置B200的公钥KPB作为输入,密钥生成单元106生成分别等同于密钥封装机制中的共享密钥K和密文C的密钥KA和密钥信息KEMA。单元106将密钥KA和密钥信息KEMA分别输出至共享密钥生成单元108和控制单元115。
[0046] 注意,可以在Victor SHOUP,″A proposal for an ISO standard forpublic key encryption(版本2.1)″(2001年12月20日,URL://shoup.net/papers/iso-2_l.pdf,viewed:2002年9月29日)中找到关于密钥封装机制的详细公开内容。
[0047] (e)密钥解码单元107
[0048] 单元107在控制单元115的控制下接收从装置B200发送的密钥信息KEMB。密钥信息KEMB等同于密钥封装机制中的密文C。
[0049] 单元107从秘密密钥存储单元105读取秘密密钥KSA。秘密密钥KSA等同于密钥封装机制中的接收器的秘密密钥。单元107利用密钥信息KEMA和秘密密钥KSA作为输入解密密钥信息KEMA,以获得密钥KB′,并将密钥KB′输出至共享密钥生成单元108。
[0050] (f)共享密钥生成单元108
[0051] 单元108在控制单元115的控制下分别从密钥生成单元106和密钥解密单元107接收密钥KA和KB′。单元108以一定的顺序并置密钥KA和KB′以生成密钥数据KA||KB′。单元108对密钥数据KA||KB′执行散列函数以生成散列值H。然后单元108划分散列值H,上面的比特作为共享密钥KSa用于加密,其余部分作为共享密钥KHa用于散列。
[0052] 单元108将共享密钥KSa和KHa存储在共享密钥存储单元109中。
[0053] (2)共享密钥存储单元109
[0054] 单元109存储由共享密钥生成单元108生成的共享密钥KSa和KHa。
[0055] (3)认证单元112
[0056] 单元112使用存储在共享密钥存储单元109中的共享密钥KSa执行与另一通信方的装置(给定实例中的装置B200)的相互认证。这里,单元112可以执行例如口令-应答认证。
[0057] 在后文中描述详细处理。
[0058] (4)内容数据处理单元130
[0059] 如图4所示,单元130由加密单元110、解密单元111、散列值计算单元113和篡改检测单元114组成,并且执行与内容数据的发送/接收相关的处理。
[0060] (a)加密单元110
[0061] 单元110在控制单元115的控制下分别从共享密钥存储单元109和内容数据存储单元103中读取用于加密的共享密钥KSa和内容数据DA。单元110使用共享密钥KSa对内容数据DA执行加密算法E1,从而加密内容数据DA,以生成加密数据CDA=Enc(KSa,DA)。Enc(KSa,DA)是通过利用使用共享密钥KSa的公用密钥加密来加密内容数据DA所生成的密文。
[0062] 这里,加密算法E1例如是AES(Advanced Encryption Standard,高级加密标准)算法。AES的描述为大家所熟知,在此从略。
[0063] 单元110将加密数据CDA输出至控制单元115。
[0064] (b)散列值计算单元113
[0065] 单元113在控制单元115的控制下分别从共享密钥存储单元109和内容数据存储单元103中读取在散列中使用的共享密钥KHa和内容数据DA。单元113使用共享密钥KHa为内容数据DA计算散列值HDA=Hash(KHa,DA)。这里,Hash(KHa,DA)表示利用使用共享密钥KHa的加密散列函数计算的内容数据DA的散列值。注意,Hash(KHa,DA)可以设置为Hash(KHa,DA)=SHAl(KHa||DA)。这里,SHA1(x)是x的SHA1散列函数值,而″||″表示并置运算。
[0066] 单元113将散列值HDA输出至控制单元115。
[0067] (c)解密单元111
[0068] 单元111在控制单元115的控制下接收加密数据CDB=Enc(KSb,DB)并且从共享密钥存储单元109读取在加密中使用的共享密钥KSa。单元111使用共享密钥KSa对加密数据CDB执行解密算法D1,从而解密加密数据CDB以获得明文内容数据DB’。注意,解密算法D1执行与加密算法E1相反的处理。
[0069] 这里,如果共享密钥是由共享密钥生成单元108正确生成的,那么存储在共享密钥存储单元109中的共享密钥KSa将与装置B200所持有的共享密钥KSb相同。换句话说,如果这两个共享密钥是相同的,那么有可能使用装置A100所持有的共享密钥KSa来获得和原始内容数据DB相同的内容数据DB’。
[0070] 单元111将内容数据DB’输出至篡改检测单元114。
[0071] (d)篡改检测单元114
[0072] 单元114判断由解密单元111解密的内容数据DB’是否已经被篡改。
[0073] 从解密单元111接收到散列值HDB和内容数据DB’时,单元114在控制单元115的控制下从共享密钥存储单元109读取在散列中使用的共享密钥KHa。单元114使用共享密钥KHa为内容数据DB’计算散列值HDB’=Hash(KHa,DB’)。
[0074] 然后单元114将计算的散列值HDB’与接收到的散列值HDB进行比较。如果散列值匹配,那么单元114判断不存在篡改,并且将内容数据DB’存储在内容数据存储单元103中。如果散列值不匹配,那么单元114判断存在篡改,并且不存储内容数据DB′。
[0075] (5)内容数据存储单元103
[0076] 单元103存储内容数据DA。
[0077] 单元103还存储由内容数据处理单元130写入单元103的存储内容数据DB’。
[0078] 这里,内容数据DA和DB’例如是诸如视频、音频等的数字数据。
[0079] (6)控制单元115、IO单元116、发送/接收单元102
[0080] IO单元116接收用户操作的指令信息,并且将接收到的信息输出至控制单元115。
[0081] 发送/接收单元102执行装置B200和控制单元115之间的数据的发送和接收。
[0082] 根据IO单元116接收到的来自用户的指令信息,控制单元115执行用于密钥共享、相互认证、内容数据发送/接收和重放的处理。
[0083] 接收到表示密钥共享的指令信息时,控制单元115控制密钥共享单元120以生成在加密中使用的共享密钥KSa和在散列中使用的共享密钥KHa。从密钥生成单元106接收到密钥信息KEMA时,单元115经由发送/接收单元102将接收到的密钥信息发送到装置B200。经由发送/接收单元102接收到密钥信息KEMB时,单元115将接收到的密钥信息输出至密钥解密单元107。
[0084] 接收到表示相互验证的指令信息时,控制单元115使认证单元112执行相互认证。
[0085] 接收到表示内容数据的发送/接收的指令信息时,控制单元115控制内容数据处理单元130以执行内容数据的发送/接收。在内容数据DA的发送中分别从加密单元110和散列值计算单元113接收到加密数据CDA和散列值HDA时,单元115经由发送/接收单元102将加密数据和散列值发送至装置B200。在经由发送/接收单元102从装置B200接收到加密数据CDB和散列值HDB时,单元115将加密数据和散列值分别输出至解密单元111和篡改检测单元114。
[0086] 收到表示内容数据DA或DB’的重放的指令信息时,控制单元115将表示的内容数据输出至重放单元117,并且控制重放单元117以播放内容数据。
[0087] (7)重放单元117、接口118
[0088] 接口118连接到外部装置,例如电视、监视器和扬声器等。
[0089] 重放单元117从内容数据生成视频信号和音频信号,并且经由接口118将信号输出至外部装置。
[0090] 1.2装置B200的结构
[0091] 如图2所示,装置B200由发送/接收单元202、内容数据存储单元203、共享密钥存储单元209、认证单元212、控制单元215、输入/输出(IO)单元216、重放单元217、监视器218、扬声器219、密钥共享单元220和内容数据处理单元230组成。
[0092] 与装置A100类似,装置B200是由微处理器、ROM、RAM、硬盘单元等组成的计算机系统。计算机程序存储在RAM中或者在硬盘单元上。装置B200完成作为根据计算机程序操作的微处理器的结果的功能。
[0093] 下面描述各个组件。
[0094] (1)密钥共享单元220
[0095] 如图5所示,单元220由验证数据存储单元201、证书验证单元204、秘密密钥存储单元205、密钥生成单元206、密钥解密单元207和共享密钥生成单元208组成。
[0096] (a)验证数据存储单元201
[0097] 单元201存储装置B200的公钥证书Cert_B和CA的公钥KPC。
[0098] 证书Cert_B包括签名SKPB和装置B200的公钥KPB。签名SKPB,其证明公钥KPB是可靠的公钥,是通过使用CA的秘密密钥KSC对公钥KPB执行签名生成算法S1所生成的签名数据。
[0099] (b)秘密密钥存储单元205
[0100] 单元205存储对应于公钥KPB的秘密密钥KSB。
[0101] (c)证书验证单元204
[0102] 接收到装置A100的公钥证书Cert_A时,单元204在控制单元215的控制下,除去包含在证书Cert_A中的签名SKPA和公钥KPA。单元204从验证数据存储单元201读取公钥KPC,并且利用公钥KPC和KPA对签名SKPA执行签名验证算法V1以验证签名。如果验证成功,单元204将公钥KPA输出至密钥生成单元206。如果验证没有成功,单元204结束处理。
[0103] (d)密钥生成单元206
[0104] 单元206使用密钥封装机制生成密钥KB和密钥信息KEMB。单元206将密钥KB和密钥信息KEMB分别输出至共享密钥生成单元208和控制单元215。
[0105] (e)密钥解密单元207
[0106] 单元207在控制单元215的控制下从装置A100接收密钥信息KEMA,并且从秘密密钥存储单元205读取秘密密钥KSB。单元207利用密钥信息KEMB和秘密密钥KSB作为输入来解密密钥信息KEMB,以获得密钥KA′,并将密钥KA′输出至共享密钥生成单元208。
[0107] (f)共享密钥生成单元208
[0108] 单元208分别从密钥生成单元206和密钥解密单元207接收密钥KB和密钥KA′。与共享密钥生成单元108类似,单元208基于密钥KA′和KB,生成在加密中使用的共享密钥KSb和在散列中使用的共享密钥KHb。单元208将共享密钥KSb和KHb存储在共享密钥存储单元209中。
[0109] (2)共享密钥存储单元209
[0110] 单元209存储由共享密钥生成单元208生成的共享密钥KSb和KHb。
[0111] (3)认证单元212
[0112] 单元212使用存储在共享密钥存储单元209中的共享密钥KSb来执行与认证单元112的相互认证。
[0113] (4)内容数据处理单元230
[0114] 如图6所示,单元230由加密单元210、解密单元211、散列值计算单元213以及篡改检测单元214组成。
[0115] (a)加密单元210
[0116] 单元210在控制单元215的控制下分别从内容数据存储单元203和共享密钥存储单元209读取在加密中使用的内容数据DB和共享密钥KSb。单元210使用共享密钥KSb对内容数据DB执行加密算法E1,从而加密内容数据DB以生成加密数据CDB=Enc(KSb,DB)。单元210将加密数据CDB输出至控制单元215。
[0117] (b)散列值计算单元213
[0118] 单元213在控制单元215的控制下分别从共享密钥存储单元209和内容数据存储单元203读取在散列中使用的共享密钥KHb和内容数据DB。单元213使用共享密钥KHb为内容数据DB计算散列值HDB=Hash(KHb,DB),并且将散列值HDB输出至控制单元215。
[0119] (c)解密单元211
[0120] 接收到加密数据CDA=Enc(KSa,DA)时,单元211在控制单元215的控制下从共享密钥存储单元209读取在加密中使用的共享密钥KSb,并且使用共享密钥KSb解密加密数据CDA,以获得明文内容数据DA’。
[0121] 单元211将内容数据DA’输出至篡改检测单元214。
[0122] (d)篡改检测单元214
[0123] 单元214在控制单元215的控制下从解密单元211接收散列值HDA和内容数据DA’。单元214从共享密钥存储单元209读取在散列中使用的共享密钥KHb。单元214使用共享密钥KHb为内容数据DA’计算散列值HDA’=Hash(KHb,DA’)。
[0124] 然后单元214将计算的散列值HDA’与接收到的散列值HDA进行比较。如果散列值匹配,那么单元214将内容数据DA’存储在内容数据存储单元203中;如果散列值不匹配,那么不存储内容数据DA’。
[0125] (5)内容数据存储单元203
[0126] 单元203存储内容数据DB。
[0127] 单元203还存储由内容数据处理单元230写入单元203的内容数据DA’。
[0128] (6)控制单元215、IO单元216、发送/接收单元202
[0129] IO单元216将由外部输入接收到的指令信息输出至控制单元215,并且发送/接收单元202执行装置A100和控制单元215之间的数据的发送和接收。
[0130] 与控制单元115类似,根据来自用户通过IO单元216接收到的指令信息,控制单元215执行用于密钥共享、相互认证、内容数据发送/接收和重放的处理。
[0131] (7)重放单元217、监视器218、扬声器219
[0132] 重放单元217根据内容数据生成视频信号和音频信号,并且分别将该视频和音频信号输出至监视器218和扬声器219。
[0133] 2.密钥封装机制
[0134] 利用密钥封装机制,信息从发送器发送到接收器,并且接收器根据接收信息生成共享密钥。
[0135] PSEC-KEM在此作为示意性的密钥封装机制来进行描述。注意,可以在Tatsuaki OKAMOTO,″Generic conversions for constructingIND-CCA2 public-key encryption thin the random oracle model″(5 Workshop on Elliptic Curve Cryptography,ECC
2001,30 October 2001,URL:http//www.cacr.math.uwaterloo.ca/conferences/2001/ecc/o kamoto.Ppt,viewed:2002年9月29日)中找到关于PSEC-KEM的详细公开内容。
[0136] (a)发送器和接收器具有以下PSEC-KEM系统参数。
[0137] -椭圆曲线:E;在椭圆曲线上的顺序为n的点:P
[0138] -散列函数:G,H
[0139] 注意,关于椭圆曲线、次序和散列函数的描述在此从略,可以在Modern Cryptography(参见上文)中找到详细公开内容。
[0140] (b)如下在PSEC-KEM中生成接收器的公钥pk和秘密密钥sk。
[0141] 随机选择Zn的元素x,并且生成W=x*P。
[0142] 这里,Zn是由{0,1,...,n-1}形成的集合,并且x*P表示通过在椭圆曲线上x次增加点P所获得的椭圆曲线上的点。注意,可以在Modern Cryptography(参见上文)中找到关于用于在椭圆曲线上增加点P的方法的描述。
[0143] 公钥pk被设置为W(=x*P),而秘密密钥sk被设置为x。
[0144] (c)发送器获得接收器的公钥pk,将公钥pk输入到公钥加密算法KemE中,并且输出共享密钥K和密文C。接着描述公钥加密算法KemE。
[0145] 随机生成Zn的元素s。
[0146] 生成G(s)并将其分成G(s)=a||K。这里,||表示比特并置,而将G(s)分成G(s)=a||K表示G(s)中的上面多个比特被设置为a,剩余比特被设置为K。
[0147] 生成R=a*P和Q=a*W。
[0148] 利用设为(a*P||a*W)的散列函数H的输入,并且使得H(a*P||a*W)值对随机生成的元素s起作用,
[0149] 生成了V=s XOR H(R||Q)。这里,XOR表示异或运算。
[0150] 输出共享密钥K和密文C=(R,v)。
[0151] 发送器将密文C发送至接收器。
[0152] (d)接收器从发送器接收密文C,将密文C=(R,v)以及接收器的公钥pk和秘密密钥sk输入到公钥解密算法KemD中,并且输出共享密钥K。接着描述公钥解密算法KemD。
[0153] 利用来自R=a*P的秘密密钥sk(=x),
[0154] 导出Q=x*R=x*(a*P)=a*(x*P)=a*W。
[0155] 生成s’=v XOR H(R||Q)(=v XOR H(a*P||a*W))。
[0156] 生成G(s’)并将其分成G(s’)=a||K。
[0157] 接收器检查R=a*P是否建立。如果建立了,则输出共享密钥K。
[0158] (e)因而,对于分别地使用公钥加密算法KemE和公钥解密算法KemD的发送器和接收器而言,有可能输入相同值到散列函数G以及导出的相同共享密钥K中。结果是,持有秘密密钥的接收器能够导出与发送器所导出的相同的共享密钥K。
[0159] (f)另一方面,即使不知道秘密密钥sk的其它接收器获得公钥k并且接收到密码电文C,但是由于不知道秘密密钥sk(=x),因而无法从R=a*P来计算Q=a*W(=(ax)*P),并且因而不能够导出与发送器所导出的相同的共享密钥K。这是因为不知道秘密密钥sk的接收器只能够依靠公钥pk,并且因而在计算Q中必须使用公钥pk的W=x*P代替秘密密钥sk(=x)。但是,通常,从a*P和W=x*P推导出的Q=a*W(=(ax)*P),其称为椭圆曲线Diffie-Hellman问题,只要不知道a和x的值就很难计算。(例如,参见,Neal KOBLITZ,″Algebraic Aspects of Cryptography:Algorithms and Computation inMathematics第3卷,132-133页,Springer-Verlag,1998。)
[0160] (g)如果利用上述PSEC-KEM算法很难解决椭圆曲线Diffie-Hellman问题,那么证明,不知道秘密密钥的接收器就不能获得共享密钥K。例如,根据类似困难的数学问题,也证明了在PSEC-KEM中的其它KEM算法诸如RSA-KEM(参见上述的VictorSHOUP,″A proposal for an ISO standard for public key encryption″)的安全性等,使得使用其他KEM算法以共享密钥KA和KB切实可行。
[0161] 3.加密通信系统1的操作
[0162] 3.1共享密钥的生成
[0163] 参考图7描述了在装置A100和B200之间使用密钥封装机制生成共享密钥KS和KH的操作。
[0164] 证书验证单元204从验证数据存储单元201读取公钥证书Cert_B(步骤S501)。控制单元215经由发送/接收单元202将证书Cert_B发送到装置A100(步骤S502)。
[0165] 控制单元115将经由发送/接收单元102接收到的证书Cert_B发送到证书验证单元104。接收到证书Cert_B时,单元104去掉签名SKPB和公钥KPB,并且从验证数据存储单元101读取公钥KPC。然后单元104使用公钥KPC验证签名SKPB(步骤S503)。如果检验结果表示签名SKPB正确(步骤S504=YES),那么单元104将公钥KPB输出到密钥生成单元106。如果检验结果表示签名SKPB不正确(步骤S504=NO),那么单元104结束处理。
[0166] 密钥生成单元106根据密钥封装机制生成密钥KA和密钥信息KEMA(步骤S505)。单元106分别将密钥KA和密钥信息KEMA输出至共享密钥生成单元108和控制单元115。证书验证单元104从验证数据存储单元101读取装置A100的公钥证书Cert_A(步骤S506),并且将证书Cert_A输出至控制单元115。
[0167] 控制单元115经由发送/接收单元102将密钥信息KEMA和证书Cert_A发送到装置B200(步骤S507)。
[0168] 接收到密钥信息KEMA和证书Cert_A时,装置B200的控制单元215分别将接收到的密钥信息和证书输出至密钥解密单元207和证书验证单元204。
[0169] 证书验证单元204接收证书Cert_A,去掉签名SKPA和公钥KPA,并且从验证数据存储单元201读取公钥KPC。然后单元204使用公钥KPC验证签名SKPA(步骤S508)。如果验证结果表示签名SKPA正确(步骤S508=YES),那么单元204将公钥KPA输出到密钥生成单元206。如果验证结果表示签名SKPA不正确(步骤S508=NO),那么单元204结束处理。
[0170] 密钥解密单元207从控制单元215接收密钥信息KEMA,并且从秘密密钥存储单元205读取秘密密钥KSB。单元207使用秘密密钥KSB解密密钥信息KEMA以获得密钥KA’(步骤S510)。
[0171] 接着,密钥生成单元206根据密钥封装机制生成密钥KB和密钥信息KEMB(步骤S511)。单元206分别将密钥KB和密钥信息KEMB输出至共享密钥生成单元208和控制单元215。控制单元215经由发送/接收单元202将密钥信息KEMB发送到装置A100(步骤S512)。
[0172] 接收到密钥信息KEMB时,装置A100的控制单元115将接收到的密钥信息输出至密钥解密单元107。单元107接收密钥信息KEMB并且从秘密密钥存储单元105读取秘密密钥KSA。单元107使用秘密密钥KSA解密密钥信息KEMB以获得密钥KB’(步骤S513)。单元107将密钥KB′输出至共享密钥生成单元108。
[0173] 在分别从密钥生成单元106和密钥解密单元107接收到密钥KA和密钥KB’时,共享密钥生成单元108使用密钥KA和KB’生成在加密中使用的共享密钥KSa和在散列中使用的共享密钥KHa(步骤S514),并且将共享密钥存储在共享密钥存储单元109中(步骤S515)。
[0174] 类似地,在分别从密钥生成单元206和密钥解密单元207接收到密钥KB和密钥KA’时,共享密钥生成单元208使用密钥KB和KA’生成在加密中使用的共享密钥KSb和在散列中使用的共享密钥KHb(步骤S516),并且将共享密钥存储在共享密钥存储单元209中(步骤S517)。
[0175] 由于只有装置A100和B200是可靠的装置时它们能够正确地解密从另一装置接收到的密钥信息,所以能够用这种方式共享密钥KA和KB。
[0176] 如果这两个装置是可靠的,那么它们将能够生成相同的的用于加密中使用的共享密钥KSa和KSb以及相同的用于散列中使用的共享密钥KHa和KHb。
[0177] 3.2相互验证
[0178] 参考图8描述了在发送内容数据之前在装置A100和B200之间执行相互验证的操作。
[0179] 装置A100的认证单元112随机地生成随机数resA(步骤S531)。单元112使用在加密中使用的共享密钥KSa加密随机数resA,以生成chaA(步骤S532)。单元112经由发送/接收单元102将chaA输出到装置B200(步骤S533)。
[0180] 在经由发送/接收单元202接收到chaA时,装置B200的认证单元212使用在加密中使用的共享密钥KSb解密chaA,以获得resA’(步骤S534)。接着,单元212随机地生成随机数resB(步骤S535)。单元212使用共享密钥KSb加密随机数resB以生成chaB(步骤S536)。单元212将chaB和resA’发送至装置A100(步骤S537)。
[0181] 接收到chaB和resA’时,装置A100的认证单元112判断resA’是否与步骤S531中生成的resA相匹配(步骤S538)。如果不匹配(步骤S538=NO),那么单元112判断认证已经失败,并且结束处理。如果匹配(步骤S538=YES),那么单元112继续该处理,认为认证成功。单元112使用共享密钥KSa解密chaB,以获得resB’(步骤S539),并且将resB’发送至装置B200(步骤S540)。
[0182] 装置B200的认证单元212接收resB’,并且判断resB’是否与步骤S535中生成的resB相匹配(步骤S541)。如果不匹配(步骤S541=NO),那么单元212判断认证已经失败,并且结束处理。如果匹配(步骤S541=YES),那么单元212继续该处理。
[0183] 装置A100和B200互相执行如上所述的装置认证。如果正确地执行了密钥共享并且在加密中使用的共享密钥KSa和KSb相同,那么此时能够将另一装置认证为是具有被正确地共享的密钥的可靠装置。
[0184] 3.3内容数据的发送
[0185] 参考图9描述了在装置A100和B200之间发送内容数据DA和DB的操作。
[0186] 加密单元110在控制单元115的控制下分别从内容数据存储单元103和共享密钥存储单元109读取内容数据DA和在加密中使用的共享密钥KSa。单元110使用共享密钥KSa加密内容数据DA,以生成加密数据CDA(步骤S561)。单元110将加密数据CDA输出至控制单元115。
[0187] 散列值计算单元113在控制单元115的控制下分别从内容数据存储单元103和共享密钥存储单元109读取内容数据DA和在散列中使用的共享密钥KHa,并且使用共享密钥KHa为内容数据DA计算散列值HDA(步骤S562)。单元113将散列值HAD输出至控制单元115。
[0188] 接收到加密数据CDA和散列值HDA时,控制单元115经由发送/接收单元102将加密数据和散列值发送至装置B200(步骤S563)。
[0189] 装置B200的解密单元211从控制单元215接收加密数据CDA,并且从共享密钥存储单元209读取在加密中使用的共享密钥KSb。单元211使用共享密钥KSb解密加密数据CDA,以获得明文内容数据DA’(步骤S564)。单元211将内容数据DA’输出至篡改检测单元214。
[0190] 分别从控制单元215和解密单元211接收到散列值HDA和内容数据DA’时,篡改检测单元214从共享密钥存储单元209读取在散列中使用的共享密钥KHb。单元214使用共享密钥KHb为内容数据DA’生成散列值HDA’(步骤S565)。单元214判断所生成的散列值HDA’是否与接收到的散列值HDA相匹配(步骤S566),并且如果不匹配(步骤S566=NO),那么单元214结束该处理,视作篡改。如果匹配(步骤S566=YES),那么单元214将内容数据DA’存储在内容数据存储单元203中,视作没有篡改(步骤S567)。
[0191] 加密单元210在控制单元215的控制下分别从内容数据存储单元203和共享密钥存储单元209读取内容数据DB和共享密钥KSb。单元210使用共享密钥KSb加密内容数据DB,以生成加密数据CDB(步骤S568)。单元210将加密数据CDB输出至控制单元215。
[0192] 散列值计算单元213在控制单元215的控制下分别从内容数据存储单元203和共享密钥存储单元209读取内容数据DB和共享密钥KHb。单元213使用共享密钥KHb为内容数据DB生成散列值HDB(步骤S569)。单元213将散列值HDB输出至控制单元215。
[0193] 接收到加密数据CDB和散列值HDB时,控制单元215经由发送/接收单元202将加密数据和散列值发送至装置A100(步骤S570)。
[0194] 接收到加密数据CDB时,装置A100的解密单元111在控制单元115的控制下从共享密钥存储单元109读取共享密钥KSa。单元111使用共享密钥KSa解密加密数据CDB以获得明文内容数据DB’(步骤S571)。单元111将内容数据DB’输出至篡改检测单元114。
[0195] 篡改检测单元114从解密单元111接收内容数据DB′并且从共享密钥存储单元109读取共享密钥KHa。单元114使用共享密钥KHa为内容数据DB’计算散列值HDB’(步骤S572)。单元114判断所生成的散列值HDB’是否与接收到的散列值HDB相匹配(步骤S573),并且如果不匹配(步骤S573=NO),那么单元114结束该处理,视作篡改。如果匹配(步骤S573=YES),那么单元114将内容数据DB’存储在内容数据存储单元103中,视作没有篡改(步骤S574)。
[0196] 4.变形
[0197] 虽然已经根据优选实施例进行了上述描述,但是本发明当然不局限于该实施例。还包括以下变形。
[0198] (1)虽然优选实施例中的内容数据从装置A100至装置B200并且从装置B200至装置A100双向发送,但是数据传输可以单向地从一个装置到另一个装置。
[0199] (2)虽然优选实施例中连续地描述了密钥共享、相互验证和内容数据传输,但是也可以在其间插入其它的处理。例如,可以包括确认装置功能(音乐重放、电影重放、广播接收功能等)的处理。
[0200] (3)虽然如上所述将公钥证书、公钥和内容数据描述为存储在分离的存储单元中,但是它们也可以存储在相同存储单元中,或者数据可以分开存储在多个存储单元中。
[0201] (4)虽然如上所述将内容数据描述为接收之后存储在存储单元中,但是内容数据如果是图像数据则可以输出到屏幕上,或者如果是音乐数据则可以通过扬声器输出。
[0202] (5)虽然如上所述将公钥证书描述为包括公钥和对应的签名,但是也可以添加其它数据诸如ID信息。同时,标记为签名数据的数据可以与公钥或者其它数据相结合;也就是说,例如,与ID信息并置。
[0203] (6)虽然在优选实施例中共享密钥KS和KH分别用于加密和散列中,但是本发明并不局限于该配置,其中所述共享密钥KS和KH是通过将从密钥KA和KB的并置所获得的数据的散列值进行划分而生成的。
[0204] 共享密钥KS和KH可以通过划分对密钥KA和KB执行异或的结果进行划分而生成,或者根据两个密钥KA和KB的至少部分而生成。
[0205] (7)用于计算散列值和生成密文的算法并不局限于优选实施例中所公开的算法。当然,计算也可以使用其它算法来执行。
[0206] (8)本发明可以是上述的方法。该方法可以是由计算机实现的计算机程序,或者从程序形成的数字信号。
[0207] 本发明可以是存储程序或者数字信号的计算机可读记录介质,其实例包括软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(blu-ray disk,蓝光盘)以及半导体存储器等。本发明还可以是记录在这样的记录介质上的程序或者数字信号。
[0208] 记录在这样的记录介质上的程序或者数字信号可以经由网络等来发送,其代表性实例包括电信电路、无线或者电缆通信电路以及因特网。
[0209] 或者本发明可以是包括微处理器和存储器的计算机系统,程序存储在存储器中,微处理器按照该程序来操作。
[0210] 通过记录在记录介质上或者经由网络等将程序或者数字信号传递到另一个独立的计算机系统,本发明还可以在另一个计算机系统中实施。
[0211] (9)本发明可以是上述实施例和变形的任意组合。
[0212] 5.总结
[0213] 如上所述,本发明是一个包括第一装置和第二装置的加密通信系统。第一装置(i)利用第二装置的公钥加密第一密钥,以生成第一加密数据,并且将该第一加密数据发送到第二装置,(ii)从第二装置接收第二加密数据,并且利用第一装置的秘密密钥解密第二加密数据,以获得第二密钥,并且(iii)根据第一和第二密钥生成第一加密密钥以用于与第二装置的通信中。第二装置(i)利用第一装置的公钥加密第三密钥,以生成第二加密数据,并且将第二加密数据发送到第一装置,(ii)从第一装置接收第一加密数据,并且利用第二装置的秘密密钥解密第一加密数据,以获得第四密钥,并且(iii)根据第三和第四密钥生成第二加密密钥以用于与第一装置的通信中。第一和第二装置利用第一和第二加密密钥执行加密通信。
[0214] 同样,本发明是用于利用共享密钥执行与另一装置的加密通信的通信装置。该通信装置包括:数据生成单元,用于使用公钥加密第一密钥以生成第一加密密钥数据,其中该公钥对应于另一装置所持有的秘密密钥,并且将第一加密密钥数据发送至另一装置;解密单元,用于从另一装置接收第二加密密钥数据,其中该第二加密密钥数据是由另一装置使用该通信装置的公钥来加密第三密钥而生成的,并且使用该通信装置的秘密密钥解密第二加密密钥数据以获得第二密钥;密钥生成单元,用于根据第一和第二密钥生成加密密钥;以及通信单元,用于使用加密密钥执行与另一装置的加密通信。
[0215] 利用这些结构,由于即使共享密钥之一被公开给未被授权的用户,在加密数据通信中所使用的加密密钥仍然保持安全,所以从两个共享密钥重新生成加密密钥,从而使得通信数据能够被保护。同样,有必要利用常规密钥共享来安全地持有两个共享密钥,但是在本发明中,只安全地保存加密密钥就已经足够,从而能够降低存储器的使用。此外,根据另一装置是否能够正确地解密加密数据从而正确地生成加密密钥,能够间接地认证通信中的另一装置的可靠性。
[0216] 这里,密钥生成单元还可以根据第一和第二密钥生成散列密钥,并且通信单元可以包括:计算子单元,用于利用散列密钥计算用于发送数据的散列值;加密子单元,用于使用该加密密钥加密发送数据以生成加密数据;以及发送子单元,用于将散列值和加密数据发送至另一装置。
[0217] 同时,密钥生成单元还可以根据第一和第二密钥生成散列密钥。通信单元可以包括:接收子单元,用于从另一装置接收通过使用另一装置所持有的加密密钥对数据进行加密所生成的加密数据,并且接收使用另一装置所持有的散列密钥为该数据所计算的第一散列值;解密子单元,用于使用加密密钥解密该加密数据以获得明文数据;以及判断子单元,用于使用散列密钥为明文数据计算第二散列值,并且判断第一和第二散列值是否匹配。该通信装置还可以包括使用单元,用于如果判断散列值匹配则使用明文数据,如果判断散列值不匹配则禁止使用明文数据。
[0218] 利用这个结构,发送器发送使用共享散列密钥为原始数据所计算的散列值,而接收器使用共享散列密钥为接收到的数据计算散列值,并且比较接收到的和计算的散列值,从而使得能够检测数据是否被篡改。同样,如果装置没有共享密钥则不能计算相同散列值的事实表示,只有具有共享密钥并且被间接地认证的装置才能够使用该数据。
[0219] 这里,通信装置还可以包括认证单元,用于使用加密密钥认证另一装置。
[0220] 同时,认证单元可以(i)生成第一认证值,使用加密密钥加密第一认证值以生成第一加密值,并且将第一加密值发送至另一装置,并且(ii)从另一装置接收第二认证值,其中该第二认证值是通过使用另一装置所持有的加密密钥解密第一加密值所生成的,并且判断第一和第二认证值是否匹配。通信装置还可以包括通信单元,用于如果认证值被判断为匹配,则执行与另一装置的通信。
[0221] 同时,认证单元可以从另一装置接收第三加密值,该第三加密值是通过使用另一装置所持有的加密密钥加密第三认证值而生成的,使用加密密钥解密第三加密值,以获得第四认证值,并且将第四认证值发送至另一装置。如果另一装置判断第三和第四认证值匹配,那么通信装置可以执行通信。
[0222] 利用这些结构,有可能认证那些已经正确地共享了密钥的装置。
[0223] 这里,数据生成单元可以根据密钥封装机制加密第一密钥,以生成第一加密密钥数据,并且解密单元可以根据密钥解密机制解密第二加密密钥数据以获得第二密钥。
[0224] 利用这个结构,通过使用密钥封装机制保证了基于困难的数学问题的安全性证明,从而保证了关于本发明的通信装置的安全性。
[0225] 工业实用性
[0226] 本发明可以管理地以及反复不断地用于软件工业中,其提供诸如通过将电影、音乐及其它有版权的作品数字化所获得的内容和计算机程序之类的软件。此外,可以在家用电器等制造工业中生产和零售关于本发明的加密通信系统和通信装置。