In a large bowl, mix the buttermilk, salt, and pepper. Add the chicken pieces, ensuring they are fully submerged. Cover and refrigerate for at least 4 hours, or preferably overnight.
Remove the chicken from the fridge about 30 minutes before frying to bring it to room temperature.
In a large, shallow dish, whisk together the flour, paprika, garlic powder, onion powder, cayenne pepper, salt, and black pepper. This is your seasoned flour mixture.
Take one piece of chicken out of the buttermilk and let the excess drip off. Dredge the chicken in the seasoned flour, pressing firmly to ensure it's completely coated. For a thicker crust, dip the chicken back in the buttermilk and dredge it in the flour a second time.
In a deep, heavy-bottomed pot or cast-iron skillet, heat about 5 cm of oil to 175°C (350°F).
Carefully place 2-3 pieces of chicken into the hot oil, skin-side down first. Do not overcrowd the pan. Fry for 6-8 minutes per side, turning occasionally, until the crust is a deep golden brown. The internal temperature should reach 74°C (165°F).
Remove the chicken from the oil and place it on a wire rack over a baking sheet to drain. This prevents the bottom from becoming soggy. Let it rest for a few minutes before serving.