<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://certfhewiki.certsign.ro/wiki/index.php?action=history&amp;feed=atom&amp;title=FHE</id>
	<title>FHE - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://certfhewiki.certsign.ro/wiki/index.php?action=history&amp;feed=atom&amp;title=FHE"/>
	<link rel="alternate" type="text/html" href="https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;action=history"/>
	<updated>2026-04-23T11:56:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=420&amp;oldid=prev</id>
		<title>Georgeg at 15:11, 2 June 2025</title>
		<link rel="alternate" type="text/html" href="https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=420&amp;oldid=prev"/>
		<updated>2025-06-02T15:11:34Z</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 15:11, 2 June 2025&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-l57&quot; &gt;Line 57:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 57:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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;In Alice&amp;#039;s jewellery store analogy presented on the [[Homomorphic encryption]] page, the bootstrapping process is analogous to Alice giving a worker a glovebox #1, containing the raw materials and many additional gloveboxes. In box #2, Alice placed the key to box #1, box #3 contains the key to box number #2 and so on. To assemble a complicated piece, the worker manipulates the materials in box #1 until the gloves on the box become impractical. Then, he places box #1 inside box #2. Using the keys inside, he opens box #1 with the key, extracts the partially assembled piece and continues to assembly until the gloves of box #2 become impractical. When the worker finally finishes the assembly inside box #n, he hands the box to Alice. This process works as long as the worker can open box #i within box #(i+1) and still do a little bit of work on the pieces inside before the gloves of the box #(i+1) stiffen. As long as Alice has enough resources (i.e. gloveboxes and time for the manufacturing process)  then her jewellery store can assemble any piece, no matter how complicated it is.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;In Alice&amp;#039;s jewellery store analogy presented on the [[Homomorphic encryption]] page, the bootstrapping process is analogous to Alice giving a worker a glovebox #1, containing the raw materials and many additional gloveboxes. In box #2, Alice placed the key to box #1, box #3 contains the key to box number #2 and so on. To assemble a complicated piece, the worker manipulates the materials in box #1 until the gloves on the box become impractical. Then, he places box #1 inside box #2. Using the keys inside, he opens box #1 with the key, extracts the partially assembled piece and continues to assembly until the gloves of box #2 become impractical. When the worker finally finishes the assembly inside box #n, he hands the box to Alice. This process works as long as the worker can open box #i within box #(i+1) and still do a little bit of work on the pieces inside before the gloves of the box #(i+1) stiffen. As long as Alice has enough resources (i.e. gloveboxes and time for the manufacturing process)  then her jewellery store can assemble any piece, no matter how complicated it is.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;a&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;== References ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;== References ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key certfhewiki:diff::1.12:old-419:rev-420 --&gt;
&lt;/table&gt;</summary>
		<author><name>Georgeg</name></author>
		
	</entry>
	<entry>
		<id>https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=419&amp;oldid=prev</id>
		<title>Georgeg at 15:10, 2 June 2025</title>
		<link rel="alternate" type="text/html" href="https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=419&amp;oldid=prev"/>
		<updated>2025-06-02T15:10:48Z</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 15:10, 2 June 2025&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-l56&quot; &gt;Line 56:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 56:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;In Alice&amp;#039;s jewellery store analogy presented on the [[Homomorphic encryption]] page, the bootstrapping process is analogous to Alice giving a worker a glovebox #1, containing the raw materials and many additional gloveboxes. In box #2, Alice placed the key to box #1, box #3 contains the key to box number #2 and so on. To assemble a complicated piece, the worker manipulates the materials in box #1 until the gloves on the box become impractical. Then, he places box #1 inside box #2. Using the keys inside, he opens box #1 with the key, extracts the partially assembled piece and continues to assembly until the gloves of box #2 become impractical. When the worker finally finishes the assembly inside box #n, he hands the box to Alice. This process works as long as the worker can open box #i within box #(i+1) and still do a little bit of work on the pieces inside before the gloves of the box #(i+1) stiffen. As long as Alice has enough resources (i.e. gloveboxes and time for the manufacturing process)  then her jewellery store can assemble any piece, no matter how complicated it is.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;In Alice&amp;#039;s jewellery store analogy presented on the [[Homomorphic encryption]] page, the bootstrapping process is analogous to Alice giving a worker a glovebox #1, containing the raw materials and many additional gloveboxes. In box #2, Alice placed the key to box #1, box #3 contains the key to box number #2 and so on. To assemble a complicated piece, the worker manipulates the materials in box #1 until the gloves on the box become impractical. Then, he places box #1 inside box #2. Using the keys inside, he opens box #1 with the key, extracts the partially assembled piece and continues to assembly until the gloves of box #2 become impractical. When the worker finally finishes the assembly inside box #n, he hands the box to Alice. This process works as long as the worker can open box #i within box #(i+1) and still do a little bit of work on the pieces inside before the gloves of the box #(i+1) stiffen. As long as Alice has enough resources (i.e. gloveboxes and time for the manufacturing process)  then her jewellery store can assemble any piece, no matter how complicated it is.&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;a&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;== References ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;== References ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key certfhewiki:diff::1.12:old-235:rev-419 --&gt;
