PPAD (complexity): Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Mark viking
Added context to first sentence, added wl
en>BG19bot
m WP:CHECKWIKI error fix for #61. Punctuation goes before References. Do general fixes if a problem exists. - using AWB (10480)
 
Line 1: Line 1:
The '''Rabin fingerprinting scheme''' is a method for implementing [[fingerprint (computing)|fingerprint]]s using [[polynomial]]s over a [[finite field]]. It was proposed by [[Michael O. Rabin]].<ref>
Friends call him Royal Seyler. Managing people is how I make money and it's some thing I really appreciate. The factor I adore most bottle tops gathering and now I have time to consider on new things. Delaware is our beginning place.<br><br>My website: [http://www.Wandmanufaktur.de/index/users/view/id/3122 http://www.Wandmanufaktur.de]
{{cite paper |author=[[Michael O. Rabin]] |title=Fingerprinting by Random Polynomials |publisher=Center for Research in Computing Technology, Harvard University |id=Tech Report TR-CSE-03-01 |year=1981 |url=http://www.xmailserver.org/rabin.pdf |format=PDF |accessdate=2007-03-22 }}
</ref>
 
==Scheme==
Given an ''n''-bit message ''m''<sub>0</sub>,...,''m''<sub>n-1</sub>, we view it as a polynomial of degree ''n''-1 over the [[finite field]] [[Galois field|GF(2)]].
 
<math> f(x) = m_0 + m_1 x + \ldots + m_{n-1} x^{n-1} </math>
 
We then pick a random [[irreducible polynomial]] ''p(x)'' of degree ''k'' over GF(2), and we define the fingerprint of ''m'' to be the remainder <math>r(x)</math> after division of <math>f(x)</math> by <math>p(x)</math> over GF(2) which can be viewed as a polynomial of degree ''k''-1 or as a ''k''-bit number.
 
==Applications==
 
The ''Low Bandwidth Network Filesystem'' (LBFS) from MIT uses Rabin fingerprints to implement variable size shift-resistant blocks.
<ref>Athicha Muthitacharoen, Benjie Chen, and [[David Mazières]]
[http://pdos.csail.mit.edu/papers/lbfs:sosp01/lbfs.pdf "A Low-bandwidth Network File System"]</ref>
The basic idea is that the filesystem computes the [[cryptographic hash]] of each block in a file.  To save on transfers between the client and server,
they compare their checksums and only transfer blocks whose checksums differ. But one problem with this scheme is that a single insertion at the beginning of the file will cause every checksum to change if fixed-sized (e.g. 4 KB) blocks are used.  So the idea is to select blocks not based on a specific offset but rather by some property of the block contents.  LBFS does this by sliding a 48 byte window over the file and computing the Rabin fingerprint of each window.  When the low 13 bits of the fingerprint are zero LBFS calls those 48 bytes a breakpoint and ends the current block and begins a new one.  Since the output of Rabin fingerprints are [[pseudo-random]] the probability of any given 48 bytes being a breakpoint is <math>2^{-13}</math>. This has the effect of shift-resistant variable size blocks. ''Any'' [[hash function]] could be used to divide a long file into blocks (as long as a [[cryptographic hash function]] is then used to find the checksum of each block): but the Rabin fingerprint is an efficient [[rolling hash]], since the computation of the Rabin fingerprint of region ''B'' can reuse some of the computation of the Rabin fingerprint of region ''A'' when regions ''A'' and ''B'' overlap.
 
Note that this is a problem similar to that faced by [[rsync]].
 
==See also==
*[[W-shingling]]
*[[Rolling hash]]
 
==References==
<references/>
 
==External links==
* {{cite paper |author=Andrei Z. Broder |year=1993 |title=Some applications of Rabin's fingerprinting method |url=http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.53.6172 |accessdate=2011-09-12 }}
* {{cite paper |author=David Andersen |year=2007 |title=Exploiting Similarity for Multi-Source Downloads using File Handprints |url=http://www.cs.cmu.edu/~dga/papers/nsdi2007-set-abstract.html |accessdate=2007-04-12 }}
* [http://code.google.com/p/rabin-fingerprint-c/ Rabin fingerprint algorithm implemented in C]
 
[[Category:Theory of cryptography]]
 
 
{{crypto-stub}}

Latest revision as of 09:40, 25 October 2014

Friends call him Royal Seyler. Managing people is how I make money and it's some thing I really appreciate. The factor I adore most bottle tops gathering and now I have time to consider on new things. Delaware is our beginning place.

My website: http://www.Wandmanufaktur.de