非减序列判定装置、非减序列判定方法以及程序与流程

文档序号:12513455阅读:来源:国知局

技术特征:

1.一种非减序列判定装置,其中,包含:

整列部,将m个集合P0,……,Pm-1作为输入,关于i=0,……,m-1,生成将集合Pi的元素按升序排列的矢量ti,i+1和矢量bi,i+1

合并部,重复进行将满足0≤i<j<k≤m的矢量(ti,j,bi,j)和矢量(tj,k,bj,k)合并而生成矢量(ti,k,bi,k),从而生成将矢量t0,1,……,tm-1,m合并后的矢量t0,m、和将矢量b0,1,……,bm-1,m合并后的矢量b0,m;以及

判定部,输出若矢量t0,m的长度为0则示出不存在非减序列,若矢量t0,m的长度为1以上则示出存在非减序列的判定结果,

上述合并部包含:

稳定排序部,生成将矢量bi,j和矢量tj,k连结并按升序稳定排序的矢量e;

搜索部,从矢量e搜索e[λ]为bi,j[x]且e[λ+1]为tj,k[y]的(λ,x,y)的全部组,生成包含全部被发现的x的集合X、和包含全部被发现的y的集合Y;以及

提取部,生成将矢量ti,j的元素ti,j[x](x∈X)按升序排列的矢量ti,k、和将矢量bj,k的元素bj,k[y](y∈Y)按升序排列的矢量bi,k

2.一种非减序列判定装置,其中,

将(0,1)n设为重复了0和1的长度2n的矢量,¬·表示·的否定,

该非减序列判定装置包含:

整列部,将m个集合P0,……,Pm-1作为输入,关于i=0,……,m-1,生成将集合Pi的元素按升序排列的矢量ti,i+1和矢量bi,i+1

保密化部,设为集合P0,……,PM-1的各元素为0以上且小于n,关于k=0,……,n-1,λ=0,……,m-1,生成对矢量t'i,i+1进行了保密化的密文〔t'i,i+1〕、和对矢量b'i,i+1进行了保密化的密文〔b'i,i+1〕,该矢量t'i,i+1若存在满足ti,i+1[λ]=k的λ则设定t'i,i+1[k]=1,除此以外设定了t'i,i+1[k]=0,该矢量b'i,i+1若存在满足bi,i+1[λ]=k的λ则设定b'i,i+1[k]=1,除此以外设定了b'i,i+1[k]=0;

合并部,通过重复进行将满足0≤i<j<k≤m的保密文(〔t'i,j〕,〔b'i,j〕)和(〔t'j,k〕,〔b'j,k〕)合并而生成保密文(〔t'i,k〕,〔b'i,k〕),从而生成将保密文〔t'0,1〕,……,〔t'm-1,m〕合并后的保密文〔t'0,m〕、和将保密文〔b'0,1〕,……,〔b'm-1,m〕合并后的保密文〔b'0,m〕;以及

判定部,使用保密文〔t'0,m〕,计算〔t'0,m[0]〕∨〔t'0,m[1]〕∨……∨〔t'0,m[m-1]〕,将其计算结果作为判定结果而输出,

上述合并部包含:

第一稳定排序部,将保密文〔b'i,j〕和〔t'j,k〕的各元素交替排列而生成保密文〔a〕,生成将¬〔a〕作为密钥而对保密文(〔(0,1)n〕,〔a〕,〔(0,……,2n-1)〕)进行稳定排序后的保密文(〔f'〕,〔a'〕,〔p〕);

第一密钥公开排序部,关于h=0,……,n-1,计算〔a[h]〕×(¬〔f'[h]〕×〔f'[h+1]〕+〔f'[h]〕׬〔f'[h-1]〕)而生成保密文〔m〕,生成将保密文〔p〕作为密钥而对保密文〔m〕进行密钥公开排序后的保密文〔m'〕;

