首页 >
整数分解
✍ dations ◷ 2025-11-15 12:59:25 #整数分解
在数学中,整数分解(英语:integer factorization)又称素因数分解(prime factorization),是将一个正整数写成几个约数的乘积。例如,给出45这个数,它可以分解成
3
2
×
5
{displaystyle 3^{2}times 5}
。根据算术基本定理,这样的分解结果应该是独一无二的。这个问题在代数学、密码学、计算复杂性理论和量子计算机等领域中有重要意义。完整的因子列表可以根据约数分解推导出,将幂从零不断增加直到等于这个数。例如,因为
45
=
{displaystyle 45=,}
3
2
×
5
{displaystyle 3^{2}times 5}
,由此可知,45可以被30 ×50,30×51,31×50,31×51,32×50,和32×51,或者 1,5,3,9,15,和 45整除。相对应的,约数分解只包括约数因子。参见约数分解算法。给出两个大约数,很容易就能将它们两个相乘。但是,给出它们的乘积,找出它们的因子就显得不是那么容易了。这就是许多现代密码系统的关键所在。如果能够找到解决整数分解问题的快速方法,几个重要的密码系统将会被攻破,包括RSA公钥算法和Blum Blum Shub(英语:Blum Blum Shub)随机数发生器。尽管快速分解是攻破这些系统的方法之一,仍然会有其它的不涉及到分解的其它方法。所以情形完全可能变成这样:整数分解问题仍然是非常困难,这些密码系统却是能够很快攻破。有的密码系统则能提供更强的保证:如果这些密码系统被快速破解(即能够以多项式时间复杂度破解),则可以利用破解这些系统的算法来快速地(以多项式时间复杂度)分解整数。换句话说,破解这样的密码系统不会比整数分解更容易。这样的密码系统包括Rabin密码系统(RSA的一个变体)以及Blum Blum Shub随机数发生器。2005年,作为公共研究一部分的有663个二进制数位之长的RSA-200已经被一种一般用途的方法所分解。如果一个大的,有n个二进制数位长度的数是两个差不多大小相等的约数的乘积,现在还没有很好的算法来以多项式时间复杂度分解它。这就意味着没有已知算法可以在O(nk)(k为常数)的时间内分解它。但是现在的算法也是比Θ(en)快的。换句话说,现在我们已知最好的算法比指数数量级时间要快,比多项式数量级时间要慢。已知最好的渐近线运行时间是普通数域筛选法(GNFS)。时间是:对于平常的计算机,GNFS是我们已知最好的对付n个二进制数位大约数的方法。不过,对于量子计算机, 彼得·秀尔在1994年发现了一种可以用多项式时间来解决这个问题的算法。如果大的量子计算机建立起来,这将对密码学有很重要的意义。这个算法在时间上只需要O(n3),空间只要O(n)就可以了。 构造出这样一个算法只需要2n量子位。2001年,第一个7量子位的量子计算机第一个运行这个算法,它分解的数是15。现在还不确切知道整数分解属于哪个复杂度类。我们知道这个问题的判定问题形式(“请问N是否有一个比M小的约数?”)是在NP与反NP之中。因为不管是答案为是或不是,我们都可以用一个素因数以及该素因数的素数证明来验证这个答案。由秀尔算法可知,这个问题在BQP中。大部分的人则怀疑这个问题不在P、NP完全、以及反NP完全这三个复杂性类别中。如果这个问题可以被证明为NP完全或反NP完全,则我们便可推得NP=反NP。这将会是个很震撼的结果,也因此大多数人猜想整数分解这个问题不在上述的复杂性类别中。也有许多人尝试去找出多项式时间的算法来解决这个问题,但是都尚未成功,因此这个问题也被多数人怀疑不在P中。有趣的是,判定一个整数是否是素数则比分解该整数简单许多。AKS算法证明前者可以在多项式时间中解决。 测试一个数是否为素数是RSA算法中非常重要的一环,因为它在一开始的时候需要找很大的素数。一个特别的因子分解算法的运行时间依赖它本身的未知因子:大小,类型等等。在不同的算法之间运行时间也是不同的。一般用途算法的运行时间仅仅依赖要分解的整数的长度。这种算法可以用来分解RSA数。大部分一般用途算法基于平方同余方法。
相关
- 电解质电解质(英语:electrolyte)是指在水溶液或熔融状态可以产生自由离子而导电的化合物。通常指在溶液中导电的物质,而固态可导电的物质不算电解质。这包括大多数可溶性盐、酸和碱。
- 肺脏肺是很多进行空气呼吸的动物的呼吸系统中重要的一个器官,大部分四足类动物、一些鱼类和蜗牛都有肺。哺乳动物和其他身体结构较为复杂的动物则拥有两个肺,其位于胸腔中靠近脊柱
- 脂褐素脂褐素(英语:lipofuscin)的命名由来是具有颗粒状的褐黄色色素,由含有脂肪的残存物与溶酶体消化物所组成。被认为是一种随着年纪增长或细胞操劳而增加的色素,可见于肝脏、肾脏、心
- 基因突变突变(英语:Mutation,即基因突变)在生物学上的含义,是指细胞中的遗传基因(通常指存在于细胞核中的去氧核糖核酸)发生的改变。它包括单个碱基改变所引起的点突变,或多个碱基的缺失、重
- 前哥伦布时期前哥伦布时期(英语:Pre-Columbian)包括,在明显受到来自欧洲的文明影响前,美洲的全部历史和史前史。时间跨度上,从旧石器时代人类最初迁入并居住于美洲,直到近代欧洲人殖民美洲。就
- 运动损伤运动损伤又称运动创伤或运动伤害(英语:Sports injuries),指在体育运动或体能锻炼过程中发生的创伤。例如在美国,据估计有三千万青少年参与过某种形式的有组织运动,其中每年又有三
- 勒克瑙बाप तहसील घंटियाली capital勒克瑙(印地语:लखनऊ;乌尔都语:لكهنو)为印度北方邦首府,同时也是勒克瑙县(英语:Lucknow District)的行政中心,直至2001年人
- 红旗县红旗县(越南语:Huyện Cờ Đỏ) 是越南芹苴市的一个县,位于湄公河三角洲地区。面积319.81平方千米,2018年总人口为135709人。红旗县以水稻种植闻名。红旗县西邻永盛县,南邻泰来
- 原发病例指示病例(英语:index case),又称为原发病例(英语:primary case),俗称零号病人或零号感染源(英语:patient zero),在流行病学调查中是指在一定人群中的最初的病例。指示病例可能表示疾病的
- 记数系统记数系统,或称记数法或数制(numeral system、system of numeration),是使用一组数字符号来表示数的体系。一个理想的记数系统能够:记数系统可以按照以下方式分类:在木头、骨头或石