&lt;/table&gt;</summary>
		<author><name>Georgeg</name></author>
		
	</entry>
	<entry>
		<id>https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=235&amp;oldid=prev</id>
		<title>Gturcas: /* Examples */</title>
		<link rel="alternate" type="text/html" href="https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=235&amp;oldid=prev"/>
		<updated>2020-12-30T08:56:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Examples&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 08:56, 30 December 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-l53&quot; &gt;Line 53:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 53:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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;Gentry &amp;lt;ref name = G10&amp;gt; C. Gentry. Computing arbitrary functions of encrypted data. In &amp;quot;Communications of the ACM&amp;quot;, 2010.&amp;lt;/ref&amp;gt; proved that if the scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; has the self-referential property of being able to homomorphically evaluate its own decryption function, then one can use &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; to construct a fully homomorphic encryption &amp;lt;math&amp;gt;\mathcal E^{\dagger} &amp;lt;/math&amp;gt;. If this is the case, the term &amp;lt;i&amp;gt;bootstrapable&amp;lt;/i&amp;gt; was coined by Gentry for the scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;Gentry &amp;lt;ref name = G10&amp;gt; C. Gentry. Computing arbitrary functions of encrypted data. In &amp;quot;Communications of the ACM&amp;quot;, 2010.&amp;lt;/ref&amp;gt; proved that if the scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; has the self-referential property of being able to homomorphically evaluate its own decryption function, then one can use &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; to construct a fully homomorphic encryption &amp;lt;math&amp;gt;\mathcal E^{\dagger} &amp;lt;/math&amp;gt;. If this is the case, the term &amp;lt;i&amp;gt;bootstrapable&amp;lt;/i&amp;gt; was coined by Gentry for the scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;The simple scheme presented above is not bootstrapable, but it can be modified slightly to a new scheme &amp;lt;math&amp;gt;  \mathcal E&amp;#039;&amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt; \mathcal E&amp;#039; &amp;lt;/math&amp;gt; can handle essentially the same functions as &amp;lt;math&amp;gt; \mathcal E  &amp;lt;/math&amp;gt;, but whose decryption circuit is simpler. This new scheme &amp;lt;math&amp;gt; \mathcal E&amp;#039; &amp;lt;/math&amp;gt; is now bootstrappable. In Gentry&amp;#039;s construction of &amp;lt;math&amp;gt;\mathcal E&amp;#039; &amp;lt;/math&amp;gt; from &amp;lt;math&amp;gt; \mathcal E  &amp;lt;/math&amp;gt;, he had to add another security assumption to the scheme &amp;lt;math&amp;gt; \mathcal E&amp;#039;  &amp;lt;/math&amp;gt;, namely the hardness of the [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[&lt;/del&gt;sparse subset sum problem&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/del&gt;].&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;The simple scheme presented above is not bootstrapable, but it can be modified slightly to a new scheme &amp;lt;math&amp;gt;  \mathcal E&amp;#039;&amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt; \mathcal E&amp;#039; &amp;lt;/math&amp;gt; can handle essentially the same functions as &amp;lt;math&amp;gt; \mathcal E  &amp;lt;/math&amp;gt;, but whose decryption circuit is simpler. This new scheme &amp;lt;math&amp;gt; \mathcal E&amp;#039; &amp;lt;/math&amp;gt; is now bootstrappable. In Gentry&amp;#039;s construction of &amp;lt;math&amp;gt;\mathcal E&amp;#039; &amp;lt;/math&amp;gt; from &amp;lt;math&amp;gt; \mathcal E  &amp;lt;/math&amp;gt;, he had to add another security assumption to the scheme &amp;lt;math&amp;gt; \mathcal E&amp;#039;  &amp;lt;/math&amp;gt;, namely the hardness of the [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;https://eprint.iacr.org/2011/567.pdf &lt;/ins&gt;sparse subset sum problem].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;In Alice&amp;#039;s jewellery store analogy presented on the [[Homomorphic encryption]] page, the bootstrapping process is analogous to Alice giving a worker a glovebox #1, containing the raw materials and many additional gloveboxes. In box #2, Alice placed the key to box #1, box #3 contains the key to box number #2 and so on. To assemble a complicated piece, the worker manipulates the materials in box #1 until the gloves on the box become impractical. Then, he places box #1 inside box #2. Using the keys inside, he opens box #1 with the key, extracts the partially assembled piece and continues to assembly until the gloves of box #2 become impractical. When the worker finally finishes the assembly inside box #n, he hands the box to Alice. This process works as long as the worker can open box #i within box #(i+1) and still do a little bit of work on the pieces inside before the gloves of the box #(i+1) stiffen. As long as Alice has enough resources (i.e. gloveboxes and time for the manufacturing process)  then her jewellery store can assemble any piece, no matter how complicated it is.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;In Alice&amp;#039;s jewellery store analogy presented on the [[Homomorphic encryption]] page, the bootstrapping process is analogous to Alice giving a worker a glovebox #1, containing the raw materials and many additional gloveboxes. In box #2, Alice placed the key to box #1, box #3 contains the key to box number #2 and so on. To assemble a complicated piece, the worker manipulates the materials in box #1 until the gloves on the box become impractical. Then, he places box #1 inside box #2. Using the keys inside, he opens box #1 with the key, extracts the partially assembled piece and continues to assembly until the gloves of box #2 become impractical. When the worker finally finishes the assembly inside box #n, he hands the box to Alice. This process works as long as the worker can open box #i within box #(i+1) and still do a little bit of work on the pieces inside before the gloves of the box #(i+1) stiffen. As long as Alice has enough resources (i.e. gloveboxes and time for the manufacturing process)  then her jewellery store can assemble any piece, no matter how complicated it is.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;== References ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;== References ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key certfhewiki:diff::1.12:old-234:rev-235 --&gt;
