CN1674493A - 一种会话密钥生成系统及其生成方法 - Google Patents

一种会话密钥生成系统及其生成方法 Download PDF

Info

Publication number
CN1674493A
CN1674493A CN 200510033953 CN200510033953A CN1674493A CN 1674493 A CN1674493 A CN 1674493A CN 200510033953 CN200510033953 CN 200510033953 CN 200510033953 A CN200510033953 A CN 200510033953A CN 1674493 A CN1674493 A CN 1674493A
Authority
CN
China
Prior art keywords
square formation
terminal use
initial
calculation element
session key
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.)
Pending
Application number
CN 200510033953
Other languages
English (en)
Inventor
徐子杰
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
Priority to CN 200510033953 priority Critical patent/CN1674493A/zh
Publication of CN1674493A publication Critical patent/CN1674493A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种会话密钥生成系统,包括可相互通信的终端用户和密钥生成装置,该密钥生成装置包括初始方阵生成装置和方阵计算装置,各终端用户与初始方阵生成装置和方阵计算装置对应的端口连接。其中初始方阵生成装置包括生成存储器和具有方阵乘法处理模块的生成处理器;方阵计算装置包括计算存储器和具有方阵乘法处理模块的计算处理器。本发明还公开了一种使用上述系统的会话密钥生成方法,用户双方通过输入初始方阵、相关参数及私钥得到输出方阵,并交换发送到对方,用户通过输入对方的输出方阵和自己的私钥得到会话密钥。本发明不需要进行大素数的相关运算,对计算设备及算法的要求低,用户可以进行单向运算,同时可以获得足够的加密强度。

Description

