HELP! - challange handshake authentication and MD5 - PPP

This is a discussion on HELP! - challange handshake authentication and MD5 - PPP ; Hello.
RFC - 1321 says:
........
STEP 4
....
Do the following:
/* Process each 16-word block. */
For i = 0 to N/16-1 do
/* Copy block i into X. */
For j = 0 to 15 do
Set ...

HELP! - challange handshake authentication and MD5

/* Copy block i into X. */
For j = 0 to 15 do
Set X[j] to M[i*16+j].
end /* of loop on j */

In RFC nothing said about N, X[j], M[i*16+j], what is it?
What mean these operations Set X[j] to M[i*16+j]. ?

I dont fully understand how this "do the folowing" is doing - all functions
is 32 bit, what do they mean each *16-word* block? How its processed?

PS:
What is it for? chap? Everybody knows md5, and on all requests will be
given right "message digest". CHAP is usefulless, PAP is more useful.

Re: HELP! - challange handshake authentication and MD5

"Andrey A. Pospelov" writes:
> In RFC nothing said about N, X[j], M[i*16+j], what is it?

It's all defined in the text above that pseudo-code -- N is the number
of bits in the message. X[j] is the j'th bit of word X.
> What mean these operations Set X[j] to M[i*16+j]. ?

It means to copy the bit from M[i*16+j] to X[j].

The C source code in appendix A might be easier to work with.
> What is it for? chap? Everybody knows md5, and on all requests will be
> given right "message digest". CHAP is usefulless, PAP is more useful.

I don't know what you're saying there.

PPP's CHAP mechanism uses a shared secret to validate the peers.
PPP's PAP requires that the secret be sent over the wire -- but CHAP
does not.