CN107592968A - 生成密码校验和 - Google Patents
生成密码校验和 Download PDFInfo
- Publication number
- CN107592968A CN107592968A CN201580079983.5A CN201580079983A CN107592968A CN 107592968 A CN107592968 A CN 107592968A CN 201580079983 A CN201580079983 A CN 201580079983A CN 107592968 A CN107592968 A CN 107592968A
- Authority
- CN
- China
- Prior art keywords
- message
- checksum
- polynomial
- cryptographic
- generator
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 69
- 238000004891 communication Methods 0.000 claims abstract description 58
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012937 correction Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 abstract description 5
- 230000004075 alteration Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 50
- 238000004422 calculation algorithm Methods 0.000 description 31
- 206010009944 Colon cancer Diseases 0.000 description 13
- 238000012986 modification Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 238000009826 distribution Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000009827 uniform distribution Methods 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- OKUGPJPKMAEJOE-UHFFFAOYSA-N S-propyl dipropylcarbamothioate Chemical compound CCCSC(=O)N(CCC)CCC OKUGPJPKMAEJOE-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
- H04L9/3236—Cryptographic 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 using cryptographic hash functions
- H04L9/3242—Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/158—Finite field arithmetic processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
- H04L9/3236—Cryptographic 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 using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/34—Encoding or coding, e.g. Huffman coding or error correction
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Power Engineering (AREA)
- Algebra (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
提供了一种用于生成消息M(x)的密码校验和的方法(400)。该方法由例如发送器或接收器的通信设备执行,包括:根据将M(x)的第二函数f(M(x))模除n次生成多项式p(x)的第一函数g,g(f(M(x))mod p(x)),计算(405)所述密码校验和。所述生成多项式根据p(x)=(1‑x)·p1(x)而计算(403),p1(x)是n‑1次本原多项式。所述本原多项式基于第一密码密钥从伽罗瓦域上的n‑1次本原多项式的集合中选择(402)。通过用密码校验和来代替标准校验和,提供一种有效的消息认证。所提出的密码校验和可以用于提供对消息的完整性保证,即用于以已知的安全级别来检测随机和有意的消息改变。所提出的校验和能够检测可能由Turbo码解码器引入的双比特错误。
Description
技术领域
本发明涉及一种用于生成密码校验和的通信设备的方法、对应的计算机程序、对应的计算机程序产品以及用于生成密码校验和的校验和生成器。
背景技术
当前的第三代(3G)和第四代(4G)第三代合作伙伴计划(3GPP)移动网络通常在控制平面中使用加密以及认证,而用户平面仅由加密保护。另一方面,WiMAX和无线局域网(WLAN)/WiFi网络还针对用户平面使用认证。
保护用户平面消息收发的一种已知方法是使用通过将加密钥的密码散列函数应用于消息而生成的认证标签,例如加密钥的散列消息认证码(HMAC)或密码块链消息认证码(CBC-MAC)。密码散列函数是一个散列函数,其为任意的数据块(例如消息)生成密码散列值(也称为消息摘要),使得对消息的任何意外或有意的改变(即错误或修改)将至少以某个高概率改变该散列值。因此,消息摘要可以用于为消息提供完整性保证。
加密钥的密码散列函数的第一个问题是其消耗相对较多的资源,这阻碍了其在受限设备中的使用,受限设备即具有有限的计算和电池资源的设备,例如机器对机器(M2M)类型的设备和物联网(IoT)类型的设备。此外,由消息摘要引起的消息长度的增加减少了所传输数据的有效载荷部分,并增加了功耗。第二个问题是,在现有技术中,安全性不能由形式/数学证明来保证,至少不能用没有其他密码假设的证明来保证,例如假设高级加密标准(AES)或某个其他函数是安全的。
通过使用循环冗余校验(CRC)码可以实现针对随机错误的一定程度的保护。CRC码是一种可分离循环码,其资源利用率很高,并且广泛用于数据通信和数据存储中以检测突发错误。使用线性反馈移位寄存器(LFSR)可以有效地实现CRC处理。常用的CRC有(CRC-n意味着n次生成多项式用于CRC的编码和解码,其中次是CRC的生成多项式的最大系数):
-CRC-16-CDMA2000:用于3G移动网络
-CRC-CCITT:用于蓝牙
-CRC-24:用于LTE
-CRC-32:用于以太网和高级数据链路控制(HDLC)协议
-CRC-40-GSM:用于GSM控制信道。
具有n次生成多项式的CRC能够检测长度小于或等于n的所有突发错误以及不是生成多项式的倍数的任何错误。
在存在噪声的情况下通过带宽和/或延迟受限的通信链路要求可靠和高效的信息传输的应用中,通常使用前向纠错(FEC)码。具有附加的校验和(例如CRC)的消息在被调制和发送之前首先被编码成FEC码的码字。
在长期演进(LTE)网络中,经常将Turbo码用作FEC码。由于Turbo码解码是基于概率判决的,所以在解码过程中可能会将错误引入到消息中。Turbo码解码器引入的常见错误类型是双比特错误,其中两个翻转比特不一定是连续的。因此,对于依赖Turbo码的通信(例如在LTE网络中),重要的是检测并优选地纠正由Turbo码解码阶段引入的双比特错误。为此,LTE使用能够检测双比特错误(也称为两比特错误)的CRC类型,例如CRC-24。
虽然传统的CRC技术适于检测随机错误,但它们很容易被恶意的对手击败。由于对手知道特定CRC使用哪个生成多项式,所以他可以轻易地制作一个通过接收器的CRC校验的修改后的消息。这可以例如通过向原始消息中添加与生成多项式的倍数对应的错误来实现。
用于在用户平面中提供数据完整性的一种资源利用率更高的解决方案是用密码安全CRC(在下文中也称为密码CRC或密码校验和)代替常规CRC。密码CRC具有与传统CRC相同的检测随机错误的能力,但是还能够高概率地检测对手注入的任何恶意错误。
Krawczyk提出了一种密码安全CRC[H.Krawczyk,“LFSR-based Hashing andAuthentication”,“Advances in Cryptology-CRYPTO’94”,Lecture Notes in ComputerScience,Volume 839,Springer,1994,pp.129-139]。所提出的CRC需要用于生成认证标签(即CRC校验比特)的n次不可约多项式。基本思想是使CRC多项式是只有发送器和接收器知道的共享秘密。
发明内容
本发明的目的是提供对于以上技术和现有技术的改进的备选方案。
更具体地,本发明的目的是提供一种改进的消息认证。特别地,本发明的目的是提供一种具有已知安全级别的改进的密码校验和。
如由独立权利要求所定义的,通过本发明的不同方面的手段来实现本发明的这些目的和其他目的。从属权利要求表征本发明的实施例。
根据本发明的第一方面,提供了一种用于生成消息M(x)的密码校验和的方法。所述方法由通信设备执行。所述方法包括根据将M(x)的第二函数f(M(x))模除n次生成多项式p(x)的第一函数g,g(f(M(x))mod p(x)),计算所述密码校验和。所述生成多项式根据p(x)=(1-x)·p1(x)而计算,p1(x)是n-1次本原多项式。所述本原多项式基于第一密码密钥从伽罗瓦域(尤其是GF(2))上的n-1次本原多项式的集合中选择。
根据本发明的第二方面,提供了一种计算机程序。该计算机程序包括计算机可执行指令,该计算机可执行指令在设备中包括的处理单元上执行时,使所述设备执行根据本发明的第一实施例所述的方法。
根据本发明的第三方面,提供了一种计算机程序产品。该计算机程序产品计算机可读存储介质,该计算机可读存储介质中实现根据本发明的第二方面所述的计算机程序。
根据本发明的第四方面,提供了一种用于生成消息M(x)的密码校验和的校验和生成器。所述校验和生成器包括被配置为执行以下操作的装置:根据将M(x)的第二函数f(M(x))模除n次生成多项式p(x)的第一函数g,g(f(M(x))mod p(x)),计算所述密码校验和。所述生成多项式根据p(x)=(1-x)·p1(x)而计算,p1(x)是n-1次本原多项式。所述本原多项式基于第一密码密钥从伽罗瓦域(尤其是GF(2))上的n-1次本原多项式的集合中选择。所述校验和生成器例如可以包括在通信设备中。
贯穿本公开,通信设备可以是例如发送器设备、接收器设备、移动终端、用户设备(UE)、移动电话、智能电话、平板电脑、计算机、无线接入网络(RAN)的节点等。
本发明基于以下理解,即,可以通过用密码校验和代替标准校验和(例如CRC)来提供有效的消息认证,该密码校验和基于生成多项式,该生成多项式由本原多项式和固定多项式(1-x)产生。如本领域已知的,本原多项式是可约的并且具有非零常数项。所提出的密码校验和可以用于提供对消息的完整性保证,即用于以已知的安全级别(其在下面进一步推导得出)来检测随机和有意的消息改变。有利地,对于长度最多为2n-1-1比特的消息,所提出的校验和保证检测可能由Turbo码解码器引入的双比特错误[例如参见W.H.Press,S.A.Teukolsky,W.T.Vetterling和B.P.Flannery,,“Section 22.4 Cyclic Redundancyand Other Checksums”,“Numerical Recipes:The Art of Scientific Computing(3rded.)”,New York:Cambridge University Press]。由于LTE中的数据的最大允许传输块大小为6114比特,所以诸如CRC-24之类的24阶校验和能够检测消息中的所有双比特错误。所提出的校验和还能够检测任何单比特的错误和奇数比特中的任何错误。
在本上下文中,消息是经常被转换成特定格式的二进制编码信息。该格式可以由消息所涉及的协议来规定。通常,消息包括首部和有效载荷,并且优选地为整个消息(即首部和有效载荷)生成密码校验和。
本发明的实施例相对于现有技术的有利之处在于,用具有与传统CRC相同的随机错误检测能力的密码校验和来替代传统CRC,该密码校验和另外提供消息的完整性保证,并且消息格式不改变。特别地,与基于向消息添加附加MAC的已知解决方案不同,消息的长度不增加。生成所提出的生成多项式需要测试本原性,其计算复杂度量级为n3的比特运算[例如参见M.“Generation of primitive binary polynomials”,InternationalConference on Algebra,Logic and Discrete Mathematics,April 14-16,1995,],这与不可约性测试的计算复杂度相当[例如参见S.Gao和D.Panario,“Tests andConstructions of Irreducible Polynomials over Finite Fields”in Foundations ofComputational Mathematics,F.Cucker and M.Shub(Eds.),Springer,1997,pp.346-361]。
请注意,在本上下文中,可以通过本原多项式的概率分布来控制对本原多项式的选择。这样的概率分布可以有效地限制可用多项式的集合。实际上,维护仅伽罗瓦域上的所有n-1次本原多项式的一个子集的数据库意味着实施一种不包含在数据库中的多项式为零概率的概率分布。
根据本发明的实施例,该方法还包括由通信设备选择本原多项式并计算生成多项式。换句话说,在参与通信会话的两个通信设备(例如发送器和接收器)的场景下,可以由每个通信设备基于涉及共享秘密的确定方案来选择本原多项式。由每个通信设备基于其选择的本原多项式来计算生成多项式。
或者,可以由通信设备接收本原多项式或者描述如何生成本原多项式的信息,并且基于接收的本原多项式或者接收的描述如何生成本原多项式的信息,计算生成多项式。例如,通信设备之一(例如发送器)可以选择本原多项式,并向接收器发送该本原多项式或者描述如何生成该本原多项式的信息。然后,由每个通信设备基于由发送器选择的本原多项式来计算生成多项式。本原多项式也可以由第三方(即不包括在这两个通信设备的通信会话中的网络节点)选择,然后将该本原多项式或者描述如何生成该本原多项式的信息分发到这两个通信设备。第三方例如可以是通信网络中的密钥服务器或认证、授权及计费(AAA)服务器。
作为另一替代方案,可以由通信设备接收生成多项式或者描述如何生成生成多项式的信息。例如,通信设备之一(例如发送器)可以基于其选择的本原多项式或者基于接收的本原多项式来计算生成多项式,并向接收器发送该生成多项式或者描述如何生成该生成多项式的信息。生成多项式也可以由第三方(即不包括在这两个通信设备的通信会话中的网络节点,例如通信网络中的密钥服务器或AAA服务器)计算,然后将该生成多项式或者描述如何生成该生成多项式的信息分发到这两个通信设备。
根据本发明的实施例,伪随机地选择本原多项式。贯穿本公开,伪随机选择被理解为是看似随机的过程,即,其产生显示出统计随机性或计算随机性、但实际上依赖于确定规则的本原多项式的序列。统计随机性意味着所产生的本原多项式的概率分布在某个度量中接近所有本原多项式的集合上的均匀分布。计算随机性意味着没有有效的算法能够在某个度量中将所生成的本原多项式的概率分布与所有本原多项式的集合上的均匀分布相区分。
根据本发明的实施例,该方法还包括伪随机地生成长度为n的填充s,其中第一函数包括与所述填充相加。与伪随机生成的填充相加是有利的,因为通过散列函数生成密码校验和的线性变换被转变为仿射变换。在不存在填充的情况下,对手可以成功地注入全零消息。可选地,填充可以伪随机地生成。还可选的是,填充可以基于第二密码密钥生成,该第二密码密钥可以等于或不同于第一密码密钥。
根据本发明的实施例,还基于针对消息特定的信息选择本原多项式。也就是说,基于针对消息特定的信息,以只有消息的发送器和接收器知道并且对手看起来是随机的方式选择本原多项式。针对消息特定的信息可以例如包括消息序号、消息标识符、消息中包含的时间戳等中的任何一个或组合。因此,请注意,针对消息特定的信息不需要是秘密的,只有它实施本原多项式的选择的方式需要是秘密的。
根据本发明的实施例,该方法由发送器设备执行。该方法包括获取所述消息,生成所述消息的密码校验和,将生成的所述密码校验和附加到所述消息,以及将所述消息和附加的所述密码校验和编码为FEC码的码字,并发送所述FEC码字。
根据本发明的实施例,将所述消息和附加的所述密码校验和编码为FEC码的码字包括:基于所述消息和附加的所述密码校验和生成所述FEC码的一个或多个校验比特;以及将生成的所述FEC校验比特附加到所述消息和附加的所述密码校验和。在此情况下,能够在接收器处将校验比特与FEC码字中分离。这种FEC码通常称为可分离码。
根据本发明的另一实施例,该方法由接收器设备执行。该方法包括接收FEC码的码字,从所述FEC码字提取所述消息和附加的所述第一密码校验和,生成所述消息的第二密码校验和;以及验证所述第一密码校验和是否与所述第二密码校验和相同。如果不相同,则无法确立所述消息的完整性。即,所述消息已经被有意或意外地修改。通过对所述FEC码字进行解码来从所述FEC码字中提取所述消息和附加的所述第一密码校验和。
根据本发明的实施例,所述FEC码字包括所述消息、附加的所述第一密码校验和以及所述FEC码的一个或多个附加的校验比特,从所述FEC码字提取所述消息和附加的第一密码校验和包括:基于附加的所述FEC校验比特纠正所述消息和附加的所述第一密码校验和。
尽管已经在一些情况下参考本发明的第一方面的实施例描述了本发明的优点,但是相应的推理适用于本发明的其它方面的实施例。
当研读以下的详细公开、附图和所附的权利要求时,本发明的附加目的、特征和优点将变得显而易见。本领域技术人员意识到可以组合本发明的不同特征来创建不同于以下描述的实施例的实施例。
附图说明
将通过以下参照附图对本发明的实施例的说明性且非限制性的详细描述来更好地理解本发明的以上目的、特征和优点以及附加目的、特征和优点,在附图中:
图1示出了通信系统。
图2示出了码字。
图3示出了表示消息认证的框图。
图4示出了根据本发明实施例的发送器的方法的流程图。
图5示出了根据本发明实施例的接收器的方法的流程图。
图6示出了根据本发明实施例的发送器。
图7示出了根据本发明实施例的接收器。
图8示出了根据本发明另一实施例的发送器。
图9示出了根据本发明另一实施例的接收器。
图10示出了根据本发明实施例的IC。
图11示出了根据本发明实施例的移动电话。
所有附图是示意性的,不一定按比例绘制,并且通常仅示出为了阐明本发明所必需的部分,其中可以省略或仅仅建议其他部分。
具体实施方式
现在将参考附图在下文中更全面地描述本发明,附图中示出了本发明的某些实施例。然而,本发明可以以许多不同的形式实施,并且不应解释为限于本文所阐述的实施例。相反,通过示例的方式给出这些实施例,使得本公开将是透彻和完整的,并且向本领域技术人员充分地传达本发明的范围。
图1中示出了通信系统100,其包括发送器设备101和接收器设备102(在整个本公开中分别被称为发送器和接收器)这两个通信设备,它们被配置用于通过通信网络103进行通信。特别地,发送器101被配置用于发送消息105,接收器102被被配置为用于接收消息105。优选地,通信设备101和102被被配置为用于发送和接收消息。发送器101和接收器102可以是能够通过通信网络103进行通信的任何类型的设备,例如计算机、移动终端、用户设备(UE)、M2M/IoT类型的设备、或无线接入网络(RAN)的节点),例如网关、无线电网络控制器(RNC)、无线电基站(RBS)、节点B或eNodeB。通信网络103可以是有线或无线网络的任何一个或其组合,例如,RAN(诸如GSM、UMTS、LTE)、WLAN/WiFi网络、以太网、公司网络、因特网等。
从发送器101经由通信网络103发送到接收器102的消息105容易被随机/无意或有意/恶意地修改。随机修改可以例如由突发错误或非相邻的t比特错误(t=2)引起,这些错误是在通信网络103的无线网络的空中接口上传输时产生的,或者是由诸如Turbo码解码器之类的某些FEC解码器产生的。另一方面,恶意修改可能来自对手104,其也在图1中示出。对手104可以拦截由发送器101发送的消息105,并将修改后的消息拷贝重新发送到接收器102。对手104还可以尝试生成新消息,而不依赖于对从发送器101接收的消息进行的修改。通常,对手104的意图是将恶意消息注入接收器102,特别是接收器102的网络接口、操作系统或应用。
本领域已知的是,通过对消息105的完整性保证来检测消息105的随机修改。这可以通过向消息105提供诸如CRC的校验和来实现,如图2所示。在整个本公开中,结合前向纠错(FEC)码来描述根据本发明实施例的校验和的使用,前向纠错(FEC)码用于控制不可靠或有噪声的通信信道上的数据传输中的错误。FEC码例如在LTE网络中使用。FEC背后的思想是,发送器101通过使用纠错码以冗余的方式对消息进行编码,从而允许接收器102检测和纠正某些错误。检测不同类型错误的能力取决于所采用的FEC码的类型。但是请注意,本发明在不依赖于FEC的情况下也是有用的。例如,这可能是如下情况,即,由于某种原因发送器和接收器之间的信道存在引入双比特错误的趋势,类似于如上所述在FEC解码器中可能发生的那样。
为此,为消息204生成诸如CRC的校验和203,并将其附加到消息204,消息204在图2中被示为包括首部201和承载有效载荷的主体202。消息204和附加的校验和203随后被编码成FEC码字206。如果使用具有可分离FEC码的FEC算法,则如图2的上部210所示,基于FEC算法生成多个FEC校验比特205,并将其附加到消息204和校验和203,从而产生具有可分离校验比特205的FEC码字206。作为替代,在图2的下部220中示出,可以设想不使用可分离FEC码的FEC算法。在后一种情况下,消息204和校验和203被编码成FEC码字206,其与消息204和校验和203的组合长度相比具有增加的长度以提供冗余比特。然后,将码字206(对应于图1中的消息105,或携带在图1中的消息105中)发送到接收器102,在接收器102中如下面参考图3所描述的那样验证消息204的完整性,图3示出了表示发送器侧(图3中的左侧)和接收器侧(图3中的右侧)的框图300,它们分别对应于图1的发送器101和接收器102。
在发送器101处,获取要发送到接收器102的消息204,例如从发送器101的协议栈的较高层接收,并且馈送到被配置用于计算第一校验和(图3中的CS)203(尤其是CRC)的算法301。除了消息204之外,校验和算法301还接收一个共享秘密(例如密码密钥)作为输入,并且生成第一校验和203作为输出。可选地,校验和算法301可以另外接收一个初始化值(IV)作为输入,基于该IV生成第一校验和203。IV可以是向校验和算法301的单独输入,或者它可以作为消息204的一部分输入,例如通过将它放置在消息204之前或之后。然后,通过将校验和203附加到消息204来对消息204和校验和203进行组合,在此之后,通过FEC编码算法311将它们编码成FEC码字206,随后例如经由通信网络103将该FEC码字206作为消息105发送到接收器102。
在接收器102处,FEC码字216被接收并馈送到FEC解码算法312,FEC解码算法312对应于FEC编码器311,并且能够检测和纠正在源自发送器101的FEC码字206的传输期间引入的突发错误。在没有任何传输错误的情况下,由接收器102接收的FEC码字216与由发送器101发送的FEC码字206相同。FEC解码器312的输出是消息214及其校验和213(图3中的CS’)。请注意,由于由FEC解码器312引入的错误,消息214和校验和213可能分别不同于在发送器侧被馈送到FEC编码器311的消息204和校验和203。由于Turbo码解码基于概率判决,所以这种错误可能由在LTE中频繁使用的Turbo码解码器引入。Turbo码解码器引入的常见错误类型是双比特错误,其中两个翻转比特不一定是连续的。
消息314被馈送到与发送器101的校验和算法301相同的校验和算法301,校验和算法301基于消息314,并且还基于与发送器101使用的共享秘密相同的共享秘密,生成第二校验和223(图3中的CS”)。可选地,校验和算法301可另外接收IV作为输入,该IV与发送器101使用的IV相同。然后,通过将第二校验和223馈送到比较器305中,并将其与从接收的码字206提取的第一校验和213进行比较,来验证消息314的完整性。比较结果由比较器305提供用于进一步使用(例如由接收器102的通信栈的较高层使用),并且指示第一校验和213和第二校验和223是否相同。例如,比较器305输出的结果可以是布尔值,其中高值(布尔“1”)表示两个校验和是相同的,低值(布尔“0”)表示两个校验和不同,或者反之亦然。如果相同,则可以假设消息304的完整性,即,由接收器102接收的消息214与由发送器101发送的消息204相同。通过验证消息214的完整性,可以以某种概率来推断消息204在传输105期间未被修改。
已知的校验和,特别是作为(诸如HMAC或CBC-MAC之类的)密码散列函数的CRC,被设计用于检测消息的随机修改。更具体地,具有n次生成多项式p(x)的CRC能够检测长度小于或等于n的所有突发错误。此外,CRC将检测出不是其生成多项式p(x)的倍数的任何错误。CRC的编码和解码可以通过硬件(使用LFSR)和软件高效地实现。
为了在发送器101处进行编码,消息M(x)204通常首先乘以xn,然后被生成多项式p(x)模除。余数
r(x)=M(x)·xn mod p(x) (1)
的多项式系数构成CRC校验和203(即消息摘要),并且被添加到数据比特,M(x)·xn,以形成消息204和校验和203的组合。贯穿本公开,“·”是有限域GF乘法(其对于有限域GF(2)等效于布尔AND)运算,而“mod”是有限域中的多项式模除法的余数。请注意,乘以xn将消息M(x)204移位n比特。即,消息M(x)204在与CRC校验和203组合之前被移位。作为结果,消息比特可以与校验和比特分离。然后,消息204和校验和203由FEC编码器311编码成FEC码字206,FEC编码器311根据某个FEC算法进行操作。在LTE中,通常使用Turbo码。
为了在接收器102处进行解码,首先将以FEC码字216接收的数据比特M′(x)·xn馈送入与FEC编码器311对应地操作的FEC解码器312,由此提取消息214和校验和213,它们随后被生成多项式p(x)模除。得到的余数的多项式系数,即校验和223,
r′(x)=M′(x)·xn mod p(x) (2)
与利用码字206接收的校验比特r(x)213(CS’)进行比较。如果没有发生错误,即消息204在传输105期间未被修改并且FEC解码器312没有引入双比特错误,则余数r′(x)与接收到的余数r(x)相同。不一致指示错误,指示消息203中的翻转比特、校验和203中的翻转比特、或者两者。
虽然传统的CRC技术对于检测随机修改或错误是有用的,但对手104可以容易地对由发送器101发送的消息进行通过接收器102处的CRC校验的修改,因为由校验和算法301使用的生成多项式p(x)不是仅由发送器101和接收器102已知的秘密。例如,对手104可以向发送的消息M(x)204添加错误e(x),该错误对应于作为生成多项式p(x)的倍数的多项式,使得e(x)mod p(x)=0。此外,对手104可以简单地用不同的消息304(可能具有恶意内容)替换由发送器101发送的消息204,使用与发送器101相同的校验和算法301对其进行编码,并将其发送到接收器102,在接收器102处其通过完整性检查。
一种用于尤其在用户平面中提供数据完整性的资源利用率高的解决方案是用密码安全CRC代替常规CRC,密码安全CRC具有与传统CRC相同的检测随机错误的能力,但也能够以高概率检测任何有意或恶意的修改。使用与传统CRC相同大小的密码安全CRC的优点是可以扩展现有协议栈以支持消息认证,而不需要为了应对消息大小的改变而重新设计整个协议栈。
Krawczyk提出的密码安全CRC基于这样的想法:使生成多项式是只有发送器101和接收器102知道的共享秘密。这样,对手104不能设计消息以便在接收器102处通过完整性校验。从安全的角度来看这是令人满意的,但由Krawczyk提出的生成多项式不允许检测双比特错误。
下面描述的本发明实施例的优点在于,可以借助于与常规CRC相同大小的密码校验和来验证从发送器101发送到接收器102的消息105的完整性,但是除了随机错误之外,还能够以高概率检测有意的恶意修改,而常规CRC无法实现这一点。与由Krawczyk提出的密码校验和相比,本发明的实施例的进一步的优点在于所提出的生成多项式具有检测可能由FEC解码器312引入的双比特错误的能力。
为此,本发明的实施例利用一种代替如图2和图3所示的常规校验和203(例如CRC)的密码校验和。请注意,在本发明的一些实施例中,消息204或部分消息(例如主体202)也可以被加密。在这种情况下,接收器102可以在执行完整性验证之前首先解密消息或消息的部分。或者,解密处理的至少一部分可以与校验和验证相交织。作为另一替代方案,可能不需要接收器102首先解密所接收的消息。在接收器102处首先对接收到的消息进行解密的需要取决于发送器101处的处理顺序。例如,如果在发送器101处在生成校验和203并将其附加到消息204之后应用消息加密,则接收器102通常首先需要对接收到的码字216的至少部分内容进行解密。另一方面,如果发送器101首先对消息204进行加密,然后对加密的消息计算校验和203,则接收器102可以推迟解密,直到已经计算了校验和223并且验证了所接收的加密消息的完整性。贯穿本公开,除非另有说明,否则我们假设根据需要执行解密。
因此,分别用于在发送器101(图3中的CS)和接收器102(图3中的CS”)中生成密码安全校验和的校验和算法301与Krawczyk提出的校验和算法相比,进行了如下所述的修改。
校验和算法301依赖于散列函数hp(M)来用于生成消息M(x)204的密码校验和203。它包括根据第一函数g计算密码校验和t(M)203,第一函数g将关于M(x)的第二函数f(f(M(x)))模除p(x),即,
t(M)=g(f(M(x))mod p(x)) (3),
其中
hp(M)=f(M(x))mod p(x) (4)
是散列函数。生成多项式的形式是
p(x)=(1-x)·p1(x) (5),
其中p1(x)是从伽罗瓦域(尤其是阶数为2的伽罗瓦域GF(2))上的本原多项式集合中选择的n-1次本原多项式。本原多项式p1(x)可以基于第一密码密钥(即发送器101和接收器102已知的共享秘密)来选择。共享秘密可以例如由本领域已知的订户识别模块(SIM)、通用SIM(USIM)等支持的公钥技术或对称技术来建立。本原多项式p1(x)的选择以及根据等式(4)的生成多项式p(x)的计算可以由发送器101和接收器102例如在校验和算法301中执行。
作为替代,发送器101和/或接收器102还可以被配置为接收本原多项式p1(x)或描述如何生成本原多项式p1(x)的信息,并且基于接收到的本原多项式p1(x)或接收到的描述如何生成本原多项式p1(x)的信息来计算生成多项式p(x)。例如,发送器101可以被配置用于选择本原多项式p1(x),计算生成多项式p(x),并向接收器102发送本原多项式p1(x)或描述如何生成本原多项式p1(x)的信息。相应地,接收器102可以被配置用于接收本原多项式p1(x)或描述如何生成本原多项式p1(x)的信息,并且基于所接收的本原多项式p1(x)或所接收的描述如何生成本原多项式p1(x)的信息来计算生成多项式p(x)。或者,发送器101和接收器102这两者可以被配置用于从例如密钥或AAA服务器106等第三方接收本原多项式p1(x)或描述如何生成本原多项式p1(x)的信息,并且基于所接收的本原多项式p1(x)或所接收的描述如何生成本原多项式p1(x)的信息来计算生成多项式p(x)。将理解的是,在此情况下,所接收的本原多项式p1(x)或所接收的描述如何生成本原多项式p1(x)的信息代替共享秘密和可选的IV而用作向校验和算法301的输入。
作为另一替代方式,发送器101和/或接收器102还可以被配置用于接收生成多项式p(x)或描述如何生成生成多项式p(x)的信息。例如,发送器101可以被配置用于选择本原多项式p1(x),计算生成多项式p(x),并向接收器102发送生成多项式p(x)或描述如何生成生成多项式p(x)的信息。相应地,接收器102可以被配置用于接收生成多项式p(x)或描述如何生成生成多项式p(x)的信息。或者,发送器101和接收器102这两者可以被配置用于从例如密钥或AAA服务器106等第三方接收生成多项式p(x)或描述如何生成生成多项式p(x)的信息。将理解的是,在此情况下,所接收的生成多项式p(x)或所接收的描述如何生成生成多项式p(x)的信息代替共享秘密和可选的IV而用作向校验和算法301的输入。
描述如何生成本原多项式p1(x)或生成多项式p(x)的信息例如可以包括本原多项式或生成多项式的列表(该列表对发送器101和接收器102两者已知)的索引,或者分别包括本原多项式p1(x)或生成多项式p(x)的系数。或者,描述如何生成本原多项式的信息可以是用作确定算法的输入的种子,该确定算法根据该种子生成本原多项式。例如,种子可以是任意多项式,确定算法可以从种子输入起按照词典顺序测试连续的多项式,直到找到本原多项式。测试某个多项式是否是本原多项式的技术在本领域是众所周知的[例如参见M.“Generation of primitive binary polynomials”,InternationalConference on Algebra,Logic and Discrete Mathematics,April 14-16,1995,]。
例如,如果将n-1次本原多项式p1(x)表示为
则描述如何生成本原多项式p1(x)的信息可以包括系数集合{ci},其中,对于GF(2),对于所有的i=0,...,n-1,ci=0或1。
相应地,如果将n次生成多项式p(x)表示为
则描述如何生成生成多项式p(x)的信息可以包括系数集合{c′i},其中,对于GF(2),对于所有的i=0,...,n,c′i=0或1。
本原多项式p1(x)、生成多项式p(x)、或者描述如何生成本原多项式p1(x)或生成多项式p(x)的信息可以在握手过程期间分别被提供给通信会话中涉及的设备(例如发送器101和/或接收器102),该握手过程作为通信会话的初始化处理而被执行。例如,如果作为初始化过程的一部分而利用了认证与密钥协商(AKA)过程等,则由AKA产生的密钥可以用作前面提到的第一密码密钥,并且还可以用作上面描述的生成本原多项式的确定算法的输入。或者,第一密码密钥可以用作预先计算出的合适的本原多项式的表的索引。
进一步可选地,第一函数g可以包括与长度为n的填充s相加,即,
g(hp(M))=hp(M)+s (8),
其中“+”是布尔按位XOR运算。填充s可以例如基于可能与第一密码密钥相同或不同的第二密码密钥而伪随机地生成。第一和/或第二密码密钥可以从第三密码密钥生成,例如,通过从第三密码密钥和发送器101及接收器102已知的某些信息生成伪随机比特序列,并且选择所生成的比特序列的一部分作为第一密码密钥,将比特序列的剩余比特作为第二密码密钥。与随机填充s的相加是有利的,因为通过散列函数hp(M)生成密码校验和的线性变换(即,hp(A)+hp(B)=hp(A+B))被转变为仿射变换hp(M)+s。在不存在填充的情况下,hp(0)=0,而无论散列函数使用的生成多项式是什么,这使得对手能够注入全零消息。请注意,如果在发送器101处应用了使用流密码的加密,则可以由加密功能提供填充s,从而对加密和完整性处理进行“交织”。在这种情况下,接收器102可以(i)首先通过解密去除填充s,然后仅将hp(M)作为校验和213处理,或者(ii)不去除填充s,而将hp(M)+s视为校验和213。
在本发明的实施例中使用的填充类似于在20世纪初由Vernam引入的众所周知的一次性填充。在Vernam密码中,使用布尔XOR运算将消息与填充逐比特组合在一起。在本发明的实施例中,填充与密码校验和以类似的方式组合。
在下文中,分析了根据本发明的实施例提出的用于计算密码校验和的系列散列函数的安全性,并将其与类似于Krawczyk的密码校验和进行比较。
考虑(m,n)族的密码安全散列函数,其定义如下。对于二进制长度为m的任意消息M(x),并且对于根据等式(4)的每个生成多项式p(x)(其中p1(x)是伽罗瓦域上的n-1次本原多项式),散列函数hp被定义为多项式
hp(M)=M(x)·xn mod p(x) (9)
的二进制系数。
为了计算认证标签,即消息摘要或加密安全校验和,
t(M)=hp(M)+s (10),
(优选伪随机地)生成本原多项式p1(x),根据等式(4)形成生成多项式p(x),评估散列函数hp,并且显式地或作为加密处理的一部分添加伪随机生成的填充s。请注意,生成本原多项式p1(x)需要对从伽罗瓦域上的所有n-1次多项式的集合中伪随机地选择的每个多项式进行本原性的测试,或者需要从包含伽罗瓦域上的n-1阶本原多项式的一个集合(优选全部)的数据库中伪随机地抽取每个本原多项式p1(x)。
为了分析所提出的散列函数系列的安全性,假设在以下情况下对手104成功地破坏认证,即,在看到M(x)和t之后,对手104可以找到消息M′(x)≠M(x),使得t′=t。这里假设对手104知道(m,n)族的散列函数,但不知道用于认证特定消息的特定散列函数hp和填充s。
通过考虑CRC在给定长度的所有消息上的分布来进行分析。请注意,在这里考虑最坏情况,即假设对手104将通过尝试设计校验和来最大化他的机会,并且我们假定对手104知道(并选择)使成功概率最大化的那些消息。因此,成功的概率取决于两个不同消息M和M′将具有相同校验和t(根据等式(10)计算)的最大概率,因为这意味着对手104能够用另一消息替换由发送器101发送的消息而不被检测到,即在接收器102处通过完整性检查。即,我们寻找
maxM,M′Pr[hp(M)=hp(M′)] (11),
其中,对于所有不同的m比特消息M和M′取最大值,并且对于生成多项式p(x)(根据定义散列函数的等式(4))的随机选择取概率Pr。请注意,填充s的存在不影响该概率,因为hp(M)+s=hp(M′)+s,当且仅当hp(M)=hp(M′)。还请注意,概率是统计量,预测随机事件的最佳策略是根据事件的统计分布进行预测。例如,无论可以使用什么资源,预测掷硬币(假设的完美的硬币)的结果是正面还是反面的成功概率都不会大于1/2。因此,等式(11)得出任意对手的成功概率的上限,无论该对手可能拥有的计算资源如何。
根据定理1(参见附录),对于m和n的任意值,并且对于任意消息M,对于具有基于随机选择的生成多项式的密码校验和的认证,没有对手可以以大于如下值的概率成功地破解该认证
其中,是著名的欧拉totient函数。概率ε称为碰撞概率。如果2n-1-1是质数,则等式(12)简化为
ε≤(m+n-1)/(2n-1-2) (13)。
对于2n-1-1不是质数的情况,等式(12)可以近似为
ε≤(m+n-1)/2n-2 (14)。
为了比较,给出了类似于Krawczyk的不可约生成多项式的碰撞概率
εKr≤(m+n)/2n-1 (15)。
可以看出,对于2n-1-1是质数的情况(例如n=32时的情况成立),所提出的加密安全CRC具有与Krawczyk的加密安全CRC(等式(15))近似相同的碰撞概率(等式(13)),因此提供了类似的安全性。
例如,对于n=32和m=6114,本发明实施例的碰撞概率是ε=2.8615·10-6(等式(13)),而类似于Krawczyk的加密安全CRC的碰撞概率是εKr=2.8620·10-6(等式(15))。此外,所提出的密码安全CRC对于最多2n-1-1比特的消息能够检测所有双比特错误,而Krawczyk的加密安全CRC无法实现该功能。
请注意,尽管这里描述的安全性分析基于均匀随机参数(例如随机选择的多项式)的假设,但这些参数实际上是伪随机生成的。然而,这种区别并不重要,因为已知的伪随机发生器产生实际上不能与均匀分布相区分的输出分布。因此,对手无法利用这些分布差异。
本发明的实施例基于生成多项式p(x)和填充s中的至少一个对于对手104而言无法预测的改变,改变的方式对于发送器101和接收器102而言是确定的。即,必须在发送器101和接收器102之间同步对生成多项式p(x)和填充s的改变。
伪随机地选择本原多项式所基于的共享秘密,即第一密码密钥,意在使校验和算法301的输出对于对手104而言是无法预测的,但是校验和算法301可选地可以基于某些(非秘密的)与消息相关的数据来选择本原多项式p1(x),例如消息的序号或者消息中的某些其他的唯一信息,例如时间戳、消息标识符或随机数。这种附加的信息例如可以携带在消息204的首部201中。
通常,可能不需要为每个消息计算新的生成多项式,在发送器101和接收器102之间的新会话开始时生成生成多项式,并且对于会话期间在发送器101和接收器102之间交换的所有消息保持该生成多项式固定就足够了。然而,此时填充必须针对每个消息改变,并且可以根据与消息相关的数据(即针对消息特定的信息)改变。
在图4中,示出了发送器设备用于认证消息的方法的实施例400。方法400的实施例可以例如由发送器101执行。方法400包括例如从发送器101的通信栈的较高层或由发送器101执行的应用获取401消息,生成所述消息的密码校验和,将生成的密码校验和附加406到所述消息,将所述消息和附加的密码校验和编码407为FEC码的码字,并且发送408所述FEC码字。
更具体而言,生成密码校验和包括:根据将M(x)的第二函数f(M(x))模除n次生成多项式p(x)的第一函数g,g(f(M(x))mod p(x)),计算405所述密码校验和。所述生成多项式根据p(x)=(1-x)·p1(x)而计算,p1(x)是n-1次本原多项式,其基于第一密码密钥从伽罗瓦域(尤其是GF(2))上的n-1次本原多项式的集合中选择。第一密码密钥是消息的发送器和接收器已知的共享秘密。优选地,本原多项式是伪随机选择的。
方法400还可以包括选择402所述本原多项式;以及计算403所述生成多项式。或者,方法400还可以包括接收所述本原多项式或者描述如何生成所述本原多项式的信息;以及基于接收的所述本原多项式或者接收的所述描述如何生成所述本原多项式的信息,计算所述生成多项式(图4中未示出)。作为又一代替方式,方法400还可以包括接收所述生成多项式或者描述如何生成所述生成多项式的信息(图4中未示出)。本原多项式、生成多项式、或者描述如何生成相应多项式的信息可以从通信会话中涉及的另一设备接收,或者从第三方接收。例如,发送器101可以从接收器102、密钥或AAA服务器106等接收本原多项式、生成多项式、或者描述如何生成相应多项式的信息。
将所述消息和附加的所述密码校验和编码407为FEC码字可选地可以包括:基于所述消息和附加的所述密码校验和生成所述FEC码的一个或多个校验比特;以及将生成的所述FEC校验比特附加到所述消息和附加的所述密码校验和。这是可分离FEC码的情况。
方法400还可以包括伪随机地生成404长度为n的填充s,其中所述第一函数g包括与所述填充s相加。可以基于第二密码密钥生成所述填充s,第二密码密钥可以等于或不同于第一密码密钥。第二和第一密码密钥是消息的发送器和接收器已知的共享秘密。可选地,本原多项式和填充中的至少一个或者两者可以基于所述针对消息特定的信息来生成,例如消息序号、时间戳、随机数等。
在图5中,示出用于认证消息的接收器设备的方法的实施例500.方法500的实施例例如可以由接收器102执行。方法500包括接收501FEC码字,即所述消息和附加的第一密码校验和的编码表示,通过对所述FEC码字进行解码从所述FEC码字提取502所述消息和附加的所述第一密码校验和,生成所述消息的第二密码校验和,并且验证508所述第一密码校验和是否与所述第二密码校验和相同。如果不相同,则无法确立消息的完整性。即,消息已经被意外/随机地或者有意/恶意地修改。
更具体而言,生成第二密码校验和包括:根据将M(x)的第二函数f(M(x))模除n次生成多项式p(x)的第一函数g,g(f(M(x))mod p(x)),计算505所述密码校验和。所述生成多项式根据p(x)=(1-x)·p1(x)而计算,p1(x)是n-1次本原多项式,其基于第一密码密钥从伽罗瓦域(尤其是GF(2))上的n-1次本原多项式的集合中选择。第一密码密钥是消息的发送器和接收器已知的共享秘密。优选地,本原多项式是伪随机选择的。
方法500还可以包括选择504所述本原多项式;以及计算505所述生成多项式。或者,方法500还可以包括接收所述本原多项式或者描述如何生成所述本原多项式的信息;以及基于接收的所述本原多项式或者接收的所述描述如何生成所述本原多项式的信息,计算所述生成多项式(图5中未示出)。作为又一代替方式,方法500还可以包括接收所述生成多项式或者描述如何生成所述生成多项式的信息(图5中未示出)。本原多项式、生成多项式、或者描述如何生成相应多项式的信息可以从通信会话中涉及的另一设备接收,或者从第三方接收。例如,接收器102可以从发送器101、密钥或AAA服务器106等接收本原多项式、生成多项式、或者描述如何生成相应多项式的信息。
可选地,所述FEC码字可以包括所述消息、附加的所述第一密码校验和以及所述FEC码的一个或多个附加的校验比特。在此情况下,方法500还可以包括基于附加的所述FEC校验比特纠正503所述消息和附加的所述第一密码校验和。
方法500还可以包括伪随机地生成506长度为n的填充s,其中所述第一函数g包括与所述填充s相加。可以基于第二密码密钥生成所述填充s,第二密码密钥可以等于或不同于第一密码密钥。第二和第一密码密钥是消息的发送器和接收器已知的共享秘密。可选地,本原多项式p1(x)和填充s中的至少一个或者两者可以基于所述针对消息特定的信息来生成,例如消息序号、时间戳、随机数等。
根据本发明实施例的密码校验和的计算基于与传统CRC相同类型的运算。因此,它保留了传统CRC的大部分的简单性,只是本发明实施例利用了可变的伪随机生成多项式。因此,本发明实施例在硬件上的实现是简单的,所得到的实现的资源利用率非常高。模除GF(2)上的多项式的运算可以通过LFSR来实现,其中LFSR的抽头确定生成多项式p(x),如本领域现有技术所知。即使乘以xn也可以以高性能在硬件上实现。然而,传统CRC的生成多项式是固定且预先已知的,并且实现电路通常具有确定生成多项式的硬连线的反馈连接,与此相比,在根据本发明的实施例的密码校验和所要求的实现中,反馈连接是可编程的。这些反馈连接的实际配置是散列的关键,并且应当是可变的和秘密的。请注意,一些非加密CRC电路如果需要基于不同的生成多项式来支持不同的CRC标准,或者需要支持不同的多项式次数,则它们也可能使用可编程连接[例如参见J.Birch,L.G.Christensen和M.Skov,“Aprogrammable 800Mbit/s CRC check/generator unit for LAN6 and MANs”,Comp.Networks and ISDN Sys.,1992]。
CRC生成器的软件形式的高效实现也存在。在这些实现中,通过使用预先计算的表来实现显著的速度提高,这些预定的表依赖于特定的密码密钥,本原多项式基于该特定的密码密钥进行伪随机选择。因此,它们对于每个密码密钥仅计算一次,这在许多应用中是可负担的。
根据本发明的实施例的散列函数系列中的函数基本上由生成多项式p(x)定义,而不是由应用散列函数的消息的长度来定义。因此,它们可以应用于不同长度的消息,这在实践中是可取的。特别地,对应于消息M(x)的多项式应该具有“1”作为前导系数,而不是“0”(如果M的长度是m,则M(x)具有适当的次数m)。这确定了消息和多项式之间的一对一映射,并且特别地,防止仅通过向消息附加零来改变消息。例如,消息01011应被视为4比特消息1011而不是5比特消息。否则,这两个消息由相同的消息多项式1·x3+0·x2+1·x1+1·x0=x3+x1+1表示,因此在编码后将具有相同的校验和。否则,对手可以简单地将一个或多个前导零附加到消息中,因为对手知道新消息应该具有相同的校验和。作为替代或附加方式,显式的长度指示可以被用作认证/验证过程的输入,例如通过在消息的前面或者后面添加消息长度。
在接收器侧,可以通过有限状态机(FSM)有效地实现消息的完整性的验证,该有限状态机(FSM)或多或少地与消息元素的顺序接收同时地处理消息,该元素通常是比特。这样的FSM也可以集成在接收器的介质访问控制(MAC)层内,并且通常由校验和解码器、比较器和控制块组成。校验和解码器在接收的消息元素逐个到达即逐比特到达时,重新计算它们的校验比特。比较器将重新计算的校验比特与消息中接收的校验比特(即认证标签或校验和)进行比较。如果重新计算的校验比特和接收到的校验比特不一致,则比较器向控制块发送错误信号,指示无法验证消息的完整性。
在图6中,示出了用于认证消息的发送器设备的实施例600,例如图1所示的发送器101。发送器600包括:消息缓冲器601,用于例如从发送器600的通信栈的较高层或由发送器600执行的应用程序获取消息;校验和生成器602,用于生成消息的密码校验和;码字缓冲器603,用于通过将生成的密码校验和附加到消息来形成码字;FEC编码器604,用于将消息和附加的密码校验和编码成FEC码字;接口604,用于发送FEC码字(图6中的“I/O”);以及共享秘密模块606,用于向校验和生成器602提供第一密码密钥,即消息的发送器600和接收器已知的共享秘密。接口605可以例如是被被配置为用于实现与RAN的通信的网络接口或无线电收发机。
更具体而言,校验和生成器602被配置为用于以如下方式生成密码校验和,即,根据将M(x)的第二函数f(M(x))模除n次生成多项式p(x)的第一函数g,g(f(M(x))mod p(x)),计算所述密码校验和。所述生成多项式根据p(x)=(1-x)·p1(x)而计算,p1(x)是n-1次本原多项式,其基于第一密码密钥从伽罗瓦域(尤其是GF(2))上的n-1次本原多项式的集合中选择。
可选地,发送器600,特别是校验和生成器602可以被配置为用于选择所述本原多项式以及计算所述生成多项式。或者,它们可以被配置为用于接收所述本原多项式或者描述如何生成所述本原多项式的信息,并且基于接收的所述本原多项式或者接收的所述描述如何生成所述本原多项式的信息,计算所述生成多项式(图6中未示出)。作为又一代替方式,它们可以被配置为用于接收生成多项式或者描述如何生成生成多项式的信息(图6中未示出)。本原多项式、生成多项式、或者描述如何生成相应多项式的信息可以从通信会话中涉及的另一设备接收,或者从第三方接收。例如,发送器101可以从接收器102、密钥或AAA服务器106等接收本原多项式、生成多项式、或者描述如何生成相应多项式的信息。
校验和生成器602还可以被配置为用于伪随机地生成506长度为n的填充s,其中所述第一函数g包括与所述填充s相加。可以基于第二密码密钥生成所述填充s,第二密码密钥可以等于或不同于第一密码密钥。第二密码密钥是消息的发送器600和接收器已知的共享秘密。因此,共享密钥模块606还可以被配置为将第二密码密钥提供给校验和生成器602。或者,如上所述,可以由加密算法提供填充s,而不是由校验和生成器602生成。
可选地,校验和生成器602可以被配置为基于针对消息特定的信息来生成本原多项式p1(x)和填充s中的至少一个或者两者,针对消息特定的信息例如是消息序号、时间戳、随机数等。这样的信息可以用作校验和生成器602的输入,特别是用作包括在校验和生成器602中的LFSR的输入。
在图7中,示出了用于认证消息的接收器设备的实施例700,例如图1所示的接收器102。接收器700包括:接口701,用于接收FEC码字,即消息和附加的第一密码校验和的编码表示(图7中的“I/O”);FEC解码器702,用于从FEC码字中提取消息和附加的第一密码校验和;码字缓冲器704,用于从由FEC解码器702输出的码字提取消息和第一密码校验和;校验和生成器703,用于生成消息的第二密码校验和;比较器705,用于验证第一密码校验和是否与第二密码校验和相等;码字缓冲器603,用于通过将生成的密码校验和附加到消息来形成码字;以及共享秘密模块707,用于向校验和生成器703提供第一密码密钥,即消息的接收器700和发送器已知的共享秘密。接口605可以例如是被被配置为用于实现与RAN的通信的网络接口或无线电收发机。接收器700还可以包括消息缓冲器706,用于存储接收的消息,并且响应于从比较器705接收的表示已经验证了所接收消息的完整性的指示信息,将消息传递给接收器700的通信栈的较高层或由接收器700执行的应用程序。接口701可以例如是被被配置为用于实现与RAN的通信的网络接口或无线电收发机。
更具体而言,校验和生成器703类似于参考图6描述的校验和生成器602,被配置为用于以如下方式生成第二密码校验和,即,根据将M(x)的第二函数f(M(x))模除n次生成多项式p(x)的第一函数g,g(f(M(x))mod p(x)),计算所述密码校验和。所述生成多项式根据p(x)=(1-x)·p1(x)而计算,p1(x)是n-1次本原多项式,其基于第一密码密钥从伽罗瓦域(尤其是GF(2))上的n-1次本原多项式的集合中选择。
可选地,接收器700,特别是校验和生成器703可以被配置为用于选择所述本原多项式以及计算所述生成多项式。或者,它们可以被配置为用于接收所述本原多项式或者描述如何生成所述本原多项式的信息,并且基于接收的所述本原多项式或者接收的所述描述如何生成所述本原多项式的信息,计算所述生成多项式(图7中未示出)。作为又一代替方式,它们可以被配置为用于接收生成多项式或者描述如何生成生成多项式的信息(图7中未示出)。本原多项式、生成多项式、或者描述如何生成相应多项式的信息可以从通信会话中涉及的另一设备接收,或者从第三方接收。例如,接收器102可以从发送器101、密钥或AAA服务器106等接收本原多项式、生成多项式、或者描述如何生成相应多项式的信息。
校验和生成器703还可以被配置为用于伪随机地生成长度为n的填充s,其中所述第一函数g包括与所述填充s相加。可以基于第二密码密钥生成所述填充s,第二密码密钥可以等于或不同于第一密码密钥。第二密码密钥是消息的接收器700和发送器已知的共享秘密。因此,共享密钥模块707还可以被配置为将第二密码密钥提供给校验和生成器703。或者,如上所述,可以由加密算法提供填充s,而不是由校验和生成器703生成。
可选地,校验和生成器703可以被配置为基于所接收的针对消息特定的信息来生成本原多项式p1(x)和填充s中的至少一个或者两者,针对消息特定的信息例如是消息序号、时间戳、随机数等。这样的信息可以用作校验和生成器703的输入,特别是用作包括在校验和生成器703中的LFSR的输入。
如本领域已知的,发送器600和接收器700的实施例可以以硬件、软件或其组合来实现。例如,模块601-606和模块701-707可以通过电子电路,特别是数字二进制逻辑来实现。或者,可以基于数字信号处理器(DSP)来实现模块601-606和模块701-707。应当理解,接口605和701可以包括被被配置为通过RAN的空中接口分别发送或接收码字的模拟电子电路。
校验和生成器602和703的实施例与标准CRC生成器非常相似,标准CRC生成器的实现在本领域中是已知的。依赖于伪随机生成的填充s的校验和生成器602和703的实施例可以通过在表示f(M(x))mod p(x)的n比特串与n比特填充s之间的逐比特XOR运算来实现填充s的加法。
在图8中,示出了用于认证消息的发送器设备的替代实施例800。发送器800包括处理器801(例如DSP)和包括软件在内的存储器802,该软件是包括计算机可执行指令的计算机程序803,当在处理器801上执行该计算机可执行指令时,使发送器800实现上文特别是参考图4所述的认证消息的发送器的方法的实施例。发送器800还可以包括用于通过通信网络(例如通信网络103)进行通信的接口804(图8中的“I/O”)。接口804可以例如是被被配置为用于实现与RAN的通信的网络接口或无线电收发机。
在图9中,示出了用于认证消息的接收器设备的替代实施例900。接收器900包括处理器901(例如DSP)和包括软件在内的存储器902,该软件是包括计算机可执行指令的计算机程序903,当在处理器901上执行该计算机可执行指令时,使接收器900实现上文特别是参考图5所述的认证消息的接收器的方法的实施例。接收器900还可以包括用于通过通信网络(例如通信网络103)进行通信的接口904(图9中的“I/O”)。接口904可以例如是被被配置为用于实现与RAN的通信的网络接口或无线电收发机。
参考图6至9描述的发送器和接收器的实施例1001可以在图10所示的集成电路(IC)1000中实现。此外,参考图6至9描述的发送器和接收器的实施例1101也可以在诸如图11所示的移动电话1100之类的移动终端中实现。作为另一替代方案,参考图6至9描述的发送器和接收器的实施例1001也可以在RAN的节点(例如网关,RNC)或无线电接入节点(例如RBS、NodeB、eNodeB、WLAN接入点)等中实现。
本领域技术人员认识到,本发明绝不限于上述实施例。相反,在所附权利要求的范围内,能够进行许多修改和变化。
附录
totient函数也称为欧拉totient函数,被定义为小于或等于k且与k互质的正整数的个数,与k互质是指不包含任何与k共同的因子。已知,如果k为质数,则还已知,如果k为类型ka,其中k为质数并且a>0,则totient函数的另一个在下面的证明中使用的属性是
定理1对于n和m的任何值,基于类型为
p(x)=(1+x)·p1(x), (1)
(其中p1(x)是次数为n-1的本原多项式)的生成多项式的散列函数系列,对于
是ε-opt-安全的。
证明:当散列函数系列是+-线性和ε-平衡时,该散列函数系列是ε-opt-安全的。基于根据等式(1)的类型的生成多项式的散列函数系列是+-线性的,因为模除多项式的运算是线性运算,其中加法等同于按比特XOR运算。为了证明该系列也是ε-平衡的,一方面,对于GF(2)上的任意次数为n的多项式p(x)、任意非零的长度为m的消息M、以及任意长度为n的串c,当且仅当M(x)·xn mod p(x)=c(x)时,hp(M)=c。另一方面,当且仅当p(x)整除M(x)·xn-c(x)时,M(x)·xn mod p(x)=c(x)。
令q(x)=M(x)·xn-c(x)。显然,q(x)是次数小于或等于m+n的非零多项式,并且p(x)是整除q(x)的次数为n的多项式。由于p(x)=(1+x)·p1(x),这意味着1+x和p1(x)都是q(x)的因子。
由于唯一因子分解属性,最多有q(x)的(m+n-1)/(n-1)个质数因子,每个的次数都是n-1。换言之,在CRC系列中最多有(m+n-1)/(n-1)个散列函数将M映射为c。另一方面,散列系列的大小等于GF(2)上的次数为n-1的本原多项式的个数,即因此,
如果2n-1-1为质数,则等式(2)简化为
由于一般情况下,可以将等式(2)近似如下:
Claims (38)
1.一种通信设备生成消息M(x)(204;214)的密码校验和(203;223)的方法(400;500),所述方法包括:
根据将关于M(x)的第二函数f(M(x))模除n次生成多项式p(x)的第一函数g,g(f(M(x))mod p(x)),计算(405;507)所述密码校验和,其中,所述生成多项式根据p(x)=(1-x)·p1(x)而计算,p1(x)是基于第一密码密钥从伽罗瓦域上的n-1次本原多项式的集合中选择的n-1次本原多项式。
2.根据权利要求1所述的方法,还包括:
选择(402;504)所述本原多项式;以及
计算(403;505)所述生成多项式。
3.根据权利要求1所述的方法,还包括:
接收所述本原多项式或者描述如何生成所述本原多项式的信息;以及
基于接收的所述本原多项式或者接收的描述如何生成所述本原多项式的信息,计算(403;505)所述生成多项式。
4.根据权利要求1所述的方法,还包括:
接收所述生成多项式或者描述如何生成所述生成多项式的信息。
5.根据权利要求1至4中任一项所述的方法,其中,所述本原多项式是伪随机选择的。
6.根据权利要求1至5中任一项所述的方法,还包括生成(404;506)长度为n的填充s,其中所述第一函数包括与所述填充相加。
7.根据权利要求6所述的方法,其中,所述填充是基于第二密码密钥生成的。
8.根据权利要求1至7中任一项所述的方法,其中,所述本原多项式还基于针对所述消息特定的信息来选择。
9.根据权利要求7或8所述的方法,其中,所述填充基于针对所述消息特定的信息。
10.根据权利要求8或9所述的方法,其中,针对所述消息特定的信息包括消息序号。
11.根据权利要求1至10中任一项所述的方法,其中,所述第二函数包括与固定多项式xn相乘。
12.一种发送器设备(101)认证消息(204)的方法(400),包括:
获取(401)所述消息;
根据权利要求1至11中任一项所述的方法,生成所述消息的密码校验和;
将生成的所述密码校验和附加(406)到所述消息;以及
发送(408)所述消息和附加的所述密码校验和。
13.根据权利要求12所述的方法,还包括:
将所述消息和附加的所述密码校验和编码(407)为前向纠错FEC码的码字,
其中,所述消息和附加的所述校验和利用所述FEC码字来发送。
14.根据权利要求13所述的方法,其中,将所述消息和附加的所述密码校验和编码为FEC码的码字包括:
基于所述消息和附加的所述密码校验和生成所述FEC码的一个或多个校验比特;以及
将生成的FEC校验比特附加到所述消息和附加的所述密码校验和。
15.一种接收器设备(102)认证消息(214)的方法(500),包括:
接收(501)所述消息和附加的第一密码校验和;
根据权利要求1至11中任一项所述的方法,生成所述消息的第二密码校验和;以及
验证(508)所述第一密码校验和是否与所述第二密码校验和相同。
16.根据权利要求15所述的方法,其中,所述消息和附加的所述第一密码校验和是利用前向纠错FEC码的码字接收的,所述方法还包括:
从所述FEC码字提取(502)所述消息和附加的所述第一密码校验和。
17.根据权利要求16所述的方法,其中,所述FEC码字包括所述消息、附加的所述第一密码校验和以及所述FEC码的一个或多个附加的校验比特,并且其中,从所述FEC码字提取所述消息和附加的所述第一密码校验和包括:
基于附加的FEC校验比特纠正(503)所述消息和附加的所述第一密码校验和。
18.一种包括计算机可执行指令的计算机程序(803;903),所述计算机可执行指令在设备中包括的处理单元上执行时,使所述设备执行根据权利要求1至17中任一项所述的方法。
19.一种计算机程序产品(802;902),包括计算机可读存储介质,所述计算机可读存储介质中实现有根据权利要求18所述的计算机程序。
20.一种用于生成消息M(x)的密码校验和的校验和生成器(602;703;800;900),所述校验和生成器包括被配置为执行以下操作的装置:
根据将关于M(x)的第二函数f(M(x))模除n次生成多项式p(x)的第一函数g,g(f(M(x))mod p(x)),计算所述密码校验和,其中,所述生成多项式根据p(x)=(1-x)·p1(x)而计算,p1(x)是基于第一密码密钥从伽罗瓦域上的n-1次本原多项式的集合中选择的n-1次本原多项式。
21.根据权利要求20所述的校验和生成器,所述装置还被配置为:
选择所述本原多项式;以及
计算所述生成多项式。
22.根据权利要求20所述的校验和生成器,所述装置还被配置为:
接收所述本原多项式或者描述如何生成所述本原多项式的信息;以及
基于接收的所述本原多项式或者接收的描述如何生成所述本原多项式的信息,计算所述生成多项式。
23.根据权利要求20所述的校验和生成器,所述装置还被配置为:
接收所述生成多项式或者描述如何生成所述生成多项式的信息。
24.根据权利要求20至23中任一项所述的校验和生成器,其中,所述本原多项式是伪随机选择的。
25.根据权利要求20至24中任一项所述的校验和生成器,其中所述装置还被配置为生成长度为n的填充s,其中,所述第一函数包括与所述填充相加。
26.根据权利要求25所述的校验和生成器,其中,所述装置还被配置为基于第二密码密钥生成所述填充。
27.根据权利要求20至26中任一项所述的校验和生成器,其中,所述本原多项式还基于针对所述消息特定的信息来选择。
28.根据权利要求26或27所述的校验和生成器,其中,所述填充基于针对所述消息特定的信息。
29.根据权利要求27或28所述的校验和生成器,其中,针对所述消息特定的信息包括消息序号。
30.根据权利要求20至29中任一项所述的校验和生成器,其中,所述第二函数包括与固定多项式xn相乘。
31.一种用于认证消息的发送器设备(600;800),包括:
根据权利要求20至30中任一项所述的校验和生成器(602);以及
被配置为执行以下操作的装置:
获取(601)所述消息;
使用所述校验和生成器,生成所述消息的密码校验和;
将生成的所述密码校验和附加(603)到所述消息;以及
发送(605)所述消息和附加的所述密码校验和。
32.根据权利要求31所述的发送器设备,所述装置还被配置为:
将所述消息和附加的所述密码校验和编码(604)为前向纠错FEC码的码字,
其中,所述消息和附加的所述校验和利用所述FEC码字来发送。
33.根据权利要求32所述的发送器设备,所述装置还被配置为通过执行以下操作来将所述消息和附加的所述密码校验和编码为FEC码的码字:
基于所述消息和附加的所述密码校验和生成所述FEC码的一个或多个校验比特;以及
将生成的FEC校验比特附加到所述消息和附加的所述密码校验和。
34.一种用于认证消息的接收器设备(700;900),包括:
根据权利要求20至30中任一项所述的校验和生成器(703);以及
被配置为执行以下操作的装置:
接收(701)所述消息和附加的第一密码校验和;
使用所述校验和生成器,生成所述消息的第二密码校验和;以及
验证(705)所述第一密码校验和是否与所述第二密码校验和相同。
35.根据权利要求34所述的接收器设备,其中,所述消息和附加的所述第一密码校验和是利用前向纠错FEC码的码字接收的,所述装置还被配置为:
从所述FEC码字提取(702)所述消息和附加的所述第一密码校验和。
36.根据权利要求35所述的接收器设备,其中,所述FEC码字包括所述消息、附加的所述第一密码校验和以及所述FEC码的一个或多个附加的校验比特,所述装置被配置为通过以下操作来从所述FEC码字提取所述消息和附加的所述第一密码校验和:
基于附加的所述FEC校验比特纠正所述消息和附加的所述第一密码校验和。
37.一种移动终端(1100),包括根据权利要求31至33所述的发送器设备(1101)和根据权利要求34至36所述的接收器设备(1101)中的至少一个。
38.一种无线接入节点,包括根据权利要求31至33所述的发送器设备(1101)和根据权利要求34至36所述的接收器设备(1101)中的至少一个。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2015/059482 WO2016177385A1 (en) | 2015-05-04 | 2015-05-04 | Generating cryptographic checksums |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107592968A true CN107592968A (zh) | 2018-01-16 |
CN107592968B CN107592968B (zh) | 2021-05-11 |
Family
ID=54843798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580079983.5A Active CN107592968B (zh) | 2015-05-04 | 2015-05-04 | 生成密码校验和 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10623187B2 (zh) |
EP (1) | EP3292653A1 (zh) |
KR (1) | KR20170137872A (zh) |
CN (1) | CN107592968B (zh) |
WO (1) | WO2016177385A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835691A (zh) * | 2019-04-22 | 2020-10-27 | 中国移动通信有限公司研究院 | 一种认证信息处理方法、终端和网络设备 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3043807B1 (fr) * | 2015-11-18 | 2017-12-08 | Bull Sas | Dispositif de validation de communication |
US10594491B2 (en) * | 2015-12-24 | 2020-03-17 | Intel Corporation | Cryptographic system memory management |
KR101988849B1 (ko) * | 2017-08-30 | 2019-06-13 | 에스케이텔레콤 주식회사 | 네트워크장치 및 네트워크장치의 메시지 무결성 체크 방법 |
TW201919361A (zh) * | 2017-11-09 | 2019-05-16 | 張英輝 | 以雜文加強保護之區塊加密及其解密之方法 |
US11032061B2 (en) * | 2018-04-27 | 2021-06-08 | Microsoft Technology Licensing, Llc | Enabling constant plaintext space in bootstrapping in fully homomorphic encryption |
US12040897B2 (en) * | 2018-08-21 | 2024-07-16 | The George Washington University | Learning-based high-performance, energy-efficient, fault-tolerant on-chip communication design framework |
KR101942030B1 (ko) * | 2018-11-13 | 2019-01-24 | 동국대학교 산학협력단 | 메시지에 대한 무결성 검증이 지원되는 부호 기반의 암호화가 가능한 전자 장치 및 그 동작 방법 |
CN111262686A (zh) * | 2020-01-17 | 2020-06-09 | 通号万全信号设备有限公司 | 一种rssp-i安全通信的安全校验方法 |
CN113765851B (zh) * | 2020-06-03 | 2022-11-08 | 华为技术有限公司 | 一种数据处理方法及其设备 |
CN111831974B (zh) * | 2020-06-30 | 2024-02-23 | 深圳数字电视国家工程实验室股份有限公司 | 接口保护方法、装置、电子设备及存储介质 |
CN115882876B (zh) * | 2023-02-16 | 2023-06-13 | 苏州浪潮智能科技有限公司 | 一种数据编码校验方法、系统、设备、介质及电路 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777082A (zh) * | 2005-12-08 | 2006-05-24 | 西安电子科技大学 | 基于预编码的并行卷积ldpc码的编码器及其快速编码方法 |
CN103608829A (zh) * | 2011-01-18 | 2014-02-26 | 舍德Ip有限责任公司 | 用于基于编码完整性进行计算机化协商的系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5345507A (en) * | 1993-09-08 | 1994-09-06 | International Business Machines Corporation | Secure message authentication for binary additive stream cipher systems |
-
2015
- 2015-05-04 US US15/558,844 patent/US10623187B2/en active Active
- 2015-05-04 WO PCT/EP2015/059482 patent/WO2016177385A1/en active Application Filing
- 2015-05-04 EP EP15807812.1A patent/EP3292653A1/en not_active Ceased
- 2015-05-04 CN CN201580079983.5A patent/CN107592968B/zh active Active
- 2015-05-04 KR KR1020177032971A patent/KR20170137872A/ko not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777082A (zh) * | 2005-12-08 | 2006-05-24 | 西安电子科技大学 | 基于预编码的并行卷积ldpc码的编码器及其快速编码方法 |
CN100425017C (zh) * | 2005-12-08 | 2008-10-08 | 西安电子科技大学 | 基于预编码的并行卷积ldpc码的编码器及其快速编码方法 |
CN103608829A (zh) * | 2011-01-18 | 2014-02-26 | 舍德Ip有限责任公司 | 用于基于编码完整性进行计算机化协商的系统和方法 |
Non-Patent Citations (2)
Title |
---|
ELENA DUBROVA: "cryptographically secure crc for lightweight message authentication", 《INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH》 * |
PETERSON: "cyclic codes for error detection", 《PROCEEDINGS OF THE IRE》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835691A (zh) * | 2019-04-22 | 2020-10-27 | 中国移动通信有限公司研究院 | 一种认证信息处理方法、终端和网络设备 |
CN111835691B (zh) * | 2019-04-22 | 2022-09-27 | 中国移动通信有限公司研究院 | 一种认证信息处理方法、终端和网络设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2016177385A1 (en) | 2016-11-10 |
EP3292653A1 (en) | 2018-03-14 |
US20180069706A1 (en) | 2018-03-08 |
KR20170137872A (ko) | 2017-12-13 |
CN107592968B (zh) | 2021-05-11 |
US10623187B2 (en) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107592968B (zh) | 生成密码校验和 | |
CN106688204B (zh) | 生成加密校验和的方法、认证消息的方法及其设备 | |
EP3161995B1 (en) | Generating cryptographic checksums | |
CN110073634B (zh) | 数据转换系统及方法 | |
EP4082153B1 (en) | Public/private key system with increased security | |
Dubrova et al. | CRC-based message authentication for 5G mobile technology | |
JP3728500B2 (ja) | 変調メッセージの認証システム及び方法 | |
KR101088549B1 (ko) | 송신용 애플리케이션 패킷 처리 방법과 수신된 애플리케이션 패킷 세그먼트 처리 방법 | |
US10039059B2 (en) | Energy saving in wireless devices | |
US20080165953A1 (en) | Processing method for message integrity with tolerance for non-sequential arrival of message data | |
Liu et al. | A joint encryption and error correction scheme based on chaos and LDPC | |
Lee et al. | Ciphertext-only attack on linear feedback shift register-based Esmaeili-Gulliver cryptosystem | |
CN108737075B (zh) | 一种生成共享密钥的方法、装置及系统 | |
Dubrova et al. | Error-correcting message authentication for 5g | |
Zajac | Hybrid encryption from McEliece cryptosystem with pseudo-random error vector | |
González Vasco et al. | Group Key Exchange: Living on the Edge with a Quantum Adversary | |
KR20090122173A (ko) | 송신을 위한 애플리케이션 패킷을 프로세스하는 방법 및 수신된 애플리케이션 패킷 세그먼트를 프로세스하는 방법 | |
Al-Hassan | Asymmetric encryption for wiretap channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |