CN1316775C - 提供数据安全的方法和系统 - Google Patents

提供数据安全的方法和系统 Download PDF

Info

Publication number
CN1316775C
CN1316775C CNB2004100904089A CN200410090408A CN1316775C CN 1316775 C CN1316775 C CN 1316775C CN B2004100904089 A CNB2004100904089 A CN B2004100904089A CN 200410090408 A CN200410090408 A CN 200410090408A CN 1316775 C CN1316775 C CN 1316775C
Authority
CN
China
Prior art keywords
crc
cyclic redundancy
redundancy check
data
receiver
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.)
Active
Application number
CNB2004100904089A
Other languages
English (en)
Other versions
CN1630228A (zh
Inventor
J·F·斯科维拉
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1630228A publication Critical patent/CN1630228A/zh
Application granted granted Critical
Publication of CN1316775C publication Critical patent/CN1316775C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Abstract

通过使用循环冗余校验提高数据的安全性。使用一个或更多循环冗余校验将数据编码,然后将其从一发射器发送到一接收器。接收器接收编码的数据并将其解码,以使用所述一个或更多循环冗余校验来确定该数据是否由授权的用户发送。

Description

提供数据安全的方法和系统
技术领域
本发明通常涉及数据安全,并且更具体地,涉及使用循环冗余校验来提供来自各种类型的装置包括远程装置的数据传输中的数据安全。
背景技术
在许多技术领域,包括电子数据传输、数据通信、网络、计算环境和其他许多领域和/或环境中,数据安全是必需的。数据安全包括对数据用户或提供者的验证。例如,在电子数据传送中,传送前要验证请求传送的用户的身份,以确保此用户被允许此数据传送。
过去的十年里,用户验证在包括通信领域的很多领域或环境中都取得了长足的进步。例如,有很多基于软件的技术用于验证计算基础设施中的用户。然而,至少有一个通信部门缺乏验证技术。这个部门包括例如复杂的公用设施网络等的无线远程计算机控制(例如电力网控制器、供水系统控制器等)。技术人员定期使用现场计算机上行链路来调节或控制此类系统中的一系列事件。因为这些调节是实时发生的,复杂的软件验证引起的延迟是不能接受的。另外,现场装置比较小,功率底,只有有限的编程能力。因此,在这些装置以及其他类型的装置和/或环境中缺乏验证技术。
基于上述情况,需要更强的提供数据安全的能力。例如,需要更强的为无线和/或远程数据传输提供数据安全的能力。
发明内容
通过提供一种提供数据安全的方法克服了以前技术的缺点并提供了其他的优点。此方法包括,例如,获取包含一个或更多循环冗余校验(CRC)的数据;以及使用一个或更多循环冗余校验来确定数据的安全。
本发明另一方面还提供一种提供数据安全性的系统,该系统包括:
一获取数据接收器,该数据包括一个或更多循环冗余校验;以及
该接收器使用一个或更多循环冗余校验来确定该数据的安全性。
在此也描述计算机程序产品。
通过本发明的技术实现了其他的特性和优点。这里详细描述了本发明的其他实施例和方面,它们被认为是本发明的一部分。
附图说明
在说明书结尾部分的权利要求中特别指出并清楚地要求保护了被认为是本发明的主题。根据以下结合附图的详细描述,本发明的前述以及其他目的、特性、优点是显然的,附图中:
图1描述了引入并利用本发明的一个或更多方面的一环境的一个实施例;
图2描述了依照本发明的一个方面,与图1中的发射器和接收器有关的一个实施例的细节;
图3描述了依照本发明的一个方面,用于产生/提取用于数据安全的循环冗余校验的一循环冗余校验生成器的一个实施例;
图4描述了依照本发明的一个方面,用于产生/提取若干行循环冗余校验的一种电路的一个实施例;以及
图5描述了依照本发明的一个方面,用于产生/提取列循环冗余校验的一种电路的一个实施例。
具体实施方式
依照本发明的一个方面,提供了一种增强接收器接收到的数据的安全性的能力。数据安全性包括,例如,验证数据的发送者和/或发送的数据(这里称为验证数据)。通过提供验证,数据的接收者在处理数据(例如执行一条命令)时感觉是安全的。
在一个实例中,数据安全能力包括用一个或更多循环冗余校验(CRC)对数据编码,将编码后的数据发送到接收器,接收器对数据解码以便利用该CRC验证数据。CRC用于数据安全与CRC用于数据完整性不同。用于数据完整性的CRC保证接收到的数据与发送的数据相同。数据和CRC可能被获知(也就是没有安全),但仍然有CRC码保证没有数据位被篡改。而用于数据安全的CRC是用于表明数据是否是授权的用户发送的或者数据是否是授权的(即数据是否是安全的)。
图1描述了引入并利用本发明的一个或更多方面的一个环境的一个实施例。在一个例子中,发射器100通过一个连接104与接收器102耦合。在这里描述的例子中,连接104是无线连接,发射器相对接收器是远程的。然而在其他例子中,连接104可能不是无线连接,并且/或者发射器和接收器相对于彼此是本地的。许多其他的变化也是可能的,并且仍然被视为本发明的一部分。
发射器100可以是各种发射单元。作为一个例子,发射器100包括一个用于发送数据到接收器102的装置200(图2)。这种装置的一个例子是现场通信装置,其相对于接收器位于远端,并由例如现场工程师用于向控制系统发送命令。可以使用很多类型的现场通信装置,包括手持装置、膝上计算机或者笔记本计算机。现场通信装置的一个例子是英国德文郡的Mantracourt电子有限公司提供的TDM手持无线显示器,位于http://www.mantracourt.com/tdm.htm的一篇文章描述了此装置,这里将这篇文章全文引入本说明书,作为参考。
依照本发明的一个方面,装置200与用于对其发送进行编码的CRC生成器202耦合。例如,CRC生成器从装置200接收明文数据(即未编码的数据),并通过增加一个或多个循环冗余校验对数据编码。CRC生成器可以是该装置的一部分或者是独立的。在一个例子中,CRC生成器与一个随机选择单元204耦合,该随机选择单元用于随机地选择一个CRC多项式,该CRC多项式用来生成用于对发送进行编码的CRC字,如下面将进一步详细描述的。随机选择单元204可以是CRC生成器202的一部分或者是独立的。
接收器102从发射器接收编码数据。与发射器类似,接收器102可以是各种类型的接收单元。作为一例子,接收器包括一接收器控制系统206,例如用于公用设施或者电力设施或者水厂的控制系统。控制系统能够接收命令(例如一计算机)并执行命今。作为一个例子,接收器控制系统耦合到一致动器208来控制物理装置,例如水过滤系统中的压力阀。接收器控制系统206进一步耦合到一CRC生成器210。CRC生成器从发射器接收编码数据,对编码数据解码从而将其还原到明文状态,并且如果CRC检验正确,就把明文数据转送到接收器控制系统。CRC生成器210可以是接收器控制系统206的一部分或者是独立的。在一例子中,CRC生成器210耦合到一个随机选择单元212,后者用于选择适合的CRC多项式以对编码数据解码,如下面将进一步详细描述的。随机选择单元212可以是CRC生成器210的一部分或者是独立的。
在一个实施例中,CRC生成器202和210包括相似的电路,从而使每个单元100和102能够作为一个发射器和/或接收器。因此,这里提到的CRC生成器包括CRC生成器202和210。然而,每个生成器在任何特定时间执行功能依赖于它是作为发射器还是接收器。CRC生成器包括添加一个或多个循环冗余校验来编码数据或者移去一个或多个循环冗余校验来解码数据的电路。CRC的基本计算涉及选择CRC多项式,然后该CRC多项式被应用于数据流。存在几个用于选择CRC多项式的标准,该CRC多项式决定了数据字的长度和期望的安全级别。通过对数据应用循环冗余校验,产生正确的发送消息的唯一方法是知道正确的数据流和所用的CRC多项式。因此,试图通过随机发送而侵入系统将导致CRC检查失败,并因而检测到该侵入。
可以有使用一个或多个CRC对传送编码来提供数据安全的多种实施例。例如,可以给明文通信添加固定的CRC字。但是,如果用于产生固定的CRC的CRC多项式或者固定的CRC被获取并且明文消息文本也被获知,那么就可能发生系统侵入。为了加强这种初级安全性,CRC字的选择被随机化。例如,有两种技术来随机化CRC字的选择。第一种技术包括在发射器和接收器之间使用一个同步时钟作为一随机数发生器的初始种子。即发射器与接收器针对给定发送选择相同的随机数。这种技术进一步包括选择一固定的时钟解析度(例如10秒或1分钟等)来切换到下一个随机数生成。
第二种技术包括使用发射器中的一个随要求的随机发生器来为给定发送选择一个随机数。随机数被选定后被传送到接收器。发射器和接收器为一给定消息相同地配置CRC电路,并且每个消息产生不同的配置。
使用随机数选择不同的CRC多项式增加了安全性。例如,假定使用一组16个多项式为给定消息随机选择CRC编码。如果明文文本和多项式组被获知,平均将需要8次随机尝试来产生正确的消息。尽管安全性得到了加强,但还可以进一步改进。作为一个例子,将若干CRC应用于数据。例如,每个CRC生成器给数据添加一个或多个行CRC,以及一个或多个列CRC,如结合图3进一步描述的。
参考图3,CRC生成器300包括,例如,一个行CRC生成器302,其耦合到一个列CRC生成器304。行CRC生成器302包括,例如,用于为一特定消息产生一组CRC的若干生成器306。在这里描述的例子中,有8个生成器306,因此,行生成器302从该装置接受8位数据作为输入。因此,一N字节消息的每个数据字节被输入到该生成器,从而该数据字节的每一位根据它的位置被输入到一相应的行CRC生成器306。例如,每个字节的位0被输入到第一生成器308;每个字节的位1被输入到第二生成器310;......;每个字节的位7被输入到最后一个生成器312。每个生成器306接收N位数据(例如N位数据流)并产生一个8位CRC码,如下面将进一步描述的。因此每个生成器306的输出314是N位数据流加上一个CRC字。
每个CRC字是采用一个或多个根据CRC或生成器多项式设计的电路生成的。所选多项式是从根据一组标准选择的若干多项式316中选择的。例如,因为多项式的阶次决定CRC的长度,所以对于这些实现选择了8阶多项式(为串行和并行实现给出8位CRC字符)。多项式的另一个特点是其指数决定检错或纠错能力。检错和纠错程度越高,随机生成正确数据和CRC字越困难。仔细选择的具有良好检错和纠错特性的多项式意味着这些多项式在数据安全应用中将有更好的表现。因此,在这个实施例中,将选择具有较大指数的多项式。有关生成多项式的指数和阶次的更多细节包括在″The Great CRC Mystery,”T.Ritter,Dr.Dobb’s Journal ofSoftware Tools,February.11(2):26-34,76-83,( http://www.ciphersbyritter.com/ARTS/CRCMYST.HTM-pages 1-10)中,在此将该文章全文引入,作为参考。
若干多项式316被输入到随机数发生器318。随机数发生器用来从将由一个行生成器使用的若干多项式(例如16个)中随机选择一个特定的多项式。因为这个实施例中有8个行生成器(即一个8位发送系统),所以选择8个多项式,每个生成器一个。选择不同的CRC多项式,将生成不同的CRC字符。
在一个例子中,每个行生成器306包括实现各多项式的电路。因此,被馈入行生成器的数据位流被输入到为选定多项式实现的特定电路。例如,如果多项式G(x)=x8+x4+x+1被选定,那么数据被输入到生成器的电路400(图4)。
参考图4,电路400包括若干共同组成一8位移位寄存器的一位锁存器402。“+”运算404是异或门。数据输入406接收来自装置200(图2)的、在与此发生器相应的输入线(例如308(图3)、310、312等)上数据位作为输入。
起初,每个锁存器清零。当一个数据位输入寄存器时,发生从一个锁存器到另一个锁存器的移位。一旦数据流的最后一位输入(例如发出消息结束信号),则移位寄存器中的8位的值代表8位CRC字符,其被附加到刚才接收到的数据流。行CRC的生成可以数据路径时钟速度发生,因为使用的是简单的异或门和移位寄存器。
返回图3,行生成器302的输出包括若干数据流+CRC 314,其被输入到列CRC生成器304。列CRC生成器为整个消息(例如N字节+8字节)生成一个列CRC 320,其被附加到,例如,消息的最后,作为第N+9个字。
为产生列CRC,随机数发生器318从若干多项式316中随机选择一个多项式。因此,在这个实施例中,对于8位数据,产生9个随机数:每个行CRC生成器用一个,列CRC生成器用一个。在一个例子中,用于行生成器的8个随机数是彼此不同的,但用于列生成器的可以与用于行生成器的某个随机数相同。每个随机数(RN)按比例扩大到多项式表的长度。例如,假设RN介于0和1之间,并且使用了16个多项式,计算Index=floor(RN*16)产生一个0至15之间的索引。这个索引用来选择一个将在选定位置使用的、16个多项式中的一个。
列CRC例如是并行产生的。假设装置在一个8位路径上移动数据,则以8位并行方式生成并行CRC。举例说明,考虑一个使用与行CRC(例如G(x)=x8+x4+x+1)相同的生成多项式的具有8位数据路径的系统。并行情况下,寄存器位是R0到R7;并行数据位(对于一个时钟周期)是D0到D7;并在下一个时钟周期,寄存器的输出反馈到CRC生成器并被指定为C0到C7。这些值用在下面的方程中,这些方程用来说明一个8位的例子:
R0=D7+C0+D3+C4+D0+C7
R1=D6+C1+D2+C5+D7+C0+D3+C4+D0+C7
R2=D5+C2+D1+C6+D6+C1+D2+C5
R3=D4+C3+D0+C7+D5+C2+D1+C6
R4=D4+C3+D7+C0
R5=D3+C4+D6+C1
R6=D2+C5+D5+C2
R7=D1+C6+D4+C3
图5描述了这些并行8位方程的一个实现的例子。如图所示,电路500包括若干一位锁存器502和异或门504。电路有,例如,两个输入。一个输入是数据输入(D)506,其接收行CRC生成器输出的数据位(例如数据和CRC)作为输入。例如,D0接收第一个行CRC生成器的输出作为输入数据;D1接收第二个行CRC生成器的输出作为输入数据;等等。
锁存器502的输出被反馈到电路,另一个输入(C)508将此接收作为输入。例如,C7接收R7的输出作为输入;C6接收R6的输出作为输入;等等。当锁存器的内部时钟触发时,锁存器的数据位反馈到相应的C输入。
数据流过锁存器,直到接收到消息结束信号。这时,锁存器的数据转出,并且这个字节的数据就是列CRC字,其被附加到整个消息(即数据(N字节)+CRC(8字节))的尾部。所以,现在消息的长度是N+8+1字节,其中N是初始消息的长度,8代表嵌在消息中的8个行CRC,1代表附加到消息尾部的1个列CRC。
有关实现并行CRC生成器的更多细节在“Implementation of aParallel Cyclic Redundancy Check Generator”,K.Helness,1974,Computer Design,March,91-96中作了描述,在此将这篇文章全文引入本说明书,作为参考。
如前所述,通过使用行和列CRC生成器,编码后的消息包括8个位数据流,每个包括一个行CRC,并且一个列CRC附加到消息末尾。每个消息可以有不同的编码。为此,使用随机数发生器来指导CRC生成电路随机选择当前传送使用的CRC多项式。为了该CRC生成,配置可编程的硬件,并对消息编码然后送出。对于下一个消息,选择另外的9个随机数,并重复处理上述过程。因为系统使用硬件生成CRC,这对现场装置的实时验证是足够快的。
使用CRC提供数据安全的安全特性可以在若干级别上量化。例如,因为使用可变的CRC多项式,随机建立正确的通信码是极其困难的。不仅要随机产生正确的通信码,还必须随机建立正确的CRC值。例如,假设获取了系统的知识,包括正确的命令序列,以及使用的CRC多项式,仍然只有340亿分之一的机会侵入系统。看下面的例子:给定8个数据位,D=8,P=16个多项式可供选择,并选取D+1个多项式用于传送,可能的组合数(从全部多项式集合选取而不作排除)是:
S(P,D+1)=P(D+1)=16(8+1)=169=68,719,476,736
平均起来,正确的多项式选取需要(16**9)/2=34,359,738,368次。也就是说,使用已知的命令代码和系统使用的16个多项式列表进行非法通信有340亿分之一的机会侵入系统。
另一种方式下,如果对多项式只选择并使用一次,这个技术的安全特性稍有不同。例如,给定16个可能的多项式,如果选择9个(8个串行的和1个并行的),选择不重复使用的8个(对于串行CRC)和可能的16个并行实现中的1个。这样,可能的组合数从169下降到(16!-7!)*16=66,421,555,200,从而选中全部9个多项式的平均机会是从66,421,555,200/2=33,210,777,600中随机选择,或者正确猜中的机会是330亿分之一。
因此,如果接收器使用合理的重试次数限制(例如16到256次重试),则非法进入,即使使用大量的部分信息,也只有很低的概率发现正确的组合。进一步地,该同一概率适用于每个消息。因为硬件为每个消息选择不同的多项式集合,每个消息之间不保持安全信息。
有例如两种技术来实现CRC多项式的随机选取。一种技术包括用可编程逻辑(例如,Xilinx的产品)完成可能的多项式串行和并行实现。各设计被编索引,然后根据随机数进行选取。选取后,模块用适当的设计进行个性化(例如编程),该设计被存储起来以便以后使用。使用这种技术,相同的设计可以使用很多次,因为模块可以被编程为任何设计,只受容量的限制。
另一种技术包括用超大规模集成电路(VLSI)实现并行和串行设计。在这种实现中,通过随机数来选择数据路径。例如,可能选择多项式15用于数据输入1,这意味着数据输入1通过多项式15的串行VLSI实现被路由。这种技术避免了与可编程逻辑有关的任何个性化延迟。
依照本发明的一个方面,发射器使用CRC生成器以便利用若干CRC对某一消息进行编码,然后将编码消息发送到接收器。接收编码消息后,接收器会将消息解码,以提取明文文本,并确定数据是否是安全的。
为了将编码消息解码,接收器使用其CRC生成器。在一个实施例中,接收器的CRC生成器与发射器的CRC生成器是相同的。为了对消息解码,反方向使用接收器的生成器。例如,包含N个字节的数据、8个字节的行CRC和1个字节的列CRC的消息,首先被输入列CRC生成器。最初,消息中的数据部分(例如,N个字节)流经列CRC生成器。在一个例子中,数据部分被放在固定大小的包中,这样列CRC生成器能够识别这个包的末尾。然后,额外的8个字节的行CRC以及1个字节的列CRC流经电路,这样生成器就将它识别成CRC数据。
列CRC生成器的输出被输入到行CRC生成器中。例如,当数据以及行CRC流过列CRC生成器后,它们被输入到行CRC生成器。在这个例子中,列CRC没有输入。当数据流过行CRC后,它被转送到接收器控制系统中的一个缓冲器中。在这个例子中,CRC没有被转送到接收器控制系统中。数据一直留在缓冲器中,直到接收器控制系统接收到一个指示数据是否有效的有效信号或无效信号。
为提供此信号,行CRC生成器以及列CRC生成器均包含一个检验单元。每一个检验单元包含若干或门,其用来对其各自生成器的各锁存器输出进行或操作。这些锁存器输出包括该生成器的CRC。如果或操作的结果是零,那么相应的数据有效。每个生成器发送或操作结果到接收控制系统。当接收控制系统接收到信号,它再确定是否可以继续进行。例如,如果信号显示消息有效(例如一个0信号),那么接收控制系统确信可以使用缓冲器里的明文数据。如果它接收到无效信号(例如1),则忽略缓冲器的数据。
在进一步的例子中,可能在行CRC生成器中收集信号并对所有的信号进行另一个或操作。最终的或操作的结果被转送到接收控制系统。在另外一个例子中,使用更少的检验单元。例如,不使用一个列检验单元或者不使用一个或更多的行单元。可以是一个或更多的单元从多个锁存器接受数据。还存在其他的例子。
在进一步的例子中,CRC生成器的输出不被转送到接收器控制系统,除非检验单元显示是有效数据。而是将其缓存在生成器中。作为进一步的例子,输入到列CRC生成器和行CRC生成器的、消息的数据部分不必须使用固定大小的包,而是可包括一个指示每个消息的特定字节数的消息头。也存在许多不偏离本发明精神的其他变化。
前面详细描述了使用循环冗余校验提供数据安全的技术。这种能力提供了多种优点,包括,例如:
1)运算速度快—可以用硬件实现强大的CRC电路;
2)成本低—可以用简单的硬件实现强大的CRC电路;
3)低功率—实现中可以使用低功率的VLSI;
4)已被证明的技术—目前出于其他目的在并行通信系统中使用CRC;
5)技术复杂性—比例如奇偶校验更加安全得多。运算的反馈特性导致复杂的CRC字;
6)同类的电路—在一个实施例中,生成器和接收器电路是相同的;
7)改型—现有的设计和装置可以使用CRC安全电路进行改型。
有利地,本发明的一个或更多方面可以包含在监控和数据采集(SCADA)系统中。SCADA系统的一个例子在http://www.motorola.com/cgiss/moscad_proto.shtml;以及http://www.Motorola.com/cgiss/moscad-m.shtml作了描述,在此将其全文引入本说明书,作为参考。
尽管这里描述了多个实施例,这些只是例子。例如,提供特定数量的多项式和/或数据位只是例子。可以使用其他数目的多项式和/或数据位,以及其他多项式,而不偏离本发明精神。进一步,尽管给出了电路的例子,也可以实现其他电路,而不偏离本发明精神。
很多环境可以包括和/或使用本发明的一个或多个方面。这里描述的环境只是一些例子。例如,本发明的一个或更多方面可以用在公用设施、电力或供水设施以外的地方。另外,接收器控制系统可以控制致动器以外的装置。进一步地,发射器和/或接收器可以包括额外的、更少的或不同的组件。例如可以没有随机选取单元。作为进一步的例子,可以有更多或更少的行和/或列生成器,或只有一种生成器。许多其他变化也存在。
本发明的一个或更多方面的能力可以用软件、固件、硬件或其某种组合实现。
本发明的一个或更多方面可以包括在具有,例如,计算机可用介质的产品中(如,一个或更多计算机程序产品)。此介质在其中具有,例如,计算机可读的程序代码装置或逻辑电路(例如,指令、代码、命令等)来提供并便利本发明的能力。该产品可以作为计算机系统的一部分或单独销售。
另外,可以提供至少一个机器可读的程序存储装置,其体现至少一个机器可执行以完成本发明的能力的指令程序。
这里描述的流程图只是例子。这里描述的这些图或步骤(或操作)可以有很多变化,而不偏离本发明精神。例如,可以按不同的顺序执行各步骤,或者增加、删除、或修改一些步骤。所有这些变化均视为所要求保护的本发明的一部分。
尽管这里详细刻画并描述了优选实施例,对本领域的技术的人来讲,很显然可以做出多种修改、增加、替换等等而不偏离本发明精神,因而,这些修改等均被视为属于如权利要求中所定义的本发明的范围。

