/src/krb5/src/lib/crypto/krb/prf_rc4.c
Line | Count | Source |
1 | | /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */ |
2 | | /* lib/crypto/krb/prf_rc4.c */ |
3 | | /* |
4 | | * Copyright (C) 2009 by the Massachusetts Institute of Technology. |
5 | | * All rights reserved. |
6 | | * |
7 | | * Export of this software from the United States of America may |
8 | | * require a specific license from the United States Government. |
9 | | * It is the responsibility of any person or organization contemplating |
10 | | * export to obtain such a license before exporting. |
11 | | * |
12 | | * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and |
13 | | * distribute this software and its documentation for any purpose and |
14 | | * without fee is hereby granted, provided that the above copyright |
15 | | * notice appear in all copies and that both that copyright notice and |
16 | | * this permission notice appear in supporting documentation, and that |
17 | | * the name of M.I.T. not be used in advertising or publicity pertaining |
18 | | * to distribution of the software without specific, written prior |
19 | | * permission. Furthermore if you modify this software you must label |
20 | | * your software as modified software and not distribute it in such a |
21 | | * fashion that it might be confused with the original M.I.T. software. |
22 | | * M.I.T. makes no representations about the suitability of |
23 | | * this software for any purpose. It is provided "as is" without express |
24 | | * or implied warranty. |
25 | | */ |
26 | | |
27 | | #include "crypto_int.h" |
28 | | |
29 | | krb5_error_code |
30 | | krb5int_arcfour_prf(const struct krb5_keytypes *ktp, krb5_key key, |
31 | | const krb5_data *in, krb5_data *out) |
32 | 975 | { |
33 | 975 | krb5_crypto_iov iov; |
34 | | |
35 | 975 | assert(out->length == 20); |
36 | 975 | iov.flags = KRB5_CRYPTO_TYPE_DATA; |
37 | 975 | iov.data = *in; |
38 | 975 | return krb5int_hmac(&krb5int_hash_sha1, key, &iov, 1, out); |
39 | 975 | } |