ABSTRACT: In this talk I am going to discuss some recent developments in algorithmic group theory related to the needs of modern cryptography. Three new aspects play an important part here. Stratification: by this we refer to a natural partition of an algorithmic problem into several parts each of which requires a separate decision algorithm. For example, the conjugacy problem over a group G can be partition into "No" part (pairs of non-conjugate words) and "Yes" part (pairs of conjugate words). For "No" part it suffices just to recognize that given two words are not conjugate in G, while for the "Yes" part it requires also to find a conjugating element. In this case "Yes" part appears in the form of the search conjugacy problem, which is usually much harder than the standard decision variation of the problem. Randomization: it requires to find a partial algorithm which is "fast" on most (random) inputs with respect to some measure (random generator). This is related to the generic and average case complexities. Black Hole principle: it claims that the worst-case instances of an algorithmic problem lie in a "black hole", which is a negligible set (in rigorous mathematical sense). The task here is to locate the black hole effectively. Within this framework I will discuss some new general algorithms for search problems in finitely presented groups based on remarkable properties of random van Kampen diagrams. If time permits I will describe black holes in a few typically "hard" groups.