码方案通常基于复杂度假设，其中提出了一些问题，如因式分解，无法在多项式时间内解决。仅仅在复杂度假设下可证明安全的方案，被称作在标准模型下安全，众所周知安全性证明在标准模型下非常困难，因此很多情况下，密码算法会被理论化版本替代。这种技术，最常见的例子为随机预言模型，其中採用一个真正的随机函数替换原有的密码散列函数。另一个例子为通用群模型，其中对手被给予一个随机选择的编码组访问权，在实践中被有限域或椭圆曲线群代替。