【发明授权】密钥生成装置及方法、加密装置及方法_三星SDS株式会社_201810243827.3 

申请/专利权人:三星SDS株式会社

申请日:2018-03-23

公开(公告)日:2022-09-20

公开(公告)号:CN108632031B

主分类号:H04L9/08

分类号:H04L9/08;H04L9/40

优先权:["20170323 KR 10-2017-0037074"]

专利状态码:有效-授权

法律状态:2022.09.20#授权;2020.01.17#实质审查的生效;2018.10.09#公开

摘要:本发明涉及密钥生成装置及方法、加密装置及方法。根据本发明的一实施例的密钥生成装置包括:接收部,从密钥请求装置接收包括ID的密钥生成请求;转换部,将所述ID转换为任意的位串;以及私钥生成部,从包括多个私密参数值的私密参数集合提取与所述转换后的任意的位串对应的一个以上的私密参数值,并利用提取到的所述一个以上的私密参数值生成与所述ID对应的私钥。

主权项:1.一种密钥生成装置,其中,包括:接收部,从密钥请求装置接收包括ID的密钥生成请求;转换部,将所述ID转换为任意的位串;以及私钥生成部,从包括多个私密参数值的私密参数集合提取与所述转换后的任意的位串对应的一个以上的私密参数值,并利用提取到的所述一个以上的私密参数值生成与所述ID对应的私钥,其中,所述私密参数集合包括分别与n位长度的互不相同的2n个位串中的一个位串及包括所述一个位串的块的顺序对应的多个私密参数值。

