加密协议,例如TLS(传输层安全性),是计算机安全性的骨干,用于保护Internet,云和许多其他应用程序。非常引人注目的是,这些协议的部署取决于少数开源库,这些库是由一小部分杰出开发人员开发的。这些开发人员具有一套独特的技能,这些技能是为(通常是复杂的)加密例程编写高效,正确和安全的实现所需的;特别是,它们结合了密码学和计算机架构的出色知识以及对低级编程的深刻了解。不幸的是,尽管有开发人员的技能和经验,但在主要的开源密码库中经常发现新的,有时是深远的漏洞和攻击。一类漏洞是定时攻击,它让攻击者检索诸如加密密钥之类的秘密材料,“通过仔细测量执行私人密钥操作所需的时间”。尽管Kocher在1996年首次描述了时间攻击[KO96],但他们仍在困扰着密码图库的实施。