Codebase list libcryptx-perl / 6a66eaa
ISO 10126 padding - related to #54 Karel Miko 4 years ago
6 changed file(s) with 9 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
119119 # 3 ANSI X.923 padding
120120 # 4 zero padding
121121 # 5 zero padding (+a block of zeros if the output length is divisible by the blocksize)
122 # 6 ISO 10126 padding
122123 # $cipher_rounds ... optional num of rounds for given cipher
123124 [%-ELSE%]
124125 my $m = Crypt::Mode::[%orig_name%]->new($name);
235235 else if (self->padding_mode == 3) { padmode = LTC_PAD_ANSI_X923 | (&self->state)->blocklen; }
236236 else if (self->padding_mode == 4) { padmode = LTC_PAD_ZERO | (&self->state)->blocklen; }
237237 else if (self->padding_mode == 5) { padmode = LTC_PAD_ZERO_ALWAYS | (&self->state)->blocklen; }
238 else if (self->padding_mode == 6) { padmode = LTC_PAD_ISO_10126 | (&self->state)->blocklen; }
238239 else { croak("FATAL: unknown padding"); }
239240 blen = sizeof(self->pad);
240241 rv = padding_pad(self->pad, self->padlen, &blen, padmode);
258259 else if (self->padding_mode == 3) { padmode = LTC_PAD_ANSI_X923 | (&self->state)->blocklen; }
259260 else if (self->padding_mode == 4) { padmode = LTC_PAD_ZERO | (&self->state)->blocklen; }
260261 else if (self->padding_mode == 5) { padmode = LTC_PAD_ZERO_ALWAYS | (&self->state)->blocklen; }
262 else if (self->padding_mode == 6) { padmode = LTC_PAD_ISO_10126 | (&self->state)->blocklen; }
261263 else { croak("FATAL: unknown padding"); }
262264 rv = padding_depad(tmp_block, &blen, padmode);
263265 if (rv != CRYPT_OK) croak("FATAL: padding_depad failed: %s", error_to_string(rv));
223223 else if (self->padding_mode == 3) { padmode = LTC_PAD_ANSI_X923 | (&self->state)->blocklen; }
224224 else if (self->padding_mode == 4) { padmode = LTC_PAD_ZERO | (&self->state)->blocklen; }
225225 else if (self->padding_mode == 5) { padmode = LTC_PAD_ZERO_ALWAYS | (&self->state)->blocklen; }
226 else if (self->padding_mode == 6) { padmode = LTC_PAD_ISO_10126 | (&self->state)->blocklen; }
226227 else { croak("FATAL: unknown padding"); }
227228 blen = sizeof(self->pad);
228229 rv = padding_pad(self->pad, self->padlen, &blen, padmode);
246247 else if (self->padding_mode == 3) { padmode = LTC_PAD_ANSI_X923 | (&self->state)->blocklen; }
247248 else if (self->padding_mode == 4) { padmode = LTC_PAD_ZERO | (&self->state)->blocklen; }
248249 else if (self->padding_mode == 5) { padmode = LTC_PAD_ZERO_ALWAYS | (&self->state)->blocklen; }
250 else if (self->padding_mode == 6) { padmode = LTC_PAD_ISO_10126 | (&self->state)->blocklen; }
249251 else { croak("FATAL: unknown padding"); }
250252 rv = padding_depad(tmp_block, &blen, padmode);
251253 if (rv != CRYPT_OK) croak("FATAL: padding_depad failed: %s", error_to_string(rv));
216216 else if (self->padding_mode == 3) { padmode = LTC_PAD_ANSI_X923 | (&self->state)->blocklen; }
217217 else if (self->padding_mode == 4) { padmode = LTC_PAD_ZERO | (&self->state)->blocklen; }
218218 else if (self->padding_mode == 5) { padmode = LTC_PAD_ZERO_ALWAYS | (&self->state)->blocklen; }
219 else if (self->padding_mode == 6) { padmode = LTC_PAD_ISO_10126 | (&self->state)->blocklen; }
219220 else { croak("FATAL: unknown padding"); }
220221 blen = sizeof(self->pad);
221222 rv = padding_pad(self->pad, self->padlen, &blen, padmode);
239240 else if (self->padding_mode == 3) { padmode = LTC_PAD_ANSI_X923 | (&self->state)->blocklen; }
240241 else if (self->padding_mode == 4) { padmode = LTC_PAD_ZERO | (&self->state)->blocklen; }
241242 else if (self->padding_mode == 5) { padmode = LTC_PAD_ZERO_ALWAYS | (&self->state)->blocklen; }
243 else if (self->padding_mode == 6) { padmode = LTC_PAD_ISO_10126 | (&self->state)->blocklen; }
242244 else { croak("FATAL: unknown padding"); }
243245 rv = padding_depad(tmp_block, &blen, padmode);
244246 if (rv != CRYPT_OK) croak("FATAL: padding_depad failed: %s", error_to_string(rv));
7575 # 3 ANSI X.923 padding
7676 # 4 zero padding
7777 # 5 zero padding (+a block of zeros if the output length is divisible by the blocksize)
78 # 6 ISO 10126 padding
7879 # $cipher_rounds ... optional num of rounds for given cipher
7980
8081 =head2 encrypt
7676 # 3 ANSI X.923 padding
7777 # 4 zero padding
7878 # 5 zero padding (+a block of zeros if the output length is divisible by the blocksize)
79 # 6 ISO 10126 padding
7980 # $cipher_rounds ... optional num of rounds for given cipher
8081
8182 =head2 encrypt