Physical Unclonable Functions in Theory and Practice