| 278 | } |
| 279 | |
| 280 | int av_des_init(AVDES *d, const uint8_t *key, int key_bits, av_unused int decrypt) { |
| 281 | if (key_bits != 64 && key_bits != 192) |
| 282 | return AVERROR(EINVAL); |
| 283 | d->triple_des = key_bits > 64; |
| 284 | gen_roundkeys(d->round_keys[0], AV_RB64(key)); |
| 285 | if (d->triple_des) { |
| 286 | gen_roundkeys(d->round_keys[1], AV_RB64(key + 8)); |
| 287 | gen_roundkeys(d->round_keys[2], AV_RB64(key + 16)); |
| 288 | } |
| 289 | return 0; |
| 290 | } |
| 291 | |
| 292 | static void av_des_crypt_mac(AVDES *d, uint8_t *dst, const uint8_t *src, |
| 293 | int count, uint8_t *iv, int decrypt, int mac) |