CN111480312B - 流密码处理 - Google Patents
流密码处理 Download PDFInfo
- Publication number
- CN111480312B CN111480312B CN201780097850.XA CN201780097850A CN111480312B CN 111480312 B CN111480312 B CN 111480312B CN 201780097850 A CN201780097850 A CN 201780097850A CN 111480312 B CN111480312 B CN 111480312B
- Authority
- CN
- China
- Prior art keywords
- key
- generator
- sequence
- entropy
- symbols
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 70
- 230000001419 dependent effect Effects 0.000 claims abstract description 4
- 238000013507 mapping Methods 0.000 claims description 45
- 230000002829 reductive effect Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 7
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 238000010790 dilution Methods 0.000 description 22
- 239000012895 dilution Substances 0.000 description 22
- 238000009826 distribution Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000005336 cracking Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000007865 diluting Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 102100023078 Early endosome antigen 1 Human genes 0.000 description 1
- 101001050162 Homo sapiens Early endosome antigen 1 Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007850 degeneration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000001960 triggered 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/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/20—Manipulating the length of blocks of bits, e.g. padding or block truncation
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
描述一种将源数据(306)密码处理为目标数据(308)的技术。关于该技术的方法方面,对源数据(306)确定密码处理等级(302)。取决于所确定密码处理等级(302)来生成密钥序列(304)。组合源数据(306)和密钥序列(304),从而产生目标数据(308)。
Description
技术领域
本公开一般涉及用于将数据密码处理(ciphering)的技术。更特别地并且非限制性地,提供方法和装置,以用于将无线电接入网(RAN)中传送或接收的数据密码处理。
背景技术
网络(特别是移动网络)将加密用于保护网络中传输的数据。在一些情况下,加密是保护敏感信息(例如金融交易)至关重要的。在大多数情况下,数据完全不是敏感的,以及加密的唯一目的是使得难以跟踪业务。
虽然移动网络中的语音业务始终是敏感的并且需要强加密,但是语音业务量在4G和5G网络(例如第三代合作伙伴项目(3GPP)长期演进(LTE)和3GPP新空口(NR)网络)中是无关紧要的。因此,语音业务能够通过高计算要求加密来加密。
移动网络上的大多数数据业务是此情况的示例,其中不需要强加密。但是,现有网络在无线电接口上(通俗地称作“空中接口”加密或“空中密码”)并且在网络的其他点使用强和高计算费用加密来加密全部所传递数据。
仅当应用端点加密(即,端对端加密)时,敏感业务才被保持为安全,在此情况下,任何其他加密(例如空中密码)是完全无用的。对于没有经过端点加密的非敏感业务,通过保护网络的一些部分使得难以(但不是不可能)被窃听是足够的。此外,由于经过因特网未经加密转发这种非敏感业务,所以为移动网络中(例如在空中接口上)的这种业务提供比业务在移动网络外部所具有的保护更多的保护将是不相称的。
流密码处理是加密的众所周知方式,其生成某个伪随机密钥流,并且通过将明文与密钥流相组合来产生密文。组合通常包括每位XOR运算。由于密钥流模拟随机流,所以随机翻转明文的位。
对于流密码器(stream cipher),加密相当于解密。由于使用可逆运算(例如XOR)将明文与密钥流相组合,所以解密器只需要从共享秘密密钥来产生完全相同的密钥流,并且使用逆运算将它与密文相组合。由于XOR的逆运算是XOR,所以在加密器与解密器之间通常不存在差异,为此本文档中没有详细描述解密。
现有网络没有使用加密或者使用强加密,例如根据文献3GPP TS 35.216(版本14.0.0)的Snow3G或者根据文献“Processing Standards Publication 197”的高级加密标准(AES),它们是高计算费用的。
一种方式可将弱而快速加密应用于非敏感数据。但是,破解弱加密通常揭示秘密密钥,使得不仅消息或流的一部分而且整个通信被解密。此外,有选择地使用慢而强或者快而可破解加密没有提供逐渐改变加密强度的方式。
发明内容
相应地,需要一种允许改变密码处理强度的密码处理技术。更具体来说,需要一种降低密码处理的计算复杂度的技术。备选地或另外地,需要一种技术,该技术允许有选择地降低密码处理的计算复杂度,而没有增加基于密文的一部分来破解密码处理的风险。
关于一个方面,提供一种将源数据密码处理为目标数据的方法。该方法包括或触发确定源数据的密码处理等级的步骤。该方法进一步包括或触发取决于所确定密码处理等级来生成密钥序列的步骤。该方法进一步包括或触发组合源数据和密钥序列从而产生目标数据的步骤。
该技术可实现为控制密码处理等级的方法。特别是,该方法可通过将密码处理等级调整成数据的敏感性等级来实现。
通过控制密钥序列取决于密码处理等级的生成,能够改变密码处理(例如加密和/或解密)强度。在至少一些实施例中,通过确定密码处理等级,能够以较少计算复杂度将相同的源数据量密码处理。相同或另外的实施例可区分数据业务以用于确定密码处理等级。可基于敏感性或者与不同密码处理等级关联的至少两种类型的业务来区分数据。
该技术的实施例允许有选择地降低密码处理的计算复杂度,而没有增加基于密文的一部分来破解密码处理的风险。
密钥序列的生成可通过秘密密钥(其又可称作种子、种子密钥或初始值)来初始化。例如,在没有秘密密钥的情况下不能再生整个密钥序列。如果攻击者具有某个明文及其加密表示(即,对应密文),则在不能推断秘密密钥的意义上没有破解密码处理。虽然如果明文及其密文中的加密版本两者均以某种方式被获取对应部分则用于加密明文的密钥序列的一部分能够被揭示,但是密钥序列的所揭示部分只是从秘密密钥所生成的密钥序列的全周期的一小部分。
因此,即使密钥序列的一部分(例如一些位)以某种方式被揭示,也不能推断密钥序列生成模块的内部状态,并且不能再生密钥序列的另外的位。
可通过确定步骤来改变密码处理等级,而无需重新播种密钥序列的生成。
密码处理等级可包括或者可指示密钥序列的密钥熵。密钥熵又可称作密钥序列的熵密度或者密钥熵密度。密钥熵可以是每位的密钥序列的熵。熵可包含哈特利熵(Hartleyentropy)或香农熵(Shannon entropy)中的至少一个。例如,可根据概率分布p(x),x=0…2m-1来分布密钥序列的m个位(m>0)。密钥熵可以是根据概率分布的熵除以m个位的数量,例如:
H=-[p(0)·log p(0)+…+p(2m-1)·log p(2m-1)]/m。
密钥序列的所确定密钥熵可小于1。
密钥序列中的不同位可例如取决于所确定密钥熵和所确定密码处理等级中的至少一个来相互关连。备选地或另外地,密钥序列中的不同位可例如取决于所确定密钥熵和所确定密码处理等级中的至少一个被不同地概率分布。例如,不同位不是相同分布的,即,一个位被设置为1的概率与另一个位被设置为1的概率是不同的。备选地或另外地,密钥序列中的位被设置为1的概率取决于所确定密钥熵和所确定密码处理等级中的至少一个偏离(例如基本上)1/2(即,0.5)。密钥序列中的位的至少一个可以不相等地概率分布以被设置为0或者1。可偏置密钥序列中的位的至少一个的概率分布。对于密钥序列中的位的至少一个,被设置为0的概率p(0)可与被设置为1的概率p(1)是不同的。例如,概率p(1)不是1/2。
例如,如果密钥序列的m个位(m>0)根据概率分布p([x0,…,xm-1])=p(x0)···p(xm-1)(xj=0或1,对于j=0…m-1)相同且独立地分布,则密钥熵可以是H=-p(0)·log p(0)-(1-p(0))·log(1-p(0))。
密钥序列可包括例如密钥符号字母表中的密钥符号。密钥符号的位长度对于密钥符号字母表中的全部密钥符号可以是相同的。
密钥序列可以是密钥符号的序列。可在密钥序列中逐位(bit on bit)级联连续密钥符号。
密钥符号字母表的基数和密钥符号的位长度中的至少一个可取决于所确定密钥熵和所确定密码处理等级中的至少一个。密钥熵可以是log C/m,对于密钥符号的位长度m和密钥符号字母表的基数C。
密钥熵可以是密钥符号字母表的基数的递增函数和/或密钥符号的位长度的递减函数。
所确定密钥熵可定义密钥符号字母表的基数的对数与密钥符号的位长度之间的比率。密钥符号字母表的基数C可小于2m,其中m可以是密钥符号的位长度。
生成密钥序列的步骤可包括下列子步骤中的至少一个:根据生成器熵来生成生成器序列;以及将生成器序列的生成器符号映射到密钥序列的密钥符号的子步骤。生成器熵可大于所确定密钥熵。
生成器熵可以是生成器序列的统计特征或者生成生成器序列的生成器。备选地或另外地,生成器符号(例如包含生成器符号的生成器符号字母表)可以是映射的特征。
生成器可以是随机数生成器。可通过确定步骤来改变密码处理等级,而无需重新播种生成生成器序列的生成器。
映射可以是单射(injective)的。例如,映射可以是双射(bijective)的。包含全部生成器符号的生成器符号字母表可被映射到密钥符号字母表上。不同生成器符号的数量(即,生成器符号字母表的基数)可等于密钥符号字母表的基数。
生成器序列可以是一次性密钥(one-time pad),和/或可具有最大熵。用于生成生成器序列的生成器可通过秘密密钥(其又可称作种子、种子密钥或初始值)来初始化。生成器序列可近似或对应于随机序列。例如,生成器序列中的每个位可以以50%概率来取0或1,这又称作条件1。此外,生成器序列中的不同位可相同地分布并且不相互关连,这称作条件2。这种生成器序列可具有最大熵,即,熵(例如使用二进制对数)可等于生成器序列中的位的数量,或者等效地,每位的熵可以为1。虽然生成器序列可满足条件1和2两者,但是密钥序列可取决于密码处理等级和/或为了满足所确定密钥熵而违反条件1和2中的至少一个。
用于实现密钥序列与明文的组合的示范XOR运算可包括:如果密钥序列中的关联位被设置为0则使明文位保持不变,并且如果密钥序列中的关联位被设置为1则反转或翻转明文位。例如,如果密钥序列满足条件1,则密文的每个位相对于明文以50%机会来反转或翻转。备选地或组合地,如果密钥序列满足条件2,则独立反转或翻转密文的不同位(更准确来说是不同位位置)。
在第一实施例中,生成器符号的位长度对生成器符号字母表中的全部生成器符号可以是相同的,这又可称作固定长度。生成器符号可以是前缀代码的码字。包含全部生成器符号的生成器符号字母表可满足前缀条件,即,可以是无前缀的。
在第二实施例中,生成器符号的位长度是不同的。生成器符号的位长度对于生成器符号字母表中的生成器符号的至少一些可以是不同的,这又可称作可变长度。
生成器符号的平均位长度可小于密钥符号的位长度。密钥熵可定义生成器符号的平均位长度与密钥符号的位长度之间的比率。
生成器熵可等于或近似于最大熵。例如以每位的熵为单位,最大熵可以为1。
当改变(例如减小)密码处理等级或密钥熵中的至少一个时,用于初始化生成步骤(例如用于初始化生成生成器序列的生成器)的种子密钥的长度和/或生成步骤的周期(例如生成生成器序列的生成器的周期)的长度可以未改变(例如没有减小)。
本文中,表达“密码处理”可包括译成密码(enciphering)或加密以及破解密码(deciphering)或解密中的至少一个。源数据可包括明文,以及目标数据可包括密文,或者反之。明文可包括音频信号和/或视频信号,例如电话呼叫的语音部分。
执行该方法的密码器(cipher)可以是块密码器或流密码器。源数据块、目标数据块和密钥块可分别包括源数据、目标数据和密钥序列。对于流密码器,源流、目标流和密钥流可分别包括源数据、目标数据和密钥序列。
源数据、目标数据和控制消息中的至少一个可指示密码处理等级。
该技术可在无线电接入网(RAN)中实现。该方法可由RAN的基站或小区来执行。基站可包含配置成提供对一个或多个无线电装置的无线电接入的任何站。RAN的基站或小区可服务多个无线电装置。基站的示例可包括3G基站或Node B、4G基站或eNodeB、5G基站或gNodeB、接入点(例如Wi-Fi接入点)和网络控制器(例如根据蓝牙、ZigBee或Z-Wave)。
可根据全球移动通信系统(GSM)、通用移动电信系统(UMTS)、长期演进(LTE)和/或新空口(NR)来实现RAN。
备选地或另外地,该技术可在无线电装置中实现。无线电装置可配置用于对等通信(例如在副链路上)和/或用于接入RAN(例如UL和/或下行链路DL)。无线电装置可以是用户设备(UE,例如3GPP UE)、移动或便携台(STA,例如Wi-Fi STA)、用于机器类型通信(MTC)的装置、窄带物联网(NB-IoT)装置或者其组合。UE和移动台的示例包括移动电话和平板计算机。便携台的示例包括膝上型计算机和电视机。MTC装置的示例包括例如在制造、汽车通信和家庭自动化中的机器人、传感器和/或致动器。MTC装置可在家用电器和消费者电子器件中实现。组合的示例包括自动驾驶车辆、门内部通信系统和自动柜员机。
该技术可在无线电通信的协议栈的物理层(PHY)、媒体访问控制(MAC)层、无线电链路控制(RLC)层和/或无线电资源控制(RRC)层上实现。
可在包括无限稀释(即,使用来自生成器流的0位)和没有稀释(即,通过将生成器流的一个字节用于明文的每个字节的完全加密)的范围中确定密码处理等级。根据密码处理等级使用明文的每字节少于生成器流的8个位意味着,一些信息没有完全被隐藏,使得确定步骤允许控制完全加密与没有加密之间的密码处理。该技术允许逐渐控制密码处理速率与安全性之间的折衷。
生成器符号可包括固定数量的n个位。可使用生成器序列的n个位将明文的m个位的每个部分密码处理,其中n<m。例如,为每个n位长数(即,生成器符号)来指配m位长数(即,密钥符号)。指配被存储(作为稀释的映射)在具有2n条目的阵列中。通过从生成器序列取n位长数并且使用阵列将它们转换成所指配m位长数,来生成密钥序列。
一个实现可通过将生成器符号解释为m位长数,将n个位的生成器符号映射到m个位的密钥符号。将非零位翻转概率指配给m位位置中的每个(例如通过满足条件2)的另一个实现提供对明文部分的上位的更好保护。
例如,为了定义密钥符号,即,为了定义m位长数的密钥符号字母表,首先,全部位被设置为零的全部m位长数(1个这种数存在)可包含在密钥符号字母表中。其次,正好一个位被设置为1的全部m位数可包含在密钥符号字母表中。第三,正好二个位被设置为1的全部m位数可包含在密钥符号字母表中,依此类推,只要填充阵列的全部2n条目。密钥符号字母表可产生密钥序列,其中一些位(即,m个不同位位置中的一些)具有比其他位略高的设置为1的概率。这可通过例如通过事件定期触发或周期地改变阵列来避免或减少。例如,变化可通过明文中的一些位或者生成器序列的一些位来触发。
此外,不同生成器符号可包括不同数量的位。可使用生成器序列的平均n个位将明文的m个位的每个部分密码处理,其中n<m。概率被指配给m位长密钥符号中的每个,使得概率的总和为1。基于密钥符号的这个概率分布,哈夫曼(Huffman)代码可定义为映射。生成器符号可以是哈夫曼代码的前缀代码。如果属于该哈夫曼代码的压缩器根据概率分布将获得作为输入的m位长数,则压缩器将产生每位熵为1的输出。如果解压缩器获得每位熵为1的生成器序列,则哈夫曼代码的解压缩器将根据概率分布来输出(例如近似地)密钥符号。因此,可通过将生成器序列输入由哈夫曼代码(所述哈夫曼代码通过概率分布来定义)所定义的解压缩器,来实现生成密钥序列的步骤。
使用具有可变位长度的生成器符号的映射可用于包含C个密钥符号的密钥符号字母表,其中C不是2的幂。例如,具有被设置为1的最多q个位的字节的数量C不总是2的幂。备选地或另外地,使用具有可变位长度的生成器符号的映射可近似估计m个位中的每个的未偏置位翻转概率,即,将要改变的不同位位置的相同概率分布为1/2(即,条件1)。备选地或另外地,使用具有可变位长度的生成器符号的映射可近似估计或提供密钥符号的概率分布,使得每个位(即,m个位位置中的每个)在密文中具有将要改变的独立且相等概率(即,条件2)。
为了确定密钥熵,即,将密钥熵控制成除了1之外的值。条件的至少一个可被定义映射的哈夫曼代码所违反。例如,位翻转概率(即,密钥序列中位作为0或1的概率)不是0.5(即,违反条件1)。
使用具有固定数量n个位的生成器符号以用于生成具有m个位的密钥符号的映射可对不同密钥符号并行(例如同时)执行。使用具有可变长度(例如前缀代码)的生成器符号的映射可依次执行,例如以查找生成器序列中的下一个生成器符号的开头。
此外,实现具有可变长度的映射可产生巨大阵列。通过nmax来表示最长生成器符号的最长位长度(例如前缀代码的最长码字),阵列可包含个条目。如果这种阵列不能适合于处理器或核的第1级(L1)高速缓存,则可执行映射,包括处理器或核的显著等待循环。另一方面,短生成器符号的子集可通过适合于L1高速缓存的更短表来表示。例如,可实现对哈夫曼树的每级具有28至216个条目的表,因为哈夫曼树的第一级可适合于L1高速缓存。
该技术可通过确定密码处理等级来实现可变加密强度。消息的一些部分可比其他部分更为重要或敏感。例如,可使用比对数据分组的有效载荷所确定的密码处理等级更高的密码处理等级来将数据分组的报头或开头(例如在任何网络层)密码处理。数据分组的报头或开头对数据分组的机器解释可以是至关重要的。包含报头的源数据的一部分可通过分组检查来确定。备选地或另外地,对于第一部分(例如数据分组的前128个字节),与数据分组的其余部分的密码处理层相比,可确定更高密码处理层。
密码处理等级的确定可通过协议层来支持。例如,协议层可触发密码处理等级的变更(即,可改变加密强度)。可在消息内确定或改变密码处理等级。例如,生成器序列可直接(即,未经稀释)在组合步骤中用于消息的最重要部分,以及确定步骤降低消息的其余部分的密码处理等级。
关于另一方面,提供一种计算机程序产品。该计算机程序产品包含程序代码部分,以用于在计算机程序产品由一个或多个计算装置执行时执行本文所公开的方法方面的步骤的任一个。计算机程序产品可存储在计算机可读记录介质上。还可提供计算机程序产品以供经由数据网络(例如经由RAN)和/或经由因特网和/或由基站下载。备选地或另外地,该方法可在现场可编程门阵列(FPGA)和/或专用集成电路(ASIC)中编码,或者功能性可被提供以用于借助于硬件描述语言进行下载。
关于一个装置方面,提供一种用于将源数据密码处理为目标数据的装置。该装置配置成执行方法方面。备选地或另外地,该装置可包括确定单元,该确定单元配置成确定源数据的密码处理等级。该装置可进一步包括生成单元,该生成单元配置成取决于所确定密码处理等级来生成密钥序列。该装置可进一步包括组合单元,该组合单元配置成组合源数据和密钥序列,从而产生目标数据。
关于另外的装置方面,提供一种用于将源数据密码处理为目标数据的装置。该装置包括至少一个处理器和存储器。所述存储器包括由所述至少一个处理器可执行的指令,由此该装置操作以确定源数据的密码处理等级。指令的执行进一步使该装置操作以取决于所确定密码处理等级来生成密钥序列。指令的执行进一步使该装置操作以组合源数据和密钥序列,从而产生目标数据。
该装置(或者用于体现该技术的任何节点或站)可进一步包括在方法方面的上下文中公开的任何特征。特别是,单元和模块中的任一个或者专用单元或模块可配置成执行或触发方法方面的步骤中的一个或多个。
附图说明
参照附图描述本技术的实施例的另外的细节,其中:
图1示出用于将源数据密码处理为目标数据的装置的示意框图;
图2示出将源数据密码处理为目标数据的方法的流程图,该方法是由图1的装置可实现的;
图3示出图1的装置的第一实施例的示意框图;
图4示出图1的装置的第二实施例的示意框图;
图5示出图2的方法的第一实现的流程图;
图6示出图2的方法的第二实现的流程图;
图7示意示出图1的装置的实施例中的稀释效果;
图8示意示出能够通过图1的装置的任何实施例所执行的映射的第一示例;
图9示意示出能够通过图1的装置的任何实施例所执行的映射的第二示例;
图10示意示出能够通过图1的装置的任何实施例所执行的映射的第三示例;
图11示出图1的装置的译成密码实施例的示意框图;以及
图12示出图1的装置的破解密码实施例的示意框图。
具体实施方式
为便于说明而不是进行限制,以下描述中提出例如特定网络环境的具体细节,以便提供对本文所公开技术的透彻了解。本领域的技术人员将会清楚地知道,本技术可在脱离这些具体细节的其他实施例中实施。此外,虽然主要对5G新空口(NR)实现来描述下列实施例,但是显而易见,本文所述的技术也可在任何其他无线电网络(包括3GPP LTE或者其后继、根据标准系列IEEE 802.11的无线局域网(WLAN)、根据蓝牙特殊兴趣小组(SIG)的蓝牙(特别是蓝牙低能量和蓝牙广播)和/或基于IEEE 802.15.4的ZigBee)中实现。
此外,本领域的技术人员将会理解,本文所解释的功能、步骤、单元和模块可使用与编程的微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或通用计算机(例如包括高级RISC机器(ARM))结合起作用的软件来实现。还将会理解,虽然下列实施例主要在伴随方法和装置的上下文中描述,但是本发明还可在计算机程序产品中以及包括至少一个计算机处理器和耦合到至少一个处理器的存储器的系统中体现,其中存储器采用可执行功能和步骤或者实现本文所公开单元和模块的一个或多个程序来编码。
图1示意示出用于将源数据密码处理为目标数据的装置的框图。该装置一般通过附图标记100来表示。装置100又可称作密码器(例如流密码器)。
装置100包括确定模块102,该确定模块102确定源数据的密码处理等级。装置100进一步包括生成模块104,该生成模块104取决于所确定密码处理等级来生成密钥序列。装置100进一步包括组合模块106,该组合模块106组合源数据和密钥序列,从而产生目标数据。
生成模块104又可称作受控生成器。生成密钥序列可通过作为控制命令或控制参数的密码处理等级来控制。组合模块106又可称作组合器。密钥序列又可称作密码器密钥。
密码处理等级可以是密钥序列的密钥熵。密钥熵可以是或者可控制所生成密钥序列的熵,例如针对流密码器为每位的密钥序列的熵或者针对块密码器为每位或每块的密钥序列的熵。确定模块102又可称作熵控制器。
装置100的模块中的任一个可通过配置成提供对应功能性的单元来实现。
在装置100的接收器实现中,例如对于空中密码,源数据可以是待加密的明文,而目标数据可以是密文(又称作密码数据)。明文可到达装置100的接收器实现或者在所述装置100的接收器实现处成为可用,例如通过协议栈的较高层所提供。反之,在装置100的发射器实现中,源数据可以是待解密的密文,而目标数据可以是明文。可在装置100的接收器实现处例如经过协议栈的一个或多个较低层来接收源数据。
组合模块106可包括将源数据和密钥序列两者单射(例如双射)地映射到目标数据的任何操作。备选地或另外地,组合模块106可包括源数据到目标数据的单射(例如双射)映射,所述映射当(例如并且仅当)应用相同密钥序列时作为其一个逆运算。例如,组合模块106可逐位应用异或(XOR),以用于将源数据与密钥序列相组合。XOR运算可产生目标数据。
装置100可连接到无线电接入网(RAN)和/或其部分。装置100可通过或者在RAN的基站、连接到RAN以用于控制基站的节点或者其组合来体现。备选地或另外地,装置100可以是无线电装置。无线电装置可以是可无线连接到RAN的任何装置。装置100的多个实施例(例如无线电装置和基站中的任何对)可进行无线电通信以用于传送和接收密码数据。
基站可包含网络控制器(例如Wi-Fi接入点)或者RAN的无线电接入节点(例如3GNode B、4G eNodeB或5G gNodeB)。基站可配置成提供无线电接入。备选地或另外地,一个或多个无线电装置可包括移动或便携台。每个无线电装置可以是用户设备(UE)、用于机器类型通信(MTC)的装置和/或窄带物联网(NB-IoT)装置。两个或更多无线电装置可配置成例如在点对点(ad-hoc)无线电网络中或者经由3GPP副链路相互无线连接。
图2示出将源数据密码处理为目标数据的方法200的流程图。方法200包括确定源数据的密码处理等级的步骤202。在步骤204,取决于所确定密码处理等级来生成密钥序列。在步骤206组合源数据和密钥序列,从而产生目标数据。
可由装置100(例如由RAN的基站和/或可连接到RAN的无线电装置)来执行方法200。例如,模块102、104和106可分别执行步骤202、204和206。
该技术的实施例允许改变(例如有选择地减小)密钥序列的熵除以密钥序列或者密钥序列的一部分(对所述部分确定熵)的位长度(简称为密钥序列的每位熵或者密钥熵)。可根据所确定密码处理等级来改变密钥熵,优选地没有涉及发起(或播种)生成模块104的秘密密钥的长度的变化。
图3示出装置100的第一实施例的示意框图。密钥序列的每位熵302(缩写为密钥熵)由作为控制参数的所确定密码处理等级来暗示或者包含。即,确定模块102控制密钥序列304的密钥熵302。
作为举例,图3中的第一实施例实现发射器,即,明文306是源数据,而密文308是将要在信道310上传送给接收器的目标数据。例如,在接收器处的装置100的对应第一实施例,仅相互交换明文和密文的角色。
例如如果在步骤202确定最大密码处理等级,例如如果密钥熵为1或者相对于现有密钥熵没有减小,则该技术的实施例可保持与文献3GPP TS 35.206、3GPP TS 35.207、3GPPTS 35.208、3GPP TS 35.216、3GPP TS 43.020、3GPP TS 55.236和3GPP TR 21.905(例如每种情况中的版本14.0.0)中的至少一个的兼容性。
该技术可适用于空中密码,即,可适用于在无线电接口的加密和解密。特别是,例如每当基站(例如现有eNodeB或gNodeB的分组数据汇聚协议PDCP层)和访问基站的无线电装置(例如UE,特别是IoT装置)中的每个包括装置100的实施例时,可在基站和无线电装置来应用该技术。
密钥熵302可大于零,优选地大于0.5。密钥熵302可小于或等于1。即,密钥熵可在范围(0,1]中,优选地在范围(0.5,1]中。可通过例如在范围[0.9,1]中的密钥熵302的更大值来实现更高密码处理等级(即,针对攻击的更强保护)。可通过与例如在范围[0.6,0.8]中的密钥熵302的更低值对应的更低密码处理等级来实现计算更有效密码处理(即,节省计算资源)。
在与任何实施例兼容的第一变体中,确定模块102基于明文306来确定密钥熵302。例如,确定模块102可确定明文306的指示符,例如明文306的服务质量(QoS)、QoS类标识符(QCI)、服务优先级、服务标识符、内容类型和内容提供商标识符中的至少一个。指示符的任一个或者组合可与密钥熵302关联。例如,包括电子邮件的明文306可与更高密码处理等级关联。此外,包括视频流(特别是来自例如“YouTube”的公共视频流播提供商)的明文306可与更低密码处理等级关联。
在与任何实施例或第一变体兼容的第二变体中,确定模块102基于来自密文308的接收器的反馈信道312来确定密钥熵302。
虽然本文中为了清楚和简洁起见而描述用于装置100的发射器实现的技术,但是密码处理技术直接可适用于装置100的接收器实现。在接收器实现中,信道310可提供方法200的源数据。备选地或另外地,装置100的接收器实现可经过控制信道来接收控制消息,该控制消息指示将要在步骤202所应用以用于在步骤204和206对源数据进行解密的密码处理等级。
在任何实施例中,通过在步骤202确定密钥熵302并且控制在步骤204根据所确定密钥熵的密钥序列304的生成,更少计算资源能够用于明文306的至少一些情况的密码处理。由于在减小由生成模块104所输出的密钥序列304的密钥熵时发起(或播种)生成模块104的秘密密钥的长度优选地未被减小,攻击可能具有猜测明文306的部分的改进机会(如以下所述),但是破解秘密密钥的机会没有降低。
通过生成伪随机密钥序列304并且将密钥序列304与明文306相组合(通常使用XOR运算)以产生密文308,装置100用作密码处理装置(例如流密码处理装置)。由于对于明文306的每个位,生成密钥序列304的位,所以明文306的每个字节取决于密钥序列中的关联字节的实例来变换为256个不同值其中之一。假定密钥序列304的字节根据条件1和2两者(即密钥熵为1)来独立且均匀地分布,想要近似估计或猜测明文306的原始字节的攻击者仅具有1/256=0.39%的成功机会。
当密钥熵304以因子f减小(即,减小到值1/f)时,在没有秘密密钥的知识的情况下对整个密文308有效解密仍然是几乎不可能的,因为秘密密钥的长度未减小。只有成功近似估计或猜测密文308的一部分(例如密文308的字节)的机会增加到例如f·0.39%。
此外,密码处理的最高计算要求部分是密钥序列304中的熵的产生。通过减小密钥序列304的密钥熵302,有可能平均以按常规将源数据的一个字节密码处理所需的计算努力将源数据的f个字节密码处理。
在任何实施例中,根据所确定密码处理等级来生成密钥序列的步骤204可包括将生成器序列映射到密钥序列的步骤。映射可以是单射的。例如通过将位长度以因子f来增加,与生成器序列的每位熵Hin=f·Hout相比,映射可减小密钥序列304的每位熵Hout。通过映射来预先处理生成器序列,这产生退化密钥序列304。平均起来,从生成器序列的n个位来产生密钥序列304的每m个位,使得n<m=f·n。
减小每位熵的单射映射又称作稀释(diluting或dilution)。密钥序列例如相对于生成器序列或任何随机序列可称作稀释或退化。该技术可称作稀释密码处理,例如稀释流密码处理。
通过不减小发起(或播种)生成器模块104的秘密密钥,揭示秘密密钥平均所需的强力攻击的数量没有减少。因此,破解秘密密钥不一定因稀释而是更容易的。相反,攻击者因稀释而可具有成功猜测明文306的一些字节的略好机会,因为如果密钥序列304的密钥熵302已经减小为小于1,则明文306与密文308之间的互信息不为零。例如通过随机确定无线电通信的装置100的实施例的稀释的一个或多个参数,成功猜测明文306的一些字节的机会可进一步降低。
相反,作为比较示例,减少秘密密钥的长度将会减少找到秘密密钥平均所需的强力攻击的数量,在此情况下,将完全破解加密。即,减少秘密密钥的长度危害整个明文306而不是明文306的有限部分。在该技术的实施例中,成功揭示明文306的一部分没有使攻击者能够揭示明文306的其余部分。即,即使攻击者对一些字节是成功的,但是没有完全破解加密。
图4示出装置100的第二实施例的示意框图。第二实施例可以是第一实施例的更详细实现。对应特征通过相似附图标记来指示。
生成器103可以是随机数生成器(例如伪随机数生成器),其取秘密密钥作为种子值或初始值,并且生成生成器序列。生成器序列可以是连续或任意长的,例如用于实现流密码器的生成器流。虽然生成器103的周期因生成器103的有限内部状态空间而可以是有限的,但是生成器103可在其周期之内重新播种。梅森旋转器(Mersenne Twister)是生成器103的示例。
生成器序列(例如生成器流)由稀释器105来映射到密钥序列304(例如密钥流),该稀释器105根据所确定密钥熵302来减小密钥序列304的每位熵。
该技术可在现有密码处理架构的上下文中(例如作为其扩展)来实现。按常规,3GPP已经定义了3GPP UMTS和3GPP LTE的无线电通信标准中的3个密码处理机制,即,分别使用算法Snow3G、AES-CTR和ZUC的EEA1、EEA2和EEA3。这些密码处理机制的每个包括流密码器。如按常规通过这些密码处理机制的任一个所生成(并且通常与明文直接组合)的密钥流可用作生成器流,所述生成器流被输入到稀释器105。由稀释器105来稀释常规密钥流。即,生成器103从生成器流的每n个位来生成(例如平均起来)m个位,所述生成器流由生成器103来输出,其中m>n。密钥流304(即,稀释或退化生成器流)与明文306相组合(例如通过二进制XOR运算)。
第二实施例的任何实现将映射用于在方法200的步骤204的稀释。本文中,映射一般通过附图标记504来表示。
图5示出生成密钥序列304的步骤204的第一实现的流程图。生成器103(图5中称作流密码器)在步骤204的子步骤502产生作为生成器序列的密钥流。密钥流用来将kmax个位填充到缓冲器中。
生成器序列包括或者被解释为各自具有n个位的生成器符号的序列。即,生成器符号具有固定(即,相等)数量的位。
通过在步骤206的子步骤504将生成器符号映射到密钥符号,来稀释生成器序列。每个密钥符号具有m个位,其中n<m。密钥符号的序列定义密钥序列304。
步骤204的子步骤506对子步骤504验证缓冲器包括至少n个位。否则,在子步骤502重新填充缓冲器。参数n、m、kmin和kmax是预设值,使得n≤kmin<kmax,并且n<m。
图6示出生成密钥序列304的步骤204的第二实现的流程图。子步骤502和506对应于第一实现的那些子步骤。
生成器103(图6中称作流密码器)产生作为生成器序列的密钥流。生成器序列中的位的相邻(即,连续)序列被解释为生成器符号。生成器序列的生成器符号是前缀代码的码字。生成器符号具有可变(即,不相等)数量的位。
生成器符号的平均位长度为n。平均起来,通过将每个生成器符号映射到密钥符号,来稀释生成器序列。每个密钥符号具有m个位,其中n<m。换言之,生成器符号的平均位长度n小于密钥符号的位长度m。密钥符号的序列定义密钥序列304。
步骤204的子步骤506对子步骤504验证缓冲器包括至少nmax个位。否则,在子步骤502重新填充缓冲器。参数m、kmin和kmax是预设值,使得kmin<kmax,并且kmin大于前缀代码的最长码字的长度nmax。
在步骤204的任何实现中,生成器符号到密钥符号的映射可以是单射的。即,不同生成器符号被映射到不同密钥符号。
密钥符号的数量可以为C。全部密钥符号的集合又称作密钥符号字母表。即,密钥符号字母表的基数为C。前缀代码可包括C个码字。映射可以是双射的。
通过与生成器序列的生成器熵Hin相比将密钥序列304的密钥熵302(由Hout所表示)以因子f减小,有可能采用生成器序列的每个字节将源数据的多于一个字节(例如平均f个字节)密码处理。映射的输入(即,稀释器105的输入)处的生成器序列的平均比特率可小于映射的输出(即,稀释器105的输出)处的密钥序列的平均比特率。
图7示意示出装置100的实施例中的稀释。稀释因子为f=m/n>1,其中每生成器符号702的数量(例如平均数量)n个输入位以及每密钥符号704的数量(例如平均数量)m个输出位。稀释器中的单射映射可对应于每位熵到Hout=Hin/f的减小。生成器熵可以是Hin=Hmax=1。
稀释生成器序列产生密钥序列304实现将密钥序列304的比特率以因子f增加,而没有增加用于生成生成器序列700的比特率,后者是高计算费用的。由于组合206的计算资源未改变(并且通常是可忽略的),并且由于密钥序列304的比特率通常与明文306和密文308两者的比特率(即,密码处理比特率)相关,所以对给定密码处理比特率的计算要求降低。例如,在组合器106中,密钥序列304的x个位与明文306的x个位相组合,其中取决于实现x可以是任何整数。为了说明的清楚起见而不是限制,图7中对x=m示出组合206。
描述采用相等大小生成器符号的映射的示例,例如如步骤204的第一实现的示例。
为了单射地映射固定数量n个位,生成器符号的数量C必须为2n。如果条件1将要被密钥序列304所满足,即,位翻转概率对每个位为0.5,则包含C个m位符号的密钥符号字母表定义为C个密钥符号704,使得当对全部C个密钥符号704求平均时,第x位的期望值为0.5,对于任何给定x=0…m-1。
密钥符号字母表是2m个可能m位符号的子集,该子集通过将包含正好q个1的m位符号集中在编组Gq+中或者通过将包含正好q个0的m位符号集中在编组Gq-中来定义,因为显然Gq-=Gm-q+。通过使用一个或多个完整编组,相等地分布不同位位置。为了消除偏置,即,对于概率p=0.5,组合编组Gq+和Gq-。
在下表中对m=4示出编组。
通过将编组对称地组合(Gq+和Gq-)为密钥符号字母表,组合包括具有q个0或q个1的m位符号。对于作为密钥符号704的m位符号,对偶数和奇数m分别存在m/2+1或(m+1)/2个这类对称组合。
基数为2的幂(即,C=2n)的那些组合能够用作采用固定大小生成器符号702的映射504的密钥符号字母表,其中n是生成器符号702的固定位长度。下表中列出示例m=4的组合。
0或1的数量q | 基数C |
G0+和G0-:q=0 | 2 |
G1+和G1-:q=1 | 8 |
G2:q=2 | 6 |
G2不是直接可用于固定大小映射的。因此,能够对示例m=4定义下列密钥符号字母表:
0或1的数量q | 所使用编组 | 基数C=2n | 稀释 |
G0+和G0-:q=0 | G0+和G0- | 2 | 1:4(最大稀释) |
G1+和G1-:q=1 | G1+和G1- | 8=23 | 3:4(适度稀释) |
G2:q=2 | 全部编组 | 2m | 4:4(无稀释) |
每位熵的稀释(即,相对于生成器熵Hin=1的密钥熵Hout的减小)通过条件2(即,相互关连位翻转)的违反所引起。密钥符号字母表G0+和G0-具有最大相关性,即,全部m个位翻转或者全部未改变,这实现稀释因子f=4。密钥符号字母表G0+和G0-具有循环相邻位之间的更弱相关性,这实现稀释因子f=1.3。使用全部编组(即,m=n)是恒等映射,这对应于无稀释(f=1)。
m=4的上述示例中的编组G2不能用于采用相等大小生成器符号的映射504。一般来说,例如如果C不是2的幂,则作为生成器符号702的前缀代码可用来将C个生成器符号702单射地映射到C个密钥符号。
前缀代码可根据哈夫曼树(Huffman tree)来定义,而不管实现是遍历哈夫曼树还是存储前缀代码以用于表中的快速查找。
通过哈夫曼树所定义的前缀代码近似估计用来构成哈夫曼树的概率分布。图8示出用于采用每生成器符号702的可变数量的输入位在步骤204定义稀释的映射504的哈夫曼树800的第一实施例,例如作为步骤204的第二实现的第一示例。
通过A、B、C、D、E和F标记m=4的上述示例中的编组G2的C=6个密钥符号704并且构成相等概率的哈夫曼树800(如图8所示),关联码字702是映射504的生成器符号。换言之,哈夫曼树800用作解压缩器,所述解压缩器生成A、B、C、D、E和F的相等分布(例如一直到通过C的有限大小所引起的偏离)。
为了说明而不是限制,下表中定义C=6个不同4位密钥符号704的映射504。
左列只是对图8的引用,并且在实现中能够被省略。中心列包含生成器符号702,所述生成器符号702是前缀代码的码字。右列包含密钥符号704。
下表示出,相等分布的密钥符号704(各自具有概率1/6)产生位翻转的未偏置(即,p=0.5)和相等分布。
平均生成器符号长度为n=2.67。即,有效稀释为2.67:4或f=1.5,这近似C=6的理论稀释(log2 C):4=2.58:4。映射504的这个示例满足条件1,并且通过违反条件2将熵减小到Hout=1/f。更具体来说,相互关连位翻转,因为翻转2个位的任意对。
描述上述映射504的稀释的示例(即,在序列等级的映射)。生成器序列700(即,随机位串)为1 000 1 010 1 1 010,其中为了可读性而在每个生成器符号702的末尾添加空格。所产生密钥序列704(即,稀释密钥流)为000 100 000 001 000 000 001。因此,具有13个位的输入长度的生成器序列已经被稀释成具有21个位的输出长度的密钥序列。
虽然稀释的映射504的上述示例(例如第二实施例中的步骤204的第二实现的示例)将哈夫曼树800用于将生成器符号702定义为前缀代码,但是任何其他前缀代码也可用于映射504中。
此外,虽然稀释的映射504的上述示例(例如作为第二实施例中的步骤204的第二实现的第一示例)通过违反条件2使用哈夫曼树800来减小熵,但是通过哈夫曼所定义的生成器符号还可通过违反条件1来生成熵。
图9和图10示出采用作为生成器符号702的可变数量的输入位的映射504的第二示例的变体的哈夫曼树800的示例,例如作为步骤204的第二实现的第二示例。
违反条件1意味着偏置位翻转概率p≠1/2,即,相对0和1是不对称的单独位值的概率分布。下表对示例m=3和位翻转概率p=1/4列出密钥符号704的概率分布pA,…,pH。
稀释1/f=2.47:3=0.82近似位翻转概率为25%、包含不相互关连比特流的密钥序列的理论减小熵:
H=-p·log p-(1-p)·log(1-p)=0.81,对于p=0.25。
步骤204的任何实现可通过独立地偏离条件1和2来减小密钥序列304,Hout<1。上述示例通过保持相等分布和不相互关连位翻转的条件2并且废除50%位翻转概率的条件1来减小密钥熵302。
图9中的上述示例使用最佳哈夫曼树800,即,生成器符号702的平均位长度n为最小。生成器符号702的最长位长度为nmax=5。
下表中列出对应映射504。
因此在稀释器105的输入的是具有最大熵Hin=1的伪随机位,即,根据条件2的相同分布和不相互关连位以及根据条件1的50:50位翻转概率。稀释器105输出为密钥序列304,其具有违反条件1的25:75位翻转概率、根据条件2的相同分布和不相互关连位,因而将密钥熵减小成Hout=0.81<1。
也可应用次最佳前缀代码(与哈夫曼树不同或相似)。图10中示出产生2.48:3的有效稀释的次最佳树800的示例。生成器符号702的最长位长度为nmax=6。
下表中列出对应映射504。
任何映射504可通过包含C个条目的查找表来实现。备选地或另外地,任何映射504可通过包含个条目的查找表来实现,其中nmax是前缀代码中每生成器符号的位的最大数量,即,哈夫曼树800的深度。
论述稀释流密码器的示范性能,例如以示出该技术的可用性。下列考虑因素可适用于任何实施例。性能包括通过改变密码处理等级沿相反方向来改变的安全性和复杂度。
作为举例,生成器符号702包含用于生成密钥符号704的n=6个位,所述密钥符号704包含用于生成退化密钥序列304的m=8个位(即,一个字节)。通过减少n或增加m,增加密码器比特率(即,m/n乘以生成器比特率),而降低安全性(根据每位熵以因子n/m来减小)。
假定在某个点,发送明文的字节ti。攻击者接收密文308的对应部分c,并且设法揭示消息部分ti。设ti的先验概率为p(ti),则发送字节c的概率为p(c)。设用于加密ti的密钥序列304中的字节为ki,例如组合206包括XOR运算作为举例,每个密钥符号704以相等概率来选择,即,p(ki)=p(k)=1/C=1/2n。此外,设Tc是tj值的集合,其能够被加密成c,即:
攻击者可采取贝叶斯动作(Bayes action),其中后验概率(即,给定密文的所接收部分c的情况下的明文字节ti的概率)为:
显然,攻击者必须选择具有最高概率的明文字节。此外,正确近似的概率是ti的概率除以发送集合Tc的元素的概率,这也是清楚的。但是,如果明文306的字节具有极不相等概率分布,则简单等式1指示弱点。对于某个密文字节c,集合Tc可以仅包含具有较高概率的一个或数个元素,在此情况下,攻击者具有找到密文字节c的很大机会。但是,揭示密文308的这种部分没有揭示密钥序列的将来字节。此外,攻击者必须知道明文字节的正确分布,情况通常不是这样。
另一方面,如果明文字节的概率分布为未知或者(例如大致)均匀:
因此,对于该示例,正确近似的概率为每字节
论述用于生成退化密钥序列的计算资源。计算资源取决于实现和硬件架构。下列示例假定AMD64架构。此外,考虑生成大密钥序列(例如许多字节)的限制,使得L1高速缓存由生成步骤排他地使用,并且良好编译器和/或处理器或核能够隐藏指令的时延,因而能够以互易吞吐量(reciprocal throughput)进行计算。虽然后一种假设可能不是完全正确的,但是它产生可接受近似。
为了生成退化密钥序列的一个字节,首先需要移位和屏蔽操作,然后需要阵列中的查找以找到适当的m位长值。如果n和m足够小(例如n≤8,m≤16),则阵列能够易于适合于L1高速缓存。读取L1高速缓存花费不多于大约4个循环(即,时延),而移位和屏蔽操作花费最多大约2个循环。由于将存在某个并行执行,所以产生字节花费大约或少于10个循环是保守近似。
描述另外的优化实现。首先,替代从n=6来生成m=8个位,映射可被实现两次以用于从12个位来生成16个位。这需要具有212个16位条目(即,8千字节(KB))的阵列,这仍然适合于L1高速缓存。将随后3个字节(即,生成器序列的24个位)加载到32位寄存器中。下12个位能够通过屏蔽来获得,而上12个位需要屏蔽、移位和寄存器以记录副本。最后,为了生成退化密钥序列的2×2字节,执行阵列中的两个查找子步骤。通过考虑例如微架构IntelSkylake的互易吞吐量,这需要每4个字节0.5+0.5+0.25+0.5+0.25+2·0.5=3个循环,即,能够达到每核心每循环大约1.25个字节。
图11示出装置100的实施例的示意框图。装置100包括用于执行方法200的一个或多个处理器1104以及耦合到处理器1104的存储器1106。例如,存储器1106可采用指令来编码,所述指令实现模块102、104和106的至少一个。
一个或多个处理器1104可以是以下中的一个或多个的组合:微处理器、控制器、微控制器、中央处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者任何其他适当计算装置、资源或者可操作以单独或结合装置100的其他组件(例如存储器1106)提供数据发射器功能性的硬件、微代码和/或编码逻辑的组合。例如,一个或多个处理器1104可执行存储器1106中存储的指令。这种功能性可包括提供本文所述的各种特征和步骤,包括本文所公开的有益效果中的任一个。表达“装置操作以执行动作”可表示装置100配置成执行该动作。
如图11示意所示,装置100可通过密码处理站1100(例如基站或无线电装置)来体现。译成密码站1100包括耦合到装置100的无线电接口1102,以用于与一个或多个破解密码站进行无线电通信。
图12示出装置100的实施例的示意框图。装置100包括用于执行方法200的一个或多个处理器1204以及耦合到处理器1204的存储器1206。例如,存储器1206可采用指令来编码,所述指令实现模块102、104和106的至少一个。
一个或多个处理器1204可以是以下中的一个或多个的组合:微处理器、控制器、微控制器、中央处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者任何其他适当计算装置、资源或者可操作以单独或结合装置100的其他组件(例如存储器1206)提供数据接收器功能性的硬件、微代码和/或编码逻辑的组合。例如,一个或多个处理器1204可执行存储器1206中存储的指令。这种功能性可包括提供本文所述的各种特征和步骤,包括本文所公开的有益效果中的任一个。表达“装置操作以执行动作”可表示装置100配置成执行该动作。
如图12示意所示,装置100可通过破解密码站1200(例如基站或无线电装置)来体现。破解密码站1200包括耦合到装置100的无线电接口1202,以用于与一个或多个译成密码站进行无线电通信。
如通过以上描述显而易见,该技术的实施例能够以相同的生成器序列量来加密更多明文。由于生成生成器序列消耗加密所要求的计算资源的相当大的部分(通常为大部分),所以实施例能够对更弱加密的价格实现更高加密速率。相同或另外的实施例能够逐渐降低加密强度,同时增加加密速率。
如果选择太弱加密和/或对攻击者揭示明文的一部分,则攻击者例如对于作为1的生成器熵以及比所揭示部分更长的生成器的周期不能推断密钥序列的种子密钥或将来位,使得消息的其余部分保持为被保护。
通过以上描述将完全了解本发明的许多优点,并且将显而易见,在单元和装置的形式、构造和布置方面可进行各种变更,而没有背离本发明的范围和/或没有牺牲其全部优点。由于本发明能够在许多方式改变,所以将会认识到,本发明应当仅受以下权利要求书的范围所限制。
Claims (21)
1.一种将源数据密码处理为目标数据的方法,所述方法包括或触发下列步骤:
确定所述源数据的密码处理等级;
取决于所确定密码处理等级来生成密钥序列,其中所述密码处理等级包括或者指示所述密钥序列的密钥熵,其中所述密钥序列包括密钥符号字母表中的密钥符号,并且其中生成所述密钥序列包括下列步骤:根据生成器熵来生成生成器序列,所述生成器熵大于所确定密钥熵;并且将所述生成器序列的生成器符号映射到所述密钥序列的密钥符号,其中所述生成器符号是前缀代码的码字,并且所述生成器符号的位长度是不同的,其中所述密钥熵定义所述生成器符号的平均位长度与所述密钥符号的位长度之间的比率;以及
组合所述源数据和所述密钥序列,从而产生所述目标数据。
2.如权利要求1所述的方法,其中所述密钥序列的所确定密钥熵小于1。
3.如权利要求1所述的方法,其中所述密钥序列中的不同位取决于所确定密钥熵和所确定密码处理等级中的至少一个来相互关连。
4.如权利要求1所述的方法,其中所述密钥序列中的不同位取决于所确定密钥熵和所确定密码处理等级中的至少一个被不同地概率分布。
5.如权利要求1所述的方法,其中所述密钥序列中的位被设置为1的概率取决于所确定密钥熵和所确定密码处理等级中的至少一个而偏离1/2。
6.如权利要求1所述的方法,其中所述密钥符号字母表的基数和所述密钥符号的位长度中的至少一个取决于所确定密钥熵和所确定密码处理等级中的至少一个。
7.如权利要求1所述的方法,其中所述密钥熵是以下中的至少一个:所述密钥符号字母表的基数的递增函数和所述密钥符号的所述位长度的递减函数。
8.如权利要求1所述的方法,其中所确定密钥熵定义所述密钥符号字母表的基数的对数与所述密钥符号的所述位长度之间的比率。
9.如权利要求1所述的方法,其中所述密钥符号字母表的基数C小于2m,其中m是所述密钥符号的所述位长度。
10.如权利要求1所述的方法,其中所述密码处理等级通过所述确定所述源数据的密码处理等级的步骤来改变,而无需重新播种生成所述生成器序列的生成器。
11.如权利要求1所述的方法,其中所述映射是单射的。
12.如权利要求1所述的方法,其中所述生成器符号的平均位长度小于所述密钥符号的所述位长度。
13.如权利要求1所述的方法,其中所述生成器熵等于或近似最大熵。
14.如权利要求1所述的方法,其中当所述密码处理等级或所述密钥熵中的至少一个减少时,用于初始化所述生成生成器序列的步骤的种子密钥的长度和/或所述生成生成器序列器的步骤的周期的长度没有减少。
15.如权利要求1所述的方法,其中所述密码处理包括译成密码或加密以及破解密码或解密中的至少一个。
16.如权利要求1至15中的任一项所述的方法,其中所述源数据、所述目标数据和控制消息中的至少一个指示所述密码处理等级。
17.一种计算机可读记录介质,其上存储有程序代码,当所述程序代码在一个或多个计算装置上运行时执行如权利要求1至16中的任一项所述的步骤。
18.一种用于将源数据密码处理为目标数据的装置,所述装置配置成:
确定所述源数据的密码处理等级;
取决于所确定密码处理等级来生成密钥序列,其中所述密码处理等级包括或者指示所述密钥序列的密钥熵,其中生成所述密钥序列包括下列步骤:根据生成器熵来生成生成器序列,所述生成器熵大于所确定密钥熵;并且将所述生成器序列的生成器符号映射到所述密钥序列的密钥符号,其中所述生成器符号是前缀代码的码字,并且所述生成器符号的位长度是不同的,其中所述密钥熵定义所述生成器符号的平均位长度与所述密钥符号的位长度之间的比率;以及
组合所述源数据和所述密钥序列,从而产生所述目标数据(。
19.如权利要求18所述的装置,进一步配置成执行或触发如权利要求2至16中的任一项所述的步骤。
20.一种用于将源数据密码处理为目标数据的装置,所述装置包括至少一个处理器和存储器,所述存储器包含由所述至少一个处理器可执行的指令,由此所述装置操作以:
确定所述源数据的密码处理等级;
取决于所确定密码处理等级来生成密钥序列,其中所述密码处理等级包括或者指示所述密钥序列的密钥熵,其中生成所述密钥序列包括下列步骤:根据生成器熵来生成生成器序列,所述生成器熵大于所确定密钥熵;并且将所述生成器序列的生成器符号映射到所述密钥序列的密钥符号,其中所述生成器符号是前缀代码的码字,并且所述生成器符号(702)的位长度是不同的,其中所述密钥熵定义所述生成器符号的平均位长度与所述密钥符号的位长度之间的比率;以及
组合所述源数据和所述密钥序列,从而产生所述目标数据。
21.如权利要求20所述的装置,还操作以执行如权利要求2至16中的任一项所述的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2017/084009 WO2019120533A1 (en) | 2017-12-21 | 2017-12-21 | Stream ciphering |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111480312A CN111480312A (zh) | 2020-07-31 |
CN111480312B true CN111480312B (zh) | 2024-03-15 |
Family
ID=60935842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780097850.XA Active CN111480312B (zh) | 2017-12-21 | 2017-12-21 | 流密码处理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11356248B2 (zh) |
EP (1) | EP3729716B1 (zh) |
CN (1) | CN111480312B (zh) |
WO (1) | WO2019120533A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11949711B2 (en) * | 2019-07-08 | 2024-04-02 | Caci International, Inc. | Systems and methods for securing information |
US11496289B2 (en) | 2020-08-05 | 2022-11-08 | Microsoft Technology Licensing, Llc | Cryptography using varying sized symbol sets |
CN114938271B (zh) * | 2022-04-29 | 2024-10-25 | 浙江工业大学 | 基于状态机的一次一密方法 |
CN117131530B (zh) * | 2023-10-20 | 2024-01-30 | 合肥亚明汽车部件有限公司 | 一种智慧工厂敏感数据加密防护方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6895090B1 (en) * | 1999-04-30 | 2005-05-17 | Texas Instruments Incorporated | Pseudo-noise sequence with insertion having variant length and position |
CN106953875A (zh) * | 2017-04-26 | 2017-07-14 | 吉林大学珠海学院 | 基于多密钥流密码的顺序加密方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8213607B2 (en) * | 2006-10-18 | 2012-07-03 | Qualcomm Incorporated | Method for securely extending key stream to encrypt high-entropy data |
-
2017
- 2017-12-21 EP EP17825519.6A patent/EP3729716B1/en active Active
- 2017-12-21 WO PCT/EP2017/084009 patent/WO2019120533A1/en active Search and Examination
- 2017-12-21 US US16/770,167 patent/US11356248B2/en active Active
- 2017-12-21 CN CN201780097850.XA patent/CN111480312B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6895090B1 (en) * | 1999-04-30 | 2005-05-17 | Texas Instruments Incorporated | Pseudo-noise sequence with insertion having variant length and position |
CN106953875A (zh) * | 2017-04-26 | 2017-07-14 | 吉林大学珠海学院 | 基于多密钥流密码的顺序加密方法 |
Non-Patent Citations (1)
Title |
---|
Analysis of the Bit-Search Generator and Sequence Compression Techniques;Aline Gouget等;FSE 2005: Fast Software Encryption;196-214 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019120533A1 (en) | 2019-06-27 |
US20200396062A1 (en) | 2020-12-17 |
EP3729716A1 (en) | 2020-10-28 |
EP3729716B1 (en) | 2021-04-07 |
US11356248B2 (en) | 2022-06-07 |
CN111480312A (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101103586B (zh) | 在通信系统中加密/解密信号的装置和方法 | |
Haleem et al. | Opportunistic encryption: A trade-off between security and throughput in wireless networks | |
CN106688204B (zh) | 生成加密校验和的方法、认证消息的方法及其设备 | |
CN111480312B (zh) | 流密码处理 | |
CN107592968B (zh) | 生成密码校验和 | |
US9379887B2 (en) | Efficient cryptographic key stream generation using optimized S-box configurations | |
CN113078997B (zh) | 一种基于轻量级密码算法的终端保护方法 | |
JP2017085559A (ja) | 制限帯域幅を有するチャネルにおける効率的かつ強秘匿性の対称暗号化のためのシステムおよび方法 | |
EP1484857A2 (en) | Secure wireless network an method for secure communication in a wireless network | |
Zhang et al. | Energy efficiency of encryption schemes applied to wireless sensor networks | |
JP4020197B2 (ja) | 効率的なパケット暗号化方法 | |
JP2017524291A (ja) | 暗号チェックサムの生成 | |
Hintaw et al. | A robust security scheme based on enhanced symmetric algorithm for MQTT in the Internet of Things | |
US20220166600A1 (en) | Evolving cryptograpy system and method | |
Zegers et al. | A lightweight encryption and secure protocol for smartphone cloud | |
Agosta et al. | Cyber-security analysis and evaluation for smart home management solutions | |
US20240022396A1 (en) | System and method for evolving cryptography with a private time base | |
Noura et al. | Design and realization of efficient & secure multi-homed systems based on random linear network coding | |
Srivastava et al. | AES-128 Performance in TinyOS with CBC algorithm (WSN) | |
CN116614266A (zh) | 数据传输方法、装置、设备及存储介质 | |
Noura et al. | Lightweight and secure cipher scheme for multi-homed systems | |
EP1484861A2 (en) | Wireless network and method for data encryption/decryption in a wireless network | |
Doomun et al. | Resource saving AES-CCMP design with hybrid counter mode block chaining-MAC | |
EP4135257A1 (en) | System and method for evolving cryptography with a private time base | |
Junaid et al. | Per packet authentication for ieee 802.11 wireless lan |
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 |