logo资料库

GMT 0002-2012 SM4分组密码算法.pdf

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
ICs35.040 L80 备 案 号 :36825-2012 中 华 人 民 共 和 国 密 码 行 业 标 准 GlWI/T0002-2012 SM4分 组密码算 法 sM4block cipher algorithm ⒛ 12-OS-21发 布 ⒛ 12-0S-21实 施 国家密码管理局 发 布
GM/T 0002-2012 目 次 前 言 ·…… ¨……… ……… …… ……… ……… …… ……… ……… … ………… …… ……… ……… …… Ⅲ 1 范 围 ·……… …¨¨… ……… ……… …… ……… ……… …… …… ……… ……… …… ……… …… … 1 2 术语 和定 义 ……·… …… ¨…… ……… …… ……… …… ……… ……… …… …… ………… …… …… 1 3 符号 和缩 略语 ………… …… ………… …… …… ……… ·… …… ……… ……… …… ……… …… …… 1 4 算 法结 构 ·…… ……·…… ·… ……… …… ……… ……… …… …… ……… ……… …… ……… …… … 1 5 密钥 及 密钥 参 量 ·…… ¨……… ……… ……… ……… …… … ………… …… ……… … …… … ……… 2 6 轮 函数 F… ……… …… ……… ……… …… …… ……… ……… …… ……… …… …… ……… ……… ·2 ⒍1牺 鹦 构 … ¨ … … … 6.2 合成 置换 T… ……… …… ……… ……… … 彳 ∷∷ ∷∷∷ ∷∷ ∷∷∷ ∷∷∷ ∷∷ ∷∷∷ ∷∷ ∷ ∶ 7 算 法描述 ·…… ……·… ……… ……… …… ·…… …… ……… …… ……… …… …… ……… ……… … 3 7,1 加 密算 法 ……… ·… ……… ……… …… ………… … ……… ……… …… …… …… ……… …… … 3 7.2 解 密算 法 …… ·… …… …… …… …… …… ……… …… …… ………… …… …… ……… …… …… 3 7.3 密钥 扩展算 法 ……… …… …… …… …… ·… ……… ……… … ……… ……… …… ……… …… … 3 附录 A(资 料性 附录) 运算 示 例 …… ………… … ·…… …… …… ……… …… ……… ……… …… …… 4 A,1 示 例 1… …… ……… …… ……… ……… … …… … ……… …… ……… …… …… ……… ……… ·4 A。 2 示 例 2… … ……… …… ……… …… ·… …… …… … ……… ……… …… …… …… ……… …… … 5
GM/T0002-2012 亠刖 曰 本标 准依 据 GB/T1.1— ⒛09给 出的规则起 草 。 请注 意本 文件 的某些 内容 可 能涉及 专利 。本 文件 的发 布机 构不 承担识 别 这些专 利 的责任 。 本标 准 的附录 A为 资料性 附录 。 本标 准 由国家密码 管 理局 提 出并 归 口。 本标 准起 草单位 :中 国科 学 院数据 与通信保 护研究 教育 中心 、国家密码 管理局 商用 密码 检测 中心 。 本标 准 主要起 草人 :吕 述望 、李 大为 、张超 、张众 、董芳 、毛颖 颖 、刘 振华 。
GM/T0002— 2012 sM4分 组密码算法 1 范 围 本标 准规定 了 SM4分 组 密码 算法 的算 法结 构 和算 法描述 ,并 给 出了运算示 例 。 本标 准适 用 于密码应 用 中使 用分组 密码 的需 求 。 2 术语 和定 义 下列 术语 和定 义适 用 于本 文件 。 分 组 长 度 bIock length 萜 一个 信 息分组 的 比特 位数 。 密钥 长 度 lIey length 密钥 的 比特位 数 。 密钥 扩展 算 法 key expansion algorithm 将 密钥 变换 为轮密钥 的运算 单元 。 2.1 2,2 2.3 2,4 串 5 6 獭 辆 字 镀 螅 2 2 3 4 算 法结构 文件: 位 出的置换 ,记 为 Sbox(.)。 蜘 SM4密 码算 法是 一个 分组算 法 。该 算 法 的分组 长度 为 128比 特 ,密 钥 长度 为 128比 特 。加 密算 法 与密钥 扩展算 法都 采用 32轮 非线性 迭代 结 构 。数 据解 密 和数据 加 密 的算 法结 构相 同 ,只 是 轮密钥 的使 用顺 序相 反 ,解 密轮密钥 是加 密 轮密钥 的逆 序 。 1
GM/T0002-⒛ 12 5 密钥及 密钥 参量 加 密密钥 长度 为 128比 特 ,表 示 为 MK=(MK。 ,MK1,MK2,MK3),其 中 MK∶ (f=0,1,2,3)为 字 。 ,31)为 32比 特字 。轮 密钥 由加 密密钥 生 成 。 轮 密钥 表示 为 ('尼 。,r屁 1,· FK=(FK。 ,FKl,FK2,FK3)为 系统参数 ,CK=(CK。 ,CK1,· ·、CK31)为 固定参 数 ,用 于 密钥 扩 展 ··,r泛 31),其 中 砘 `(J=0,… 算 法 ,其 中 FK氵 (j=0,… ,3)、 CK氵 (J=0,… ,31)为 字 。 6 轮 函数 F 1 轮 函蛰 结 构 设 输 人 为 (X ,Xl, F(X。 ,j 90∶ 1,∶ 9、 冖″叮轮密钥为 磁∈z:z, T(X1① X2① X3① 磁) 提 2 合 成 暹 i换 9 爻 T:z:2— (1)闫 |纟 (r(.))。 桁 硐 蔸 i,厚 )=r(' t据 如 冂 辏 ψ % 班 l 勇 F E _ 〓 俚 Ξ 鼓5 L W △ 7 Ⅲ μ 3iP唧陬B7d 哗 6 J 冒::目 r`凵 目Ξ鲎 ! 6 r L9/、 0 D6 2B 9C E4 1E D蓬 EA E0 1D D5 8D 0A 0 l 2 3 4 5 6 7 8 9 A B C D E F 2 E9 0E 8A 5D E2 AF BN ` 6B BF AE F6 DB 1B C1 、 囊 A9 1t:l1 C9 q口 F3 1含【7 8R B2 u ` E8 DA 、 ~D1 讪 迎 C7 FD DD CD 38 1A CA 8E BC 7B DC 4D 9B DE BB A5 0C 3A ` D2 A4 2E 4A EC F0 7D 注 :输 入 ‘ EF’ ,贝刂经 s盒 后 的值 为表 中第 E行 和第 F列 的值 ,sbo
(2)线 性变换 L 非线性变换r的 输出是线性变换L的 输人。设输人为B∈ z:2,输 出为 C∈ z:2,则 : C=L(B)=B① (B<<(2)① (B<((10)① (B(<(18)① (B((<24) GM/T00O2-⒛ 12 7 算 法 描 述 7.1 加密 算 法 本 加 密算法 由 32次 迭代 运算 和 1次 反序 变换 R组 成 。 设明文输人为(XO,Xl,X2,X3)∈ (z:2)4,密 文输出为(y。 ,Yl,Y2,y3)∈ (z:2)4,轮 密钥为 r庀 氵∈犭2, f=0,1,2,¨ ·,31。 加 密算 法 的运算 过 (1)32次 迭代运 算 :埒 +众 =E (2)反 序 变换 :(Y。 ,Y1 7.2 解密算法 本算法的解 7.3 密 钥 扩 本 算 法 加 密 密 (KO,K r乃 氵==Κ 其 中 : (1)T′ L′ (B)= (2)系 统 FK。 =(A3B (3)固 定 参数 密变换结 构 相 同 ,不 同 的仅 是 轮 密钥 的使 用 顺 ,使 用 轮 密 钥 序 =(MKO, 氵① T′ (KJ FKl=(56AA335o),FK2=(677D9197),FK3=( 设 c屁 氵,J为 CKj的 贝刂c乃 氵j=(4j+J)× 7(m。 0,1,· ¨,31;J=0,1,2,3),即 CKj ,c虑 j,2,c乃 氵,3) ∈(z:)4, 固定 参 数 CK扌 (J=0,1,… 00070E15, 1C232A31, 70777E85, 8C939AAl, E0E7EEF5, FCo3oA11, 50575E65, 6C737A81, COC7CED5, DCE3EAF1, 30373E45, 4C535A61, AOA7AEB5,BCC3cAD1, 10171E25, 2C333A41, 383F A8AFB6BD,c4CBD2D9, 181F262D, 343B4249, 888F969D, A4ABB2B9, F8FF0-oD, 141B2229, 686F767E), 848B9299, D8DFE6ED,F4FBo209, 484F565D, 646B7279。
GM/T 0002-2012 A.1 示 例 1 附 录 A (资 料性 附录 ) 运 算 示 例 本 部 分 为 SM4分 组 密 码 算 法 对 一 组 明 文 进 行 加 密 的 运 算 示 例 。 输 入 明 文 :0123456789AB CD EF FE DC BA9876543210 输 入 密 钥 :0123456789AB CD EF FE DC BA9876543210 轮 密 钥 与 每 轮 输 出 状 态 : '屁 '乃 '花 E0]=F12186F9 XE4]=27FAD345 砘 E1彐 =准 1662B61 XE5]潦 A18B4CB2 E2]=5A6AB19A XE6]=11C1E22A r尼 E3]=7BA9207冫 XE7]=CC13E2EE r尼 E4]=367360F4 XE8]=F87C5BD5 [5]==776AOC61 XE9彐 ==33220757 r屁 E6彐 =B6BB89B3 XE10]=77F4C297 r尼 E7]=24763151 XE11]=7A96F2EB r乃 E8]=A520307C XE12]=27DACO7F r汔 E9彐 =B7584DBD XE13]=42DDOF19 E10]=C30753ED XE14]=B8A5DA02 r虍 E11]=7EE55B57 XE15彐 =907127FA r尼 E12彐 ==6988608C) XE16]==8B952B83 r屁 E13]=30D895B7 XE17]=D42B7C59 '尼 '花 E14]=44BA14AF XE18]=2FFC5831 E15]==104495A1 XE19]==F69E6888 r乃 E16]=D120B428XE20彐 =AF2432C4 '乃 匚17]=73B55FA3X匚 21]≡ ED1EC85E ~ '屁 '乃 r乃 匚18]=CC874966 XE22]=55A3BA22 r乃 [19彐 =92244439 X[23]=124B18AA E20]=E89E641F XE24]=6AE7725F E21]=98CA015A XE25]=F4CBA1F9 E22]=C7159060 XE26]=1DCDFA10 E23]=99E1FD2E XE27彐 =2FF60603 r乃 E24彐 =B79BD80C XE28]=EFF24FDC E25]=1D2115BO XE29]=6FE46B75 '屁 '屁 '花 '乃 r乃 E26]=0E228AEB XE30]=893450AD r乃 [27]=F1780C81 XE31]=7B938F4C r乃 E28]==428D3654 XE32]==536E4246 r乃 E29]==62293496 XE33]==86B3E94F r乃 E30]=01CF72E5XE34]=D206965E
E31彐 =912准 A012 XE35彐 =681EDF34 GM/T0002-2012 '乃 输 出 密 文 :681E DF34D206965E86B3E94F536E4246 A,2示 例 2 本 部 分 为 SM4分 组 密 码 算 法 使 用 固 定 的 加 密 密 钥 ,对 一 组 明 文 反 复 加 密 100000o次 的 运 算 示 例 。 输 入 明 文 :0123产 56789AB CD EF FE DC BA9876543210 输 入 密 钥 :0123456789AB CD EF FE DC BA987654321O 输 出 密 文 :595298C7C6FD271FO402F804C33D3F66
分享到:
收藏