Finite-Field
欄位元素作為組元素的指數
R1CS 約束在有限域上表示。許多證明系統,例如 zk-SNARK,使用證明者密鑰,例如 $ g^{\alpha^0}, g^{\alpha^1}, …, g^{\alpha^n} $ 在哪裡 $ \alpha $ 是一個欄位元素。這些欄位元素實際上是整數嗎?
如果 $ \alpha \in \mathbb{F}_p $ 即,該欄位是素數欄位,然後指數是整數模 $ p-1 $ 因為一個原始元素 $ \alpha $ 生成乘法群 $ \mathbb{F}_p^{\ast} $ 有秩序的 $ p-1 $ .
組元素如 $ g^{\alpha^k} $ 在哪裡 $ g $ 是子群生成器和欄位元素 $ \alpha $ 與 Schnorr 協議的驗證器的挑戰相媲美,用於評估多項式。尤其是, $ g $ 將是引物順序的橢圓曲線點 $ q $ , 和 $ \alpha \in \mathbb{F}_q $ 將是一個餘數模 $ q $ . 好吧,在所有實際方面,一個殘差都可以被認為是一個整數。
我通過 R1CS 系統的小學級別“乘以 3”範例進一步推動了這個想法,而不提醒殘差,只是為了讓它變得非常簡單和友好。可以在 C 部分“數獨”論文中看到它,然後是入門級 c++/libsnark 程式碼,這對 SNARKs 的新手很有用。本文是關於我對最初在 2016 年金融密碼學上提出的秘密數獨解決方案的私人驗證的重新實現,從 Naor 驗證方法和多項式集表示開始。