We give an almost quadratic n2-o(1) lower bound on the space consumption of any o(?logn)-pass streaming algorithm solving the (directed) s-t reachability problem. This means that any such algorithm must essentially store the entire graph. As corollaries, we obtain almost quadratic space lower bounds for additional fundamental problems, including maximum matching, shortest path, matrix rank, and linear programming. Our main technical contribution is the definition and construction of set hiding graphs, that may be of independent interest: we give a general way of encoding a set S ? [k] as a directed graph with n = k 1 + o( 1 ) vertices, such that deciding whether i e S boils down to deciding if ti is reachable from si, for a specific pair of vertices (si,ti) in the graph. Furthermore, we prove that our graph "hides"S, in the sense that no low-space streaming algorithm with a small number of passes can learn (almost) anything about S.