I've been trying to play classical gas but I find it very difficult to do it even moderately fast. I'm also not sure if my technique is correct, I've been using only two fingers: my thumb and my index finger except for some select parts where I use my middle finger as well for a few chords... is this correct or am I doing it wrong?

I've been playing index on G B E and thumb on E A and D... should I be using my middle finger and ring finger for B and E and my index for G?

Also, any tips on improving speed or technique for fingerpicking in general or this song would be greatly appreciated.

what is the music theory and what does it teach you, like scales, solos, and to build speed???

Check out my recordings
i use thumb for the bass string (it moves anywhere from E to A and even to G at one point)

index usually grabs the string right after the bass (either A or D usually) and ring grabs the last string.

depending on the spot in the song the fingers change places, although that is about right. don't concentrate so much on which finger you hit it with, just hit it with whatever finger is easier.
I just started learning the son myself ad the reasoin your not getting speed is because you are using the wring technique.
YOu have to play the song in classical flamenco style. I dont know if thats the way but ive only been playing for 5 months and i can play it as fast as eric clapton when i use this style.
For the thick E and A strings use your thumb.
For the D string use the index finger
For the G string use the middle finger
For the B string use the ring finger and for the last E string use your pinky
But keep the pinky down underneath the last string resting just under the sound hole to support your other fingers and lift it only when you need to pick with it.
Its a hard song but like i said after only a month i can allready play it and ive only been learning it for about 3 days.