Changeset 17469


Ignore:
Timestamp:
08/10/12 18:20:45 (12 years ago)
Author:
nit
Message:

[titan] cleanup

File:
1 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/rc4.h

    r17455 r17469  
    22#define RC4_H
    33
    4 struct rc4ctx {
    5     unsigned char S[256];
    6     unsigned char i;
    7     unsigned char j;
     4struct rc4ctx
     5{
     6        unsigned char S[256];
     7        unsigned char i;
     8        unsigned char j;
    89};
    910
     
    1213void rc4init(struct rc4ctx *ctx, char *key, size_t keylen)
    1314{
    14     int i;
    15     unsigned char j = 0;
     15        int i;
     16        unsigned char j = 0;
    1617
    17     for (i = 0; i < sizeof(ctx->S); i++) {
    18         ctx->S[i] = i;
    19     }
     18        for(i = 0; i < sizeof(ctx->S); i++)
     19        {
     20                ctx->S[i] = i;
     21        }
    2022   
    21     for (i = 0; i < sizeof(ctx->S); i++) {
    22         j +=  (ctx->S[i] + key[i % keylen]);
    23         SWAPRC4(ctx->S[i], ctx->S[j]);
    24     }
     23        for(i = 0; i < sizeof(ctx->S); i++)
     24        {
     25                j += (ctx->S[i] + key[i % keylen]);
     26                SWAPRC4(ctx->S[i], ctx->S[j]);
     27        }
    2528}
    2629
    2730void rc4crypt(struct rc4ctx *ctx, char *data, size_t len)
    2831{
    29     unsigned int i;
     32        unsigned int i;
    3033
    31     ctx->i = 0;
    32     ctx->j = 0;
     34        ctx->i = 0;
     35        ctx->j = 0;
    3336
    34     for (i = 0; i < len; i++) {
    35         unsigned char s;
     37        for(i = 0; i < len; i++)
     38        {
     39                unsigned char s;
    3640
    37         ctx->i++;
    38         ctx->j += ctx->S[ctx->i];
     41                ctx->i++;
     42                ctx->j += ctx->S[ctx->i];
    3943
    40         SWAPRC4(ctx->S[ctx->i], ctx->S[ctx->j]);
     44                SWAPRC4(ctx->S[ctx->i], ctx->S[ctx->j]);
    4145
    42         s = ctx->S[ctx->i] + ctx->S[ctx->j];
    43         data[i] = data[i] ^ ctx->S[s];
    44     }
     46                s = ctx->S[ctx->i] + ctx->S[ctx->j];
     47                data[i] = data[i] ^ ctx->S[s];
     48        }
    4549}
    4650
    4751void rc4(char *data, size_t dlen, char *key, size_t klen)
    4852{
    49     struct rc4ctx ctx;
    50     rc4init(&ctx, key, klen);
    51     rc4crypt(&ctx, data, dlen);
     53        struct rc4ctx ctx;
     54
     55        rc4init(&ctx, key, klen);
     56        rc4crypt(&ctx, data, dlen);
    5257}
    5358
Note: See TracChangeset for help on using the changeset viewer.