一种基于在线手写签名的随机数产生方法

文档序号:6575921阅读:264来源:国知局
专利名称:一种基于在线手写签名的随机数产生方法
技术领域
本发明涉及随机数产生方法,具体涉及一种基于在线手写签名的 随机数产生方法。
背景技术
随机数在信息技术特别是信息安全领域中具有非常重要的作用。 对称加密算法,无论是块加密方式还是序列密码方式,其密钥必须随 机产生,公开加密算法在产生密钥对时也需要较大的随机数。此外许 多数字签名算法和密码协议也要求使用随机数。除了在信息安全领域 外,随机数在计算机仿真以及电脑或网络游戏中也有广泛的应用。随 机数由两种类型的产生器生成,即真随机数产生器和伪随机数产生 器。真随机数产生器建立在现实世界中的不确定性现象基础上,如热 力学噪声、空气噪声、核衰变等物理现象,对这些现象采集的数据再 进行后处理,即可得到随机数。而伪随机数产生器则根据输入的随机 数种子,采用确定性的算法生成随机数。
从现有的技术来看,伪随机数产生器产生的随机数并不具有真正 意义上的"随机性",其安全性不能得到保证。而真随机数一般需要 额外的电路或设备,因此从成本和便利性等方面也具有缺点。
本发明从在线手写签名(online signature)中产生随机数,兼具 真随机数发生器的安全性,同时也具有成本低和速度快的优点
发明内容
本发明所要解决的技术问题在于提供一种安全性高、成本低和速 度快的基于在线手写签名的随机数产生方法。
根据本发明的一个方案, 一种基于在线手写签名的随机数产生方 法,其特点是所述方法包括以下步骤
第一步从手写签名上采集采样点坐标,
第二步将采样点转换为]V^M的采样图像
1) 首先生成一幅N^M的白色灰度图像,其全体像素的像素值为 2"-l;其中tl为灰度值的精度(即用几个比特来表示一个像素);其中,
M取32 1024的自然数;n取4 12的自然数;
2) 得到全体采样点中横坐标和纵坐标的最小值和最大值Z— Z,,
3) 对每个采样点坐标进行线性变换处理-
第三步对采样图像进行加密得到密文图像;其中,每一轮加密包括 两个步骤-
1) 对每一行进行加密;
2) 对每一列进行像素排列。
第四步将密文图像转换成T比特的随机数;
1) 将图像平均分成T块,每块的大小为N个像素,其中N-MVr; T必须为]V^的因数,N》4;
2) 对每个图像块进行计算,若该块全体像素之和为奇数,则该块 对应比特l,否则对应比特0;3)按从左到右从上到下的顺序访问各块,连接各块对应的比特得 到T比特的随机数。
根据本发明所述的一种基于在线手写签名的随机数产生方法的 优选方案,所述的对每个采样点坐标进行线性变换处理包括二个步

第一将采样点的横坐标和纵坐标线性变换为1到M之间的 整数;
_j L a max-""^ min 一
|_』max-"4 min —
其中kJ表示不大于a的整数,J和r分别是采样点的横坐标和
第二将白色灰度图像中位置为",力的像素值设置为O。
根据本发明所述的一种基于在线手写签名的随机数产生方法的
优选方案,所述的对每一行进行加密包括三个步骤
第一求出每行所有像素之和,再求出该和模2"的余数; 第二将余数与该行所有像素进行按位异或运算; 第三对异或后的像素进行S盒替换。
根据本发明所述的一种基于在线手写签名的随机数产生方法的 优选方案,所述的对每一列进行像素排列为第l列保持不变,将第 i列的像素循环下移—I个位置,即第1列保持不变,第2列循环下 移1个位置,...,第M列循环下移M-l个位置。
本发明所述的一种基于在线手写签名的随机数产生方法的有益效果是
1、 安全性高随机数来源为在线手写签名,具有不可预测、不重复的优点,属于真随机数产生器;加密技术的引入使得最终的随机数对签名非常敏感,大量的实验表明产生的随机数具有很好的统计性能;随机数产生必须要有用户的实时参与才能产生随机数,也增加了其安全性;此外该随机数产生可与用户的签名认证相联系,用户只有在通过了身份认证后,产生的随机数才有效,从而进一步确保安全性。
2、 成本低对于已配备了手写签名采集设备(如带触摸屏的智能手机或带手写板的手写签名认证系统),本系统不需要额外的硬件随机数产生器,从而降低了系统实现的成本。
3、 速度快本发明中采用的加密算法仅包括加法和异或运算,故系统的处理速度很快。
根据本发明产生的随机数,可作为加密密钥或提供安全协议中需要的随机数,也可为网络游戏提供随机数。


