メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

# dkcSNOW20.h

説明を見る。

    00001
    00015 #ifndef DKUTIL_C_SNOW20_H
    00016 #define DKUTIL_C_SNOW20_H
    00017
    00018 #include "dkcOSIndependent.h"
    00019
    00020
    00021 #define dkcdSNOW2_BOX_SIZE 16
    00022
    00023
    00024 typedef struct dkc_SNOW2{
    00025
    00027     uint32 sw[dkcdSNOW2_BOX_SIZE];
    00029     uint32 outfrom_fsm,r1,r2;
    00031     union{
    00032         uint64 a64[dkcdSNOW2_BOX_SIZE / 2];
    00033         uint32 a32[dkcdSNOW2_BOX_SIZE];
    00034         uint16 a16[dkcdSNOW2_BOX_SIZE * 2];
    00035         uint8  a8[dkcdSNOW2_BOX_SIZE * 4];
    00036     }u_store;
    00037
    00038     //DKC_4BYTE_UNION_LITTLE_ENDIAN_BASE store;
    00040     uint8 store_size;
    00041 }DKC_SNOW2;
    00042
    00043
    00044
    00053 DKC_EXTERN DKC_SNOW2 *WINAPI dkcAllocSNOW2(BYTE *key,size_t keysize,
    00054                                                                                      uint32 IV3,uint32 IV2,uint32 IV1,uint32 IV0);
    00055
    00056 DKC_EXTERN int WINAPI dkcSNOW2Init(DKC_SNOW2 *p,uint8 *key,size_t keysize,uint32 IV3,uint32 IV2,uint32 IV1,uint32 IV0);
    00057
    00058
    00059 DKC_EXTERN int WINAPI dkcFreeSNOW2(DKC_SNOW2 **);
    00060
    00062 DKC_EXTERN uint8 WINAPI dkcSNOW2_Byte(DKC_SNOW2 *p);
    00063
    00067
    00068 DKC_EXTERN int WINAPI dkcSNOW2EncryptNoDestDOE(DKC_SNOW2 *p,uint8 *inout,size_t size);
    00069
    00070 DKC_EXTERN int WINAPI dkcSNOW2EncryptDOE(DKC_SNOW2 *,uint8 *dest,size_t dsize,const uint8 *src,size_t ssize);
    00071 #define dkcSNOW2DecryptDOE(a,b,c,d,e) dkcSNOW2EncryptDOE(a,b,c,d,e)
    00072 //#define dkcSNOW2EncryptNoDestODE(a,b,c) dkcSNOW2EncryptODE(a,b,c,b,c)
    00073 #define dkcSNOW2DecryptNoDestDOE(a,b,c) dkcSNOW2EncryptNoDestDOE(a,b,c)
    00074
    00075 //DKC_EXTERN int WINAPI dkcSNOW2EncryptNoDestODE(DKC_SNOW2 *,void *mem,size_t size)
    00076
    00077 #endif //end of include once