本发明属于信息安全技术领域,涉及一种对发射功率起伏不敏感的大气湍流光信道共享随机比特提取方法。
背景技术:
申请号为201811370939.1的一件中国发明专利公开了一种从大气湍流光信号衰落中提取共享随机比特的方法。成功实施该方法的一个关键前提是,确保激光收发端机a和激光收发端机b之间的双向光传输信道具有良好互易性,即确保激光收发端机a和激光收发端机b接收到的光信号起伏具有良好的相关性。为了满足这一要求,除了按照《opticsexpress》2018年26卷13期16422~16441页论文描述的方式(即用ctsmc收发模式)保证激光收发端机a和激光收发端机b之间的双向传输信道是互易的外,实际上还要求激光收发端机a和激光收发端机b的发射功率稳定。为了获得稳定的发射功率,激光收发端机a和激光收发端机b需要对其使用的激光器进行专门的控制处理。例如,济南大学的陈颖于2013年完成的硕士学位论文《光纤输出稳定激光光源的控制系统研发》就对激光器输出功率稳定控制方法作过叙述。
对于大气湍流光传输信道,可以定义功率透射率时间函数为在t时刻的接收光功率与发射光功率之比。令在t时刻,从激光收发端机a到激光收发端机b的光传输信道的功率透射率为hab(t),令在t时刻,从激光收发端机b到激光收发端机a的光传输信道的功率透射率为hba(t)。很明显有:0≤hab(t)≤1,0≤hba(t)≤1。由于大气湍流扰动的影响,hab(t)和hba(t)都随时间的变化而起伏。如果激光收发端机a和激光收发端机b之间的双向光传输信道完全互易,则hab(t)=hba(t);可以把双向大气湍流光传输信道的功率透射率起伏看作是被激光收发端机a和激光收发端机b共享的随机源,激光收发端机a和激光收发端机b可以从中提取共享随机比特,用作信息加密/解密操作所需的共享密钥。
如果激光收发端机a和激光收发端机b没有对其使用的激光器进行专门的输出功率稳定控制,则它们的发射功率将随时间发生变化。在此,把激光收发端机a在t时刻的发射功率记作
注意到,如果在激光收发端机a中实时探测出
技术实现要素:
本发明的目的在于,提供一种对发射功率起伏不敏感的大气湍流光信道共享随机比特提取方法,以便实现在激光收发端机的发射功率不稳定的情况下能很好地从大气湍流光信道中提取共享随机比特。
本方法的技术方案是这样实现的:对发射功率起伏不敏感的大气湍流光信道共享随机比特提取方法,其特征在于,所需的硬件系统和执行操作如下:
需要激光收发端机a和激光收发端机b,激光收发端机a和激光收发端机b相互通视。激光收发端机a包括激光器a、光纤分光器a、收发光学系统a、探测器a0、探测器a1和计算机a。激光收发端机b包括激光器b、光纤分光器b、收发光学系统b、探测器b0、探测器b1和计算机b。如图1所示,激光器a发出的激光信号经光纤分光器a分光后,一部分进入收发光学系统a并发射到大气湍流信道中,另一部分则入射到探测器a0上;激光器a发出的经大气湍流信道传输后到达收发光学系统b的那部分激光信号被收发光学系统b接收后入射到探测器b1上;如图1所示,激光器b发出的激光信号经光纤分光器b分光后,一部分进入收发光学系统b并发射到大气湍流信道中,另一部分则入射到探测器b0上;激光器b发出的经大气湍流信道传输后到达收发光学系统a的那部分激光信号被收发光学系统a接收后入射到探测器a1上;探测器a0和探测器a1输出的电信号都传送给计算机a,计算机a实时采集探测器a0输出的电信号和探测器a1输出的电信号。探测器b0和探测器b1输出的电信号都传送给计算机b,计算机b实时采集探测器b0输出的电信号和探测器b1输出的电信号。
本方法的实现分成三个部分,分别是第一部分、第二部分和第三部分。
1)本方法的第一部分使激光收发端机a和激光收发端机b正常工作,具体包括以下操作:
使激光器a和激光器b正常工作,使探测器a0、探测器a1、探测器b0和探测器b1正常工作,使计算机a和计算机b正常工作,使收发光学系统a和收发光学系统b相互对准并正常工作。
2)本方法的第二部分实现对探测器a0、探测器a1、探测器b0和探测器b1输出的电信号的采样和量化,具体包括操作s1和操作s2:
s1:在从时刻tb到时刻te的时间段内,计算机a每隔时间间隔δs就分别对探测器a0和探测器a1输出的电信号进行一次采样和量化。把每次对探测器a0输出的电信号执行采样和量化操作得到的采样值保存在计算机a的存储器中,形成采样值序列lista0,采样值序列lista0的第一个采样值是对探测器a0输出的电信号进行第一次采样和量化得到的采样值,采样值序列lista0的第二个采样值是对探测器a0输出的电信号进行第二次采样和量化得到的采样值,以此类推;把每次对探测器a1输出的电信号执行采样和量化操作得到的采样值保存在计算机a的存储器中,形成采样值序列lista1,采样值序列lista1的第一个采样值是对探测器a1输出的电信号进行第一次采样和量化得到的采样值,采样值序列lista1的第二个采样值是对探测器a1输出的电信号进行第二次采样和量化得到的采样值,以此类推;
s2:在从时刻tb到时刻te的时间段内,计算机b每隔时间间隔δs就分别对探测器b0和探测器b1输出的电信号进行一次采样和量化。把每次对探测器b0输出的电信号执行采样和量化操作得到的采样值保存在计算机b的存储器中,形成采样值序列listb0,采样值序列listb0的第一个采样值是对探测器b0输出的电信号进行第一次采样和量化得到的采样值,采样值序列listb0的第二个采样值是对探测器b0输出的电信号进行第二次采样和量化得到的采样值,以此类推;把每次对探测器b1输出的电信号执行采样和量化操作得到的采样值保存在计算机b的存储器中,形成采样值序列listb1,采样值序列listb1的第一个采样值是对探测器b1输出的电信号进行第一次采样和量化得到的采样值,采样值序列listb1的第二个采样值是对探测器b1输出的电信号进行第二次采样和量化得到的采样值,以此类推。
3)本方法的第三部分根据采样值序列lista0、采样值序列lista1、采样值序列listb0、采样值序列listb1提取比特序列,具体包括以下执行步骤:
步骤step301:在计算机a中,针对采样值序列lista1中的第i个采样值,i=1,2,3,…,num,num表示采样值序列lista1中的采样值个数,令sa=la1[i]×la0[i]/ma0,la1[i]表示采样值序列lista1中的第i个采样值,la0[i]表示采样值序列lista0中的第i个采样值,ma0表示采样值序列lista0中的最大采样值,把采样值序列lista1中的第i个采样值的值更新为sa;
步骤step302:在计算机b中,针对采样值序列listb1中的第j个采样值,j=1,2,3,…,num,令sb=lb1[j]×lb0[j]/mb0,lb1[j]表示采样值序列listb1中的第j个采样值,lb0[j]表示采样值序列listb0中的第j个采样值,mb0表示采样值序列listb0中的最大采样值,把采样值序列listb1中的第j个采样值的值更新为sb;
步骤step303:针对采样值序列lista1中的第i个采样值,i=1,2,3,…,num,如果采样值序列lista1中的第i个采样值大于判决阈值ta,则计算机a从采样值序列lista1中提取的第i个比特为1,否则计算机a从采样值序列lista1中提取的第i个比特为0;
步骤step304:针对采样值序列listb1中的第j个采样值,j=1,2,3,…,num,如果采样值序列listb1中的第j个采样值大于判决阈值tb,则计算机b从采样值序列listb1中提取的第j个比特为1,否则计算机b从采样值序列listb1中提取的第j个比特为0;
步骤step305:利用量子密钥分配后处理中的误码估计、密钥协商、错误校验技术纠正计算机a提取的包含num个比特的比特序列与计算机b提取的包含num个比特的比特序列中的不一致比特,使得计算机a和计算机b拥有相同的比特序列。
本发明的积极效果:本发明用激光器输出功率起伏的采样值乘以接收光信号起伏的采样值,以获得如背景技术部分所述的共享随机源
附图说明
图1为从大气湍流光传输信道中提取共享随机比特的系统硬件结构示意图。
具体实施方式
为了使本方法的特征和优点更加清楚明白,下面结合具体实施例对本方法作进一步的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。在本实施例中,激光收发端机a和激光收发端机b分别位于两栋高楼的屋顶,激光收发端机a的计算机a和激光收发端机b的计算机b都接入到互联网上,计算机a和计算机b可以通过互联网相互通信,以便通过互联网信道执行误码估计、密钥协商、错误校验操作。发表在《密码学报》2015年2卷2期113~121页的论文对误码估计、密钥协商、错误校验操作有详细的介绍。收发光学系统a和收发光学系统b使用《opticsexpress》2018年26卷13期16422~16441页论文描述的方式保证激光收发端机a和激光收发端机b之间的双向传输信道是互易的。探测器a0、探测器a1、探测器b0和探测器b1为pin光电探测器。图1中的激光器a与光纤分光器a之间用单模光纤连接,光纤分光器a与收发光学系统a之间用单模光纤连接,光纤分光器a与探测器a0之间用单模光纤连接,收发光学系统a与探测器a1之间用单模光纤连接,激光器b与光纤分光器b之间用单模光纤连接,光纤分光器b与收发光学系统b之间用单模光纤连接,光纤分光器b与探测器b0之间用单模光纤连接,收发光学系统b与探测器b1之间用单模光纤连接。
本方法的技术方案是这样实现的:对发射功率起伏不敏感的大气湍流光信道共享随机比特提取方法,其特征在于,所需的硬件系统和执行操作如下:
需要激光收发端机a和激光收发端机b,激光收发端机a和激光收发端机b相互通视。激光收发端机a包括激光器a、光纤分光器a、收发光学系统a、探测器a0、探测器a1和计算机a。激光收发端机b包括激光器b、光纤分光器b、收发光学系统b、探测器b0、探测器b1和计算机b。如图1所示,激光器a发出的激光信号经光纤分光器a分光后,一部分进入收发光学系统a并发射到大气湍流信道中,另一部分则入射到探测器a0上;激光器a发出的经大气湍流信道传输后到达收发光学系统b的那部分激光信号被收发光学系统b接收后入射到探测器b1上;如图1所示,激光器b发出的激光信号经光纤分光器b分光后,一部分进入收发光学系统b并发射到大气湍流信道中,另一部分则入射到探测器b0上;激光器b发出的经大气湍流信道传输后到达收发光学系统a的那部分激光信号被收发光学系统a接收后入射到探测器a1上;探测器a0和探测器a1输出的电信号都传送给计算机a,计算机a实时采集探测器a0输出的电信号和探测器a1输出的电信号。探测器b0和探测器b1输出的电信号都传送给计算机b,计算机b实时采集探测器b0输出的电信号和探测器b1输出的电信号。
本方法的实现分成三个部分,分别是第一部分、第二部分和第三部分。
1)本方法的第一部分使激光收发端机a和激光收发端机b正常工作,具体包括以下操作:
使激光器a和激光器b正常工作,使探测器a0、探测器a1、探测器b0和探测器b1正常工作,使计算机a和计算机b正常工作,使收发光学系统a和收发光学系统b相互对准并正常工作。
2)本方法的第二部分实现对探测器a0、探测器a1、探测器b0和探测器b1输出的电信号的采样和量化,具体包括操作s1和操作s2:
s1:在从时刻tb到时刻te的时间段内,计算机a每隔时间间隔δs就分别对探测器a0和探测器a1输出的电信号进行一次采样和量化。把每次对探测器a0输出的电信号执行采样和量化操作得到的采样值保存在计算机a的存储器中,形成采样值序列lista0,采样值序列lista0的第一个采样值是对探测器a0输出的电信号进行第一次采样和量化得到的采样值,采样值序列lista0的第二个采样值是对探测器a0输出的电信号进行第二次采样和量化得到的采样值,以此类推;把每次对探测器a1输出的电信号执行采样和量化操作得到的采样值保存在计算机a的存储器中,形成采样值序列lista1,采样值序列lista1的第一个采样值是对探测器a1输出的电信号进行第一次采样和量化得到的采样值,采样值序列lista1的第二个采样值是对探测器a1输出的电信号进行第二次采样和量化得到的采样值,以此类推;
s2:在从时刻tb到时刻te的时间段内,计算机b每隔时间间隔δs就分别对探测器b0和探测器b1输出的电信号进行一次采样和量化。把每次对探测器b0输出的电信号执行采样和量化操作得到的采样值保存在计算机b的存储器中,形成采样值序列listb0,采样值序列listb0的第一个采样值是对探测器b0输出的电信号进行第一次采样和量化得到的采样值,采样值序列listb0的第二个采样值是对探测器b0输出的电信号进行第二次采样和量化得到的采样值,以此类推;把每次对探测器b1输出的电信号执行采样和量化操作得到的采样值保存在计算机b的存储器中,形成采样值序列listb1,采样值序列listb1的第一个采样值是对探测器b1输出的电信号进行第一次采样和量化得到的采样值,采样值序列listb1的第二个采样值是对探测器b1输出的电信号进行第二次采样和量化得到的采样值,以此类推。
3)本方法的第三部分根据采样值序列lista0、采样值序列lista1、采样值序列listb0、采样值序列listb1提取比特序列,具体包括以下执行步骤:
步骤step301:在计算机a中,针对采样值序列lista1中的第i个采样值,i=1,2,3,…,num,num表示采样值序列lista1中的采样值个数,令sa=la1[i]×la0[i]/ma0,la1[i]表示采样值序列lista1中的第i个采样值,la0[i]表示采样值序列lista0中的第i个采样值,ma0表示采样值序列lista0中的最大采样值,把采样值序列lista1中的第i个采样值的值更新为sa;
步骤step302:在计算机b中,针对采样值序列listb1中的第j个采样值,j=1,2,3,…,num,令sb=lb1[j]×lb0[j]/mb0,lb1[j]表示采样值序列listb1中的第j个采样值,lb0[j]表示采样值序列listb0中的第j个采样值,mb0表示采样值序列listb0中的最大采样值,把采样值序列listb1中的第j个采样值的值更新为sb;
步骤step303:针对采样值序列lista1中的第i个采样值,i=1,2,3,…,num,如果采样值序列lista1中的第i个采样值大于判决阈值ta,则计算机a从采样值序列lista1中提取的第i个比特为1,否则计算机a从采样值序列lista1中提取的第i个比特为0;
步骤step304:针对采样值序列listb1中的第j个采样值,j=1,2,3,…,num,如果采样值序列listb1中的第j个采样值大于判决阈值tb,则计算机b从采样值序列listb1中提取的第j个比特为1,否则计算机b从采样值序列listb1中提取的第j个比特为0;
步骤step305:利用量子密钥分配后处理中的误码估计、密钥协商、错误校验技术纠正计算机a提取的包含num个比特的比特序列与计算机b提取的包含num个比特的比特序列中的不一致比特,使得计算机a和计算机b拥有相同的比特序列。
在本实施例中,δs=1毫秒,tb=0毫秒,te=5000毫秒,计算机a和计算机b同时从时刻tb开始采样。判决阈值ta和判决阈值tb可以按如下方法确定:把执行完步骤step301后的采样值序列lista1的每个采样值看作一个随机观测值,在计算机a中计算采样值序列lista1的采样值的经验累积分布函数fa(x),并计算
步骤step305中的计算机a提取的包含num个比特的比特序列是在步骤step303中提取的,步骤step305中的计算机a提取的包含num个比特的比特序列的第i个比特就是步骤step303中计算机a从采样值序列lista1中提取的第i个比特,i=1,2,3,…,num。步骤step305中的计算机b提取的包含num个比特的比特序列是在步骤step304中提取的,步骤step305中的计算机b提取的包含num个比特的比特序列的第j个比特就是步骤step304中计算机b从采样值序列listb1中提取的第j个比特,j=1,2,3,…,num。
采样值序列lista1、采样值序列listb1、采样值序列lista0、采样值序列listb0都包含num个采样值。光纤分光器a把激光器a发射的激光信号的3/4的功率传送给收发光学系统a,把剩下的功率传送给探测器a0。光纤分光器b把激光器b发射的激光信号的3/4的功率传送给收发光学系统b,把剩下的功率传送给探测器b0。
1.一种对发射功率起伏不敏感的大气湍流光信道共享随机比特提取方法,其特征在于,所需的硬件系统和执行操作如下:
需要激光收发端机a和激光收发端机b,激光收发端机a和激光收发端机b相互通视;激光收发端机a包括激光器a、光纤分光器a、收发光学系统a、探测器a0、探测器a1和计算机a;激光收发端机b包括激光器b、光纤分光器b、收发光学系统b、探测器b0、探测器b1和计算机b;激光器a发出的激光信号经光纤分光器a分光后,一部分进入收发光学系统a并发射到大气湍流信道中,另一部分则入射到探测器a0上;激光器a发出的经大气湍流信道传输后到达收发光学系统b的那部分激光信号被收发光学系统b接收后入射到探测器b1上;激光器b发出的激光信号经光纤分光器b分光后,一部分进入收发光学系统b并发射到大气湍流信道中,另一部分则入射到探测器b0上;激光器b发出的经大气湍流信道传输后到达收发光学系统a的那部分激光信号被收发光学系统a接收后入射到探测器a1上;探测器a0和探测器a1输出的电信号都传送给计算机a,计算机a实时采集探测器a0输出的电信号和探测器a1输出的电信号;探测器b0和探测器b1输出的电信号都传送给计算机b,计算机b实时采集探测器b0输出的电信号和探测器b1输出的电信号;
本方法的实现分成三个部分,分别是第一部分、第二部分和第三部分;
1)本方法的第一部分使激光收发端机a和激光收发端机b正常工作,具体包括以下操作:
使激光器a和激光器b正常工作,使探测器a0、探测器a1、探测器b0和探测器b1正常工作,使计算机a和计算机b正常工作,使收发光学系统a和收发光学系统b相互对准并正常工作;
2)本方法的第二部分实现对探测器a0、探测器a1、探测器b0和探测器b1输出的电信号的采样和量化,具体包括操作s1和操作s2:
s1:在从时刻tb到时刻te的时间段内,计算机a每隔时间间隔δs就分别对探测器a0和探测器a1输出的电信号进行一次采样和量化;把每次对探测器a0输出的电信号执行采样和量化操作得到的采样值保存在计算机a的存储器中,形成采样值序列lista0,采样值序列lista0的第一个采样值是对探测器a0输出的电信号进行第一次采样和量化得到的采样值,采样值序列lista0的第二个采样值是对探测器a0输出的电信号进行第二次采样和量化得到的采样值,以此类推;把每次对探测器a1输出的电信号执行采样和量化操作得到的采样值保存在计算机a的存储器中,形成采样值序列lista1,采样值序列lista1的第一个采样值是对探测器a1输出的电信号进行第一次采样和量化得到的采样值,采样值序列lista1的第二个采样值是对探测器a1输出的电信号进行第二次采样和量化得到的采样值,以此类推;
s2:在从时刻tb到时刻te的时间段内,计算机b每隔时间间隔δs就分别对探测器b0和探测器b1输出的电信号进行一次采样和量化;把每次对探测器b0输出的电信号执行采样和量化操作得到的采样值保存在计算机b的存储器中,形成采样值序列listb0,采样值序列listb0的第一个采样值是对探测器b0输出的电信号进行第一次采样和量化得到的采样值,采样值序列listb0的第二个采样值是对探测器b0输出的电信号进行第二次采样和量化得到的采样值,以此类推;把每次对探测器b1输出的电信号执行采样和量化操作得到的采样值保存在计算机b的存储器中,形成采样值序列listb1,采样值序列listb1的第一个采样值是对探测器b1输出的电信号进行第一次采样和量化得到的采样值,采样值序列listb1的第二个采样值是对探测器b1输出的电信号进行第二次采样和量化得到的采样值,以此类推;
3)本方法的第三部分根据采样值序列lista0、采样值序列lista1、采样值序列listb0、采样值序列listb1提取比特序列,具体包括以下执行步骤:
步骤step301:在计算机a中,针对采样值序列lista1中的第i个采样值,i=1,2,3,…,num,num表示采样值序列lista1中的采样值个数,令sa=la1[i]×la0[i]/ma0,la1[i]表示采样值序列lista1中的第i个采样值,la0[i]表示采样值序列lista0中的第i个采样值,ma0表示采样值序列lista0中的最大采样值,把采样值序列lista1中的第i个采样值的值更新为sa;
步骤step302:在计算机b中,针对采样值序列listb1中的第j个采样值,j=1,2,3,…,num,令sb=lb1[j]×lb0[j]/mb0,lb1[j]表示采样值序列listb1中的第j个采样值,lb0[j]表示采样值序列listb0中的第j个采样值,mb0表示采样值序列listb0中的最大采样值,把采样值序列listb1中的第j个采样值的值更新为sb;
步骤step303:针对采样值序列lista1中的第i个采样值,i=1,2,3,…,num,如果采样值序列lista1中的第i个采样值大于判决阈值ta,则计算机a从采样值序列lista1中提取的第i个比特为1,否则计算机a从采样值序列lista1中提取的第i个比特为0;
步骤step304:针对采样值序列listb1中的第j个采样值,j=1,2,3,…,num,如果采样值序列listb1中的第j个采样值大于判决阈值tb,则计算机b从采样值序列listb1中提取的第j个比特为1,否则计算机b从采样值序列listb1中提取的第j个比特为0;
步骤step305:利用量子密钥分配后处理中的误码估计、密钥协商、错误校验技术纠正计算机a提取的包含num个比特的比特序列与计算机b提取的包含num个比特的比特序列中的不一致比特,使得计算机a和计算机b拥有相同的比特序列。
技术总结