近似公因数问题(Approximate Common Divisor Problem,ACDP)

这篇博客探讨了在数字传输过程中可能出现的误差导致的近似公因数问题。文章介绍了如何在多项式时间内寻找两个带有误差的整数的最大公因数,并区分了部分近似公因数问题和一般近似公因数问题。这个问题在纠错码设计和密码算法中有重要应用。
摘要由CSDN通过智能技术生成

前言

给定两个整数 a a a b b b,存在整数 d d d,使得 d ∣ a d|a da并且 d ∣ b d|b db。即 d d d同时整除 a a a b b b,我们把 d d d叫做 a a a b b b的公因数,满足条件的 d d d的最大值,叫做 a a a b b b的最大公因数(GCD)。
通过辗转相除法或者错位相减法,可以在多项式时间内求出 a a a b b b的最大公因数。
现在,我们考虑, a a a b b b在传输的过程中出现了一些小错误。得到 a ′ = a + e 1 a^\prime=a+e_1 a=a+e1 b ′ = b + e 2 b^\prime=b+e_2 b=b+e2,那么是否可以在多项式时间内求出 d d d。这就是站在解码的角度的近似公因数问题。

定义

论文:《Approximate Integer Common Divisors》中仔细讨论了这个问题。
更加正式的描述如下:
给定两个整数 a 0 a_0 a0 b 0 b_0 b0,参数 X , Y , M X,Y,M X,Y,M。近似公因数问题是寻找这样一个或者所有的 d > M d>M d>M,使得 d ∣ ( a 0 + x 0 ) d|(a_0+x_0) d(a0+x0) d ∣ b 0 + y 0 d|b_0+y_0 db0+y0 ,其中 ∣ x 0 ∣ ≠ X |x_0| \neq X x0=X ∣ y 0 ∣ ≠ Y |y_0| \neq Y y0=Y
不妨设 X ≥ Y X \geq Y XY,如果 Y = 0 Y=0 Y=0,那么问题叫做部分近似公因数问题(Partially Approximate Common Divisor Problem,PACDP);如果 Y > 0 Y>0 Y>0那么叫做一般的近似公因数问题(General Approximate Common Divisor Problem,GACDP)。

应用

解决该问题的算法,可以用来设计纠错码。由于问题本身是一个困难的问题,所以也有基于该问题设计的密码算法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值