资源简介
密码学课程设计:DES 、RSA加密系统的 C 语言源代码

代码片段和文件信息
/* D3DES (V5.09) -
*
* A portable public domain version of the Data Encryption Standard.
*
* Written with Symantec‘s THINK (Lightspeed) C by Richard Outerbridge.
* Thanks to: Dan Hoey for his excellent Initial and Inverse permutation
* code; Jim Gillogly & Phil Karn for the DES key schedule code; Dennis
* Ferguson Eric Young and Dana How for comparing notes; and Ray Lau
* for humouring me on.
*
* Copyright (c) 19881989199019911992 by Richard Outerbridge.
* (GEnie : OUTER; CIS : [71755204]) Graven Imagery 1992.
*/
#include “d3des.h“
static void scrunch(unsigned char * unsigned long *);
static void unscrun(unsigned long * unsigned char *);
static void desfunc(unsigned long * unsigned long *);
static void cookey(unsigned long *);
static unsigned long KnL[32] = { 0L };
static unsigned long KnR[32] = { 0L };
static unsigned long Kn3[32] = { 0L };
static unsigned char Df_Key[24] = {
0x010x230x450x670x890xab0xcd0xef
0xfe0xdc0xba0x980x760x540x320x10
0x890xab0xcd0xef0x010x230x450x67 };
static unsigned short bytebit[8] = {
0200 0100 040 020 010 04 02 01 };
static unsigned long bigbyte[24] = {
0x800000L 0x400000L 0x200000L 0x100000L
0x80000L 0x40000L 0x20000L 0x10000L
0x8000L 0x4000L 0x2000L 0x1000L
0x800L 0x400L 0x200L 0x100L
0x80L 0x40L 0x20L 0x10L
0x8L 0x4L 0x2L 0x1L };
/* Use the key schedule specified in the Standard (ANSI X3.92-1981). */
static unsigned char pc1[56] = {
56 48 40 32 24 16 8 0 57 49 41 33 25 17
9 1 58 50 42 34 26 18 10 2 59 51 43 35
62 54 46 38 30 22 14 6 61 53 45 37 29 21
13 5 60 52 44 36 28 20 12 4 27 19 11 3 };
static unsigned char totrot[16] = {
124681012141517192123252728 };
static unsigned char pc2[48] = {
13 16 10 23 0 4 2 27 14 5 20 9
22 18 11 3 25 7 15 6 26 19 12 1
40 51 30 36 46 54 29 39 50 44 32 47
43 48 38 55 33 52 45 41 49 35 28 31 };
void deskey(key edf) /* Thanks to James Gillogly & Phil Karn! */
unsigned char *key;
short edf;
{
register int i j l m n;
unsigned char pc1m[56] pcr[56];
unsigned long kn[32];
for ( j = 0; j < 56; j++ ) {
l = pc1[j];
m = l & 07;
pc1m[j] = (key[l >> 3] & bytebit[m]) ? 1 : 0;
}
for( i = 0; i < 16; i++ ) {
if( edf == DE1 ) m = (15 - i) << 1;
else m = i << 1;
n = m + 1;
kn[m] = kn[n] = 0L;
for( j = 0; j < 28; j++ ) {
l = j + totrot[i];
if( l < 28 ) pcr[j] = pc1m[l];
else pcr[j] = pc1m[l - 28];
}
for( j = 28; j < 56; j++ ) {
l = j + totrot[i];
if( l < 56 ) pcr[j] = pc1m[l];
else pcr[j] = pc1m[l - 28];
}
for( j = 0; j < 24; j++ ) {
if( pcr[pc2[j]] ) kn[m] |= bigbyte[j];
if( pcr[pc2[j+24]] ) kn[n] |= bigbyte[j];
}
}
cookey(kn);
return;
}
static void cookey(raw1)
register unsig
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 20793 1998-02-25 23:04 DES 、RSA加密系统的 C 语言源代码\d3des.c
文件 9754 2006-08-05 10:19 DES 、RSA加密系统的 C 语言源代码\des.c
文件 22657 2008-12-17 13:05 DES 、RSA加密系统的 C 语言源代码\DES_PC.C
文件 15040 2007-04-15 01:53 DES 、RSA加密系统的 C 语言源代码\main.c
文件 793 2007-06-06 11:08 DES 、RSA加密系统的 C 语言源代码\RAS.c
文件 76800 2005-12-05 16:19 DES 、RSA加密系统的 C 语言源代码\RSA的c实现.doc
文件 7577 2008-12-17 13:08 DES 、RSA加密系统的 C 语言源代码\WjDes\WjcDes.cpp
文件 628 2003-04-13 17:28 DES 、RSA加密系统的 C 语言源代码\WjDes\WjcDes.h
目录 0 2008-12-17 13:11 DES 、RSA加密系统的 C 语言源代码\WjDes
目录 0 2008-12-17 13:23 DES 、RSA加密系统的 C 语言源代码
----------- --------- ---------- ----- ----
154042 10
- 上一篇:数电模电面试题集锦 值得参考
- 下一篇:Paper_HeartSound.doc
相关资源
- Remote Desktop Organizer v1.4.7 支持win10
- 3des加解密_C 实现
- RSA AES DES ECC加密算法源码
- 密码学课程设计:DES加密解密算法的
- 提供几个加密算法的源码
- DES IP置换IP逆置换
- DES的C 源码
- Design of Analog CMOS Integrated Circuits 拉扎
- codesys编程手册中文版
- System Design Interview - An Insider’s Guide
- Grokking the System Design Interview
- 翻译的美国大学经典参考书,Roland
- 认识界面以及PCB设计整体要求
- The Research on Smart Drill-in Fluid Design
- 埃塞俄比亚东北部Dessie转诊医院的糖
- Altium designer超全元件库+封装库部分
- dive into design patterns(Alexander Shvets)
- Antenna Theory Analysis and Design.3rd Edition
- FMEDesktop2019特别版forMacv2019.0.0.0.19181苹
- LANDesk 管理解决方案和采用英特尔:r
- Mentor Graphics Expedition Enterprise v7.9.5.r
- PowerDesigner16.6 破解补丁
- Altium Designer实战攻略与高速PCB设计P
- 复旦dc综合工具教程
- lotus domino notes(包括client administrato
- Type-c 接口封装,24引脚,Altium Design
- Behavior Designer 1.6.3(u2018.3.0).unitypa
- Codesys变成入门手册
- xenapp 7.6 xendesktop 7.6 企業版55永久用戶
-
Databa
se Reliability Engineering Designing
评论
共有 条评论