f_cksum.c (505d05c7) f_cksum.c (159d09a2)
1/*
1/*
2 * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
2 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
3 * Use is subject to license terms.
4 */
5
3 * Use is subject to license terms.
4 */
5
6#pragma ident "%Z%%M% %I% %E% SMI"
7
8/*
9 * des_cbc_cksum.c - compute an 8 byte checksum using DES in CBC mode
10 */
6
7/*
8 * des_cbc_cksum.c - compute an 8 byte checksum using DES in CBC mode
9 */
11#include <des_int.h>
10#include "des_int.h"
12
13/*
14 * This routine performs DES cipher-block-chaining checksum operation,
15 * a.k.a. Message Authentication Code. It ALWAYS encrypts from input
16 * to a single 64 bit output MAC checksum.
17 *
18 * The key schedule is passed as an arg, as well as the cleartext or
19 * ciphertext. The cleartext and ciphertext should be in host order.
20 *
21 * NOTE-- the output is ALWAYS 8 bytes long. If not enough space was
22 * provided, your program will get trashed.
23 *
24 * The input is null padded, at the end (highest addr), to an integral
25 * multiple of eight bytes.
26 */
27unsigned long
28mit_des_cbc_cksum(krb5_context context,
11
12/*
13 * This routine performs DES cipher-block-chaining checksum operation,
14 * a.k.a. Message Authentication Code. It ALWAYS encrypts from input
15 * to a single 64 bit output MAC checksum.
16 *
17 * The key schedule is passed as an arg, as well as the cleartext or
18 * ciphertext. The cleartext and ciphertext should be in host order.
19 *
20 * NOTE-- the output is ALWAYS 8 bytes long. If not enough space was
21 * provided, your program will get trashed.
22 *
23 * The input is null padded, at the end (highest addr), to an integral
24 * multiple of eight bytes.
25 */
26unsigned long
27mit_des_cbc_cksum(krb5_context context,
29 krb5_octet *in, krb5_octet *out,
30 long length, krb5_keyblock *key,
31 krb5_octet *ivec)
28 const krb5_octet *in, krb5_octet *out,
29 unsigned long length, krb5_keyblock *key,
30 const krb5_octet *ivec)
32{
33 krb5_error_code ret = 0;
34/* EXPORT DELETE START */
35 krb5_data input;
36 krb5_data output;
37 krb5_data ivecdata;
38
39 input.data = (char *)in;

--- 12 unchanged lines hidden ---
31{
32 krb5_error_code ret = 0;
33/* EXPORT DELETE START */
34 krb5_data input;
35 krb5_data output;
36 krb5_data ivecdata;
37
38 input.data = (char *)in;

--- 12 unchanged lines hidden ---