1 | <html> |
---|
2 | <head> |
---|
3 | <title> |
---|
4 | A Tour of NTL: Introduction </title> |
---|
5 | </head> |
---|
6 | |
---|
7 | <body bgcolor="#fff9e6"> |
---|
8 | |
---|
9 | <center> |
---|
10 | <img src="arrow1.gif" alt="[Previous]" align=bottom> |
---|
11 | <a href="tour.html"><img src="arrow2.gif" alt="[Up]" align=bottom></a> |
---|
12 | <a href="tour-examples.html"> <img src="arrow3.gif" alt="[Next]" align=bottom></a> |
---|
13 | </center> |
---|
14 | |
---|
15 | |
---|
16 | <h1> |
---|
17 | <p align=center> |
---|
18 | A Tour of NTL: Introduction |
---|
19 | </p> |
---|
20 | </h1> |
---|
21 | |
---|
22 | <p> <hr> <p> |
---|
23 | |
---|
24 | |
---|
25 | <p> |
---|
26 | NTL is a high-performance, portable C++ library providing |
---|
27 | data structures and algorithms |
---|
28 | for arbitrary length integers; |
---|
29 | for vectors, matrices, and polynomials over the integers and over |
---|
30 | finite fields; and for arbitrary precision floating point arithmetic. |
---|
31 | |
---|
32 | <p> |
---|
33 | NTL provides high quality implementations of state-of-the-art |
---|
34 | algorithms for: |
---|
35 | |
---|
36 | <ul> |
---|
37 | |
---|
38 | <li> |
---|
39 | arbitrary length integer arithmetic and arbitrary precision |
---|
40 | floating point arithmetic; |
---|
41 | |
---|
42 | <li> |
---|
43 | polynomial arithmetic over the integers and finite fields |
---|
44 | including basic arithmetic, polynomial factorization, |
---|
45 | irreducibility testing, |
---|
46 | computation |
---|
47 | of minimal polynomials, traces, norms, and more; |
---|
48 | |
---|
49 | <li> |
---|
50 | lattice basis reduction, including very robust and fast implementations |
---|
51 | of Schnorr-Euchner, block Korkin-Zolotarev reduction, |
---|
52 | and the new Schnorr-Horner pruning heuristic for |
---|
53 | block Korkin-Zolotarev; |
---|
54 | |
---|
55 | <li> |
---|
56 | basic linear algebra over the integers, |
---|
57 | finite fields, and arbitrary precision |
---|
58 | floating point numbers. |
---|
59 | |
---|
60 | </ul> |
---|
61 | |
---|
62 | <p> |
---|
63 | NTL's polynomial arithmetic is one of the fastest available anywhere, |
---|
64 | and has been used to set "world records" for polynomial factorization |
---|
65 | and determining orders of elliptic curves. |
---|
66 | |
---|
67 | |
---|
68 | <p> |
---|
69 | NTL's lattice reduction code is also one of the best available anywhere, |
---|
70 | in terms of both speed and robustness, and one of the few |
---|
71 | implementations of |
---|
72 | block Korkin-Zolotarev reduction with the Schnorr-Horner pruning heuristic. |
---|
73 | It has been used to "crack" several cryptosystems. |
---|
74 | |
---|
75 | |
---|
76 | <p> |
---|
77 | NTL can be easily installed in a matter of minutes |
---|
78 | on just about any platform, |
---|
79 | including virtually any 32- or 64-bit machine running |
---|
80 | any flavor of Unix, |
---|
81 | as well as PCs running Windows 95, 98, or NT, and Macintoshes. |
---|
82 | NTL achieves this portability by avoiding esoteric C++ features, |
---|
83 | and by avoiding assembly code; it should therefore remain usable |
---|
84 | for years to come with little or no maintenance, even as |
---|
85 | processors and operating systems continue to change and evolve. |
---|
86 | However, NTL can be used in conjunction with |
---|
87 | <a href="tour-gmp.html">GMP (the GNU Multi-Precision library)</a> |
---|
88 | for enhanced performance. |
---|
89 | NTL can also be used in conjunction with the |
---|
90 | <a href="tour-gf2x.html"><tt>gf2x</tt></a> library for faster |
---|
91 | arithmetic of large degree polynomials over <i>GF(2)</i>. |
---|
92 | |
---|
93 | |
---|
94 | <p> |
---|
95 | NTL provides a clean and consistent interface to |
---|
96 | a large variety of classes representing mathematical objects. |
---|
97 | It provides a good environment for easily |
---|
98 | and quickly implementing new |
---|
99 | number-theoretic algorithms, <em>without sacrificing performance</em>. |
---|
100 | |
---|
101 | <p> |
---|
102 | NTL is written and maintained by |
---|
103 | <a href="http://www.shoup.net">Victor Shoup</a> |
---|
104 | with some contributions made by others |
---|
105 | (see <a href="tour-ack.html">Acknowledgements</a>). |
---|
106 | |
---|
107 | <p> |
---|
108 | |
---|
109 | <h2> |
---|
110 | Legalistic Nonsense |
---|
111 | </p> |
---|
112 | </h2> |
---|
113 | <p> |
---|
114 | NTL is <i>free software</i>, and may be used according to |
---|
115 | the terms of the GNU General Public License. |
---|
116 | <p> |
---|
117 | <a href="copying.txt">[the precise licensing information of NTL]</a> |
---|
118 | <p> |
---|
119 | <a href="http://www.gnu.org">[more information |
---|
120 | about the GNU General Public License]</a> |
---|
121 | |
---|
122 | <p> |
---|
123 | |
---|
124 | <center> |
---|
125 | <img src="arrow1.gif" alt="[Previous]" align=bottom> |
---|
126 | <a href="tour.html"><img src="arrow2.gif" alt="[Up]" align=bottom></a> |
---|
127 | <a href="tour-examples.html"> <img src="arrow3.gif" alt="[Next]" align=bottom></a> |
---|
128 | </center> |
---|
129 | |
---|
130 | </body> |
---|
131 | </html> |
---|