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 --- |