Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

121 lines
2.8 KiB

//+-----------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (c) Microsoft Corporation 1991 - 1992
//
// File: nullcs.c
//
// Contents: Null Crypto system
//
//
// History:
//
//------------------------------------------------------------------------
#include <nt.h>
#include <ntrtl.h>
#include <nturtl.h>
#include <windows.h>
#include <string.h>
#include <kerbcon.h>
#include <security.h>
#include <cryptdll.h>
#include "md4.h"
NTSTATUS NTAPI ncsInitialize(PUCHAR, ULONG, ULONG, PCRYPT_STATE_BUFFER *);
NTSTATUS NTAPI ncsEncrypt(PCRYPT_STATE_BUFFER, PUCHAR, ULONG, PUCHAR, PULONG);
NTSTATUS NTAPI ncsDecrypt(PCRYPT_STATE_BUFFER, PUCHAR, ULONG, PUCHAR, PULONG);
NTSTATUS NTAPI ncsFinish(PCRYPT_STATE_BUFFER *);
NTSTATUS NTAPI ncsHashPassword(PSECURITY_STRING, PUCHAR);
NTSTATUS NTAPI ncsRandomKey(PUCHAR, ULONG, PUCHAR );
NTSTATUS NTAPI ncsFinishRandom(void);
CRYPTO_SYSTEM csNULL = {
KERB_ETYPE_NULL, // Etype
1, // Blocksize (stream)
0, // no exportable version
0, // Key size, in bytes
0, // no header size
KERB_CHECKSUM_MD4, // Checksum algorithm
0, // no attributes
L"Microsoft NULL CS", // Text name
ncsInitialize,
ncsEncrypt,
ncsDecrypt,
ncsFinish,
ncsHashPassword,
ncsRandomKey
};
NTSTATUS NTAPI
ncsInitialize( PUCHAR pbKey,
ULONG KeySize,
ULONG dwOptions,
PCRYPT_STATE_BUFFER * psbBuffer)
{
*psbBuffer = NULL;
return(S_OK);
}
NTSTATUS NTAPI
ncsEncrypt( PCRYPT_STATE_BUFFER psbBuffer,
PUCHAR pbInput,
ULONG cbInput,
PUCHAR pbOutput,
PULONG cbOutput)
{
if (pbInput != pbOutput)
memcpy(pbOutput, pbInput, cbInput);
*cbOutput = cbInput;
return(S_OK);
}
NTSTATUS NTAPI
ncsDecrypt( PCRYPT_STATE_BUFFER psbBuffer,
PUCHAR pbInput,
ULONG cbInput,
PUCHAR pbOutput,
PULONG cbOutput)
{
if (pbInput != pbOutput)
memcpy(pbOutput, pbInput, cbInput);
*cbOutput = cbInput;
return(S_OK);
}
NTSTATUS NTAPI
ncsFinish( PCRYPT_STATE_BUFFER * psbBuffer)
{
*psbBuffer = NULL;
return(S_OK);
}
NTSTATUS NTAPI
ncsHashPassword(PSECURITY_STRING pbPassword,
PUCHAR pbKey)
{
return(STATUS_SUCCESS);
}
NTSTATUS NTAPI
ncsRandomKey(
IN PUCHAR Seed,
IN ULONG SeedLength,
OUT PUCHAR pbKey
)
{
return(STATUS_SUCCESS);
}