生蚝是什么东西| 荞麦长什么样子图片| 过是什么结构| 负离子什么意思| 地板油是什么意思| 丁火是什么火| ricu病房是什么意思| 男人为什么会得前列腺炎| 存在是什么| 客服是什么工作| 蛇和什么属相最配| 煤油对人体有什么危害| 青口是什么东西| 炒菜用什么油好吃又健康| 低血糖平时要注意什么| 金鱼藻是什么植物| 白气是什么物态变化| 湿疹是什么病的前兆| bally属于什么档次| 梅长苏结局是什么| adhd挂什么科| 红茶色是什么颜色| 满天星的花语是什么| 阴唇为什么一个大一个小| 感觉抑郁了去医院挂什么科| 什么是生源地| fov是什么| 肠胃不好吃什么药| 黑道日为什么还是吉日| 金兰之交是什么意思| 大安是什么意思| 外围什么意思| 适得其反是什么意思| 一箭双雕是什么意思| 玫琳凯属于什么档次| 有福是什么意思| 拉肚子喝什么药| 高级别上皮内瘤变是什么意思| 为什么长火疖子| 痛经是什么原因引起的| 口腔疱疹用什么药| 内啡肽是什么意思| 血小板下降是什么原因| 特长是什么| 尿检4个加号什么意思| 胃不舒服吃什么水果好| 3个土念什么| 前置是什么意思| 面膜什么时候敷效果最好| 多囊是什么病| 繁花似锦是什么意思| 交感神经是什么| 农历3月3是什么节日| 吃金蝉有什么好处| 梦到吃花生是什么意思| 路痴是什么意思| 滞留针是什么| 代入感是什么意思| 1993年什么命| 黄花苗泡水喝有什么作用| 益生菌什么时候吃| 吃芒果过敏吃什么药| 孔雀蓝是什么颜色| 不以规矩下一句是什么| 瑞夫泰格手表什么档次| 废电池乱丢对人体可能造成什么中毒| gpr是什么意思| 喝什么对肾好| rt什么意思| 脾是干什么用的| 转的第四笔是什么| 杆鱼是什么鱼| 养什么能清理鱼缸粪便| 乳房胀痛吃什么药| 牛排和什么一起炖好吃| 酗酒是什么意思| 小孩子晚上睡觉磨牙是什么原因| 弥是什么意思| 1957属什么生肖| 肾主骨是什么意思| 4月26是什么星座| 梦见吃杨梅是什么意思| 雕琢是什么意思| 九地是什么中药| 胰腺炎为什么喝水就死| 孕妇地中海贫血对胎儿有什么影响| 什么时间量血压最准| 大姨妈一个月来两次是什么原因| 产后能吃什么水果| 梦见生了个孩子是什么意思| 黄体破裂是什么症状| 胰管扩张是什么意思| 酸梅汤不适合什么人喝| 肾萎缩吃什么药好| 吃什么食物养肝| 脂肪肝吃什么| 惊什么失什么| 慢性肠炎吃什么药调理| 生理需求是什么意思| 鬼门关是什么意思| 什么是海市蜃楼| 梅雨季节是什么时间| 派特ct主要检查什么| 一个黑一个出读什么| 四肢抽搐口吐白沫是什么病| 皮肤瘙痒是什么病的前兆| 人黑穿什么颜色的衣服好看| fov是什么| 子宫腺肌症是什么意思| 天蝎座和什么星座配| 空调买什么牌子的好| soleil是什么意思| 镜里观花是什么生肖| 急性腮腺炎吃什么药| 盗墓笔记的结局是什么| 舌根发硬是什么原因| 耳石症有什么症状| 狗狗不能吃什么| 青岛有什么玩的| 傲娇什么意思| 血口喷人是什么意思| 数词是什么意思| 助听器什么牌子好用| 宝宝消化不良吃什么药| 心跳过快是什么原因引起的| 花干是什么做的| 陈坤为什么地位那么高| 周瑜为什么打黄盖| 缺维生素d吃什么| 女人得性瘾什么症状| 旺五行属什么| 吃什么对肺结节好| 甘少一横读什么| 蒸鱼豉油可以用什么代替| 肆无忌惮是什么意思| 利尿是什么意思| 孙俪最新电视剧叫什么| 板命什么意思| 2018 年是什么年| 孕吐严重是什么原因| 镪水池是什么| 免疫性疾病是什么意思| 慈母手中线的下一句是什么| 牙龈发炎用什么药| 糙皮病是什么病| 新鲜的乌梅长什么样| 拉肚子肚子疼吃什么药| 雌雄是什么意思| 脸上过敏是什么症状| 佬是什么意思| 痈肿疮疖是什么意思| 孩子流黄鼻涕吃什么药效果好| 芦荟有什么功效| 罄竹难书什么意思| 睡久了头疼是什么原因| 口腔发苦是什么原因| 锡兵是什么| 黄油可以做什么美食| 地主代表什么生肖| 耳朵嗡嗡的响是什么原因| 饕餮长什么样| 验孕棒什么时候测最准| 人肉是什么味道| 长时间憋尿会有什么影响| 长智齿意味着什么| copd是什么病的简称| 流涎是什么意思| 喝了藿香正气水不能吃什么| 黄河里有什么鱼| kda是什么意思| 蒲公英泡水喝有什么好处| 晚上10点属于什么时辰| 手指倒刺是什么原因| 头发为什么长不长| 吃鱼油有什么好处| 什么的长江| 西游记什么时候拍的| 什么是封闭针| 拔掉智齿有什么影响| 612是什么星座| 西游记是什么生肖| 眼睛近视缺什么维生素| 什么门关不上| 什么样的乌云| 维酶素片搭配什么药治萎缩性胃炎| 苏打水有什么作用和功效| 欧莱雅属于什么档次| 什么是阳虚什么是阴虚| 为什么会得幽门螺旋杆菌| 吃茶叶蛋有什么好处和坏处| 逝者已矣生者如斯是什么意思| 前列腺炎吃什么药最有效| 吃什么能消除子宫肌瘤| 治疗神经痛用什么药最有效| 淇字五行属什么| 闰月要给父母买什么| 胸口闷痛挂什么科| 阴蒂瘙痒是什么原因| 匚读什么| 女性解脲支原体阳性是什么意思| 冬至夏至什么意思| 突然耳朵聋是什么原因| 肛门疼痛是什么原因引起的| 无痛肠镜和普通肠镜有什么区别| 促黄体生成素是什么意思| 子宫内膜ca是什么意思| 什么是卵巢囊肿| 痔疮吃什么消炎药好得快| 老婆饼是什么馅| 嘴唇变厚是什么原因| 什么是双向抑郁| 金字旁乐读什么| 晚黄瓜什么时候种| 政府是干什么的| 辩证法是什么| MC是什么牌子的车| 恩五行属性是什么| sp是什么面料成分| 锲而不舍下一句是什么| 射频消融是什么手术| 斯里兰卡说什么语言| 猴子尾巴的作用是什么| p和t分别是什么意思| 龙眼和桂圆有什么区别| 青海有什么特产| 肚脐眼连接体内的什么器官| 巧囊是什么| 什么是象限| 风热感冒吃什么药最快| 吃什么补胰腺最好| 痰带血丝是什么原因| 子宫颈肥大有什么危害| 润字五行属什么| 免签国家是什么意思| c反应蛋白偏高是什么原因| 口腔医学技术是什么| 什么是性早熟| 酸碱度偏低是什么原因| 相交是什么意思| 生理曲度存在是什么意思| 鸡眼膏为什么越贴越疼| 日行千里是什么生肖| peony是什么意思| 不洁是什么意思| 吃刺猬有什么好处| 生活是什么| 1999年属兔的是什么命| 吃榴莲不能吃什么东西| 眼压高吃什么药| 医院院长什么级别| 指甲竖纹是什么原因| 为什么来大姨妈会拉肚子| 溃疡性结肠炎有什么症状| 9.29是什么星座| casio手表是什么牌子| 尿路感染是什么原因引起的| 新鲜橄榄菜长什么样子| 什么奶茶最好喝| 什么麻| 恐龙为什么会灭绝| 午马是什么意思| 叶黄素有什么功效| 烤瓷牙是什么意思| 弓箭是什么时候发明的| 百度Jump to content

