ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Crypt-Spritz/Spritz.xs
(Generate patch)

Comparing Crypt-Spritz/Spritz.xs (file contents):
Revision 1.5 by root, Sat Jan 10 07:48:29 2015 UTC vs.
Revision 1.6 by root, Sat Jan 10 08:29:06 2015 UTC

122 spritz_cipher_xor_init ((spritz_state *)SvPVX (SvRV (RETVAL)), k, k_len, iv, iv_len); 122 spritz_cipher_xor_init ((spritz_state *)SvPVX (SvRV (RETVAL)), k, k_len, iv, iv_len);
123} 123}
124 OUTPUT: 124 OUTPUT:
125 RETVAL 125 RETVAL
126 126
127MODULE = Crypt::Spritz PACKAGE = Crypt::Spritz::Cipher::XOR PREFIX = spritz_cipher_xor_ 127MODULE = Crypt::Spritz PACKAGE = Crypt::Spritz::Cipher PREFIX = spritz_cipher_
128 128
129SV * 129SV *
130crypt (Crypt::Spritz self, SV *I) 130encrypt (Crypt::Spritz self, SV *I)
131 ALIAS:
132 encrypt = 0
133 decrypt = 1
134 Crypt::Spritz::Cipher::XOR::crypt = 2
135 Crypt::Spritz::AEAD::encrypt = 3
136 Crypt::Spritz::AEAD::decrypt = 4
137 Crypt::Spritz::AEAD::XOR::crypt = 5
131 CODE: 138 CODE:
139 static void (*f[])(spritz_state *s, const void *I, void *O, size_t len) = {
140 spritz_cipher_encrypt,
141 spritz_cipher_decrypt,
142 spritz_cipher_xor_crypt,
143 spritz_aead_encrypt,
144 spritz_aead_decrypt,
145 spritz_aead_xor_crypt
146 };
132{ 147{
133 STRLEN len; char *ptr = SvPVbyte (I, len); 148 STRLEN len; char *ptr = SvPVbyte (I, len);
134 RETVAL = alloc_pv (len); 149 RETVAL = alloc_pv (len);
135 spritz_cipher_xor_crypt (self, ptr, SvPVX (RETVAL), len); 150 f[ix](self, ptr, SvPVX (RETVAL), len);
136} 151}
137 OUTPUT: 152 OUTPUT:
138 RETVAL 153 RETVAL
154
155MODULE = Crypt::Spritz PACKAGE = Crypt::Spritz::Cipher::XOR PREFIX = spritz_cipher_xor_
156
157# crypt == Spritz::Cipher::crypt (xs-alias)
139 158
140void 159void
141crypt_inplace (Crypt::Spritz self, SV *I) 160crypt_inplace (Crypt::Spritz self, SV *I)
142 CODE: 161 CODE:
143 sv_force_normal (I); 162 sv_force_normal (I);
173 RETVAL 192 RETVAL
174 193
175# add == Spritz::HASH::add (inherit) 194# add == Spritz::HASH::add (inherit)
176# finish == Spritz::HASH::finish (inherit) 195# finish == Spritz::HASH::finish (inherit)
177 196
178MODULE = Crypt::Spritz PACKAGE = Crypt::Spritz::AEAD PREFIX = spritz_aead_xor_ 197MODULE = Crypt::Spritz PACKAGE = Crypt::Spritz::AEAD PREFIX = spritz_aead_
179 198
180# new == Spritz::MAC::new (inherit) 199# new == Spritz::MAC::new (inherit)
181# nonce == absorb_and_stop (alias) 200# nonce == absorb_and_stop (alias)
182# associated_data == absorb_and_stop (alias) 201# associated_data == absorb_and_stop (alias)
202# encrypt == Spritz::Cipher::crypt (xs-alias)
203# decrypt == Spritz::Cipher::crypt (xs-alias)
183# finish == Spritz::MAC::finish (alias) 204# finish == Spritz::MAC::finish (alias)
184 205
185MODULE = Crypt::Spritz PACKAGE = Crypt::Spritz::AEAD::XOR PREFIX = spritz_aead_xor_ 206MODULE = Crypt::Spritz PACKAGE = Crypt::Spritz::AEAD::XOR PREFIX = spritz_aead_xor_
186 207
187# new == Spritz::MAC::new (inherit) 208# new == Spritz::MAC::new (inherit)
188# nonce == Spritz::AEAD::nonce (inherit) 209# nonce == Spritz::AEAD::nonce (inherit)
189# associated_data == Spritz::AEAD::associated_data (inherit) 210# associated_data == Spritz::AEAD::associated_data (inherit)
211# crypt == Spritz::Cipher::crypt (xs-alias)
190# finish == Spritz::AEAD::finish (inherit) 212# finish == Spritz::AEAD::finish (inherit)
191
192SV *
193crypt (Crypt::Spritz self, SV *I)
194 CODE:
195{
196 STRLEN len; char *ptr = SvPVbyte (I, len);
197 RETVAL = alloc_pv (len);
198 spritz_aead_xor_crypt (self, ptr, SvPVX (RETVAL), len);
199}
200 OUTPUT:
201 RETVAL
202 213
203void 214void
204crypt_inplace (Crypt::Spritz self, SV *I) 215crypt_inplace (Crypt::Spritz self, SV *I)
205 CODE: 216 CODE:
206 sv_force_normal (I); 217 sv_force_normal (I);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines