2 * Copyright 1988 by the Massachusetts Institute of Technology.
4 * For copying and distribution information, please see the file
7 * exit status: 0 ==> success
11 #include <afsconfig.h>
12 #include <afs/param.h>
15 #include <mit-cpyright.h>
20 #define MIN_ARGC 0 /* min # args, not incl flags */
21 #define MAX_ARGC 99 /* max # args, not incl flags */
23 extern char *errmsg();
24 extern int des_key_sched();
34 unsigned char dum_c[8] = { 0x80, 1, 1, 1, 1, 1, 1, 1 };
42 /* Local Declarations */
45 progname = argv[0]; /* salt away invoking program */
47 while (--argc > 0 && (*++argv)[0] == '-')
48 for (i = 1; argv[0][i] != '\0'; i++) {
61 /* test ANSI msb only key */
67 printf("%s: illegal flag \"%c\" ", progname, argv[0][i]);
72 if (argc < MIN_ARGC || argc > MAX_ARGC) {
73 printf("Usage: xxx [-xxx] xxx xxx\n");
77 /* argv[0] now points to first non-option arg, if any */
82 fprintf(stderr, "\nChecking a key 0x 80 01 01 01 01 01 01 01 ");
83 fprintf(stderr, "\nKey = ");
84 des_key_sched(dum_c, KS);
85 des_cblock_print(dum_c);
90 printf("\nCHecking a weak key...");
91 dummy[0] = 0x01fe01fe;
92 dummy[1] = 0x01fe01fe;
93 des_key_sched(dummy, KS);
95 fprintf(stderr, "\nKey[0] = %x Key[1] = %x", dummy[0], dummy[1]);
98 fprintf(stderr, "\nKey[0] = %X Key[1] = %X", dummy[0], dummy[1]);
101 dummy[0] = 0x01010101;
102 dummy[1] = 0x01010101;
104 fprintf(stderr, "\nKey[0] = %x Key[1] = %x", dummy[0], dummy[1]);
107 fprintf(stderr, "\nKey[0] = %X Key[1] = %X", dummy[0], dummy[1]);
109 des_key_sched(dummy, KS);
111 fprintf(stderr, "\nKS= %x", *(afs_int32 *) KS);
114 fprintf(stderr, "\nKS= %X", *(afs_int32 *) KS);
116 dummy[0] = 0x01010101;
117 dummy[1] = 0x01010101;
119 fprintf(stderr, "\nKey[0] = %x Key[1] = %x", dummy[0], dummy[1]);
122 fprintf(stderr, "\nKey[0] = %X Key[1] = %X", dummy[0], dummy[1]);
124 des_key_sched(dummy, KS);
126 fprintf(stderr, "\nKS= %x", *(afs_int32 *) KS);
129 fprintf(stderr, "\nKS= %X", *(afs_int32 *) KS);
132 dummy[0] = 0x80808080;
133 dummy[1] = 0x80808080;
135 fprintf(stderr, "\nKey[0] = %x Key[1] = %x", dummy[0], dummy[1]);
138 fprintf(stderr, "\nKey[0] = %X Key[1] = %X", dummy[0], dummy[1]);
140 des_key_sched(dummy, KS);
142 fprintf(stderr, "\nKS[0]= %x", *(afs_int32 *) KS);
145 fprintf(stderr, "\nKS[0]= %X", *(afs_int32 *) KS);
148 printf("\nstring to key 'a'");
149 des_string_to_key("a", dummy);
151 fprintf(stderr, "\nKey[0] = %x Key[1] = %x", dummy[0], dummy[1]);
154 fprintf(stderr, "\nKey[0] = %X Key[1] = %X", dummy[0], dummy[1]);
156 des_key_sched(dummy, KS);
158 fprintf(stderr, "\nKS= %x", *(afs_int32 *) KS);
161 fprintf(stderr, "\nKS= %X", *(afs_int32 *) KS);
164 printf("\nstring to key 'c'");
165 des_string_to_key("c", dummy);
167 fprintf(stderr, "\nKey[0] = %x Key[1] = %x", dummy[0], dummy[1]);
170 fprintf(stderr, "\nKey[0] = %X Key[1] = %X", dummy[0], dummy[1]);
172 des_key_sched(dummy, KS);
174 fprintf(stderr, "\nKS= %x", *(afs_int32 *) KS);
177 fprintf(stderr, "\nKS= %X", *(afs_int32 *) KS);
181 printf("\nstring to key 'e'");
182 des_string_to_key("e", dummy);
184 fprintf(stderr, "\nKey[0] = %x Key[1] = %x", dummy[0], dummy[1]);
187 fprintf(stderr, "\nKey[0] = %X Key[1] = %X", dummy[0], dummy[1]);
189 des_key_sched(dummy, KS);
191 fprintf(stderr, "\nKS= %x", KS[0]);
194 fprintf(stderr, "\nKS= %X", KS[0]);
197 printf("\ndes_string_to_key '%s'", argv[0]);
198 des_string_to_key(argv[0], dummy);
200 des_string_to_key(argv[0], dummy);
202 for (i = 0; i < 1; i++)
203 des_key_sched(dummy, KS);
205 for (i = 0; i < 1000; i++) {
206 des_string_to_key(argv[0], kk);
207 des_key_sched(kk, KS);