本文主要是介绍[CryptoHack] MATHEMATICS-MODULAR MATH Write-Up,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MATHEMATICS-MODULAR MATH目录
1. Quadratic Residues
2. Legendre Symbol
3. Modular Square Root
4. Chinese Remainder Theorem
1. Quadratic Residues
推荐视频 Quadratic Residues
即,a^2>p时, (a^2-x)是p的倍数 (当a^2<p时, x = a^2)
(这里的mp代指p的倍数)
例子:
p=7
a += 1
1^2 = 1 (mod 7) # 1<7, x=a^2=1
2^2 = 4 (mod 7) # 4<7, x=a^2=4
3^2 = 2 (mod 7) # 9>7, x=a^2-p*1=2
4^2 = 2 (mod 7) # 16>7, x=a^2-p*2=2
5^2 = 4 (mod 7) # 25>7, x=a^2-p*3=4
6^2 = 1 (mod 7) # 36>7, x=a^2-p*5=1
# 1,2,4 are Quadratic Residue of 7
# 3,5,6 are Quadratic Non-Residue of 7
题:
given:
p = 29
ints = x = [14,6,11]
find a^2, get a (always have two a values: +a and -a)
原理:
a^2 = 6 + 29*2 = 64
a= 8, -8
flag = 8
代码:
p = 29
ints = [14,6,11]
print(min(x for x in range(p) if pow(x,2,p) in ints)) #8
2. Legendre Symbol
这篇关于[CryptoHack] MATHEMATICS-MODULAR MATH Write-Up的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!