… | |
… | |
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 | |
127 | MODULE = Crypt::Spritz PACKAGE = Crypt::Spritz::Cipher::XOR PREFIX = spritz_cipher_xor_ |
127 | MODULE = Crypt::Spritz PACKAGE = Crypt::Spritz::Cipher PREFIX = spritz_cipher_ |
128 | |
128 | |
129 | SV * |
129 | SV * |
130 | crypt (Crypt::Spritz self, SV *I) |
130 | encrypt (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 | |
|
|
155 | MODULE = Crypt::Spritz PACKAGE = Crypt::Spritz::Cipher::XOR PREFIX = spritz_cipher_xor_ |
|
|
156 | |
|
|
157 | # crypt == Spritz::Cipher::crypt (xs-alias) |
139 | |
158 | |
140 | void |
159 | void |
141 | crypt_inplace (Crypt::Spritz self, SV *I) |
160 | crypt_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 | |
178 | MODULE = Crypt::Spritz PACKAGE = Crypt::Spritz::AEAD PREFIX = spritz_aead_xor_ |
197 | MODULE = 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 | |
185 | MODULE = Crypt::Spritz PACKAGE = Crypt::Spritz::AEAD::XOR PREFIX = spritz_aead_xor_ |
206 | MODULE = 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 | |
|
|
192 | SV * |
|
|
193 | crypt (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 | |
203 | void |
214 | void |
204 | crypt_inplace (Crypt::Spritz self, SV *I) |
215 | crypt_inplace (Crypt::Spritz self, SV *I) |
205 | CODE: |
216 | CODE: |
206 | sv_force_normal (I); |
217 | sv_force_normal (I); |