• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

doc/H31-May-2019-22,92420,528

src/H31-May-2019-54,78345,003

tests/H31-May-2019-13,51011,011

AUTHORSH A D30-Jul-201535 21

BUGSH A D31-Aug-2018759 1611

COPYINGH A D30-Oct-201817.6 KiB341281

ChangeLogH A D31-May-201918.1 KiB273270

DoxyfileH A D28-Sep-201749.4 KiB1,228872

FDLH A D13-May-201722.4 KiB452373

INSTALLH A D24-Aug-201815.4 KiB369287

Makefile.amH A D31-Oct-2017973 264

Makefile.inH A D31-May-201926.5 KiB857740

NEWSH A D31-May-20198.1 KiB116113

PATENTSH A D28-Sep-20173.3 KiB7755

READMEH A D31-May-201933.3 KiB650545

THANKSH A D31-May-2019232 98

TODOH A D31-May-20192 KiB3529

aclocal.m4H A D31-May-2019377.8 KiB10,5529,557

compileH A D24-Aug-20187.2 KiB349259

config.guessH A D24-Aug-201843.2 KiB1,4781,286

config.subH A D24-Aug-201836.1 KiB1,8671,726

configureH A D31-May-2019653.8 KiB21,64818,435

configure.acH A D31-May-201911.6 KiB327296

depcompH A D24-Aug-201823 KiB792502

install-shH A D24-Aug-201815 KiB519337

libTMCG_config.h.inH A D21-Nov-201812.9 KiB457316

ltmain.shH A D24-Aug-2018318.1 KiB11,2118,101

missingH A D24-Aug-20186.7 KiB216143

test-driverH A D24-Aug-20184.5 KiB14987

README

1Copyright (C)  2005, 2006, 2007, 2009, 2015, 2016, 2017, 2018, 2019
2               Heiko Stamer <HeikoStamer@gmx.net>
3  Permission is granted to copy, distribute and/or modify this document
4  under the terms of the GNU Free Documentation License, Version 1.3
5  or any later version published by the Free Software Foundation;
6  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
7  Texts. A copy of the license is included in the section entitled
8  "APPENDIX: GNU Free Documentation License".
9
10Introduction
11------------
12  LibTMCG is a free C++ library for creating secure and verifiable online
13  card games. The library contains a sort of useful classes, algorithms,
14  and high-level protocols to support an application programmer in writing
15  such software. The most remarkable feature is the absence of a trusted
16  third party (TTP), i.e., neither a central game server nor trusted
17  hardware components are necessary.
18  With the present library there is no need for an independent referee,
19  because the applied protocols provide a basic level of confidentiality
20  and verifiability by itself. Consequently, the library is well-suited
21  for peer-to-peer (P2P) environments where no TTP is available.
22  Of course, we cannot avoid that malicious players share information about
23  their private cards, but the protocols ensure that the shuffle of the deck
24  is performed randomly (presumed that at least one player is honest) and
25  thus the cards will be distributed uniformly among the players. Further,
26  no coalition can learn the private cards of a player against his will
27  (except for trivial conclusions). The corresponding cryptographic problem,
28  actually called ``Mental Poker'', has been studied since 1979 (Shamir,
29  Rivest, and Adleman) by many authors. LibTMCG provides the first practical
30  implementation of such protocols.
31
32  The implementation relies on advanced cryptographic techniques---the
33  so-called `zero-knowledge proofs'. Using these building blocks the
34  high-level protocols minimize the effect of coalitions and preserve the
35  confidentiality of the players' strategy, i.e., the participants are not
36  required to reveal their cards at the end of the game to show that they
37  did not cheat. For many operations of Schindelhauer's toolbox the library
38  provides optimized protocols based on standard cryptographic assumptions,
39  e.g. Decisional Diffie Hellman (DDH) in groups of prime-order over a
40  finite field. Therefore a reasonable level of performance is obtained.
41
42  LibTMCG is Free Software according to the definition of the Free Software
43  Foundation. The source code is released under the GNU General Public License.
44
45Security
46--------
47  ``Mental Poker'' solutions cannot prevent that malicious players exchange
48  private information, for example, by telephone or electronic devices.
49  Cryptographic protocols can only minimize the effect of such colluding
50  parties and try to protect the confidentiality or integrity of a card
51  operation for honest players. But even this protection often relies on
52  number-theoretical hardness assumptions which are believed to be true,
53  e.g. problems like factoring products of large prime numbers or computing
54  discrete logarithms in some mathematical structures. That means, strict
55  proofs for the hardness of these problems are not known, and it is not very
56  likely that such proofs will ever be found. However, almost all public key
57  cryptosystems rely on such assumptions and therefore you should not worry
58  about this issue as long as reasonable security parameters are chosen.
59
60  LibTMCG was originally designed to provide security in the so-called
61  ``honest-but-curious'' (aka ``semi-honest'' or passive) adversary model.
62  That means, all participants follow the protocol instructions properly
63  but they may gather information and share them within a coalition to
64  obtain an advantage in the game. Thus we are basically not concerned
65  with robustness and availability issues which are hard to solve in almost
66  asynchronous environments like the Internet. However, the most operations
67  are verifiable such that cheating can be detected. To obtain this
68  verifiability, the protocols deploy so-called zero-knowledge proofs
69  which yield no further knowledge but the validity of a statement. The
70  soundness error of these proofs is bounded by a fixed security parameter
71  $\kappa$. Depending on your application scenario this parameter should
72  be chosen such that there is a reasonable tradeoff between the cheating
73  probability (which is less or equal than $2^{-\kappa}$) and the produced
74  computational and communication complexity. Finally, some of the protocols
75  (e.g. the efficient shuffle argument by Groth) are only zero-knowledge with
76  respect to a so-called ``honest verifier'' who follows all protocol
77  instructions faithfully. Since version 1.2.0 of LibTMCG we use a two-party
78  version of a distributed coin flipping protocol by Jarecki and Lysyanskaya
79  to protect against malicious verifiers in that case. The non-interactive
80  zero-knowledge proofs of knowledge (NIZK) does not have this problem,
81  however, they require an additional cryptographic assumption: the security
82  of this protocols was proved in the so-called random oracle model (ROM).
83
84  Unfortunately, in practice there is another substantial problem with the
85  detection of cheaters: it requires that an authenticated broadcast channel
86  has been set up, where all players have read/write access in order to perform
87  a complaint resolution within the game session. There exist protocols
88  (so-called ``reliable broadcast'' or even better ``atomic broadcast'')
89  for creating such a broadcast primitive, however, only under the additional
90  condition that the number of parties $t$ who act faulty or even malicious is
91  reasonable small. In almost full asynchronous environments like the Internet
92  resilience (sometimes called robustness) is achievable for $t < n/3$ only,
93  where $n$ denotes the total number of parties engaged in the protocol.
94  LibTMCG provides a well-known protocol for reliable broadcast due to Bracha
95  in a slightly optimized variant by Cachin, Kursawe, Petzold, and Shoup. It
96  works for $n >= 2$ parties, however, t-resilience with $t > 0$ is achieved
97  for $n > 3$ only. This protocol ensures simple reliable broadcast but not
98  the more elaborated Byzantine fault tolerant agreement (or the equivalent
99  terminating reliable broadcast), i.e., the adversary can still influence the
100  underlying point-to-point network such that this broadcast protocol does not
101  terminate for some parties.
102  Please note that the application programmer must decide, where the use of
103  such a limited broadcast channel is neccesary and appropriate. However,
104  without reliable broadcast you should take into account that not necessarily
105  the player acting as prover is the source of evil, if a verification
106  procedure fails. This level of uncertainty is the main reason for our still
107  limited adversary model.
108
109  Note that it is not known, whether the used protocols retain their important
110  zero-knowledge property, when they are composed and executed in a concurrent
111  setting. Thus the application programmer should be careful and avoid parallel
112  protocol sessions. It is a challenging research project to create a protocol
113  suite whose security can be proven in the UC-framework of Canetti.
114  Furthermore, those protocols should employ so-called concurrent zero-knowledge
115  proofs to cover such issues and environments.
116
117  LibTMCG was carefully implemented with respect to simple timing attacks.
118  Therefore we loose some efficiency, e.g., during modular exponentiations.
119  However, it is strongly recommended to leave the timing attack protection
120  turned on unless you know exactly where it is not needed. Please note,
121  there are other side-channel attacks (e.g. cache access) that have not
122  been considered yet.
123
124  SECURITY ADVICE: We have implemented all cryptographic primitives according
125  to the cited research papers and to the best of our knowledge. However, we
126  can not eliminate any possibility of bugs or introduced insecurity, because
127  the implementation of such complex protocols is always an error-prone
128  process. Thus we encourage readers with advanced cryptographic background
129  to review the source code of LibTMCG.
130
131  Please report any complaint or correction proposal.
132
133Requirements
134------------
135  You need the following programs, libraries and appropriate header files to
136  build (GNU gcc/g++ >= 4.0.x or higher is recommended) LibTMCG successfully:
137
138  * GNU Multiple Precision Arithmetic Library (libgmp), version >= 4.2.0,
139    https://gmplib.org/
140  * GNU Crypto Library (libgcrypt), version >= 1.6.0,
141    https://gnupg.org/download/index.html
142  * GNU Privacy Guard Error Code Library (libgpg-error), version >= 1.12,
143    https://gnupg.org/download/index.html
144  * GNU info program and utilities (texinfo), version >= 6.0
145    https://www.gnu.org/software/texinfo/
146
147  The following libraries are optional (however, they are helpful in order to
148  prevent single point of failures e.g. in random number generation):
149
150  * Botan: Crypto and TLS for C++11, version >= 2.x
151    https://botan.randombit.net/
152
153  The library was tested (++ successful, -- erroneous) on the following
154  platforms with the given compilers, respectively:
155
156  ++ GNU/Linux (Gentoo Linux)    x86_64    gcc 8.2.0 (details omitted)
157  ++ GNU/Linux (Gentoo Linux)    x86_64  clang 8.0.0 (details omitted)
158  ++ GNU/Linux (Debian Linux)    x86_64    gcc 6.3.0 (details omitted)
159  ++ GNU/Linux (Arch Linux)      x86_64    gcc 7.2.0 (details omitted)
160  ++ GNU/Linux (Trisquel Linux)  x86_64    gcc 4.8.4 (details omitted)
161  ++ OpenBSD 6.4                 amd64     gcc 4.2.1 (details omitted)
162  ++ FreeBSD 12.0                amd64     gcc 8.2.0 (details omitted)
163
164Build & Install
165---------------
166  You should proceed by executing the following magic commands:
167
168    1. ./configure
169    2. make
170    3. make install
171
172Bugs, Contribution, Source code
173-------------------------------
174  Please send detailed bug reports to Heiko Stamer <HeikoStamer@gmx.net>.
175  You can get the latest sources from the source repository by using the
176  command
177
178    git clone https://git.savannah.gnu.org/git/libtmcg
179
180  The GNU C++ compiler from GCC and the GNU Make program is required.
181  Additionally you will need the following free software packages:
182
183  * GNU Autoconf, version >= 2.61, https://www.gnu.org/software/autoconf/
184  * GNU Automake, version >= 1.12, https://www.gnu.org/software/automake/
185  * GNU Libtool, version >= 2.4.2, https://www.gnu.org/software/libtool/
186  * GNU Texinfo, version >= 5.0, https://www.gnu.org/software/texinfo/
187
188Copyright and License of this software
189--------------------------------------
190  (C) 2005, 2006, 2007, 2009,
191      2015, 2016, 2017, 2018, 2019  Heiko Stamer <HeikoStamer@gmx.net>
192        GNU General Public License version 2
193
194  Please have a look at file 'COPYING' and https://www.fsf.org/.
195
196APPENDIX: GNU Free Documentation License
197----------------------------------------
198
199                GNU Free Documentation License
200                 Version 1.3, 3 November 2008
201
202
203 Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
204     <http://fsf.org/>
205 Everyone is permitted to copy and distribute verbatim copies
206 of this license document, but changing it is not allowed.
207
2080. PREAMBLE
209
210The purpose of this License is to make a manual, textbook, or other
211functional and useful document "free" in the sense of freedom: to
212assure everyone the effective freedom to copy and redistribute it,
213with or without modifying it, either commercially or noncommercially.
214Secondarily, this License preserves for the author and publisher a way
215to get credit for their work, while not being considered responsible
216for modifications made by others.
217
218This License is a kind of "copyleft", which means that derivative
219works of the document must themselves be free in the same sense.  It
220complements the GNU General Public License, which is a copyleft
221license designed for free software.
222
223We have designed this License in order to use it for manuals for free
224software, because free software needs free documentation: a free
225program should come with manuals providing the same freedoms that the
226software does.  But this License is not limited to software manuals;
227it can be used for any textual work, regardless of subject matter or
228whether it is published as a printed book.  We recommend this License
229principally for works whose purpose is instruction or reference.
230
231
2321. APPLICABILITY AND DEFINITIONS
233
234This License applies to any manual or other work, in any medium, that
235contains a notice placed by the copyright holder saying it can be
236distributed under the terms of this License.  Such a notice grants a
237world-wide, royalty-free license, unlimited in duration, to use that
238work under the conditions stated herein.  The "Document", below,
239refers to any such manual or work.  Any member of the public is a
240licensee, and is addressed as "you".  You accept the license if you
241copy, modify or distribute the work in a way requiring permission
242under copyright law.
243
244A "Modified Version" of the Document means any work containing the
245Document or a portion of it, either copied verbatim, or with
246modifications and/or translated into another language.
247
248A "Secondary Section" is a named appendix or a front-matter section of
249the Document that deals exclusively with the relationship of the
250publishers or authors of the Document to the Document's overall
251subject (or to related matters) and contains nothing that could fall
252directly within that overall subject.  (Thus, if the Document is in
253part a textbook of mathematics, a Secondary Section may not explain
254any mathematics.)  The relationship could be a matter of historical
255connection with the subject or with related matters, or of legal,
256commercial, philosophical, ethical or political position regarding
257them.
258
259The "Invariant Sections" are certain Secondary Sections whose titles
260are designated, as being those of Invariant Sections, in the notice
261that says that the Document is released under this License.  If a
262section does not fit the above definition of Secondary then it is not
263allowed to be designated as Invariant.  The Document may contain zero
264Invariant Sections.  If the Document does not identify any Invariant
265Sections then there are none.
266
267The "Cover Texts" are certain short passages of text that are listed,
268as Front-Cover Texts or Back-Cover Texts, in the notice that says that
269the Document is released under this License.  A Front-Cover Text may
270be at most 5 words, and a Back-Cover Text may be at most 25 words.
271
272A "Transparent" copy of the Document means a machine-readable copy,
273represented in a format whose specification is available to the
274general public, that is suitable for revising the document
275straightforwardly with generic text editors or (for images composed of
276pixels) generic paint programs or (for drawings) some widely available
277drawing editor, and that is suitable for input to text formatters or
278for automatic translation to a variety of formats suitable for input
279to text formatters.  A copy made in an otherwise Transparent file
280format whose markup, or absence of markup, has been arranged to thwart
281or discourage subsequent modification by readers is not Transparent.
282An image format is not Transparent if used for any substantial amount
283of text.  A copy that is not "Transparent" is called "Opaque".
284
285Examples of suitable formats for Transparent copies include plain
286ASCII without markup, Texinfo input format, LaTeX input format, SGML
287or XML using a publicly available DTD, and standard-conforming simple
288HTML, PostScript or PDF designed for human modification.  Examples of
289transparent image formats include PNG, XCF and JPG.  Opaque formats
290include proprietary formats that can be read and edited only by
291proprietary word processors, SGML or XML for which the DTD and/or
292processing tools are not generally available, and the
293machine-generated HTML, PostScript or PDF produced by some word
294processors for output purposes only.
295
296The "Title Page" means, for a printed book, the title page itself,
297plus such following pages as are needed to hold, legibly, the material
298this License requires to appear in the title page.  For works in
299formats which do not have any title page as such, "Title Page" means
300the text near the most prominent appearance of the work's title,
301preceding the beginning of the body of the text.
302
303The "publisher" means any person or entity that distributes copies of
304the Document to the public.
305
306A section "Entitled XYZ" means a named subunit of the Document whose
307title either is precisely XYZ or contains XYZ in parentheses following
308text that translates XYZ in another language.  (Here XYZ stands for a
309specific section name mentioned below, such as "Acknowledgements",
310"Dedications", "Endorsements", or "History".)  To "Preserve the Title"
311of such a section when you modify the Document means that it remains a
312section "Entitled XYZ" according to this definition.
313
314The Document may include Warranty Disclaimers next to the notice which
315states that this License applies to the Document.  These Warranty
316Disclaimers are considered to be included by reference in this
317License, but only as regards disclaiming warranties: any other
318implication that these Warranty Disclaimers may have is void and has
319no effect on the meaning of this License.
320
3212. VERBATIM COPYING
322
323You may copy and distribute the Document in any medium, either
324commercially or noncommercially, provided that this License, the
325copyright notices, and the license notice saying this License applies
326to the Document are reproduced in all copies, and that you add no
327other conditions whatsoever to those of this License.  You may not use
328technical measures to obstruct or control the reading or further
329copying of the copies you make or distribute.  However, you may accept
330compensation in exchange for copies.  If you distribute a large enough
331number of copies you must also follow the conditions in section 3.
332
333You may also lend copies, under the same conditions stated above, and
334you may publicly display copies.
335
336
3373. COPYING IN QUANTITY
338
339If you publish printed copies (or copies in media that commonly have
340printed covers) of the Document, numbering more than 100, and the
341Document's license notice requires Cover Texts, you must enclose the
342copies in covers that carry, clearly and legibly, all these Cover
343Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
344the back cover.  Both covers must also clearly and legibly identify
345you as the publisher of these copies.  The front cover must present
346the full title with all words of the title equally prominent and
347visible.  You may add other material on the covers in addition.
348Copying with changes limited to the covers, as long as they preserve
349the title of the Document and satisfy these conditions, can be treated
350as verbatim copying in other respects.
351
352If the required texts for either cover are too voluminous to fit
353legibly, you should put the first ones listed (as many as fit
354reasonably) on the actual cover, and continue the rest onto adjacent
355pages.
356
357If you publish or distribute Opaque copies of the Document numbering
358more than 100, you must either include a machine-readable Transparent
359copy along with each Opaque copy, or state in or with each Opaque copy
360a computer-network location from which the general network-using
361public has access to download using public-standard network protocols
362a complete Transparent copy of the Document, free of added material.
363If you use the latter option, you must take reasonably prudent steps,
364when you begin distribution of Opaque copies in quantity, to ensure
365that this Transparent copy will remain thus accessible at the stated
366location until at least one year after the last time you distribute an
367Opaque copy (directly or through your agents or retailers) of that
368edition to the public.
369
370It is requested, but not required, that you contact the authors of the
371Document well before redistributing any large number of copies, to
372give them a chance to provide you with an updated version of the
373Document.
374
375
3764. MODIFICATIONS
377
378You may copy and distribute a Modified Version of the Document under
379the conditions of sections 2 and 3 above, provided that you release
380the Modified Version under precisely this License, with the Modified
381Version filling the role of the Document, thus licensing distribution
382and modification of the Modified Version to whoever possesses a copy
383of it.  In addition, you must do these things in the Modified Version:
384
385A. Use in the Title Page (and on the covers, if any) a title distinct
386   from that of the Document, and from those of previous versions
387   (which should, if there were any, be listed in the History section
388   of the Document).  You may use the same title as a previous version
389   if the original publisher of that version gives permission.
390B. List on the Title Page, as authors, one or more persons or entities
391   responsible for authorship of the modifications in the Modified
392   Version, together with at least five of the principal authors of the
393   Document (all of its principal authors, if it has fewer than five),
394   unless they release you from this requirement.
395C. State on the Title page the name of the publisher of the
396   Modified Version, as the publisher.
397D. Preserve all the copyright notices of the Document.
398E. Add an appropriate copyright notice for your modifications
399   adjacent to the other copyright notices.
400F. Include, immediately after the copyright notices, a license notice
401   giving the public permission to use the Modified Version under the
402   terms of this License, in the form shown in the Addendum below.
403G. Preserve in that license notice the full lists of Invariant Sections
404   and required Cover Texts given in the Document's license notice.
405H. Include an unaltered copy of this License.
406I. Preserve the section Entitled "History", Preserve its Title, and add
407   to it an item stating at least the title, year, new authors, and
408   publisher of the Modified Version as given on the Title Page.  If
409   there is no section Entitled "History" in the Document, create one
410   stating the title, year, authors, and publisher of the Document as
411   given on its Title Page, then add an item describing the Modified
412   Version as stated in the previous sentence.
413J. Preserve the network location, if any, given in the Document for
414   public access to a Transparent copy of the Document, and likewise
415   the network locations given in the Document for previous versions
416   it was based on.  These may be placed in the "History" section.
417   You may omit a network location for a work that was published at
418   least four years before the Document itself, or if the original
419   publisher of the version it refers to gives permission.
420K. For any section Entitled "Acknowledgements" or "Dedications",
421   Preserve the Title of the section, and preserve in the section all
422   the substance and tone of each of the contributor acknowledgements
423   and/or dedications given therein.
424L. Preserve all the Invariant Sections of the Document,
425   unaltered in their text and in their titles.  Section numbers
426   or the equivalent are not considered part of the section titles.
427M. Delete any section Entitled "Endorsements".  Such a section
428   may not be included in the Modified Version.
429N. Do not retitle any existing section to be Entitled "Endorsements"
430   or to conflict in title with any Invariant Section.
431O. Preserve any Warranty Disclaimers.
432
433If the Modified Version includes new front-matter sections or
434appendices that qualify as Secondary Sections and contain no material
435copied from the Document, you may at your option designate some or all
436of these sections as invariant.  To do this, add their titles to the
437list of Invariant Sections in the Modified Version's license notice.
438These titles must be distinct from any other section titles.
439
440You may add a section Entitled "Endorsements", provided it contains
441nothing but endorsements of your Modified Version by various
442parties--for example, statements of peer review or that the text has
443been approved by an organization as the authoritative definition of a
444standard.
445
446You may add a passage of up to five words as a Front-Cover Text, and a
447passage of up to 25 words as a Back-Cover Text, to the end of the list
448of Cover Texts in the Modified Version.  Only one passage of
449Front-Cover Text and one of Back-Cover Text may be added by (or
450through arrangements made by) any one entity.  If the Document already
451includes a cover text for the same cover, previously added by you or
452by arrangement made by the same entity you are acting on behalf of,
453you may not add another; but you may replace the old one, on explicit
454permission from the previous publisher that added the old one.
455
456The author(s) and publisher(s) of the Document do not by this License
457give permission to use their names for publicity for or to assert or
458imply endorsement of any Modified Version.
459
460
4615. COMBINING DOCUMENTS
462
463You may combine the Document with other documents released under this
464License, under the terms defined in section 4 above for modified
465versions, provided that you include in the combination all of the
466Invariant Sections of all of the original documents, unmodified, and
467list them all as Invariant Sections of your combined work in its
468license notice, and that you preserve all their Warranty Disclaimers.
469
470The combined work need only contain one copy of this License, and
471multiple identical Invariant Sections may be replaced with a single
472copy.  If there are multiple Invariant Sections with the same name but
473different contents, make the title of each such section unique by
474adding at the end of it, in parentheses, the name of the original
475author or publisher of that section if known, or else a unique number.
476Make the same adjustment to the section titles in the list of
477Invariant Sections in the license notice of the combined work.
478
479In the combination, you must combine any sections Entitled "History"
480in the various original documents, forming one section Entitled
481"History"; likewise combine any sections Entitled "Acknowledgements",
482and any sections Entitled "Dedications".  You must delete all sections
483Entitled "Endorsements".
484
485
4866. COLLECTIONS OF DOCUMENTS
487
488You may make a collection consisting of the Document and other
489documents released under this License, and replace the individual
490copies of this License in the various documents with a single copy
491that is included in the collection, provided that you follow the rules
492of this License for verbatim copying of each of the documents in all
493other respects.
494
495You may extract a single document from such a collection, and
496distribute it individually under this License, provided you insert a
497copy of this License into the extracted document, and follow this
498License in all other respects regarding verbatim copying of that
499document.
500
501
5027. AGGREGATION WITH INDEPENDENT WORKS
503
504A compilation of the Document or its derivatives with other separate
505and independent documents or works, in or on a volume of a storage or
506distribution medium, is called an "aggregate" if the copyright
507resulting from the compilation is not used to limit the legal rights
508of the compilation's users beyond what the individual works permit.
509When the Document is included in an aggregate, this License does not
510apply to the other works in the aggregate which are not themselves
511derivative works of the Document.
512
513If the Cover Text requirement of section 3 is applicable to these
514copies of the Document, then if the Document is less than one half of
515the entire aggregate, the Document's Cover Texts may be placed on
516covers that bracket the Document within the aggregate, or the
517electronic equivalent of covers if the Document is in electronic form.
518Otherwise they must appear on printed covers that bracket the whole
519aggregate.
520
521
5228. TRANSLATION
523
524Translation is considered a kind of modification, so you may
525distribute translations of the Document under the terms of section 4.
526Replacing Invariant Sections with translations requires special
527permission from their copyright holders, but you may include
528translations of some or all Invariant Sections in addition to the
529original versions of these Invariant Sections.  You may include a
530translation of this License, and all the license notices in the
531Document, and any Warranty Disclaimers, provided that you also include
532the original English version of this License and the original versions
533of those notices and disclaimers.  In case of a disagreement between
534the translation and the original version of this License or a notice
535or disclaimer, the original version will prevail.
536
537If a section in the Document is Entitled "Acknowledgements",
538"Dedications", or "History", the requirement (section 4) to Preserve
539its Title (section 1) will typically require changing the actual
540title.
541
542
5439. TERMINATION
544
545You may not copy, modify, sublicense, or distribute the Document
546except as expressly provided under this License.  Any attempt
547otherwise to copy, modify, sublicense, or distribute it is void, and
548will automatically terminate your rights under this License.
549
550However, if you cease all violation of this License, then your license
551from a particular copyright holder is reinstated (a) provisionally,
552unless and until the copyright holder explicitly and finally
553terminates your license, and (b) permanently, if the copyright holder
554fails to notify you of the violation by some reasonable means prior to
55560 days after the cessation.
556
557Moreover, your license from a particular copyright holder is
558reinstated permanently if the copyright holder notifies you of the
559violation by some reasonable means, this is the first time you have
560received notice of violation of this License (for any work) from that
561copyright holder, and you cure the violation prior to 30 days after
562your receipt of the notice.
563
564Termination of your rights under this section does not terminate the
565licenses of parties who have received copies or rights from you under
566this License.  If your rights have been terminated and not permanently
567reinstated, receipt of a copy of some or all of the same material does
568not give you any rights to use it.
569
570
57110. FUTURE REVISIONS OF THIS LICENSE
572
573The Free Software Foundation may publish new, revised versions of the
574GNU Free Documentation License from time to time.  Such new versions
575will be similar in spirit to the present version, but may differ in
576detail to address new problems or concerns.  See
577http://www.gnu.org/copyleft/.
578
579Each version of the License is given a distinguishing version number.
580If the Document specifies that a particular numbered version of this
581License "or any later version" applies to it, you have the option of
582following the terms and conditions either of that specified version or
583of any later version that has been published (not as a draft) by the
584Free Software Foundation.  If the Document does not specify a version
585number of this License, you may choose any version ever published (not
586as a draft) by the Free Software Foundation.  If the Document
587specifies that a proxy can decide which future versions of this
588License can be used, that proxy's public statement of acceptance of a
589version permanently authorizes you to choose that version for the
590Document.
591
59211. RELICENSING
593
594"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
595World Wide Web server that publishes copyrightable works and also
596provides prominent facilities for anybody to edit those works.  A
597public wiki that anybody can edit is an example of such a server.  A
598"Massive Multiauthor Collaboration" (or "MMC") contained in the site
599means any set of copyrightable works thus published on the MMC site.
600
601"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
602license published by Creative Commons Corporation, a not-for-profit
603corporation with a principal place of business in San Francisco,
604California, as well as future copyleft versions of that license
605published by that same organization.
606
607"Incorporate" means to publish or republish a Document, in whole or in
608part, as part of another Document.
609
610An MMC is "eligible for relicensing" if it is licensed under this
611License, and if all works that were first published under this License
612somewhere other than this MMC, and subsequently incorporated in whole or
613in part into the MMC, (1) had no cover texts or invariant sections, and
614(2) were thus incorporated prior to November 1, 2008.
615
616The operator of an MMC Site may republish an MMC contained in the site
617under CC-BY-SA on the same site at any time before August 1, 2009,
618provided the MMC is eligible for relicensing.
619
620
621ADDENDUM: How to use this License for your documents
622
623To use this License in a document you have written, include a copy of
624the License in the document and put the following copyright and
625license notices just after the title page:
626
627    Copyright (c)  YEAR  YOUR NAME.
628    Permission is granted to copy, distribute and/or modify this document
629    under the terms of the GNU Free Documentation License, Version 1.3
630    or any later version published by the Free Software Foundation;
631    with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
632    A copy of the license is included in the section entitled "GNU
633    Free Documentation License".
634
635If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
636replace the "with...Texts." line with this:
637
638    with the Invariant Sections being LIST THEIR TITLES, with the
639    Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
640
641If you have Invariant Sections without Cover Texts, or some other
642combination of the three, merge those two alternatives to suit the
643situation.
644
645If your document contains nontrivial examples of program code, we
646recommend releasing these examples in parallel under your choice of
647free software license, such as the GNU General Public License,
648to permit their use in free software.
649
650