[发明专利]一种基于数据库的积木式动态加密方法有效
申请号: | 201410439845.0 | 申请日: | 2014-09-01 |
公开(公告)号: | CN104252604B | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 罗喜召 | 申请(专利权)人: | 苏州锐盾信息科技有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F17/30 |
代理公司: | 苏州广正知识产权代理有限公司32234 | 代理人: | 刘述生 |
地址: | 215000 江苏省苏州市苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数据库 积木 动态 加密 方法 | ||
1.一种基于数据库的积木式动态加密方法,其特征在于,包括以下步骤:
(1)布鲁姆滤波器的实现:
(a)自定义一个结构体BLOOM,结构体内声明了位数组的大小asize、用于表示布鲁姆滤波器的位数组a、所用的哈希函数个数nfuncs、以及指向所有用到的哈希函数的函数指针funcs,这些哈希函数传入const char*类型的参数并输出unsigned int类型的结果,这里用typedef unsigned int (*hashfunc_t)(const char *)来声明一个指向所需哈希函数的函数指针类型hashfunc_t;
(b)编写创建布鲁姆滤波器的函数BLOOM *bloom_create(int size, int nfuncs, ...),根据传入的size来确定位数组大小、传入的nfuncs来确定哈希函数的个数,使用var_start和var_end来处理动态个数的参数列表,得到所有哈希函数指针;
(c)编写销毁布鲁姆滤波器的函数int bloom_destroy(BLOOM *bloom),用于在完成布鲁姆滤波器运算后,及时销毁堆中的内存,防止内存泄露;
(d)编写添加元素的函数int bloom_add(BLOOM *bloom, const char *s),用于向指定的bloom中添加字符串元素s;
(e)编写检查元素是否属于布鲁姆滤波器的函数int bloom_check(BLOOM *bloom, const char *s),使用bloom中指向哈希函数的函数指针,依次计算s的哈希值并检查位数组上相应的数值,如果为0,返回false;
(2)为明文添加随机字符串:
(f)利用OpenSSL提供的函数int RAND_bytes(unsigned char *buf,int num)来产生5个随机数;
(g)将产生的随机数转换成相应的16进制字符串,生成1个长度为10的Hex字符串;
(3)加密:
(h)使用步骤(1)实现生成布鲁姆滤波器;
(i)计算明文长度,生成长度计数器;
(j)使用步骤(2)中实现的代码生成随机字符串,并接在明文后面生成最终带加密字符串;
(k)利用OpenSSL提供的API,加密步骤(j)得到的字符串;
(l)将步骤(h)、(j)、(k)中得到的字符串组合在一起,形成最终密文;
(4)解密:
(m)忽略密文的布鲁姆滤波器部分,按照步骤(3)加密时的组合顺序提取出明文计数器和密文,解密密文后,截取明文计数器指示的明文长度,得到最终明文。
2.根据权利要求1所述的基于数据库的积木式动态加密方法,其特征在于,步骤(3)、(4)中设定了两个密钥:主密钥MasterKey和工作密钥SessionKey,其中主密钥MasterKey由开发人员和用户#define在代码中共同协定,用来加密工作密钥,工作密钥SessionKey用于加密数据,通过AES128算法,以密文的形式存储在专门用来保管密钥的数据库中。
3.根据权利要求1所述的基于数据库的积木式动态加密方法,其特征在于,还植入新的数据类型encrypted_string,使得数据库可以插入数据,编写应用于encrypted_string的操作符函数,使得可以对数据库的数据进行查询。
4.根据权利要求3所述的基于数据库的积木式动态加密方法,其特征在于,植入新的数据类型encrypted_string和编写应用于encrypted_string的操作符函数的步骤包括:
(n)创建encrypted_string类型;
(o)添加encrypted_string类型比较函数;
(p)添加为encrypted_string提供索引功能的函数;
(q)创建encrypted_string运算操作符;
(r)创建encrypted_string索引必要的操作符列表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州锐盾信息科技有限公司,未经苏州锐盾信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410439845.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种叉车用转向桥连杆制作方法
- 下一篇:一种新型的电瓶车控制器