首先我们来看一下AES加密过程
随机生成一份密钥,分为公钥和私钥,公钥发送到公拆纤共网络或者被加密文件的计算机,把私钥钥记为A,公钥记为B,公钥存储在系统目录下,隐藏这个公钥,因为系统目录文件比较多,手动寻找密钥不太现实,就算找到了目录,因为隐藏了文件,你也找不到,再或者你真的找到了公钥也没用,因为公钥需要和私钥配合使用才能解密文件,你不可能通过公钥推算出密码,除非加密着把尘御轮私钥发送给你,你也只剩下一种选择,暴力破解文件密码,目前aes128加密算法的,一台普通的计算机需要暴力破解十万年,还不包括可能出现了意外,以及加密者是否不使用aes128而是采用aes256or512,综上所述,Aes加密算法非常安全,但Aes加密算法可以被量子计算机破解,所以可能之后就要换成bb84了
1.加密,是以某种特殊的算法改变原有的信息数据,使得亏庆未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。例如对称算法亦或加密。2.什么是异或算法
异或的特点是原始值经过两次异或某一个数后会变成原来的值,所以有时利用这个特性来进行加密,加密端把数据与一个密钥进行异或 *** 作,生成密文。接收方收到密文后利用加密销蚂握方提供的密钥进行再次异或 *** 作就能得到明文。
3.例程:
/*以DWORD为单位对文件进行加密,将每个DWORD与0xfcba0000(密钥)做异或,写入物侍另一个文件*/
#include <stdio.h>
#include <stdlib.h>
#define DWORD unsigned long
#define BYTE unsigned char
#define false 0
#define true 1
int main(int argc, char *argv[])
{
FILE *hSource
FILE *hDestination
DWORD dwKey=0xfcba0000
char* pbBuffer
DWORD dwBufferLen=sizeof(DWORD)
DWORD dwCount
DWORD dwData
if(argv[1]==0||argv[2]==0)
{
printf("missing argument!\n")
return false
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)