メインページ | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

dkcVernam.c

単純な Varnam 暗号 d金魚 [詳細]

#include "dkcVernam.h"
#include "dkcMath.h"
#include "dkcStdio.h"

dkcVernam.cのインクルード依存関係図

Include dependency graph

ソースコードを見る。

関数

WINAPIV dkcRandomV (ULONG *seed, ULONG Max_)
void WINAPI dkcVernamEncrypt (BYTE *buffer, size_t size, const BYTE *key, size_t keysize, ULONG seed, DKC_VERNAM_F_TYPE ff)
void WINAPI dkcEasyVernamEncrypt (BYTE *buffer, size_t size, ULONG seed, DKC_VERNAM_F_TYPE ff)


説明

単純な Varnam 暗号 d金魚

dkcVernam.c で定義されています。


関数

void WINAPI dkcEasyVernamEncrypt BYTE buffer,
size_t  size,
ULONG  seed,
DKC_VERNAM_F_TYPE  ff
 

引数:
buffer[in][out] 復号化するバッファへのポインタ(複合化後のデータが格納される。
size[in] bufferのサイズ
seed[in] 種値
ff[in] DKC_VERNAM_F_TYPE型の関数へのポインタ
覚え書き:
キーに直接乱数値を使います。(正統派バーナム暗号?

dkcVernam.c70 行で定義されています。

参照先 BYTE, DKC_VERNAM_F_TYPE, dkcRandomV(), と NULL.

00071 {
00072     size_t i;
00073     BYTE num;
00074     if(NULL==ff){
00075         ff = dkcRandomV;
00076     }
00077     for(i=0;i<size;i++){
00078         num = (BYTE)(ff(&seed,UCHAR_MAX));
00079         buffer[i] ^= num;
00080     }
00081 }

WINAPIV dkcRandomV ULONG *  seed,
ULONG  Max_
[static]
 

dkcVernam.c15 行で定義されています。

参照先 dkcRandom().

参照元 dkcEasyVernamEncrypt(), と dkcVernamEncrypt().

00015                                                  {
00016     return dkcRandom(seed,Max_);
00017 }

void WINAPI dkcVernamEncrypt BYTE buffer,
size_t  size,
const BYTE key,
size_t  keysize,
ULONG  seed,
DKC_VERNAM_F_TYPE  ff
 

引数:
buffer[in][out] 暗号化するバッファへのポインタ(暗号化後のデータが格納される。
size[in] bufferのサイズ
key[in] キーバッファへのポインタ
keysize[in] キーバッファのサイズ
seed[in] 種値
ff[in] DKC_VERNAM_F_TYPE型の関数へのポインタ
覚え書き:
あらかじめ用意していた乱数列(key)から1バイト単位、ff関数の乱数値に従ってランダムに選んで暗号化します。

dkcVernam.c19 行で定義されています。

参照先 BYTE, DKC_VERNAM_F_TYPE, dkcRandomV(), と NULL.

00021 {
00022     size_t i;
00023     int pos;
00024     if(NULL==ff){
00025         ff = dkcRandomV;
00026     }
00027     for(i=0;i<size;i++){
00028         pos = ff(&seed,keysize);
00029         buffer[i] ^= key[pos];
00030     }
00031 }


dkutil_cに対してSun Jul 18 22:46:32 2004に生成されました。 doxygen 1.3.6