整数分解

✍ dations ◷ 2025-06-27 09:05:04 #整数分解
在数学中,整数分解(英语: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数。大部分一般用途算法基于平方同余方法。

相关

  • 氟红霉素氟红霉素是一种大环内酯类抗生素。它是的红霉素(一种同类抗生素)的氟代物,其抗菌能力与红霉素相当,但较交沙霉素为优。氟红霉素对抑制部分梭状芽孢杆菌和脆性拟杆菌较有效。其较
  • 疥疮疥疮(Scabies),是由疥螨(英语:Sarcoptes scabiei)在人体皮肤表皮层内引起的接触性传染性皮肤病。最常见的症状为严重搔痒和泛红丘疹。偶见患者皮肤上会有疥螨移行的痕迹(英语:burrow
  • 甲氧苯青霉素甲氧西林(Methicillin)是一种于1960年首次合成的β-内酰胺类半合成抗生素。发现于1960年,主要对金黄色葡萄球菌等革兰氏阳性菌有作用,可用于治疗败血症、呼吸道感染、脑膜炎等由
  • 鼻喷剂鼻腔给药(英语:Nasal administration)是一种给药途径。在此过程中,药物经由鼻腔吹入。鼻腔给药既可以是外用药物的形式,也可以是内服药物(英语:systemic administration)的形式。
  • 卡罗尼亚卡罗尼亚(意大利语:Caronia),是意大利墨西拿省的一个市镇。总面积226平方公里,人口3463人,人口密度15.3人/平方公里(2009年)。ISTAT代码为083011。
  • 罗非昔布罗非昔布或罗非考昔(英语:Rofecoxib,/ˌrɒfᵻˈkɒksɪb/)商品名Vioxx、Ceoxx和Ceeoxx。是一种非甾体类抗炎药(NSAID),由默克公司制造、出售。美国食品药品监督管理局(FDA)于1999年5
  • MozillaMozilla是一个自由软件社群,由网景通信公司的成员于1998年创立。在非正式的场合下,“Mozilla”这个名字常用于不同的事物上。这些事物大都与现已歇业的网景通信公司及其旗下的
  • 弯曲菌属见内文弯曲菌属(学名:Campylobacter),又名曲状杆菌属或弯曲杆菌属,是一种革兰氏阴性细菌的属。曲状杆菌属的型态就是折曲了的一般杆菌,呈“逗号”状或S字型。本属绝大多数物种均为
  • 花纹爱洁蟹花纹爱洁蟹(学名:Atergatis floridus)为扇蟹科熟若蟹亚科爱洁蟹属的动物。分布于日本、夏威夷、塔希提岛、土阿莫土群岛、社会群岛、斐济、马绍尔群岛、吉尔伯特群岛、加罗林岛
  • 孟-高棉语族孟高棉语族是东南亚的语言集合,包括孟语和高棉语等多种语言。按照传统的分类,这个语族与印度的蒙达语族(又译扪达语族)构成南亚语系。新近的分类已经抛弃这种二分法:Diffloth(2005