OpenCores
URL https://opencores.org/ocsvn/csa/csa/trunk

Subversion Repositories csa

[/] [csa/] [trunk/] [sw_sim/] [key_schedule.c] - Diff between revs 15 and 24

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 15 Rev 24
/* this file simulates the key_schedule funtion */
/* this file simulates the key_schedule funtion */
 
 
#include <stdio.h>
#include <stdio.h>
#include <string.h>
#include <string.h>
 
 
extern void key_schedule(unsigned char *CK, int *kk) ;
extern void key_schedule(unsigned char *CK, int *kk) ;
 
 
int main()
int main()
{
{
        unsigned char CK[8];
        unsigned char CK[8];
        int           kk[57];
        int           kk[57];
        int           i;
        int           i;
        int           c;
        int           c;
 
 
        memset(CK,0,sizeof CK);
        memset(CK,0,sizeof CK);
        for (i=63;i>=0;i--)
        for (i=63;i>=0;i--)
        {
        {
             c=getchar();
             c=getchar();
#ifdef DEBUG
#ifdef DEBUG
             printf("%c",c);
             printf("%c",c);
#endif
#endif
             if(c=='1')
             if(c=='1')
             {
             {
                     CK[i/8]|=(1<<(i%8));
                     CK[i/8]|=(1<<(i%8));
             }
             }
        }
        }
#ifdef DEBUG
#ifdef DEBUG
             printf("\n");
             printf("\n");
#endif
#endif
        memset(kk,0,sizeof kk);
        memset(kk,0,sizeof kk);
        key_schedule(CK,kk);
        key_schedule(CK,kk);
        for(i=57*8-1;i>=8;i--)
        for(i=57*8-1;i>=8;i--)
        {
        {
                if(kk[i/8]&(1<<(i%8)))
                if(kk[i/8]&(1<<(i%8)))
                        printf("1");
                        printf("1");
                else
                else
                        printf("0");
                        printf("0");
        }
        }
        printf("\n");
        printf("\n");
        return 0;
        return 0;
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.