#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 }
|
1.3.6