全文数据:密钥生成装置及方法、加密装置及方法技术领域[0001]本发明的实施例涉及一种加密以及用于加密的密钥生成技术。背景技术[0002]最近,由于计算机技术的发展和通信网络的迅速扩大,导致计算机相关资源与传输的数据安全问题日益突出。作为能够解决这种问题的一个对策,正在利用基于密码的系统。迄今为止贡献最多的密码系统是公钥密码系统,在这种传统的公钥系统中,用户的公钥必须提前进行认证,由于发生问题的认证书即使在有效期结束之前,也必须废弃,因此对于公钥的认证书的管理比较困难。因此,提出了基于个人身份ID:identity的基于ID的密码系统。[0003]基于公钥的密码系统遵循首先确定密钥再计算公钥的方式。相反,基于ID的密码系统首先选择ID再以此计算密钥,且密钥由私钥生成器PKG:privatekeygenerator发生,其由ID计算而通过安全的信道发行。[0004]与此相关,现有技术文献韩国授权专利公报第10-1301609号提出了如下的密钥的计算方法:在基于ID的密码系统中,应用利用预先计算表的离散对数计算方法,而能够确保ID与私钥之间的一对一的对应关系。然而,在相关专利文献中提出的方法中,由于预先计算,导致生成针对用户ID的私钥时需要较多时间和较多成本(以AmazonEC2为标准,100核core需要100天)。因此,在根据所提供的服务需要生成额外的密钥的情况下,存在在时间和成本方面的效率低的问题。[0005][现有技术文献][0006][专利文献][0007]韩国授权专利第10-1301609号2013.8.29公开)发明内容[0008]本发明的实施例用于提供一种用于基于ID的加密的密钥生成装置及方法与加密装置及方法。[0009]根据本发明的一实施例的密钥生成装置包括:接收部,从密钥请求装置接收包括ID的密钥生成请求;转换部,将所述ID转换为任意的位串;以及私钥生成部,从包括多个私密参数值的私密参数集合提取与所述转换后的任意的位串对应的一个以上的私密参数值,并利用提取到的所述一个以上的私密参数值生成与所述ID对应的私钥。[0010]私钥生成部可以将所述转换后的任意的位串分成多个块,并从所述私密参数集合提取与所述分成的多个块分别对应的多个私密参数值。[0011]所述私密参数集合可以包括分别与n位长度的互不相同的2n个位串中的一个位串及包括所述一个位串的块的顺序对应的多个私密参数值,所述私钥生成部可以将所述转换后的任意的位串以n位为单位分成多个块,并从所述私密参数集合提取与所述分成的各块的顺序及所述分成的各块所包括的位串对应的私密参数值。[0012]所述私钥生成部可以利用单向函数从所述提取的私密参数值生成与所述ID对应的私钥。[0013]根据本发明的一实施例的密钥生成方法,包括如下步骤:从密钥请求装置接收包括ID的密钥生成请求;将所述ID转换为任意的位串;从包括多个私密参数值的私密参数集合提取与所述转换后的任意的位串对应的一个以上的私密参数值;利用所述提取到的一个以上的私密参数值生成与所述ID对应的私钥。[00M]在所述提取的步骤中,可以将所述转换后的任意的位串分成多个块,并从所述私密参数集合提取与所述分成的多个块分别对应的多个私密参数值。[0015]所述私密参数集合可以包括分别与n位长度的互不相同的2n个位串中的一个位串及包括所述一个位串的块的顺序对应的多个私密参数值,在所述提取的步骤中,可以将所述转换后的任意的位串以n位为单位分成多个块,并从所述私密参数集合提取与所述分成的各块的顺序及所述分成的各块所包括的位串对应的私密参数值。[0016]所述生成私钥的步骤,可以利用单向函数从所述提取的私密参数值生成与所述ID对应的私钥。[0017]根据本发明的一实施例的加密装置包括:密钥信息获取部,从密钥发行服务器获取包括多个公开参数值的公开参数集合及与加密装置的用户ID对应的私钥;ID接收部,从共享所述公开参数集合的外部装置接收所述外部装置的用户ID,转换部,将所述外部装置的用户ID转换为任意的位串;公钥生成部,从所述公开参数集合中提取与所述转换后的任意的位串对应的一个以上的公开参数值,并利用所述提取的公开参数值生成与所述外部装置的用户ID对应的公钥;以及加密部,利用所述公钥对将要向所述外部装置发送的数据进行加密,或者利用所述私钥执行针对所述将要发送的数据的电子签名。[0018]所述公钥生成部可以将所述转换后的任意的位串分成多个块,并从所述公开参数集合提取与所述分成的多个块分别对应的多个公开参数值。[0019]所述公开参数集合可以包括分别与n位长度的互不相同的2n个位串中的一个位串及包括所述一个位串的块的顺序对应的多个公开参数值,所述公钥生成部可以将所述转换后的任意的位串以n位为单位分成多个块,并从所述公开参数集合提取与所述分成的各块的顺序及所述分成的各块所包括的位串对应的公开参数值。[0020]所述公钥生成部,可以利用单向函数从所述提取的公开参数值生成与所述ID对应的公钥。[0021]所述加密装置还可以包括:ID提供部,向所述外部装置提供所述加密装置的用户ID;数据接收部,从所述外部装置接收利用与所述加密装置的用户ID对应的公钥而加密的数据及利用与所述外部装置的用户ID对应的私钥电子签名的数据;以及解密部,利用与所述加密装置的用户ID对应的私钥对所述加密的数据进行解密,或者利用与所述外部装置的用户ID对应的公钥执行针对所述电子签名的数据的验证。[0022]根据本发明的一实施例的加密方法包括如下步骤:从密钥发行服务器获取包括多个公开参数值的公开参数集合及与所述加密装置的用户ID对应的私钥;从共享所述公开参数集合的外部装置接收所述外部装置的用户ID;将所述外部装置的用户ID转换为任意的位串;从所述公开参数集合中提取与所述转换后的任意的位串对应的一个以上的公开参数值;利用所述提取的公开参数值生成与所述外部装置的用户ID对应的公钥;以及利用所述公钥对将要向所述外部装置发送的数据进行加密,或者利用所述私钥执行对所述将要发送的数据的电子签名。[0023]在所述生成公钥的步骤中,可以将所述转换后的任意的位串分成多个块,并从所述公开参数集合提取与所述分成的多个块分别对应的多个公开参数值。[0024]所述公开参数集合可以包括分别与n位长度的互不相同的211个位串中的一个位串及包括所述一个位串的块的顺序对应的多个公开参数值,在所述生成公钥的步骤中,将所述转换后的任意的位串以n位为单位分成多个块,并从所述公开参数集合提取与所述分成的各块的顺序及所述分成的各块所包括的位串对应的公开参数值。[0025]在所述生成公钥的步骤中,可以利用单向函数从所述提取的公开参数值生成与所述ID对应的公钥。[0026]所述加密方法还可以包括如下步骤:向所述外部装置提供所述加密装置的用户ID;从所述外部装置接收利用与所述加密装置的用户ID对应的公钥而加密的数据及利用与所述外部装置的用户ID对应的私钥电子签名的数据;以及利用与所述加密装置的用户ID对应的私钥对所述加密的数据进行解密,或者利用与所述外部装置的用户ID对应的公钥执行针对所述电子签名的数据的验证。[0027]根据本发明的实施例,由于无需进行现有技术中为了生成与ID对应的加密密钥所需的预先计算,也没有针对可用于生成加密密钥的ID的限制,从而能够显着减少生成加密密钥所需的计算量及处理时间。附图说明[0028]图1为根据本发明的一实施例的加密系统的结构图。[0029]图2是根据本发明的一实施例的密钥生成装置的结构图。[0030]图3是示出私密参数集合的一示例的图。[0031]图4是用于说明提取私密参数值的一示例的图。[0032]图5是根据本发明的另一实施例的密钥生成装置的结构图。[0033]图6是示出了与图3所图示的私密参数集合对应的公开参数集合的一示例的示例图。[0034]图7是根据本发明的一实施例的加密装置的结构图。[0035]图8是用于说明提取公开参数值的一示例的图。[0036]图9是示出根据本发明的一实施例的生成私钥的过程的流程图。[0037]图10是示出根据本发明的一实施例的生成私密参数集合及公开参数集合的过程的流程图。[0038]图11是示出根据本发明的一实施例的加密过程的流程图。[0039]图12是示出根据本发明的一实施例的解密过程的流程图。[0040]图13是示出根据本发明的一实施例的生成电子签名的过程的流程图。[0041]图14是示出根据本发明的一实施例的验证电子签名的数据的过程的流程图。[0042]符号说明[0043]100:加密系统110:密钥发行服务器[0044]120、130:用户终端200、500:密钥生成装置[0045]210:接收部220:转换部[0046]230:私钥生成部240:密钥信息提供部[0047]250:私密参数生成部260:私密参数集合生成部[0048]270:公开参数集合生成部700:加密装置[0049]710:密钥信息获取部720:ID接收部[0050]730:转换部740:公钥生成部[0051]750:加密部760:ID提供部[0052]770:数据接收部780:解密部具体实施方式[0053]以下,参阅附图而对本发明的具体实施形态进行说明。为了有助于对本说明书中记载的方法、装置和或系统的全面理解,提供以下的详细说明。然而,这只是示例,本发明并非局限于此。[0054]在说明本发明的实施例的过程中,如果判断为对有关本发明的公知技术的具体说明有可能对本发明的要义造成不必要的混乱,则省略其具体说明。并且,后述的术语作为虑及本发明中的功能而定义的术语,其可能因使用者、运用者的意图或惯例等而不同。因此,要将贯穿整个说明书的内容作为基础而对其进行定义。具体说明中使用的术语仅用于记载本发明的实施例,其绝非限定性术语。除非明确不同地使用,否则单数形态的表述包括复数形态的含义。在说明中,“包括”或“具有”之类的表述用于指代某些特性、数字、步骤、操作、要素及其一部分或者组合,不应解释为将所记载项以外的一个或者其以上的其他特性、数字、步骤、操作、要素及其一部分或组合的存在性或者可存在性予以排除。[0055]图1为根据本发明的一实施例的加密系统的结构图。[0056]参照图1,根据本发明的一实施例的加密系统100包括密钥发行服务器110及用户终端120、130。[0057]密钥发行服务器110例如可以是由可靠的机关或加密服务提供商运营的服务器,能够根据用户终端120、130的密钥生成请求生成用于加密的密钥信息。并且,密钥发行服务器110可以通过安全信道向各用户终端120、130提供所生成的密钥信息。[0058]此时,密钥信息同后文所述可以包括如下的公开参数集合中的至少一种:包含用于生成与各用户终端120、130的用户ID对应的私钥以及用于生成与任意的ID对应的公钥的多个公开参数值。[0059]另外,各用户终端120、130可以是用于从密钥发行服务器110接收密钥信息而执行加密乃至针对数据的电子签名及验证的装置。例如,各用户终端120、130可以是诸如智能电话、个人数据助理PDA、平板手机pablet、台式个人计算机PC、膝上型PC、平板PC、服务器、传感器之类的具有信息处理功能、数据存储功能以及通过无线网络的数据通信功能的多种形态的计算装置。[0060]各用户终端120、130可以向密钥发行服务器110发送用户ID而请求生成密钥。并且,各用户终端120、130可以从密钥发行服务器110接收公开参数集合以及与用户ID对应的私钥。[0061]另外,由密钥发行服务器110向各用户终端120、130发送的私钥可以根据由各用户终端120、130发送的用户ID而具有不同的值。相反,由密钥发行服务器110向各用户终端120、130发送的公开参数集合可以与由各用户终端^0330发送的用户ID无关地相同,因此,各用户终端120、130可以共享同一个公开参数集合。[0062]另外,从密钥发行服务器110接收私钥及公开参数集合的各用户终端120、130可以利用所接收的私钥及公开参数集合而执行加密,或者执行针对数据的电子签名及针对电子签名的数据的验证。[0063]例如,用户终端120可以接收用户终端130的用户ID,并利用公开参数集合而生成与所接收的用户ID对应的公钥。并且,用户终端120可以利用所生成的公钥而对数据进行加密,之后,向用户终端130发送。[0064]此时,用户终端130可以利用从密钥发行服务器110接收的私钥而对从用户终端12〇接收的加密数据解密。[0065]同样地,用户终端130可以接收用户终端120的用户ID,并利用公开参数集合而生成与接收到的用户ID对应的公钥。并且,用户终端130可以利用所生成的公钥而对数据进行加密,之后,向用户终端120发送。[0066]此时,用户终端120可以利用从密钥发行服务器110接收的私钥而对从用户终端130接收的被加密的数据进行解密。[0067]在其他示例中,用户终端120可以利用从密钥发行服务器110接收的密钥而执行针对数据的电子签名,并向用户终端130提供电子签名的数据以及用户终端120的用户ID。[0068]此时,从用户终端120接收电子签名的数据以及用户终端120的用户ID的用户终端130可以利用公开参数集合而生成与接收的用户ID对应的公钥。之后,用户终端130可以利用所生成的公钥而执行针对接收到的电子签名的数据的验证。[0069]相同地,用户终端130可以利用从密钥发行服务器110接收的私钥而执行对数据的电子签名,并向用户终端120提供电子签名的数据以及用户终端130的用户ID。[0070]此时,从用户终端130接收电子签名的数据以及用户终端130的用户ID的用户终端120可以利用公开参数集合而生成与接收到的用户ID对应的公钥。之后,用户终端120可以利用所生成的公钥而执行对接收的电子签名的数据的验证。[0071]图2是根据本发明的一实施例的密钥生成装置的结构图。[0072]参照图2,根据本发明的一实施例的密钥生成装置200包括接收部210、转换部220、私钥生成部230及密钥信息提供部240。[0073]在本发明的一实施例中,密钥生成装置200可以体现为例如图1所图示的密钥发行服务器110的一构成部分。[0074]接收部210从密钥请求装置例如,图1的用户终端12〇、13〇接收包括用户ID的密钥生成请求。[0075]转换部220将从密钥请求装置接收的用户ID转换成任意的位串。[0076]具体而言,根据本发明的一实施例,转换部220可以利用例如哈希函数将从密钥请求装置接收的用户ID转换为己设定大小的任意的位串。然而,转换部220可以利用除了哈希函数之外的能够基于任意的ID生成已设定大小的任意的位串的多种公知方式将从密钥请求装置接收的用户ID转换为任意的位串。[0077]私钥生成部230从包括多个私密参数值的私密参数集合提取与通过转换部220转换后的任意的位串对应的一个以上的私密参数值。并且,私钥生成部230利用提取的私密参数值生成与接收的用户ID对应的私钥。[0078]根据本发明的一实施例,私钥生成部2加可以将通过转换部220转换的任意的位串分成多个块,并从私密参数集合提取与分成的各块对应的多个私密参数值。[0079]具体而言,私钥生成部23〇可以将通过转换部220转换的任意的位串以n位bit为单位分成m个块,并从私密参数集合所包括的多个私密参数值中提取与分成的各块的顺序及各块所包含的n位的位串对应的私密参数值。[0080]此时,私密参数集合可以包括与n位长度的2n个互不相同的位串中的一个位串及m个块中包含所述一个位串的块的顺序对应的2nXm个私密参数值。[0081]图3是示出私密参数集合的一示例的图。[0082]在图3所图示的示例中,私密参数集合包括28X32个私密参数值,且各私密参数值对应于与32个块中的一个块及互不相同的8位长度的位串中的一个位串。[0083]具体而言,S1;1表示与为‘00000000’的位串及第一个块(g卩,1块对应的私密参数值,S256.32表示与为"Llllllir的位串及第三十二个块g卩,32块对应的私密参数值。[0084]另外,图4是用于说明提取私密参数值的一示例的图。[0085]参照图4,转换部220可以利用例如sha-256等哈希函数而将从密钥请求装置接收的ID转换为256位的任意的位串410。[0086]之后,私钥生成部230可以将通过转换部220转换的位串410以8位为单位分成32个块,之后,从私密参数集合所包括的私密参数值中提取与分成的各块对应的参数值。[0087]具体而言,在图4所图示的示例中,由位串410分成的32个块中的第一个块所包括的位串为‘11111110’,从而私钥生成部230可以从私密参数集合430提取与‘1块’及位串‘11111110’对应的私密参数值S255,13[0088]并且,由位串410分成的32个块中的第二个块所包括的位串为‘00000010’,从而私钥生成部23〇可以从私密参数集合430提取与‘2块’及位串‘00000010’对应的私密参数值S3,2〇[0089]通过与此相同的方式,私钥生成部230可以从私密参数集合430提取与由位串410分成的32个块分别对应的私密参数值。[0090]因此,在图4所图示的示例中,通过私钥生成部230提取的私密参数值为{S255,i,,2,Sl,3,*",S3,30,S256,31,S255,32}〇[0091]另外,根据本发明的一实施例,私钥生成部230可以将从私密参数集合中提取的私密参数值相乘或相加而生成与接收的用户ID对应的私钥。[0092]例如,私钥生成部230可以利用下面的数学式1或2,从在图4中图示的示例中提取的私密参数值生成与接收到的用户ID对应的私钥sk。[0093][数学式1][0094]sk=S255,l+S3,2+Sl,3+...+S3,3Q+S256,31+S255,32[0095][数学式2][0096]sk=S255,lXS3,2XSl,3X•••XS3,3〇XS256,3lXS255,32[0097]然而,除了提取到的私密参数值的相乘或相加之外,私钥生成部23〇可以利用如下的多种形态的单向函数F1:易于由提取到的私密参数值生成私钥,然而数学上难于逆向求私密参数值。[0098]再次参照图2,密钥信息提供部240向发送用户ID的密钥请求装置发送通过私钥生成部230生成的私钥。[0099]另外,在上述的示例中,由接收到的ID转换的任意的位串的大小,由转换后的任意的位串分成的块的数量m以及分成的各个块所包括的位串的大小n分别可以考虑到密码学上的安全性与运算量而预设为合适的值。以下,m及n解释为相同的含义。[0100]另外,在一实施例中,图2所图示的接收部210、转换部220、私钥生成部230及密钥信息提供部240可以在包括一个以上的处理器以及与该处理器连接的计算机可读记录介质的一个以上的计算装置上实现。计算机可读记录介质可以位于处理器的内部或者外部,并且可以通过公知的多种手段连接到处理器。计算装置内的处理器可以使各个计算装置照着本说明书中记载的示例性的实施例运行。例如,处理器可以执行计算机可读记录介质中储存的指令,计算机可读记录介质中储存的指令在由处理器执行时,可以使计算装置执行根据本说明书中记载的示例性的实施例的操作。[0101]图5是根据本发明的另一实施例的密钥生成装置的结构图。[0102]参照图5,根据本发明的另一实施例的密钥生成装置500还可以包括私密参数生成部250、私密参数集合生成部260及公开参数集合生成部270。[0103]私密参数生成部250生成多个私密参数值。[0104]此时,在私密参数生成部250生成的私密参数值可以为任意生成的值,且只要能够生成多个任意的值,则用于生成私密参数值的方式就不限定于特定的方式。[0105]另外,私密参数集合所包括的私密参数值的数量可以通过在转换部220转换的任意的位串的长度以及通过私钥生成部230将任意的位串分成块的数决定。[0106]具体而言,若假设在转换部220转换的任意的位串的长度为nXm位,相关任意的位串以n位为单位分成m个块,则私密参数集合所包括的私密参数值的数量可以为2nXm个。[0107]私密参数集合生成部260生成包括在私密参数生成部250生成的私密参数值的私密参数集合。[0108]具体而言,私密参数集合所包括的2nXm个私密参数值可以分别按n位大小的互不相同的2n个位串中的一个位串与m个块中包含所述一个位串的块的顺序进行索引indexing〇[0109]例如,在设定为在转换部220转换的任意的位串的长度为256位,且相关任意的位串以8位为单位分成32个块的情况下,私密参数集合生成部%〇可以如同在图3及图4中示出的示例,生成分别包括按8位大小的互不相同的28个位串中的一个位串以及按32个块中的一个进行索引的28X32个私密参数值的私密参数集合。[0110]公开参数集合生成部270生成包括分别与在私密参数集合生成部260生成的私密参数集合所包括的多个私密参数值对应,且与对应的私密参数值相同地进行索引的多个公开参数值的公开参数集合。[0111]具体而言,根据本发明的一实施例,公开参数集合生成部27〇可以利用私密参数集合所包括的私密参数值的模指数运算modularexponentiation或标量乘法运算scalarmultiplication而生成公开参数值。[0112]例如,公开参数集合生成部270可以利用下面的数学式3或4,生成公开参数值。LUI丨。」L双乎工W」[0114]R=gsmodp_5]麟,婊示公獅雖,s表示私密麵值,p表示健赚,g表示健为p的乘法群的生成源generator。[0116][数学式4][0117]R=s•P[0118]此时,P表示位数为p的加法群的生成源。[0119]、,另外,除了上述的示例以外,公开参数集合生成部27〇可以利用如下的多种形态的单函数F2生成公开参数值:易于从私密参数值生成公开参数值,然而数学上难于逆向求私密参数值。此时,用于生成公开参数值的单向函数F2可以与上述的用于生成私钥的单向函数F1相同或者不同。[0120]图6是示出了与图3所图示的私密参数集合对应的公开参数集合的一示例的示例图。[0121]参照图6,公开参数集合包括与私密参数集合所包含的私密参数值的数量相同的数量的公开参数值。并且,公开参数集合所包括的公开参数值与对应的私密参数值相同地进行索引。[0122]具体而言,在图6所图示的公开参数集合中Rll为从图3所图示的私密参数集合所包含的私密参数值Si,i生成的公开参数值,且与s1;1相同地按位串‘〇〇〇〇〇〇〇〇’与第一块即,‘1块’)被进行索引。[0123]再次参照图5,密钥信息提供部240可以向多个密钥请求装置提供在公开参数集合生成部270生成的公开参数集合。因此,多个密钥请求装置共享同一个的公开参数集合。[0124]另外,在一实施例中,图5所图示的接收部210、转换部220、私钥生成部230、密钥信息提供部240、私密参数生成部250、私密参数集合生成部260及公开参数集合生成部270可以在包括一个以上的处理器以及与该处理器连接的计算机可读记录介质的一个以上的计算装置上实现。计算机可读记录介质可以位于处理器的内部或者外部,并且可以通过公知的多种手段连接到处理器。计算装置内的处理器可以使各个计算装置照着本说明书中记载的示例性的实施例运行。例如,处理器可以执行计算机可读记录介质中储存的指令,计算机可读记录介质中储存的指令在由处理器执行时,可以使计算装置执行根据本说明书中记载的示例性的实施例的操作。[0125]图7是根据本发明的一实施例的加密装置的结构图。[0126]参照图7,根据本发明的一实施例的加密装置700包括:密钥信息获取部710、ID接收部720、转换部730、公钥生成部740、加密部750、ID提供部760、数据接收部770及解密部780〇[0127]在本发明的一实施例中,加密装置700可以体现为如图1所图示的用户终端120、130的一构成部分。[0128]密钥信息获取部710向密钥发行服务器11〇发送包括加密装置700的用户ID的密钥生成请求。并且,密钥信息获取部710从密钥发行服务器110获取公开参数集合以及与加密装置700的用户ID对应的私钥。[0129]此时,由于在上文中已经与密钥生成装置2〇〇、5〇〇相关联地说明了从密钥发行服务器110获取的公开参数集合及私钥,因此省略对此的详细说明。[0130]ID接收部720从共享在密钥发行服务器110中获取的公开参数集合的外部装置中接收外部装置的用户ID。此时,外部装置例如可以是例如图1所图示的用户终端120、130。[0131]转换部730将接收到的外部装置的用户ID转换为任意的位串。[0132]具体而言,转换部73〇可以利用与图2及图5所图示的转换部220相同的方式将接收到的外部装置的用户ID转换为任意的位串。[0133]公钥生成部740从公开参数集合中提取与通过转换部730转换的任意的位串对应的一个以上的公开参数值。并且,公钥生成部740利用提取到的公开参数值生成与外部装置的用户ID对应的公钥。[0134]图8是用于说明提取公开参数值的一示例的图。[0135]参照图8,转换部730可以利用例如sha_256等哈希函数将从外部装置接收的id转换为256位的任意的位串810。[0136]之后,公钥生成部740可以将通过转换部730转换的位串810以8位为单位分成32个块,之后,从公开参数集合中提取与分成的各块对应的参数值。[0137]具体而言,在图不的不例中,分成的块中的第一个块所包括的位串为‘11111110’,因此公钥生成部740可以从公开参数集合830提取与‘1±夬’及位串‘11111110’对应的私密参数值R255,l〇[0138]并且,分成的块中的第二个块所包括的位串为‘00000010’,因此公钥生成部740可以从公开参数集合830中提取与‘2块’及位串‘00000010’对应的私密参数值R3,2。[0139]通过与此相同的方式,公钥生成部740可以从公开参数集合830所包括的公开参数值中提取与由任意的位串810分成的各块对应的公开参数值。[0140]因此,在图8所述的示例中,通过公钥生成部740提取的公开参数值为Ri,3,•••,R3,30,R256,31,R255,32}〇[0141]另外,根据本发明的一实施例,公钥生成部740可以将从公开参数集合提取的公开参数值相乘或相加而生成与外部装置的用户ID对应的公钥。[0142]例如,公钥生成部740可以利用下面的数学式5或6,由从图示于图8的示例中提取的公开参数值生成公钥pk。[0143][数学式5][0*144]pk=R255,1+R3,2+Rl,3+^-+R3,30+R256,31+R255,32[0145][数学式6][0146]pk=R255,lXR3,2XRl,3X…XR3,3〇XR256,3lXR255,32[0147]然而,除了将提取到的私密参数值的相乘或相加之外,公钥生成部740可以利用如下的多种形态的单向函数F3生成密钥:易于从提取的私密参数值生成密钥,然而数学上难于逆向求私密参数值。此时,用于生成公钥的单向函数F3可以与上述用于生成私钥的单向函数F1及用于生成公开参数值的单向函数F2相同或者不同。[0148]加密部750利用在公钥生成部740生成的公钥对将要向外部装置发送的数据进行加密,或者利用在密钥信息获取部710获取的私钥生成针对将要向外部装置发送的数据的电子签名。[0149]例如,加密部750可以选择任意的乱数t,利用下面的数学式7及8生成针对将要向外部装置发送的数据M的密码Cl、C2。[0150][数学式7][0151]Cl=gtmodp[0152][数学式S][0153]02=?^^pX0RM[0154]另外,由于在加密部750执行的加密乃至电子签名生成方式并不一定限定于上述的示例,因此,除了上述的示例以外,可以利用公知的多种方式的公钥加密或电子签名方式。[0155]ID提供部760向外部装置提供加密装置700的用户ID。[0156]数据接收部770从外部装置接收利用与加密装置700的用户ID对应的公钥而进行加密的数据以及利用外部装置的私钥进行电子签名的数据。[0157]具体而言,接收加密装置700的用户ID的外部装置可以利用与加密装置700共享的公开参数集合而通过与上述方式相同的方式生成与加密装置7〇〇的用户ID对应的公钥,且可以利用生成的公钥对数据进行加密,之后,向加密装置700发送。[0158]当从外部装置接收加密的数据时,解密部780利用通过密钥信息获取部710获取的私钥而对加密的数据进行解密。[0159]例如,在从外部装置接收加密的数据分别通过利用与上述的数学式7及8相同的方式生成的密码C3、C4构成的情况下,解密部780可以利用通过密钥信息获取部710获取的私钥sk,如下面的数学式9对加密的数据进行解密。[0160][数学式9][0161]M=C3skmodpXORC4[0162]另外,当从外部装置接收利用外部装置的私钥进行电子签名的数据时,解密部780可以利用在公钥生成部740生成的与外部装置的用户ID对应的公钥而执行针对电子签名的验证。[0163]另外,在一实施例中,图7图示的密钥信息获取部710、ID接收部720、转换部730、公钥生成部740、加密部750、ID提供部760、数据接收部770及解密部780可以在包括一个以上的处理器以及与该处理器连接的计算机可读记录介质的一个以上的计算装置上实现。计算机可读记录介质可以位于处理器的内部或者外部,并且可以通过公知的多种手段连接到处理器。计算装置内的处理器可以使各个计算装置照着本说明书中记载的示例性的实施例运行。例如,处理器可以执行计算机可读记录介质中储存的指令,计算机可读记录介质中储存的指令在由处理器执行时,可以使计算装置执行根据本说明书中记载的示例性的实施例的操作。[0164]图9是示出根据本发明的一实施例的生成私钥的过程的流程图。[0165]图9所图示的方法可以通过例如图2所图示的密钥生成装置200执行。[0166]参照图9,密钥生成装置200首先从密钥请求装置接收包括密钥请求装置的用户ID的密钥生成请求910。[0167]然后,密钥生成装置200将接收的用户ID转换为任意的位串(920。[0168]然后,密钥生成装置200从私密参数集合所包括的多个私密参数值中提取与转换后的任意的位串对应的一个以上的私密参数值930。[0169]此时,根据本发明的一实施例,密钥生成装置200可以将转换后的任意的位串分成多个块,并在私密参数集合所包括的多个私密参数值中提取与分成的各块对应的多个私密参数值。[0170]然后,密钥生成装置200利用提取到的私密参数值生成与接收到的用户ID对应的私钥940。[0171]此时,根据本发明的一实施例,密钥生成装置200可以利用单向函数F1而从提取到的多个私密参数值生成与接收到的ID对应的私钥。[0172]然后,密钥生成装置200向密钥请求装置提供所生成的私钥950。[0173]图10是示出根据本发明的一实施例的生成私密参数集合及公开参数集合的过程的流程图。[0174]图10所图示的方法例如可以通过图5所图示的密钥生成装置500执行。[0175]参照图10,密钥生成装置500首先生成多个私密参数值1010。[0176]然后,密钥生成装置5〇〇生成包括所生成的私密参数值的私密参数集合1020。[0177]此时,根据本发明的一实施例,私密参数集合所包括的私密参数值可以分别按n位大小的互不相同的2"个位串中的一个位串与m个块中的包含所述一个位串的块的顺序进行索引。[0178]然后,密钥生成装置500生成分别与私密参数集合所包括的多个私密参数值对应的多个公开参数值1〇3〇。[0179]此时,根据本发明的一实施例,密钥生成装置5〇0可以利用单向函数F2生成与私密参数集合所包括的各私密参数值对应的公开参数值。[0180]然后,密钥生成装置500生成包括所生成的多个公开参数值的公开参数集合1040〇[0181]此时,根据本发明的一实施例,公开参数集合所包括的各公开参数值可以与对应的私密参数值进行相同地进行索引。即,公开参数集合所包括的各公开参数值可以按与私密参数集合所包括的私密参数值中的对应的私密参数值相同的位串及块的顺序进行索引。[0182]然后,密钥生成装置500向多个密钥请求装置发送所生成的公开参数集合1050。[0183]图11是示出根据本发明的一实施例的加密过程的流程图。[0184]图11所图示的方法可以通过例如图7所图示的加密装置700执行。[0185]参照图11,加密装置700首先从密钥发行服务器110获取包括多个公开参数值的公开参数集合1110。[0186]然后,加密装置700从与获取到的公开参数集合共享同一个公开参数集合的外部装置接收外部装置的用户ID1120。[0187]然后,加密装置7〇0将接收到的用户ID转换为任意的位串(1130。[0188]然后,加密装置700从公开参数集合所包括的多个公开参数值中提取与任意的位串对应的一个以上的公开参数值1140。[0189]此时,根据本发明的一实施例,加密装置700可以将转换后的任意的位串分成多个块,并在公开参数集合所包括的多个公开参数值中提取与分成的各块对应的多个公开参数值。^[0190]然后,加密装置7〇0利用提取的公开参数值生成与接收到的用户11}对应的公钥1150〇[0191]此时,根据本发明的一实施例,加密装置7〇〇可以利用单向函数F3,从提取到的多个公开参数值生成与接收到的ID对应的公钥。一[0192]然后,加密装置700利用所生成的公钥对将要向外部装置发送的数据进行加密1160。[0193]图12是示出根据本发明的一实施例的解密过程的流程图。一[0194]图12所图示的方法可以通过例如图7所图示的加密装置7〇〇执行。[0195]参照图12,加密装置700首先向密钥发行服务器11〇发送包括加密装置800的用户ID的密钥生成请求1210。、[0196]然后,加密装置700从密钥发行服务器11〇获取与加密装置800的用户ID对应的私钥(1220〇[0197]然后,加密装置700向共享公开参数集合的外部装置提供加密装置700的用户ID1230。[0198]然后,加密装置700从外部装置接收利用与加密装置7〇〇的用户ID对应的公钥而加密的数据1240。_[0199]然后,加密装置800利用获取到的私钥对接收到的加密的数据进行解密丨25〇。[0200]图13是示出根据本发明的一实施例的生成电子签名的过程的流程图。[0201]图13所图示的方法可以通过例如图7所图示的加密装置700执行。[0202]参照图13,加密装置700首先向密钥发行服务器110发送包括加密装置700的用户ID的密钥生成请求(1310。[0203]然后,加密装置700从密钥发行服务器110获取与加密装置700的用户ID对应的私钥(1320。[0204]然后,加密装置700利用获取的私钥生成针对于将向共享公开参数集合的外部装置发送的数据的电子签名(丨33〇。[0205]图14是示出根据本发明的一实施例的对电子签名的数据的验证过程的流程图。[0206]图14所图示的方法可以通过例如图7所图示的加密装置700执行。[0207]参照图14,加密装置700首先从密钥发行服务器110获取包括多个公开参数值的公开参数集合1410。[0208]然后,加密装置7〇〇从共享公开参数集合的外部装置接收外部装置的用户ID以及利用与相关用户ID对应的私钥而进行电子签名的数据(1420。[0209]然后,加密装置700将接收到的用户ID转换为任意的位串(1430。[0210]然后,加密装置7〇〇从公开参数集合所包括的多个公开参数值中提取与任意的位串对应的一个以上的公开参数值1440。[0211]此时,根据本发明的一实施例,加密装置7〇〇可以将转换后的任意的位串分成多个块,并在公开参数集合所包括的多个公开参数值中提取与分成的各块对应的多个公开参数值。[0212]然后,加密装置700利用提取到的公开参数值生成与外部装置的用户10对应的公钥(1450。[0213]此时,根据本发明的一实施例,加密装置700可以利用单向函数F3,从提取到的多个公开参数值生成与接收到的ID对应的公钥。[0214]然后,加密装置700利用所生成的公钥执行针对电子签名的验证1460。[0215]另外,在如图9至图14所图示的流程图中将所述方法分成了多个步骤而进行了记载,然而还可以由如下的方式来执行:交换至少一部分步骤而执行;与其他步骤结合而一起执行;省略或分为细分化的步骤而执行;或者附加未图示的一个以上的步骤而执行。[0216]另外,本发明的一实施例可以包括计算机可读记录介质,其包括用于在计算机上执行本说明书中记载的方法的程序。所述计算机可读记录介质可以单独地或者组合地包括程序命令、本地数据文件、本地数据结构等。所述介质可以是为本发明而特别地设计并构成的介质,或者可以是在计算机软件领域中通常被使用的介质。计算机可读记录介质的示例包括:磁介质,如硬盘、软盘以及磁带等;光记录介质,如⑶-R〇M、DVD等;磁-光介质,如软盘等;以及ROM、RAM、闪存等为了储存并执行程序命令而特别构成的硬件装置。作为程序命令的示例,不仅包括如利用编译器制作的计算机语言代码,还可以包括可利用解释器等而由计算机执行的高级语言代码。[0217]以上,对本发明的具有代表性的实施例进行了详细的说明,然而在本发明所属的技术领域中具有基本知识的人员可以理解上述的实施例可在不脱离本发明的范围的限度内实现多种变形。因此,本发明的权利范围不应局限于上述的实施例,本发明的权利范围需要根据权利要求书的范围以及与该权利要求书均等的范围来确定。

权利要求:1.一种密钥生成装置,其中,包括:接收部,从密钥请求装置接收包括ID的密钥生成请求;转换部,将所述ID转换为任意的位串;以及私钥生成部,从包括多个私密参数值的私密参数集合提取与所述转换后的任意的位串对应的一个以上的私密参数值,并利用提取到的所述一个以上的私密参数值生成与所述ID对应的私钥。2.如权利要求1所述的密钥生成装置,其中,所述私钥生成部将所述转换后的任意的位串分成多个块,并从所述私密参数集合提取与所述分成的多个块分别对应的多个私密参数值。3.如权利要求2所述的密钥生成装置,其中,所述私密参数集合包括分别与n位长度的互不相同的2"个位串中的一个位串及包括所述一个位串的块的顺序对应的多个私密参数值,所述私钥生成部将所述转换后的任意的位串以n位为单位分成多个块,并从所述私密参数集合提取与所述分成的各块的顺序及所述分成的各块所包括的位串对应的私密参数值。4.如权利要求1所述的密钥生成装置,其中,所述私钥生成部利用单向函数从所述提取的私密参数值生成与所述ID对应的私钥。5.—种密钥生成方法,包括如下步骤:从密钥请求装置接收包括ID的密钥生成请求;将所述ID转换为任意的位串;从包括多个私密参数值的私密参数集合提取与所述转换后的任意的位串对应的一个以上的私密参数值;利用所述提取到的一个以上的私密参数值生成与所述ID对应的私钥。6.如权利要求5所述的密钥生成方法,其中,在所述提取的步骤中,将所述转换后的任意的位串分成多个块,并从所述私密参数集合提取与所述分成的多个块分别对应的多个私密参数值。7.如权利要求6所述的密钥生成方法,其中,所述私密参数集合包括分别与n位长度的互不相同的2n个位串中的一个位串及包括所述一个位串的块的顺序对应的多个私密参数值,在所述提取的步骤中,将所述转换后的任意的位串以n位为单位分成多个块,并从所述私密参数集合提取与所述分成的各块的顺序及所述分成的各块所包括的位串对应的私密参数值。8.如权利要求5所述的密钥生成方法,其中,所述生成私钥的步骤,利用单向函数从所述提取的私密参数值生成与所述ID对应的私钥。9.一种加密装置,其中,包括:密钥信息获取部,从密钥发行服务器获取包括多个公开参数值的公开参数集合及与加密装置的用户ID对应的私钥;ID接收部,从共享所述公开参数集合的外部装置接收所述外部装置的用户113,转换部,将所述外部装置的用户ID转换为任意的位串;公钥生成部,从所述公开参数集合中提取与所述转换后的任意的位串对应的一个以上的公开参数值,并利用所述提取的公开参数值生成与所述外部装置的用户ID对应的公钥;以及加密部,利用所述公钥对将要向所述外部装置发送的数据进行加密,或者利用所述私钥执行针对所述将要发送的数据的电子签名。10.如权利要求9所述的加密装置,其中,所述公钥生成部,将所述转换后的任意的位串分成多个块,并从所述公开参数集合提取与所述分成的多个块分别对应的多个公开参数值。11.如权利要求10所述的加密装置,其中,所述公开参数集合包括分别与n位长度的互不相同的2"个位串中的一个位串及包括所述一个位串的块的顺序对应的多个公开参数值,所述公钥生成部将所述转换后的任意的位串以n位为单位分成多个块,并从所述公开参数集合提取与所述分成的各块的顺序及所述分成的各块所包括的位串对应的公开参数值。12.如权利要求9所述的加密装置,其中,所述公钥生成部利用单向函数从所述提取的公开参数值生成与所述ID对应的公钥。13.如权利要求9所述的加密装置,其中,还包括:ID提供部,向所述外部装置提供所述加密装置的用户ID;数据接收部,从所述外部装置接收利用与所述加密装置的用户ID对应的公钥而加密的数据及利用与所述外部装置的用户ID对应的私钥电子签名的数据;以及解密部,利用与所述加密装置的用户ID对应的私钥对所述加密的数据进行解密,或者利用与所述外部装置的用户ID对应的公钥执行针对所述电子签名的数据的验证。14.一种加密方法,通过加密装置执行,包括如下步骤:从密钥发行服务器获取包括多个公开参数值的公开参数集合及与所述加密装置的用户ID对应的私钥;从共享所述公开参数集合的外部装置接收所述外部装置的用户ID;将所述外部装置的用户ID转换为任意的位串;从所述公开参数集合中提取与所述转换后的任意的位串对应的一个以上的公开参数值;利用所述提取的公开参数值生成与所述外部装置的用户ID对应的公钥;以及利用所述公钥对将要向所述外部装置发送的数据进行加密,或者利用所述私钥执行对所述将要发送的数据的电子签名。15.如权利要求14所述的加密方法,其中,在所述生成公钥的步骤中,将所述转换后的任意的位串分成多个块,并从所述公开参数集合提取与所述分成的多个块分别对应的多个公开参数值。16.如权利要求15所述的加密方法,其中,所述公开参数集合包括分别与n位长度的互不相同的2"个位串中的一个位串及包括所述一个位串的块的顺序对应的多个公开参数值,在所述生成公钥的步骤中,将所述转换后的任意的位串以n位为单位分成多个块,并从所述公开参数集合提取与所述分成的各块的顺序及所述分成的各块所包括的位串对应的公开参数值。17.如权利要求14所述的加密方法,其中,在所述生成公钥的步骤中,利用单向函数从所述提取的公开参数值生成与所述ID对应的公钥。18.如权利要求14所述的加密方法,其中,还包括如下步骤:向所述外部装置提供所述加密装置的用户ID;从所述外部装置接收利用与所述加密装置的用户ID对应的公钥而加密的数据及利用与所述外部装置的用户1D对应的私钥电子签名的数据;以及利用与所述加密装置的用户ID对应的私钥对所述加密的数据进行解密,或者利用与所述外部装置的用户1D对应的公钥执行针对所述电子签名的数据的验证。

百度查询: 三星SDS株式会社 密钥生成装置及方法、加密装置及方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。