条件分布转化编码方法及加密方法与相关技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图片简介:
本技术公布了一种条件分布转化编码方法及低熵密钥下的加密方法,通过构建条件分布转化编码器,计算并存储种子区间表,对与条件X相关的消息M进行编码;然后利用传统方法进行加密;能够实现对与某些已知信息相关的消息进行编码并加密,从而抵抗已知信息的攻击者,提高加密的安全性。
技术要求
1.一种基于条件分布转化编码器的编码方法,通过构建条件分布转化编码器,对与条件X 相关的消息M进行编码;所述条件为密钥或与消息相关的已知信息;Mi为消息空
间中的第i个消息;
包括如下步骤:
A.计算并存储种子区间表,构建得到条件分布转化编码器;具体执行如下操作:
A1.对任意条件X,利用条件概率函数依次计算得到每个消息Mi的在条件X下的条件概率Pr(Mi|X);条件概率函数Pr(Mi|X)表示在条件为X时消息为Mi的条件概率;
A2.利用累积条件分布函数依次计算每个消息Mi的累积条件分布函数值F(Mi|X);所有消息的累积条件分布函数值构成累积条件分布函数表;累积条件分布函数表示为:
A3.对累积条件分布函数表进行离散化,得到种子区间表,作为条件分布转化编码器,用于进行编码和解码;
B.在条件X下,采用步骤A得到的条件分布转化编码器对消息M进行编码,得到对应的种子S;具体过程如下:
B1.依据条件X查找对应的种子区间表;
B2.查找种子区间表中M对应的种子区间,在该种子区间内随机生成一个二进制数S,作为种子;
C.在条件X下,条件分布转化编码器对步骤B得到的种子S进行解码,得到对应的消息M;过程如下:
C1.依据条件X查找对应的种子区间表;
C2.在种子区间表中查找种子S所对应的种子区间,由此找到该种子区间对应的消息M;通过上述步骤,实现基于条件分布转化编码器的消息编码和解码。
2.如权利要求1所述基于条件分布转化编码器的编码方法,其特征是,步骤A3通过离散化得到种子区间表,具体执行如下操作:
将累积条件分布函数表中的累积条件分布函数值利用函数roundl转化为二进制数;该二进制数即为每个消息对应的种子区间上界;函数roundl表示为:
roundl(x)=round(2lx)
其中,x为累积条件分布函数值;round(x)表示离x最近的整数;l为存储参数,二进制数的长度;种子空间为所有的长度为l的二进制比特串即二进制数区间[0,2l)上的整数;
每个消息的种子区间下界为前一消息的种子区间上界加1;第一个消息的种子区间下界为0;
种子区间表只需存储每个消息对应的种子区间上界;
由此得到种子区间表。
3.如权利要求1所述基于条件分布转化编码器的编码方法,其特征是,对于历史密文,所述条件X为历史明文,通过使用正确的密钥对历史密文进行解密得到历史明文;对于与密钥相关的消息,所述条件X为密钥。
4.一种基于条件分布转化编码器的低熵密钥加密方法,利用基于条件分布转化编码器的编码方法,在低熵密钥下进行加密;包括如下步骤:
1)加密过程:
1a)输入明文消息M、条件X及密钥K,先利用条件分布转化编码方法在条件X下编码消息M,得到种子S;所述条件为与消息M相关的已知信息;
所述条件分布转化编码方法首先计算并存储种子区间表,构建得到条件分布转化编码器;然后,在条件X下,采用条件分布转化编码器对消息M进行编码,得到对应的种子S;
1b)利用密钥K对种子S利用加密方法进行加密,得到密文C;
2)解密过程:
2a)对输入的密文C、密钥K和条件X,先利用密钥K对密文C利用加密方法进行解密,得到种子S;
2b)再利用条件分布转化编码器对种子S在条件X下进行解码,得到消息M。
5.如权利要求4所述的低熵密钥加密方法,其特征是,所述条件分布转化编码方法首先计算并存储种子区间表,构建得到条件分布转化编码器;具体执行如下操作:
A1.对任意条件X,利用条件概率函数依次计算得到每个消息Mi的在条件X下的条件概率Pr(Mi|X);条件概率函数Pr(Mi|X)表示在条件为X时消息为Mi的条件概率;
A2.利用累积条件分布函数依次计算每个消息Mi的累积条件分布函数值F(Mi|X);所有消息的累积条件分布函数值构成累积条件分布函数表;累积条件分布函数表示为:
A3.对累积条件分布函数表进行离散化,得到种子区间表,作为条件分布转化编码器,用于进行编码和解码。
6.如权利要求4所述的低熵密钥加密方法,其特征是,采用条件分布转化编码器对消息M 进行编码,具体过程如下:
B1.依据条件X查找对应的种子区间表;
B2.查找种子区间表中M对应的种子区间,在该种子区间内随机生成一个二进制数S,作为种子。
7.如权利要求4所述的低熵密钥加密方法,其特征是,采用条件分布转化编码器对种子S进行解码,具体过程如下:
C1.依据条件X查找对应的种子区间表;
C2.在种子区间表中查找种子S所对应的种子区间,由此找到该种子区间对应的消息M。
8.如权利要求4所述的低熵密钥加密方法,其特征是,步骤1)和步骤2)所述加密方法为基于口令加密,只需加密方法对任意密钥均能解密成功即可。
9.如权利要求4所述的低熵密钥加密方法,其特征是,步骤1)和步骤2)所述加密方法具体采用PBKDF2对密钥K进行扩展,得到长密钥,再采用AES在CTR模式下使用长密钥对S进行加密。
技术说明书
一种条件分布转化编码方法及加密方法
技术领域
本技术涉及计算机信息安全技术领域,具体涉及一种条件分布转化编码方法及在低熵密钥(如口令)下的消息加密方法。
背景技术
由于人类记忆的限制,由用户生成和记忆的口令呈现低熵性质。与一般加密算法的随机长密钥不同,用户的口令通常是一串有意义的字符,容易被猜测攻击。因此,传统的基于口令加密算法(PKCS#5),一旦密文泄漏,攻击者可以通过对密钥(即口令)进行暴力猜测来获得消息/明文。