CN1714531A - 使用多密钥产生流密码的方法 - Google Patents

使用多密钥产生流密码的方法 Download PDF

Info

Publication number
CN1714531A
CN1714531A CNA2003801037554A CN200380103755A CN1714531A CN 1714531 A CN1714531 A CN 1714531A CN A2003801037554 A CNA2003801037554 A CN A2003801037554A CN 200380103755 A CN200380103755 A CN 200380103755A CN 1714531 A CN1714531 A CN 1714531A
Authority
CN
China
Prior art keywords
byte
key
random number
length
sub
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
Application number
CNA2003801037554A
Other languages
English (en)
Other versions
CN100568802C (zh
Inventor
斯蒂芬·L.·博伦
安德烈·J.·布里森
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CN1714531A publication Critical patent/CN1714531A/zh
Application granted granted Critical
Publication of CN100568802C publication Critical patent/CN100568802C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Saccharide Compounds (AREA)

Abstract

在对称加密方法中,流密码的长度应该同明文的长度一样。如果待加密的明文数据非常大,则很难产生这样的密码。本发明提供了一种产生可变长度流密码的方法,其可能非常长。它是通过创建大量具有非重复长度的随机子密钥、以及将这样的子密钥以随机的方式组合而产生的。

Description

使用多密钥产生流密码的方法
与相关申请的交叉参照关系
本申请是2002年11月20日提交的未决美国专利申请No.10/299,847的部分延续。
技术领域
本发明涉及加密方法领域,尤其涉及产生加密可能非常长的电子通信的流密码的方法。
背景技术
提供安全电子通信的各种加密方法在本领域中是公知的。在对称加密方法中,发送者和接收者使用同样的代码或者密钥来加密和解密消息。不可能被破译或解密的唯一完全安全的密码就是一次性密钥(One-Time Pad:OTP)。OTP采用包含明文消息的比特流,以及与明文长度相同的私密的随机比特流(密钥)。为了用密钥加密明文,来自密钥和明文的每一对位都用异或函数顺序处理,从而获得密文的位。如果密钥真是随机的并且密钥对于未授权方保密,那么密文是不可能被解密的。这种方法的问题在于,密钥至少应该和消息具有同样的长度。如果较短的密钥被使用以及被重复,那么密码可能被破译。在一些情况下,需要加密的数据是非常大的。
因此需要有一种方法来产生随机的密钥,或者OTP,其长度是可变的,并且允许对大量数据进行加密。
发明内容
因此,本发明提供了一个产生长度为X字节的流密码的方法,这个方法包含以下步骤:i)选择n个子密钥,每个子密钥拥有唯一不重复的长度mn字节;ii)产生n个随机数,每一个对应于一个子密钥,每一个的长度为mn字节;iii)产生第n+1个随机数R;iv)设置p=Modmn(R);v)对第n个随机数中位置为p的每一字节,将一个函数应用到所有n个字节,以产生一个值;vi)串接该值到流密码的末端;vii)设置p=p+1;以及viii)重复步骤v),vi),vii)直到流密码长度为x字节。每个子密钥所选的长度m优选为素数。这种方法也可以包含对流密码应用去线性化(delinearization)函数的步骤。
根据本发明的一个方面,n个随机数中的每一个是这样产生的:i)产生第n+2个随机数,该随机数不是完全平方的;ii)计算第n+2个随机数的平方根;iii)产生第n+3个随机数;iv)从某个数位(其在第n+2个随机数中的位置是基于第n+3个随机数计算出来的)开始,顺序获取有限数位串,并且将每一个有限串转换为一个字节;v)顺序串接每一个字节,直到n个随机数中所述每一个的长度达到选择的长度mn
本发明进一步提供了计算机程序成品,用于执行该方法的装置,和执行该方法的数据处理系统。
附图说明
附图揭示了本发明的优选实施例:
附图1是用于实现本发明方法的计算机系统的示意性插图;以及
附图2是阐述本发明方法的流程图。
具体实施方式
附图2通过流程图的方式阐述了本发明产生加密密钥的方法。特别地,加密密钥,这里被称为超级密钥的不确定长度的非重复流密码是通过组合子密钥而形成。任意数量n个子密钥K1,K2,……,Kn可以根据应用来指定。子密钥的数量越多,非重复的超级密钥的长度就越大。每个子密钥的长度为素数(最好是大于10的素数)个字节。
处理的第一步骤是确定使用多大的超级密钥,或者流密码。选择子密钥的数量n以及每个子密钥的不重复长度mn。每个子密钥拥有唯一的不重复长度,也就是说,没有两个子密钥具有同样的不重复长度。子密钥的不重复长度最好是素数个字节。子密钥长度最好为2,3,5,……,1021范围内的素数个字节,在这个范围内有172个不同的素数。这个选择可以通过手工输入子密钥的数量以及它们的素数不重复长度来完成。可选地,密钥的数量以及它们的素数不重复长度也可以编程到应用中,或者程序随机选择子密钥的数量以及它们的不重复长度。对于n个子密钥Kn,超级密钥的不重复长度将是Size(K1)XSize(K2)X Size(K3)……X Size(Kn)。例如,假设使用10个下列素数不重复长度的子密钥:
子密钥1=13字节=K1
子密钥2=17字节=K2
子密钥3=19字节=K3
子密钥4=23字节=K4
子密钥5=29字节=K5
子密钥6=31字节=K6
子密钥7=37字节=K7
子密钥8=41字节=K8
子密钥9=43字节=K9
子密钥10=47字节=K10
得到的不重复超级密钥长度为13X 17X 19X 23X 29X 31X 37X41X 43X 47=266,186,053,068,611字节。因此,用少数小素数不重复长度的子密钥得到非常长的不重复超级密钥。以上超级密钥大小的总限定被包含在300字节(各不重复子密钥的长度之和)以及报头(子密钥数量和它们的长度)中。因此,超级密钥的总限定将是超级密钥大小的小部分。
虽然每个子密钥的不重复长度优选是素数个字节以提高所获密码的随机性,但是只要在所获得的密码很大,即使使用非素数长度,本方法也将起作用。
为了选择子密钥的数量,最好这样来计算:取由随机流所产生的前两个数位,用50求模,然后再加上50,从而提供的密钥数量在50到99之间。
多密钥处理的每个子密钥可以以如下方式创建。首先,产生不完全平方的随机数,最好用高随机源创建。其优选是在500到700个数位范围内的整数。这用作“第一种子值”O。验证所选择的值O是不完全平方的。如果它是完全平方的,那么将产生附加的随机值,直到有一个值满足这个标准。第二个种子值是一个32位的值,它用于种籽形成(seed)计算机的随机函数。大多数计算机的操作系统中包括的随机数发生器是伪随机的,并且不是非常稳固的。但是这些值作为起始点来说是足够的。第二随机数P也是从计算机的随机函数中产生的。然后用100对其求模,来设定初始点。计算第一种子值O的平方根Q,得到无理数Q(在小数点后面无限延伸并且不重复的数)。得到的小数点后的数位串在长度上可能是无穷的,并且有很高的随机性。计算机丢弃小数点前面的数位,并且计算数Q直到小数点后面的第P位。然后,从Q的小数点后的第P位开始,计算机每次顺序选择4个数位,并计算这四个数位对256求模的值。计算出的结果是一个8位值。这个值用作子密钥的第一字节。这个过程一次重复四个数位,顺序地用下四个数位继续,直到随机数据串等于正被创建的子密钥的素数不重复长度。为所有子密钥重复这个过程,直到创建所有子密钥的素数不重复长度。然后每个子密钥通过选取由此创建的不重复字节串来构成,并且每当需要构成足够长度的子密钥时都重复这个过程,以创建与其他子密钥结合的超级密钥。
产生子密钥的算法可以描述如下:
1、将seed1视为范围在500到700数位范围内的整数的十进制表示。
2、令X:=seed1
3、令 Y : = X 表示通过对X求平方根所产生的无理数。
4、令Z1,Z2,Z3,Z4,…是Y的十进制表示中小数点后的数位。每一个Zi的范围是0到9
5、调用srand(seed2)。//只在第一次
6、调用rand(),以获得无理数的起始位置,start
7、令start:=rand()mod 100。start的范围在0,1,……,99之间。
8、丢弃Z1和Z2直到Zstart
9、令tmp:=10*Z(start+1)+Z(start+2),丢弃那些用过的值。
10、令n:=50+(tmp mod 50)。n的范围在50,51,……99之间。
11、For i:=1,2,......,n,do:
12、令j=3*(i-1)
13、设tmp为Z串的下一个字节
14、令tmp:=100*Zj+1+10*Zj+2+Zj+3
15、令t:=172-(tmp mod 172)。t的范围在1,2,……172之间。
16、设u为序列2,3,5,……,1021中的第t个素数。
17、如果u等于任意的l1,l2,......,l{I-1},则令t等于(t+1)mod172,跳到16
18、设li=u
19、next I:跳到11,直到所有的子密钥大小都被设定
20、For i:=1,2,……,n,do:
21、For j:=0,1,2,......,li,do:
22、令k:=4*j
23、设tmp为Z串的下一个字节
24、令tmp:=(1000*Zk+100*Zk+1+10*Zk+2+Zk+3)mod 256
25、令si j:=tmp
26、Next j:下一个子密钥字节
27、Next I:下一个子密钥
28、For i:=0,1,2,......,255,do:
29、令j:=4*i
30、令tmp:=(1000*Zk+100*Zk+1+10*Zk+2+Zk+3)mod 256
31、如果tmp等于任意的S[0],S[1],......,S[I-1],则设为(tmp+1)mod 256,跳到31
32、令S[i]:=tmp
33、Nexti
34、设offset:=ZiZi+1…Zi+9
35、返回n,(l1,l2,......,ln),(s1,s2,......,sn),S[256]以及offset
36、保存在密钥文件中,并且把seed1和start值加入到DB中
37、增加seed1并跳到2//重复直到足够的密钥被产生出来
一旦所有的子密钥按上述步骤产生出来,就产生超级密钥(密码)到所要求的长度。这就意味着,将持续产生超级密钥,以加密待加密的相关数据,并且只继续产生直到所有数据都被加密。首先,产生随机数R(“第三种子值”,或者超级密钥的起始偏移量,与数Q的起始点P相对立)。从n个长度为mn的子密钥中的任意一个开始,计算对R的Modmn,并且连续地将每个子密钥的第Modmn(R)字节与每个其他子密钥的相应第Modmn(R)字节相异或(X/OR)。例如,假设R=100,且第一子密钥的长度为97字节,第二子密钥为43字节,那么选择第一子密钥的第三字节与第二子密钥的第14字节,以及以同样的方式基于R所选择的其它剩余子密钥的对应字节进行异或。这个过程一直重复,直到所有从每个子密钥中选取的字节都被异或。然后,所获得的值可以通过密码代替或者其他去线性化函数,以对超级密钥流去线性化,如同下文所要描述的那样。然后,所得到的二进制值通过串接被添加到超级密钥中。接下来,子密钥1的后一个字节随后与子密钥2的下一个字节等进行异或。再次重复上述过程,直到从每一个子密钥选择的所有字节已经被异以及被去线性化。每个函数得到的二进制值再次通过串接被添加到超级密钥中。虽然优先使用异或函数,但是显而易见的是其他函数也将能被应用。例如,加法或减法数学函数也可以被使用。当产生超级密钥的每个字节时,随即通过异或函数或者其他一些数学函数,用超级密钥的相应字节加密明文消息的相应字节。一旦明文消息的所有字节都已经被加密,则超级密钥的产生就终止了。随后通过对加密后的消息和超级密钥施加加密函数的反函数,能够解密加密后的消息。
为了进一步阐述由子密钥产生超级密钥的过程,令s{I} j表示第i个“子密钥”的第j个字节。令l{i}表示第i个子密钥的长度。例如,我们可以使l{1}=13,l{2}=17,等等。从“子密钥”i产生字节的无穷序列
s 0 { i } , s 1 { 2 } , s 2 { 2 } , · · · , s e ( i ) { i } , s 0 { i } , s 1 { i }
令s{I} j表示以上序列的第j个字节,如果j是任意自然数0到∞;s{I} j下标j的最低值是Rmodulo l{i},这里R是随机数。然后,“超级密钥”的第j个字节(称为Zj)定义如下
z j = s j { 1 } ⊕ s j { j } ⊕ · · · ⊕ s j { n }
这里,“⊙”表示异或操作。超级密钥的第一字节是:
z 1 = s R mod l { 1 } { 1 } ⊕ s R mod l { 2 } { 2 } ⊕ · · · ⊕ s R mod l { n } { n }
这里Rmod l{i}返回一个范围在0,1,2,……,(l{i}-1)中的整数。“超级密钥”具有范围从0到((l{1}×l{2}×l{3}…l{n})-1)的j值。
设P0,P1,P2,P3,……依次为明文的字节,而C0,C1,……依次为密文的字节。z0,z1……也表示“超级密钥”(用上述方法计算)的字节。我们用Ci:=Pi xor S[Zi]来定义密文。密文C通过串接字节C0,C1,……来构成,随后返回C作为加密过程的结果。显然,解密过程以相反的方式进行处理。
为了加密L字节的明文,产生L字节的超级密钥,并且使用大数计数器T来计数明文中的字节数量。输出是L字节的密文。为了解密密文,使用同样的大数计数器T,并且输出为L字节的明文。
为了使用本方法减少密文的线性度,在明文信息被加密前可以对超级密钥应用另一个步骤。在优选实施例中,对超级密钥应用密码代替,随后将得到的串用于加密明文消息。例如,创建256个单字节的阵列,从1到256随机排序。然后,超级密钥中的第一字节替换超级密钥中第x+1字节的值,这里x是256字节阵列的第一值。然后超级密钥中第二字节替换超级密钥中第Y+2字节的值,这里y是上述256字节阵列的第二值,等等。256字节阵列能够由子密钥的其中一个构成,将子密钥中的字节插入到阵列中,只要它们不和阵列中此前的项相重复。
也可以通过对加密后的消息(密文)应用密码代替来减小密文的线性度,然而,在加密之前对超级密钥应用密码代替更为有效。除密码代替之外,其它工具也可以用于打破线性度,例如由SANDIA实验室得到的可逆非线性函数(INLF)工具。这些工具在提供抵御Berlekamp-Massey攻击的保护是有用的。
虽然优选地如上所述地产生构成每一子密钥的随机不重复串,但是如果由随机数发生器简单地产生每个子密钥的不重复串以构成每个子密钥,只要超级密钥全部获得的长度足够大从而使获得的超级密钥长度至少为待加密数据的两倍,那么方法就也将有效。
前述方法可以用于产生个人安全系统,由此密钥用于加密用户希望保护的个人文件。在那种情况下,不需要密钥分配方法。当每个文件被加密时,新文件名为{OLDFILENAME}.{OFFSET}.wn。OLDFILENAME包括扩展名,从而允许简单的加密以及在功能上保持同样的文件格式。当每个文件被加密后,它立即被解密,并且同源文件进行比较,然后使用清除删除程序(整个文件重写为0,然后重写为1,然后删除)删除测试副本和源文件。
优选的密钥文件格式定义如下:
typedef struct wnkeyfiletype{
char field[2];//必须为WN,以识别文件格式
long version;//文件类型版本号,以允许改变
BIGNUMBER offset;//偏移量是存储为“”’s去线形化的
//十进制数位串的大数
Long numsk;//子密钥的数量
Long sklen[numsk];//单个子密钥的长度
Char sk1[sklen[1]];//第一子密钥
Char sk1[sklen[2]];//第二子密钥
Char sk1[sklen[3]];//第三子密钥
…… …… …… ……
Char sknumsk[sklen[numsk]];//第numsk个子密钥
Char substit[256];//密码代替密钥
}WNKEYFILE
前述的密钥文件格式是标准的。唯一不同的值是偏移量,偏移量存储在用“’s去线形化的十进制数位串中。一个例子是“987654321”,这允许最大达1000个数位的值,如果偏移量被适当实现,这就防止了密钥流的部分重用。
以上将本发明描述为计算机实现的方法,例如加密和解密网络12上计算机14和16之间的通信。它也可以实现为计算机硬件装置、计算机软件代码或者其结合。本发明也可以实现为用于实现本发明的计算机可读存储介质的实现代码。这样的存储介质可以是磁式的或者是光学的,硬盘或者软盘,CD-ROM,固件或者其他存储介质。本发明也可以在计算机可读调制载波信号上实施。
对于那些熟悉本领域的技术人员来说,根据前述的公开内容,在本发明的实践中可能有许多的替代或修改,而不背离本发明的精神或范围。因此,本发明的范围根据下述的权利要求所定义的主旨来解释。