第二稳定排序部,将保密文〔m〕的各元素交替分解而生成保密文〔m0〕、〔m1〕,生成将¬〔t'i,j〕作为密钥而对(〔t'i,j〕,〔(0,……,n-1)〕)进行稳定排序后的保密文(〔t"0〕,〔p0〕)、将¬〔b'i,j〕作为密钥而对保密文〔m0〕进行稳定排序后的保密文〔m"0〕、将¬〔b'j,k〕作为密钥而对(〔b'j,k〕,〔(0,……,n-1)〕)进行稳定排序后的保密文(〔b"1〕,〔p1〕)、将¬〔t'j,k〕作为密钥而对保密文〔m1〕进行稳定排序后的保密文〔m"1〕;以及

第二密钥公开排序部,生成保密文〔t"0〕与保密文〔m"0〕的积即保密文〔t"〕、和保密文〔b"1〕与保密文〔m"1〕的积即保密文〔b"〕,生成将保密文〔p0〕作为密钥而对保密文〔t"〕进行密钥公开排序后的保密文〔t'i,k〕、和将保密文〔p1〕作为密钥而对保密文〔b"〕进行密钥公开排序后的保密文〔b'i,k〕。

3.如权利要求1或2所述的非减序列判定装置,其中,

上述合并部选择满足以下式的i,j,k,

【数22】

4.一种非减序列判定方法,其中,包含:

整列步骤,整列部将m个集合P0,……,Pm-1作为输入,关于i=0,……,m-1,生成将集合Pi的元素按升序排列的矢量ti,i+1和矢量bi,i+1

合并步骤,合并部重复进行将满足0≤i<j<k≤m的矢量(ti,j,bi,j)和矢量(tj,k,bj,k)合并而生成矢量(ti,k,bi,k),从而生成将矢量t0,1,……,tm-1,m合并后的矢量t0,m、和将矢量b0,1,……,bm-1,m合并后的矢量b0,m;以及

判定步骤,判定部输出若矢量t0,m的长度为0则表示不存在非减序列,若矢量t0,m的长度为1以上则表示存在非减序列的判定结果,

上述合并步骤包含:

稳定排序步骤,稳定排序部生成将矢量bi,j和矢量tj,k连结并按升序稳定排序后的矢量e;

搜索步骤,搜索部从矢量e搜索e[λ]为bi,j[x]且e[λ+1]为tj,k[y]的(λ,x,y)的全部组,生成包含全部被发现的x的集合X、和包含全部被发现的y的集合Y;以及

提取步骤,提取部生成将矢量ti,j的元素ti,j[x](x∈X)按升序排列的矢量ti,k、和将矢量bj,k的元素bj,k[y](y∈Y)按升序排列的矢量bi,k

5.一种非减序列判定方法,其中,

将(0,1)n设为重复了0和1的长度2n的矢量,¬·表示·的否定,

该非减序列判定方法包含:

整列步骤,整列部将m个集合P0,……,Pm-1作为输入,关于i=0,……,m-1,生成将集合Pi的元素按升序排列的矢量ti,i+1和矢量bi,i+1

保密化步骤,保密化部设为集合P0,……,PM-1的各元素为0以上且小于n,关于k=0,……,n-1,λ=0,……,m-1,生成对矢量t'i,i+1进行了保密化的密文〔t'i,i+1〕、和对矢量b'i,i+1进行了保密化的密文〔b'i,i+1〕,该矢量t'i,i+1若存在满足ti,i+1[λ]=k的λ则设定t'i,i+1[k]=1,除此以外设定了t'i,i+1[k]=0,该矢量b'i,i+1若存在满足bi,i+1[λ]=k的λ则设定b'i,i+1[k]=1,除此以外设定了b'i,i+1[k]=0;

合并步骤,合并部重复进行将满足0≤i<j<k≤m的保密文(〔t'i,j〕,〔b'i,j〕)和(〔t'j,k〕,〔b'j,k〕)合并而生成保密文(〔t'i,k〕,〔b'i,k〕),从而生成将保密文〔t'0,1〕,……,〔t'm-1,m〕合并后的保密文〔t'0,m〕、和将保密文〔b'0,1〕,……,〔b'm-1,m〕合并后的保密文〔b'0,m〕;以及

判定步骤,判定部使用保密文〔t'0,m〕,计算〔t'0,m[0]〕∨〔t'0,m[1]〕∨……∨〔t'0,m[m-1]〕,将该计算结果作为判定结果而输出,

上述合并步骤包含:

第一稳定排序步骤,第一稳定排序部将保密文〔b'i,j〕和〔t'j,k〕的各元素交替排列而生成保密文〔a〕,生成将¬〔a〕作为密钥而对保密文(〔(0,1)n〕,〔a〕,〔(0,……,2n-1)〕)进行稳定排序后的保密文(〔f'〕,〔a'〕,〔p〕);

第一密钥公开排序步骤,第一密钥公开排序部关于h=0,……,n-1,计算〔a[h]〕×(¬〔f'[h]〕×〔f'[h+1]〕+〔f'[h]〕׬〔f'[h-1]〕)而生成保密文〔m〕,生成将保密文〔p〕作为密钥而对保密文〔m〕进行密钥公开排序后的保密文〔m'〕;

第二稳定排序步骤,第二稳定排序部将保密文〔m〕的各元素交替分解而生成保密文〔m0〕、〔m1〕,生成将¬〔t'i,j〕作为密钥而对(〔t'i,j〕,〔(0,……,n-1)〕)进行稳定排序后的保密文(〔t"0〕,〔p0〕)、将¬〔b'i,j〕作为密钥而对保密文〔m0〕进行稳定排序后的保密文〔m"0〕、将¬〔b'j,k〕作为密钥而对(〔b'j,k〕,〔(0,……,n-1)〕)进行稳定排序后的保密文(〔b"1〕,〔p1〕)、将¬〔t'j,k〕作为密钥而对保密文〔m1〕进行稳定排序后的保密文〔m"1〕;以及

第二密钥公开排序步骤,第二密钥公开排序部生成保密文〔t"0〕与保密文〔m"0〕的积即保密文〔t"〕、和保密文〔b"1〕与保密文〔m"1〕的积即保密文〔b"〕,生成将保密文〔p0〕作为密钥而对保密文〔t"〕进行密钥公开排序后的保密文〔t'i,k〕、和将保密文〔p1〕作为密钥而对保密文〔b"〕进行密钥公开排序后的保密文〔b'i,k〕。

6.如权利要求4或5所述的非减序列判定方法,其中,

上述合并步骤选择满足以下式的i,j,k,

【数23】

7.一种程序,用于使计算机作为权利要求1至3的任一项所述的非减序列判定装置而发挥作用。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1