L’expression initiale, connue depuis au moins le XVIIIe siècle, ne faisait pas référence aux chats mais aux chiens. On disait en effet « jeter sa langue aux chiens », ce qui était très humiliant car, à l’époque, on ne jetait aux chiens que les restes. Le fait qu’une personne « jette sa langue aux chiens » montrait que sa langue, donc par extension sa parole, n’avait pas de valeur du fait de son ignorance. Au fil des ans, l’expression a évolué pour devenir, au XIXe siècle, « donner sa langue au chat ». De ce fait, elle a pris une connotation plus noble, le chat étant considéré comme un animal très cultivé et gardien de secrets.
Source "ça m'intéresse".