-
公开(公告)号:CN101609455A
公开(公告)日:2009-12-23
申请号:CN200910072467.6
申请日:2009-07-07
Applicant: 哈尔滨工程大学
IPC: G06F17/30
Abstract: 本发明提供的是一种高速精确单模式字符串匹配的方法,包含预处理和搜索两个阶段。其中预处理阶段包括对模式的预处理、对文本的预处理和根据匹配条件判定最佳的匹配动作,共三个主要步骤,搜索阶段为进行串匹配的过程,包括Scan Loop、Match Loop和后续判定动作,共三个主要步骤。本发明在目前英文语料上进行匹配时最高速的方法之一的SBNDM2算法基础上进行如下改进:通过引入下标越界保护机制减少了下标越界检查的开销;通过修改位掩码与位向量定义的方式简化了算法;并通过扩展SBNDM2的循环展开机制,确定了一种对于不同模式长度和不同语料选择最优的循环展开字符的方法,提高算法针对不同匹配条件时的匹配性能。本发明所述方法是在模式长度不超过机器字长时的一种性能高,适用范围广泛的高速位并行精确单模式串匹配方法。
-
公开(公告)号:CN101271468A
公开(公告)日:2008-09-24
申请号:CN200810064442.7
申请日:2008-05-05
Applicant: 哈尔滨工程大学
IPC: G06F17/30
Abstract: 本发明提供的是一种利用越界保护机制对字符串匹配进行加速的方法。根据待匹配文本长度,得到文本尾位置,这里假定文本最末字符位于loc位置;在loc+1位置设置1个字符的隔离字,该隔离字是任意在模式中没有出现的字符;拷贝模式串至文本的loc+2位置;进行不检查是否下标越界的字符串匹配,在输出模式匹配位置前进行是否下标越界的判断,若没有下标越界,则输出匹配位置,若下标越界,则结束匹配动作。本发明所述方法与字符串匹配的具体实现无关,是现有各种字符串匹配问题的通用改进方法。由于在整个串匹配过程中模式匹配后的输出动作是串匹配过程中所有动作中出现频率最低的动作,本发明所述方法可以将检查下标越界操作的总数降至最低。
-
公开(公告)号:CN101901316A
公开(公告)日:2010-12-01
申请号:CN201010226569.1
申请日:2010-07-15
Applicant: 哈尔滨工程大学
IPC: G06F21/00
Abstract: 本发明提供的是一种基于Bloom Filter的数据完整性保护方法。先将受保护的存储区分成相等的多个块,然后在计算机安全区中维护一个m个元素的数组,同时设置k个散列函数,用于将数据块映射到数组中;存储器初始化即建立保护时,内存块数据经k次散列函数计算得到k个值,将这k个值作为数组的序号,将数组相应序号的值加1;当修改数据块时,将原数据块的k个映射位的值减1,再将修改后数据块的k个映射位的值加1;在校验时,如所读取的数据块映射到数组中相应位的值都不为0,则认为数据正常,只要有一个映射位的值为0,则认为遭到篡改。用于防止内存中的数据被恶意篡改;保证内存数据完整性同时,能降低完整性保护的时间和空间开销。
-
公开(公告)号:CN101894079A
公开(公告)日:2010-11-24
申请号:CN201010226537.1
申请日:2010-07-15
Applicant: 哈尔滨工程大学
Abstract: 本发明提供的是一种变长存储块的Hash树存储器完整性保护方法。将保护的存储区分为热区和冷区;在热区设置多个大小相等的存储块;在冷区设置多个大小相等的、大小为热区块整数倍K的存储块;同时在系统中维持两棵用于校验完整性的Hash树,一棵是热Hash树,另一棵是冷Hash树,同时存储Hash树所有内部结点,将热区和冷区的子树顶点放在安全区中;在校验某数据块时,计算该数据块的Hash值,与事先存储的相应Hash值比较,如相同则继续生成上一层Hash值并进行比较,一直到根结点,如某个Hash值不匹配,则发生篡改。本方法能减少校验的计算时间和每次校验操作的代价。
-
公开(公告)号:CN101901316B
公开(公告)日:2012-05-09
申请号:CN201010226569.1
申请日:2010-07-15
Applicant: 哈尔滨工程大学
IPC: G06F21/00
Abstract: 本发明提供的是一种基于Bloom Filter的数据完整性保护方法。先将受保护的存储区分成相等的多个块,然后在计算机安全区中维护一个m个元素的数组,同时设置k个散列函数,用于将数据块映射到数组中;存储器初始化即建立保护时,内存块数据经k次散列函数计算得到k个值,将这k个值作为数组的序号,将数组相应序号的值加1;当修改数据块时,将原数据块的k个映射位的值减1,再将修改后数据块的k个映射位的值加1;在校验时,如所读取的数据块映射到数组中相应位的值都不为0,则认为数据正常,只要有一个映射位的值为0,则认为遭到篡改。用于防止内存中的数据被恶意篡改;保证内存数据完整性同时,能降低完整性保护的时间和空间开销。
-
-
-
-