Claims (20)

1、一种产生长度为X字节的流密码的方法,所述方法包含的步骤有:
i)选择子密钥的数量n,每个子密钥拥有唯一不重复长度mn字节;
ii)产生n个随机数,每一个对应于一个子密钥,每一个的长度为mn字节;
iii)产生第n+1个随机数R;
iv)设p=Modmn(R);
v)对在所述第n个随机数中位置为p的每一字节,将函数应用到所有n个字节,以产生值;
vi)串接所述值到所述流密码的末端;
vii)设p=p+1;以及
vii)重复步骤v),vi),vii),直到所述流密码长度为x字节。
2、根据权利要求1所述的方法,其中每一个所述子密钥的所述的选择的长度mn是素数。
3、根据权利要求1所述的方法,其中每个所述子密钥的所述选择的长度mn是大于10的素数。
4、根据权利要求1所述的方法,其中应用于所述子密钥的所述n个字节上的所述函数为异或函数。
5、根据权利要求1所述的方法,包括另一个步骤:对所述流密码应用去线性化函数。
6、根据权利要求5所述的方法,其中所述去线性化函数是密码代替。
7、根据权利要求1所述的方法,其中所述n个随机数中的每一个是这样产生的:
i)产生第n+2个随机数,所属随机数不是完全平方数;
ii)计算所述第n+2个随机数的平方根;
iii)产生第n+3个随机数;
iv)从某个数位开始,顺序获取有限数位串并且将每一个所述有限串转换为一个字节,其中所述数字在所述第n+2个随机数中的位置是根据所述第n+3个随机数计算出来的;
v)顺序串接每一个字节,直到达到所述n个随机数的所述每一个的所选择的长度mn
8、根据权利要求7所述的方法,其中所述有限数位串长度为至少四个数位。
9、根据权利要求8所述的方法,其中所述有限串通过应用mod函数而被转换成一个字节。
10、根据权利要求7所述的方法,其中所述有限串通过应用mod 256函数而被转换成一个字节。
11、一种用于产生长度为x字节的流密码的计算机程序产品,所述计算机程序产品包括计算机可用介质,所述计算机可用介质具有在所述介质实现的计算机可读程序代码单元,用于以下步骤:
i)选择子密钥的数量n,每个子密钥拥有唯一不重复长度mn字节;
ii)产生n个随机数,每一个对应于一个子密钥,每一个的长度为mn字节;
iii)产生第n+1个随机数R;
iv)设p=Modmn(R);
v)对其在所述第n个随机数中位置为p的每一字节,将函数应用到所有n个字节,以产生值;
vi)串接所述值到所述流密码的末端;
vii)设p=p+1;以及
viii)重复步骤v),vi)和vii),直到所述流密码长度为x字节。
12、根据权利要求11所述的计算机程序产品,其中每一个所述子密钥的所述选择的长度mn是素数。
13、根据权利要求11所述的计算机程序产品,其中每一个所述子密钥的所述选择的长度mn是大于10的素数。
14、根据权利要求11所述的计算机程序产品,其中应用于所述子密钥的所述n个字节上的所述函数为异或函数。
15、根据权利要求11所述的计算机程序产品,其中所述计算机可用介质包含在所述介质上实现的、用于另一个步骤:对所述流密码应用去线性化函数,的计算机可读程序代码单元。
16、根据权利要求15所述的计算机程序产品,其中所述去线性化函数是密码代替。
17、根据权利要求11所述的计算机程序产品,其中所述n个随机数的每一个以如下方式产生:
i)产生第n+2个随机数,所述随机数不是完全平方数;
ii)计算所述第n+2个随机数的平方根;
iii)产生第n+3个随机数;
iv)从某个数位开始,顺序获取有限数位串并且将每一个所述有限串转换为字节,其中所述数位在所述第n+2个随机数中的位置是根据所述第n+3个随机数计算出来的;
v)顺序串接每一个字节,直到达到所述n个随机数中所述每一个的选择长度mn
18、根据权利要求13所述的计算机程序产品,其中所述有限数位串长度为至少四个数位。
19、根据权利要求14所述的计算机程序产品,其中所述有限串通过应用mod函数而被转换成字节。
20、根据权利要求15所述的计算机程序产品,其中所述有限串通过应用mod 256函数而被转换成字节。
CNB2003801037554A 2002-11-20 2003-10-06 使用多密钥产生流密码的方法 Expired - Fee Related CN100568802C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/299,847 US7190791B2 (en) 2002-11-20 2002-11-20 Method of encryption using multi-key process to create a variable-length key
US10/299,847 2002-11-20

