发布网友 发布时间:2022-05-02 18:48
共1个回答
热心网友 时间:2022-06-26 00:51
对于初学者来说,一个最大的困惑就是怎样将中文信息用二进制序列密码来加密?给你一串中文消息,你怎样来加密呢?
在此作者就这个问题给出自己的看法。首先思路就是,既然是用二进制来加密文件,那么我们就必须先把中文消息转换成二进制数值,然后才能进行加密。
下面作者提出一种自己的做法。
模型是:中文消息——》四码电报——》二进制编码——》用二进制密钥序列加密——》
得到新的二进制序列——》发送给接收者——》接收者用解密密钥解密——》转换成四
码电报——》再转换成中文消息
对于这个模型,存在一个问题必需解决好,那就是怎样进行二进制编码。
我们知道,四码电报是一组十进制的数,如何用二进制把0——9准确地表示出来,这是一个关键,如果编码方式不好,很容易给攻击者留下后门。
那么究竟怎样才能避免这个问题呢?同时在进行加密的时候还要注意那些问题呢?
我们要把四码电报用二进制序列密码来加密,还要把四码数组转换成二进制数码,在这个转换过程中,我们说到很容易走进一个编码上的误区,那么我们应该怎样来走出这个误区呢?
下面先说一下,编码的要求:
1、四个位置上各个位置0和1的统计必需平衡,也就是说,当统计的数量到一定时,01必需平衡;
2、不能出现某一位的01统计有明显的差别,(这个很重要,这样不会给攻击者留下后门)
3、编码力求简单,均衡
因为0--9这十个数字对应编码要10组,所以就必需要用四位二进制的数组来表示。
统计一下各个位置的01平衡性,发现每个位置的0和1个数都为5各占一半,符合我们的编码要求。
因此结合上一编文章的要求,我们这里就给出了一种避免留下攻击后门的四码电报编码方法。