File: sb_crypt.h

package info (click to toggle)
openmohaa 0.81.1%2Bdfsg-2
  • links: PTS, VCS
  • area: contrib
  • in suites: trixie
  • size: 29,124 kB
  • sloc: ansic: 270,865; cpp: 250,173; sh: 234; asm: 141; xml: 64; makefile: 7
file content (33 lines) | stat: -rw-r--r-- 1,193 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef _SB_CRYPT_H
#define _SB_CRYPT_H

#ifdef __cplusplus
extern "C" {
#endif

typedef struct _GOACryptState
{
    unsigned char cards[256];       // A permutation of 0-255.
    unsigned char rotor;            // Index that rotates smoothly
    unsigned char ratchet;                    // Index that moves erratically
    unsigned char avalanche;                  // Index heavily data dependent
    unsigned char last_plain;                 // Last plain text byte
    unsigned char last_cipher;                // Last cipher text byte
} GOACryptState;



void GOACryptInit(GOACryptState *state, unsigned char *key, unsigned char keysize);
void GOAHashInit(GOACryptState *state);
unsigned char GOAEncryptByte(GOACryptState *state, unsigned char b);   // Encrypt byte
void GOAEncrypt(GOACryptState *state, unsigned char *bp, int len);   // Encrypt byte array
unsigned char GOADecryptByte(GOACryptState *state, unsigned char b);       // Decrypt byte.
void GOADecrypt(GOACryptState *state,unsigned char *bp, int len);   // decrypt byte array
void GOAHashFinal(GOACryptState *state, unsigned char *hash, unsigned char hashlength); // Hash length (16-32)

#ifdef __cplusplus
}
#endif


#endif