图1是本发明所述的一种基于在线手写签名的随机数产生方法的流程示意图。
图2是本发明所述的一种基于在线手写签名的随机数产生方法实施例2中的采样图象。
图3是本发明所述的一种基于在线手写签名的随机数产生方法实施例2中的密文图象。
图4表示一个8X8的图像进行像素排列前的示意图。
图5表示一个8X8的图像进行像素排列后的示意图。
具体实施例方式
7实施例l:参见图l, 一种基于在线手写签名的随机数产生方法
第一步从手写签名上采集采样点坐标;
第二步将采样点转换为1S^M的采样图像;其中,
1)首先生成一幅]VPM的白色灰度图像,其全体像素的像素值为2"-l;其中n为灰度值的精度;其中,M取32 1024的自然数;n取4 12的自然数;推荐M取64, n取8;
2) 得到全体采样点中横坐标和纵坐标的最小值和最大值ln,《ax,
3) 对每个采样点坐标进行线性变换处理
第一将采样点的横坐标和纵坐标线性变换为1到M之间的
少=
max - mil
M —1
乙 乙—
H) + l
其中L"」表示不大于s的整数,i和r分别是采样点的横坐标和
纵坐标,x和7是坐标经线性变换后的值;
第二将白色灰度图像中位置为(X,》的像素值设置为0;第三步对采样图像进行加密得到密文图像每一轮加密包括两个步骤l)对每一行进行加密
第一求出每行所有像素之和,再求出该和模2"的余数;第二将余数与该行所有像素进行按位异或运算;
第三对异或后的像素进行S盒替换;当11=8时,推荐采用AES标准中的S盒;
2)对每一列进行像素排列具体的排列方法为第1列保持不变,将第i列的像素循环下移个位置,即第1列保持不变,第2列循环下移l个位置,...,第M列循环下移M-1个位置;
一个8X8的图像进行像素排列的排列示例见图4和图5;推荐进行九轮加密;当加密完成后,进行下一步;第四步将密文图像转换成T比特的随机数;
1) 将图像平均分成T块,每块的大小为N个像素,其中N=M2/T;T必须为JV^的因数,N》4;推荐T取256;
2) 对每个图像块进行计算,若该块全体像素之和为奇数,则该块
对应比特l,否则对应比特0;
3) 按从左到右从上到下的顺序访问各块,连接各块对应的比特得到T比特的随机数。
实施例2: —种基于在线手写签名的随机数产生方法第一步从手写签名上采集采样点坐标如下
第l个采样点坐标(43,56);第2个采样点坐标(45,57);第3个采样点坐标(48, 61);第4个采样点坐标(50, 63);第5个采样点坐标(50, 63);第6个采样点坐标(50, 63);第7个采样点坐标(39, 90);第8个采样点坐标(42, 87);第9个采样点坐标(45, 86);第10个采样点坐标(48,85);第11个采样点坐标(51,84);第12个采样点坐标(54, 83);第13个采样点坐标(56, 83);第14个采样点坐标:(59, 84);第15个采样点坐标(60, 86);第16个采样点坐标(62, 90);第17个采样点坐标(62,94);第18个采样点坐标(61,98);第19个采样点坐标(51,116);第20个采样点坐标(48,119);第21个采样点坐标(44,121);第22个采样点坐标(41,122);第23个采样点坐标(38,122);第24个采样点坐标(34,122);第25个采样点坐标(31,121);第26个采样点坐标(29,119);第27个采样点坐标(28,116);第28个采样点坐标(28,113);第29个采样点坐标(29,111);第30个采样点坐标(31,108);第31个采样点坐
标(33,107);第32个采样点坐标(36,106);第33个采样点坐标
(39, 105);第34个采样点坐标(47, 106);第36个采样点坐标(53, 109);第38个采样点坐标(59,113);第40个采样点坐标(63, 115);第42个采样点坐标(66,112);第44个采样点坐标
(43, 105);第35个采样点坐标(50, 108);第37个采样点坐标
(56.111) ;第39个采样点坐标(61,114);第41个采样点坐标
(66.112) ;第43个采样点坐标(66,112);第45个采样点坐标
(71, 89);第46个采样点坐标(74, 90);第47个采样点坐标(75, 92);第48个采样点坐标(76,95);第49个采样点坐标(77,98);第50个采样点坐标(77,102);第51个采样点坐标(78,105);第52个采样点坐标(78,107);第53个采样点坐标(78,107);第54个采样点坐标(78,107);第55个采样点坐标(85,62);第56个采样点坐标(87,64);第57个采样点坐标(88,66);第58个采样点
坐标(89, 69);第59个采样点坐标(90, 75);第60个采样点坐标
(91, 82);第61个采样点坐标(92, 90);第62个采样点坐标(92, 97);第63个采样点坐标(93,104);第64个采样点坐标(93,110);第65个采样点坐标(93,116);第66个采样点坐标(93,126);第67 个采样点坐标(92,130);第68个采样点坐标(91,132);第69个 采样点坐标(90,134);第70个采样点坐标(90,134);第71个采 样点坐标(90,134);第72个采样点坐标(133,70);第73个采样 点坐标(134,73);第74个采样点坐标(135,77);第75个采样点 坐标(136,81);第76个采样点坐标(137,88);第77个采样点坐 标(138,95);第78个采样点坐标(139,104);第79个采样点坐 标(139,112);第80个采样点坐标(139,119);第81个采样点坐 标(139,124);第82个采样点坐标(139,124);第83个采样点坐 标(139,124);第84个采样点坐标(153,61);第85个采样点坐
标(154,64);第86个采样点坐标(156,67);第87个采样点坐标
157,71);第88个采样点坐标(157,71);第89个采样点坐标
157,71);第90个采样点坐标(179, 58);第91个采样点坐标
180,61);第92个采样点坐标(178,64);第93个采样点坐标
177, 67);第94个采样点坐标(174, 70);第95个采样点坐标
171,73);第96个采样点坐标-(168, 77);第97个采样点坐标
165, 80);第98个采样点坐标(皿,82);第99个采样点坐标
158, 85);第100个采样点坐标(155, 87);第101个采样点坐标:
152, 89);第102个采样点坐标(152,91);第103个采样点坐标:
154, 92);第104个采样点坐标(157,91);第105个采样点坐标:
160, 90);第106个采样点坐标-(164, 89);第107个采样点坐标:
168, 88);第108个采样点坐标(171,86);第109个采样点坐标-
173, 86);第110个采样点坐标(176, 85);第111个采样点坐标:
174, 89);第112个采样点坐标(m,9i);第113个采样点坐标:
169, 93);第114个采样点坐标(166, 96);第115个采样点坐标-
11(163,98);第116个采样点坐标(160,101);第117个采样点坐标:
(158,103);第118个采样点坐标:(156,105);第119个采样点坐标:
(155,108);第120个采样点坐标:(158,108);第121个采样点坐标:
(161,108);第122个采样点坐标:(163,106);第123个采样点坐标:
(166,106);第124个采样点坐标:(169,104);第125个采样点坐标:
(171,104);第126个采样点坐标:(174,104);第127个采样点坐标:
(173,107);第128个采样点坐标(171,109);第129个采样点坐标-
(169,111);第130个采样点坐标:(166,113);第131个采样点坐标:
(163,115);第132个采样点坐标-(160,117);第133个采样点坐标:
(158,119);第134个采样点坐标:(156,120);第135个采样点坐标:
(154,122);第136个采样点坐标(156,122);第137个采样点坐标
(159,122);第138个采样点坐标(162,121);第139个采样点坐标
(165,119);第140个采样点坐标(168,118);第141个采样点坐标
(171,117);第142个采样点坐标(174,115);第143个采样点坐标
(177,114);第144个采样点坐标(178,112);第145个采样点坐标-
(178,112);第146个采样点坐标(178,112);第147个采样点坐标
(165,92);第148'个采样点坐标-(165,90);第〗,49个采样点坐标
(162,88);第150个采样点坐标(162,90);第]51个采样点坐标-
(162,93);第152'个采样点坐标(163,98);第] 53个采样点坐标
(163,104);第154个采样点坐标(164,112);第155个采样点坐标
(164,121);第156个采样点坐标(165,130);第157个采样点坐标
(165,138);第158个采样点坐标:(165, 144)
第二步将采样点首先生成一幅64*64的白色灰度图像,如图2, 其全体像素的像素值均为255;
第三步得到全体采样点中横坐标和纵坐标的最小值和最大值Xh
12二43, iL二165 , Kk二56, Fmax=144;
第四步对每个采样点坐标进行处理:
第一将采样点的横坐标和纵坐标线性变换为1到64之间的