球球大作战好号和密码共享工具 最新免费版

From Wikipedia, the free encyclopedia
Hasty Pudding Cipher
General
DesignersRichard Schroeppel
First publishedJune 1998
Cipher detail
Key sizesVariable
Block sizesVariable
百度 比如,在招才引智上提高精准度,使育人聚才更加切合产业发展步伐。

The Hasty Pudding cipher (HPC) is a variable-block-size block cipher designed by Richard Schroeppel, which was an unsuccessful candidate in the competition for selecting the U.S. Advanced Encryption Standard (AES). It has a number of unusual properties for a block cipher: its input block size and key length are variable, and it includes an additional input parameter called the "spice" for use as a secondary, non-secret key. The Hasty Pudding cipher was the only AES candidate designed exclusively by U.S. cryptographers.[1][2]

The Hasty Pudding cipher is in the public domain,[3] and open source implementations are available.[4]

The cipher

[edit]

The Hasty Pudding cipher consists of 5 different sub-ciphers:[5]

HPC-Tiny 0–35 bits
HPC-Short 36–64 bits
HPC-Medium 65-128 bits
HPC-Long 129–512 bits
HPC-Extended 513+ bits

The Hasty Pudding cipher algorithms all use 64-bit words internally. The cipher is designed to run on 64-bit machines, which can easily perform simple operations on 64-bit words.