&lt;/table&gt;</summary>
		<author><name>Gturcas</name></author>
		
	</entry>
	<entry>
		<id>https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=234&amp;oldid=prev</id>
		<title>Gturcas: /* Examples */</title>
		<link rel="alternate" type="text/html" href="https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=234&amp;oldid=prev"/>
		<updated>2020-12-30T08:25:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Examples&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 08:25, 30 December 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-l51&quot; &gt;Line 51:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 51:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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;The semantic security of the scheme can be reduced to an [https://martinralbrecht.wordpress.com/2020/03/21/the-approximate-gcd-problem/ approximate gcd problem]]. That is, it was proved that an attacker cannot efficiently break the semantic security of &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; unless &amp;lt;b&amp;gt;the approximate gcd problem&amp;lt;/b&amp;gt; is easy.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;The semantic security of the scheme can be reduced to an [https://martinralbrecht.wordpress.com/2020/03/21/the-approximate-gcd-problem/ approximate gcd problem]]. That is, it was proved that an attacker cannot efficiently break the semantic security of &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; unless &amp;lt;b&amp;gt;the approximate gcd problem&amp;lt;/b&amp;gt; is easy.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;Gentry proved that if the scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; has the self-referential property of being able to homomorphically evaluate its own decryption function, then one can use &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; to construct a fully homomorphic encryption &amp;lt;math&amp;gt;\mathcal E^{\dagger} &amp;lt;/math&amp;gt;. If this is the case, the term &amp;lt;i&amp;gt;bootstrapable&amp;lt;/i&amp;gt; was coined by Gentry for the scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;Gentry &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;ref name = G10&amp;gt; C. Gentry. Computing arbitrary functions of encrypted data. In &amp;quot;Communications of the ACM&amp;quot;, 2010.&amp;lt;/ref&amp;gt; &lt;/ins&gt;proved that if the scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; has the self-referential property of being able to homomorphically evaluate its own decryption function, then one can use &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; to construct a fully homomorphic encryption &amp;lt;math&amp;gt;\mathcal E^{\dagger} &amp;lt;/math&amp;gt;. If this is the case, the term &amp;lt;i&amp;gt;bootstrapable&amp;lt;/i&amp;gt; was coined by Gentry for the scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;The simple scheme presented above is not bootstrapable, but it can be modified slightly to a new scheme &amp;lt;math&amp;gt;  \mathcal E&amp;#039;&amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt; \mathcal E&amp;#039; &amp;lt;/math&amp;gt; can handle essentially the same functions as &amp;lt;math&amp;gt; \mathcal E  &amp;lt;/math&amp;gt;, but whose decryption circuit is simpler. This new scheme &amp;lt;math&amp;gt; \mathcal E&amp;#039; &amp;lt;/math&amp;gt; is now bootstrappable. In Gentry&amp;#039;s construction of &amp;lt;math&amp;gt;\mathcal E&amp;#039; &amp;lt;/math&amp;gt; from &amp;lt;math&amp;gt; \mathcal E  &amp;lt;/math&amp;gt;, he had to add another security assumption to the scheme &amp;lt;math&amp;gt; \mathcal E&amp;#039;  &amp;lt;/math&amp;gt;, namely the hardness of the [[sparse subset sum problem]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;The simple scheme presented above is not bootstrapable, but it can be modified slightly to a new scheme &amp;lt;math&amp;gt;  \mathcal E&amp;#039;&amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt; \mathcal E&amp;#039; &amp;lt;/math&amp;gt; can handle essentially the same functions as &amp;lt;math&amp;gt; \mathcal E  &amp;lt;/math&amp;gt;, but whose decryption circuit is simpler. This new scheme &amp;lt;math&amp;gt; \mathcal E&amp;#039; &amp;lt;/math&amp;gt; is now bootstrappable. In Gentry&amp;#039;s construction of &amp;lt;math&amp;gt;\mathcal E&amp;#039; &amp;lt;/math&amp;gt; from &amp;lt;math&amp;gt; \mathcal E  &amp;lt;/math&amp;gt;, he had to add another security assumption to the scheme &amp;lt;math&amp;gt; \mathcal E&amp;#039;  &amp;lt;/math&amp;gt;, namely the hardness of the [[sparse subset sum problem]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key certfhewiki:diff::1.12:old-233:rev-234 --&gt;
&lt;/table&gt;</summary>
		<author><name>Gturcas</name></author>
		
	</entry>
	<entry>
		<id>https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=233&amp;oldid=prev</id>
		<title>Gturcas: /* Examples */</title>
		<link rel="alternate" type="text/html" href="https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=233&amp;oldid=prev"/>
		<updated>2020-12-30T08:23:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Examples&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 08:23, 30 December 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-l37&quot; &gt;Line 37:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 37:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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;&amp;lt;math&amp;gt;Decypt(p,c):&amp;lt;/math&amp;gt; Ouput (c mod p) mod 2, where (c mod p) is the unique integer &amp;lt;math&amp;gt;c&amp;#039; \in (-p/2,p/2) &amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt;p &amp;lt;/math&amp;gt; divides &amp;lt;math&amp;gt;c-c&amp;#039; &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;&amp;lt;math&amp;gt;Decypt(p,c):&amp;lt;/math&amp;gt; Ouput (c mod p) mod 2, where (c mod p) is the unique integer &amp;lt;math&amp;gt;c&amp;#039; \in (-p/2,p/2) &amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt;p &amp;lt;/math&amp;gt; divides &amp;lt;math&amp;gt;c-c&amp;#039; &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;Remark that ciphertexts coming out of &amp;lt;math&amp;gt;Encrypt &amp;lt;/math&amp;gt; are &amp;lt;i&amp;gt; near-multiples&amp;lt;/i&amp;gt; of &amp;lt;math&amp;gt; p &amp;lt;/math&amp;gt;. The distance from a ciphertext &amp;lt;math&amp;gt;c &amp;lt;/math&amp;gt; to the nearest multiple of &amp;lt;math&amp;gt; p&amp;lt;/math&amp;gt; is commonly called &amp;lt;b&amp;gt; noise &amp;lt;/b&amp;gt;. The decryption algorithm is correct because the noise &amp;lt;math&amp;gt;m&amp;#039; &amp;lt;/math&amp;gt; has the same parity as the message (in plaintext) &amp;lt;math&amp;gt; m &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;Remark that ciphertexts coming out of &amp;lt;math&amp;gt;Encrypt &amp;lt;/math&amp;gt; are &amp;lt;i&amp;gt; near-multiples&amp;lt;/i&amp;gt; of &amp;lt;math&amp;gt; p &amp;lt;/math&amp;gt;. The distance from a ciphertext &amp;lt;math&amp;gt;c &amp;lt;/math&amp;gt; to the nearest multiple of &amp;lt;math&amp;gt; p&amp;lt;/math&amp;gt; is commonly called &amp;lt;b&amp;gt; noise&amp;lt;/b&amp;gt;. The decryption algorithm is correct because the noise &amp;lt;math&amp;gt;m&amp;#039; &amp;lt;/math&amp;gt; has the same parity as the message (in plaintext) &amp;lt;math&amp;gt; m &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;This scheme is homomorphic since by simply adding, subtracting or multiplying the ciphertexts as integers we can add, subtract or multiply modulo &amp;lt;math&amp;gt; 2&amp;lt;/math&amp;gt; the underlying plaintext messages. However, such operations increase the noise on the ciphertexts. Complications arise, i.e. &amp;lt;math&amp;gt; Decrypt &amp;lt;/math&amp;gt; might not work correctly, when the noise &amp;lt;math&amp;gt;m&amp;#039;&amp;lt;/math&amp;gt; is too large when compared to &amp;lt;math&amp;gt; p&amp;lt;/math&amp;gt;. This is a recurrent issue in all homomorphic encription schemes proposed so far in the literature.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;This scheme is homomorphic since by simply adding, subtracting or multiplying the ciphertexts as integers we can add, subtract or multiply modulo &amp;lt;math&amp;gt; 2&amp;lt;/math&amp;gt; the underlying plaintext messages. However, such operations increase the noise on the ciphertexts. Complications arise, i.e. &amp;lt;math&amp;gt; Decrypt &amp;lt;/math&amp;gt; might not work correctly, when the noise &amp;lt;math&amp;gt;m&amp;#039;&amp;lt;/math&amp;gt; is too large when compared to &amp;lt;math&amp;gt; p&amp;lt;/math&amp;gt;. This is a recurrent issue in all homomorphic encription schemes proposed so far in the literature.&lt;/div&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-l49&quot; &gt;Line 49:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 49:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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;If we want to homomorphically evaluate a function &amp;lt;math&amp;gt;f &amp;lt;/math&amp;gt; whose circuit representation has many additions, subtractions and multiplication operation, we have to be careful that the magnitude of the noise does not surpass &amp;lt;math&amp;gt;q/2 &amp;lt;/math&amp;gt;. This is why the scheme we just presented is not fully homomorphic, but only leveled. In particular, the encryption scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; can homomorphically evaluate polynomials of fairly low degree, where not a lot of multiplications are involved.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;If we want to homomorphically evaluate a function &amp;lt;math&amp;gt;f &amp;lt;/math&amp;gt; whose circuit representation has many additions, subtractions and multiplication operation, we have to be careful that the magnitude of the noise does not surpass &amp;lt;math&amp;gt;q/2 &amp;lt;/math&amp;gt;. This is why the scheme we just presented is not fully homomorphic, but only leveled. In particular, the encryption scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; can homomorphically evaluate polynomials of fairly low degree, where not a lot of multiplications are involved.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;The semantic security of the scheme can be reduced to an [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[&lt;/del&gt;approximate gcd problem]]. That is, it was proved that an attacker cannot efficiently break the semantic security of &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; unless the approximate gcd problem is easy.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;The semantic security of the scheme can be reduced to an [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;https://martinralbrecht.wordpress.com/2020/03/21/the-approximate-gcd-problem/ &lt;/ins&gt;approximate gcd problem]]. That is, it was proved that an attacker cannot efficiently break the semantic security of &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; unless &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;b&amp;gt;&lt;/ins&gt;the approximate gcd problem&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/b&amp;gt; &lt;/ins&gt;is easy.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;Gentry proved that if the scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; has the self-referential property of being able to homomorphically evaluate its own decryption function, then one can use &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; to construct a fully homomorphic encryption &amp;lt;math&amp;gt;\mathcal E^{\dagger} &amp;lt;/math&amp;gt;. If this is the case, the term &amp;lt;i&amp;gt;bootstrapable&amp;lt;/i&amp;gt; was coined by Gentry for the scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;Gentry proved that if the scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; has the self-referential property of being able to homomorphically evaluate its own decryption function, then one can use &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; to construct a fully homomorphic encryption &amp;lt;math&amp;gt;\mathcal E^{\dagger} &amp;lt;/math&amp;gt;. If this is the case, the term &amp;lt;i&amp;gt;bootstrapable&amp;lt;/i&amp;gt; was coined by Gentry for the scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key certfhewiki:diff::1.12:old-232:rev-233 --&gt;
&lt;/table&gt;</summary>
		<author><name>Gturcas</name></author>
		
	</entry>
	<entry>
		<id>https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=232&amp;oldid=prev</id>
		<title>Gturcas: /* Examples */</title>
		<link rel="alternate" type="text/html" href="https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=232&amp;oldid=prev"/>
		<updated>2020-12-30T08:21:19Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Examples&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 08:21, 30 December 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-l37&quot; &gt;Line 37:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 37:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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;&amp;lt;math&amp;gt;Decypt(p,c):&amp;lt;/math&amp;gt; Ouput (c mod p) mod 2, where (c mod p) is the unique integer &amp;lt;math&amp;gt;c&amp;#039; \in (-p/2,p/2) &amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt;p &amp;lt;/math&amp;gt; divides &amp;lt;math&amp;gt;c-c&amp;#039; &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;&amp;lt;math&amp;gt;Decypt(p,c):&amp;lt;/math&amp;gt; Ouput (c mod p) mod 2, where (c mod p) is the unique integer &amp;lt;math&amp;gt;c&amp;#039; \in (-p/2,p/2) &amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt;p &amp;lt;/math&amp;gt; divides &amp;lt;math&amp;gt;c-c&amp;#039; &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;Remark that ciphertexts coming out of &amp;lt;math&amp;gt;Encrypt &amp;lt;/math&amp;gt; are &amp;lt;i&amp;gt; near-multiples&amp;lt;/i&amp;gt; of &amp;lt;math&amp;gt; p &amp;lt;/math&amp;gt;. The distance from a ciphertext &amp;lt;math&amp;gt;c &amp;lt;/math&amp;gt; to the nearest multiple of &amp;lt;math&amp;gt; p&amp;lt;/math&amp;gt; is commonly called &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[ &lt;/del&gt;noise &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/del&gt;. The decryption algorithm is correct because the noise &amp;lt;math&amp;gt;m&amp;#039; &amp;lt;/math&amp;gt; has the same parity as the message (in plaintext) &amp;lt;math&amp;gt; m &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;Remark that ciphertexts coming out of &amp;lt;math&amp;gt;Encrypt &amp;lt;/math&amp;gt; are &amp;lt;i&amp;gt; near-multiples&amp;lt;/i&amp;gt; of &amp;lt;math&amp;gt; p &amp;lt;/math&amp;gt;. The distance from a ciphertext &amp;lt;math&amp;gt;c &amp;lt;/math&amp;gt; to the nearest multiple of &amp;lt;math&amp;gt; p&amp;lt;/math&amp;gt; is commonly called &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;b&amp;gt; &lt;/ins&gt;noise &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/b&amp;gt;&lt;/ins&gt;. The decryption algorithm is correct because the noise &amp;lt;math&amp;gt;m&amp;#039; &amp;lt;/math&amp;gt; has the same parity as the message (in plaintext) &amp;lt;math&amp;gt; m &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;This scheme is homomorphic since by simply adding, subtracting or multiplying the ciphertexts as integers we can add, subtract or multiply modulo &amp;lt;math&amp;gt; 2&amp;lt;/math&amp;gt; the underlying plaintext messages. However, such operations increase the noise on the ciphertexts. Complications arise, i.e. &amp;lt;math&amp;gt; Decrypt &amp;lt;/math&amp;gt; might not work correctly, when the noise &amp;lt;math&amp;gt;m&amp;#039;&amp;lt;/math&amp;gt; is too large when compared to &amp;lt;math&amp;gt; p&amp;lt;/math&amp;gt;. This is a recurrent issue in all homomorphic encription schemes proposed so far in the literature.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;This scheme is homomorphic since by simply adding, subtracting or multiplying the ciphertexts as integers we can add, subtract or multiply modulo &amp;lt;math&amp;gt; 2&amp;lt;/math&amp;gt; the underlying plaintext messages. However, such operations increase the noise on the ciphertexts. Complications arise, i.e. &amp;lt;math&amp;gt; Decrypt &amp;lt;/math&amp;gt; might not work correctly, when the noise &amp;lt;math&amp;gt;m&amp;#039;&amp;lt;/math&amp;gt; is too large when compared to &amp;lt;math&amp;gt; p&amp;lt;/math&amp;gt;. This is a recurrent issue in all homomorphic encription schemes proposed so far in the literature.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key certfhewiki:diff::1.12:old-231:rev-232 --&gt;
&lt;/table&gt;</summary>
		<author><name>Gturcas</name></author>
		
	</entry>
	<entry>
		<id>https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=231&amp;oldid=prev</id>
		<title>Gturcas: /* Examples */</title>
		<link rel="alternate" type="text/html" href="https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=231&amp;oldid=prev"/>
		<updated>2020-12-30T08:19:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Examples&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 08:19, 30 December 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-l27&quot; &gt;Line 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 27:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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;== Examples ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;== Examples ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;We start by presenting an encryption scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; proposed by van Dijk, Gentry and Halevi &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;(&lt;/del&gt;&amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;b&lt;/del&gt;&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;TODO&lt;/del&gt;:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;cite&lt;/del&gt;&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;b&lt;/del&gt;&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;)&lt;/del&gt;. The encryption scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; goes as follows.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;We start by presenting an encryption scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; proposed by van Dijk, Gentry and Halevi &amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ref name = vanDijk&lt;/ins&gt;&amp;gt; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;van Dijk, M., Gentry, C., Halevi, S., Vaikuntanathan, V.&lt;/ins&gt;: &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Fully hohomomorphic encryption over the integers, In EUROCRYPT 2010, pp. 24 - 43 &lt;/ins&gt;&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ref&lt;/ins&gt;&amp;gt;. The encryption scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; goes as follows.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;We fix the security parameter &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; and set &amp;lt;math&amp;gt; N=\lambda, P= \lambda^2&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Q= \lambda^5 &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;We fix the security parameter &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; and set &amp;lt;math&amp;gt; N=\lambda, P= \lambda^2&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Q= \lambda^5 &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key certfhewiki:diff::1.12:old-230:rev-231 --&gt;
&lt;/table&gt;</summary>
		<author><name>Gturcas</name></author>
		
	</entry>
	<entry>
		<id>https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=230&amp;oldid=prev</id>
		<title>Gturcas: /* Intuition */</title>
		<link rel="alternate" type="text/html" href="https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=230&amp;oldid=prev"/>
		<updated>2020-12-30T08:10:26Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Intuition&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 08:10, 30 December 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-l3&quot; &gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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;== Intuition ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;== Intuition ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;Let  &amp;lt;math&amp;gt; \mathcal E = (\mathcal C, \mathcal P, KeyGen, Encrypt, Decrypt, Evaluate) &amp;lt;/math&amp;gt; be a [[Homomorphic encryption|homomorphic encryption scheme]]. A desirable property of &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; is the possibility of evaluation arbitrary functions on ciphertexts from &amp;lt;math&amp;gt; \mathcal C &amp;lt;/math&amp;gt; in a meaningful way. Clearly the complexity of  &amp;lt;math&amp;gt;Evaluate(f,c)&amp;lt;/math&amp;gt; must depend on the complexity of the function &amp;lt;math&amp;gt;f &amp;lt;/math&amp;gt;. To measure the latter, we use &amp;lt;math&amp;gt; S_f &amp;lt;/math&amp;gt;, the size of a [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[&lt;/del&gt;boolean circuit&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/del&gt;] that computes &amp;lt;math&amp;gt;f &amp;lt;/math&amp;gt;. The algorithm &amp;lt;math&amp;gt; Evaluate &amp;lt;/math&amp;gt; is efficient if there exists a polynomial &amp;lt;math&amp;gt; g &amp;lt;/math&amp;gt; such that for any function &amp;lt;math&amp;gt; f &amp;lt;/math&amp;gt; that is represented by a circuit of size &amp;lt;math&amp;gt; S_f &amp;lt;/math&amp;gt;, the complexity of &amp;lt;math&amp;gt; Evaluate(f,c_1, \dots, c_t, pk) &amp;lt;/math&amp;gt; is at most &amp;lt;math&amp;gt;S_f \cdot g(\lambda) &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;Let  &amp;lt;math&amp;gt; \mathcal E = (\mathcal C, \mathcal P, KeyGen, Encrypt, Decrypt, Evaluate) &amp;lt;/math&amp;gt; be a [[Homomorphic encryption|homomorphic encryption scheme]]. A desirable property of &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; is the possibility of evaluation arbitrary functions on ciphertexts from &amp;lt;math&amp;gt; \mathcal C &amp;lt;/math&amp;gt; in a meaningful way. Clearly the complexity of  &amp;lt;math&amp;gt;Evaluate(f,c)&amp;lt;/math&amp;gt; must depend on the complexity of the function &amp;lt;math&amp;gt;f &amp;lt;/math&amp;gt;. To measure the latter, we use &amp;lt;math&amp;gt; S_f &amp;lt;/math&amp;gt;, the size of a [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;https://en.wikipedia.org/wiki/Boolean_circuit &lt;/ins&gt;boolean circuit] that computes &amp;lt;math&amp;gt;f &amp;lt;/math&amp;gt;. The algorithm &amp;lt;math&amp;gt; Evaluate &amp;lt;/math&amp;gt; is efficient if there exists a polynomial &amp;lt;math&amp;gt; g &amp;lt;/math&amp;gt; such that for any function &amp;lt;math&amp;gt; f &amp;lt;/math&amp;gt; that is represented by a circuit of size &amp;lt;math&amp;gt; S_f &amp;lt;/math&amp;gt;, the complexity of &amp;lt;math&amp;gt; Evaluate(f,c_1, \dots, c_t, pk) &amp;lt;/math&amp;gt; is at most &amp;lt;math&amp;gt;S_f \cdot g(\lambda) &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;The circuit representation of &amp;lt;math&amp;gt;f &amp;lt;/math&amp;gt; breaks down the computation of &amp;lt;math&amp;gt;f &amp;lt;/math&amp;gt; into AND, OR, and NOT gates. To evaluate these it is enough to be able to add, subtract and multiply. Therefore, to obtain a fully homomorphic encryption scheme, all we need is a scheme that supports arbitrary additions, subtractions and multiplications on the ciphertexts, so as it does on their underlying encrypted messages.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;The circuit representation of &amp;lt;math&amp;gt;f &amp;lt;/math&amp;gt; breaks down the computation of &amp;lt;math&amp;gt;f &amp;lt;/math&amp;gt; into AND, OR, and NOT gates. To evaluate these it is enough to be able to add, subtract and multiply. Therefore, to obtain a fully homomorphic encryption scheme, all we need is a scheme that supports arbitrary additions, subtractions and multiplications on the ciphertexts, so as it does on their underlying encrypted messages.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key certfhewiki:diff::1.12:old-50:rev-230 --&gt;
&lt;/table&gt;</summary>
		<author><name>Gturcas</name></author>
		
	</entry>
	<entry>
		<id>https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=50&amp;oldid=prev</id>
		<title>Gturcas: /* Examples */</title>
		<link rel="alternate" type="text/html" href="https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=50&amp;oldid=prev"/>
		<updated>2020-03-17T12:40:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Examples&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 12:40, 17 March 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-l37&quot; &gt;Line 37:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 37:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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;&amp;lt;math&amp;gt;Decypt(p,c):&amp;lt;/math&amp;gt; Ouput (c mod p) mod 2, where (c mod p) is the unique integer &amp;lt;math&amp;gt;c&amp;#039; \in (-p/2,p/2) &amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt;p &amp;lt;/math&amp;gt; divides &amp;lt;math&amp;gt;c-c&amp;#039; &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;&amp;lt;math&amp;gt;Decypt(p,c):&amp;lt;/math&amp;gt; Ouput (c mod p) mod 2, where (c mod p) is the unique integer &amp;lt;math&amp;gt;c&amp;#039; \in (-p/2,p/2) &amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt;p &amp;lt;/math&amp;gt; divides &amp;lt;math&amp;gt;c-c&amp;#039; &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;Remark that ciphertexts &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;from outputed by &lt;/del&gt;&amp;lt;math&amp;gt;Encrypt &amp;lt;/math&amp;gt; are &amp;lt;i&amp;gt; near-multiples&amp;lt;/i&amp;gt; of &amp;lt;math&amp;gt; p &amp;lt;/math&amp;gt;. The distance from a ciphertext &amp;lt;math&amp;gt;c &amp;lt;/math&amp;gt; to the nearest multiple of &amp;lt;math&amp;gt; p&amp;lt;/math&amp;gt; is commonly called [[ noise ]]. The decryption algorithm is correct because the noise &amp;lt;math&amp;gt;m&amp;#039; &amp;lt;/math&amp;gt; has the same parity as the message (in plaintext) &amp;lt;math&amp;gt; m &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;Remark that ciphertexts &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;coming out of &lt;/ins&gt;&amp;lt;math&amp;gt;Encrypt &amp;lt;/math&amp;gt; are &amp;lt;i&amp;gt; near-multiples&amp;lt;/i&amp;gt; of &amp;lt;math&amp;gt; p &amp;lt;/math&amp;gt;. The distance from a ciphertext &amp;lt;math&amp;gt;c &amp;lt;/math&amp;gt; to the nearest multiple of &amp;lt;math&amp;gt; p&amp;lt;/math&amp;gt; is commonly called [[ noise ]]. The decryption algorithm is correct because the noise &amp;lt;math&amp;gt;m&amp;#039; &amp;lt;/math&amp;gt; has the same parity as the message (in plaintext) &amp;lt;math&amp;gt; m &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;This scheme is homomorphic since by simply adding, subtracting or multiplying the ciphertexts as integers we can add, subtract or multiply modulo &amp;lt;math&amp;gt; 2&amp;lt;/math&amp;gt; the underlying plaintext messages. However, such operations increase the noise on the ciphertexts. Complications arise, i.e. &amp;lt;math&amp;gt; Decrypt &amp;lt;/math&amp;gt; might not work correctly, when the noise &amp;lt;math&amp;gt;m&amp;#039;&amp;lt;/math&amp;gt; is too large when compared to &amp;lt;math&amp;gt; p&amp;lt;/math&amp;gt;. This is a recurrent issue in all homomorphic encription schemes proposed so far in the literature.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;This scheme is homomorphic since by simply adding, subtracting or multiplying the ciphertexts as integers we can add, subtract or multiply modulo &amp;lt;math&amp;gt; 2&amp;lt;/math&amp;gt; the underlying plaintext messages. However, such operations increase the noise on the ciphertexts. Complications arise, i.e. &amp;lt;math&amp;gt; Decrypt &amp;lt;/math&amp;gt; might not work correctly, when the noise &amp;lt;math&amp;gt;m&amp;#039;&amp;lt;/math&amp;gt; is too large when compared to &amp;lt;math&amp;gt; p&amp;lt;/math&amp;gt;. This is a recurrent issue in all homomorphic encription schemes proposed so far in the literature.&lt;/div&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-l47&quot; &gt;Line 47:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 47:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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;  (&amp;lt;math&amp;gt;c &amp;lt;/math&amp;gt; mod &amp;lt;math&amp;gt; p &amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;m_1&amp;#039; \cdot m_2&amp;#039; &amp;lt;/math&amp;gt; as it should be for correct decryption.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;  (&amp;lt;math&amp;gt;c &amp;lt;/math&amp;gt; mod &amp;lt;math&amp;gt; p &amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;m_1&amp;#039; \cdot m_2&amp;#039; &amp;lt;/math&amp;gt; as it should be for correct decryption.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;If we want to homomorphically evaluate a function &amp;lt;math&amp;gt;f &amp;lt;/math&amp;gt; whose circuit representation has many additions, subtractions and multiplication operation, we have to be careful that the magnitude of the noise does not surpass &amp;lt;math&amp;gt;q/2 &amp;lt;/math&amp;gt;. This is why the scheme we just presented is not fully homomorphic, but only leveled.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;If we want to homomorphically evaluate a function &amp;lt;math&amp;gt;f &amp;lt;/math&amp;gt; whose circuit representation has many additions, subtractions and multiplication operation, we have to be careful that the magnitude of the noise does not surpass &amp;lt;math&amp;gt;q/2 &amp;lt;/math&amp;gt;. This is why the scheme we just presented is not fully homomorphic, but only leveled&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. In particular, the encryption scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; can homomorphically evaluate polynomials of fairly low degree, where not a lot of multiplications are involved&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;The semantic security of the scheme can be reduced to an [[approximate gcd problem]]. That is, it was proved that an attacker cannot efficiently break the semantic security of &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; unless the approximate gcd problem is easy.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;The semantic security of the scheme can be reduced to an [[approximate gcd problem]]. That is, it was proved that an attacker cannot efficiently break the semantic security of &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; unless the approximate gcd problem is easy.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;&amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;b&lt;/del&gt;&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;TODO: Bootstrappable &lt;/del&gt;encryption &amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;b&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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 class=&quot;diffchange diffchange-inline&quot;&gt;Gentry proved that if the scheme &lt;/ins&gt;&amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;math&lt;/ins&gt;&amp;gt; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;\mathcal E &amp;lt;/math&amp;gt; has the self-referential property of being able to homomorphically evaluate its own decryption function, then one can use &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; to construct a fully homomorphic &lt;/ins&gt;encryption &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;math&amp;gt;\mathcal E^{\dagger} &amp;lt;/math&amp;gt;. If this is the case, the term &amp;lt;i&amp;gt;bootstrapable&amp;lt;/i&amp;gt; was coined by Gentry for the scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;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=&#039;diff-marker&#039;&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;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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 class=&quot;diffchange diffchange-inline&quot;&gt;The simple scheme presented above is not bootstrapable, but it can be modified slightly to a new scheme &amp;lt;math&amp;gt;  \mathcal E&amp;#039;&amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt; \mathcal E&amp;#039; &amp;lt;/math&amp;gt; can handle essentially the same functions as &amp;lt;math&amp;gt; \mathcal E  &amp;lt;/math&amp;gt;, but whose decryption circuit is simpler. This new scheme &amp;lt;math&amp;gt; \mathcal E&amp;#039; &amp;lt;/math&amp;gt; is now bootstrappable. In Gentry&amp;#039;s construction of &amp;lt;math&amp;gt;\mathcal E&amp;#039; &amp;lt;/math&amp;gt; from &amp;lt;math&amp;gt; \mathcal E  &lt;/ins&gt;&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;math&amp;gt;, he had to add another security assumption to the scheme &amp;lt;math&lt;/ins&gt;&amp;gt; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;\mathcal E&amp;#039;  &amp;lt;/math&amp;gt;, namely the hardness of the [[sparse subset sum problem]].&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=&#039;diff-marker&#039;&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;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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 class=&quot;diffchange diffchange-inline&quot;&gt;In Alice&amp;#039;s jewellery store analogy presented on the [[Homomorphic encryption]] page, the bootstrapping process is analogous to Alice giving a worker a glovebox #1, containing the raw materials and many additional gloveboxes. In box #2, Alice placed the key to box #1, box #3 contains the key to box number #2 and so on. To assemble a complicated piece, the worker manipulates the materials in box #1 until the gloves on the box become impractical. Then, he places box #1 inside box #2. Using the keys inside, he opens box #1 with the key, extracts the partially assembled piece and continues to assembly until the gloves of box #2 become impractical. When the worker finally finishes the assembly inside box #n, he hands the box to Alice. This process works as long as the worker can open box #i within box #(i+1) and still do a little bit of work on the pieces inside before the gloves of the box #(i+1) stiffen. As long as Alice has enough resources (i.e. gloveboxes and time for the manufacturing process)  then her jewellery store can assemble any piece, no matter how complicated it is.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;== References ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;== References ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key certfhewiki:diff::1.12:old-48:rev-50 --&gt;
&lt;/table&gt;</summary>
		<author><name>Gturcas</name></author>
		
	</entry>
	<entry>
		<id>https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=48&amp;oldid=prev</id>
		<title>Gturcas: /* Examples */</title>
		<link rel="alternate" type="text/html" href="https://certfhewiki.certsign.ro/wiki/index.php?title=FHE&amp;diff=48&amp;oldid=prev"/>
		<updated>2020-03-11T09:45:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Examples&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 09:45, 11 March 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-l26&quot; &gt;Line 26:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;== Examples ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;== Examples ==&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;We start by presenting an encryption scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; proposed by van Dijk, Gentry and Halevi (&amp;lt;b&amp;gt;TODO:cite&amp;lt;/b&amp;gt;). The encryption scheme &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; goes as follows.&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;We fix the security parameter &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; and set &amp;lt;math&amp;gt; N=\lambda, P= \lambda^2&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Q= \lambda^5 &amp;lt;/math&amp;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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;&amp;lt;p&amp;gt;&amp;lt;math&amp;gt;Keygen(\lambda):&amp;lt;/math&amp;gt; Output a random odd &amp;lt;math&amp;gt;P &amp;lt;/math&amp;gt;-bit integer &amp;lt;math&amp;gt; p&amp;lt;/math&amp;gt;. &amp;lt;/p&amp;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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;&amp;lt;p&amp;gt;&amp;lt;math&amp;gt;Encrypt(p,m):&amp;lt;/math&amp;gt; To encrypt a bit &amp;lt;math&amp;gt; m \in \{0,1 \} &amp;lt;/math&amp;gt;, let &amp;lt;math&amp;gt; m&amp;#039; &amp;lt;/math&amp;gt; be a random &amp;lt;math&amp;gt;N &amp;lt;/math&amp;gt;-bit integer such that &amp;lt;math&amp;gt; m&amp;#039;=m \pmod 2&amp;lt;/math&amp;gt;. Output the ciphertext &amp;lt;math&amp;gt;c \leftarrow m&amp;#039;+pq &amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;q &amp;lt;/math&amp;gt; is a random &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt;-bit integer number.&amp;lt;/p&amp;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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;&amp;lt;math&amp;gt;Decypt(p,c):&amp;lt;/math&amp;gt; Ouput (c mod p) mod 2, where (c mod p) is the unique integer &amp;lt;math&amp;gt;c&amp;#039; \in (-p/2,p/2) &amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt;p &amp;lt;/math&amp;gt; divides &amp;lt;math&amp;gt;c-c&amp;#039; &amp;lt;/math&amp;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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;Remark that ciphertexts from outputed by &amp;lt;math&amp;gt;Encrypt &amp;lt;/math&amp;gt; are &amp;lt;i&amp;gt; near-multiples&amp;lt;/i&amp;gt; of &amp;lt;math&amp;gt; p &amp;lt;/math&amp;gt;. The distance from a ciphertext &amp;lt;math&amp;gt;c &amp;lt;/math&amp;gt; to the nearest multiple of &amp;lt;math&amp;gt; p&amp;lt;/math&amp;gt; is commonly called [[ noise ]]. The decryption algorithm is correct because the noise &amp;lt;math&amp;gt;m&amp;#039; &amp;lt;/math&amp;gt; has the same parity as the message (in plaintext) &amp;lt;math&amp;gt; m &amp;lt;/math&amp;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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;This scheme is homomorphic since by simply adding, subtracting or multiplying the ciphertexts as integers we can add, subtract or multiply modulo &amp;lt;math&amp;gt; 2&amp;lt;/math&amp;gt; the underlying plaintext messages. However, such operations increase the noise on the ciphertexts. Complications arise, i.e. &amp;lt;math&amp;gt; Decrypt &amp;lt;/math&amp;gt; might not work correctly, when the noise &amp;lt;math&amp;gt;m&amp;#039;&amp;lt;/math&amp;gt; is too large when compared to &amp;lt;math&amp;gt; p&amp;lt;/math&amp;gt;. This is a recurrent issue in all homomorphic encription schemes proposed so far in the literature.&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;Let us emphasize this on the multiplication operation &amp;lt;math&amp;gt; Mult &amp;lt;/math&amp;gt;. Let &amp;lt;math&amp;gt;c_1,c_2 &amp;lt;/math&amp;gt; be two ciphertexts with associated noise &amp;lt;math&amp;gt;m_1&amp;#039; &amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;m_2&amp;#039; &amp;lt;/math&amp;gt; respectively. We have that&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;&amp;lt;math&amp;gt; c \leftarrow Mult(c_1,c_2) = m_1&amp;#039; \cdot m_2&amp;#039; + p \cdot q&amp;#039; &amp;lt;/math&amp;gt; for some integer &amp;lt;math&amp;gt;q&amp;#039; &amp;lt;/math&amp;gt;. As long as &amp;lt;math&amp;gt; |m_1&amp;#039; \cdot m_2&amp;#039;| &amp;lt; p/2&amp;lt;/math&amp;gt;, we have that&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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; (&amp;lt;math&amp;gt;c &amp;lt;/math&amp;gt; mod &amp;lt;math&amp;gt; p &amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;m_1&amp;#039; \cdot m_2&amp;#039; &amp;lt;/math&amp;gt; as it should be for correct decryption.&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;If we want to homomorphically evaluate a function &amp;lt;math&amp;gt;f &amp;lt;/math&amp;gt; whose circuit representation has many additions, subtractions and multiplication operation, we have to be careful that the magnitude of the noise does not surpass &amp;lt;math&amp;gt;q/2 &amp;lt;/math&amp;gt;. This is why the scheme we just presented is not fully homomorphic, but only leveled.&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;The semantic security of the scheme can be reduced to an [[approximate gcd problem]]. That is, it was proved that an attacker cannot efficiently break the semantic security of &amp;lt;math&amp;gt; \mathcal E &amp;lt;/math&amp;gt; unless the approximate gcd problem is easy.&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;&amp;lt;b&amp;gt;TODO: Bootstrappable encryption &amp;lt;/b&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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=&#039;diff-marker&#039;&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;== References ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&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;== References ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key certfhewiki:diff::1.12:old-47:rev-48 --&gt;
&lt;/table&gt;</summary>
		<author><name>Gturcas</name></author>
		
	</entry>
</feed>