主页 PC知识 网管技术 黑客帝国 安全技术 开放系统 程序设计 搜索 技术论坛

 

相关联接
 
RHU本级分类

新手入门
入侵实例
工具使用
安全防范
黑客人物
软件破解
漏洞研究

 
RHU阅读排行
·直面"拿来主义"—浅谈共享软件的破解方法
·《疯狂单词》“中级”教程
·ACCESS密码查看器算法分析[简单]
·goldeneye使用教程
·网络验证——Nok2Phone V3.41 (VB)(算法分析)
·软件狗[Dongles]的加密与解密技术
·加密算法之BLOWFISH算法
·新版aspr脱壳方法(完全版)
·凯撒密文的破解编程实现
·逆向追踪+模拟跟踪方法寻找暗桩 解除脱UPX后的校验

 
 
RHU最新文章
·Tray.Commander.v2.3 注册算法分析
·带壳分析易语言+简单浮点算法
·WinKawaks 1.45脱壳笔记
·破解高手常用的破解工具介绍
·用内存注册机方式破解X-NetStat
·<好帮手进销存>算法分析
·解密宝典——十招教你学会软件破解
·对付自校验的杀手锏 -- 偷天换日
·简单分析"冰狐浪子下载运行512生成器
·脱壳高级篇之认识Import表

 
 
RHU相关搜索









 
 
RHU广而告之

 
 
>您的位置:首页 -> 黑客帝国-> 软件破解
“简单异或”加密算法的破解技术演示程序

作者:RHU-TAC编辑员 来自:RHU网络编辑 时间:2005-3-9 双击滚屏 收藏本页 字体:


点击 查看RHU2004全年文章


说明:
1、什么是“简单异或”加密算法?
简单异或加密算法的意思就是,直接将密钥和明文进行异或操作,不断循环,直到明文被加密位置。密钥不等同于密码,密钥通常都是经过密码学散列函数进行散列得到的,具有数学意义上面的随机性特征,因此密钥通常都不会暴露太多的特征信息。然而普通的密码由于比较集中于可见字符,因此有统计学意义上面的特征,很容易在密文当中暴露出密码的部分信息。
在这个程序里面,密钥是通过一个强随机性的随机数发生器产生的,因此无需担心密钥本身的安全性。该加密算法的核心部分大致如下:
1

        /**//// <summary>
        /// 加密函数,一个非常典型的异或加密方法。
        /// </summary>
        private void Encrypt()
        {
            encrypted = Encoding.Default.GetBytes(txContext.Text);
            buffLen = encrypted.Length;
            int klen = key.Length;
            int i, len = encrypted.Length;
            byte curByte;
            if (klen == 0) return;

            txResult.Text += " Encrypting... ";
            for (i = 0; i < len; i++)
            {
                curByte = encrypted[i];
                if (curByte != 0)
                    encrypted[i] = (byte) (curByte ^ key[i % klen]);
            }

            txEncrypted.Text = Encoding.Default.GetString(encrypted);
        }

2、本破解程序的适用范围?
本破解程序只是破解用该程序的加密函数进行加密的档案,并且该档案限定于必须是类似文本文件这样的,有着较为明显的字符频谱特征的,熵值较高的信息。直白的说就是某些二进制的值必须比另外一些二进制值的频率要高得多,否则虽然仍然有可能破解,但是可能性会比较低。此外较为次要的一点就是,这个文本必须能够提供相同的或者近似的范本。范本的作用就是为了统计这类文档当中各个字符的频谱特征,如果无法提供有效的范本,则分析成功率也会大大降低。
本破解程序所破解的异或加密算法的密钥是以字节作为基本单位的,实际上稍加改造也能够适应予以比特为密钥基本单位的简单异或加密算法。但是为了演示程序能够简单易懂,这里采取了以字节作为基本单位。

3、本破解演示程序的使用方法:
界面上面有三个按钮,一个用于重新产生密钥,一个用于选择被加密的文件,还有一个则进行密码分析操作。使用时请尽量打开C#或者VB等源代码文件作为加密及破解分析使用,打开一个特定的文件之后就可以开始进行密码分析了。在任何时候都可以改变密钥长度(并改变密钥),或者不改变长度仅仅重新生成新的密钥,或者更换用于加密并分析的文件,然后再次进行分析。点击分析按钮之后就会立刻产生分析数据,其中会输出大量中间数据,如果感兴趣的话可以看原文件当中的相关注释。输出数据的最后几行就是分析出来的密钥内容,这里会输出两组密钥,例如:
1F 2C 3D 44 58
E1 4D EF 88 6A
其含义是,密钥的第一个字节是1F或者E1,第二个字节是2C或者4D……以此类推,无法直接推出真正密钥的原因请看源代码的相关注释。

界面上有四个主要的文本框,从上到下分别是:用十六进制的方式显示密钥内容,用文本的方式显示明文的内容,用文本方式显示加密过后的密文内容,以及显示分析结果。

这个分析程序当中的明文字符频率表是直接使用当前被用于加密的明文来进行分析的,因此密钥被成功分析的可能性比较高。当然,您也可以改造成根据其它文本的分析得到频率表,但这样的话成功率就不能够保证了——如果范本和明文是类似的,甚至是近似的,那么分析成功率还是应当相当的高的!

 


OVER

[1] 页 RedHyphone.Union 投稿邮箱
[特别声明]:
本站文章大多搜索转载自网络中,如果侵犯了您的权利,请告之我们。本站将立即删除。
本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
查看评论】【向上滚屏】【关闭窗口】【 打印
-相关文章
  • openSUSE 11.1 Final - 正式发布
  • [视频]Opera Mini 4.2 正式版发布
  • dll注入系统进程(开源代码)
  • 认知盲区 解惑双网卡双线路DNS解析
  • FlashFXP 简体中文版 3.7.5 Build 1303 Beta[烈火]
  • -文章评论 (关闭)
    ·还没有相关的评论!

    网上大名:
    红旋风网络技术联盟 RHUTech.Union
     
    Copyright © 2000-2007 RedHyphone.Union All Rights Reserved. 红旋风联盟版权所有.皖ICP备05011033号
    中国红旋风网络技术联盟 | www.RedHyphone.net
    Mailto:Redhyphone@gamil.com