




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DESDES加密算法加密算法C C语言实现语言实现 报告报告 DES加密算法C实现 mac c include include 程序描述 加 解密公用函数 decrypt encrypt routine define u char unsigned char void FDES u char key u char text u char mtext void FDES u char key u char mtext u char text void Fencrypt0 u char text u char mtext void Fdiscrypt0 u char mtext u char text void Fexpand0 u char in u char out void Fcompress0 u char out u char in void Fcompress016 u char out u char in void Fsetkeystar u char bits 64 void FLS u char bits u char buffer int count void Fson u char cc u char dd u char kk void Fiip u char text u char ll u char rr void Fiip u char text u char ll u char rr void FF int n u char ll u char rr u char LL u char RR void Fs box u char aa u char bb u char C 17 28 D 17 28 K 17 48 function DES parameter u char key key for encrypt u char text plain text u char mtext encipher result return none void FDES u char key u char text u char mtext u char tmp 64 Fexpand0 key tmp Fsetkeystar tmp Fencrypt0 text mtext function DES parameter u char key key for encrypt u char mtext encipher data u char text plain data return none void FDES u char key u char mtext u char text u char tmp 64 Fexpand0 key tmp Fsetkeystar tmp Fdiscrypt0 mtext text void Fencrypt0 u char text u char mtext u char ll 64 rr 64 LL 64 RR 64 u char tmp 64 int i j Fiip text ll rr for i 1 i 17 i FF i ll rr LL RR for j 0 j0 i FF i ll rr LL RR for j 0 j 32 j ll j LL j rr j RR j Fiip tmp rr ll Fcompress0 tmp text void Fexpand0 u char in u char out int divide int i j for i 0 i 8 i divide 0 x80 for j 0 j 8 j out in divide divide 2 void Fcompress0 u char out u char in int times int i j for i 0 i 8 i times 0 x80 in 0 for j 0 j 8 j in out times times 2 void Fcompress016 u char out u char in int times int i j for i 0 i 16 i times 0 x8 in 0 for j 0 j 4 j in out times times 2 int pc 1 cp 28 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 int pc 1 dp 28 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 int pc 2p 48 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 int ls countp 16 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 void Fsetkeystar u char bits 64 int i j for i 0 i 28 i C 0 bits pc 1 cp 1 for i 0 i 28 i D 0 bits pc 1 dp 1 for j 0 j 16 j FLS C j C j 1 ls countp j FLS D j D j 1 ls countp j Fson C j 1 D j 1 K j 1 void FLS u char bits u char buffer int count int i j for i 0 i 28 i buffer bits i count 28 void Fson u char cc u char dd u char kk int i j u char buffer 56 for i 0 i 28 i buffer cc for i 28 i 56 i buffer dd for i 0 i 48 i kk buffer pc 2p 1 int iip tab p 64 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 int iip tab p 64 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 void Fiip u char text u char ll u char rr int i j u char buffer 64 u char tmp 64 Fexpand0 text buffer for i 0 i 32 i ll buffer iip tab p 1 for i 0 i 32 i rr buffer iip tab p i 32 1 void Fiip u char text u char ll u char rr int i j u char tmp 64 for i 0 i 32 i tmp ll for i 32 i 64 i tmp rr i 32 for i 0 i 64 i text tmp iip tab p 1 int e r p 48 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1 int local PP 32 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 int ccom SSS p 8 4 16 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 err on 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14 err on 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 err on 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11 void FF int n u char ll u char rr u char LL u char RR int i j u char buffer 64 tmp 64 for i 0 i 48 i buffer rr e r p 1 for i 0 i 48 i buffer buffer K n Fs box buffer tmp for i 0 i 32 i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电梯钢结构承包合同(标准版)
- 模板工承包合同(标准版)
- 安全用电培训学习记录课件
- 2025年印刷品、记录媒介复制品项目规划申请报告模板
- 2025年计算机网络设备项目申请报告
- 安全用农药指导培训信息课件
- 法院服务质效提升课件
- 2025年校结业考试试题及答案
- 法律的公平与正义课件
- 2025福建省晋江圳源环境科技有限责任公司招聘6人考前自测高频考点模拟试题及答案详解(网校专用)
- 乐乐课堂版奥数三年级
- 口腔疾病的预防与治疗措施
- 中医护理操作并发症预防及处理
- 《混凝土结构耐久性电化学修复技术规程》
- 桥式起重机Q2练习测试题附答案
- 哈里伯顿Sperry定向钻井介绍专题培训课件
- 2021年江苏省徐州市中考生物试卷(附详解)
- JJF 1704-2018 望远镜式测距仪校准规范
- 石油化工设备维护检修规程通用设备12
- 《三角形的面积》教学设计方案
- GB/T 14667.1-1993粉末冶金铁基结构材料第一部分烧结铁、烧结碳钢、烧结铜钢、烧结铜钼钢
评论
0/150
提交评论