<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.formulasearchengine.com/w/index.php?action=history&amp;feed=atom&amp;title=Preparata_code</id>
	<title>Preparata code - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://en.formulasearchengine.com/w/index.php?action=history&amp;feed=atom&amp;title=Preparata_code"/>
	<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/w/index.php?title=Preparata_code&amp;action=history"/>
	<updated>2026-07-28T05:38:39Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.47.0-wmf.7</generator>
	<entry>
		<id>https://en.formulasearchengine.com/w/index.php?title=Preparata_code&amp;diff=261534&amp;oldid=prev</id>
		<title>129.217.151.245: /* Construction */</title>
		<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/w/index.php?title=Preparata_code&amp;diff=261534&amp;oldid=prev"/>
		<updated>2014-07-01T11:24:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Construction&lt;/span&gt;&lt;/p&gt;
&lt;a href=&quot;https://en.formulasearchengine.com/w/index.php?title=Preparata_code&amp;amp;diff=261534&amp;amp;oldid=22614&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>129.217.151.245</name></author>
	</entry>
	<entry>
		<id>https://en.formulasearchengine.com/w/index.php?title=Preparata_code&amp;diff=22614&amp;oldid=prev</id>
		<title>en&gt;Qetuth: changed stub type to crypto</title>
		<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/w/index.php?title=Preparata_code&amp;diff=22614&amp;oldid=prev"/>
		<updated>2012-01-01T07:58:14Z</updated>

		<summary type="html">&lt;p&gt;changed stub type to crypto&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!--  This contribution is a result of the seminar &amp;#039;Post Quantum Cryptology&amp;#039; which was held at the chair for communication security at the Ruhr-University Bochum, Germany  --&amp;gt;&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Goldreich–Goldwasser–Halevi (GGH)&amp;#039;&amp;#039;&amp;#039; [[Lattice-based cryptography|lattice-based]] [[cryptosystem]] is an [[Public-key cryptography|asymmetric]] cryptosystem based on [[Lattice (group)|lattices]].  There is also a [[GGH signature scheme]].&lt;br /&gt;
