首页 / 专利库 / 人工智能 / 图灵测试 / 基于静态字符进行CAPTCHA图灵测试的认证方法及系统

基于静态字符进行CAPTCHA图灵测试的认证方法及系统

阅读:952发布:2020-06-15

专利汇可以提供基于静态字符进行CAPTCHA图灵测试的认证方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于静态字符进行 图灵测试 CAPTCHA的认证方法,其包括以下步骤:在 服务器 和客户端之间建立通信连接;在服务器端预先存储的静态字符串 数据库 中随机选取静态字符串;将所述静态字符串分割成单个字符,随后调用字符图像生成函数将所述单个字符转换为图像表示;将所述用图像表示的单个字符放置在以圆形或椭圆形边界构成的区域内,以作为验证码在客户端显示,从而进行图灵测试CAPTCHA。该方法采用以圆形或椭圆形边界构成的区域内放置验证码,可以有效地防止字符被常规的 像素 分割法分割,从而增加了攻击的难度;对字符进行扭曲、镜像以及增加干扰线条等处理;根据字符的具体语义进行字符的排列增加了更多的人类参与,可以确保安全的 人机交互 。,下面是基于静态字符进行CAPTCHA图灵测试的认证方法及系统专利的具体信息内容。

1.一种基于静态字符进行图灵测试CAPTCHA的认证方法,其特征在于,包括以下步骤:
S101、在服务器和客户端之间建立通信连接;
S102、在所述服务器端的预先存储的静态字符串数据库中随机选取静态字符串;
S103、将所述静态字符串分割成单个字符,随后调用字符图像生成函数将所述单个字符转换为图像表示;
S104、将所述用图像表示的单个字符放置在以圆形或椭圆形边界构成的区域内,以作为验证码在客户端显示,从而进行图灵测试CAPTCHA。
2.如权利要求1所述的认证方法,其特征在于,在所述步骤S103之后,还包括将所述图像表示的单个字符进行扭曲处理的步骤。
3.如权利要求1或2所述的认证方法,其特征在于,在所述步骤S103之后,还包括将所述图像表示的单个字符进行镜像处理的步骤。
4.如权利要求3所述的认证方法,其特征在于,在所述步骤S103之后,还包括在所述图像表示的单个字符上叠加干扰线条。
5.如权利要求4所述的认证方法,其特征在于,所述静态字符串为具有具体语义的中文字符串。
6.如权利要求5所述的认证方法,其特征在于,在所述步骤S104中,规定所述单个字符在所述圆形或椭圆形区域内显示的顺序以使客户端能够按照确定的具体语义对所述中文字符串进行识别。
7.一种基于静态字符进行图灵测试CAPTCHA的认证系统,其特征在于,包括:
连接单元,用于在服务器与客户端之间建立通信连接;
字符串选取单元,用于在所述服务器端的预先存储的静态字符串数据库中随机选取静态字符串;
图像生成单元,用于将所述静态字符串分割成单个字符,然后调用字符图像生成函数将所述单个字符转换为图像表示;
显示及测试单元,用于将所述用图像表示的单个字符放置在以圆形或椭圆形边界构成的区域内,以在客户端显示从而进行图灵测试CAPTCHA。
8.如权利要求7所述的认证系统,其特征在于,所述系统还包括用于将所述图像表示的单个字符进行扭曲处理的扭曲处理单元。
9.如权利要求7或8所述的认证系统,其特征在于,所述系统还包括用于将所述图像表示的单个字符进行镜像处理的镜像处理单元。
10.如权利要求9所述的认证系统,其特征在于,所述系统还包括用于在所述图像表示的单个字符上叠加干扰线条的叠加单元。

说明书全文

基于静态字符进行CAPTCHA图灵测试的认证方法及系统

技术领域

[0001] 本发明涉及网络通信领域,尤其涉及一种基于静态字符进行CAPTCHA(Completely Automated Public Turning test to tell Computers and Humans Apart,“全自动区分计算机和人类的图灵测试”)图灵测试的认证方法及系统。

背景技术

