从扩展图构造散列函数的制作方法

文档序号:6569508阅读:341来源:国知局
专利名称:从扩展图构造散列函数的制作方法
从扩展图构造散列函数
背學
散列函数构造在许多算法和密码协议中使用。它们是将其像"均匀"分布
的函数/'u + s,其中iu^isi。换言之,对于大多数
K",ltve"l/W〃)l接近于l^。
使冲突对(colliding pair),即使得/(力=/6^的对(&力的数量最小化的散 列函数是非常有用的。对于散列函数的密码学应用,通常希望工程设计冲突的 问题是困难的。这意味着找到使得/w =/^的不同元素^和;;的任务在计算上 是困难的。通常,对于以下较弱的性质是感兴趣的给定x,找到另一》使得 /^=/6^是困难的。
概述
提供本概述以便用简化的形式介绍将在以下详细描述中进一步描述的一 些概念。本概述并不旨在确定所要求保护的主题的关键特征或必要特征,也不 旨在用于帮助确定所要求保护的主题的范围。
鉴于上述内容,描述了从扩展图(expander graph)构造散列函数。在一 方面,走査作为散列函数的输入的扩展图。使用输入消息的相应子集来走査该 扩展图。散列函数的输出是所走查的最后一个顶点的标签。
附图简述
在附图中,组件参考标号最左边的数字标识该组件首次出现的特定图。

图1示出了根据一个实施例的用于从扩展图构造散列函数的示例性系统。 图2示出了根据一个实施例的用于从扩展图构造散列函数的示例性过程。 图3示出了根据一个实施例的用于从扩展图构造散列函数的示例性过程。 图4示出了其中可全部或部分地实现从扩展图的散列函数构造的合适的 计算环境的一个示例。详细描述 综述
以下参考图1到4描述用于从扩展图构造散列函数的系统(例如,系统、 装置、计算机可读介质等)和方法。散列函数通过在特定扩展图上走查来构造。 对一扩展图的随机走查非常快速地混合,因此散列函数输出在输入消息是均匀 地随机的时候一般是均匀的。在一个实现中,该系统和方法使用提取器
(extractor)结合扩展图来产生散列函数。在此实现中,输入消息对最小熵 (min-entropy)具有特定下限。例如,用密码签署一消息(通过散列来完成)
是在向该消息添加"随机填充(random pad)"之后完成的。(该过程将熵注
入到签名中)。假设输入消息具有某一少量的熵,则利用提取器来提取该随机
性然后根据提取器的输出执行走查。
现在更详细描述用于从扩展图构造散列函数的系统列和方法的这些和其
它方面。
示例性系统
尽管并非必需,但是用于从扩展图构造散列函数的系统和方法将在由诸如 个人计算机等计算设备执行的计算机可执行指令(程序模块)的一般上下文中 描述。程序模块一般包括执行特定的任务或实现特定的抽象数据类型的例程、 程序、对象、组件、数据结构等等。尽管该系统和方法是在上述上下文中描述 的,但是以下所描述的动作和操作也可以用硬件来实现。
图1示出了根据一个实施例的用于从扩展图构造散列函数的示例性系统 100。系统100包括计算设备102,它包括耦合到系统存储器106的一个或多个 处理单元104。处理器104从程序模块108中取出并执行计算机程序指令,并 从系统存储器106存取程序数据110部分。程序模块108包括,例如扩展图散 列函数构造模块("EGHF构造模块")112和其它程序模块114。其它程序 模块114包括,例如操作系统和利用由模块112生成的基于扩展图的散列函数 构造116的一个或多个应用程序。存在对其可用这一散列函数构造116的许多 应用程序。例如,这一构造可用于实现密码术、散列表、纠错、音频标识、Rabin-Karp串搜索算法等的一个或多个应用程序。
EGHF构造模块112从输入消息118和"个顶点的扩展图120生成散列函 数构造116。扩展图118是具有高顶点或边扩展,或者换言之是高度连接的稀 疏图。在一个实现中,扩展图118是Ramanujan图。在一个实现中,输入消息 118具有一随机性程度(或熵)。
例如,在一个实现中,扩展图120如下确定。设p是质数,并设£ (^p)
是另一质数。扩展图G(p, f)具有V作为其顶点集,V是有限域Fq上的超奇异
(supersingular) j不变式(j-invariant) , q=p2。如果在其j不变式是j!和j2的 超奇异椭圆曲线之间有次数为£的同源,则在顶点j,和J2之间有一条边。图 G(p,《)被称为是£+1正则Ramanujan图。G(p, £)的顶点数是四元数代数B^的 类数,这大约是p/12。 G(p, £)是扩展图120。
在另一实现中,扩展图120是Lubotzky-Phillips-Sarnak扩展图,如在以下 "替换实施例"一节中所描述的。
为了生成散列函数构造116,扩展图散列函数构造模块112标识消息118。 在一个实现中消息具有熵次数。EG HF构造模块112向构成扩展图120的"个 顶点中的每一顶点分配相应的名称或标签。当输入消息具有与其相关联的熵次 数时,EGHF构造模块112用一提取器函数来提取(确定)随机性程度。从这 一消息中提取随机性的示例性的这样的提取函数和技术在以下题为"从输入中 提取随机性"一节中更详细描述。
鉴于标识要随机地走查(访问)的扩展图120的顶点的可配置顶点边约定, 构造模块112基于所提取的熵次数(当存在时)或其它客观准则(以下描述) 来标识输入消息118的k长度比特段。走査扩展图120的示例性操作在以下题 为"示例性过程" 一节中更详细描述。与所走査的顶点中的最后一个顶点相关 联的相应名称/标签表示散列函数构造114的输出。
从输入中提取随机性
最小熵设X是在{0, l}n中取值的随机变量。X的最小熵被定义为以下量
分布接近度(closeness):设X和Y是{0, l"上的两个分布。如果<formula>formula see original document page 8</formula>
则它们被认为是e接近(e-close)的(£是实数)。
提取器如果对最小熵(O,ir上的任何随机变量X,至少k和W ({0, l}d 上的均匀分布),分布AW(X,"J对Um是e接近的,则函数
£w:{0,l}"x{0,l}rf—{0,1}"被称为(^)提取器((&e)-extractor)。
定理如果ficW0,irx(0,ir"M0,ir"是(^)提取器,则对于随机种子
ex e {0,l}rf的大多数选择,分布E:"(Z,t/》对Um是e接近的。
证明分布五;"(X,^)可被描述为在由cre(0,ir索引的分布的簇;^中均匀
地随机选择一分布,其中o"^0,ir由X,-E对(y,c7)定义。五W是提取器的事实
意味着这些分布中的许多都对Um是e接近的(证明结束)。
如果"至少是log、并且附=^—",其中a是任意实数,则多项式时间提取 器的构造对于任何*>^ (/<1)和£>0都是已知的。
散列函数的构造
表示对散列函数构造116的输入的随机变量M (即,输入消息118)具有 至少为k)g^"的最小熵,其中"是G(p,f)的顶点数,且々>0。设{0,1"是输入
空间。为确定M的熵次数122,构造模块112实现提取器函数五;^,并用参数 A = log1""来修正函数£w: {0,1}W x{0,l}rf — {0,l}m , e非常小并且w = 0(log1+a ")。
出于示例性说明的目的,这些参数被示为"其它数据"124的相应部分。系统 100假定^ = ^(1).。构造模块112从{0, l"中均匀地随机选取"。给定输入 xe{0,l}w,构造模块112计算c7-^(;c,")(即,熵次数122)。该构造的结果
是大小为w的串。构造模块112从某一固定顶点vo开始沿着由w给出的方向 对m执行走査,并且散列函数116的输出是走查中的最终顶点的标签。
对于其节点是超奇异椭圆曲线对质数p的模,并且边是椭圆曲线之间次数 为f的同源的扩展图,可如下在围绕该图执行走査步骤
在对应于椭圆曲线E的节点处开始,首先找出的f扭矩的生成元户和
g。为此
1. 设"为使得^(E[f])s々。
2. 设5=6£(^);五上的有理点;的个数(原始)。3. 设s-S/",其中产是整除S的《的最大幂(注意*^2)。
4. 从£[。中随机地选取两个点尸和2:
(a) 从A(々)中随机地选取两个点U、 V。
(b) 设尸'"f/且Q'-W,如果尸'或2'等于(9,则重复步骤(i)。
(c) 找出最小的,;,/2 ,使得f'尸VO且^2^0,但是,+1尸'=6>且
f 2"g' = O 。
5. 使用公知的Shank的小步一大步(Baby-steps-Giant-steps)算法,确定Q
是否属于由P生成的群。如果是,则重复步骤(d)。 《+ l条椭圆曲线上的々中与五同源的j不变式是乂,…,力w。为找到它们
(a) 对于W",设Gi-〈Q〉且Gw"P + (i-i;TQ〉。
(b) 对于每一/, 1&、"1,使用Vdu公式计算椭圆曲线五/G的j不变 式。
如果使用例如具有2同源的超奇异椭圆曲线的图,则可用以下显式方式进 行随机走査在每一步,在找到E的三个非平凡2扭矩点之后,按照其x坐标 以预先指定的方式对它们进行排序。然后,对散列函数使用输入比特来确定要 选择哪一点来对椭圆曲线求商以到达走查中的下一节点。
散列函数几乎是均匀的证明
按照定理,由扩展图散列函数构造模块112实现的提取器函数的输出接近 均匀,并且在扩展图120上进行的走查非常接近随机走査。(走査是随机的仅
仅意味着在图上的某一顶点v处,在下一步在其任一相邻点处的可能性是相等 的。)现在,由于图G(p,C)具有"个顶点,并且m:Q(log"""),因此走査迅速
混合并且输出顶点非常接近均匀。接着,使得以上陈述更精确。在w个顶点的 c/正则图G (例如)上的O(logn)步的随机走査迅速混合的一种表述方式是<formula>formula see original document page 9</formula>
其中s很小,^是G的邻接矩阵,v可被取作为任一标准单位向量,T是向量(l, 1, ..., 1)。矩阵可被认为是图120上的均匀随机Markov链的转移矩阵。在此实现中,系统100 在图120上实现几乎随机的走査。这可被认为是使用矩阵B作为转移矩阵,使

丄M
并且S是很小的实数(其中符号l l表示矩阵模)。换言之,构造模块112将随
机走査摄动一较小的量。以下定理示出该新的随机走查在S可取得足够小的时 候快速混合。
定理设^和万是两个子随机矩阵,贝1」|^-^卜44-4。 证明可将差^-54写为
0轰-1
对两边取模并使用M卜M卜i的事实(因为它们是子随机矩阵),得到结 果。(证明结束)。
由于所进行的随机走查的长度是O(log n)。如果可将参数5安排如下 、1og "
则所得的近似随机走查也将快速混合。这可通过将提取器的参数s设为等于以
下来安排 (9
1
log w
抗冲突
在这一散列函数116下明确地找到冲突等效于找到相同C次方的一对超奇 异椭圆曲线之间的两个同源。如果图G(p,f)没有小环,则这一问题是非常困难 的,因为在曲线之间构造高次同源公知地是计算上的难题。
替换实施例
作为对上述使用图G(p, 的 一 种替换,系统100利用了 Lubotzky-Phillips-Sarnak扩展图120。设£和p是两个不同的质数,其中£是小质数,而p相当大。还假设p和f ^lmod4并且f是modp的二次剩余(这是 一-^三lmodp的情况)。用X^来表示具有参数f和p的LPS图。接着定义 构成图Xt,p的顶点和边。Xt,p的顶点是PSL(2,Fp)中的矩阵,即不可逆2x2矩阵, 其项Fp中,行列式为l,以及对任何矩阵A的等价关系A =-A。给定一行列 式为1的2x2矩阵A,顶点的名称将是A的项或-A的项的4元组,取决于在 集合(0,…,p-l"的普通排序中哪一个在字典顺序上更小。接着报述构成图的边。 矩阵A连接到矩阵giA,其中g,是以下显式定义的矩阵。设i是满足i2E -l m0d p的整数。对等式gQ2+ gl2+ g22+ g32 = €恰好有8(f+l)个解g = (gG, gl, g2, g3)。在 这些解中只有£+1个的§()>0且为奇数,并且对]=1,2, 3, gj是偶数。对于每
一这样的g,关联矩阵
这给出了 PSL(2,Fp)中£+1个矩阵的集合S。 gi是此集合中的矩阵。事实是, 如果g在S中,则g"也在S中。此外,由于£很小,因此,该矩阵集合S可 通过穷尽搜索非常快地找到。
示例性过程
图2示出了根据一个实施例的用于从扩展图构造散列函数的示例性过程 200。出于示例性描述的目的,过程200的操作相对于图1的系统100的组件 来描述。组件参考标号最左边的数字指示了该组件首次被描述的特定图。
在框202处,EG HF构造模块112 (图1)将输入消息118划分成段。例 如,输入消息的长度为N。假设在k正则扩展图120中有w个顶点(每一顶点 具有名称/标签),则从任一顶点出发的每一条边的名称将具有logk比特。输 入消息118被分解成长度为logk的块。在框204处,EGHF构造模块112走 査作为对散列函数的输入的扩展图120。走查如下确定假定在某一顶点v处, 走査中的下一顶点通过从输入中读取下一 log k的块以确定从顶点v出发的将 遍历的边来确定,该边的另一端点将是走査的下一顶点。例如,EGHF构造模 块112从由输入消息118的前k个比特(段/块)指定的第一顶点开始对扩展图 120中的边的随机走査。在扩展图120中走査的下一顶点由下一 logk比特的块 来指定。考虑到指定边的名称如何对应于扩展图120中的顶点的约定,迭代地执行这些运算。 一个示例性的这样的约定是对于每一顶点V,存在函数 /V:{1,...,W4K。由此,y;(l)是从V出发的第一条边,乂(2)是从V出发的第二
条边,依此类推。
在框206处,EGHF构造模块112确定所走査的最后一个顶点的标签。在 框208处,EGHF构造模块112输出标签作为散列函数的结果。
图3示出了根据一个实施例用于从扩展图构造散列函数的示例性过程。出 于示例性描述的目的,过程300的操作相对于图1的系统100的组件来描述。 在框302处,扩展图散列函数构造模块("EGHF构造模块")112 (图1)标 识具有熵次数的消息118。在框304处,EGHF构造模块112向扩展图120中 的每一顶点分配相应的标签。在框306处,EGHF构造模块112使用提取器函 数来确定输入消息118中的熵次数。所确定的次数被示为所提取的熵次数122。 在框308处,EGHF构造模块基于所提取的熵次数122走查扩展图120。在框 310处,EGHF构造模块112输出与所走查的最后一个顶点的标签以及扩展图 120作为散列函数构造116的结果。5卩,框302到310的操作对应于散列函数 构造116的操作。
示例性操作环境
图4示出了其中可全部或部分实现从扩展图构造散列函数的合适的计算 环境的一个示例。计算性计算环境400仅为适用于图1的示例性系统以及图2 和3的示例性操作的计算环境的一个示例,并非对此处所描述的系统和方法的 使用范围或功能提出任何局限。也不应将计算环境400解释为对计算环境400 中示出的任一组件或其组合具有任何依赖性或要求。
此处所描述的方法和系统可以使用众多其它通用或专用计算系统环境或 配置来操作。适合使用的众所周知的计算系统、环境和/或配置的示例包括但不 限于,个人计算机、服务器计算机、多处理器系统、基于微处理器的系统、网 络PC、小型机、大型机、包括任一上述系统或设备的分布式计算环境等等。 该框架的紧凑或子集形式也可以在诸如手持式计算机或其它计算设备等有限 资源的客户机中实现。本发明在其中任务由通过通信网络链接的远程处理设备 来执行的分布式计算环境中实践。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
参考图4,用于从扩展图构造散列函数的示例性系统包括实现例如图1的
系统100的计算机410形式的通用计算设备。以下描述的计算机410的各方面 是图1的计算设备102的示例性实现。计算机410的组件可包括但不限于,处 理单元420、系统存储器430以及将包括系统存储器的各类系统组件耦合至处 理单元420的系统总线421。系统总线421可以是若干种总线结构的任一种, 包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构的任一 种的局部总线。作为示例而非局限,这类体系结构包括工业标准体系结构(ISA) 总线、微通道体系结构(MCA)总线、增强型ISA (EISA)总线、视频电子 技术标准协会(VESA)局部总线、外围部件互连(PCI)总线(也称为小背板 (Mezzanine)总线)。
计算机410通常包括各种计算机可读介质。计算机可读介质可以是可由计 算机410访问的任一可用介质,包括易失性和非易失性介质、可移动和不可移
动介质。作为示例而非局限,计算机可读介质包括计算机存储介质和通信介质。 计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或
其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移 动介质。计算机存储介质包括但不限于,RAM、 ROM、 EEPROM、闪存或其 它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁 带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机 410访问的任一其它介质。
通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算 机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术 语"已调制数据信号"指以对信号中的信息进行编码的方式设置或改变其一个 或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络 或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。上述任 一的组合也应当包括在计算机可读介质的范围之内。
系统存储器430包括易失性和/或非易失性存储器形式的计算机存储介质, 如只读存储器(ROM) 431和随机存取存储器(RAM) 432。基本输入/输出系 统433 (BIOS)包括如在启动时帮助在计算机410内的元件之间传输信息的基本例程,它通常储存在ROM431中。RAM432通常包含处理单元420立即可 访问和/或当前正在操作的数据和/或程序模块。作为示例而非局限,图4示出 了操作系统434、应用程序435、其它程序模块436和程序数据437。
计算机410也可包括其它可移动/不可移动、易失性/非易失性计算机存储 介质。仅作示例,图4示出了对不可移动、非易失性磁介质进行读写的硬盘驱 动器441,对可移动、非易失性磁盘432进行读写的磁盘驱动器431,以及对 可移动、非易失性光盘436,如CDROM或其它光介质进行读写的光盘驱动器 433。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性 计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、 固态RAM、固态ROM等等。硬盘驱动器441通常通过不可移动存储器接口, 如接口 440连接到系统总线421,磁盘驱动器431和光盘驱动器433通常通过 可移动存储器接口,如接口 430连接到系统总线421。
上文讨论并在图4示出的驱动器及其关联的计算机存储介质为计算机410 提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图 4中,示出硬盘驱动器441储存操作系统444、应用程序443、其它程序模块 446和程序数据447。注意,这些组件可以与操作系统434、应用程序433、其 它程序模块436和程序数据437相同,也可以与它们不同。应用程序433包括 例如图1的计算设备102的程序模块108。程序数据437包括例如图1的计算 设备102的程序数据110。这里对操作系统444、应用程序443、其它程序模块 446和程序数据447给予不同的标号来说明至少它们是不同的副本。
用户可以通过输入设备,如键盘462和定位设备461 (通常指鼠标、跟踪 球或触摸垫)向计算机410输入命令和信息。其它输入设备(未示出)可包括 话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等等。这些和其它输入设 备通常通过耦合至系统总线421的用户输入接口 460连接至处理单元420,但 是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总 线(USB)。
监视器491或其它类型的显示设备也通过接口,如视频接口 490连接至系 统总线421。除监视器之外,计算机也可包括其它外围输出设备,如打印机496 和音频设备497,它们通过输出外围接口 493连接。计算机410可以使用到一个或多个远程计算机,如远程计算机480的逻辑 连接在网络化环境中操作。在一个实现中,远程计算机480表示图1的计算设 备102或联网计算机104。远程计算机480可以是个人计算机、服务器、路由 器、网络PC、对等设备或其它常见的网络节点,并根据其具体实现,可以包 括许多或所有相对于计算机410所描述的元件,尽管在图4中仅示出了存储器 存储设备481。图4描述的逻辑连接包括局域网(LAN) 471和广域网(WAN) 473,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网 络、内联网以及因特网。
当在LAN网络环境中使用时,计算机410通过网络接口或适配器470连 接至LAN471。当在WAN网络环境中使用时,计算机410通常包括调制解调 器472或用于通过WAN473,如因特网建立通信的其它装置。调制解调器472 可以是内置或外置的,它通过用户输入接口 460或其它适当的机制连接至系统 总线421。在网络化环境中,相对于计算机410所描述的程序模块或其部分可 储存在远程存储器存储设备中。作为示例而非局限,图4示出远程应用程序483 驻留在存储器设备481上。可以理解,示出的网络连接是示例性的,也可以使 用在计算机之间建立通信链路的其它手段。
结论
尽管以对结构特征和/或方法操作或动作专用的语言描述了用于从扩展图 构造散列函数的系统和方法,但是可以理解,所附权利要求书中定义的实现不 一定限于所描述的具体特征或动作。相反,系统100的具体特征和操作是作为 实现所要求保护的主题的示例性形式而公开的。
权利要求
1.一种计算机实现的方法,包括根据对一散列函数的输入走查一扩展图,所述扩展图是使用输入消息的相应子集来走查的;确定所走查的最后一个顶点的标签;以及输出所述标签作为所述散列函数的结果。
2. 如权利要求l所述的方法,其特征在于,所述扩展图是Ramanujan图。
3. 如权利要求1所述的方法,其特征在于,所述扩展图是 Lubotzky-Phillips-Sarnak扩展图。
4. 如权利要求1所述的方法,其特征在于,所述扩展图是有限特征域p 上的超奇异椭圆曲线的图。
5. 如权利要求l所述的方法,其特征在于,所述结果是密码散列。
6. 如权利要求1所述的方法,其特征在于,找出所述散列函数的冲突在 计算上是困难的。
7. 如权利要求1所述的方法,其特征在于,所述输入消息具有特定的熵 次数,并且其中,所述散列函数是抗冲突的。
8. 如权利要求l所述的方法,其特征在于,走查还包括 将所述输入消息划分成段;以及对这些段中的至少一个子集,基于一子集的特定一段的各方面来确定到所 述扩展图中的下一相应顶点的路径。
9. 如权利要求l所述的方法,其特征在于,所述扩展图包括"个顶点, 其中所述输入消息具有一熵次数,并且其中,所述方法还包括向所述图的各顶点分配相应的标签; 确定所述熵次数;其中,走査还包括使用所述熵次数来走査所述w个顶点以标识完全随机的 顶点输出;并且所述输出是所走査的"个顶点中的最后一个顶点的相应的所分配的标签。
10. 如权利要求9所述的方法,其特征在于,确定所述熵次数还包括使用一提取器函数来确定与所述输入消息相关联的随机性程度。
11. 一种包括可由处理器执行的计算机编程的指令的计算机可读介质,所 述指令用于将消息划分成段;根据对一散列函数的输入走查一扩展图,所述扩展图是使用所述各段中的 相应段确定到所述扩展图中的W个顶点中的下一顶点的路径来走查的; 确定所走查的最后一个顶点的标签;以及 输出所述标签作为所述散列函数的结果。
12. 如权利要求11所述的计算机可读介质,其特征在于,所述扩展图是 Ramanujan图或Lubotzky-Phillips誦Sarnak扩展图。
13. 如权利要求11所述的计算机可读介质,其特征在于,所述结果是密 码散列。
14. 如权利要求11所述的计算机可读介质,其特征在于,找出所述散列 函数的冲突在计算上是困难的。
15. 如权利要求11所述的计算机可读介质,其特征在于,所述消息基于 从所述消息中提取的熵次数被划分成所述段。
16. 如权利要求11所述的计算机可读介质,其特征在于,所述扩展图包 括w个顶点,其中所述消息具有一熵次数,并且其中,所述计算机程序指令还 包括用于执行以下动作的结构向所述图的各顶点分配相应的标签; 确定所述熵次数;其中,走査还包括使用所述熵次数来走查所述《个顶点以标识完全随机的 顶点输出;并且所述输出是所走査的"个顶点中的最后一个顶点的相应的所分配的标签。
17. 如权利要求11所述的计算机可读介质,其特征在于,所述用于确定 熵次数的计算机编程的指令还包括用于使用一提取器函数来确定与所述消息 相关联的随机性程度的指令。
18. —种计算设备,包括 处理器;以及耦合到所述处理器的存储器,所述存储器包括可由所述处理器执行的计算 机程序指令,所述指令用于向一扩展图中的W个顶点中的相应顶点分配相应的标签; 确定输入消息的随机性;走査作为对一散列函数的输入的所述扩展图,所述扩展图中的顶点是 基于所述随机性来访问的;确定所走査的顶点中的最后一个顶点的标签;以及 输出所述标签作为所述散列函数的结果。
19. 如权利要求18所述的计算设备,其特征在于,所述扩展图是Ramanujan 图或Lubotzky-Phillips-Sarnak扩展图。
20. 如权利要求18所述的计算设备,其特征在于,所述结果是密码散列。
全文摘要
描述了从扩展图构造散列函数。在一方面,走查一扩展图以计算散列函数。该扩展图是使用输入消息的相应子集来走查的。所走查的最后一个顶点的标签是该散列函数的输出。
文档编号G06F17/00GK101300569SQ200680040456
公开日2008年11月5日 申请日期2006年10月16日 优先权日2005年11月1日
发明者D·X·查尔斯, E·Z·戈伦, K·E·劳特 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1