Publications (2)

Publication Number Publication Date
CN1714531A true CN1714531A (zh) 2005-12-28
CN100568802C CN100568802C (zh) 2009-12-09

Family

ID=32297785

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003801037554A Expired - Fee Related CN100568802C (zh) 2002-11-20 2003-10-06 使用多密钥产生流密码的方法

Country Status (13)

Country Link
US (1) US7190791B2 (zh)
EP (1) EP1566009B1 (zh)
JP (1) JP4608319B2 (zh)
KR (1) KR100994841B1 (zh)
CN (1) CN100568802C (zh)
AT (1) ATE370569T1 (zh)
AU (1) AU2003273688B2 (zh)
BR (2) BRPI0316473B1 (zh)
CA (2) CA2414261A1 (zh)
DE (1) DE60315700T2 (zh)
ES (1) ES2291675T3 (zh)
MX (1) MXPA05005358A (zh)
WO (1) WO2004047361A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209736A (zh) * 2015-05-04 2016-12-07 腾讯科技(深圳)有限公司 流媒体数据播放方法、终端及流媒体服务器
CN108885576A (zh) * 2016-01-28 2018-11-23 罗之落有限责任公司 从数据中清除信息

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7006629B2 (en) * 2000-12-19 2006-02-28 International Business Machines Corporation Method and system for processing a data set
FR2838262B1 (fr) * 2002-04-08 2004-07-30 Oberthur Card Syst Sa Procede de securisation d'une electronique a acces crypte
WO2005124681A1 (en) * 2004-06-14 2005-12-29 The University Of North Carolina At Greensboro Systems and methods for digital content security
CN101479984B (zh) * 2006-04-25 2011-06-08 斯蒂芬·L.·博伦 用于身份管理、验证服务器、数据安全和防止中间人攻击的动态分发密钥系统和方法
US20080304664A1 (en) * 2007-06-07 2008-12-11 Shanmugathasan Suthaharan System and a method for securing information
US20100235689A1 (en) * 2009-03-16 2010-09-16 Qualcomm Incorporated Apparatus and method for employing codes for telecommunications
WO2012025988A1 (ja) * 2010-08-24 2012-03-01 三菱電機株式会社 暗号化装置、暗号化システム、暗号化方法及び暗号化プログラム
CN102647393B (zh) * 2011-02-21 2017-02-22 鸿合科技有限公司 一种数字标牌的内容防盗播方法
US8767954B2 (en) * 2011-12-01 2014-07-01 Colloid, Llc Methods and systems for deriving a cryptographic framework
WO2015102839A1 (en) * 2013-12-30 2015-07-09 Jvl Ventures, Llc Systems, methods, and computer program products for providing application validation
CN105406960B (zh) * 2015-12-20 2019-02-22 河南思维自动化设备股份有限公司 一种信息加密和解密的方法
FI20165911A (fi) * 2016-11-30 2018-05-31 Sam Widlund Menetelmä ja järjestelmä tiedon salaukseen
CN106953875A (zh) * 2017-04-26 2017-07-14 吉林大学珠海学院 基于多密钥流密码的顺序加密方法
ZA202004225B (en) 2019-07-11 2023-07-26 Entersekt International Ltd System and method for secure input at a remote service
US11621837B2 (en) 2020-09-03 2023-04-04 Theon Technology Llc Secure encryption of data using partial-key cryptography
US11310042B2 (en) 2020-09-11 2022-04-19 Crown Sterling Limited, LLC Methods of storing and distributing large keys
US11552780B2 (en) 2020-12-23 2023-01-10 Theon Technologies, Inc. Homomorphic one-time pad encryption
US11755772B2 (en) 2021-09-20 2023-09-12 Crown Sterling Limited, LLC Securing data in a blockchain with a one-time pad
US11943336B2 (en) 2021-11-22 2024-03-26 Theon Technology Llc Use of gradient decent function in cryptography
US11791988B2 (en) 2021-11-22 2023-10-17 Theon Technology Llc Use of random entropy in cryptography
US11902420B2 (en) * 2021-11-23 2024-02-13 Theon Technology Llc Partial cryptographic key transport using one-time pad encryption
US20240069889A1 (en) * 2022-08-25 2024-02-29 National Technology & Engineering Solutions Of Sandia, Llc Systems and methods for automatically updating system firmware

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3706941A (en) * 1970-10-28 1972-12-19 Atomic Energy Commission Random number generator
US4058573A (en) * 1971-07-02 1977-11-15 Ciba-Geigy Corporation Process for the addition of gaseous non-halogenated olefins and acetylenes to perfluoroalkyl iodides
SE385644B (sv) 1974-10-17 1976-07-12 Ericsson Telefon Ab L M Anordning vid kryptering och dekryptering av meddelanden
US4375579A (en) * 1980-01-30 1983-03-01 Wisconsin Alumni Research Foundation Database encryption and decryption circuit and method using subkeys
US4791594A (en) * 1986-03-28 1988-12-13 Technology Inc. 64 Random-access psuedo random number generator
JPH0769662B2 (ja) * 1988-08-03 1995-07-31 松下電器産業株式会社 二元擬似乱数発生器
US5414771A (en) * 1993-07-13 1995-05-09 Mrj, Inc. System and method for the creation of random sequences and for the cryptographic protection of communications
US5454039A (en) * 1993-12-06 1995-09-26 International Business Machines Corporation Software-efficient pseudorandom function and the use thereof for encryption
JPH08181679A (ja) 1994-12-26 1996-07-12 Nec Corp 疑似乱数雑音発生装置
US5533128A (en) * 1995-01-18 1996-07-02 Vobach; Arnold Pseudo-random transposition cipher system and method
JP3557037B2 (ja) * 1996-04-22 2004-08-25 株式会社東芝 乱数生成装置及び方法、鍵系列生成装置及び方法、暗号化装置及び方法、並びに復号装置及び方法
KR19990082665A (ko) * 1996-02-21 1999-11-25 오오노 도시오 공통키 통신방법
US5666414A (en) * 1996-03-21 1997-09-09 Micali; Silvio Guaranteed partial key-escrow
WO1998007251A1 (en) * 1996-08-16 1998-02-19 Bell Communications Research, Inc. Improved cryptographically secure pseudo-random bit generator for fast and secure encryption
US6307940B1 (en) * 1997-06-25 2001-10-23 Canon Kabushiki Kaisha Communication network for encrypting/deciphering communication text while updating encryption key, a communication terminal thereof, and a communication method thereof
US6307936B1 (en) * 1997-09-16 2001-10-23 Safenet, Inc. Cryptographic key management scheme
US6345359B1 (en) * 1997-11-14 2002-02-05 Raytheon Company In-line decryption for protecting embedded software
US6151676A (en) * 1997-12-24 2000-11-21 Philips Electronics North America Corporation Administration and utilization of secret fresh random numbers in a networked environment
US6243470B1 (en) * 1998-02-04 2001-06-05 International Business Machines Corporation Method and apparatus for advanced symmetric key block cipher with variable length key and block
CN1240318A (zh) * 1998-03-04 2000-01-05 朗迅科技公司 产生伪随机数的方法
US6490353B1 (en) * 1998-11-23 2002-12-03 Tan Daniel Tiong Hok Data encrypting and decrypting apparatus and method
US6415032B1 (en) * 1998-12-01 2002-07-02 Xilinx, Inc. Encryption technique using stream cipher and block cipher
US20030210783A1 (en) * 2000-07-27 2003-11-13 Ross Filippi Method and system of encryption
JP4596686B2 (ja) * 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
US20030016823A1 (en) * 2001-07-05 2003-01-23 Shine Chung Method and apparatus of using irrational numbers in random number generators for cryptography
US7197142B2 (en) * 2001-08-24 2007-03-27 Alten Alexander I System and methods for a vernam stream cipher
ES2296862T3 (es) * 2001-10-19 2008-05-01 Matsushita Electric Industrial Co., Ltd Dispositivo de salida de matriz numerica, procedimiento de salida de matriz numerica, dispositivo de encriptacion y dispositivo de desencriptacion.

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209736A (zh) * 2015-05-04 2016-12-07 腾讯科技(深圳)有限公司 流媒体数据播放方法、终端及流媒体服务器
CN106209736B (zh) * 2015-05-04 2020-01-17 腾讯科技(深圳)有限公司 流媒体数据播放方法、终端及流媒体服务器
CN108885576A (zh) * 2016-01-28 2018-11-23 罗之落有限责任公司 从数据中清除信息
CN108885576B (zh) * 2016-01-28 2022-07-08 罗之落有限责任公司 从数据中清除信息

Also Published As

Publication number Publication date
AU2003273688A1 (en) 2004-06-15
DE60315700T2 (de) 2008-06-05
CN100568802C (zh) 2009-12-09
KR100994841B1 (ko) 2010-11-16
CA2505338C (en) 2012-09-04
AU2003273688B2 (en) 2009-06-25
CA2505338A1 (en) 2004-06-03
CA2414261A1 (en) 2004-05-20
ES2291675T3 (es) 2008-03-01
JP4608319B2 (ja) 2011-01-12
US20040096056A1 (en) 2004-05-20
US7190791B2 (en) 2007-03-13
BRPI0316473B1 (pt) 2018-03-13
EP1566009B1 (en) 2007-08-15
JP2006506668A (ja) 2006-02-23
KR20050086746A (ko) 2005-08-30
EP1566009A1 (en) 2005-08-24
BR0316473A (pt) 2005-10-11
WO2004047361A1 (en) 2004-06-03
ATE370569T1 (de) 2007-09-15
DE60315700D1 (de) 2007-09-27
MXPA05005358A (es) 2005-08-03

Similar Documents

Publication Publication Date Title
CN1714531A (zh) 使用多密钥产生流密码的方法
KR101119933B1 (ko) 보안성을 향상시키는 순열 데이터 변환
CN113206736A (zh) 一种基于aes加密算法的加密方法
CN101040474A (zh) 为提高安全性的置换数据变换
WO2005076521A1 (en) Method of generating a stream cipher using multiple keys
CN1241352C (zh) 加密二进制编码信息的方法
KR100583495B1 (ko) 암호화 방법
CN1813439A (zh) 产生伪随机序列的方法
CN1190034C (zh) 一种分组密码加密方法
Khalaf et al. Proposed triple hill cipher algorithm for increasing the security level of encrypted binary data and its implementation using FPGA
CN1425987A (zh) 强化错乱的分组密码加密方法
CN110532763B (zh) 一种基于高阶正形置换的密码构造方法及系统
RU2683689C1 (ru) Способ нелинейного трехмерного многораундового преобразования данных
KR101076747B1 (ko) 스트림 모듈의 계층적 트리 구조를 통한 무작위 접근이 가능한 암호화/복호화 방법 및 장치
RU2140712C1 (ru) Способ блочного шифрования двоичной информации
RU2694336C1 (ru) Способ аутентифицированного шифрования
CN1130871C (zh) 加密装置及加密方法
Yu et al. Cryptanalysis and improvement on a block encryption algorithm based on dynamic sequences of multiple chaotic systems
UA144140U (uk) Спосіб криптографічного перетворення інформації
JP2011145698A (ja) 暗号化システム及び復号化システム
Kumar et al. A New Digital Encryption Scheme: Binary Matrix Rotations Encryption Algorithm

Legal Events

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

Granted publication date: 20091209

Termination date: 20181006

CF01 Termination of patent right due to non-payment of annual fee