一种会话密钥生成系统及其生成方法
技术领域
本发明涉及一种通信会话的密钥交换技术,尤其涉及一种会话密钥生成系统及其生成方法。
背景技术
密钥交换技术的作用在于:使通信的双方可以通过公共的通信渠道约定秘密的会话密钥,以保证通讯的安全。通常的密钥交换技术采用的是由Diffie与Hellman提出的Diffie-Hellman密钥交换算法,该算法的过程如下:
1、定义两全局公开量q与a,其中q为非常大的素数,a<q且a为q的本原根。
2、用户A选择一秘密的XA<q,并计算YA=aXA mod q。然后用户A将YA发送给用户B。
3、用户B选择一秘密的XB<q,并计算YB=aXB mod q。然后用户B将YB发送给用户A。
4、用户A可以计算出会话密钥K=YBXA mod q。
5、用户B可以计算出会话密钥K=YAXB mod q。
在Diffie-Hellman密钥交换算法中,需要进行大素数的相关运算。这对计算设备或算法有相当高的要求。
发明内容
本发明的目的在于克服现有技术的不足,提供一种不需要进行大素数的相关运算,能够降低对计算设备及算法的要求,同时可以获得足够加密强度的会话密钥生成系统。本发明的第二个目的在于提供一种使用上述会话密钥生成系统生成会话密钥的方法。
本发明的第一个目的通过以下技术方案予以实现:
本发明提供的一种会话密钥生成系统,包括可相互通信的终端用户和密钥生成装置,其特征在于:所述的密钥生成装置包括初始方阵生成装置和方阵计算装置,各终端用户与初始方阵生成装置和方阵计算装置对应的端口连接;所述初始方阵生成装置包括:
用于存储控制参数和计算中用到的各个方阵的生成存储器;
用于计算处理各参数以生成初始方阵的生成处理器,包括用于产生随机数序列的伪随机数发生模块、用于对初始方阵进行多次乘法处理的方阵乘法处理模块和用于检测初始方阵计算结果的方阵检测处理模块;
所述方阵计算装置包括:
用于存储控制参数和计算中用到的各个方阵的计算存储器;
用于计算处理各参数和方阵以得到输出方阵及密钥的计算处理器,包括用于产生随机数序列的伪随机数发生模块和用于对输入方阵进行多次乘法处理的方阵乘法处理模块。
本发明所述生成存储器存储的参数有方阵阶数N和方阵计算参数q,方阵有初始方阵Z0。所述计算存储器存储的参数有方阵阶数N、方阵计算参数q和终端用户的私钥SK,方阵有输入方阵和输出方阵。
本发明使用方阵乘法处理模块通过方阵乘法代替Diffie-Hellman算法中的幂运算,方阵的幂运算不涉及大模数运算,同时能实现单向运算,降低了对计算设备及算法的要求。需要建立对话的双方用户可以各自向密钥生成装置输入相关的参数和方阵进行单向运算,得到各自的输出方阵。然后将其输出方阵发送给对方,双方用户利用对方的输出方阵及相关的参数便可得到会话密钥。
本发明的第二个目的通过以下技术方案予以实现:
本发明提供的一种会话密钥的生成方法,其特征在于:使用权利要求1所述的会话密钥生成系统,包括以下步骤:
a、终端用户A向初始方阵生成装置输入方阵阶数N及方阵计算参数q,经生成处理器的方阵乘法处理模块和方阵检测处理模块生成符合要求的初始方阵Z0;
b、由方阵计算装置中的伪随机数发生模块为终端用户A产生其私钥SKA;
c、终端用户A将方阵阶数N、方阵计算参数q、初始方阵Z0和私钥SKA输入方阵计算装置,经计算处理器的方阵乘法处理模块通过YA=Z0SKA计算生成终端用户A的输出方阵YA;
d、终端用户A将输出方阵YA发送给终端用户B;
e、由方阵计算装置中的伪随机数发生模块为终端用户B产生其私钥SKB;
f、终端用户B将方阵阶数N、方阵计算参数q、初始方阵Z0和私钥SKB输入方阵计算装置,经计算处理器的方阵乘法处理模块通过YB=Z0SKB计算生成终端用户B的输出方阵YB;
g、终端用户B将输出方阵YB发送给终端用户A;
h、终端用户A将方阵阶数N、方阵计算参数q、方阵YB和私钥SKA输入方阵计算装置,方阵乘法处理模块通过TK=YBSKA计算生成会话密钥TK;
i、终端用户B将方阵阶数N、方阵计算参数q、方阵YA和私钥SKB输入方阵计算装置,方阵乘法处理模块通过TK=YASKB计算生成会话密钥TK。
本发明会话密钥的生成方法中所述方阵乘法处理模块采用如下运算得到所需方阵: c ( i , j ) = ( Σ K = 1 N a ( i , k ) * b ( k , j ) ) mod q , 其中q为方阵计算参数且为整数。
上述方法不需要进行大素数的相关运算,但可以获得足够的加密强度,同时一次交换后可以获得一个会话密钥序列。
本发明的第二个目的也可以通过以下技术方案予以实现:
本发明提供的一种会话密钥的生成方法,其特征在于:使用权利要求1所述的会话密钥生成系统,包括以下步骤:
a、由密钥分配中心经初始方阵生成装置确定一初始方阵Z0,每个终端用户由方阵计算装置中的伪随机数发生模块设置一私钥SK,经方阵计算装置中的方阵乘法处理模块通过KU=Z0SK计算得到每个终端用户的公钥KU,并由密钥分配中心记录每个终端用户的公钥KU;
b、终端用户A想与终端用户B约定一会话密钥,首先通过密钥分配中心取得初始方阵Z0和终端用户B的公钥KUB,并由伪随机数发生模块选一随机数D,将方阵阶数N、方阵计算参数q、随机数D、初始方阵Z0、私钥SKA和终端用户B的公钥KUB输入方阵计算装置,经方阵计算装置中的方阵乘法处理模块通过计算Y1=Z0D和TK=KUB(D+SKA)得到输出方阵Y1和会话密钥TK;
c、终端用户A然后将输出方阵Y1发送给用户B;
d、终端用户B接到终端用户A的输出方阵Y1后,通过密钥分配中心取得终端用户A的公钥KUA,将方阵阶数N、方阵计算参数q、私钥SKB和终端用户A的公钥KUA输入方阵计算装置,经方阵计算装置中的方阵乘法处理模块通过计算TK=(Y1×KUA)SKB得到会话密钥TK。
本发明会话密钥的生成方法中所述方阵乘法处理模块采用如下运算得到所需方阵: c ( i , j ) = ( Σ K = 1 N a ( i , k ) * b ( k , j ) ) mod q , 其中q为方阵计算参数且为整数。
这一方法适用于用户间通讯次数少的情况,同时可以达到“一次一密”、保密、及确定接收、发送者的作用。
此外,本发明还可以与对称加密算法构造混合加密系统,构造出的混合加密系统具备加密、签名、认证的功能。
本发明具有以下有益效果:不需要进行大素数的相关运算,对计算设备及算法的要求低,用户可以进行单向运算,同时可以获得足够的加密强度。可以根据使用情况的不同,如用户间通讯次数较多或较少,选择不同的会话密钥生成方法,使用灵活方便。
附图说明
下面将结合实施例和附图对本发明作进一步的详细描述:
图1是本发明实施例之一中初始方阵生成装置的原理框图;
图2是本发明实施例之一中方阵计算装置的原理框图;
图3是本发明实施例之一的操作流程框图;
图4是本发明实施例之二的操作流程框图。
具体实施方式
实施例一:
图1~图3所示为本发明的实施例之一,会话密钥生成系统包括可相互通信的终端用户和密钥生成装置,其中密钥生成装置包括初始方阵生成装置和方阵计算装置,各终端用户与初始方阵生成装置和方阵计算装置对应的端口连接。
初始方阵生成装置如图1所示包括:
用于存储控制参数和计算中用到的各个方阵的生成存储器101,其存储的参数有方阵阶数N和方阵计算参数q,方阵有初始方阵Z0;
用于计算处理各参数以生成初始方阵的生成处理器102,包括用于产生随机数序列的伪随机数发生模块103、用于对初始方阵Z0进行多次乘法处理的方阵乘法处理模块104和用于检测初始方阵Z0计算结果的方阵检测处理模块105;
方阵计算装置200如图2所示包括:
用于存储控制参数和计算中用到的各个方阵的计算存储器201,其存储的参数有方阵阶数N、方阵计算参数q和终端用户的私钥SK,方阵有输入方阵IN和输出方阵OUT;
用于计算处理各参数和方阵以得到输出方阵及密钥的生成处理器202,包括用于产生随机数序列的伪随机数发生模块203和用于对输入方阵进行多次乘法处理的方阵乘法处理模块204。
伪随机数发生模块203产生的随机数序列可以是私钥SK和随机数D。
本实施例的生成处理器102与计算处理器202可以用普通计算机的微处理器,生成存储器101与计算存储器201可以用计算机的各种类型存储器。本实施例的系统也可以采用在软件控制下用于实现密钥交换的各种功能的计算机,软件放在计算机的一个存储器中。
本实施例的会话密钥生成方法,如图3所示,使用上述会话密钥生成系统,包括以下步骤:
a、终端用户A向初始方阵生成装置100输入方阵阶数N及方阵计算参数q,经生成处理器102的方阵乘法处理模块104和方阵检测处理模块105生成符合要求的初始方阵Z0;
b、由方阵计算装置200中的伪随机数发生模块103、203为终端用户A产生其私钥SKA<加密强度Q。;
c、终端用户A将方阵阶数N、方阵计算参数q、初始方阵Z0和私钥SKA输入方阵计算装置200,经计算处理器的方阵乘法处理模块204通过YA=Z0SKA计算生成终端用户A的输出方阵OUT为YA;
d、终端用户A将输出方阵YA发送给终端用户B;
e、由方阵计算装置200中的伪随机数发生模块203为终端用户B产生其私钥SKB<加密强度Q;
f、终端用户B将方阵阶数N、方阵计算参数q、初始方阵Z0和私钥SKB输入方阵计算装置200,经计算处理器的方阵乘法处理模块204通过YB=Z0SKB计算生成终端用户B的输出方阵OUT为YB;
g、终端用户B将输出方阵YB发送给终端用户A;
h、终端用户A将方阵阶数N、方阵计算参数q、方阵YB和私钥SKA输入方阵计算装置200,方阵乘法处理模块204通过TK=YBSKA计算生成会话密钥TK;
i、终端用户B将方阵阶数N、方阵计算参数q、方阵YA和私钥SKB输入方阵计算装置200,方阵乘法处理模块204通过TK=YASKB计算生成会话密钥TK。
方阵乘法处理模块204采用如下运算得到所需方阵:
c ( i , j ) = ( Σ K = 1 N a ( i , k ) * b ( k , j ) ) mod q , 其中q为方阵计算参数且为整数。
上述方法的步骤a中选择符合要求的全局公开方阵Z0可以有两种方法。
一种方法是随机确定一方阵Z0,然后验算XA×A是否符合要求(不出现0行、0列),A与系统的加密强度有关。步骤为:
1、选取一N阶方阵Z0。
2、令X=Z0。
3、计算Y=X*X。
4、令X=Y,返回3。如此多次,直到系统获得足够的加密强度。
5、检测方阵Y是否含有0行或0列,如果含有0行或0列则返回1。
系统的加密强度Q与第3步重复次数M的关系为:Q=2M/2
另一种方法是:
1、先确定一含0行或0列的方阵Y。
2、解Z0*Z0=Y。得到一不含0行与0列的正整数方阵。
3、令Y=Z0,返回2。如此多次,直到系统获得足够的加密强度。
本发明不需要进行大素数的模运算,但可以获得足够的加密强度,同时一次交换后可以获得一个会话密钥序列。一次密钥交换过程可以确定含N×N个元素的会话密钥匙。
实施例二:
图4所示为本发明的实施例之二,与实施例一不同之处在于:
包括以下步骤:
a、由密钥分配中心经初始方阵生成装置100确定一初始方阵Z0,每个终端用户由方阵计算装置200中的伪随机数发生模块203设置一私钥SK<加密强度Q,经方阵计算装置中的方阵乘法处理模块204通过KU=Z0SK计算得到每个终端用户的公钥KU,并由密钥分配中心记录每个终端用户的公钥KU;
b、终端用户A想与终端用户B约定一会话密钥,首先通过密钥分配中心取得初始方阵Z0和终端用户B的公钥KUB,并由伪随机数发生模块选一随机数D<加密强度Q,将方阵阶数N、方阵计算参数q、随机数D、初始方阵Z0、私钥SKA和终端用户B的公钥KUB输入方阵计算装置200,经方阵计算装置中的方阵乘法处理模块204通过计算Y1=Z0D和TK=KUB(D+SKA)得到输出方阵OUT为Y1和会话密钥TK;
c、终端用户A然后将输出方阵Y1发送给用户B;
d、终端用户B接到终端用户A的输出方阵Y1后,通过密钥分配中心取得终端用户A的公钥KUA,将方阵阶数N、方阵计算参数q、私钥SKB和终端用户A的公钥KUA输入方阵计算装置200,经方阵计算装置中的方阵乘法处理模块204通过计算TK=(Y1×KUA)SKB得到会话密钥TK。
这一方法适用于用户间通讯次数少的情况,同时可以达到“一次一密”、保密、及确定接收、发送者的作用。

