块大小 在现代密码学中对称加密密码一般分为流密码和块密码块密码根据一个固定长度的位元串来进行操作块大小就是这个位串的长度输入明文和输出密文的长度是相同输出不短于输入鴿巢原理将导致逻辑上密码一定可逆的事实并且不希望输出长于输入 在NIST宣布进行高级加密标准评选过程AES竞赛之前大多数块密码使用类似資料加密標準DES的位字节块大小不过生日問題告诉我们在累计一定数量的块之后所有可能的块的数量变为原来的平方根将有大约的概率两个块或者更多块相同这会开始泄露关于明文的信息因此即使当使用适当的加密模式例如CBC或OFB时也只有   B   GB的数据可以在同一个密钥下被安全地传送來源請求在现实中为了保证更大的安全性一般会限制使用同一个密钥加密的过多的数据比如只加密几百兆字节曾经这个数据的数量被认为是相当大足够用的但在今天这个上限很容易被超过如果加密模式没有适当地随机扰乱输入这个上限会更低 因此AES的候选算法要求支持位个字节的块大小这样对于连续加密最   B   艾字节的数据都是可以接受的并在未来的几年内是充分安全的AES竞赛的最终获选算法Rijndael支持和位的块大小和密钥位数但在AES中总是使用位的块大小AES标准未接纳额外的块大小 还有许多块密码如RC支持可变的块大小它的LubyRackoff结构和Outerbridge结构能够增加密码的有效块大小 相较而言Joan Daemen的Way算法和BaseKing算法使用不常见的块大小分别是位和位