--- old/lib/crypto/enc_provider/des.c	Thu Jun 29 22:27:52 2000
+++ new/lib/crypto/enc_provider/des.c	Tue Jul  4 17:10:38 2000
@@ -27,6 +27,9 @@
 #include "k5-int.h"
 #include "des_int.h"
 #include "enc_provider.h"
+#ifdef KRBSC
+#include "krbsc_extern.h"
+#endif /* KRBSC */
 
 static const mit_des_cblock mit_des_zeroblock[8] /* = all zero */;
 
@@ -50,6 +53,16 @@
     mit_des_key_schedule schedule;
     int ret;
 
+#ifdef KRBSC
+    int i;
+    
+    if (KRB5_PRINT_KEY) {
+      printf ("key:\n");
+      for (i = 0 ; i < 8 ; i++ )
+	printf("%02x ", key->contents[i]);
+      printf ("\n");
+    }
+#endif /* KRBSC */
     /* key->enctype was checked by the caller */
 
     if (key->length != 8)
@@ -61,6 +74,16 @@
     if (input->length != output->length)
 	return(KRB5_BAD_MSIZE);
 
+#ifdef KRBSC
+    if (KRB5_USE_SC) {
+      ret = sc_encrypt (input->data, output->data, input->length,
+			ivec ? ivec->data : (char *)mit_des_zeroblock,
+			encrypt);
+      
+      if (ret) return KRB5_BAD_ENCTYPE;
+      else return 0;
+    }
+#endif /* KRBSC */
     switch (ret = mit_des_key_sched(key->contents, schedule)) {
     case -1:
 	return(KRB5DES_BAD_KEYPAR);