Claims (7)

1、一种会话密钥生成系统,包括可相互通信的终端用户和密钥生成装置,其特征在于:所述的密钥生成装置包括初始方阵生成装置(100)和方阵计算装置(200),各终端用户与初始方阵生成装置(100)和方阵计算装置(200)对应的端口连接;所述初始方阵生成装置(100)包括:
用于存储控制参数和计算中用到的各个方阵的生成存储器(101);
用于计算处理各参数以生成初始方阵的生成处理器(102),包括用于产生随机数序列的伪随机数发生模块(103)、用于对初始方阵进行多次乘法处理的方阵乘法处理模块(104)和用于检测初始方阵计算结果的方阵检测处理模块(105);
所述方阵计算装置(200)包括:
用于存储控制参数和计算中用到的各个方阵的计算存储器(201);
用于计算处理各参数和方阵以得到输出方阵及密钥的计算处理器(202),包括用于产生随机数序列的伪随机数发生模块(203)和用于对输入方阵进行多次乘法处理的方阵乘法处理模块(204)。
2、根据权利要求1所述的会话密钥生成系统,其特征在于:所述生成存储器(101)存储的参数有方阵阶数N和方阵计算参数q,方阵有初始方阵Z0。
3、根据权利要求1所述的会话密钥生成系统,其特征在于:所述计算存储器(102)存储的参数有方阵阶数N、方阵计算参数q和终端用户的私钥SK,方阵有输入方阵和输出方阵。
4、一种会话密钥的生成方法,其特征在于:使用权利要求1所述的会话密钥生成系统,包括以下步骤:
a、终端用户A向初始方阵生成装置(100)输入方阵阶数N及方阵计算参数q,经生成处理器的方阵乘法处理模块(104)和方阵检测处理模块(105)生成符合要求的初始方阵Z0;
b、由方阵计算装置(200)中的伪随机数发生模块(203)为终端用户A产生其私钥SKA;
c、终端用户A将方阵阶数N、方阵计算参数q、初始方阵Z0和私钥SKA输入方阵计算装置(200),经计算处理器的方阵乘法处理模块(204)通过YA=Z0SKA计算生成终端用户A的输出方阵YA;
d、终端用户A将输出方阵YA发送给终端用户B;
e、由方阵计算装置(200)中的伪随机数发生模块(203)为终端用户B产生其私钥SKB;
f、终端用户B将方阵阶数N、方阵计算参数q、初始方阵Z0和私钥SKB输入方阵计算装置(200),经计算处理器的方阵乘法处理模块(204)通过YB=Z0SKB计算生成终端用户B的输出方阵YB;
g、终端用户B将输出方阵YB发送给终端用户A;
h、终端用户A将方阵阶数N、方阵计算参数q、方阵YB和私钥SKA输入方阵计算装置(200),方阵乘法处理模块(204)通过TK=YBSKA计算生成会话密钥TK;
i、终端用户B将方阵阶数N、方阵计算参数q、方阵YA和私钥SKB输入方阵计算装置(200),方阵乘法处理模块(204)通过TK=YASKB计算生成会话密钥TK。
5、根据权利要求4所述的会话密钥的生成方法,其特征在于:所述方阵乘法处理模块(204)采用如下运算得到所需方阵: c ( i , j ) = ( Σ K = 1 N a ( i , k ) * b ( k , j ) ) mod q , 其中q为方阵计算参数且为整数。
6、一种会话密钥的生成方法,其特征在于:使用权利要求1所述的会话密钥生成系统,包括以下步骤:
a、由密钥分配中心经初始方阵生成装置(100)确定一初始方阵Z0,每个终端用户由方阵计算装置(200)中的伪随机数发生模块(203)设置一私钥SK,经方阵计算装置中的方阵乘法处理模块(204)通过KU=Z0SK计算得到每个终端用户的公钥KU,并由密钥分配中心记录每个终端用户的公钥KU;
b、终端用户A想与终端用户B约定一会话密钥,首先通过密钥分配中心取得初始方阵Z0和终端用户B的公钥KUB,并由伪随机数发生模块(203)选一随机数D,将方阵阶数N、方阵计算参数q、随机数D、初始方阵Z0、私钥SKA和终端用户B的公钥KUB输入方阵计算装置,经方阵计算装置中的方阵乘法处理模块(204)通过计算Y1=Z0D和TK=KUB(D+SKA)得到输出方阵Y1和会话密钥TK;
c、终端用户A然后将输出方阵Y1发送给用户B;
d、终端用户B接到终端用户A的输出方阵Y1后,通过密钥分配中心取得终端用户A的公钥KUA,将方阵阶数N、方阵计算参数q、私钥SKB和终端用户A的公钥KUA输入方阵计算装置,经方阵计算装置中的方阵乘法处理模块(204)通过计算TK=(Y1×KUA)SKB得到会话密钥TK。
7、根据权利要求6所述的会话密钥的生成方法,其特征在于:所述方阵乘法处理模块(204)采用如下运算得到所需方阵: c ( i , j ) = ( Σ K = 1 N a ( i , k ) * b ( k , j ) ) mod q , 其中q为方阵计算参数且为整数。
CN 200510033953 2005-04-05 2005-04-05 一种会话密钥生成系统及其生成方法 Pending CN1674493A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200510033953 CN1674493A (zh) 2005-04-05 2005-04-05 一种会话密钥生成系统及其生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200510033953 CN1674493A (zh) 2005-04-05 2005-04-05 一种会话密钥生成系统及其生成方法

