Lack of specialized training for developers and crypto libraries that are too complex lead to widespread encryption failures