title: Find the common path among all possible paths in a directed graph
body: <p>I'm trying to find the common nodes that are always visited by each and every possible path in a cyclic directed graph. My idea would be to compute all possible paths and then search for the common elements. However, <strong>a)</strong> that does not seem to be very efficient and <strong>b)</strong> it does not account for cycles. </p>
  
  <p>The <strong>goal</strong>: is to implement <a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/chen02oh.pdf" rel="nofollow">oblivious hashing perimeter</a> as a tamper-resistance method. For that I need to identify a set of common basic blocks that are input agnostic in a control flow graph. Put another way, I want to find deterministic chunks of a program (set of basic blocks) that will be executed for any given input.</p>