一种基于一类密码学置换的随机口令生成方法及系统技术方案

技术编号:22266358 阅读:31 留言:0更新日期:2019-10-10 17:00
本发明专利技术属于信息安全技术领域,公开了一种基于一类密码学置换的随机口令生成方法及系统,针对口令中的每一个字符位,生成一个5位二进制的随机数,随机数为x,并随机构造一个GF(2)

A Random Password Generation Method and System Based on a Class of Cryptographic Permutations

【技术实现步骤摘要】
一种基于一类密码学置换的随机口令生成方法及系统
本专利技术属于信息安全
,尤其涉及一种基于一类密码学置换的随机口令生成方法及系统。
技术介绍
目前,最接近的现有技术:在现代社会,生成高安全性的口令对于保护大家的银行账号以及各种在线账号都是至关重要的。传统的口令生成方法主要包括基于真随机数生成法、基于伪随机数生成法以及基于口令卡生成法等。真随机数是使用物理现象产生的,比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等,这样的随机数发生器叫做真随机数发生器。伪随机数是用确定性的算法计算出来自[0,1]均匀分布的随机数序列,并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独立性等。基于真随机数和伪随机数都可以生成随机性口令。基于口令卡生成法常见于各类银行提供的电子银行口令卡,一种典型的方式就是基于时间同步方式产生,每60秒变换一次口令,口令一次有效,产生6位动态数字进行一次一密的方式认证。综上所述,现有技术存在的问题是:(1)基于真随机数的方式技术要求比较高。真随机数发生器由于技术要求较高,因此一般价格不菲,基于真随机数生成的口令一般应用于安全性要求较高的领域,应用的普遍性不足,无法满足一般普通老百姓生活中所涉及到的口令应用。(2)基于伪随机数的方式安全性不高。现在新的口令破解和口令猜测方法在不断涌现,它们主要针对的就是这类基于伪随机数的口令生成方式。(3)缺乏人性化设计,导致使用率不高,进而导致口令安全隐患。例如,基于口令卡生成法一般用于银行行业,但大家一般宁可使用自己习惯使用的口令而不愿意去使用口令卡,原因就是大家认为基于口令卡的方式使用起来复杂,不如自己根据习惯设计口令方便。现有的基于伪随机数的方式也有同样的问题,因为基于此种方式产生的一串字符口令,用户难以记忆。用户使用自己习惯的口令,这就导致容易遭受字典攻击等口令攻击。因为用户根据习惯设置的密码一般随机性较弱。解决上述技术问题的难度:因此如何设计一种老百姓方便使用并且又安全可靠的伪随机数口令生成方法就显得很有紧迫需求。但方便使用往往意味着安全性降低,再加上又只使用伪随机数方式来生成口令,因此要设计满足此类要求的口令是有难度的。解决上述技术问题的意义:如果能够设计出一种老百姓方便使用并且又安全可靠的伪随机数口令生成方法,则一方面可以解决因为老百姓倾向使用自己习惯的不安全口令所带来的隐患问题,另一方面也可以增强伪随机数设计口令的安全性。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种基于一类密码学置换的随机口令生成方法及系统。本专利技术中提出了一种基于密码学置换的随机口令生成方法,该方法一方面支持用户自定义设置每一个字符位的符号类型,增强用户体验,另一方面基于正形置换这类具有良好密码学性质的置换来增强口令的随机性。本专利技术是这样实现的,一种基于一类密码学置换的随机口令生成方法,所述基于一类密码学置换的随机口令生成方法包括:第一步,用户选择口令字符位类型的生成方式,如果用户选择自定义按位生成,则需用户从所选择使用的字符集类型中选择一种类型设置每一个字符位的字符类型。最终用户所设置的字符类型总和与用户选择使用的字符集类型总和一致。如果用户选择让系统生成,则由系统随机生成口令中每一位的字符类型。第二步,针对口令中的每一个字符位,生成一个5位二进制的随机数,所述随机数为x,并随机构造一个GF(2)5上的非线性正形置换,这个正形置换为P,则将该正形置换作用于这个随机数,得到P(x)5位二进制的数字。其中,GF(2)5表示二元伽罗瓦域的五维向量空间。第三步,根据每一个字符位的字符类型,将P(x)5位二进制的数字转换为对应字符类型的字符,得到所生成的口令。进一步,第一步用户选择口令字符位类型的生成方式前,需进行:用户选择口令所要使用的字符集与口令长度。进一步,所使用的字符集包括阿拉伯数字、大写字母、小写字母及其他特殊字符四种类型,用户至少选择其中的三种。口令的字符长度不小于8。进一步,第一步,用户选择让系统生成的方式,则系统随机生成口令中每一位的字符类型中,包括:如果用户选择的字符集是三种,设为μ1,μ2,μ3,口令长度是λ。则首先生成一个1到λ的随机数λ1,进而设定λ1位置的字符属于字符集μ1。接着生成一个1到λ的随机数λ2(λ2≠λ1),进而设定λ2位置的字符属于字符集μ2。随后生成接着生成一个1到λ的随机数λ3,λ3≠λ2,λ3≠λ1,进而设定λ3位置的字符属于字符集μ3。最后针对其他的λ-3个字符位,系统对于每一个字符位都从μ1,μ2,μ3中随机选择一种,作为该字符位的字符类型。如果用户选择的字符集是四种,设为μ1,μ2,μ3,μ4,口令长度是λ。则首先生成一个1到λ的随机数λ1,进而设定λ1位置的字符属于字符集μ1。接着生成一个1到λ的随机数λ2,λ2≠λ1,进而设定λ2位置的字符属于字符集μ2。然后生成接着生成一个1到λ的随机数λ3,λ3≠λ2,λ3≠λ1,进而设定λ3位置的字符属于字符集μ3。随后生成一个1到λ的随机数λ4,λ4≠λ3,λ4≠λ2,λ4≠λ1,进而设定λ4位置的字符属于字符集μ4。最后针对其他的λ-4个字符位,系统对于每一个字符位都从μ1,μ2,μ3,μ4中随机选择一种,作为该字符位的字符类型。进一步,第二步中所构造的GF(2)5上的非线性正形置换,差分均匀度不大于4,非线性度不小于8,代数次数不小于3。进一步,第三步所述的5位二进制的数字转换为对应字符类型的字符,包括如下四种情况:如果该字符位的类型是阿拉伯数字,则将该5位二进制的数字模上10,所得余数对应的字符就为所求。如果该字符位的类型是大写字母,则将该5位二进制的数字模上26,所得余数就是所求字符在大写字母集中相距第一个大写字母‘A’的距离,将该字符作为所求字符。如果该字符位的类型是小写字母,则将该5位二进制的数字模上26,所得余数就是所求字符在小写字母集中相距第一个小写字母‘a’的距离,将该字符作为所求字符。如果该字符位的类型是其他特殊字母,则这个5位二进制的数字就表示所求字符在其他特殊字母集中相距第一个特殊字母‘~’的距离,将该字符作为所求字符。本专利技术的另一目的在于提供一种所述基于一类密码学置换的随机口令生成方法的基于一类密码学置换的随机口令生成系统。本专利技术的另一目的在于提供一种实现任意一项所述基于一类密码学置换的随机口令生成方法的信息数据处理终端。本专利技术的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的基于一类密码学置换的随机口令生成方法。综上所述,本专利技术的优点及积极效果为:本专利技术针对目前常见的口令生成方法大多缺乏人性化设计,导致用户更倾向使用自己设计的不安全口令,以及基于伪随机数生成的口令安全性不高等问题,提供一种支持用户自定义设置每一个字符位的符号类型的口令生成方法,增强了用户体验感,同时该方法还通过使用正形置换这一类具有优良密码学性质的置换增强了基于伪随机数口令生成方法的安全性。附图说明图1是本专利技术实施例提供的基于一类密码学置换的随机口令生成方法流程图。图2是本专利技术实施例提供的基于一类密码学置换的随机口令生成方法原理图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合实施例,对本本文档来自技高网
...