[0002] 如今的web应用程序,像电子邮件、社交网站、博客、电子政务网站等已成为大家日常生活的必需品。伴随着快速发展的互联网,安全也成为一个日益关注的主要问题。为了避免来自恶意计算机程序巨大的攻击,Moni Noar在1996年引入“图灵测试”的概念来区别操作计算机的是人还是机器。2002年,在卡内基梅隆大学(CMU)一个研究小组由Manuel Blum和Luis von Ahn等实现了这种应用——CAPTCHA,俗称“验证码”,如图1a所示。其作用是防止恶意程序自动注册或登录、恶意灌、用特定程序暴破解帐户和密码等网络安全攻击。
[0003] CAPTCHA自被提出以来,由于其具有较可靠的区分人与机器的能力、占用资源小和易于实现等优点,现今已经被广泛应用于互联网的各个领域,包括电子邮件、网络论坛、网上行等,成为各大网站和论坛保护其服务器资源和阻止网络资源恶意滥用的有效工具,已经成为互联网的一个标准防范措施。鉴于它广阔的应用前景,目前很多学术机构和商业公司都在对其进行研究。
[0004] 随着CAPTCHA的研究发展,目前大致出现了三种类型的CAPTCHA:基于字符的CAPTCHA、基于图像的CAPTCHA;基于音频的CAPTCHA,见图1b。而目前使用最普遍的是基于字符的CAPTCHA。
[0005] 在2008年,Jeff Yan和Ahmad Salah El Ahmad通过对微软的基于字符的CAPTCHA使用二值化、垂直分割、颜色填充(CFS)、移除干扰等处理之后,对其破解成功率达到92%;而Greg Mori和Jitendra Malik通过数字图像处理和神经网络以及字母组合规律,也成功破解了雅虎的基于字符的CAPTCHA。
[0006] 上述CAPTCHA被成功破解说明目前的CAPCTHA还存在一些缺陷,主要 表现如下:字符之间没有很好的连接而容易分割,如图1c。而有些则过于粘连而造成了字符模糊现象,如图1b所示,其中的“rn”和“m”会发生误识别的现象。其次,可以根据先验知识判断出字符数量或字体的排列顺序。再者,静态字符验证码的字符库包括26个英文字母和10个阿拉伯数字,这36个字符库相对而言比较少。此外,有些CAPTCHA都是固定字数或固定使用常见单词作为CAPTCHA,如雅虎引用的。这种类型的可以用英文字母组合规律进行破解。 [0007] 随着网络业务的日渐丰富,用户通过网络所进行的网络购物、网络游戏、电子商务等活动和用户的经济利益相关,这就要求在线操作的是人而不是破坏性的自动程序。因此,对于作为区分人机最常用的手段的CAPTCHA,要保证它的鲁棒性日益显得重要。

发明内容

