모드 복용의 복잡성 무엇 amodpamodpa\bmod p입니까? 단순히 분할 의해 p는

이것은 쉬운 대답이 필요한 질문처럼 보이지만 결정적인 질문은 없습니다.

두 개의

n

비트 숫자

a,p

가 있으면 a \ bmod p 계산의 복잡성은 무엇

amodp

입니까?

단순히 분할 의해 p는 시간 걸릴 O (M (N))를 여기서 M은 (n)에 승산의 복잡도는이다. 그러나 \ bmod를 약간 빠르게 수행 할 수 있습니까?

a

p

O(M(n))

M(n)

mod


답변

Shoup (3.3.5 절, 정리 3.3, p. 62)은 시간 O (n \ log q) 에서 a = q \ cdot p + r\ log a = n 인 잔차 r 을 계산하기위한 경계를 제공합니다 .

r

O(nlog⁡q)

a=q⋅p+r

log⁡a=n

그 경우 추측

p

a

거의 모두

n

비트 수 후

q

(따라서

log⁡q

)주기보다는 작아야

O(n)

.

경우

a

n

비트 번호 및

p

상대적으로 작고, 그 승산 방법은 신속해야한다.