#PHP, 222 bytes
PHP, 222 bytes
$a=$argv[1];$c=range(32,126);$t=time();$s=$t;$e=$t+strlen($a);while(time()<=$e){$l=time();$p=$l-$s;$x=substr($a,0,$p);$k=$e-$l;$r='';for($i=$k;$i>0;$i--)$r.=chr($c[rand(0,94)]);$o=$x.$r;echo"$o\n";if($o==$a&&$l==$e)break;}
Ungolfed
<?php
$input = $argv[1];
$chars = range(32, 126); // count() is 95
$startTime = time();
$endTime = time() + strlen($input);
while (time() <= $endTime) {
$plaintextAmountToPrint = time() - $startTime;
$plain = substr($input, 0, $plaintextAmountToPrint);
$cryptAmountToPrint = $endTime - time();
$crypt = '';
for ($i = $cryptAmountToPrint; $i > 0; $i--)
$crypt .= chr($chars[rand(0, 94)]);
$output = $plain . $crypt;
echo $output . "\n";
if ($output == $input && time() == $endTime)
break;
}