Key expansion

[edit]

The Hasty Pudding cipher can take a key of any number of bits for any one of the five subciphers. The cipher itself uses a key table of 16,384 bits (256 64-bit words). To derive the key table from the key, the key expansion function uses the following algorithm:[5]

  1. The first three words, KX[0], KX[1], KX[2] are set based on constants, the sub-cipher, and the length of the key. KX[1] is computed with a multiplication; the other operations involved are an addition and a bit shift.
  2. Each successive word, KX[i] is determined from the three previous words by an efficient recursive formula.
  3. The key bits are XORed into the bits of the key table, starting at KX[0], until all the key bits are used. (Keys longer than 8,192 bits use a more complicated procedure.)
  4. Several passes over the key table are made. Each time, a "stirring function" is applied to each word of the key table, in sequence. The stirring function uses eight internal variables, and uses 14 logical bit operations, 5 bit shifts, and 14 additions / subtractions. Each use of the stirring function modifies one word in the key table, based on its previous value, the values of certain other words, and the internal variables of the stirring function. (3 total passes is the default.)

Encryption and decryption

[edit]

Each of the subciphers uses a different algorithm, but there are certain similarities. Three inputs are used to determine the ciphertext: the plaintext (in several 64-bit words plus one "fragment"), the spice (eight 64-bit words, with default value 0), and the key table. The operations within the cipher consist of stirring, which combines internal variables in various ways with values from the key table and spice at regular intervals. HPC-Short uses two fixed permutations in addition, and HPC-Tiny consists of many special sub-cases.

Decryption involves undoing the steps of encryption one by one. Many operations are easily undone (e.g. s0 = s0 + s1 is undone by computing s0 = s0 ? s1). Other operations are more complex to undo. Some of the ideas involved include:

  • An operation like x = x ⊕ (x >> 17) is undone by a two-step process: (1) x = x ⊕ (x >> 17), followed by (2) x = x ⊕ (x >> 34).
  • The cipher uses value-dependent lookups into the key table. These can be undone, since the lookup depends only on the last 8 bits of a variable, and when it becomes necessary to look up the value from the key table in decryption, the last 8 bits of the value at a certain earlier point in the computation are predictable, even when those operations cannot all be undone without the key table value. For instance, if the lookup of k is based on the last 8 bits of x, then when we want to undo a step like x = x ⊕ (k << 8), we can look up k by noting that the last 8 bits of x are unchanged by this operation.

The Hasty Pudding cipher can also be used to encrypt values in a range that do not translate to strings with an integral number of bits; for instance, it can encrypt a number from 0 to N by producing another number from 0 to N. It does this by using the smallest subcipher that can handle the input as a bit string, and applying it to the input as a bit string, repeatedly, until the output is in the proper range.[5]

Performance

[edit]

Schroeppel claimed that the Hasty Pudding cipher was the fastest AES candidate on a 64-bit architecture;[6] Schroeppel claimed that it was twice as fast as its nearest competitor, DFC, and three times as fast as the other candidates, and that its performance on a 32-bit machine was adequate.[6] Comments from others did not support this view; for instance, Schneier et al.'s analysis ranked the Hasty Pudding cipher 4th best (376 cycles) on a 64-bit machine, although for Rijndael and Twofish, the performance was only estimated.[7] On a 32-bit Pentium, Hasty Pudding encryption was rated by Schneier et al. at 1600 clock cycles, 10th best out of the 15 candidates.[7] Schneier et al., and Schroeppel, noted that the speed of the cipher would be significantly impacted on a 32-bit machine because of its heavy use of 64-bit operations, particularly bit shifts.[3][7]

The Hasty Pudding cipher's key setup was rated as relatively slow; 120000 cycles on a Pentium.[7]

The cipher was criticized for its performance on smartcards. Specifically, some comments pointed out the difficulty of keeping over 2KB of RAM for the key table.[8]

Further work

[edit]

