安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能介绍
产品简介
下载中心
帮助中心
客户列表
关于安企神

基于哥德巴赫猜想的公钥加密算法

更新时间:2022-10-28 15:43:01


本文简介:使用过公钥加密算法的朋友们都知道,公钥加密算法的核心是寻找陷门单向函数,利用该函数求逆的不可行性,对发送的消息进行加密,从而实现通信的保密和网络安全。鉴于上述原因,我们根据数学难题“哥德巴赫猜想”设计出了一种新的公钥加密算法,下面我们就给大家介绍一下这种基于哥德巴赫猜想的公钥加密算法。基于哥德巴赫猜想的公钥加密算法一、基于哥德巴赫猜想的公钥加密算法描述一个函数,若计算函数值很容易,并且在缺少一些附

基于哥德巴赫猜想的公钥加密算法

使用过公钥加密算法的朋友们都知道,公钥加密算法的核心是寻找陷门单向函数,利用该函数求逆的不可行性,对发送的消息进行加密,从而实现通信的保密和网络安全。鉴于上述原因,我们根据数学难题“哥德巴赫猜想”设计出了一种新的公钥加密算法,下面我们就给大家介绍一下这种基于哥德巴赫猜想的公钥加密算法。

基于哥德巴赫猜想的公钥加密算法

一、基于哥德巴赫猜想的公钥加密算法描述

一个函数,若计算函数值很容易,并且在缺少一些附加信息时计算函数的逆是不可行的,但是已知这些附加信息时,可在多项式时间内计算出函数的逆,那么我们称这样的函数为陷门单向函数。

定义陷门单向函数是满足下列条件的一类不可逆函数fk:

(1)若k和X已知,则容易计算Y=fk(X)

(2)若k和Y已知,则容易计算X=fk-1(Y)

(3)若Y已知但k未知,则计算出X=fk-1(Y)是不可行的。

哥德巴赫提出这个猜想至今,许多数学家都不断努力想攻克它,但都没有成功。哥德巴赫猜想由此成为数学皇冠上一颗可望不可及的明珠 。

本文设计的公钥密码算法是基于哥德巴赫猜想,即假设哥德巴赫猜想成立,任何一个大于等于6的偶数,都可以表示成两个奇素数之和。给定一个大偶数,要求该偶数是由哪两个素数组成的,是很困难的。利用该特性,设计该公钥加密算法。

二、基于哥德巴赫猜想的公钥加密算法如下

(1)随机选择大素数p、大素数q;

(2)求N=p+q,判断p与N是否互质,如果互质则执行第(3)步;否则返回第(1)步;

(3)由aN+bp=1得到整数a,b;其中一个为负数;

定理1:如果两正整数p,q互质,则可以找到两个整数a,b,使得ap+bq=1。显然,两个素数一定是互质的。

(4)所得的公钥PUb为{N,b},私钥PRb为{p};

(5)发送端发送明文M时,利用公钥{N,b}进行加密,则加密可表示为:C=(b_M)modN,其中C为密文;

(6)接收端接收密文C时,利用私钥{p}进行解密,则解密可表示为:M=(p_C)modN。下面以具体示例介绍该算法的加密、解密过程。

三、基于哥德巴赫猜想的公钥加密算法的加密、解密过程

(1)随机选择素数p=3,q=5。

(2)则N=p+q=3+5=8;且满足p与N互质的条件;

(3)由aN+bp=1,求出a=2,b=-5;

(4)所得的公钥PUb为{8,-5},私钥PRb为{3};

(5)当发送端发送明文M=7时,可利用公钥PUb={8,-5}加密,则加密过程为:C=(b_M)modN=(-5_7)mod8=-35mod8=5

说明:定义整数x除以正整数n所得的余数为x模n,则可以写出x=x/n_n+(xmodn)。

(6)接收端利用PRb={3}对密文C进行解密,解密过程为:M=(p_C)modN=(3_5)mod8=(3_5)mod8=7

这说明加密前的明文M和解密后的消息M是一致的。

四、基于哥德巴赫猜想的公钥加密算法证明

设发送端发送的明文为M,加密后的密文为C。已知N=p+q,其中p、q为素数,且p与N互质。

证明:由M=(p_C)modN可得M#p_C(modN) (1)

因为C=(b_M)modN,则可将上式转化为如下形式:

M#(b_p_M(modN))(modN) (2)

因为aN+bp=1,则将(2)转化为如下形式:

M#((1-aN)_M(modN))(modN)M#((M-aNM)(modN))(modN) (3)

由模算术性质,则可将(3)转化为如下形式:

M#((MmodN)-(aNMmodN))(modN)M#(MmodN)(modN)

在实际加密过程中,可将消息M拆分为若干等分(如以字节为存储单位),则M必定远远小于N,所以解密后的M’和加密前明文M的一定是相同的。

