PDF加密、解密内幕(三)-彻底破解加密PDF文件

1一般的口令验证我想很多人在学习某个技术或者其它之前总会想想如果换作自己来设计会怎么办,比如说PDF文件的解密,我就会想,文件内容是经过加密的,那么必须要有一个密钥才能解密文件的内容。而这一定和要求输入的口令是有关。那么这之间有什么关系呢?当然有很多种可能,在很久以前,一些系统竟然在后台用明文保存用户口令和口令,这样用户在登录系统的时候就直接比较用户名密码是否一致,当然这些用户名和密码全部掌握在管理员的手中;到我们比较注重系统安全的时候,用口令通过HASH函数生成HASH序列保存在数据库里,这样就比较安全,因为HASH函数是单向的,没有输入的口令的话只有用暴力破解的方法了。如果你的口令设置的比较简单也是很容易被破解的。因此现在一些对安全性比较高的网站都会要求你不要将口令设置的过于简单。那么解密PDF的时候口令是如何来验证的呢?是不是由我们的口令生成的HASH序列保存在PDF文件里,然后在打开的时候由你输入的口令再生成一个HASH序列,两者比对,同则由你输入的口令会同PDF文件中的其它内容生成密钥,然后解密?这只是我们的设想,那么PDF文件解密是不是真的这样做的呢?图1假想的PDF解密下面我们来寻找问题的答案。2PDF文件口令验证在上几篇文章中我们也知道了PDF有两组口令,一为OwnerPassword,另外一组称为UserPassword,因为OwnerPassword是用来控制权限的,在文章中我们把它称为权限口令;而UserPassword是用来打开文件的,称为打开口令。如果一个文件同时设置了打开口令和权限口令,那么在打开PDF文件的时候只要输入任何一个口令就可以打开该加密的PDF文件了。而当我们输入口令的时候,一般处理PDF的软件会先判断是否权限口令,如果是,那么开放所有的操作权限,用户就可以没有任何限制地使用该PDF文件;如果不是权限口令,那么会判断输入的口令是否为打开口令,如果验证成功,那么PDF文件就解密,就可以看到文件的内容,但是此时文件的其它操作是受限制的。算法3.6和算法3.7分别描述了对用户口令和权限口令的验证。如果你尚未读过前一篇文章,那么如果你感兴趣的话可以去看一看,然后再回过来看本文。2.1算法3.6验证用户口令1利用用户提供的口令执行算法3.4(R2)或算法3.5(R3或更高)。2如果步骤1的输出和PDF文件中加密字典中的U值一致(R2),或者前16位一致(R3或更高),因为版本3或更高的情况后十六位是任意补足的。那么该输入的用户口令正确,并且可以按照算法3.1对文件内容进行解密。2.2算法3.7验证主口令1.根据算法3.3的1到4步,由提供的口令串计算得到一个密钥。2.(仅版本2)用步骤1得到的密钥解密加密字典中的O条目值。((版本3或更高)做20次:用前一次的输出作为下一次的输入进行解密;密钥是由第1步产生的原始密钥的单个字节依次和循环数和进行XOR(异或)运算得到的(循环数从19到0)。下面为该过程的伪码:Test[32]=加密字典对象中条目O的32位字符串值;temKey=Test[32];keyLength=length/8;for(i=19;i>=0;--i){for(j=0;j<keyLength;++j){tmpKey[j]=fileKey[j]^i;}rc4InitKey(tmpKey,keyLength,fState);fx=fy=0;for(j=0;j<32;++j){test[j]=rc4DecryptByte(fState,&fx,&fy,test[j]);}}3步骤2产生的结果假定为打开口令(userpassword),用算法6来验证该用户口令。如果正确,那么提供的口令就为权限口令(ownerpassword)。3可能的破解方法对加密的PDF文件进行破解我想是很多人最感兴趣的,那么在此也来讨论一下对口令加密的PDF文件是否可以被破解?有那些方法可以来破解口令加密的PDF文件?对于第一个问题的答案是显而易见的,没有那种加密方法是绝对安全的,绝对不能被破解的,我们很多时候所说的不能破解是指破解的时间相当长,长到对你破解的内容没有意义的时候。下面我们来看看有哪几种常规的破解加密PDF文件的方法。3.1常规暴力破解这是对任何需要口令验证或解密的系统或加密文件都有效的方法,这个方法最简单,就是通过穷举计算HASH序列来比对。当该口令或密码设置的非常简单的时候,该方法是有非常有效的。破解过程按照算法3.6和算法3.7来验证打开口令和权限口令。3.2口令表口令表主要是在暴力破解的基础上改进的,主要...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?