&lt;br /&gt;
The Goldreich–Goldwasser–Halevi (GGH) cryptosystem makes use of the fact that the [[Lattice problems|closest vector problem]] can be a hard problem. It was published in 1997 and uses a trapdoor one-way function that is relying on the difficulty of lattice reduction. The idea included in this trapdoor function is that, given any basis for a lattice, it is easy to generate a vector which is close to a lattice point, for example&lt;br /&gt;
taking a lattice point and adding a small error vector. But to return from this erroneous vector to the original lattice point a special basis is needed.&lt;br /&gt;
&lt;br /&gt;
The GGH encryption scheme was cryptanalyzed in 1999 by Phong Q. Nguyen.&lt;br /&gt;
&lt;br /&gt;
==Operation==&lt;br /&gt;
GGH involves a private key and a public key.&lt;br /&gt;
&lt;br /&gt;
The private key is a basis &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; of a lattice &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; with good properties (such as short [[Lattice_reduction#Nearly_Orthogonal|nearly orthogonal]] vectors) and a [[unimodular matrix]] &amp;lt;math&amp;gt;U&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The public key is another basis of the lattice &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; of the form &amp;lt;math&amp;gt;B&amp;#039;=UB&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For some chosen M, the message space consists of the vector &amp;lt;math&amp;gt;(\lambda_1,..., \lambda_n)&amp;lt;/math&amp;gt; in the range &amp;lt;math&amp;gt;-M &amp;lt;\lambda_i &amp;lt; M&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Encryption ===&lt;br /&gt;
Given a message &amp;lt;math&amp;gt;m = (\lambda_1,..., \lambda_n)&amp;lt;/math&amp;gt;, error &amp;lt;math&amp;gt;e&amp;lt;/math&amp;gt;, and a&lt;br /&gt;
public key &amp;lt;math&amp;gt;B&amp;#039;&amp;lt;/math&amp;gt; compute&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt;v = \sum \lambda_i b_i&amp;#039;&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In matrix notation this is&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt;v=m\cdot B&amp;#039;&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Remember &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; consists of integer values, and &amp;lt;math&amp;gt;b&amp;#039;&amp;lt;/math&amp;gt; is a lattice point, so v is also a lattice point. The ciphertext is then&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt;c=v+e=m \cdot B&amp;#039; + e&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Decryption ===&lt;br /&gt;
To decrypt the cyphertext one computes&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; c \cdot B^{-1} = (m\cdot B^\prime +e)B^{-1} = m\cdot U\cdot B\cdot B^{-1} + e\cdot B^{-1} = m\cdot U + e\cdot B^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Babai rounding technique will be used to remove the term &amp;lt;math&amp;gt;e \cdot B^{-1}&amp;lt;/math&amp;gt; as long as it is small enough. Finally compute&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; m = m \cdot U \cdot U^{-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to get the messagetext.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
Let &amp;lt;math&amp;gt;L \subset \mathbb{R}^2&amp;lt;/math&amp;gt; be a lattice with the basis &amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt; and its inverse &amp;lt;math&amp;gt;B^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; B=  \begin{pmatrix}&lt;br /&gt;
 7 &amp;amp; 0 \\ 0 &amp;amp; 3 \\      &lt;br /&gt;
     \end{pmatrix}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;B^{-1}=  \begin{pmatrix}&lt;br /&gt;
 \frac{1}{7} &amp;amp; 0 \\ 0 &amp;amp; \frac{1}{3} \\      &lt;br /&gt;
     \end{pmatrix}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt;U = \begin{pmatrix}&lt;br /&gt;
         2 &amp;amp; 3 \\ 3 &amp;amp;5\\&lt;br /&gt;
        \end{pmatrix}&amp;lt;/math&amp;gt; and&lt;br /&gt;
: &amp;lt;math&amp;gt;U^{-1} = \begin{pmatrix}&lt;br /&gt;
         5 &amp;amp; -3 \\ -3 &amp;amp;2\\&lt;br /&gt;
        \end{pmatrix}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
this gives&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt;B&amp;#039; = U B = \begin{pmatrix}&lt;br /&gt;
            14 &amp;amp; 9 \\ 21 &amp;amp; 15 \\&lt;br /&gt;
           \end{pmatrix}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Let the message be &amp;lt;math&amp;gt;m = (3, -7)&amp;lt;/math&amp;gt; and the error vector &amp;lt;math&amp;gt;e = (1, -1)&amp;lt;/math&amp;gt;. Then the ciphertext is&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt;c = m B&amp;#039;+e=(-104, -79).\,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To decrypt one must compute&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt;c B^{-1} = \left( \frac{-104}{7}, \frac{-79}{3}\right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is rounded to &amp;lt;math&amp;gt;(-15, -26)&amp;lt;/math&amp;gt; and the message is recovered with&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt;m= (-15, -26) U^{-1} = (3, -7).\,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Security of the scheme==&lt;br /&gt;
1999 Nguyen showed at the Crypto conference that the GGH encryption scheme has a flaw in the design of the schemes. He showed that every ciphertext reveals information about the plaintext and that the problem of decryption could be turned into a special closest vector problem much easier to solve than the general CVP.&lt;br /&gt;
&lt;br /&gt;
==Bibliography==&lt;br /&gt;
* Oded Goldreich, Shafi Goldwasser, and Shai Halevi. Public-key cryptosystems from lattice reduction problems. In CRYPTO ’97: Proceedings of the 17th Annual International Cryptology Conference on Advances in Cryptology, pages 112–131, London, UK, 1997. Springer-Verlag.&lt;br /&gt;
* Phong Q. Nguyen. [http://www.di.ens.fr/~pnguyen/pub_Ng99.htm Cryptanalysis of the Goldreich–Goldwasser–Halevi Cryptosystem from Crypto ’97]. In CRYPTO ’99: Proceedings of the 19th Annual International Cryptology Conference on Advances in Cryptology, pages 288–304, London, UK, 1999. Springer-Verlag.&lt;br /&gt;
&lt;br /&gt;
[[Category:Public-key encryption schemes]]&lt;br /&gt;
[[Category:Lattice-based cryptography]]&lt;/div&gt;</summary>
		<author><name>en&gt;Qetuth</name></author>
	</entry>
</feed>