Annotation of researchv10dc/ipc/mgrs/oauthmgr/test.c, revision 1.1.1.1

1.1       root        1: #include <stdio.h>
                      2: 
                      3: /*
                      4:  * security - an authentication server
                      5:  *
                      6:  * For a given user, this locates that user's key in the
                      7:  * key database, challenges the user to encrypt some data,
                      8:  * and compares that user's result with the result of
                      9:  * encrypting the data with the user's real key.  If the
                     10:  * results are the same, the user is authenticated, otherwise,
                     11:  * no.
                     12:  */
                     13: main()
                     14: {
                     15:        int k[8], i, j;
                     16:        char s[30], c[30], b[64];
                     17:        unsigned l, r;
                     18: 
                     19:        puts("key: 8 groups of three octal digits");
                     20:        puts("data: a decimal integer, up to 8 digits");
                     21:        puts("");
                     22:        fputs("key: ", stdout);
                     23: 
                     24:        scanf("%o %o %o %o %o %o %o %o", &k[0], &k[1], &k[2], &k[3],
                     25:           &k[4], &k[5], &k[6], &k[7]);
                     26:        gets(s);
                     27:        for(i=0; i<8; i++)
                     28:           for(j=0; j<8; j++)
                     29:              b[8*i+j] = (k[i]>>(7-j))&1;
                     30:        setkey(b);
                     31:        while(1){
                     32:           fputs("data: ", stdout);
                     33:           for(i=0; i<8; i++) s[i] = 0;
                     34:           gets(s);
                     35:           for(i=0; i<8; i++)
                     36:              for(j=0; j<8; j++)
                     37:                 b[8*i+j] = (s[i]>>(7-j))&1;
                     38:           encrypt(b, 0);
                     39:           for(i=0; i<32; i++){
                     40:              l = (l<<1) | b[i];
                     41:              r = (r<<1) | b[i+32];
                     42:           }
                     43:           printf("%.8x  %.8x\n", l, r);
                     44:        }
                     45: }
                     46: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.