System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及流密码,特别是涉及一种基于有限域积代数的流密码生成方法、电子设备及介质。
技术介绍
1、流密码是一种加密技术,被广泛应用于数据传输、通信领域等众多领域;流密码技术虽然在许多领域得到了广泛应用,但也存在一些问题和缺点,例如,流密码需要使用密钥来生成密钥流,因此密钥管理是一个重要的问题;安全地生成、存储和传输密钥对于系统的安全性至关重要,但密钥管理可能会受到各种攻击和威胁;如果攻击者能够预测生成的密钥流,他们就能够轻松地解密加密数据;虽然密钥流应该是伪随机的,但在某些情况下,攻击者可能会通过分析密文或其他手段来推断密钥流的模式;另外,流密码通常需要使用初始向量来初始化密钥流生成器,如果使用相同的初始向量多次加密相同的数据,就会导致安全性问题;在一些资源受限的环境下,例如,在生成伪随机数和进行加密运算时,流密码的性能开销会比较大。
技术实现思路
1、针对上述技术问题,本专利技术采用的技术方案为:
2、根据本申请的第一方面,提供了一种基于有限域积代数的流密码生成方法,所述方法包括以下步骤:
3、s100,获取原始明文密钥qt;其中,qt包括n个字节的字符。
4、s200,将qt转化为对应的二维矩阵jt;其中,jt包括n行8位的二进制串,第i行对应qt中的第i个字符;i=0,2,…,n-1。
5、s300,使用预设的初始密钥生成方法,对jt中的每一列的元素进行逐行异或处理,以得到qt对应的初始密钥k;其中,k包括一个8位二进制串,
6、s400,根据k、a1和a2,确定k对应的第一中间密钥v1和第二中间密钥v2;其中,a1和a2为预设的8×8的奇异矩阵,a1和a2不同;v1=k×a1,v2=k×a2。
7、s500,依次将v1和v2的每一位元素转化为8位的二进制串,以得到v1对应的二维矩阵h1和v2对应的二维矩阵h2;其中,h1的第r行对应于v1的第r位元素,h2的第r行对应于v2的第r位元素,r=0,1,…,7。
8、s600,根据待加密文件的大小,确定h1和h2进行积代数运算的次数num。
9、s700,对h1和h2进行num次的积代数运算,以得到待加密文件对应的流密码。
10、根据本申请的另一方面,还提供了一种非瞬时性计算机可读存储介质,存储介质中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现上述基于有限域积代数的流密码生成方法。
11、根据本申请的另一方面,还提供了一种电子设备,包括处理器和上述非瞬时性计算机可读存储介质。
12、本专利技术至少具有以下有益效果:
13、本专利技术的基于有限域的积代数的流密码生成方法,将原始明文密码转化为对应的二维矩阵;对二维矩阵每一列的元素进行异或处理,以得到原始明文密码对应的初始密钥;将初始密钥与预设的奇异矩阵相乘以得到对应的第一中间密钥v1和第二中间密钥v2;依次将v1和v2的每一位元素转化为8位的二进制串,以得到v1对应的二维矩阵h1和v2对应的二维矩阵h2;根据待加密文件的大小,确定h1和h2进行积代数运算的次数num;对h1和h2进行num次的积代数运算,以得到待加密文件对应的流密码;本专利技术中,由于流密码的生成是基于积代数,存在不可反推性;因此,在第三方知道密钥的某一段子密钥,也无法反推初始的密钥,安全性较高。
14、进一步的,本专利技术中,基于代数的流密码密钥比特流周期近乎无限大,即无法通过寻找固定的周期来获得初始密钥,或者破解密钥;基于代数的流密码中0、1等概率出现,破解的可能性大大降低;且流密码加密,不需要各种转换,置换等等,只需要加密文件逐位与密钥流简单的一个异或即可,接收方亦只需要对密文进行简单的异或操作即可,从而大大减小系统的性能开销。
15、更进一步的,本专利技术中,流密码通过固定的有限长度的密钥,来产生一组无限长度的密钥,用来对文档、图片、视频等加密,通信双方通过约定一段简短的、容易记住的密钥,即可对文档实现加密解密;流密码提供了一种更加可靠、方便的密钥交换方式,通信双方无需在公网条件中传输密钥。
本文档来自技高网...【技术保护点】
1.一种基于有限域积代数的流密码生成方法,其特征在于,所述方法包括以下步骤:
2.根据权利要求1所述的基于有限域积代数的流密码生成方法,其特征在于,步骤S300包括以下步骤:
3.根据权利要求1所述的基于有限域积代数的流密码生成方法,其特征在于,步骤S600包括以下步骤:
4.根据权利要求3所述的基于有限域积代数的流密码生成方法,其特征在于,步骤S700包括以下步骤:
5.根据权利要求3所述的基于有限域积代数的流密码生成方法,其特征在于,步骤S700还包括以下步骤:
6.根据权利要求1所述的基于有限域积代数的流密码生成方法,其特征在于,步骤S200包括以下步骤:
7.根据权利要求6所述的基于有限域积代数的流密码生成方法,其特征在于,预设的函数包括Numerical Python库中的array函数。
8.一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,其特征在于,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-7中任意一项所述的基于有限域积代
9.一种电子设备,其特征在于,包括处理器和权利要求8所述的非瞬时性计算机可读存储介质。
...【技术特征摘要】
1.一种基于有限域积代数的流密码生成方法,其特征在于,所述方法包括以下步骤:
2.根据权利要求1所述的基于有限域积代数的流密码生成方法,其特征在于,步骤s300包括以下步骤:
3.根据权利要求1所述的基于有限域积代数的流密码生成方法,其特征在于,步骤s600包括以下步骤:
4.根据权利要求3所述的基于有限域积代数的流密码生成方法,其特征在于,步骤s700包括以下步骤:
5.根据权利要求3所述的基于有限域积代数的流密码生成方法,其特征在于,步骤s700还包括以下步骤:
6.根据权利要求1所述的基...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。