Here is your problem
Edit----------
What probably happening is your computer is struggling to create the std_logic_vector padding, because it's such a mammoth size your local computer/software cannot create a register to capture that std_logic_vector
padding_length is an integer with no initial value. So will be set to -2^31+1 (same with padded_length). It means your message_length and padded_message and padding arrays have a 0 length (because they are null arrays). But this wont be the problem.
You're then trying to assign some very long stvs to these null arrays.
I also not you're using '87 style file declarations. The '93 declaration style is: