Building Cryptographic Systems From Distributed Trust