[0008] 本发明针对现有技术中基于字符的图灵测试CAPTCHA认证方法容易破解的缺点,提供了一种以客户器服务器为架构的、增加了更多人为参与的基于静态字符的图灵测试CAPTCHA认证方法,所述方法包括以下步骤:
[0009] S101、在服务器和客户端之间建立通信连接;
[0010] S102、在所述服务器端的预先存储的静态字符串数据库中随机选取静态字符串; [0011] S103、将所述静态字符串分割成单个字符,随后调用字符图像生成函数将所述单个字符转换为图像表示;
[0012] S104、将所述用图像表示的单个字符放置在以圆形或椭圆形边界构成的区域内,以作为验证码在客户端显示,从而进行图灵测试CAPTCHA。
[0013] 由于字符放置在以圆形或椭圆形边界构成的区域内,而不是常规的长条形区域内,可以有效地防止字符被常规的像素分割法分割,如垂直像素分割法,水平像素分割法,因此具有很强的防御性,从而增加了攻击的难度。
[0014] 根据本发明的一个实施例,在所述步骤S103之后,还包括将所述图像表示的单个字符进行扭曲处理的步骤。对字符进行扭曲,增加了机器识别的难度,却不影响人类进行识别。
[0015] 根据本发明的一个实施例,在所述步骤S103之后,还包括将所述图像表示的单个字符进行镜像处理的步骤。对字符进行镜像,适用于字符为中文字符的情 况,因为镜像后的中文字符,对于人而言识别起来不是困难,而对于机器而言,难度增加很多。因此,相当于进一步提高了图灵测试CAPTCHA的可靠性。
[0016] 根据本发明的一个实施例,在所述步骤S103之后,还包括在所述图像表示的单个字符上叠加干扰线条。
[0017] 根据本发明的一个实施例,所述静态字符串为具有具体语义的中文字符串。具有具体语义的字符串放置在圆形或椭圆形区域内,对于人类而言,识别起来非常容易,而对于想进行攻击的机器而言,要想获得正确的验证码,还必须得进行大量的工作,因此该特征进一步增加了攻击的难度。
[0018] 根据本发明的一个实施例,在所述步骤S104中,规定所述单个字符在所述圆形或椭圆形区域内显示的顺序以使客户端能够按照确定的具体语义对所述中文字符串进行识别。
[0019] 根据本发明的另一个方面,还提供了一种基于静态字符进行图灵测试CAPTCHA的认证系统,其包括:
[0020] 连接单元,用于在服务器与客户端之间建立通信连接;
[0021] 字符串选取单元,用于在所述服务器端的预先存储的静态字符串数据库中随机选取静态字符串;
[0022] 图像生成单元,用于将所述静态字符串分割成单个字符,然后调用字符图像生成函数将所述单个字符转换为图像表示;
[0023] 显示及测试单元,用于将所述用图像表示的单个字符放置在以圆形或椭圆形边界构成的区域内,以在客户端显示从而进行图灵测试CAPTCHA。
[0024] 根据本发明的一个实施例,所述系统还包括用于将所述图像表示的单个字符进行扭曲处理的扭曲处理单元。
[0025] 根据本发明的一个实施例,所述系统还包括用于将所述图像表示的单个字符进行镜像处理的镜像处理单元。
[0026] 根据本发明的一个实施例,所述系统还包括用于在所述图像表示的单个字符上叠加干扰线条的叠加单元。
[0027] 本发明带来了以下有益效果:(1)由于字符放置在以圆形或椭圆形边界构成的区域内,而不是常规的长条形区域内,可以有效地防止字符被常规的像素分割法分割,如垂直像素分割法,水平像素分割法,因此具有很强的防御性,从而增加了攻击的难度;(2)对字符进行扭曲、镜像以及增加干扰线条等处理,进 一步增加机器进行识别的难度;(3)根据字符的具体语义进行字符的排列增加了更多的人类参与,可以确保安全的人机交互。 [0028] 因此,根据本发明的图灵测试CAPTCHA的鲁棒性好,具有很强的区分人机操作的能力。因此,采用本发明的CAPTCHA不易于受到非法计算机程序的攻击,从而实现更安全可靠的互联网通信。
[0029] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