There have been relatively few results on attacking the Hasty Pudding cipher. Early in the AES process, David Wagner noted that relatively large classes of Hasty Pudding keys were equivalent in that they led to the same key table.[9] This was expanded upon by D'Halluin et al., who noted that for 128-bit keys, approximately 2120 keys are weak keys that each have 230 equivalent keys each.[10] In response to this attack, Schroeppel modified the key expansion algorithm to include one additional step.[5]

Despite the relative lack of cryptanalysis, the Hasty Pudding cipher was criticized for its hard-to-understand design and its lack of grounding in research results.[9][11] Schroeppel has offered a bottle of Dom Pérignon champagne to the best paper presenting progress on the Hasty Pudding cipher.[3] It did not make the second round of consideration for AES.[12]

The Hasty Pudding cipher is considered the first tweakable block cipher.[13]

References

[edit]
  1. ^ Eli Biham, A Note on Comparing the AES Candidates, April 1999, public comment on AES.
  2. ^ Susan Landau, Communications Security for the Twenty-first Century: The Advanced Encryption Standard, Notices of the AMS, vol. 47, number 4, 2000.
  3. ^ a b c Rich Schroeppel and Hilarie Orman, An Overview of the Hasty Pudding Cipher, July 1998.
  4. ^ iscgar/hasty-pudding on GitHub.
  5. ^ a b c d Schroeppel, Rich (June 1998), Hasty Pudding Cipher Specification (revised May 1999 ed.), archived from the original on 2025-08-04, retrieved 2025-08-04
  6. ^ a b Rich Schroeppel, The Hasty Pudding Cipher: One Year Later, accessed 9-01-2008
  7. ^ a b c d Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, and Niels Ferguson, Performance Comparison of the AES Submissions, The Second AES Candidate Conference, 1999.
  8. ^ Emanoil Daneliuc, Public comment on AES candidates, February 1999.
  9. ^ a b David Wagner, Equivalent keys for HPC, rump session talk at the 2nd AES Conference, Rome, March 1999.
  10. ^ Carl D'Halluin, Gert Bijnens, Bart Preneel, and Vincent Rijmen, Equivalent Keys of HPC, Advances in Cryptology — Proceedings of ASIACRYPT 1999, 1999.
  11. ^ Olivier Baudron, Henri Gilbert, Louis Granboulan, Helena Handschuh, Antoine Joux, Phong Nguyen, Fabrice Noilhan, David Pointcheval, Thomas Pornin, Guillaume Poupard, Jacques Stern, and Serge Vaudenay, Report on the AES Candidates, Second AES Conference, March 1999.
  12. ^ James Nechvatal, Elaine Barker, Lawrence Bassham, William Burr, Morris Dworkin, James Foti, and Edward Roback, Report on the Development of the Advanced Encryption Standard (AES), NIST official release, October 2, 2000.
  13. ^ Moses Liskov, Ronald Rivest, and David Wagner, Tweakable Block Ciphers, in Advances in Cryptology — Proceedings of CRYPTO '02, 2002.

See also

[edit]
夫复何求是什么意思 翠色什么流 怀孕周期是从什么时候开始算的 腰酸是什么原因女性 狮子座什么性格
半岛铁盒是什么 精益求精下一句是什么 做梦抓到很多鱼是什么征兆 皮肤发烫是什么原因 amount是什么意思
有什么无什么的成语 不字五行属什么 基因突变是什么意思 gl值是什么意思 什么是禁欲
十五的月亮十六圆是什么意思 吃什么食物降血压最快最好 甲硝唑治什么病 什么人不适合做厨师 喘不上来气是什么原因
气胸是什么原因引起的hcv7jop9ns3r.cn 李连杰什么病hcv8jop5ns0r.cn 脾虚什么症状fenrenren.com 三点水真读什么hcv9jop1ns4r.cn 专注力是什么意思hcv8jop0ns8r.cn
宝宝眼屎多是什么原因hcv9jop4ns7r.cn 发蒙是什么意思hcv8jop4ns7r.cn 闫学晶是什么军衔naasee.com 为什么叫五七干校bysq.com 平板支撑是什么hanqikai.com
总胆固醇高是什么意思hcv9jop1ns7r.cn 盆腔积液是什么意思hcv7jop9ns7r.cn 什么是半月板hcv8jop2ns1r.cn 止咳化痰什么药最好hcv8jop3ns2r.cn 被艹是什么感觉hcv9jop5ns9r.cn
常喝蜂蜜水有什么好处和坏处hcv8jop9ns3r.cn 外阴瘙痒擦什么药sscsqa.com cheblo空调是什么牌子hcv7jop7ns0r.cn 绝望的绝是什么意思hcv8jop6ns9r.cn 瓜蒌是什么东西travellingsim.com
百度