From 124832924ca17e348f412ec9f933eaf76436ba70 Mon Sep 17 00:00:00 2001 From: travis-ci Date: Fri, 27 Jun 2014 23:12:14 +0000 Subject: [PATCH] Lastest doxygen docs updated travis build: 45 commit: 5158736fab3dba6f3abd99ee015720e81c5087dc auto-pushed to gh-pages --- annotated.html | 2 +- classes.html | 2 +- doxygen_8dox.html | 2 +- files.html | 2 +- functions.html | 2 +- functions_vars.html | 2 +- globals.html | 17 +++-- globals_func.html | 14 +++-- globals_type.html | 3 +- globals_vars.html | 104 ------------------------------ graph_legend.html | 2 +- index.html | 3 +- ntru_8h.html | 16 ++--- ntru_8h__incl.md5 | 2 +- ntru_8h__incl.png | Bin 5165 -> 7039 bytes ntru_8h_source.html | 119 ++++++++++++++++++----------------- ntru__decrypt_8h.html | 4 +- ntru__decrypt_8h__incl.map | 2 +- ntru__decrypt_8h__incl.md5 | 2 +- ntru__decrypt_8h__incl.png | Bin 10603 -> 12637 bytes ntru__decrypt_8h_source.html | 4 +- ntru__encrypt_8h.html | 4 +- ntru__encrypt_8h__incl.map | 2 +- ntru__encrypt_8h__incl.md5 | 2 +- ntru__encrypt_8h__incl.png | Bin 10482 -> 12511 bytes ntru__encrypt_8h_source.html | 4 +- ntru__keypair_8h.html | 104 ++++++++++++++++++------------ ntru__keypair_8h__incl.map | 2 +- ntru__keypair_8h__incl.md5 | 2 +- ntru__keypair_8h__incl.png | Bin 14288 -> 15769 bytes ntru__keypair_8h_source.html | 66 ++++++++++--------- ntru__rnd_8h.html | 4 +- ntru__rnd_8h__incl.map | 2 +- ntru__rnd_8h__incl.md5 | 2 +- ntru__rnd_8h__incl.png | Bin 12034 -> 14012 bytes ntru__rnd_8h_source.html | 4 +- search/all_1.js | 3 +- search/all_3.js | 4 +- search/all_7.js | 2 +- search/all_b.js | 2 +- search/functions_0.js | 3 +- search/functions_2.js | 4 +- search/functions_7.js | 2 +- search/variables_2.js | 2 +- structkeypair.html | 2 +- structntru__params.html | 10 +-- structstring.html | 8 +-- 47 files changed, 233 insertions(+), 311 deletions(-) delete mode 100644 globals_vars.html diff --git a/annotated.html b/annotated.html index d720b7f..817492a 100644 --- a/annotated.html +++ b/annotated.html @@ -95,7 +95,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classes.html b/classes.html index 5b1caf9..8a331b8 100644 --- a/classes.html +++ b/classes.html @@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/doxygen_8dox.html b/doxygen_8dox.html index 33e2d52..527a48b 100644 --- a/doxygen_8dox.html +++ b/doxygen_8dox.html @@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/files.html b/files.html index b6a77d2..a9016f8 100644 --- a/files.html +++ b/files.html @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions.html b/functions.html index 006cf54..aa8b1cd 100644 --- a/functions.html +++ b/functions.html @@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_vars.html b/functions_vars.html index b954862..16ccd72 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/globals.html b/globals.html index 08efa17..079ce37 100644 --- a/globals.html +++ b/globals.html @@ -68,7 +68,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); @@ -89,8 +88,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
diff --git a/globals_func.html b/globals_func.html index 488dd8e..f1a374f 100644 --- a/globals_func.html +++ b/globals_func.html @@ -68,7 +68,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); @@ -89,8 +88,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
diff --git a/globals_type.html b/globals_type.html index b8deadc..1ea4d44 100644 --- a/globals_type.html +++ b/globals_type.html @@ -68,7 +68,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); @@ -102,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/globals_vars.html b/globals_vars.html deleted file mode 100644 index 0d2f7f9..0000000 --- a/globals_vars.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - -post quantum cryptography: Globals - - - - - - - - - -
-
- - - - - - -
-
post quantum cryptography -
-
Highly optimized implementation of the NTRUEncrypt algorithm
-
-
- - - - - - -
- -
- All Data Structures Files Functions Variables Typedefs Pages
- - -
- -
- -
-
- - - - diff --git a/graph_legend.html b/graph_legend.html index 892438f..19941c6 100644 --- a/graph_legend.html +++ b/graph_legend.html @@ -144,7 +144,7 @@ A yellow dashed arrow denotes a relation between a template instance and the tem diff --git a/index.html b/index.html index b876e53..032d320 100644 --- a/index.html +++ b/index.html @@ -115,6 +115,7 @@ Dependencies

This library was written for Linux systems. Support for windows will not be added.

@@ -143,7 +144,7 @@ References

diff --git a/ntru_8h.html b/ntru_8h.html index af5e4ad..9c5e1a1 100644 --- a/ntru_8h.html +++ b/ntru_8h.html @@ -93,6 +93,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); More...

#include <fmpz_poly.h>
#include <fmpz.h>
+#include <stdbool.h>
#include <stdint.h>
Include dependency graph for ntru.h:
@@ -138,8 +139,8 @@ Functions   stringread_file (char const *const filename)   -void write_file (string const *wstring, char const *const filename) -  +bool write_file (string const *wstring, char const *const filename) + 

Detailed Description

public API, basic data types

@@ -157,7 +158,7 @@ Functions
-

Definition at line 39 of file ntru.h.

+

Definition at line 40 of file ntru.h.

@@ -171,7 +172,7 @@ Functions
-

Definition at line 40 of file ntru.h.

+

Definition at line 41 of file ntru.h.