[0030] 图1a显示了现有技术中的一种CAPTCHA的实施例;
[0031] 图1b显示了现有技术中三类CAPTCHA的实施例;
[0032] 图1c显示了一种容易被分割的CAPTCHA的实施例;
[0033] 图2显示了根据本发明的一个实施例产生CAPTCHA以进行认证的方法流程图; [0034] 图3显示了根据本发明在服务器、客户端以及数据库之间如何基于CAPTCHA进行认证的通信原理图;
[0035] 图4显示了根据本发明的另一个实施例产生CAPTCHA以进行认证的方法流程图; [0036] 图5显示了根据本发明一个实施例在圆形边界内放置CAPTCHA的布局;
[0037] 图6是根据本发明一个实施例对CAPTCHA进行镜像处理前、后的比较示例图; [0038] 图7是根据本发明一个实施例对CAPTCHA进行扭曲处理所采用的函数映射示例图;
[0039] 图8是根据本发明一个实施例对CAPTCHA进行扭曲处理前、后的比较示例图; [0040] 图9详细显示了对CAPTCHA进行按照本发明的思想的各种处理后的设计雏形。 具体实施方式
[0041] 以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
[0042] 另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0043] 本发明的方法基于Window操作系统,采用java语言进行编译实现。主要在于建立一个包含服务器和客户端的认证系统,具体包含服务器和客户端的通信原理。
[0044] 下面,在介绍如何产生CAPTCHA验证码的方法之前,先简要说明本发明方法实施例所用到的客户端服务器的通信原理。
[0045] 本发明采用IP网络通信方式在服务器、客户端和授权中心之间进行通信。所有的网络通信就其实现技术可以分为两种,线路交换和包交换,计算机网络一般采用包交换,TCP使用了包交换通信技术。计算机网络中所传输的数据,全部都以包(Packet)这个单位来发送,包由“报头”和“报文”组成,结构如表1所示:
[0046] 表1
[0047]
[0048] 在“报头”中记载有发送主机地址,接收主机地址及与报文内容相关的信息等。在“报文”中记载有需要发送的数据。网络中的每个主机和路由器中都有一个路由寻址表,根据这个路由表,包就可以通过网络传送到相应的目的主机。
[0049] 网络通信中的一个非常重要的概念就是套接字(Socket)。简单地说,套接字就是网络进程的ID。网络通信归根到底是进程的通信。在网络中,每个节点有一个网络地址(即IP地址)。两个进程通信时,首先要确定各自所在网络节点的网络地址。但是,网络地址只能确定进程所在的计算机,而一台计算机上可能同 时有多个网络进程,还不能确定到底是其中的哪个进程。由此套接字中还要有其他的信息,那就是端口号(Port)。在一台计算机中,一个端口一次只能分配给一个进程,即端口号与进程是一一对应的关系。所以,端口号和网络地址就能唯一地确定Internet中的一个网络进程。也就是说,套接字=网络地址+端口号。在此基础上,服务器打开一个通信信道。在java语言中,建立一个Socket对象,就是打开了一个通道。这个通道包含了需要通信的IP地址和端口号(一般大于1024,因为1024之内被当作预留和已经被使用)。然后服务器开始处于监听状态(listen(),accept()),看是否有客户端发来的请求。如果有客户的请求,然后服务器响应客户端的请求,分别通过recv()/send(),在套接字上读写数据,等待是否通信完成,完成则关闭socket,结束对话。 [0050] 如图3所示,在服务器与客户端通信建立之后,客户端会向服务器发送请求信息,该请求信息中包括验证码。服务器调用数据库进行查询与匹配,而后数据库向服务器返回查询和匹配结果到服务器,服务器对请求信息进行匹配,看是否匹配成功,若匹配成功,则相应客户端请求,若匹配结果不成功,则拒绝客户端的请求。
[0051] 下面,基于上述通信原理来介绍根据本发明的方法如何产生CAPTCHA验证码。 [0052] 如图2所示,其中显示了根据本发明的一个实施例产生CAPTCHA以进行认证的方法流程图。
[0053] 在步骤S101中,采用如前所述的方法建立客户端与服务器之间的通信连接。随后,在步骤S102中,服务器在预先存储了静态字符串的数据库中随机选取静态字符串。例如,从数据库中随机选取诗句“白日依山尽”这样的字符串来作为产生验证码的原形。 [0054] 在步骤S103中,将选取的静态字符串分割成单个字符,调用字符图像生成函数将各个字符转换为图像表示。例如,采用WordGeneratorMine函数将将静态字符串分割成单个字符Char[]数组显示。例如,把诗句“白日依山尽”分割成“白”“日”“依”“山”“尽”。而后对单独的字符调用字符图像生成函数(java API文档)把字符转换成单独的图像。 [0055] 在步骤S104中,将上述用图像表示的各个字符放置在以圆形或椭圆形边界构成的区域内,以作为验证码在客户端显示,从而进行对客户端的认证,区分出
[0056] 是人还是计算机在进行操作。
[0057] 表2
[0058]
[0059] 将字符放置在以圆形或椭圆形边界构成的区域内,是为了阻止字符的分割。目前,Elie Bursztein已经对CAPTCHA列出了具体的破解方法,主要分为5部分:预处理、分割、后分割、识别和后识别。而Kumar Chellapilla,Kevin Larson等通过人与神经网络对分割后(这是一个前提)的字符进行识别,发现神经网络对字符识别成功率会更高一些。 [0060] 而目前对CAPTCHA的研发也已经把阻止分割作为CAPTCHA破解的一项重要指标,例如Google设计的CAPTCHA,能有效的抵抗分割,但是其存在另一个问题,那就是字符误识别现象,比如“cl”和“d”“m”和“nn”,如表2所示。
[0061] 微软科学家经过研究发现也表示,不要轻易让自动程序找到目标字符的位置。换句话说,字符测试序列应该具有分割抵抗性。而且图像分割法被认为是现今验证码攻击方法中对处理静态字符验证码最为有效的方法之一。因此,从这点出发,将字符放置在一个圆形或椭圆结构上,如图5所示。这样的字符摆放方式对于现在广泛应用的图像分割攻击方法,如垂直像素分割法,水平像素分割法,具有很强的防御性,自动程序很难找到一个通用的算法来找到验证码图片中的每个字符,从而增加了攻击的难度。
[0062] 此外,为了进一步增加CAPTCHA的鲁棒性,可以加入更多的人类参与。
[0063] 如图4所示,其中显示了如何实现增加了更多人类参与的CAPTCHA的方 法流程图。首先,在步骤S201中,从数据库中随机选取具有具体语义的中文字符串;然后采用常规方法将其分成单个的字符数组,再由字符图像生成函数将其转变为图像表示。
[0064] 在步骤S202中,对用图像表示的单个字符进行扭曲和/或镜像处理。在步骤S203中,在用图像表示的单个字符上增加干扰线条,从而增加分割的难度。
[0065] 在步骤S204中,将单个字符以使客户端能够按照确定的语义对字符串进行识别的顺序放置在圆形或椭圆形区域内。
[0066] 以下将会详细描述这些处理的具体过程。
[0067] 根据CAPTCHA最初的设计思想,CAPTCHA的目的是区分计算机和人类的一种程序算法,是一种区分用户是计算机和人的计算程序,这种程序必须能生成并评价人类能很容易通过但计算机却通不过的测试。这个要求本身就是悖论,因为这意味着一个CAPTCHA必须能生成一个它自己不能通过的测试。但是目前这种悖论已经被基于神经网络为基础的自动程序破解,神经网络对字符的判断和识别有着很高的成功率。
[0068] 基于这一点,简单的字符识别已经很难满足CAPTCHA的设计思想,为了防止CAPTCHA的破解,我们应该在CAPTCHA中加入更多人类的特性,比如:简单的计算能力,句子和图片的理解能力等这些难以被计算机视觉模仿或神经网络破解的人类参与性。常见的如:火车票采购网(www.12306.com),其以简单计算能力为验证方式,这种方式很难被破解,原因在于人类高度的参与性。
[0069] 为了增加CAPTCHA更多的人类参与性和鲁棒性,我们以判断字符顺序作为一种人类参与的认证方式。根据本发明的一个实施例,可以在步骤S204中,规定所述单个字符在所述圆形或椭圆形区域内显示的顺序以使客户端能够按照确定的具体语义对所述中文字符串进行识别。其原理是人可以很容易根据字符判断出语义,而自动程序目前只有对字符有很强的识别性,但其不能根据字符判断出语义,如图5右边所示:“白日依山尽”。 [0070] 另外,在汉语中,相同的字可能会出现两种含义“学现代密码”和“现代密码学”。因此,我们需要满足密码学唯一性要求。为了解决这类问题,我们限制字符的排列顺序,采用第一个字符是任意排列,而余下的字符则按照顺时针排列。如果按照上述的顺时针排列方法,则只有“我爱你”,而“你我爱”则不符合语言表达习惯舍弃。如图5所示,我们很容易看出验证码的正确顺序是“白日依山尽”,而 目前的自动程序只能做到识别到字符却无法判断出字符的语义。
[0071] 因此,根据本发明的一个实施例,可以在步骤S204中,规定所述单个字符在圆形或椭圆形区域内显示的顺序以使客户端能够按照确定的具体语义对所述中文字符串进行识别。
[0072] 由于验证码采用的是汉字字符,因此可以选取镜像修饰字符来阻止字符识别。镜像之所以称为特殊,主要是由于它适合在中文静态字符CAPTCHA中使用,而不适合在英文的静态字符CAPTCHA中使用。英文的字符镜像会造成字符之间的发生错误的认识,比如“p”和“q”,另外“m”和“w”之间若是上下镜像对称也会出现错误的识别。镜像是字符在界面中显示如同在镜子里看到的一样,选择镜像主要因为:
[0073] 1)镜像之后的字符,对于人,是很容易根据语义推断出镜像的字符,而相对于自动程序而言识别和困难。
[0074] 2)阻止字符骨骼法特征识别法——对于分割之后的字符,平滑边缘处理,提取骨骼特征,然后进行字符的识别——是现在流行的一种新型识别方式。这种识别主要是通过骨骼特征值来实现,而普通的扭曲和改变字体无法更改原字符的骨骼特征值,但是镜像处理却可以使字符骨骼特征值发生变化,对这种识别方式防御很有效。
[0075] 镜像对称的实现算法是我们先找到字符的整个宽度的中间的像素列,以此列像素为对称轴将左右的像素做位置置换,即得到镜像左右对称后的字符。例如左右镜像对称前字符中一个像素的坐标为(x,y),而图像的长宽分别是(a,b)。那么像素(x,y)经过镜像对称后得到的像素坐标为(a-x,y)。如图6所示为经过左右镜像处理的字符效果。
[0076] 因为扭曲可以增加分割的难度从而增加CAPTCHA的鲁棒性,因此,对于汉字而言,扭曲值是非常有必要的。但是,字符的过于扭曲则会降低用户体验度。基于这点考虑,我们则选择参数可控的扭曲方法。
[0077] 这种方法有很多:比如通过函数的映射,通过对图像宽高比的设定等等。为了便于实现,我们选择函数映射的方法。
[0078] 如图7所示,显示了根据本发明一个实施例对CAPTCHA进行扭曲处理所采用的函数映射示例图函数映射。在数学中,我们知道,一个集合的点一个固定的函数,与另外一个集合实现的映射的关系。
[0079] 而对于图像,其都是由像素点组成的。而扭曲则是由于像素点的偏移或者缩放造成的。因此,对像素点进行函数的映射则可以改变像素之间的相对位置,从而实现字符的扭曲。
[0080] 对于函数,可以根据实际情况而定,有sin函数,cos函数等等。而在图像处理中,像素点只能是整数。经过函数映射之后,需要对像素点进行数据类型转换,以满足要求。我们定义从直坐标系映射至正弦函数坐标系的函数映射f(x,y):
[0081] 即(x,y)经过正弦函数的映射,得到的坐标点是(σ,θ)。则原来字符图像的上的每个像素点经过此函数映射后得到新的点(σ,θ)。当把原字符图像上所有像素点都映射到新的坐标系上表示后,我们会发现:1)坐标系中的点经过映射之后发生了变化;2)相邻像素点之间经过映射之后相对位置发生变化,这是发生扭曲的关键因素;3)对映射之后的像素进行重组图像可能会出现字符断裂等现象。因此,需要使用数字图像处理手段——插值处理将得到的扭曲字符进行平滑。插值平滑就是,对镜像之后的周围像素点取平均值,使重组的图像光滑。
[0082] 对于具体的函数而言,我们可以修改函数的幅度来改变扭曲的强弱,即扭曲的幅度越大,而扭曲则越严重。
[0083] 接下来,可以重新调用通过另一个以像素组成的图像函数,生成图像。即在warpPanel中,完成对像素之间的变化,从而产生需要的字符样式。而后调用像素重构生成一副图像。然后在用户界面上绘制出来。
[0084] 对于常见的CAPTCHA,有很多可以看出干扰线或干扰点,对于这一点,我们通过阅读CAPTCHA的有关论文指出:粗线条比干扰点和细线条有更好的效果。基于这点,我们又对图像产生一个干扰线条。干扰线条是通过三样条插值实现,因为三样条插值:提高精度只须增多分划节点而且方程组的系数矩阵总是严格对角占优的。这样就保证了三次样条插值函数存在而且唯一,数值稳定。
[0085] 根据三样条插值的原理,我们需要分段计算插值函数的系数。三样条插值就是在一个递增的区间[x0……xn]之间,每个间段即[x1,x2]之间,表示成一个是三次多项式,且满足条件。每个端点处的一阶导数和二阶导数分别连续。基于这点,通过数学计算,我们推导出一个计算分段函数系数的公式:
[0086]
[0087] 其中:hi=xi+1-xi;λi=hi+1/hi+hi+1;μi=1-λi;gi=6/hi+hi+(1 f[xi,xi+1]-f([xi-1,xi])) [0088] 计算出函数的系数mi,由于xi差值范围很小,不利于画线。因此,可以需要扩大其差值范围,即:每个xi扩大100倍,加入xi+1=1.2而xi=1.1,则扩大100之后,会变成120和110。这样,在取整数值,则会出现10个点,把这些点一次带入曲线方程,求出Yi的值,然后用这些点画直线,然后进行整体缩小,则就会出现曲线。
[0089] 根据本发明的另一个方面,还提供了一种基于静态字符进行图灵测试的认证系统,其包括:连接单元,用于在服务器与客户端之间建立通信连接;字符串选取单元,用于在所述服务器端的预先存储的静态字符串数据库中随机选取静态字符串;图像生成单元,用于将所述静态字符串分割成单个字符,然后调用字符图像生成函数将所述单个字符转换为图像表示;显示及测试单元,用于将所述用图像表示的单个字符放置在以圆形或椭圆形边界构成的区域内,以在客户端显示从而进行图灵测试。
[0090] 系统还可以包括用于将所述图像表示的单个字符进行扭曲处理的扭曲处理单元和/或镜像处理单元。
[0091] 此外,系统还包括用于在所述图像表示的单个字符上叠加干扰线条的叠加单元。 [0092] 实现扭曲、镜像和叠加干扰线条的方式如上所示,这里不再赘述。
[0093] 虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