An algorithm that targets contamination andeavesdropping adversaries is presented. By means of our algorithm,every node can verify the integrity of the received packets easily andan eavesdropper is unable to get any "meaningful information" about thesource. We call it "practical security" if an eavesdropper is unable toget any meaningful information about the source. We show that, bygiving up a small amount of overall capacity, our algorithm achievesthe practically secure condition at a probability of one. Furthermore,the communication overhead of our algorithm is negligible compared withprevious works, since the transmission of the hash values and the codecoefficients are both avoided.