Publications (1)

Publication Number Publication Date
CN1674493A true CN1674493A (zh) 2005-09-28

Family

ID=35046783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200510033953 Pending CN1674493A (zh) 2005-04-05 2005-04-05 一种会话密钥生成系统及其生成方法

Country Status (1)

Country Link
CN (1) CN1674493A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807997A (zh) * 2010-04-28 2010-08-18 中国工商银行股份有限公司 一种生成传输密钥的装置及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807997A (zh) * 2010-04-28 2010-08-18 中国工商银行股份有限公司 一种生成传输密钥的装置及方法

Similar Documents

Publication Publication Date Title
CN1144418C (zh) 用于鉴别第一实体和第二实体的方法和装置
CN101079701A (zh) 高安全性的椭圆曲线加解密方法和装置
CN109450640B (zh) 基于sm2的两方签名方法及系统
CN1251715A (zh) 有限域离散对数密码系统的割圆多项式结构
EP3793129A1 (en) Key exchange system, method, and apparatus
CN1773905A (zh) 在安全通信系统中生成匿名公钥的方法、设备和系统
CN1889433A (zh) 基于隐式公钥证书的双方认证密钥协商方法及系统
CN1859090A (zh) 一种基于身份的密码方法和系统
CN1801693A (zh) 分组加密算法中对短分组的处理方法
CN104868993A (zh) 一种基于证书的两方认证密钥协商方法及系统
CN100338906C (zh) 共享密钥生成装置、密钥交换装置以及密钥交换方法
CN1545242A (zh) 一种基于辫群共轭问题的数字签名方法
CN104410496B (zh) 多接收者密钥封装方法
CN1601957A (zh) 一种进行组密钥分发的方法
CN1674493A (zh) 一种会话密钥生成系统及其生成方法
CN1464678A (zh) 基于半群上离散对数问题的数字签名及验证的方法
Mullan Cryptanalysing variants of Stickel's key agreement scheme
CN1697374A (zh) 密钥数据收发方法及其密钥数据分发装置和接收装置
US20100150343A1 (en) System and method for encrypting data based on cyclic groups
CN101079203A (zh) 椭圆曲线密码系统和方法
Kumar et al. Evaluation of Cryptographically Secure Pseudo Random Number Generators for Post Quantum Era
CN104468100A (zh) 改进的滑动窗口模幂计算方法
CN1946020A (zh) 安全高效率的椭圆曲线加解密参数
RU2009135795A (ru) Способ и устройство генерации сжатого rsa модуля
CN1694397A (zh) 构造序列密码的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20050928

C20 Patent right or utility model deemed to be abandoned or is abandoned