Claims (28)

1.一种提供数据安全性的方法,该方法包括:
获取数据,该数据包括一个或更多循环冗余校验;以及
使用一个或更多循环冗余校验来确定该数据的安全性。
2.如权利要求1所述的方法,其中所述获取包括由一接收器从耦合到该接收器的一发射器接收该数据,其中该接收器使用所述循环冗余校验来确定该数据的安全性。
3.如权利要求2所述的方法,其中所述发射器对于接收器是远程的。
4.如权利要求2所述的方法,其中所述发射器与接收器进行无线通信。
5.如权利要求2所述的方法,其中所述接收器包括一控制系统,该控制系统从所述发射器接收一个或更多命令,所述发射器包括一现场通信装置。
6.如权利要求1所述的方法,其中所述获取包括从一发射器接收该数据,该发射器包括一发射器循环冗余校验生成器来为该数据添加一个或更多循环冗余校验。
7.如权利要求6所述的方法,其中添加若干循环冗余校验,并且其中所述发射器循环冗余校验生成器包括一个或更多行生成器来提供一个或更多行循环冗余校验,以及至少一个列生成器来提供至少一个列循环冗余校验。
8.如权利要求6所述的方法,其中所述发射器循环冗余校验生成器耦合到一个用来选择一个或更多循环冗余校验多项式的随机数发生器,所述循环冗余校验多项式用来产生一个或更多循环冗余校验。
9.如权利要求1所述的方法,其中所述获取包括由接收器接收数据,该接收器包括一接收器循环冗余校验生成器,用于将该数据解码以提取一个或更多用来确定该数据的安全性的循环冗余校验。
10.如权利要求9所述的方法,其中所述接收器循环冗余校验生成器包括一个或更多行生成器,以及至少一个列生成器,用于从该数据中提取一个或更多循环冗余校验。
11.如权利要求9所述的方法,其中所述接收器循环冗余校验生成器耦合到一个用来选择一个或更多循环冗余校验多项式的随机数发生器,所述循环冗余校验多项式用来从该数据提取一个或更多循环冗余校验。
12.如权利要求11所述的方法,其中耦合到所述接收器循环冗余校验生成器的所述随机数发生器与耦合到一个用于使用所述一个或更多循环冗余校验将数据编码的发射器循环冗余校验生成器的随机数发生器保持同步,所述耦合到该发射器循环冗余校验生成器的随机数发生器用于选择一个或更多用来产生一个或更多循环冗余校验的循环冗余校验多项式。
13.如权利要求12所述的方法,其中所述发射器循环冗余校验生成器是一发射器的组件,该发射器把该数据发送到接收器。
14.如权利要求1所述的方法,其中所述数据的安全性包括对该数据的发射器的验证。
15.一种提供数据安全性的系统,该系统包括:
一获取数据接收器,该数据包括一个或更多循环冗余校验;以及
该接收器使用一个或更多循环冗余校验来确定该数据的安全性。
16.如权利要求15所述的系统,其中所述接收器从耦合到该接收器的一发射器接收所述数据。
17.如权利要求16所述的系统,其中所述发射器对于接收器是远程的。
18.如权利要求16所述的系统,其中所述发射器与接收器进行无线通信。
19.如权利要求16所述的系统,其中所述接收器包括一控制系统,该控制系统从所述发射器接收一个或更多命令,所述发射器包括一现场通信装置。
20.如权利要求15所述的系统,其中所述接收器从一发射器接收该数据,该发射器包括一发射器循环冗余校验生成器来给该数据添加一个或更多循环冗余校验。
21.如权利要求20所述的系统,其中所述发射器循环冗余校验生成器耦合到一随机数发生器,该随机数发生器用来选择一个或更多用来产生一个或更多循环冗余校验的循环冗余校验多项式。
22.如权利要求20所述的系统,其中添加若干循环冗余校验,并且其中发射器循环冗余校验生成器包括一个或更多行生成器来提供一个或更多行循环冗余校验以及至少一个列生成器来提供至少一个列循环冗余校验。
23.如权利要求15所述的系统,其中所述接收器包括一接收器循环冗余校验生成器来将该数据解码,以提取一个或更多用于确定该数据的安全性的循环冗余校验。
24.如权利要求23所述的系统,其中所述接收器循环冗余校验生成器包括一个或更多行生成器以及至少一个列生成器,用于从该数据提取一个或更多循环冗余校验。
25.如权利要求23所述的系统,其中所述接收器循环冗余校验生成器耦合到一随机数发生器,该随机数发生器用来选择一个或更多用于从该数据提取一个或更多循环冗余校验的循环冗余校验多项式。
26.如权利要求25所述的系统,其中耦合到所述接收器循环冗余校验生成器的随机数发生器与耦合到一个用于使用所述一个或更多循环冗余校验将该数据编码的发射器循环冗余校验生成器的随机数发生器保持同步,所述耦合到该发射器循环冗余校验生成器的该随机数发生器用于选择一个或更多用来产生一个或更多所述循环冗余校验的循环冗余校验多项式。
27.如权利要求26所述的系统,其中所述发射器循环冗余校验生成器是一发射器的组件,该发射器把该数据发送到该接收器。
28.如权利要求15所述的系统,其中所述数据的安全性包括对该数据的发射器的验证。
CNB2004100904089A 2003-12-17 2004-11-12 提供数据安全的方法和系统 Active CN1316775C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/738,008 2003-12-17
US10/738,008 US7523305B2 (en) 2003-12-17 2003-12-17 Employing cyclic redundancy checks to provide data security

