<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://161.35.113.184/index.php?action=history&amp;feed=atom&amp;title=Sigma_Protocol</id>
	<title>Sigma Protocol - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://161.35.113.184/index.php?action=history&amp;feed=atom&amp;title=Sigma_Protocol"/>
	<link rel="alternate" type="text/html" href="http://161.35.113.184/index.php?title=Sigma_Protocol&amp;action=history"/>
	<updated>2026-04-06T18:21:17Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>http://161.35.113.184/index.php?title=Sigma_Protocol&amp;diff=15&amp;oldid=prev</id>
		<title>Srikar: /* Definition */</title>
		<link rel="alternate" type="text/html" href="http://161.35.113.184/index.php?title=Sigma_Protocol&amp;diff=15&amp;oldid=prev"/>
		<updated>2020-06-25T18:04:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Definition&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 18:04, 25 June 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot; &gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;states that the prover knows an ''x'' that fulfills the relation above.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;states that the prover knows an ''x'' that fulfills the relation above.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Historical Context ===  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Historical Context ===  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Resources ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Resources ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Great resources to learn about Sigma Protocols in depth:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Great resources to learn about Sigma Protocols in depth:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key zkstackswiki:diff::1.12:old-14:rev-15 --&gt;
&lt;/table&gt;</summary>
		<author><name>Srikar</name></author>
		
	</entry>
	<entry>
		<id>http://161.35.113.184/index.php?title=Sigma_Protocol&amp;diff=14&amp;oldid=prev</id>
		<title>Srikar at 17:50, 25 June 2020</title>
		<link rel="alternate" type="text/html" href="http://161.35.113.184/index.php?title=Sigma_Protocol&amp;diff=14&amp;oldid=prev"/>
		<updated>2020-06-25T17:50:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 17:50, 25 June 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Definition ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Protocols which have the above three-move structure (commitment, challenge and response) are called ''sigma protocols''{{Citation needed|date=June 2017}}. The Greek letter &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; visualizes the flow of the protocol. Sigma protocols exist for proving various statements, such as those pertaining to discrete logarithms. Using these proofs, the prover can not only prove the knowledge of the discrete logarithm, but also that the discrete logarithm is of a specific form. For instance, it is possible to prove that two logarithms of &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; with respect to bases &amp;lt;math&amp;gt;g_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g_2&amp;lt;/math&amp;gt; are equal or fulfill some other [[linear]] [[Relation (mathematics)|relation]]. For ''a'' and ''b'' elements of &amp;lt;math&amp;gt;Z_q&amp;lt;/math&amp;gt;, we say that the prover proves knowledge of &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt;y_1= g_1^{x_1} \land y_2=g_2^{x_2}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_2 = a x_1 + b&amp;lt;/math&amp;gt;. Equality corresponds to the special case where ''a''&amp;amp;nbsp;=&amp;amp;nbsp;1 and ''b''&amp;amp;nbsp;=&amp;amp;nbsp;0. As &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; can be [[trivial (mathematics)|trivially]] computed from &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; this is equivalent to proving knowledge of an ''x'' such that &amp;lt;math&amp;gt;y_1= g_1^{x} \land y_2={(g_2^a)}^{x} g_2^b&amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Protocols which have the above three-move structure (commitment, challenge and response) are called ''sigma protocols''{{Citation needed|date=June 2017}}. The Greek letter &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; visualizes the flow of the protocol. Sigma protocols exist for proving various statements, such as those pertaining to discrete logarithms. Using these proofs, the prover can not only prove the knowledge of the discrete logarithm, but also that the discrete logarithm is of a specific form. For instance, it is possible to prove that two logarithms of &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; with respect to bases &amp;lt;math&amp;gt;g_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g_2&amp;lt;/math&amp;gt; are equal or fulfill some other [[linear]] [[Relation (mathematics)|relation]]. For ''a'' and ''b'' elements of &amp;lt;math&amp;gt;Z_q&amp;lt;/math&amp;gt;, we say that the prover proves knowledge of &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt;y_1= g_1^{x_1} \land y_2=g_2^{x_2}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_2 = a x_1 + b&amp;lt;/math&amp;gt;. Equality corresponds to the special case where ''a''&amp;amp;nbsp;=&amp;amp;nbsp;1 and ''b''&amp;amp;nbsp;=&amp;amp;nbsp;0. As &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; can be [[trivial (mathematics)|trivially]] computed from &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; this is equivalent to proving knowledge of an ''x'' such that &amp;lt;math&amp;gt;y_1= g_1^{x} \land y_2={(g_2^a)}^{x} g_2^b&amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;states that the prover knows an ''x'' that fulfills the relation above.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;states that the prover knows an ''x'' that fulfills the relation above.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Historical Context === &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Resources ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Great resources to learn about Sigma Protocols in depth:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Great resources to learn about Sigma Protocols in depth:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key zkstackswiki:diff::1.12:old-13:rev-14 --&gt;
