  We study streaming algorithms in the white-box adversarial stream model,
where the internal state of the streaming algorithm is revealed to an adversary
who adaptively generates the stream updates, but the algorithm obtains fresh
randomness unknown to the adversary at each time step. We incorporate
cryptographic assumptions to construct robust algorithms against such
adversaries. We propose efficient algorithms for sparse recovery of vectors,
low rank recovery of matrices and tensors, as well as low rank plus sparse
recovery of matrices, i.e., robust PCA. Unlike deterministic algorithms, our
algorithms can report when the input is not sparse or low rank even in the
presence of such an adversary. We use these recovery algorithms to improve upon
and solve new problems in numerical linear algebra and combinatorial
optimization on white-box adversarial streams. For example, we give the first
efficient algorithm for outputting a matching in a graph with insertions and
deletions to its edges provided the matching size is small, and otherwise we
declare the matching size is large. We also improve the approximation versus
memory tradeoff of previous work for estimating the number of non-zero elements
in a vector and computing the matrix rank.