@@ -413,12 +414,12 @@ Functions - +
- + @@ -444,13 +445,14 @@ Functions
void write_file bool write_file ( string const *  wstring,
+
Returns
true for success or false for failure if fopen or fclose failed
diff --git a/ntru_8h__incl.md5 b/ntru_8h__incl.md5 index 4fbaf23..0cb3279 100644 --- a/ntru_8h__incl.md5 +++ b/ntru_8h__incl.md5 @@ -1 +1 @@ -4f58550f1bf3fc0e7a21db75f42bafb9 \ No newline at end of file +1041a99982d79ff8aa4f99ad4b616a33 \ No newline at end of file diff --git a/ntru_8h__incl.png b/ntru_8h__incl.png index 67634e16fb520e9999535192e1dccd9646eb34bd..e5f96eec38b8b9fd52ecab2db7a6bbbdbb958c6a 100644 GIT binary patch literal 7039 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 literal 5165 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 diff --git a/ntru_8h_source.html b/ntru_8h_source.html index 9ec0dda..51505e2 100644 --- a/ntru_8h_source.html +++ b/ntru_8h_source.html @@ -111,80 +111,81 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
33 
34 #include <fmpz_poly.h>
35 #include <fmpz.h>
-
36 #include <stdint.h>
-
37 
+
36 #include <stdbool.h>
+
37 #include <stdint.h>
38 
-
39 typedef struct ntru_params ntru_params;
-
40 typedef struct string string;
-
41 
+
39 
+
40 typedef struct ntru_params ntru_params;
+
41 typedef struct string string;
42 
-
47 struct ntru_params {
-
52  uint32_t N;
-
56  uint32_t q;
-
60  uint32_t p;
-
61 };
-
62 
-
66 struct string {
-
74  char *ptr;
-
78  size_t len;
-
79 };
-
80 
+
43 
+
48 struct ntru_params {
+
53  uint32_t N;
+
57  uint32_t q;
+
61  uint32_t p;
+
62 };
+
63 
+
67 struct string {
+
75  char *ptr;
+
79  size_t len;
+
80 };
81 
-
87 void
-
88 prints(const string *print_string);
-
89 
-
98 void
-
99 string_delete(string *del_string);
-
100 
-
112 void
-
113 poly_new(fmpz_poly_t new_poly,
-
114  int const * const c,
-
115  const size_t len);
-
116 
-
123 void
-
124 poly_delete(fmpz_poly_t poly);
-
125 
-
134 void
-
135 poly_delete_array(fmpz_poly_t **poly_array);
-
136 
-
145 void
-
146 poly_delete_all(fmpz_poly_t poly, ...);
-
147 
-
153 void
-
154 poly_draw(const fmpz_poly_t poly);
-
155 
-
162 void
-
163 poly_draw_pretty(const fmpz_poly_t poly);
-
164 
-
172 string *
-
173 read_file(char const * const filename);
-
174 
-
182 void
-
183 write_file(string const *wstring, char const * const filename);
-
184 
-
185 
-
186 #endif /* NTRU_NTRU_H_ */
+
82 
+
88 void
+
89 prints(const string *print_string);
+
90 
+
99 void
+
100 string_delete(string *del_string);
+
101 
+
113 void
+
114 poly_new(fmpz_poly_t new_poly,
+
115  int const * const c,
+
116  const size_t len);
+
117 
+
124 void
+
125 poly_delete(fmpz_poly_t poly);
+
126 
+
135 void
+
136 poly_delete_array(fmpz_poly_t **poly_array);
+
137 
+
146 void
+
147 poly_delete_all(fmpz_poly_t poly, ...);
+
148 
+
154 void
+
155 poly_draw(const fmpz_poly_t poly);
+
156 
+
163 void
+
164 poly_draw_pretty(const fmpz_poly_t poly);
+
165 
+
173 string *
+
174 read_file(char const * const filename);
+
175 
+
184 bool
+
185 write_file(string const *wstring, char const * const filename);
+
186 
+
187 
+
188 #endif /* NTRU_NTRU_H_ */
void string_delete(string *del_string)
void poly_new(fmpz_poly_t new_poly, int const *const c, const size_t len)
-
size_t len
Definition: ntru.h:78
-
char * ptr
Definition: ntru.h:74
+
size_t len
Definition: ntru.h:79
+
char * ptr
Definition: ntru.h:75
void poly_delete_array(fmpz_poly_t **poly_array)
-
uint32_t N
Definition: ntru.h:52
+
uint32_t N
Definition: ntru.h:53
void poly_draw(const fmpz_poly_t poly)
void poly_delete_all(fmpz_poly_t poly,...)
-
uint32_t p
Definition: ntru.h:60
- -
void write_file(string const *wstring, char const *const filename)
+
uint32_t p
Definition: ntru.h:61
+ +
bool write_file(string const *wstring, char const *const filename)
void prints(const string *print_string)
-
Definition: ntru.h:66
-
uint32_t q
Definition: ntru.h:56
+
Definition: ntru.h:67
+
uint32_t q
Definition: ntru.h:57
string * read_file(char const *const filename)
void poly_delete(fmpz_poly_t poly)
void poly_draw_pretty(const fmpz_poly_t poly)
diff --git a/ntru__decrypt_8h.html b/ntru__decrypt_8h.html index b58523b..fb55bf5 100644 --- a/ntru__decrypt_8h.html +++ b/ntru__decrypt_8h.html @@ -97,7 +97,7 @@ Include dependency graph for ntru_decrypt.h:
- +

Go to the source code of this file.

@@ -165,7 +165,7 @@ Functions diff --git a/ntru__decrypt_8h__incl.map b/ntru__decrypt_8h__incl.map index c53df13..b7517f3 100644 --- a/ntru__decrypt_8h__incl.map +++ b/ntru__decrypt_8h__incl.map @@ -1,3 +1,3 @@ - + diff --git a/ntru__decrypt_8h__incl.md5 b/ntru__decrypt_8h__incl.md5 index 02241cd..1fc1f53 100644 --- a/ntru__decrypt_8h__incl.md5 +++ b/ntru__decrypt_8h__incl.md5 @@ -1 +1 @@ -c9671be4b9eaef914a39bc1b3e24e093 \ No newline at end of file +9a0ebf414f722c6e4aef555926b9d319 \ No newline at end of file diff --git a/ntru__decrypt_8h__incl.png b/ntru__decrypt_8h__incl.png index d71b751254ac477039e0a9a6623d535b00ce9645..fbe1d9d23694ec08d4ab40ecf03510304dfee048 100644 GIT binary patch literal 12637 zcmaL8Wl&sA)HOP|1ef3%+zCFo1P=rWt^ooh1PQ_2Eog8Ug1bW?xCROC4#C~sZ$Ix_ z->v)Ot9z&dY8d+T>F&MvT5GQfd#56YiB5_Rfj}@7K|;I|o0I zKPbt`K%W2m%4{k40fA6M6l5edUDFSj+$5A2s30diJdxwFsp<;!Vdlmeqs2rS^zMn2 zGz2u&@luMRap-7onD*T0^%bng81P2o3?uTq#$F!|UEP~C-&)LnY;ZYJ9^S6lbv_na z5gPJry3X(z?%*cIfJov5GKfsWN#IOgcgP?};_R7Z`%$Ahag9mf1VXt>5!#L1-5U!E z7^l@jDdC`ZDxI)2x2M&!nQ&XP_RrW z{N)vul)9jZ@`&voyf}ziSPZ17{_jxmF%cyT1HzE~sVD!>9dT*t>FF657>JQgK73GD zSNAuCyfa3^$2|V~_wP$~y+9`d1N^Z{npkA;(#|(%igFJWy*$inHby=mELa2lBbdna z^z_!&*7L(THpFBgksabI{``Rd;4*doaO};RbZcikcm#1fP zNPTVXAWT?*lQX(OT1#tsZ>ofyjZNjJ*xRgk(BP%H8q1N=($be42E@3yewq`KILf>R zt~V#EDLj@32M7KE0c514!x^G4Aiv$t89s*;78Z(nTzx0z_V0qXTl|enLek){-czDo zQEt=%Wnv0#5QRb;OH0`V1!qS_j&IMmlQ@l|qN0ZT`cBTypbl#?YHDh(u7dh`{QUg7 zy1Klin2?x+ggh{Xyu3e)t5=5$Mn*<*(Ue|i8~rOj&r3oFQ5hm`UspSkEG@TVVsKp7 z5NMDXNIBSynsxN_+=tVJAif-Jfn)-<>4FZ~VBtcLdb+!9=4<=g+a-*Qyyt7J!Qaen zqobo&TD_XGv$ON_^I3rqcXxLO@eK|}##%u|yu^rdT7wUh zfro^KIW1Uy`t-?0-#vr*S8;K;(=r@nbaK+Xm5GznxY``;b5ndgL6DT%`}Y=4h2{TU z!&=Og(E?mteSLl4jStr=J`@xby26!Mni?7<#l?HO6!6rXoZz(3Gowl&isYqQbK^> z;p3;Jr8PAXcADGTdLJz|fDKDcO-)ZvS4!gGt|ucVHu!Cy1y;ARa&&I)7HlK9DHa;q z?E^RhBR^GP(D!O;V-2<7tc+RJR#sMmbLX;1NldJxu70-K6#{mahli)Ga(!(L4D0H? zkJHWUy4x*GPoGz1*2|$=y|LWlK~axQ%+=o0vvn|6v%0!^b#;}JlCqRg>3aGBJ?JZ# z)bUCiHkH`o&`{(Yy}6kgJ~8oc(=KFkEK4gZD@)6e-gSL_eV60qrTO{df&xoR%b5mV z5lTBNE7#{IFKOwns0E+rM;AG{-sx#A4Gj%eR#tewQEnS!;}tY~26+Vqnh7SHNkVc1 zTY46jzvJVt`S=L;C2(-?@YIcrT790qx1vF2DA6jDx-3gcPL`3Cb;7AE`bTOfc0%?xD7@A&Du0X9 zjh$?Th`a zB~TtNfpg)D_x9~jmUIaEZ*}>N_9_)A(~*q*>*F@B8~cj*c-QTf<(B(T6Zw^##-4w= z8(SyYnTuco$KA=?(&Ywo64dPjrt&-O*z{M+ZJZIIeakhLMoGHJ5D8j^iQVt>^R|qR z#II$J*8Vu@>fSCdUpFqG_;VrRV_spA|K@Wp-K)0HXj<@-iGzb^Y71Pw>x*aZ^7LXK zNmpoaW+%JFp$Qc~p~UQoi(CF^vDw=#`0sQ{<%=Ax0s^Gf#||RV5R#q90Xtijo@@0I zsQs0|pgJufqKUdjB9haA7bGQY|L@8lY29P^1p@K~BOaRQ&oQpUh5GhU`;EKHBt@lt zoCrMs8?a`HQqok32~!P?SFZywutLaq z$ONRMrZV_EcSn*%PEER}aFPG_v_8+v_avAQ2|Ya#-pRV==H(6=cxPrQDR>6b!JFHq zq!=7W`y1E~7#K{21C|_&Me*%)tuZ&Z{^{xZ78S=I2LT_GU(A!K=_~!`>m%{T{qc{| zwEgxORuD+rWB%@X&Eksq=`f6_xd&A;)UQQl_T=LG)D*?pjPZov;!l~lr?b4IUn{dZ zdQVq(PT-9*lT(|F$|lBhSpJA;8Dl2@Is&e-DVtqf1dg+m(juEhh>}#;P_Q{Ngfu=c zH7adxUM^C;kVN$llO1IuNDb*d6n`QXHVf7|_IM5{@!(}cgnv4i;{)rsQb|+W0{eTo ziW5ixjxf8(!&to?-_cRTZ>XY?QDae2SzgdS5BmcE94X zFK4F;mB08jwU1krnqH~M(tMNC(4Y}?9XebX8OiW!?^?y_76-%bZS>PQICMr))Of61 zTB4&jGm=7lvsU{MP+n4qx(jfhV%pJ5;E0=KuM)NZcv}gKpUu?CmX6 zVI4(9My?jWpQyLR^m%UmzAZ%^D!?^{I-DiVt)~}IR(jzos3qmk#Lhmv+SRcn8#53UdMzj*j~91H9evV}0G{{ZFCe4hG6<8je ztcHJ{9^7bS+FI292L0fuiyIc0NxeU<^|vR|RFj3G=mSk5PqNj!_}Ei!v8P{YX+pH0 z*<5@1q=(~ZnPT03fWAszDJbczjGf+ETVc&{6#7KCjt_ek{g!sQc$tYQc#qopg?i*hK02Vb%gx0y=sBymnz z#bZCNfoFSTV)8n&XST(I!`}iA)m2D{nRgfjm>~J^ice5*Fj#IPGE%*D{v6V3-*WLy$>b8!lEyQ!qLJ<{P35r&QC6QiSh|8V?FR$d~)C0mXD+axT=XJ~US z6I-J{=g(r?M#fIW#QfFYceAnXh~1)>X$cB8ZXr$Nfk*x|H9uB905oMJc>Jo{t z*5zbTf}bC=fZbEXr#GXVAXezcb}?M8^?Q191_!^5F;UHdH|kcJJk)(@6NWwkIH_H` z@9&MvHAcOAcUeFs7VqY2FK{Zj9Yfl_#A>-MzBNcvESz3C3 zEXPH=d~#x1OR5MR5yk!*Bcux^(x9&Emify`zBi8u{YA-3PBBbvTfg4``hFOODSi2z zbF}=3;{HBHe%$iAD-rFlF3H$jrIkU@g z!AW=_8+eeB$VD%|S0l0d{5kX!d+8J`J^>|L4|f36hQ%c!N-@uRkbgufvc`yacaK?F z$p{E75b+TvQQCP(5jQpnmK)ALJU<0leY1Ay7BR#d{6d;PKHhk8VnZ6)Gx++sW2q5I zxQ&LRU8ai@Ily7(-FH8~tHlPhv2rC@St$bpWr*maGN+Me8c%OUW@g-%I#SX|N?f=Q zcWDFPuwY}bMfZE}W1E^9Op5V!dNrgv_vw}3_xID943g=^+s?XBe&bMdGbdZ!j4v*F zZ}b@|4XnsUYvC$K4!T_-zKhK@7pJG6JMv~_kPVIUX7J_8Y=vVWZA}+WnqOS3vmEjC zn_{YzF|!hU{mSfT(><+1zc=hyRIRAC?b#bcJ1amC6whNt#ZRC_&NW`Te5|N3iIIN| z-z4{nA-Mh*-{9Y`hQICMu|n|i?{_EEwP#W@p47NvC9(nSS*8$nR#mX}g~6(*Srd}v zTp%u%0Vo5=$mQWtb=ulV$AY)qe!dakJ!$*osmH+XM;kTYIIs7#-CwawG=ZY=4l zVz-M*#9qkWMD6)WW=lVRY$q(tE(XR%u~%Y}y^0jjVeit$_a$`;)LkTlUna=*E@AR? zv-70+xq>6=Q;h3#{GacR0ouL1Y{9_% zrJAlob2D$;#*x9(dp!0^TTJ`x2n#D@-BmTa_JWtWC~Rs0-_81<4t%1DbM+iZY9e{+E7Q@-CiUwK6g?Hn^R$mBLfwp;cEu zRy9&#NH+Uf0wQ)YD`55}ORH(#7RGL!6GScP4uFI?Q!RlW|&8A2GHq5eWQe+xt1&bPbkQ(rE_!xu z^zZ5Pp8fDcpa(p$&XSjfg#`kkty&o9SId#D`eOP`d^uH@loDG!((C2Jg!BG*UPwX$ zCcM5}kfR{E?I<;~CdkFbGr6POC~8HT5D5hZ1sCBLQ)sUOk&~?&wcbzJuXTF~3!C|| ziwzLExtWp&jn4K_j<@?Ez(KUj4QPJ!!@>w_+#JUl;crIeIP*0KJF;FjA6yXeCEo^M?mo_x=L zfr7P2Dy-!+S6!roGR`izh=#|0@;%rP;Hc8l2Vs}G)zeOo5cOFO7##*Bdr4hiAlYqq2KiSR@=hmVqGJdvmPduwQAoTA0OWcmE?37XaFpeXdj2V94Jcv z3!)nwdxw*=f}Ge4B%H?xSrRBI9xnj0B_U}6&Wkj(WN7_L5MZ!vLZTU2*)4nT(5R@d-)bL!eNF>qqqxB3rZ2WBGV+VT zdvw!HZB^a^6?%XoVZz%c6sR-ubk-RjuqP#MIlu#3Tu*a*qpyXb!xVz=;ugMw>Lw~` zCSb!w%JUJmzPGseZ<#Jn*9d1;ULLFj0TZJZA0LKAQT^MQePMKzRpfyih86Mwy~!9l zM(|S0u=T+nfMMFPyrJNFW@{^6ch?&;ug9FDqx!)i#;uLt4UHVcyrDU00>X|C4dtaG zqjR^|%UCN_X3ma|_kSW%7AfWF@U+TOpH5a=!LdAEAQJU?3M)_*KYxipM{QuJea$^R zO;hucB1hd?2c~UQ#qwCgNpt>n~AYCwF_Q7Z{)yZaO)Ue4#j`jxIXDIc>M1cptK>exl#GJ^o)$qqkEm^PUGV*oL4(F_GgU8CpBG9+W+)g z-i~Gk#1z*zHiF#0L&%yxlpZ#C9w|fH(Qj>QZaxeiwdHt;Oh~AxD};S*-6bpne`pAS zoSc@0rSF00#p$lLGA|q)U{_sZY8Q>Q!n8OiU%#r`M30MjCf8f3wKqBugZaoyT4EfsM**BBg5x;|D?E9Mpx)7Ev9`+6qa zt)!yhR#4iEa2i3e6-oBxQ1l057ny)gC%1Q%+xC|)oJ23R=oz44VPOw*i`5pEwYA8c z#!qSWE{k0uZZBSb2j{#l3hO?VQNF0cj-OvFzoNqHu9lE=lhfEcQ890&xq>Y=sUcXpJ9}RrU1_=*W1p)X=y}d3T09!=uQ?A8{?mD=an{z1hJN};N%<3# zHHiw&lD4oRKm^6%k%u_(1sqrPrw8!@zbITe`f`y@`dB7?agd zXAu5qiN)icl5v~2s^V8E>sBlP=C6-fRYzuzSI7kH`2R!44i18Te$*F1J_qFC;eT&0 ziWa*N%6$6#Pmc_XemV7l`?0ehvTCdR`0;~4BGKB$#?d({RlttC7(Cg(y+&%z3K51a zB*o2j``q6_s^RhQFcWol~rJ<(Jw$<_fa&1-skOv}qkW93#i_J8t}3fw(ba^6|(OpSxO z=HW3hIM||*Z)G$8&0?;a=Xg0GTblyW8zzHKoGg{Y?R>oDa6?rGh@FD52=fdJo{}F8GH;Re~ z@bIN;YtFTG>Xsu{PWGV^=H66=N^LUP%q+!1K4M?)op~rfO0`b|;*5ob+tbtA>iy__ zIG+!8jg;7`#(RLgB5-f8qpXa8u|S@O$Iy=*r!<$>n+xG`k2x{@KD|VCQdF7(Ii;J=J>Q$)rC4Qe=?z^CbpuT!_98EPKEj9h8_c{JU zGGgUUc!iymlT!|aBNh4;sAjS`#=ogEnT1mXY{w_AZDvh&_R~y0tRdJfQe&@gyN)Ko z3^PlcUjb2Q+RwhYwAA+cNS==m2unY^y9Go=%(RSGvP+xSfda<#=Ip|HHHJpG!pJL7 z{Z#7gO3)_VFN!x{&<=NGabJaD+%UPF;>zswrKgULQ0U%G4m3=id_^m1` z&xMfC+;Y3ndIC$_+W?37Hw*Vz|DZBa$bMapww4y)j~IDVFaXJ;qGIpv=C!nl*(7TK zKq<9(o+$W%WKa?Qx7`;~vSW1*ims5OCk&SJFO@%ZXFZGodN&t>ZGnP~?vdndVG)qF zP)5QNWp1&Ff?Tesx>94mil~x7ADblSJw})h#!^z+kD@YOmd=-s4n%agcdh{<7zhR; z&%=oV>^7g3v615nkUn?zJzzpV{6BHdR%CKArUDg{v*I@)>jh9tE2HxCot%c`q84G? zT|D%gu=?xqT3#Y74GjD+x`3XxMG%4r@NotPTQq_PY5J_%dqpJ!KLs7Ae$1b`g5;t> zCHnQ(FFrwUkq!_L>f`##w7X{V}A=C z#AZ&@b_P$v*@=+>J*e*UjQ9@*>r!JoUz>gdT>LI!p+{VbM~tozgWTM1p!ekGHSFwR zRn=it)rwrNN|R`Hgw~3sS%pV@26Dr{e(P@80sm7zPkL44;UL8!6Mg*PiaUB zA?WHJ(L-HALsw*HD!e$a>GoV24tmk6nw;r;Fe_@)H9AU-grYC^=1WnzZ8}fy$ed7d zem>elj12a)OU@XO&=bJ=+y4?vfq<}TZ9UDAYf?%6=Y6^N>ZwcEQ}E-Ffw;^Ev%8Zl zWy7W2i(PZXfeks?9yyCm3SHg4!L44#EyQE9-lLhZIhR!_Xb^4O#JpLy9aiyRKXYv* zYO}rRVYAzMWz=R!V&auj((4hJ5 zh}h9H$9Af!gaa*ooANdrfF1`E#sb7l+RMw)()e}Ef}&hY$2A$#tH%I5p?AY8lutPoDAinodH5IM6Jo<+W8#T zGr}pU?-Biv%Fr_Fot1WlSSs`~v+j!0c;zNFRaUcvmA&k})^h9*jXq1E!Anb{HV#=j z7T({#W!}QvE6XDNou~~<%D&9EJ#UR>HDO@3jFJ)1Hr{DwGjo)a@Y@JD#v*i>|t+O7rIr-~7A>V6&1eEWGhaGuTu|v#DvFn;W65?6R$GeV~w@ zB;KmbIVjA%RL0FWFDV{vMlx=jMQ?k^pfHEWI}MGA_2FSPS=pTG>Z>9;^9Tq87x_Og z0Km^UC$IeJ@QAu#&d?qh&9rHJJ~lrc--UJp6Y2YHB1*$;D}@^Lu-#K>P!JpogaxZZ0le6%|G408L#5 z4)(H=lFve}_EkZDayg=xs@C<|yb%Qi97#yfAQEnFEmfygpz^x9KQSl&yZv@#Q2f)l zGe_>8kkDdpKW!x44F@j{7q8lOn$6TRIj^p+e?^>|_aZAQ>MTq8rMr7qRTL^ucB&O1 zIs86PXyjNSU4Cs(sr(MvsSyL0fr!1_X77xvLsCAdWGMd~V13@Nu*SmrSX}(oN_$?- z-hRF#z$Llj)HOYs7!HCQDO)h+{lIM8EGXz&X_M5elJ1(B?O&Qn?YK9oXtu5fmNMd3qUe`Jt3W5KCHM3E?xja9XJ@~Z zl%v(Im!CeJ>Bt4bnTqQl4KLKwfB4|ak}z!IyR%cErlu+fRLOR|c?AVKkmQY8+4KO- zvns@72uK40v9PyDYeNGCM52IaHa|lXh=Uvho{x911{^0Rr}e)H9r%pJpe4=D@+qRw zoFrf2$0U&Kt$3jciYO4Au)v20^wNMmG)J#x(BT5q3j?Ehx-@0?-~r|Qdv#4>qVw3D zqrJT5@mRBmHhgFt!Z&nyABRYnmi*@CkOm#%1}A107ik?Fs>a9lE~MVz zM9N}g`;-=JlMp2>Ov{>mB!NJJr0~OVr#^mcBq8xwS{%&D{t5!Q@jmlto{+gxNEt~% z6aTHPEqB7*gnx{y#*Z z({t#hzJ36Qc)li!*OqeGQIz`yQ^mS3P@k9Q73W$XQ-R{`<|fMGN4qgsGvf2GdVJv7 zQXH;azyrD2Z6PAi{6I*o9V+8rR%R;OL&?LlB=;^E8=oc^9(JO033UYa= zh1^^ud=p{@v-n(3ATJ^m3^OJNlgGYfyWMa_JJF89y#nyQRJRvkdK%JKak+W)e+T*z z;mZdu^z;{$8R}8RSe7fNw-aKh^>otf>aYM}1O^DJZw0^Z21;3;(g+hXro4(X zI#wMeANn7QGPg>%^U`5mvu@NsM~U&w%th?1`**cS(Y*-1KjQG@1Z6h9ljfzTH|uL? zWHoVby17YtrR4)%IC#0aVQOULY;(XaKVJ+qRkX`R{*F}Sj_qI|gX*cJMFaqJCsesR z)I8hmy1e#Wq)vub^359#v1NxdbEn}5bach@vv9M^X0@V=AB;b2zHoBt*jJZDk`n%+ z7o63TlS9gCkIl`=5%Ib^i85~Xenb_$I0Nlz7ok`}%IGwxlg`I2BM`fVh~YSI-lWXV z9bLqEljdLqjV*k#=I zryYrs_F?rCRu`$MJz&jgahU!pE6YX_b0;T=p&}Y!M+aJ%d+sGCba$Ts{SZ{1s3^y| z*80v;;HJoQm9$nX9#uDeD{uo^e(2%5dk8RHEP@nnq2yUp<)Nqv3;JM zP*CdkMlXKDgolP<`a@Ir7gbf9^fYJ?@zPb$3wC%opS5n|G=7qrub2UFVxH|b@QzOnO)Go03S^{_ z-he&&_}C=+OT_HZrv?X4pM8CO&PN%2erb5Lae<=!8Qa2Q({71$m|Syy6N> zjTh=4w+bdFu?;VgpW02h9v<<{KFD|^7>z0M4qD@%x{AcgqoP+EHN-VJ5j;O$5A02C zr(9n($x#0blaX?C^mzA<^m#11%vih%BtWph1n6FO7q%5?fEB_)z*$!Q{%`-Y+f8NA z33k>&LQBgos04!l)hV^2Zyy<}`j|N@1V9CO7i0P)PZy3GcHl#bj9|0me!1e)h6)wj z2wm1GsH`k)@yM~TxDN@jOMY!ZtPMz@p^d3SBhcVFAfS-Ys(n|?(_qqsK(InI-o=pc zf6vX5RM+?c`baa=T6pb!%uiEOe5$D%l6m9e-Xil$6Z;zZ$9;cXoJ_`N-1(P%LuD7&Bf8b*8=XN*&W&go>SZ!nqY>eK#%3A-jjtZ1zF+%#!~u zSo{Utc{E3L8Lw&Qb3GUF_qDagXe!piN$|Flex;&wh8{0#LUTFC3{l)_V>`x#1@You@euicM>gF}RB7`q(*t&-9Uh{W5sm_a7g zv(1J%6T2&IKD|(M)0xk#vGR0wc6J%q+bA<(vZ|`skj&f*vpoZHESKGJdf>(b{yICm zW8ieeBICDd_l2{ywf)zIUnlHx^qpKt9k|;%ILMwDnCW}AL^uggMPEJu&8Tj zco>xmb8=R!t3d!t(TeHc0De43J1CC*=3njYxgeR~pfsF=qAl)q7Y~D#<>hUzu695Z zRSGzbTRkW8--^ym-P!}g9N+`~{{D-Li`-^CuCA_?*@~*Fz<5~jjtS_}A|eJL?o|qE z2wy;SDox;0lv^Fvk$HwQR$d2m$iIDCR#>>>RG-n}cD@CkL-hDn@)qINODh{2;7!B^ z?2?tW$@MflIa$Zd%&hn0>Gid?rY7*kezdl>HZVvJ4@ZaiHguKh*66&gvK*n5)uu|| z5UA!8eo>D}k5|_1{ux*m%gV}H>{sC-|L(7km-yfV?wxni6>#KvM}CT1auEZIo=wI1 z*;%si_SV*Gm#FXGC&$M>P>>N2j$^&JX~*it#~WA>i;`?vGNy}mtZ1!6T6_( z#!FgeRs%c?A;H1bSJ*FJn0W<3`Tta!b~Qc}UOe2Ic72f!lVRnqhd`2zo$I1ClBOIM zuwXoB@JkD?U%v+3!`Qy7REzFVDzi^=k)(e}KP9B4?Qd=pQc$pSEDvnl+k}8s8nvoj z?eZCH$t7UFMbx2@|K^OUQf95kV)Y{kpU!;!4`NVfEQc}_iqemaK;wXfC zVg8`TM)xGD1S4^Ao4}f^8*BQP<<-bP52-_CYC!)Nbb1R^e;zH=+f5a}hd?|$JV5-s zdKLBZqor`VJRP_NR8Y|K>ERX}J8&>8g}(r%n5kYAf<>X%;?DQkOkQ5ztK}VMPah9f znzp7M1i+jO(R<*qHhmmFcv?>axW}7Uj<%ekOdNxl7NP|+~8;lvYEbS8vmEQl{WDdosl-wCU{B zHYTjxPQ!FwU-ILC5gxelL0}p-Ib-hYP@~?#Ey=uMW&Lbv+1sD7wDf81#6FQxHA6>7 z$7Z>iq~rW`)*rWXDV(~|x4hxu;gXV)=?7txw{5YpxC@8ZV&BiVf~alKW+vcp5HA(} z_j3WsR{vL%?0&X~FgyF(f2I#C;K+HOZUwQohqcZqiepNGXnggfpIG+Qpt*&G2W%|c z()@Lb5JE<%KYKgctRfqQ_T?Y6kGU9#l5MYDqyN934fuaQjnMcE7s09jE<}9L9(-N` OqVPsVrd-Oz|NjBE{iiYj literal 10603 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 R>OegSk(W`DE|oO$`!Cn^|4IM= diff --git a/ntru__decrypt_8h_source.html b/ntru__decrypt_8h_source.html index 4212fa3..9b9b331 100644 --- a/ntru__decrypt_8h_source.html +++ b/ntru__decrypt_8h_source.html @@ -125,12 +125,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
57 
58 #endif /* PUBLIC_NTRU_DECRYPT_H_ */
public API, basic data types
- +
string * ntru_decrypt_string(const string *encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, const ntru_params *params)
diff --git a/ntru__encrypt_8h.html b/ntru__encrypt_8h.html index 39f3434..0860a29 100644 --- a/ntru__encrypt_8h.html +++ b/ntru__encrypt_8h.html @@ -97,7 +97,7 @@ Include dependency graph for ntru_encrypt.h:
- +