【技术保护点】
1.一种基于一类密码学置换的随机口令生成方法,其特征在于,所述基于一类密码学置换的随机口令生成方法包括:第一步,用户从所选择使用的字符集类型中选择设置每一个字符位的字符类型;并由系统随机生成口令中每一个字符位的字符类型;第二步,对口令中的每一个字符位,生成一个5位二进制的随机数x,并随机构造一个GF(2)

【技术特征摘要】
1.一种基于一类密码学置换的随机口令生成方法,其特征在于,所述基于一类密码学置换的随机口令生成方法包括:第一步,用户从所选择使用的字符集类型中选择设置每一个字符位的字符类型;并由系统随机生成口令中每一个字符位的字符类型;第二步,对口令中的每一个字符位,生成一个5位二进制的随机数x,并随机构造一个GF(2)5上的非线性正形置换P,将该正形置换作用于所述随机数x,得到P(x)5位二进制的数字;其中,GF(2)5表示二元伽罗瓦域的五维向量空间;第三步,根据每一个字符位的字符类型,将P(x)5位二进制的数字转换为对应字符类型的字符,得到所生成的口令。2.如权利要求1所述的基于一类密码学置换的随机口令生成方法,其特征在于,第一步前,需进行:用户选择口令所要使用的字符集与口令长度。3.如权利要求2所述的基于一类密码学置换的随机口令生成方法,其特征在于,所使用的字符集包括阿拉伯数字、大写字母、小写字母及特殊字符四种类型,用户至少选择其中的三种;口令的字符长度不小于8。4.如权利要求1所述的基于一类密码学置换的随机口令生成方法,其特征在于,第一步,系统随机生成口令中每一个字符位的字符类型中,如果用户选择的字符集是三种,设为μ1,μ2,μ3,口令长度是λ;则首先生成一个1到λ的随机数λ1,进而设定λ1位置的字符属于字符集μ1;接着生成一个1到λ的随机数λ2(λ2≠λ1),进而设定λ2位置的字符属于字符集μ2;随后生成接着生成一个1到λ的随机数λ3,λ3≠λ2,λ3≠λ1,进而设定λ3位置的字符属于字符集μ3;最后对λ-3个字符位,系统对每一个字符位都从μ1,μ2,μ3中随机选择一种作为该字符位的字符类型;如果用户选择的字符集是四种,设为μ1,μ2,μ3,μ4,口令长度是λ;则首先生成一个1到λ的随机数λ1,进而设定λ1位置的字符属于字符集μ1;接着生成一个...

【专利技术属性】
技术研发人员:童言徐士伟王邦菊郭曦赵逸之
申请(专利权)人:华中农业大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1