#include "dkcOSIndependent.h"
dkcHC256.hのインクルード依存関係図
このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。
構成 | |
struct | dkc_HC256 |
マクロ定義 | |
#define | dkcHC256DecryptBlock512DOE(p, dest, dsize, src, ssize) dkcHC256EncryptBlock512DOE(p,dest,dsize,src,ssize) |
#define | dkcHC256DecryptBlock512NoDestDOE(p, dest, size) dkcHC256EncryptBlock512NoDestDOE(p,dest,size) |
型定義 | |
typedef dkc_HC256 | DKC_HC256 |
関数 | |
DKC_EXTERN DKC_HC256 *WINAPI | dkcAllocHC256 (BYTE *key, size_t size) |
DKC_EXTERN int WINAPI | dkcFreeHC256 (DKC_HC256 **) |
DKC_EXTERN uint32 | dkcHC256Process (DKC_HC256 *, uint32 u) |
DKC_EXTERN int WINAPI | dkcHC256EncryptDOE (DKC_HC256 *p, BYTE *dest, int dsize, const BYTE *src, int ssize) |
DKC_EXTERN int WINAPI | dkcHC256DecryptDOE (DKC_HC256 *p, BYTE *dest, int dsize, const BYTE *src, int ssize) |
DKC_EXTERN int WINAPI | dkcHC256EncryptBlock512DOE (DKC_HC256 *p, BYTE *dest, size_t dsize, const BYTE *src, size_t ssize) |
DKC_EXTERN int WINAPI | dkcHC256EncryptBlock512NoDestDOE (DKC_HC256 *p, BYTE *dest, size_t size) |
DKC_EXTERN int WINAPI | dkcHC256Encrypt (DKC_HC256 *p, BYTE *dest, int dsize, const BYTE *src, int ssize) |
DKC_EXTERN int WINAPI | dkcHC256Decrypt (DKC_HC256 *p, BYTE *dest, int dsize, const BYTE *src, int ssize) |
DOE : Dependent On Endian / エンディアンに依存するdkcHC256.h で定義されています。
マクロ定義
|
dkcHC256.h の 55 行で定義されています。 |
|
dkcHC256.h の 59 行で定義されています。 |
|
参照元 dkcAllocHC256(), dkcFreeHC256(), dkcHC256EncryptBlock512DOE(), dkcHC256EncryptBlock512NoDestDOE(), dkcHC256Process(), encrypt(), initialization(), step_A(), と step_B(). |
|
dkcHC256.c の 192 行で定義されています。 参照先 BYTE, DKC_HC256, dkcAllocate(), initialization(), と NULL.
00192 { 00193 DKC_HC256 *p; 00194 uint32 iv[8]; 00195 if(size != sizeof(uint32) * 8){ 00196 return NULL; 00197 } 00198 00199 p = dkcAllocate(sizeof(DKC_HC256)); 00200 if(NULL==p){ 00201 return NULL; 00202 } 00203 DKUTIL_MEMZERO(iv,sizeof(iv)); 00204 initialization(p,(uint32 *)key,iv); 00205 return p; 00206 } |
|
dkcHC256.c の 210 行で定義されています。
00210 { 00211 return dkcFree(p); 00212 } |
|
|
|
|
|
|
|
dkcHC256.c の 329 行で定義されています。 参照先 BYTE, DKC_HC256, dkcHC256EncryptBlock512NoDestDOE(), dkcmNOT_ASSERT, と NULL.
00330 { 00331 dkcmNOT_ASSERT(NULL==p || NULL==dest || NULL==src); 00332 if(ssize != 512 || dsize < 512){ 00333 return edk_ArgumentException; 00334 } 00335 memcpy(dest,src,ssize); 00336 return dkcHC256EncryptBlock512NoDestDOE(p,dest,ssize); 00337 } |
|
dkcHC256.c の 320 行で定義されています。 参照先 BYTE, DKC_HC256, dkcmNOT_ASSERT, encrypt(), と NULL. 参照元 dkcHC256EncryptBlock512DOE().
00320 { 00321 dkcmNOT_ASSERT(NULL==p || NULL==dest); 00322 if(size != 512){ 00323 return edk_ArgumentException; 00324 } 00325 encrypt(p,(uint32 *)dest); 00326 return edk_SUCCEEDED; 00327 } |
|
|
|
dkcHC256.c の 216 行で定義されています。 参照先 dkc_HC256::counter2048, DKC_HC256, g1(), g2(), h1(), h2(), dkc_HC256::P, と dkc_HC256::Q.
00217 { 00218 unsigned long i,i3, i10, i12, i1023; 00219 unsigned long output; 00220 00221 i = p->counter2048 & 0x3ff; 00222 i3 = (i - 3) & 0x3ff; 00223 i10 = (i - 10) & 0x3ff; 00224 i12 = (i - 12) & 0x3ff; 00225 i1023 = (i - 1023) & 0x3ff; 00226 00227 if (p->counter2048 < 1024) { 00228 p->P[i] = p->P[i] + p->P[i10] + g1(p->Q,p->P[i3],p->P[i1023]); 00229 output = h1(p->Q,p->P[i12]) ^ p->P[i]; 00230 } 00231 else { 00232 p->Q[i] = p->Q[i] + p->Q[i10] + g2(p->P,p->Q[i3],p->Q[i1023]); 00233 output = h2(p->P,p->Q[i12]) ^ p->Q[i]; 00234 00235 } 00236 p->counter2048 = (p->counter2048+1) & 0x7ff; 00237 return (output); 00238 } |