CN1236639C - 对数据字符串授权的方法 - Google Patents

对数据字符串授权的方法 Download PDF

Info

Publication number
CN1236639C
CN1236639C CN02154287.2A CN02154287A CN1236639C CN 1236639 C CN1236639 C CN 1236639C CN 02154287 A CN02154287 A CN 02154287A CN 1236639 C CN1236639 C CN 1236639C
Authority
CN
China
Prior art keywords
data
key
cyclic redundancy
redundancy check
string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN02154287.2A
Other languages
English (en)
Other versions
CN1433238A (zh
Inventor
D·霍尔
I·特雷菲尔
K·哈蒙
N·鲍蒂斯塔
S·特尔森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LifeScan Inc
Original Assignee
LifeScan Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LifeScan Inc filed Critical LifeScan Inc
Publication of CN1433238A publication Critical patent/CN1433238A/zh
Application granted granted Critical
Publication of CN1236639C publication Critical patent/CN1236639C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Storage Device Security (AREA)
  • Calculators And Similar Devices (AREA)

Abstract

对数据字符串进行授权或认证的设备和方法。该设备包括一个包含循环冗余校验值的已存储列表的存储器,每个循环冗余校验值与表示已授权标识符的数据串相对应。该存储程序用于将要授权的数据串的循环冗余校验值与循环冗余校验值的存储列表相比较,并且确定要授权的数据串的循环冗余校验值的正确性。表示授权标识符的数据串可以包括表示指示被授权用户的字母数字字符串的数据,并且要授权的数据串可以包括用户所输入的字母数字字符的标识串。该方法包括:创建一循环冗余校验值的列表,该每个循环冗余校验值与表示授权标识符的数据串相对应;将要授权的数据串的循环冗余校验值与所述循环冗余校验值列表进行比较;以及确定要授权的所述数据串的所述循环冗余校验值是否授权。

Description

对数据字符串授权的系统和方法
技术领域
本发明涉及一种对数据字符串进行授权或认证的设备、方法和系统。
背景技术
具有数据输入和显示功能的手持式数据处理设备正逐渐地被用于众多的场合,其众所周知的例子包括蜂窝式电话和″个人数字助理″(PDA)设备。由于具有更大的处理能力和更小的体积使设备更易于使用,这种手持式的数据处理设备在医学、卫生保健、金融、工程及其他领域的应用将逐渐变得广泛。用户输入数据的效率和这些数据的快速处理和显示是手持式数据处理设备的重要考虑因素。然而现在使用的手持式数据处理器提供的数据输入与显示存在各种缺陷。
背景技术
尤其地,这种手持式设备的小尺寸往往使通过字母数字键区、键盘或触屏的输入方式很复杂。各种用于用户输入字母数字字符的设备都已经使用在了手持式设备中。一种解决途径是在显示设备上使用一个完整的标准键盘,如同在许多PDA设备上都有的。这种键盘为大多数用户所熟知,并且仅需要键入一个单键的按键或动作并显示相应的字母数字字符。而在一个小型设备上陈列一个完整的键盘的话,会需要很多很小的单键或按钮,并且需要使用一个尖笔进行数据输入。
另一个数据输入的解决途径是使用一个传统的电话字母数字键区,其中一个单键的多次按键或操作允许对与该键有关的几个字母中的每个进行循环操作。例如,当″2″键开始按下,一个相对的2在设备上被显示。再次按下″2″键,显示的2变成″A″,在第三次按下″2″时结果显示的是″B″,等等。这个方法允许使用一个相对小的字母数字键区进行数据输入,输入一个单个字母数字符号可能需要四次按键以便获得一个期望的字符。用这样的方式输入字母数字串不是直观的,而且对没有学习过的用户来说是困难的。此外,许多电话键区不提供″Q″和″Z″字符,这些字符的输入必须通过按下两个或更多键的组合或通过其他的数据输入排列来提供。
另一个数据输入的途径是在不同的屏幕图象上提供不同部分的显示,它提供一个按钮或键以便允许在多个屏幕图像之间的切换。例如,第一个屏幕可以用来显示号码,其他的屏幕用来显示字母字符。为显示全部的字母数字字符所需要的屏幕的总数依赖于显示屏的尺寸。一个小型显示器通常需要三个或四个这种屏幕。由于需要在屏幕之间切换,这种字母数字串的输入可能是十分复杂的和费时的。
在手持式数据处理设备的操作中,另一个要考虑的重要因素是由所述设备对数字数据处理进行错误检测。典型的错误检测是利用循环冗余校验(CRC)算法。这个算法的实现一般由内嵌于软件中的除法算法来执行的,它相对比较慢并且需要相当大的计算开销。
一个更快的CRC计算的解决途径是通过使用连接“与”和“异或”操作的一个软件检查表格来执行等效的除法运算。这个方法对于大数据流来讲仍是相对缓慢的,并且要求大量存储器来储备检查表(例如,16位CRC需要512字节)。更快一些的方法使用一个内嵌在硬件中的CRC电路,同时需要一个因通过数据流而增加的软件循环,将每个字节写入用来执行除法计算的CRC电路。虽然使用了CRC电路增加了速度,但是对大数据流来讲,软件循环的总开销仍然需要相当长的一段时间。
对手持式数据处理设备所要考虑另一个问题是有关将数据写入到显示设备的时间,该显示设备通常是一个基于像素的液晶显示(LCD)。将数据输出到显示控制器通常涉及一个软件执行循环,该循环通过输出数据流而增加,在某时刻将一个字节写入到显示控制器。  这个结构对于基于像素的显示是缓慢的,因为许多字节通常必须被写入以便在显示器上形成字母数字字符或者图标,并且软件循环的总开销由于需要通过这样写入每个字节而增加。
许多工作环境需要多个用户访问手持式数据处理设备,因此授权用户的确认仍是该设备在设计和运行的过程中的重要考虑因素。对于用户确认的标准技术是用户输入的标识(ID)字符串。将输入的字符串与一个保存在该设备存储器中的阵列或列表中的授权字符串相比较。软件通过查找该列表并且将相关字符串和每个被存储的输入串相比较,直到发现一个相配的或直到已存储的字符串的列表被排空。该列表一般按分类次序排序,并且执行一个二分法检索。然而,按照这种方式进行字符串比较,可能需要大量存储器以便存储授权串列表,该列表是大规模的并且串长度是很长的。例如,具有字符最大长度为18的4,000个串的存储需要72,000字节。更进一步地说,字符串比较所需要的时间取决于串长度,可能是相当长的,并将导致在用户确认上过多的延迟。
因此,需要一个手持式数据处理的设备和方法,该设备和方法允许用户快速容易输入字母数字字符,在操作期间提供快速的数据错误检查和快速的数据写入到显示,并且为用户授权提供快速的字符串比较。本发明可以满足这些需要,以及其它的一些需要,并且普遍地克服了在背景技术中存在的不足。
发明内容
本发明提供对数据字符串进行授权或认证的设备、方法和系统。本发明的设备大体上包括一个存储器以及一个存储的程序。该存储器包括一个循环冗余校验值的已存储列表列表,每个循环冗余校验值与用于表示授权标识符的数据串相对应。该程序用于将要授权的数据串的循环冗余校验值与循环冗余校验值的存储列表相比较,并且确定要授权的数据串的循环冗余校验值的正确性。表示授权标识符的数据串可以包括用于表示被授权用户所指示的字母数字字符串的数据。要授权的数据串可以包括用户所输入的字母数字字符的标识串。该设备可以进一步包括一个与存储器相耦合的可操作小键盘,该小键盘用于输入用户所输入的标识串。  该存储器另外可包括被存储的程序,该程序用于计算多个数据串的循环冗余校验值并且创建标识字符串的循环冗余校验值的存储列表。
在特定的实施例中,该设备还可包括一个可操作的与存储器相耦合的直接存储存取控制器、一个可操作的与直接存储存取控制器相耦合的循环冗余校验电路。该直接存储存取控制器用于将来自存储器的数据作为一数据流传送到循环冗余校验电路,并且循环冗余校验电路用于计算该数据流的校验值。该设备进一步可包括被存储的程序,该程序用于安排循环冗余校验电路具有选择的初始值,用于设置直接存储存取控制器具有数据流的源地址,数据流的目的地址和数据流的大小;该程序用于通过直接存储存取控制器启动将数据流从存储器传送到循环冗余校验电路。该设备另外可包括被存储的程序,该程序用于从循环冗余校验电路中读取已计算的循环冗余校验值,并将已计算的循环冗余校验值存储在存储器中。
在另一些实施例中,该设备还可包括一个可操作的与直接存储存取控制器相耦合的显示控制器。该直接存储存取控制器用于将来自存储器的显示数据作为一显示数据流传送到显示控制器。该设备进一步仍可包括被存储的程序,该程序用于建立具有显示数据流的显示地址的显示控制器、用于建立具有显示数据流的源地址,显示数据流的目的地址以及显示数据流大小的直接存储存取控制器,并且用于通过直接存储存取控制器开始将显示数据流传输到显示控制器。
通常主要方法大体上包括:在计算机上创建一循环冗余校验值的列表,该列表中的每个所述循环冗余校验值与一表示一授权用户的字符串相对应;将所述的循环冗余校验值的列表传送给所述手持式数据处理设备;将用户标识字符串输入所述手持式数据处理设备;利用所述手持式数据处理设备,计算所述用户标识字符串的循环冗余校验值;利用所述手持式数据处理设备,将所述用户标识字符串的循环冗余校验值与所述循环冗余校验值列表进行比较;以及利用所述手持式数据处理设备,确定所述用户标识字符串的所述循环冗余校验值是否表示一授权的字符串。该方法进一步可包括对循环冗余校验值的列表进行分类并存储。该方法另外可包括为要授权的数据串计算循环冗余校验值。循环冗余校验值列表的建立可以在第一计算机上执行,而所述的比较和确定步骤可以在第二计算机上进行。所述的方法还可以包括将循环冗余校验值列表从第一计算机传送到第二计算机。比较步骤可以包括查找与所述要授权的数据串的循环冗余校验值相匹配的循环冗余校验值的列表。在特定实施例中,表示授权标识符的数据串可以包括由被授权用户所指示的用于表示被认证的字母数字字符串的数据,并且要授权的数据字符串可以包括一个由用户所输入的字母数字的标识串。
附图说明
根据以下附图来更完整地理解本发明,附图的目的仅仅是为了进行说明。
图1是根据本发明的一个小键盘的示意图。
图2A到图2H给出了图1中的小键盘上的字母数字字符串的输入。
图3是根据本发明的一个数据处理设备的功能方块图。
图4是根据本发明的一个从直接存储存取控制器将数据传送到CRC电路的流程图。
图5是根据本发明的一个从直接存储存取控制器将数据传送到显示控制器的流程图。
图6A是为字母数字字符串创建被授权校验字列表的流程图。
图6B是将字母数字字符串和授权校验字列表进行比较的流程图。
具体实施方式
在发明的主题被进一步描述之前,应当很容易理解的是本发明不局限于如下所述的特定实施例,可对特定实施例进行各种变化并且其仍属于随后权利要求书的范围。此外,还可以理解的是所采用的术语是为了对特定实施例进行描述,并不是局限于此。而是,本发明的范围将由随后的权利要求来建立。
在此所提供的任何定义的目的是为了更清楚的说明,而不应被认为是限定。在此所使用的专业的和科学的术语具有相同的含义,对本发明领域的普通技术人员来讲是通用的。
术语″字母数字字符″和″字母数字符号″以及语法上与此等价的词都在此表示任何数字、字母的文字、单音节符号、多音节符号、文本符号、数学符号或任意其它的符号。这些符号可以用于由用户从键盘或键区输入数据,或是与所输入的数据相对应的或表示相同含义的二进制数据。举例来说,典型的″字母数字字符″包括罗马字母文字,阿拉伯数字,以及诸如″句点″、″逗点″、″短横″等等之类的标点符号。字母数字字符可以由传统的用户输入端输入,或可以包含在存储的二进制数据中。
本发明提供了可以快速地、容易地和有效地利用手持式数据处理设备的设备和方法。手持式计算设备通常只具有很小的键区和可以使用的显示区以及有限的储存容量。本发明的设备和方法提供了尤其快速且容易的在一个小的键区或键盘上输入字母数字字符、在数据传送中快速的校验字计算、快速将数据写入到显示设备,以及快速、有效的认证用户标识字符串。
为了说明性的目的,进一步具体参考附图,本发明可由通常如图1到图6所示的设备和方法来体现。可以理解的是,在没有脱离在此所披露的基本概念的基础上,该设备可对结构和具体部件做出各种修改,并且该方法也可对事件或操作的具体细节和顺序做出修改。所公开的发明主要是用于手持式数据处理机或计算机中。然而,对那些本领域的技术人员来讲,本发明可以使用任意一种类型的数据处理器,包括例如:桌面和膝上型计算机。对那些本领域的技术人员来讲,在此所描述的本发明的不同功能部分可以共享相同的逻辑并且在相同的电路中被实现或在不同的电路配置中实现。
现在参考附图1,给出了根据本发明的一个键盘或键区10。键区10包括多个第一″“硬的″或″固定的″键12、多个第二″软的″键14。键区上的每个第一或固定键12至少具有一个主要的字母数字符号15。另外,一个或多个固定键可以具有一个次要的与此相关的字母数字符号或符号16。如图所示,一个具有单一号码或数字形式的主要字母数字符号15位于每个第一键的键区中央靠下的部分,同时具有三个或四个罗马字母字符或相关文本符号形式的次要字母数字符号16位于第一键12的上部。  第一键12按照与传统电话键区相似的方式来显示字母数字字符。显示作为主要字母数字符号的数字“1”的第一键12包括作为次要字母数字字符的取代字符文字的″下划线″、″句点″、″斜杠″以及″破折号″。显示作为主要字母数字符号的数字“0”的第一键12也显示与″空格″、″反斜线符号″、″冒号″和″逗号″相对应的非字母的次要符号。
主要的和次要的字母数字符号15、16可以被显示在第一键12上的其它地方,或可以被显示在接近第一键12或与第一键12相关的其它地方。包括有删除键或退格键18以便允许删除所输入的字母数字字符,如下所述,并且提供了″输入″键20,它可以用来输入完整的字符串或作为一个复位键,或是可编程的以便依据键20的动作执行可选择的功能。
如图所示,第二软键14对应于与每个第一键12相关的次要字母数字符号16的最大数。一旦选择并激活了一个第一键12,与已激活的第一键12相关的相应第二字母数字符号16显示在相关的第二键14上,一个第二字母数字符号16显示在相关的相应第二键14上。次要字母数字符号16可以直接在第二键14上显示,如图所示,或在接近第二键14的位置上显示,或在与第二键14相关的其它地方显示。
在图1所示的实施例中,键区10位于一个触摸屏上,它叠加或添加在显示器22上。显示器22可以包括一个液晶显示器、LED、CRT或其它形式的显示器。在手持式的实施例中,显示器22通常是液晶显示器或LCD。触摸屏/显示器22包括一个区域24,在其上显示根据如上所述的所选择的所激活的主要键或第一键12和第二键14所选择的字母数字字符。
通过选择性的激活适当的第一键12和第二键14,任意一个字母数字字符串可以在键区10上被输入。按下或激活所选择的第一键12可造成在显示区域24上显示所选择的第一键12的主要字母数字字符15,并且还造成在软键14上显示相应的第二字母数字符号16。如果在显示器24上所显示的主要字母数字符号15是用户希望输入的符号,则第二键14不启动。如果另一方面,用户希望输入一个与第二键14有关的第二字母数字字符,用户可以激活适当的第二键14。这将导致用所选择的次要字母数字字符(文字)来代替在区域24上所显示的主要字母数字字符(数字)。
在图2A到图2H中说明了图1的键区操作。在图2A中,由用户来选择和按下或激活第一固定键12,该键用于显示主要字母数字字符4和次要字母数字″G″、″H″、和″I″。激活第一键12导致在显示区域24显示号码″4″,并且导致在第二键14上显示字母″G″、H″和″I″。如果用户在此只希望输入号码″4″,可以选择输入按钮20。如果用户相反希望输入″G″,″H″或″I″,选择并激活适当的第二键14。
如图2B所示,由用户选择并激活第二键以显示字母″H″,这导致了在显示区域24中由字母″H″替换了号码″4″。用户可以另外在这组次要字母数字字符中选择″G″或″I″。如果如图2B所示的字母″H″表示用户希望输入的全部字符串,可以按下输入键20。
用户可以通过选择并激活适当的第一键12和/或第二键14来不断扩大所输入的字母数字字符的列表。如图2C所示,给出了选择并激活具有主要的字母数字符号″2″和一组第二字母数字符号″A″、″B″和″C″的第二固定键12,这导致在区域24中在先前所选择的″H″之后显示号码″2″,并且在软键14上显示字母″A″,″B″和″C″。用户可以在此按下输入键20输入字符串″H2″。或者,如图2D所示,选择并激活与字母″A″相对应的第二键14以从第二组的字母数字字符中选择″A″,这导致在显示区域22用字母″A″代替了数字″2″,因此″HA″被显示在区域24。用户可以输入字符串″HA″或继续选择激活第一键12和第二键14以便增加字符串的长度。
在图2E中,用户选择并激活与主要字母数字符号″9″和一组第二字母数字符号″W″、″X″、″Y″以及″Z″有关的第一键12,这导致数字“9”的显示,因此″HA9″出现在显示区域24,也导致字母″W″、″X″、″Y″和″Z”在第二键14中显示。用户可以输入字符串″HA9″,或继续选择附加字符。如图2F所示,选择并激活与″W″相对应的第二键14,这导致用所选择的字符“W”替换了已显示的“9”,因此区域24显示字母数字字符″HAW″。
图2G表示选择并激活与主要字母数字字符″5″以及第四组字母数字″J″、″K″和″L″相对应的第四固定键12,因此″HAW5″被显示在区域24。用户可以输入字符串″HAW5″或继续改变或通过按下其他的键延长字符串。选择激活与″K″相对应的第二键14,例如,在区域24用″K″替换″5″,这样所期望的字母数字字符串″HAWK″被显示,如图2H所示。在此,用户可以激活″输入″键20以便输入所选择的字母数字字符串″HAWK″以用于将被在下面进一步说明的数据处理。或者,用户可以按照如上所述的方式通过选择并激活适当的第一固定键12和第二软键14来输入附加的字母数字字符。如果一个不正确的字母数字符号已经被选择和被显示,用户可以按下″删除″键18以便″反向跟踪″并从显示器24删除不需要的字符,然后通过激活适当的键来选择正确的字母数字字符。
仅仅通过激活第一键就可实现利用键区10来输入的单纯的数字字符串,而不需要用于显示第二的字母符号的软键。例如,可以通过顺序激活适当的具有″1″、″2″、″3″和″4″主要字母数字符号的适当第一键12来输入数字符号串″1234″,而无需激活任何一个第二键14。在其他的情况下,所期望的字符串需要连续激活不同的第二键14,而无需介入激活任何第一键12。因此,例如,可以通过如下的步骤来输入字符串FEED:激活其上有″3″的第一键以便在第二键14上显示字符″D″、″E″和″F″、随后通过连续激活适当的第二键14以输入″FEED″。
键区10有益于允许输入混合有字母和数字的较长复杂的字符串,而无需在显示器22上进行任何显示屏的转换。也就是说,在通过键区10输入数据的过程中保持第一键12一直出现在显示器22上,仅在第二键14和在显示区域24上所显示的字母数字字符发生变化。这样,一个键区10的用户可以输入任何字母数字字符16,同时第一键12和第二键14保持可视。
在图1和图2所示的实施例中,键区10中的十二个第一键12和四个第二键14允许四个次要字母数字字符与每个第一键12相连并且同时显示在第二键14上。键区10与传统的电话字母数字键区相似,并且键区的使用是直观的,这样键区的新用户可以通过最少的指令了解它的操作。在这些实施例中,激活第一键12可导致在区域24中立即显示相关的数字标记,同时非数字、字母符号被显示在软键14上;激活第二键14可对非数字、字母字符进行快速存取,而不需要显示屏图像的转换。在其它的实施例中,激活第一键12可以导致将全部相关的字母数字字符15、16显示在软键14上,而不在区域24发生字符显示,直到第二键14被按下。图1和图2所示的实施例给出了每个第一键12包括主要的和次要的两个字母数字符号15,16。然而,在其它的实施例中某个第一键12可以仅包括主要的字母数字符号15,而不包括次要的字母数字符号。通常至少一个第一键12包括主要的和次要的字母数字符号15,16两个,同时在很多的实施例中,多个第一键12包括主要的和次要的两个字母数字符号15,16,如图1和图2所示。
对本领域的普通技术人员来讲依据上述这些所披露的内容可得到对键区10作出多种变化的启示,并且这些变化被认为是包括在这些被披露的内容的范畴内。具有不同数字和结构的第一键12和软键14的键区10可以用来选择与多个不同字母和或写入系统相对应的字母数字字符的输入。例如,根据本发明的一个键区可使用与单个第一键有关的多个平假名,片假名与/或汉字字符,并且一旦按压下适当的第一键则可有选择的被显示在软键上。
现在参考图3说明,本发明的键区10被用在有关的数据处理设备26中。数据处理设备26可以包括一个诸如个人数字助理或″PDA″之类的手持式计算机。在其它的实施例中,数据处理设备包括迷你计算机、微型计算机、个人计算机(比如美国英特尔公司的产品)或它的兼容机,苹果计算机或它的兼容机,SUN工作站,或其它的类似计算机。在设备26中,键区10可操作的通过模-数转换器或ADC(未示出)与中央处理器或CPU28相耦合。
CPU28可操作的通过地址和数据总线30以及控制/状态信号接口32而耦合到设备26的不同的硬件部分。这些部分包括,尤其是,一系统存储器34、一个或多个SRAM缓冲器、一个或多个ROM、PROM、EPROM、EEPROM等等形式的只读存储器元件。其中系统存储器34可以包括不同的存储器元件(未示出),例如主DRAM或主存储器。数据处理机26此外包括一个直接存储器存取(DMA)控制器36、一个循环冗余校验(CRC)电路38,以及一个显示控制器40。中央处理器28执行与存储在存储器34中的软件有关的不同程序操作。由用户通过键区10按照上述方式所输入的数据被CPU 28处理,并且被存储在存储器34中或在存储器34中缓冲以用于与存储在存储器34中的软件有关的不同程序操作。DMA控制器允许快速将数据从存储器34传输到CRC电路38和显示控制器40,如下所述。显示控制器40可以包括一个显示控制器,它可操作的耦合到显示器22,如上图1和图2所述,并且显示控制器40提供了显示器22的操作。显示控制器40包括一个存储器(未示出)以用于存储显示数据。
按照传统的方式将CPU28、存储器34、DMA控制器36、CRC电路38和显示控制器40安排在主板上(未示出)并且在此通过地址和数据总线30和控制/处理接口32互连。数据处理设备26可以包括诸如硬盘驱动器,软盘驱动器,NIC,CD驱动器之类的不同附加元件(也未示出)和/或其它的传统硬件元件。数据处理设备26包括一个接口适配器42,它通过一个接口电缆或连接46将数据处理机26连接到外部计算机44。适配器42和接口46可以采用GPIB、RS-232、PCI、USB、SCSI、ETHERNET、FIREWIRE或其它的IEEE 1394接口,或其它的通信接口系统以将数据从外部计算机44传输到设备26。
系统存储器34通常包括一个适当的操作系统和适合于不同硬件元件的操作软件,它可操作的通过地址/数据总线30和控制/状态信号接口32而耦合到存储器34和CPU28。根据本发明存储器34还包括能够执行不同操作的已存储的程序或软件。
存储器34包括程序48,它能够通过执行下述操作经DMA控制器36而实现将数据流从存储器34传输到CRC电路38:安排CRC电路38具有一个所希望的初始值的操作、设置DMA控制器电路36具有数据传输的源地址和目的地址以及数据流大小、由DMA控制器电路36启动将数据传输到CRC电路38、并且从CRC电路38读出已计算的CRC值以将其返回到存储器34。
存储器34还包括程序50,能够有效通过DMA控制器36将数据从存储器34传输到显示控制器40,其中执行了下述操作:设置显示控制器40具有显示目的地址信息、设置DMA控制器电路36具有源地址和目的地址信息以及数据流大小信息、并且由DMA控制器电路36启动将数据从存储器34传输到显示控制器40。
此外,包括在存储器34内的软件或程序52能够将要授权、认证或验证的压缩数据字符串和一个存储在存储器34中的压缩数据字符串列表进行比较,该列表表示已被授权的标识符,这个比较是通过程序操作:接收数据字符串的输入,将输入串传输到CRC电路38以便进行压缩,在存储在存储器34中的压缩数据字符串的列表中为已压缩的、已输入的数据串查找一个匹配的字符串,验证已压缩的所输入的数据串。这些程序的操作将在下面进行描述。
CRC电路38通过计算校验数字为数据处理设备的不同硬件元件之间的二进制数据传输提供了错误检测,检验数通常是对目的地的数据流进行验证。通过安排多项式具有一初始值,然后通过一个由多项式所划分的数据流进行排序,从而执行CRC的计算。在每个步骤中该被除数被用作新的设置,由CRC电路38执行除法算法。这种类型的CRC电路在该技术领域是公知的,在此将不在详细说明。
CRC电路的CRC的计算值或计算数在传统上包括一个软件循环以用于通过数据流来增加并通过程序操作将字节写入到CRC电路。这种方式的CRC计算将导致大量的软件开销并且导致在对较大数据流的检验值进行计算期间有延迟。该软件开销的考虑对手持式计算机来讲是特别重要的,因为该设备的大小受到可用存储器以及处理能力的限制。
本发明的主题是通过利用DMA控制器电路36结合CRC电路38以执行CRC计算来克服这个缺陷。软件48用于安排CRC电路38具有一个所希望的初始值、用于加载DMA控制器36使其具有数据流中的第一字节地址以及该数据流中的字节数目,该字节数是由CRC计算所生成的。DMA控制器电路36然后自动地将该字节流传送到CRC电路38以便计算一个检验值。一旦全部的数据流都已由CRC电路38处理,软件然后通常从CRC电路38读取所得到的已计算检验值以为数据流执行完整的检验。因为仅在有关的配置CRC电路38和DMA控制器电路36的过程中,由DMA控制器电路36初始化数据传输的过程中,并且读出检验值的过程中使用软件48,因此计算检验值的全部软件开销很小。利用上述过程来进行CRC计算所需的时间与只通过软件而将数据传输到CRC电路38所实现的时间要小一个数量级。
参考图4和图3将可更完整理解利用根据本发明的DMA控制器电路36和CRC电路38来计算检验值。在事件100,加载在存储器34中的软件48被启动或被初始化,该软件包括用于执行与如下步骤有关操作的程序:安排CRC电路38,设置DMA控制器电路36,由DMA控制器电路36启动将数据传输到CRC电路38,以及从CRC电路38读出已被计算的CRC值。
在事件110,CRC电路38是安排具有一个所希望的数据流初始值,为该初始值而计算CRC值。初始值将根据数据流的大小和CRC值以及整个数据流所需的可信度而变化。数据流可以包括诸如与由用户在键区10所输入的一个字母数字字符有关的数据、存储在存储器34中的关键性数据,将被传输到或从外部计算机44所传输的一数据流,或任何与存储器34有关的可执行程序代码。
在事件120,DMA控制器36被建立以将数据流从存储器34传输到CRC电路38。这些设置通常包括提供了用于数据传送的一源地址和一目的地址,以及在将数据传送到DMA控制器36的过程中所涉及的字节数。
在事件130,由DMA控制器36初始化或开始数据流的传输,并且数据流的第一字节由DMA控制器36传输到CRC电路。DMA控制器36可以暂时″利用″地址和数据传送总线30来创建DMA信道以将数据流快速传输到CRC电路38。
在事件140,DMA控制器36根据在事件120所提供给DMA控制器36的设置信息而不断通过地址和数据总线30将数据流的字节发送到CRC电路38。
在事件150,DMA控制器36进行一个有关数据流中的所有字节是否都已经传输到CRC电路38的查询。这些查询在每个字节的传输之后周期性地进行。如果根据事件120中的设置信息中的数据流的大小所决定的数据流中的所有字节没有被发送,那么事件140被重复。如果数据流中的全部字节已经被传输,那么执行事件160。
在事件160,由CRC电路38利用一个除法算法为数据流计算CRC值或校验值。
在事件170,将已被计算的CRC值从CRC控制器电路38读取到存储器34以用于数据流的完整性检查。在事件180,完成校验值的计算。
本发明同样可使用DMA控制器36以快速的将数据流传输到显示控制器40以便减少软件开销并且加速数据显示。现有技术的数据处理系统通常使用程序以执行一个循环以便一个字节一个字节地增加数据以输出到显示控制器,由于每个字节都要被写入显示驱动器而增加了软件循环的总开销。本发明通过经由DMA控制器36将数据直接从存储器34传输到显示控制器40克服了这个缺陷,程序仅在DMA控制器36和显示控制器40的启动或配置时使用,并且通过DMA控制器36开始数据传输。通过从存储器传输字节到显示控制器40来除去有关的软件开销,这种传输可以迅速地被执行,并且信息(文本与/或图形)显示使用更少的时间,信息将通过用户查看显示器22来观看。以这种方式来使用DMA控制器36以驱动显示控制器40,这可比传统的使用一个软件循环以将像素数据字节写到显示控制器节省达到80%或更多的时间。
参考附图5以及附图3将会更好的理解利用根据本发明的DMA控制器36的数据显示。在事件200,开始或启动加载在存储器34中的软件50,该软件包括用于执行与下述步骤相关的操作:设置显示控制器40、设置DMA控制器36、并且由DMA控制器36来启动将数据传输到显示控制器40。
在事件210,通过为显示控制器40提供一″写″命令以及将被传送到显示控制器的数据流的显示目标地址(在显示控制器40的存储器中)来设置显示控制器40。数据流可以包括任意一种诸如与所存储的用于显示图标或其他特征的程序有关的图形用户界面(GUI)之类的可显示数据、与用户在键盘上所输入的字符或字母数字字符串相关的数据、或存储在存储器34中的其它数据。
在事件220设置DMA控制器36以将数据流从存储器34传输到显示控制器40。这些设置包括为数据传输提供一个存储器源地址和目标地址,以及在将数据传输到DMA控制器36的过程中所涉及的字节数。
在事件230,由DMA控制器初始化或启动数据流的传输,并且通过DMA控制器36将数据流的第一字节传输到显示控制器40。DMA控制器36可以暂时″利用″如上所述的地址和数据传输总线30以创建一DMA信道使数据流快速传输到显示控制器40。
在事件240,DMA控制器36经由地址和数据总线30通过将数据流的下一个字节发送到CRC电路38而不断进行数据传输。
在事件250,DMA控制器36根据在事件220所提供给DMA控制器36的设置信息来执行一个有关数据流中的全部字节是否都已经被传输到显示控制器40的查询。这个查询在每个字节传输之后周期性地进行。如果根据事件220的设置信息中的数据流大小所确定的数据流中的全部字节没有发送给显示控制器40,则重复事件240。如果在数据流中的全部字节已经被传输,程序在事件260结束。
本发明还可以通过减少诸如用户标识字母数字字符串之类的数据字符串的验证所需的时间和内存要求来增加数据处理设备的效率。手持式数据处理机设备一般没有充足的内存以存储多个有用的未压缩的用户ID字符串。在这点上,本发明通过创建CRC或用于表示授权标识符的数据字符串的检验值来提供对数据串进行压缩。
用于表示授权标识符的数据字符串的CRC值被分类并且被存储在外部计算机44的内存的列表中或查找表格中。外部计算机44可以包括,例如,一迷你计算机,一微型计算机,一UNIX机器,一大型机,诸如基于INTEL的处理计算机或它的兼容机之类的一个人电脑(PC),一个APPIE计算机或它的兼容机,或一个SUN工作站,或其它适当的具有传统的硬件元件(未示出)的计算机。该硬件元件例如是主板、中央处理器(CPU)、随机存取存储器(DAM)、硬盘驱动器、显示适配器,其它的存储介质、监视器、键盘、鼠标、及其他用户界面设备,一个网络接口卡(NIC)、软盘驱动器,CD驱动器、和/或其它传统的输入-输出设备。
外部计算机44在它的RAM中加载了诸如UNIX、WINDOWS98、WINDOWSME等等之类的操作系统。外部计算机48可以具有如图3所述的结构和硬件元件以用于数据处理机26,虽然具有一个适于存储未压缩的数据字符串列表的大容量存储器元件。程序54被装载在外部计算机44的内存中,它能够为多个数据字符串计算CRC值,对CRC值分类,并且存储所述的CRC值的列表。被分类的、被存储的CRC值然后经由接口46被传输或被下载到数据处理机26中并且被存储在内存34中以通过数据处理机26对诸如由用户所输入的表示用户标识符的字母数字字符串之类的要授权的数据字符串进行授权。
当诸如由用户键入的或从键区10所输入的ID字符串必须与已存储的用于表示授权字符串的数据字符串的CRC值列表进行比较时,通过计算CRC值、由此通过被加载在内存34中的程序来压缩由用户所输入的ID串,并且为已授权CRC的存储列表中的已计算CRC值执行一个二分法检索。如果在内存34中的已授权CRC值的存储列表中发现了所输入的ID串的CRC值,输入的ID串被确认。如果没有在该列表中发现所输入的ID串的CRC值,所输入的标识符串不被授权。
可利用不同大小的CRC值以提供在授权过程中的不同置信度。例如,使用32位CRC值仅仅产生在4,294,967,296中有一次的或然率,该或然率使得无效数据字符串将被确认或授权。使用一个16位CRC值提供了在65,536中有一次使输入字符串被错误确认的或然率,8位CRC值将产生在256中有一次无效串的验证的或然率。所使用的CRC值的大小可以根据安全需要的级别而不同。
利用字符串的CRC值来验证或认证数据字符串CRC值,这提供了一些重要的比通过利用完全的字符串进行验证更多的优点。存储一个列表或授权字符串所需的内存34的空间因此显著地减少了。例如,所存储的每个均具有18个字符的4000个授权串需要大约72,000字节的RAM空间以用于未压缩的串,它超过了典型的手持式数据处理机的内存容量。然而根据本发明,将4000个数据串压缩到32位CRC值需要16,000字节的存储空间以用于存储全部列表。这些所存储的、所压缩的数据串的置信级是相当高的,如上所述,仅仅在4,294,967,296中有一次不正确验证的或然率。
将授权数据字符串压缩成CRC值还可以减少将授权数据串的列表从一个计算机传输到另一个计算机的时间。如果是手持式数据处理机,授权ID串的列表经常从另一个机器下载到手持式数据处理机。在通过传统的RS-232链接数据传送率为9600波特,例如,在计算机之间大约需要72秒来传输一个4000个18字节ID串的列表。当4000数据字符串被压缩成4000个32位CRC值时,在9600波特率的情况下仅仅需要大约16秒用来传输数据。
将参考图6A和图6B以及图3将会更好的理解利用CRC值形式的已压缩数据字符串。图6A说明了创建外部计算机44中的已压缩数据串的存储列表,该列表表示被授权用户的标识字母数字字符串。也就是说,执行与与驻留在一单独的、外部计算机44中的程序54相关的图6A的事件,其中计算机44具有足够的内存以存储未压缩的用户ID字符串的实际列表。图6B的事件表示利用数据处理机26中的已压缩ID串列表来对用户所输入的ID串进行授权。
在图6A的事件300中,初始化或启动外部计算机44中的程序54以创建一个已压缩的、已授权的标识或ID串的列表。这个程序执行与获得的已授权ID串有关的操作,执行与为此通过计算CRC值来压缩ID串有关的操作,并且执行对已压缩的ID串的列表进行分类和存储有关的操作。
在图6A中的事件310,第一ID字符串是从外部计算机44的内存中获得的,并且在事件320,通过对该字符串计算CRC值来压缩该ID串。这个压缩事件可以通过传统的软件技术来执行,因为外部计算机44一般具有足够的内存和处理能力以进行软件的全部压缩操作。另外,可以使用CRC电路和用于执行该除法算法的软件循环一起执行压缩。它也可以这样完成,外部计算机44可以按数据处理机26的方式配置,使与每个数据串相关的数据按照图4所示和上述的方式通过DMA从内存直接传输到CRC电路,使最小限度的软件方面涉及压缩。在事件320中所获得的已压缩CRC值被保存在外部计算机的内存的已压缩串列表中。
在事件330,通过外部计算机中的程序执行一个关于最后被压缩的串是否已经从外部计算机的内存取回的查询。如果最后将被压缩的串还没有被接收并未被压缩,则执行事件340。如果从内存中接收到最后的串并对其进行了压缩,则执行事件350。
事件340从内存中取回下一个未压缩的ID字符串,在此之后,重复事件320以通过在此计算一个CRC值来压缩该串。在对最后ID串进行压缩之后,在事件350,对已压缩ID串列表进行分类,该ID串目前是与CRC值相对应的列表的形式。在事件360,被分类的列表被存储在在图6A的压缩过程中所使用的外部计算机的内存中。
在事件370,CRC值的存储列表被下载或被传输到手持式数据处理机26以用于如图6B所示的用户授权。可以通过经由GPIB、RS-232、PCI、USB、SCSI、ETHERNFI FIREWIRE/IEEE 1394或其它的类型的通信接口将数据从外部计算机44传输到数据处理机26来执行对压缩ID串的存储列表进行传输。CRC值的列表被存储在系统存储器34中。在事件380,ID串列表压缩操作结束。应当注意到,在特定的实施例中,如果内存34具有足够的容量,事件300到370可以在数据处理机26上执行。在此情况下,已压缩ID串的全部列表的下载或传输在事件370可以被省略。
现在参考图6B,在事400,内存34中的程序开始比较用户所输入ID串与如上所述的所得到的已压缩ID字符串的存储列表。该程序执行与下列步骤有关的操作:将与已输入的ID串相对应的数据流从存储器34传输到CRC电路38以用于压缩,在已压缩ID串的列表中查找一个与已压缩的、已输入的ID串相匹配的串,并且对已压缩的、已输入的ID串进行验证判断。事件400可以在某个实施例中通过事件410被触发,如下所述。
参考图1和图2,在事件410,按照上述方式用户通过选择性的激活键区10上的适当第一键12和第二键14来输入与用户ID串相对应的字母数字字符串。
在事件420,将用户所输入的输入ID串转换成一个具有相应CRC值形式的已压缩输入ID串。事件420包括根据附图4所述的事件110至170。也就是说,安排CRC电路38具有一个所希望的初始值,设置DMA控制器36以将与事件410的输入ID串相对应的数据流从内存34传输到CRC电路38,由CRC电路38来计算输入ID串的CRC值,将来自CRC电路38的输入ID串的已计算CRC值读回内存34。
在事件430,如上所述在310-360中所创建的RAM 34中的已授权ID串的CRC值列表被搜索以查找与事件420中所计算的输入ID串的CRC值相匹配的值。将输入ID串的CRC值与存储在列表中的单个CRC值进行比较,直到发现一个匹配。
在事件440,进行一个查询,该查询是关于是否已经发现一个匹配,也就是说,输入ID串的CRC值是否已经在已授权串的CRC值存储列表中被发现。如果在列表中发现了输入ID串的CRC值,则执行事件450。如果在列表中没有发现输入ID串的CRC值,则执行事件460。事件440执行在输入ID串的CRC值与已授权串的单个已存储CRC值之间的每一个比较,因此一旦检测到一个匹配则事件440可确定,并且是在对全部列表进行查找之前。
在事件450,根据输入ID串的CRC值和一个已授权ID串的已存储CRC值之间的一匹配来授权在事件410中所输入的输入用户ID串。紧接着事件450,用户ID串的验证在事件470结束。与用户ID串验证有关的其它事件(未示出)可以同时发生,例如为用户提供对已存储的安全信息进行访问的有关程序操作。
在事件460,在事件410所输入的用户ID串未被授权。如事件450所提供的任一个随对用户ID串进行授权所出现的随后事件可以都不执行,事件470出现。在某些实施例中,用户可以重复事件410以允许重新输入一个ID串,随后通过事件420-440再次确定输入的用户ID串的正确性。
虽然参考特定实施例对本发明进行了描述,但是对本领域的普通技术人员来讲,在不脱离本发明的精神和范围的情况下,很容易想到可作出各种不同的变化和等效的替代。另外,对于本发明的目的、精神和范围来讲,也可作出各种修改以适应特定的情况,材料,物质的组合,程序,工序或步骤。所有的这些修改都应在随后的权利要求书范围内。

Claims (2)

1、一种手持式数据处理设备的用户的认证方法,包括:
在计算机上创建一循环冗余校验值的列表,该列表中的每个所述循环冗余校验值与一表示被授权的用户的字符串相对应;
将所述的循环冗余校验值的列表传送给所述手持式数据处理设备;
将用户标识字符串输入所述手持式数据处理设备;
利用所述手持式数据处理设备,计算所述用户标识字符串的循环冗余校验值;
利用所述手持式数据处理设备,将所述用户标识字符串的所述循环冗余校验值与所述循环冗余校验值列表进行比较;以及
利用所述手持式数据处理设备,确定所述用户标识字符串的所述循环冗余校验值是否表示一授权的字符串。
2、如权利要求1所述的方法,进一步包括对所述循环冗余校验值的列表进行分类和存储。
CN02154287.2A 2001-11-09 2002-11-08 对数据字符串授权的方法 Expired - Fee Related CN1236639C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/008644 2001-11-09
US10/008,644 US20030093381A1 (en) 2001-11-09 2001-11-09 Systems and methods for authorization of data strings

Publications (2)

Publication Number Publication Date
CN1433238A CN1433238A (zh) 2003-07-30
CN1236639C true CN1236639C (zh) 2006-01-11

Family

ID=21732808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN02154287.2A Expired - Fee Related CN1236639C (zh) 2001-11-09 2002-11-08 对数据字符串授权的方法

Country Status (8)

Country Link
US (1) US20030093381A1 (zh)
EP (1) EP1310855A3 (zh)
JP (1) JP2003345765A (zh)
CN (1) CN1236639C (zh)
CA (1) CA2411252A1 (zh)
IL (1) IL152667A0 (zh)
SG (1) SG111975A1 (zh)
TW (1) TW200300887A (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523305B2 (en) * 2003-12-17 2009-04-21 International Business Machines Corporation Employing cyclic redundancy checks to provide data security
CN100388629C (zh) * 2003-12-22 2008-05-14 普天信息技术研究院 一种循环冗余校验的快速计算方法
CN100388631C (zh) * 2003-12-22 2008-05-14 普天信息技术研究院 一种移动通信中信道编码的快速计算方法
US9239918B2 (en) * 2013-10-02 2016-01-19 Andes Technology Corporation Method and apparatus for software-hardware authentication of electronic apparatus
CN105205386A (zh) * 2014-06-25 2015-12-30 腾讯科技(深圳)有限公司 移动终端应用程序密码保护方法和装置
KR20210084871A (ko) * 2019-12-30 2021-07-08 삼성전자주식회사 안전 민감 데이터의 무결성 점검 장치 및 이를 포함하는 전자 기기
EP3988200B1 (en) * 2020-10-20 2023-07-19 Evco S.P.A. System and method to control the activation of a system for the drying of compressed air based on the authentication of a substitute filter
CN117952324B (zh) * 2024-03-26 2024-05-28 深圳市智慧企业服务有限公司 一种基于冗余信息的政务数据管理方法及相关装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4500750A (en) * 1981-12-30 1985-02-19 International Business Machines Corporation Cryptographic application for interbank verification
GB2205667B (en) * 1987-06-12 1991-11-06 Ncr Co Method of controlling the operation of security modules
US5347579A (en) * 1989-07-05 1994-09-13 Blandford Robert R Personal computer diary
FR2674043A1 (fr) * 1991-03-15 1992-09-18 Precta Sa Systeme de clavier alphanumerique avec touches a triple fonction.
DE69533328T2 (de) * 1994-08-30 2005-02-10 Kokusai Denshin Denwa Co., Ltd. Beglaubigungseinrichtung
DE69527773T2 (de) * 1995-05-18 2002-11-28 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Schaltungsanordnung zur Überwachung der Benutzung von Funktionen in einem integrierten Schaltungkreis
US5787169A (en) * 1995-12-28 1998-07-28 International Business Machines Corp. Method and apparatus for controlling access to encrypted data files in a computer system
US6202060B1 (en) * 1996-10-29 2001-03-13 Bao Q. Tran Data management system
US6021491A (en) * 1996-11-27 2000-02-01 Sun Microsystems, Inc. Digital signatures for data streams and data archives
US6157935A (en) * 1996-12-17 2000-12-05 Tran; Bao Q. Remote data access and management system
US6035406A (en) * 1997-04-02 2000-03-07 Quintet, Inc. Plurality-factor security system
CA2641215C (en) * 1997-09-16 2010-05-25 Safenet, Inc. Cryptographic co-processor
US6292790B1 (en) * 1997-10-20 2001-09-18 James E. Krahn Apparatus for importing and exporting partially encrypted configuration data
DE10110316B4 (de) * 2000-03-15 2004-09-23 International Business Machines Corp. Sichere Passworteingabe

Also Published As

Publication number Publication date
US20030093381A1 (en) 2003-05-15
CN1433238A (zh) 2003-07-30
JP2003345765A (ja) 2003-12-05
CA2411252A1 (en) 2003-05-09
EP1310855A2 (en) 2003-05-14
IL152667A0 (en) 2003-06-24
EP1310855A3 (en) 2005-07-13
TW200300887A (en) 2003-06-16
SG111975A1 (en) 2005-06-29

Similar Documents

Publication Publication Date Title
CN100492259C (zh) 字母数字小键盘以及显示系统和方法
CN1423180A (zh) 用于快速传输数据到显示驱动器的系统和方法
CN1432915A (zh) 快速进行循环冗余度计算的系统和方法
CN105122185A (zh) 使用过去交互数据的文本建议输出
CN1501670A (zh) 字母数字数据输入系统及方法
CN1820288A (zh) 用于定制的基于图片的用户标识和认证方法和设备
US20140245433A1 (en) Password authentication
CN1236639C (zh) 对数据字符串授权的方法
CN104598507A (zh) 信息搜索方法及装置
CN1264328C (zh) 可处理外部装置的输入数据的便携式信息装置及其方法
CN1745383A (zh) 用于浏览数据通信网络的方法
CN1510554B (zh) 一种可嵌入应用的汉字输入法
CN1157951A (zh) 数据输入方法及装置
CN100385375C (zh) 字符输入系统及其方法
CN1722067A (zh) 用于输入中文汉字的方法
KR100833278B1 (ko) 이동 통신 장치 및 조작 방법
CN1407468A (zh) 掌上阅读器的在线电子辞典
CN116301523A (zh) 一种工单创建方法、装置及存储介质
JP2003044434A (ja) 認証情報生成方法および認証情報生成装置
US20150026581A1 (en) Information inputting system and related method
CN1194391A (zh) 具有键多义性的文本输入设备和方法
KR20040051190A (ko) 단말기의 테스트 장치 및 방법
KR20010027545A (ko) 휴대 정보기기용 키보드

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060111

Termination date: 20191108