Hmm - a brave question to answer... There can be a lot of interpretations and value judgements...
Dirty can be literally dirty - as in covered in dirt. It is often used colloquially to mean lascivious.
Nasty in its literal sense means somewhat repulsive. However, in the equivalent sexual interpretation, it can in fact mean the complete opposite! ;^)