63
63
H)+i
"1 max — "* min
其中L"」表示不大于s的整数,J和r分别是采样点的横坐标和 纵坐标,z和y是坐标经线性变换后的值;
第二将白色灰度图像中位置为Or,》的像素值设置为0;
第五步对采样图像进行加密得到密文图像如图3,其中,加密 一共进行九轮,每一轮加密包括两个步骤
第一对每一行进行加密
a. 求出每行所有像素之和,再求出该和模256的余数;
b. 将余数与该行所有像素进行按位异或运算;
c. 对异或后的像素进行S盒替换;S盒采用AES加密标准中
的S盒;
第二对每一列进行像素排列 具体的排列方法为第1列保持不变,将第i列的像素循环下移
i-l个位置,即第l列保持不变,第2列循环下移1个位置,…,第 64列循环下移63个位置。
第六步将密文图像转换成256比特的随机数由于图像是二维的,而随机数是一维向量,应作二维到一维的变 换,将密文图像转换成256比特的随机数;具体方法如下
第一将图像平均分成256块,每块的大小为4X4像素;
第二对每个4X4的块进行计算,若该块全体像素之和为奇数, 则该块对应比特l,否则对应比特0;
第三按从左到右从上到下的顺序访问各块,连接各块对应的比
特得到256比特的随机数如下-
1001100100010010000011110001000101001000101001101001011 00000000010100101001011110101101101000011000010100010011101
10000100011011000010100110001000101011100000101101110001110 000101000010011010010011。
实施例3: —种基于在线手写签名的随机数产生方法 该实施例3与实施例2不同之处是在实施例3的第二步是将
采样点首先生成一幅512*512的白色灰度图像,其全体像素的像 素值均为255;实施例3得到256比特的随机数如下
1000001011000111110011000001010000101011110000100011100
110011000110110001100110。
1权利要求
1、一种基于在线手写签名的随机数产生方法,其特征在于所述方法包括以下步骤第一步从手写签名上采集采样点坐标;第二步将采样点转换为M*M的采样图像;其中1)首先生成一幅M*M的白色灰度图像,其全体像素的像素值为2n-1;其中n为灰度值的精度;其中,M取32~1024的自然数;n取4~12的自然数;2)得到全体采样点中横坐标和纵坐标的最小值和最大值Xmin,Xmax,Ymin,Ymax;3)对每个采样点坐标进行线性变换处理;第三步对采样图像进行加密得到密文图像;其中,每一轮加密包括两个步骤1)对每一行进行加密;2)对每一列进行像素排列;第四步将密文图像转换成T比特的随机数;1)将图像平均分成T块,每块的大小为N个像素,其中N=M2/T;T必须为M2的因数,N≥4;2)对每个图像块进行计算,若该块全体像素之和为奇数,则该块对应比特1,否则对应比特0;3)按从左到右从上到下的顺序访问各块,连接各块对应的比特得到T比特的随机数。
2、根据权利要求1所述的一种基于在线手写签名的随机数产生方法,其特征在于对每个采样点坐标进行线性变换处理包括二个步骤第一将采样点的横坐标和纵坐标线性变换为1到M之间的<formula>formula see original document page 3</formula>其中L"」表示不大于《a的整数,i和r分别是采样点的横坐标和纵坐标,X和y是坐标经线性变换后的值;第二将白色灰度图像中位置为",》的像素值设置为0。
3、 根据权利要求2所述的一种基于在线手写签名的随机数产生方法,其特征在于对每一行进行加密包括三个步骤第一求出每行所有像素之和,再求出该和模2"的余数;第二将余数与该行所有像素进行按位异或运算;第三对异或后的像素进行S盒替换。
4、 根据权利要求3所述的一种基于在线手写签名的随机数产生方法,其特征在于对每一列进行像素排列为第l列保持不变,将第i列的像素循环下移—I个位置;即第1列保持不变,第2列循环下移1个位置,...,第M列循环下移M-1个位置。
全文摘要
本发明公开了一种基于在线手写签名的随机数产生方法,其特点是所述方法包括以下步骤第一步从手写签名上采集采样点坐标,第二步将采样点转换为M*M的采样图像;第三步对采样图像进行加密得到密文图像;第四步将密文图像转换成T比特的随机数;根据本发明产生的随机数,可作为加密密钥或提供安全协议中需要的随机数,也可为网络游戏提供随机数。
文档编号G06F7/58GK101477451SQ20091010303
公开日2009年7月8日 申请日期2009年1月8日 优先权日2009年1月8日
发明者庆 周, 廖晓峰, 月 胡 申请人:重庆大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1