To understand a fact related to padding in MD5 I'm trying to understand the padding process of MD5
from this link.
In that paper in Section 3.1, I found the following description of padding:

The message is &quot;padded&quot; (extended) so that its length (in bits) is
congruent to $448$, modulo $512$. That is, the message is extended so
that it is just $64$ bits shy of being a multiple of $512$ bits long.
Padding is always performed, even if the length of the message is
already congruent to $448$, modulo $512$.

I have tried to understand the sentence &quot;That is, the message is extended so that it is just $64$ bits shy of being a multiple of $512$ bits long.&quot; with my utmost effort. But I've failed.
Could anyone clarify that sentence?
Let's say our message is b bits long. When we're done padding it, it should look like this:

P = [  Message   |     Padding     |  Message length ]
    |&lt;- b  bits-&gt;|&lt;-- ??? bits ---&gt;|&lt;--- 64 bits ---&gt;|


Where the message length is just b encoded as a 64-bit integer, and the middle padding section looks like this:

Padding = 1 0 0 0 0 ... 0 0 0 0 0


(Those are actual 1 and 0 bits).

So how many zero bits do we include in the padding? Enough to make P a multiple of 512 bits long (so 512 bits, 1024 bits, 1536 bits, etc.). This allows us to break P up into a complete number of 512-bit chunks for the next step.

For example, let's say the message is 128 bits long (16 bytes). We need 64 bits for the message length. That brings us to 192 bits. In order to get to a multiple of 512 bits, we'll need to add 512 - 192 = 320 bits of padding: a single one followed by 319 zeroes:

P = [  Message   |     Padding     |  Message length ]
    |&lt;-128 bits-&gt;|&lt;-- 320 bits ---&gt;|&lt;--- 64 bits ---&gt;|


Note that the first two sections take up 128 + 320 = 448 bits. In general, once we break the message up into 512-bit blocks, the last block will contain 64 bits for the message length and 512 - 64 = 448 bits for the end of the message and the padding combined. This is where the 448 number in the RFC comes from.