Publications (2)

Publication Number Publication Date
CN1630228A CN1630228A (zh) 2005-06-22
CN1316775C true CN1316775C (zh) 2007-05-16

Family

ID=34860676

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100904089A Active CN1316775C (zh) 2003-12-17 2004-11-12 提供数据安全的方法和系统

Country Status (2)

Country Link
US (1) US7523305B2 (zh)
CN (1) CN1316775C (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424040B2 (en) * 2004-05-07 2008-09-09 Ltas Holdings, Llc Communication systems and methods for transmitting data in parallel over multiple channels
US20070060104A1 (en) * 2005-08-03 2007-03-15 Sbc Knowledge Ventures Lp Method and apparatus for improving communication security
EP1901468B1 (de) * 2006-09-13 2012-10-17 Siemens Aktiengesellschaft Verfahren zur Kodierung eines berührungslosen Schaltsystems
US20090024900A1 (en) * 2007-07-18 2009-01-22 Cisco Technology, Inc. Cyclic redundancy checking in lane-based communications
JP4798164B2 (ja) * 2008-04-02 2011-10-19 ソニー株式会社 送信装置および方法、受信装置および方法、並びにプログラム
CN102047606A (zh) * 2008-05-26 2011-05-04 Nxp股份有限公司 测量应答器的响应时间的断开及其认证
KR101224383B1 (ko) * 2011-04-18 2013-01-21 (주) 유파인스 디바이스들 사이에서의 보안 통신 방법
US9778912B2 (en) * 2011-05-27 2017-10-03 Cassy Holdings Llc Stochastic processing of an information stream by a processing architecture generated by operation of non-deterministic data used to select data processing modules
FR2990034B1 (fr) * 2012-04-25 2014-04-25 Inside Secure Procede de controle de redondance cyclique protege contre une attaque par canal auxiliaire
EP3217287A1 (de) * 2016-03-11 2017-09-13 Siemens Aktiengesellschaft Verfahren und einrichtung zur erkennung von fehlern bei der speicherung oder übertragung von daten
US10530396B2 (en) 2017-11-20 2020-01-07 International Business Machines Corporation Dynamically adjustable cyclic redundancy code types
US10541782B2 (en) 2017-11-20 2020-01-21 International Business Machines Corporation Use of a cyclic redundancy code multiple-input shift register to provide early warning and fail detection
US10530523B2 (en) 2017-11-20 2020-01-07 International Business Machines Corporation Dynamically adjustable cyclic redundancy code rates
CN111198833B (zh) * 2018-11-16 2023-07-14 英业达科技有限公司 串行通用输入/输出系统
KR20210128240A (ko) * 2020-04-16 2021-10-26 에스케이하이닉스 주식회사 컨트롤러 및 이의 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1238075A (zh) * 1996-09-27 1999-12-08 艾利森公司 自动请求重发系统的检错方案
CN1294831A (zh) * 1998-03-24 2001-05-09 艾利森电话股份有限公司 用于在电信系统中传送识别符信息的方法与设备
CN1412671A (zh) * 2002-09-26 2003-04-23 倚天资讯股份有限公司 针对一主资料产生双重检验值的方法
WO2003045000A1 (en) * 2001-11-19 2003-05-30 Motorola, Inc. Method and apparatus for transmitting voice information

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4346474A (en) * 1980-07-03 1982-08-24 International Business Machines Corporation Even-odd parity checking for synchronous data transmission
US4397020A (en) * 1980-09-11 1983-08-02 Bell Telephone Laboratories, Incorporated Error monitoring in digital transmission systems
US4543657A (en) * 1980-09-16 1985-09-24 The Secretary Of State For Defence In Her Britannic Majesty's Government Of The United Kingdom Of Great Britain And Northern Ireland Synchronizing of clocks
GB2122778B (en) * 1982-06-29 1985-09-11 Sony Corp Digital audio signal processing
JPH0642682B2 (ja) * 1982-09-17 1994-06-01 日本電気株式会社 誤り訂正多値符号化復号化装置
US5041966A (en) * 1987-10-06 1991-08-20 Nec Corporation Partially distributed method for clock synchronization
JP2998366B2 (ja) * 1991-12-03 2000-01-11 富士通株式会社 Crcチェック方法
US5612683A (en) * 1994-08-26 1997-03-18 Trempala; Dohn J. Security key holder
DE69633891T3 (de) 1995-02-23 2011-03-17 Ntt Docomo Inc. Verfahren zur übertragung variabler bitraten und dieses verwendende sender und empfänger
US5745479A (en) * 1995-02-24 1998-04-28 3Com Corporation Error detection in a wireless LAN environment
US5691997A (en) * 1995-09-28 1997-11-25 Cisco Systems, Inc. Encoder for use in asynchronous transfer mode systems
US5825807A (en) * 1995-11-06 1998-10-20 Kumar; Derek D. System and method for multiplexing a spread spectrum communication system
US6243372B1 (en) * 1996-11-14 2001-06-05 Omnipoint Corporation Methods and apparatus for synchronization in a wireless network
US6048090A (en) * 1997-04-23 2000-04-11 Cirrus Logic, Inc. Error correction and concurrent verification of a product code
US6134597A (en) * 1997-05-28 2000-10-17 International Business Machines Corporation CRC hash compressed server object identifier
US7185266B2 (en) * 2003-02-12 2007-02-27 Alacritech, Inc. Network interface device for error detection using partial CRCS of variable length message portions
US6148405A (en) * 1997-11-10 2000-11-14 Phone.Com, Inc. Method and system for secure lightweight transactions in wireless data networks
US5991911A (en) * 1997-11-14 1999-11-23 Cirrus Logic, Inc. Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device
US6052815A (en) * 1997-11-14 2000-04-18 Cirrus Logic, Inc. ECC system for generating a CRC syndrome over randomized data in a computer storage device
US5996105A (en) * 1997-11-14 1999-11-30 Cirrus Logic, Inc. ECC system employing a data buffer for storing codeword data and a syndrome buffer for storing error syndromes
US6047395A (en) * 1998-01-30 2000-04-04 Cirrus Logic, Inc. Error correction processor for correcting a multi-dimensional code by generating an erasure polynomial over one dimension for correcting multiple codewords in another dimension
US6363511B1 (en) * 1998-03-31 2002-03-26 Stmicroelectronics N.V. Device and method for decoding data streams from storage media
US6832314B1 (en) * 1999-12-15 2004-12-14 Ericsson, Inc. Methods and apparatus for selective encryption and decryption of point to multi-point messages
JP3323483B2 (ja) * 2000-09-12 2002-09-09 松下電器産業株式会社 パケット送信装置およびパケット伝送方法
US6701479B2 (en) * 2001-05-15 2004-03-02 Network Elements, Inc. Fast cyclic redundancy check (CRC) generation
US20030093381A1 (en) * 2001-11-09 2003-05-15 David Hohl Systems and methods for authorization of data strings
US20030093751A1 (en) * 2001-11-09 2003-05-15 David Hohl System and method for fast cyclic redundancy calculation
US7100197B2 (en) * 2001-12-10 2006-08-29 Electronic Data Systems Corporation Network user authentication system and method
US7178033B1 (en) * 2001-12-12 2007-02-13 Pss Systems, Inc. Method and apparatus for securing digital assets
US20030154381A1 (en) * 2002-02-12 2003-08-14 Pervasive Security Systems, Inc. Managing file access via a designated place
US20030161324A1 (en) * 2002-01-16 2003-08-28 Aviom, Inc. System and method for transmitting and reconstructing audio or video data using intelligent sample interleaving of transmitted data requiring fewer orders of interpolation to accurately reconstruct audio or video data at the receiver in the event of data lost
US7162644B1 (en) * 2002-03-29 2007-01-09 Xilinx, Inc. Methods and circuits for protecting proprietary configuration data for programmable logic devices
US6880149B2 (en) * 2002-04-01 2005-04-12 Pace Anti-Piracy Method for runtime code integrity validation using code block checksums
US7391723B2 (en) * 2002-04-22 2008-06-24 Computer Network Technology Corporation Frame-level fibre channel CRC on switching platform
US6904554B2 (en) * 2002-06-26 2005-06-07 Lsi Logic Corporation Logic built-in self test (BIST)
US20040107398A1 (en) * 2002-07-02 2004-06-03 Johnson Ian Robert Error detection in received data transmissions
US20050102600A1 (en) * 2003-11-10 2005-05-12 Anand Anandakumar High data rate communication system for wireless applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1238075A (zh) * 1996-09-27 1999-12-08 艾利森公司 自动请求重发系统的检错方案
CN1294831A (zh) * 1998-03-24 2001-05-09 艾利森电话股份有限公司 用于在电信系统中传送识别符信息的方法与设备
WO2003045000A1 (en) * 2001-11-19 2003-05-30 Motorola, Inc. Method and apparatus for transmitting voice information
CN1412671A (zh) * 2002-09-26 2003-04-23 倚天资讯股份有限公司 针对一主资料产生双重检验值的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ROBUST MESSAGE INTEGRITY FOR FANS 1 AND CONS/ATM INGEBORG L RAY,DIGITAL MESSAGE INTERGRITY FOR FANS 1 AND CNS/ATM 1996 15TH AIAA/IEEE 1996 *
ROBUST MESSAGE INTEGRITY FOR FANS 1 AND CONS/ATM INGEBORG L RAY,DIGITAL MESSAGE INTERGRITY FOR FANS 1 AND CNS/ATM 1996 15TH AIAA/IEEE 1996;TWO-DIMNSIONAL CRC FOR EFFIEIENT TRANSMISSION OF ATMC ELLSOVER CDMA AYKUT HOCANIN ET AL,IEEE COMMUNICATIONS LETTERS,Vol.4 No.4 2000 *
TWO-DIMNSIONAL CRC FOR EFFIEIENT TRANSMISSION OF ATMC ELLSOVER CDMA AYKUT HOCANIN ET AL,IEEE COMMUNICATIONS LETTERS,Vol.4 No.4 2000 *

Also Published As

Publication number Publication date
CN1630228A (zh) 2005-06-22
US7523305B2 (en) 2009-04-21
US20050193193A1 (en) 2005-09-01

Similar Documents

Publication Publication Date Title
CN1316775C (zh) 提供数据安全的方法和系统
CN101779190B (zh) 信息传输和综合保护的方法
CN101432969B (zh) 前向纠错(fec)编码和流送
Guruswami et al. Codes for computationally simple channels: Explicit constructions with optimal rate
CN102160315B (zh) 通过循环冗余校验的块的迭代解码
EP0511420B1 (en) A cryptographic system based on information difference
KR101092696B1 (ko) 에러 정정 코드에 기초하는 메시지 인증 코드
CN101253726A (zh) 在计算机可读介质中存储数据的计算机实施的方法
WO2014074194A2 (en) Scalable software architecture for quantum cryptographic key management
US7941725B2 (en) Method for ciphering data with error correction code
CN103635912A (zh) 用于对向认证令牌发送的数据编码和解码的方法和装置
CN103124182A (zh) 文件下载和流系统
WO2009066313A2 (en) Method and system for encryption of data
US9231927B2 (en) Information processing apparatus, data generation method, information processing method, and information processing system for updating and verifying software programs
CN102812431A (zh) 用于识别与保护一组源数据的完整性的方法
Wagner The laws of cryptography with java code
CN111314090B (zh) 一种基于比特级门限的安全多云端口令管理方法
van Tilburg Security-analysis of a class of cryptosystems based on linear error-correcting codes
Micali et al. Optimal error correction for computationally bounded noise
CN100395732C (zh) 用异步电路提高sram工艺fpga设计安全的系统
CN111448815A (zh) 安全rfid标签识别
Fernández-Gómez et al. Concurrent error detection in block ciphers
JPH1075241A (ja) 暗号シフト・レジスタ発生器及びデータのセキュリティを高める方法
CN111245844A (zh) 一种基于核心网设备License的集中控制方法
Júnior et al. A proposal of a cryptography algorithm with techniques of error correction

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