Speck是一类轻量级的分组密码,最早由美国国家安全局(NSA)于2013年6月提出。如今Speck码较多应用于软件实现,而其姊妹算法Simon(英语:Simon (cipher))则多用于硬件实现。
Speck支持多种分组密文长度。单个分组总是包含两个单字,每个单字可以由16位、24位、32位、48位或64位比特组成。相关密文由2、3或4个词汇组成。编码的循环函数包含两次反转计算:将右单字添加到左单字,异或密文与左单字;之后异或左单字与右单字。循环的次数取决于参数的选择如下:
密码次序表与主块密码使用相同的循环函数。
以下是编码算法实现的设计参考,使用C语言编写,其具有128比特的分组大小与密文。