In the last few years, several public-key cryptosystems where suggested, which rely on the difficulty of the following problem in the braid group: Find a solution to a given a system of equations in a finitely generated subgroup,provided that there exists one. This problem generalizes many problems of combinatorial group theory (the conjugacy problem, the group membership problem, etc.) We describe an efficient algorithmic way for finding a small ordered list of elements in the subgroup, which contains a solution to the given system with a significant probability. In many cases, the solution will be the first in this list. This approach seems to imply the vulnerability of all cryptosystems which we are aware of, among those working directly in the braid group. This is a joint work of David Garber, Shmuel Kaplan, Mina Teicher, Boaz Tsaban, and Uzi Vishne.