&lt;/table&gt;</summary>
		<author><name>Srikar</name></author>
		
	</entry>
	<entry>
		<id>http://161.35.113.184/index.php?title=Sigma_Protocol&amp;diff=13&amp;oldid=prev</id>
		<title>Srikar: /* Sigma protocols */</title>
		<link rel="alternate" type="text/html" href="http://161.35.113.184/index.php?title=Sigma_Protocol&amp;diff=13&amp;oldid=prev"/>
		<updated>2020-06-25T17:49:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Sigma protocols&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 17:49, 25 June 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===Sigma protocols===&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Protocols which have the above three-move structure (commitment, challenge and response) are called ''sigma protocols''{{Citation needed|date=June 2017}}. The Greek letter &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; visualizes the flow of the protocol. Sigma protocols exist for proving various statements, such as those pertaining to discrete logarithms. Using these proofs, the prover can not only prove the knowledge of the discrete logarithm, but also that the discrete logarithm is of a specific form. For instance, it is possible to prove that two logarithms of &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; with respect to bases &amp;lt;math&amp;gt;g_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g_2&amp;lt;/math&amp;gt; are equal or fulfill some other [[linear]] [[Relation (mathematics)|relation]]. For ''a'' and ''b'' elements of &amp;lt;math&amp;gt;Z_q&amp;lt;/math&amp;gt;, we say that the prover proves knowledge of &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt;y_1= g_1^{x_1} \land y_2=g_2^{x_2}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_2 = a x_1 + b&amp;lt;/math&amp;gt;. Equality corresponds to the special case where ''a''&amp;amp;nbsp;=&amp;amp;nbsp;1 and ''b''&amp;amp;nbsp;=&amp;amp;nbsp;0. As &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; can be [[trivial (mathematics)|trivially]] computed from &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; this is equivalent to proving knowledge of an ''x'' such that &amp;lt;math&amp;gt;y_1= g_1^{x} \land y_2={(g_2^a)}^{x} g_2^b&amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Protocols which have the above three-move structure (commitment, challenge and response) are called ''sigma protocols''{{Citation needed|date=June 2017}}. The Greek letter &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; visualizes the flow of the protocol. Sigma protocols exist for proving various statements, such as those pertaining to discrete logarithms. Using these proofs, the prover can not only prove the knowledge of the discrete logarithm, but also that the discrete logarithm is of a specific form. For instance, it is possible to prove that two logarithms of &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; with respect to bases &amp;lt;math&amp;gt;g_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g_2&amp;lt;/math&amp;gt; are equal or fulfill some other [[linear]] [[Relation (mathematics)|relation]]. For ''a'' and ''b'' elements of &amp;lt;math&amp;gt;Z_q&amp;lt;/math&amp;gt;, we say that the prover proves knowledge of &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt;y_1= g_1^{x_1} \land y_2=g_2^{x_2}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_2 = a x_1 + b&amp;lt;/math&amp;gt;. Equality corresponds to the special case where ''a''&amp;amp;nbsp;=&amp;amp;nbsp;1 and ''b''&amp;amp;nbsp;=&amp;amp;nbsp;0. As &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; can be [[trivial (mathematics)|trivially]] computed from &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; this is equivalent to proving knowledge of an ''x'' such that &amp;lt;math&amp;gt;y_1= g_1^{x} \land y_2={(g_2^a)}^{x} g_2^b&amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l8&quot; &gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;states that the prover knows an ''x'' that fulfills the relation above.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;states that the prover knows an ''x'' that fulfills the relation above.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Great resources to learn about Sigma Protocols in depth:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key zkstackswiki:diff::1.12:old-12:rev-13 --&gt;
&lt;/table&gt;</summary>
		<author><name>Srikar</name></author>
		
	</entry>
	<entry>
		<id>http://161.35.113.184/index.php?title=Sigma_Protocol&amp;diff=12&amp;oldid=prev</id>
		<title>Srikar: Created page with &quot;===Sigma protocols===  Protocols which have the above three-move structure (commitment, challenge and response) are called ''sigma protocols''{{Citation needed|date=June 2017}...&quot;</title>
		<link rel="alternate" type="text/html" href="http://161.35.113.184/index.php?title=Sigma_Protocol&amp;diff=12&amp;oldid=prev"/>
		<updated>2020-06-25T17:48:31Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;===Sigma protocols===  Protocols which have the above three-move structure (commitment, challenge and response) are called &amp;#039;&amp;#039;sigma protocols&amp;#039;&amp;#039;{{Citation needed|date=June 2017}...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===Sigma protocols===&lt;br /&gt;
&lt;br /&gt;
Protocols which have the above three-move structure (commitment, challenge and response) are called ''sigma protocols''{{Citation needed|date=June 2017}}. The Greek letter &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; visualizes the flow of the protocol. Sigma protocols exist for proving various statements, such as those pertaining to discrete logarithms. Using these proofs, the prover can not only prove the knowledge of the discrete logarithm, but also that the discrete logarithm is of a specific form. For instance, it is possible to prove that two logarithms of &amp;lt;math&amp;gt;y_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y_2&amp;lt;/math&amp;gt; with respect to bases &amp;lt;math&amp;gt;g_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g_2&amp;lt;/math&amp;gt; are equal or fulfill some other [[linear]] [[Relation (mathematics)|relation]]. For ''a'' and ''b'' elements of &amp;lt;math&amp;gt;Z_q&amp;lt;/math&amp;gt;, we say that the prover proves knowledge of &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt;y_1= g_1^{x_1} \land y_2=g_2^{x_2}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_2 = a x_1 + b&amp;lt;/math&amp;gt;. Equality corresponds to the special case where ''a''&amp;amp;nbsp;=&amp;amp;nbsp;1 and ''b''&amp;amp;nbsp;=&amp;amp;nbsp;0. As &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; can be [[trivial (mathematics)|trivially]] computed from &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; this is equivalent to proving knowledge of an ''x'' such that &amp;lt;math&amp;gt;y_1= g_1^{x} \land y_2={(g_2^a)}^{x} g_2^b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This is the intuition behind the following notation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/243300730_Efficient_Group_Signature_Schemes_for_Large_Groups&amp;lt;/ref&amp;gt;, which is commonly used to express what exactly is proven by a proof of knowledge.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt;PK\{(x): y_1= g_1^{x} \land y_2={(g_2^a)}^{x} g_2^b \},&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
states that the prover knows an ''x'' that fulfills the relation above.&lt;/div&gt;</summary>
		<author><name>Srikar</name></author>
		
	</entry>
</feed>