我面對在密碼學應用以下的問題:我已給定一組線性同餘算法找到一個equidistributed溶液到線性同餘系統
a[1]*x[1]+a[2]*x[2]+a[3]*x[3] == d[1] (mod p)
b[1]*x[1]+b[2]*x[2]+b[3]*x[3] == d[2] (mod p)
c[1]*x[1]+c[2]*x[2]+c[3]*x[3] == d[3] (mod p)
這裏,x是未知的A,B,C ,d給出
該系統很可能欠定,所以我有一個很大的解決方案空間。我需要一種算法,使用僞隨機數生成器(或失敗)找到等分佈的解決方案(即解空間中的等距分佈)。
大多數標準算法求解線性方程組的系統,我從我的線性代數課知道是不是直接適用於儘可能我可以看到同餘...
我現在,「安全」的算法如下所示:找到所有隻出現在一個方程中的變量,並分配一個隨機值。現在如果在每一行中只有一個變量是未分配的,則根據一致性分配值。否則失敗。
任何人都可以給我一個線索如何解決這個問題一般?
Upvoted。但有一些我不太明白。爲什麼** p **是素數?如果這些數學運算沒有執行** mod p **會怎麼樣?網上有任何教程可以讓我知道嗎? – Alcott
@Alcott:你能更具體嗎?有很多關於高斯消除的教程。需要計算逆矩陣來使每一行的前導係數爲1. –
這裏是一個線性同餘系統(mod p和p可能或不可能是質數),我試圖用普通的方法來解決它高斯消除,在此期間,我沒有做出每行1的領先係數,這是否重要?這裏是我關於這個問題的文章,http://math.stackexchange.com/q/411549/64610。 – Alcott