obtuse: unintelligent, stupid; from Latin obtusus, dull, blunt, the state belonging to the edge of a blade that has been heavily beaten.
obscure: difficult to understand, not widely known, hidden in darkness; from Latin obscurus, dark, hidden, unintelligible, secret, as in something covered up.
abstruse: difficult to understand; from Latin abstrusus, concealed, hidden away, as in something pushed out of view.