小知识之哥德巴赫猜想:

在1742年给欧拉的信中哥德巴赫提出了以下猜想:任一大于2的整数都可写成三个质数之和。因现今数学界已经不使用“1也是素数”这个约定,原初猜想的现代陈述为:任一大于5的整数都可写成三个质数之和。欧拉在回信中也提出另一等价版本,即任一大于2的偶数都可写成两个质数之和。今日常见的猜想陈述为欧拉的版本。把命题"任一充分大的偶数都可以表示成为一个素因子个数不超过a个的数与另一个素因子不超过b个的数之和"记作"a+b"。1966年陈景润证明了"1+2"成立,即"任一充分大的偶数都可以表示成二个素数的和,或是一个素数和一个半素数的和"。

立即下载试用

基于3DES加密算法的研究

关于加密方法,我们之前有介绍过很多,最近大出风头的秀尔算法和DES、MD5等等一直占据鳌头,今天我们来介绍一个小众的加密算法——就是3DES。

加密算法主要通过软件和硬件两种方式来实现,软件的实现方式具有灵活方便的优点,同时也具有加密速度受限制的缺点。采用硬件实现加密算法是实际应用中必须要考虑到的问题。目前经常采用硬件FPGA等来实现,该种实验方式具有处理速度快的特点,但是对系统的复杂度要求较高。

嵌入式微处理器具有实现简单,系统集成度高,体积小,易于移植等众多优点,因此有必要研发基于嵌入式微处理器的加密算法硬件设备,在此提出一种基于ARM处理器的3DES的硬件实现方法。

3DES算法原理

DES是美国国家标准局颁布的数据加密算法,作为世界范围内的公开加密标准已经使用了20多年。随着计算机处理速度的提高,DES算法面临着一些安全威胁,DES采用56位密钥,曾经有人用穷举搜索法对DES进行过密钥搜索攻击。

近年来也有人提出了差分和线性攻击方案,该方案的实施必须有超高速计算机的支持。为了增强DES算法应对差分或线性攻击的可能性,人们提出了一系列改进方案,采用增加密钥长度是一种可行的途径。

为了增加密钥的长度,可将分组密码进行级联,在不同的密钥作用下,连续多次对一组明文进行加密。其中,最有效的方法是使用三重DES加密,它可使加密密钥长度扩展到128位,在提高加密强度的同时,足以应付目前的各种攻击。

DES是一个分组加密算法,它以64位为分组对数据加密。64位的分组明文序列作为加密算法的输入,经过16轮加密得到64位的密文序列。加密的密钥为64位,实际长度为56位,DES算法的保密性取决于密钥。DES对64位的明文分组进行操作。

首先通过一个初始置换IP,将64位的明文分成各32位长的左半部分和右半部分,该初始置换只在16轮加密过程进行之前进行一次。在经过初始置换操作后,对得到的64位序列进行16轮加密运算,这些运算被称为函数f,在运算过程中,输入数据与密钥结合。经过16轮运算后,左、右两部分合在一起得到一个64位的输出序列,该序列再经过一个末尾置换IP-1,获得最终的加密结果。过程如图1所示。

在每一轮加密过程中,函数厂的运算包括以下四个部分:

首先进行密钥序列移位,从移位后的56位密钥序列中选出48位;

然后通过一个扩展置换将输入序列32位的右半部分扩展成48位,再与48位的轮密钥进行异或运算;

再者通过8个s盒将异或运算后获得的48位序列替代成一个32位序列;

最后对32位序列应用置换P进行置换变换,得到-厂的32位输出序列。将函数厂的输出与输入序列的左半部分进行异或运算后的结果作为新一轮加密过程输入序列的右半部分,当前输入序列的右半部分作为新一轮加密过程输入序列的左半部分。

上述过程重复操作16次,便实现了DES的16轮加密运算。

假设Bi是第i轮计算的结果,则Bi为一个64位的序列,Li和Ri分别是Bi的左半部分和右半部分,Ki是第i轮的48位密钥,且f是实现代换、置换及密钥异或等运算的函数,那么每一轮加密的具体过程为:

以上操作的详细过程如图2所示。

在3DES加密算法中,加密过程用两个不同的密钥K1和K2对一个分组消息进行三次DES加密。首先使用第一个密钥进行DES加密,然后使用第二个密钥对第一次的结果进行DES解密,最后使用第一个密钥对第二次的结果进行DES加密。

解密过程首先使用第一个密钥进行DES解密,然后使用第二个密钥对第一次的结果进行DES加密,最后再使用第一个密钥对第二次的结果进行DES解密。

DES算法的密钥长度是56位,三重DES算法的密钥长度是112位,加密强度显著增强,可以很好地应付各种攻击,目前尚没有可行的攻击方法,应用3DES的加密系统具有很大的实用价值。

本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。https://www.wgj7.com/cjwt/16239.html