Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Mar 1998 10:09:38 +0200 (EET)
From:      ari@suutari.iki.fi
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Subject:   misc/6127: MD5Final in libmd 
Message-ID:  <199803250809.KAA07111@osku.suutari.iki.fi>

next in thread | raw e-mail | index | archive | help

>Number:         6127
>Category:       misc
>Synopsis:       MD5Final in libmd
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:
>Keywords:
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Mar 25 00:10:03 PST 1998
>Last-Modified:
>Originator:     Ari Suutari
>Organization:
>Release:        FreeBSD 2.2.5-RELEASE i386
>Environment:

	

>Description:

	To be able to use libmd MD5 routines in my user-process
	implementation of RFC1828, an additional routine
	would be required to be able to pad key data in
	same way as done by MD5Final. 

>How-To-Repeat:

	

>Fix:
	
	Split MD5Final into two functions: MD5Pad and MD5Final. 
	MD5Pad does the padding currently done by first part
	of MD5Final. MD5Final would first call MD5Pad.
	Like this:

	void
	MD5Final (digest, context)
		unsigned char digest[16];
		MD5_CTX *context;
	{ 
		/* Padding */
	 
		MD5Pad (context);
 
		/* Store state in digest */
		Encode (digest, context->state, 16);
 
		/* Zeroize sensitive information. */
		memset ((void *)context, 0, sizeof (*context));
	} 

	void
	MD5Pad (context)
		MD5_CTX *context; 
	{       
		unsigned char bits[8];
		unsigned int index, padLen;
        
		/* Save number of bits */
		Encode (bits, context->count, 8);
        
		/* Pad out to 56 mod 64. */
		index = (unsigned int)((context->count[0] >> 3) & 0x3f);
		padLen = (index < 56) ? (56 - index) : (120 - index);
		MD5Update (context, PADDING, padLen);
        
		/* Append length (before padding) */
		MD5Update (context, bits, 8);
	}
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803250809.KAA07111>