Go to the source code of this file.

@@ -165,7 +165,7 @@ Functions diff --git a/ntru__encrypt_8h__incl.map b/ntru__encrypt_8h__incl.map index ea753a6..844768c 100644 --- a/ntru__encrypt_8h__incl.map +++ b/ntru__encrypt_8h__incl.map @@ -1,3 +1,3 @@ - + diff --git a/ntru__encrypt_8h__incl.md5 b/ntru__encrypt_8h__incl.md5 index 15566b4..5a45df4 100644 --- a/ntru__encrypt_8h__incl.md5 +++ b/ntru__encrypt_8h__incl.md5 @@ -1 +1 @@ -894722027b6d98b320b583a014ae92e5 \ No newline at end of file +4626adf1f32ed42deb2e7611489d882e \ No newline at end of file diff --git a/ntru__encrypt_8h__incl.png b/ntru__encrypt_8h__incl.png index 04769d0545f6e933833cdce0ac51c1d35de23a91..eca6f2f5518f5cdab7f217a1470b74a8f6e3c2ad 100644 GIT binary patch literal 12511 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 W%2XQJ7W|I|h^(X%v`pOC@BaYoY-hOu literal 10482 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 OL{3UcvgD0{-~RzM5% 58 
59 #endif /* PUBLIC_NTRU_ENCRYPT_H_ */
public API, basic data types
- +
string * ntru_encrypt_string(const string *msg, const fmpz_poly_t pub_key, const fmpz_poly_t rnd, const ntru_params *params)
diff --git a/ntru__keypair_8h.html b/ntru__keypair_8h.html index 5d2589c..448e52f 100644 --- a/ntru__keypair_8h.html +++ b/ntru__keypair_8h.html @@ -83,8 +83,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); +Functions
ntru_keypair.h File Reference
@@ -102,7 +101,7 @@ Include dependency graph for ntru_keypair.h:
- +

Go to the source code of this file.

@@ -121,20 +120,16 @@ Typedefs Functions bool ntru_create_keypair (keypair *pair, const fmpz_poly_t f, const fmpz_poly_t g, const ntru_params *params)   -void export_public_key (char const *const filename, const fmpz_poly_t pub, const ntru_params *params) void export_priv_key(char const *const filename -  -void const fmpz_poly_t const
-ntru_params *params void import_public_key (fmpz_poly_t pub, char const *const filename, const ntru_params *params) -  -void import_priv_key (fmpz_poly_t priv, fmpz_poly_t priv_inv, char const *const filename, const ntru_params *params) -  +bool export_public_key (char const *const filename, const fmpz_poly_t pub, const ntru_params *params) +  +bool export_priv_key (char const *const filename, const fmpz_poly_t priv, const ntru_params *params) +  +bool import_public_key (fmpz_poly_t pub, char const *const filename, const ntru_params *params) +  +bool import_priv_key (fmpz_poly_t priv, fmpz_poly_t priv_inv, char const *const filename, const ntru_params *params) +  void ntru_delete_keypair (keypair *pair)   - - - -

-Variables

void const fmpz_poly_t priv
 

Detailed Description

public API, key handling

@@ -157,12 +152,54 @@ Variables

Function Documentation

- +
- + + + + + + + + + + + + + + + + + + + + + + +
void export_public_key bool export_priv_key (char const *const filename,
const fmpz_poly_t priv,
const ntru_paramsparams 
)
+
+

Export the private key to a file.

+
Parameters
+ + + + +
filenamethe file to save the private key into
privthe private key
paramsthe NTRU context
+
+
+
Returns
true for success, false if any of the file operations failed
+ +
+
+ +
+
+ + + @@ -182,7 +219,7 @@ Variables - +
bool export_public_key ( char const *const  filename,
) const
@@ -191,22 +228,20 @@ Variables - - -
filenamethe file to save the public key into
pubthe public key
paramsthe NTRU context Export the private key to a file.
filenamethe file to save the private key into
privthe private key
paramsthe NTRU context
+
Returns
true for success, false if any of the file operations failed
- +
- + @@ -246,15 +281,16 @@ Variables
void import_priv_key bool import_priv_key ( fmpz_poly_t  priv,
+
Returns
true for success, false if any of the file operations failed
- +
- + @@ -287,6 +323,7 @@ Variables
void const fmpz_poly_t const ntru_params* params void import_public_key bool import_public_key ( fmpz_poly_t  pub,
+
Returns
true for success, false if any of the file operations failed
@@ -360,27 +397,12 @@ Variables - - -

Variable Documentation

- -
-
- - - - -
void const fmpz_poly_t priv
-
- -

Definition at line 110 of file ntru_keypair.h.

-
diff --git a/ntru__keypair_8h__incl.map b/ntru__keypair_8h__incl.map index af8eb51..576e5f0 100644 --- a/ntru__keypair_8h__incl.map +++ b/ntru__keypair_8h__incl.map @@ -1,3 +1,3 @@ - + diff --git a/ntru__keypair_8h__incl.md5 b/ntru__keypair_8h__incl.md5 index 6a8f872..dba1e31 100644 --- a/ntru__keypair_8h__incl.md5 +++ b/ntru__keypair_8h__incl.md5 @@ -1 +1 @@ -d2b68c7c510eace4243862153d8b5f85 \ No newline at end of file +964188e9154e9915cc8a24fecb4da5db \ No newline at end of file diff --git a/ntru__keypair_8h__incl.png b/ntru__keypair_8h__incl.png index 83227b11c43e9e30cb85328c5b4822b88e1323bb..2496eeeead2316ed9cb2fea8e02701731b6f1bde 100644 GIT binary patch literal 15769 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%0DTm-3E^YKp!pky$VL>({w9zvuBx;XO4{Ue9Wm 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 Gf&U9|L(vle diff --git a/ntru__keypair_8h_source.html b/ntru__keypair_8h_source.html index 22c0842..adb9001 100644 --- a/ntru__keypair_8h_source.html +++ b/ntru__keypair_8h_source.html @@ -133,51 +133,49 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
86  const fmpz_poly_t g,
87  const ntru_params *params);
88 
-
96 void
-
97 export_public_key(char const * const filename,
-
98  const fmpz_poly_t pub,
-
99  const ntru_params *params)
-
100 
+
97 bool
+
98 export_public_key(char const * const filename,
+
99  const fmpz_poly_t pub,
+
100  const ntru_params *params);
101 
-
108 void
-
109 export_priv_key(char const * const filename,
-
110  const fmpz_poly_t priv,
-
111  const ntru_params *params)
-
112 
-
113 
-
120 void
-
121 import_public_key(fmpz_poly_t pub,
-
122  char const * const filename,
-
123  const ntru_params *params);
-
124 
-
125 
-
136 void
-
137 import_priv_key(fmpz_poly_t priv,
-
138  fmpz_poly_t priv_inv,
-
139  char const * const filename,
-
140  const ntru_params *params);
-
141 
-
149 void
- -
151 
-
152 
-
153 #endif /* PUBLIC_NTRU_KEYPAIR_H_ */
+
110 bool
+
111 export_priv_key(char const * const filename,
+
112  const fmpz_poly_t priv,
+
113  const ntru_params *params);
+
114 
+
123 bool
+
124 import_public_key(fmpz_poly_t pub,
+
125  char const * const filename,
+
126  const ntru_params *params);
+
127 
+
128 
+
140 bool
+
141 import_priv_key(fmpz_poly_t priv,
+
142  fmpz_poly_t priv_inv,
+
143  char const * const filename,
+
144  const ntru_params *params);
+
145 
+
153 void
+ +
155 
+
156 
+
157 #endif /* PUBLIC_NTRU_KEYPAIR_H_ */
public API, basic data types
-
void export_public_key(char const *const filename, const fmpz_poly_t pub, const ntru_params *params) void export_priv_key(char const *const filename
-
void import_priv_key(fmpz_poly_t priv, fmpz_poly_t priv_inv, char const *const filename, const ntru_params *params)
- + +
bool export_public_key(char const *const filename, const fmpz_poly_t pub, const ntru_params *params)
fmpz_poly_t priv_inv
Definition: ntru_keypair.h:59
bool ntru_create_keypair(keypair *pair, const fmpz_poly_t f, const fmpz_poly_t g, const ntru_params *params)
+
bool import_priv_key(fmpz_poly_t priv, fmpz_poly_t priv_inv, char const *const filename, const ntru_params *params)
fmpz_poly_t pub
Definition: ntru_keypair.h:64
fmpz_poly_t priv
Definition: ntru_keypair.h:54
-
void const fmpz_poly_t const ntru_params *params void import_public_key(fmpz_poly_t pub, char const *const filename, const ntru_params *params)
+
bool import_public_key(fmpz_poly_t pub, char const *const filename, const ntru_params *params)
+
bool export_priv_key(char const *const filename, const fmpz_poly_t priv, const ntru_params *params)
void ntru_delete_keypair(keypair *pair)
-
void const fmpz_poly_t priv
Definition: ntru_keypair.h:110
diff --git a/ntru__rnd_8h.html b/ntru__rnd_8h.html index 4215275..61fb89f 100644 --- a/ntru__rnd_8h.html +++ b/ntru__rnd_8h.html @@ -98,7 +98,7 @@ Include dependency graph for ntru_rnd.h:
- +

Go to the source code of this file.

@@ -212,7 +212,7 @@ Functions diff --git a/ntru__rnd_8h__incl.map b/ntru__rnd_8h__incl.map index 9d68934..2e032e5 100644 --- a/ntru__rnd_8h__incl.map +++ b/ntru__rnd_8h__incl.map @@ -1,3 +1,3 @@ - + diff --git a/ntru__rnd_8h__incl.md5 b/ntru__rnd_8h__incl.md5 index c118c38..aa121bf 100644 --- a/ntru__rnd_8h__incl.md5 +++ b/ntru__rnd_8h__incl.md5 @@ -1 +1 @@ -6bb3a344c2507757c9cfed93dab642fc \ No newline at end of file +874b3240f75de52383673655e3bc01bd \ No newline at end of file diff --git a/ntru__rnd_8h__incl.png b/ntru__rnd_8h__incl.png index 1b3617d856f0807a30a1a6efdc2e061bd4af1775..07743511ea79102d0dc93c6cf04a08b495c240a3 100644 GIT binary patch literal 14012 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 W!?pS$K>$n#;-iGTc%`Ue!2bYDTXF&b literal 12034 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 diff --git a/ntru__rnd_8h_source.html b/ntru__rnd_8h_source.html index d27ffd2..4768946 100644 --- a/ntru__rnd_8h_source.html +++ b/ntru__rnd_8h_source.html @@ -133,13 +133,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
77 #endif /* PUBLIC_NTRU_RND_H_ */
int get_urnd_int(void)
public API, basic data types
- +
void ntru_get_rnd_tern_poly_num(fmpz_poly_t poly, const ntru_params *params, uint32_t num_ones, uint32_t num_neg_ones, int(*rnd_int)(void))
int get_rnd_int(void)
diff --git a/search/all_1.js b/search/all_1.js index 31c24e0..5b910e3 100644 --- a/search/all_1.js +++ b/search/all_1.js @@ -1,4 +1,5 @@ var searchData= [ - ['export_5fpublic_5fkey',['export_public_key',['../ntru__keypair_8h.html#ab6cb83ee5f477ac473021c3b680bebaf',1,'ntru_keypair.h']]] + ['export_5fpriv_5fkey',['export_priv_key',['../ntru__keypair_8h.html#ab4fa7bc1bbfb224f02a5aa8c498d7107',1,'ntru_keypair.h']]], + ['export_5fpublic_5fkey',['export_public_key',['../ntru__keypair_8h.html#a4c1eb586b7b1c46d1a43147c88e0b25f',1,'ntru_keypair.h']]] ]; diff --git a/search/all_3.js b/search/all_3.js index 4c140d3..6ffd009 100644 --- a/search/all_3.js +++ b/search/all_3.js @@ -1,6 +1,6 @@ var searchData= [ - ['import_5fpriv_5fkey',['import_priv_key',['../ntru__keypair_8h.html#aedfa3c9cc36b536a12278c3584d94623',1,'ntru_keypair.h']]], - ['import_5fpublic_5fkey',['import_public_key',['../ntru__keypair_8h.html#a6a028c6830d7be6ea75f322911289d2c',1,'ntru_keypair.h']]], + ['import_5fpriv_5fkey',['import_priv_key',['../ntru__keypair_8h.html#a0d387f6329b9bf79e4f9e8286a5d3337',1,'ntru_keypair.h']]], + ['import_5fpublic_5fkey',['import_public_key',['../ntru__keypair_8h.html#a9fedb1c2bbcec20c67244e91987a7a77',1,'ntru_keypair.h']]], ['index_20page',['Index Page',['../index.html',1,'']]] ]; diff --git a/search/all_7.js b/search/all_7.js index a058299..7e72976 100644 --- a/search/all_7.js +++ b/search/all_7.js @@ -8,7 +8,7 @@ var searchData= ['poly_5fdraw_5fpretty',['poly_draw_pretty',['../ntru_8h.html#aec098d00160d2d502eb1f8a7c3fa5453',1,'ntru.h']]], ['poly_5fnew',['poly_new',['../ntru_8h.html#a20f86085d5eb5372fd25dc270069d38c',1,'ntru.h']]], ['prints',['prints',['../ntru_8h.html#a55d4ce182c335ff6cca360909a7be395',1,'ntru.h']]], - ['priv',['priv',['../structkeypair.html#a9e9805ad001216da53f2c57accb288e1',1,'keypair::priv()'],['../ntru__keypair_8h.html#a205b65fe204c1506a749de8a2ff29418',1,'priv(): ntru_keypair.h']]], + ['priv',['priv',['../structkeypair.html#a9e9805ad001216da53f2c57accb288e1',1,'keypair']]], ['priv_5finv',['priv_inv',['../structkeypair.html#a9e63f1d275b91c9d9716fb4069461799',1,'keypair']]], ['ptr',['ptr',['../structstring.html#aa1b2f3a2ddd1ed38245b8d4590aadf93',1,'string']]], ['pub',['pub',['../structkeypair.html#afa635c70f233d0b7449b4a17513646c4',1,'keypair']]] diff --git a/search/all_b.js b/search/all_b.js index 3871b9d..06f4514 100644 --- a/search/all_b.js +++ b/search/all_b.js @@ -1,4 +1,4 @@ var searchData= [ - ['write_5ffile',['write_file',['../ntru_8h.html#af2a0fc4dd4109749d8f3100a913cc304',1,'ntru.h']]] + ['write_5ffile',['write_file',['../ntru_8h.html#a1f8eef5ea12c77ed2491d96864eb0d43',1,'ntru.h']]] ]; diff --git a/search/functions_0.js b/search/functions_0.js index 31c24e0..5b910e3 100644 --- a/search/functions_0.js +++ b/search/functions_0.js @@ -1,4 +1,5 @@ var searchData= [ - ['export_5fpublic_5fkey',['export_public_key',['../ntru__keypair_8h.html#ab6cb83ee5f477ac473021c3b680bebaf',1,'ntru_keypair.h']]] + ['export_5fpriv_5fkey',['export_priv_key',['../ntru__keypair_8h.html#ab4fa7bc1bbfb224f02a5aa8c498d7107',1,'ntru_keypair.h']]], + ['export_5fpublic_5fkey',['export_public_key',['../ntru__keypair_8h.html#a4c1eb586b7b1c46d1a43147c88e0b25f',1,'ntru_keypair.h']]] ]; diff --git a/search/functions_2.js b/search/functions_2.js index 32b6fc6..deab62c 100644 --- a/search/functions_2.js +++ b/search/functions_2.js @@ -1,5 +1,5 @@ var searchData= [ - ['import_5fpriv_5fkey',['import_priv_key',['../ntru__keypair_8h.html#aedfa3c9cc36b536a12278c3584d94623',1,'ntru_keypair.h']]], - ['import_5fpublic_5fkey',['import_public_key',['../ntru__keypair_8h.html#a6a028c6830d7be6ea75f322911289d2c',1,'ntru_keypair.h']]] + ['import_5fpriv_5fkey',['import_priv_key',['../ntru__keypair_8h.html#a0d387f6329b9bf79e4f9e8286a5d3337',1,'ntru_keypair.h']]], + ['import_5fpublic_5fkey',['import_public_key',['../ntru__keypair_8h.html#a9fedb1c2bbcec20c67244e91987a7a77',1,'ntru_keypair.h']]] ]; diff --git a/search/functions_7.js b/search/functions_7.js index 3871b9d..06f4514 100644 --- a/search/functions_7.js +++ b/search/functions_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['write_5ffile',['write_file',['../ntru_8h.html#af2a0fc4dd4109749d8f3100a913cc304',1,'ntru.h']]] + ['write_5ffile',['write_file',['../ntru_8h.html#a1f8eef5ea12c77ed2491d96864eb0d43',1,'ntru.h']]] ]; diff --git a/search/variables_2.js b/search/variables_2.js index 34ffef2..3b3d001 100644 --- a/search/variables_2.js +++ b/search/variables_2.js @@ -1,7 +1,7 @@ var searchData= [ ['p',['p',['../structntru__params.html#a41b368825e1eb126604e13e8f549ec8f',1,'ntru_params']]], - ['priv',['priv',['../structkeypair.html#a9e9805ad001216da53f2c57accb288e1',1,'keypair::priv()'],['../ntru__keypair_8h.html#a205b65fe204c1506a749de8a2ff29418',1,'priv(): ntru_keypair.h']]], + ['priv',['priv',['../structkeypair.html#a9e9805ad001216da53f2c57accb288e1',1,'keypair']]], ['priv_5finv',['priv_inv',['../structkeypair.html#a9e63f1d275b91c9d9716fb4069461799',1,'keypair']]], ['ptr',['ptr',['../structstring.html#aa1b2f3a2ddd1ed38245b8d4590aadf93',1,'string']]], ['pub',['pub',['../structkeypair.html#afa635c70f233d0b7449b4a17513646c4',1,'keypair']]] diff --git a/structkeypair.html b/structkeypair.html index 8c386c9..5a49662 100644 --- a/structkeypair.html +++ b/structkeypair.html @@ -155,7 +155,7 @@ Data Fields diff --git a/structntru__params.html b/structntru__params.html index b0890b1..0c57e28 100644 --- a/structntru__params.html +++ b/structntru__params.html @@ -102,7 +102,7 @@ Data Fields

Detailed Description

NTRU cryptosystem is specified by the following triple.

-

Definition at line 47 of file ntru.h.

+

Definition at line 48 of file ntru.h.

Field Documentation

@@ -115,7 +115,7 @@ Data Fields

maximal degree N - 1 for all polynomials

-

Definition at line 52 of file ntru.h.

+

Definition at line 53 of file ntru.h.

@@ -130,7 +130,7 @@ Data Fields

small modulus

-

Definition at line 60 of file ntru.h.

+

Definition at line 61 of file ntru.h.

@@ -145,7 +145,7 @@ Data Fields

large modulus

-

Definition at line 56 of file ntru.h.

+

Definition at line 57 of file ntru.h.

@@ -155,7 +155,7 @@ Data Fields diff --git a/structstring.html b/structstring.html index 54ed31b..94574e5 100644 --- a/structstring.html +++ b/structstring.html @@ -100,7 +100,7 @@ Data Fields

Detailed Description

Represents a string.

-

Definition at line 66 of file ntru.h.

+

Definition at line 67 of file ntru.h.

Field Documentation

@@ -113,7 +113,7 @@ Data Fields

Length of the string.

-

Definition at line 78 of file ntru.h.

+

Definition at line 79 of file ntru.h.

@@ -128,7 +128,7 @@ Data Fields

Pointer to the char array, holding the actual string. THIS IS NOT NULL TERMINATED (at least not necessarily, don't ever assume it).

-

Definition at line 74 of file ntru.h.

+

Definition at line 75 of file ntru.h.

@@ -138,7 +138,7 @@ Data Fields