1.变量:定义,赋值基本数据类型:6个(32位环境下)说  明字符型短整型整型长整型单精度浮点型双精度浮点型数据类型charshortintlongfloatdouble长  度124448 2.在屏幕上输出各种数据类型(1)printf 是 print format 的缩写,意思是“格式化打印”(2)%d:输出一个整数%c:输出一个字符。c 是 chara
转载 2024-07-09 21:51:42
15阅读
计算程序执行10万次需要的时间:总共需要175秒加解密一次的时间小于:0.00175秒纯计算加解密的时间会更短去除IO操作后的时间也就是说加解密一次的时间为0.07毫秒1 /*------------------------------------------------------- 2 Data Encryption Standard 56位密钥加密64位数据 3 ---------
转载 5月前
25阅读
C语言实现DES算法实验报告讲解xx工程大学实验报告2016学年第一学期报告题目:课程名称: 学B:专 业:学 号::一、概述二、思路生成一个脱密时程序输入的密文是16个16进制数,生成一个8个ascii码的明文加脱密由其中6进制数全部使用大写字母程序中大量使用了的布尔数组型变量只占用一位存储空间比int型char型变量要小的多三、采取的方案本程序是将一个由明文分组加密生成一个由将一个由由明文由本
解密加密加密密钥置换选择循环左移明文IP置换L16R16的运算拓展置换S盒P置换IP逆置换解密 加密DES加密算法其实分为两个部分,一部分对密钥进行处理 ,一部分对明文进行处理。 下面从一个例子说明: 64位明文:M=00110000 00110001 00110010 00110011 00110100 00110101 00110110 0011011164位密钥:K=00110001 00
转载 2024-09-19 22:03:15
107阅读
错误点1:输入8位char类型的字符串转换为64位输入密码的时候使用的ByteToBit字节组转换成位组函数错误代码:void ByteToBit(bool *Out, const char *In, int bits)//字节组转换成位组 { for(int i = 0; i < bits; i++) { Out[i] = (In[i/8] >&gt
一、  数据结构和算法关系为什么要学数据结构和算法?通常,计算机解决问题的步骤如下: 在数学模型中,计算机处理的对象之间通常存在着一种最简单的线性关系,这类数学模型就是线性的数据结构。著名计算机科学家沃斯(Nikiklaus Wirth)提出一个公式:程序=数据结构+算法。数据结构就是编程的思维,编程的灵魂,算法的精髓所在,没有了数据结构,程序就好像一个空核,是低效率的。算法与
DES(Data Encrypt Standard数据库加密标准)是迄今为止使用最广泛的加密体制。     初学信息安全的新生,一般都会被老师要求实现DES算法,如果老师不要求,那么有缘来我这里共同学习的朋友,我建议你用C去实现一下,C语言在信息安全领域很重要,更何况隶属于工科的信息安全,你只懂理论是远远不够的。   &nbsp
1.C语言的基本代码格式: 头文件+主函数: #include<stdio.h> #include<stdlib.h> int main() { printf("my first "); system("color 4f"); system("pause"); return 0;} 头文件是程序中使用的函数所在的库名
文件加密解密是常用的一个功能,可以很好的保护你的隐私内容;本软件简单的实现了文件加密解密的功能。 为了防止别人随意使用软件,软件本身也有一个密码,必须输入密码才能使用软件。 软件的功能有: 加密文件:打开需要加密的文件,输入密钥,将加密的文件保存;解密文件:打开需要解密的文件,输入密钥,将解密的文件保存;修改密码:可以临时修改软件的使用密码,但是软件重启后会被重置;退出程序:完成工作后退出。
简介:des算法是一种对称加密,通过同一组秘钥进行加密和解密。利用64位秘钥对64位数据进行加密生成一组新的64位数据,其中的转换都是利用统一的表格数组对秘钥和数据转换(这些表格都是全网统一的,有些博客中分享的表格数据含有少数错误数据且极难发现,加解密数据截然不同)例   网上的错误表格数据: 以下为代码,这里的main函数传参加解密选项以及秘钥和数据,测试用只能传入64位秘钥
#define _CRT_SECURE_NO_WARNINGS 1 #include<windows.h> #include<stdio.h> #include<stdlib.h> #include<string.h> #include<malloc.h> #include <time.h> #include&l
  数据加密标准DES加密算法是一种对称加密算法,DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,
转载 2024-04-15 10:11:49
331阅读
笔记中的一段,不记得是我写的还是网上看的了,总之我现在也会写,为避免麻烦还是乱设个转载。思路函数fgetc()可以每次从文件中读取一个字符函数fputc()可以每次向文件写入一个字符打开要加密的文件,同时创建一个临时文件,每次从要加密的文件中读取一个字符,对其进行运算(此处为取反)后再写入到临时文件中,实现简单的加密。此处为取反,因此只需对文件再进行一次加密,即可恢复成明文。源代码#include
先贴问题:Delete Operation for Two StringsGiven two words word1 and word2, find the minimum number of steps required to make word1 and word2 the same, where in each step you can delete one character in eit
#include <stdio.h> #include <stdlib.h> #include <string.h> //密钥 //64位变56位密钥置换表 int pc_1[56]={ 57,49,41,33,25,17,9, 1,58,50,42,34,26,18, 10,2,59,51,43,35,27, 19,11,3,
一、实现原理       先将明文转为16进制。然后每个16进制数取二进制的前四位。取16个数字。每16个16进制数加密一次。如果不够16个,就补0;       再将密文转换为2进制,每个字母取二进制的前4位。存完后一个64位。再将这个64位二进制数字通过pc-1表映射,变成5
DES加密流程图:1-1、取得密钥取得64位的密钥,每个第8位作为奇偶校验位。1-2、变换密钥。1-2-1、舍弃64位密钥中的奇偶校验位,根据下表(PC-1)进行密钥变换得到56位的密钥,在变换中,奇偶校验位以被舍弃。Permuted Choice 1 (PC-1)57 49 41 33 25 17 91 58 50 42 34 26 1810 2 59 51 43 35 2719 11 3 60
转载 2024-06-04 05:01:49
164阅读
main.cpp#include<stdio.h> #include<string.h> #include"tables.h" //数据表 //置换函数 //参数: In:待置换数据指针 //Out:置换输出指针 // n:置换表长度 //P:置换表指针 //说明:将输入数据的指定位置作为输出数据的第i位。指定位置即置换表第i位的十进制数。得到的输出数据的长
转载 2023-09-30 21:47:00
96阅读
 目录一、冒泡排序二、平均滤波1.中位值平均滤波法2.递推平均滤波法3.算术平均滤波法一、冒泡排序1.定义它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来,直重复这个过程,直到没有任何两个相邻元素可以交换,就表明完成了排序。假设需要排列的数组为a[4]={7,23,6,8}用冒泡排序对这四个数排序,需要进行(4-1)轮比较,
目录基本概念打印函数子密钥生成初始化必要数组获取初始密钥k  获取初始密钥k的十个二进制位获取PC-1转换字符数组至整型数组 利用PC-1改变数组K中元素的排列顺序拆分元素顺序改变后的数组K拆分后数组元素向左循环位移将左移后的数组合并获取PC-2获取子密钥K1  将之前拆分后的数组元素再次向左循环位移将二次左移后的数组继续合并成新数组获取子密钥K2
  • 1
  • 2
  • 3
  • 4
  • 5