Print this page
first pass
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/uts/common/gssapi/mechs/krb5/crypto/des/f_cksum.c
+++ new/usr/src/uts/common/gssapi/mechs/krb5/crypto/des/f_cksum.c
1 1 /*
2 2 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
3 3 * Use is subject to license terms.
4 4 */
5 5
6 6
7 7 /*
8 8 * des_cbc_cksum.c - compute an 8 byte checksum using DES in CBC mode
9 9 */
10 10 #include "des_int.h"
11 11
12 12 /*
13 13 * This routine performs DES cipher-block-chaining checksum operation,
14 14 * a.k.a. Message Authentication Code. It ALWAYS encrypts from input
15 15 * to a single 64 bit output MAC checksum.
16 16 *
17 17 * The key schedule is passed as an arg, as well as the cleartext or
18 18 * ciphertext. The cleartext and ciphertext should be in host order.
19 19 *
20 20 * NOTE-- the output is ALWAYS 8 bytes long. If not enough space was
21 21 * provided, your program will get trashed.
22 22 *
↓ open down ↓ |
22 lines elided |
↑ open up ↑ |
23 23 * The input is null padded, at the end (highest addr), to an integral
24 24 * multiple of eight bytes.
25 25 */
26 26 unsigned long
27 27 mit_des_cbc_cksum(krb5_context context,
28 28 const krb5_octet *in, krb5_octet *out,
29 29 unsigned long length, krb5_keyblock *key,
30 30 const krb5_octet *ivec)
31 31 {
32 32 krb5_error_code ret = 0;
33 -/* EXPORT DELETE START */
34 33 krb5_data input;
35 34 krb5_data output;
36 35 krb5_data ivecdata;
37 36
38 37 input.data = (char *)in;
39 38 input.length = length;
40 39 output.data = (char *)out;
41 40 output.length = MIT_DES_BLOCK_LENGTH;
42 41 ivecdata.data = (char *)ivec;
43 42 ivecdata.length = MIT_DES_BLOCK_LENGTH;
44 43
45 44 ret = k5_ef_mac(context, key, &ivecdata,
46 45 (const krb5_data *)&input, &output);
47 46
48 -/* EXPORT DELETE END */
49 47 return (ret);
50 48 }
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX