拼音汉字编码通讯密码的制作方法

文档序号:6585991阅读:414来源:国知局

专利名称::拼音汉字编码通讯密码的制作方法
技术领域
:本发明是"拼音汉字编码"发明专利申请(申请日2008年3月28日,申请号20j0810058230.8)的分案申请。属德国在二战中使用过的拉丁字母类密码,但产生密码的方法非打字机械。
背景技术
:现有的利用大素数给数据加密的密码编制理论,各国已研究较多,非常需要一种与现有理论截然不同的密码编制方法。本发明提供了一种"随机打乱拉丁字母顺序组成密码"的方法。这是在《拼音汉字编码》发明(公告号101266521A)的汉字拉丁化技术基础上研发的密码,要破译"拼音汉字编码通讯密码",关键是要找到字母排列表。电脑要确定(或排除)一种排列,必须要有一种参照标准,这正是《拼音汉字编码》相对于拉丁语系的优势之处。汉语的词大多由6—8个字母组成,按《汉语常用词典》90000多个词计算,平均每类字母组合对应3万多个词,不知字母含义,字、词无法切分,无法检索(而拉丁语系单词长短有统计规律),这是基于汉语特点设计的密码。
发明内容一、编码方法确定一种拉丁字母排列与标准排列对应ABCDEFGHI了KMN0PQRSTUVWXYZKFVIPNZEUBA0DMYXWGRQHTCS在电脑中用一映射程序即可打出密码。如拼音汉字编码HOWTUIR(后退)密码为ZDHGREX,对方收到后用一逆映射程序即可译出原文,亦可人工完成。此类似二战时德国使用的密码。为打乱统计规律,使用两种以上字母排列,每拍发一个字母更换一种字母排列映射,循环使用。例如用四种的《字母S一列表》ABcDEFGHI了KMN0PQRSTUVwXYZ1BADCGFEKMHI0STNU0PRzXWYV2EFGDCABQI了HKMP0UNsTWYVRZX3MP0UNSTWYVXRZKH■JIQBACDGFE4USNM0PVXRTWYHIZLKDGFCQBAE映射方法以26个拉丁字母的标准顺序号作为字母代号,如A代号是1,Z代号是26,电文字母按《字母排列表》的行数编流水号(循环编号),以每个电文字母的流水号为行标,代号为列标,在《字母排列表》中相应位置就能找到对应的密码字母。译码时以密码字母的流水号为行标,在《字母排列表》的那一行中找到该密码字母,以其所在列的列标为代号的字母就是译码字母。例流水号12341234123412341234123412341234拼音汉字编码ZHRIXIMDIOELTAUKFAMOANKAKJUNDAUR执行第二套方案A军到流水号123412341234123412341234123412拼音汉字编码QOISHO工WEUHAUDIKQUJRIJYDAIMIMK七十五号地区集结待命密码VQIRWIZMMPNYPEAWFEZJBMXUHJAICEAKNPYDKPYQGWWURDYWNWVKMJFMBIZRIH由于单字数量少词汇数量多,电文中四字母以下的单字应尽可能连写,以打破字词统计规律。4二、用编码函数产生字母排列的方法编码函数N-[asinx]N=[asin(2N=〖alnx]N-[algx]N=[aVJ]N=[ax/lnxN=[ax/lgx]N=(a)expxN=(x)expa([]表示四舍五入后取整数绝对值)/a:预先设定的数。可用来调整编码函数。x:电文字母数。作为编码参数。第一类变换N:总变换次数。从基本字母排列第一个字母开始相邻字母对调一次。间隔N字母顺序对调,至最后一个字母对调完(后面字母间隔不够可接开头数)后者重复N-l遍。第二类变换N:总变换次数。先把基本字母排列倒序排列,再从第一个字母开始间隔N字母顺序对调,至最后一个字母对调完(后面字母间隔不够可接开头数)后者重复N-l遍。第三类变换N:总变换次数。先把基本字母排列的双号前置,再从第一个字母开始间隔N字母顺序对调,至最后一个字母对调完(后面字母间隔不够可接开头数)后者重复N-l遍。第四类变换N:从基本字母排列第一个字母开始分别间隔N的各位数字对调,一直到最后一个字母对调完(后面字母间隔不够可接开头数)。第四类变换适合于N为2位以上的数。例l、a=VSx=400由编码函数^[asinx]计算出N=3,采用第一类变换。(基本字母排列暂用标准排列,*为变换结果排列)(用一付扑克牌很容易模拟)<table>tableseeoriginaldocumentpage5</column></row><table>第五类变换字母排列的数字化,每一个字母用其顺序号代替。标准排列ABCDEFGHIJKLMNOPQRSTUVWXYZ顺序号12345678910111213141516171819.20212223242526例字母排列KFVIPJNZELUBAODMYXWGRQHTCS转化成数字11=1162291610142651221211541325242371817820319编码函数N=aM将N两位分组,把每组中符合顺序号的数字挑出来映射成字母,(第一位数字>8作为0处理)选过的字母不再选,如果字母选不够,把字母排列中剩余的未选字母排在后面组成新的字母排列。取a=#*3exp21N=768938219415…UD0…也可由编码函数和(a)expxN=(x)eXpa计算出N再由上述方法产生字母排列。三、编码伪装技术利用《拼音汉字编码》在组词时具有的縮写功能(如en与n读音相同,碰到en、em时可随意省略e例gemvxin(更新)可写为gmvxin,—些词根组词时可以词缀化例xroifrau(袭扰)可写为xrirrau也可写为xirrau,zhchsh可縮写为z'c's'),在编码中用来调节电码的长短,把电文组成8个字母一组,不足的用V补足,译电时再把多余的V去掉。由于电文字母变了,字母数变了,经过编码函数放大后,相同内容电文的密码就完全不同了。例拼音汉字编码0KJUNDVZHENZHEMVY0IKTKUSHDDADKIZHIH0WYRUM我军的真正意图是打敌之后援伪装后0KJUNDWVZHNZHMVYIKTKUSHDDADKIZIH0WYRUMV用"具体实施方案"中的表转化成密码-BLMXXKHMSGAJNBXCIE0EVXVRDPIMNENREALYRYXS同样还可以选6个字母一组的方案伪装编码0KJUNDVZNZ附YIKTKUSHDDAVDKIZHIH0WWVYRUMW密码BLMXXKH00GSXURVNNSKBZMFXDLYGAEYFWS0XUUHK0X四、《拼音汉字编码通讯密码》的保密性随机排列的26个拉丁字母共有4.033*10exP26种不同排列,如果采用4种不同的排列随机组合,共有(4,033W0exp26)exp4种不同组合。如果电脑通过计算每秒能排除10亿种组合,则全部完成要8.39*10exp89年。可供采用的共有(4.033*10exP26)exp(4.033+10exp26)种不同组合。美国最近发现的据称是世界迄今最大素数2exp43112609-l有1.2W0exp8位(见08年9月19日《参考消息》),而上述不同组合有1.073*106乂1528+4.986*106乂口22+1.9*106乂口18位,二者远不是一个数量级。由于每拍发一个字母更换一种字母排列,循环使用,各种统计规律都被打乱,理论上讲,采用的组合种类足够多是不可破译的。目前的编码理论,如果电文内容泄露就有可能使密码被破译。而《拼音汉字编码通讯密码》电文中的每一个字都是独立的,知道后对破译其他字无帮助。(如知道上条三、中的第一组密码BLMXXKHM的内容是OKJUNDVV,密码的第一个字母B对应的是0,但在第二组密码中B对应的又是H)由于密码的设计造成每一次编码参数不一样,等同于每一次都使用不同的密码本。采用编码伪装技术后,字、词的切分检索就毫无意义了。敌方就是知道这一套编码理论和方法也无法破译该密码。原因如下1、不知道使用几个基本字母排列,也不知道基本字母排列本身。2、不知道产生其它排列的编码函数和变换方法,也不知道其它排列本身。3、不知道《字母排列表》中一共使用了多少种字母排列。4、不知道哪些密码上的多余信息要去掉。如三、中密码BLMXXKHM的HM就是多余信息,去掉后6个字母代表3个汉字,其后一个密码SGAJNBXC就没有多余信息,8个字母只代表2个汉字。这些都无法通过电脑解决。'具体实施方案记住几个基本字母排列,记住几个编码函数,在编制密码时临时输入电脑(可设定输出密码后自动删除),利用固定程序就可输出密码(在手机里设置程序也可以实现)。下面用两个基本字母排列和两个编码函数具体说明。第一基本字母排列在下表①,第二基本字母排列在下表<1>,第一编码函数N=[10V^Sinx]x=723N=3适合于第一类变换第二编码函数N=[1737Y]x=723N=153适合于第四类变换对第一基本字母排列0)用第一类变换产生(2),再对②用第四类变换产生(3),对第二基本字6母排列S)用第一类变换产生⑤,再对用第四类变换产生<table>tableseeoriginaldocumentpage7</column></row><table>利用前面一、的编码方法,利用前面三、的编码伪装技术,就可由上表将723字母的电文转化成密码。用上述方法还可产生出更多的字母排列以增加密级。基本字母排列、编码函数种类、变换种类也可以设计很多种。由于拼音汉字编码是可读性编码,可由电脑语音识别系统将语音转化成拼音汉字编码,再转化成密码传输,最后还原成拼音汉字编码进行语音合成。这又产生了一种新的加密语音通讯技术。拼音汉字编码通讯密码也可由上面第五类变换数字化,利用现有的数字传输技术进行再次加密和传输。由于拼音汉字编码具有文字功能,可用来记录各种资料,通过电脑程序转化成密码保存可防止泄密。权利要求1、利用不同的拉丁字母排列与标准排列映射编制密码的方法。举例如下<tablesid="tabl0001"num="0001"wi="158"><table><tgroupcols="27"><colspeccolname="c001"colwidth="3%"/><colspeccolname="c002"colwidth="4%"/><colspeccolname="c003"colwidth="3%"/><colspeccolname="c004"colwidth="4%"/><colspeccolname="c005"colwidth="4%"/><colspeccolname="c006"colwidth="4%"/><colspeccolname="c007"colwidth="4%"/><colspeccolname="c008"colwidth="4%"/><colspeccolname="c009"colwidth="4%"/><colspeccolname="c010"colwidth="4%"/><colspeccolname="c011"colwidth="4%"/><colspeccolname="c012"colwidth="4%"/><colspeccolname="c013"colwidth="4%"/><colspeccolname="c014"colwidth="4%"/><colspeccolname="c015"colwidth="4%"/><colspeccolname="c016"colwidth="4%"/><colspeccolname="c017"colwidth="4%"/><colspeccolname="c018"colwidth="3%"/><colspeccolname="c019"colwidth="3%"/><colspeccolname="c020"colwidth="4%"/><colspeccolname="c021"colwidth="4%"/><colspeccolname="c022"colwidth="4%"/><colspeccolname="c023"colwidth="4%"/><colspeccolname="c024"colwidth="4%"/><colspeccolname="c025"colwidth="4%"/><colspeccolname="c026"colwidth="4%"/><colspeccolname="c027"colwidth="4%"/><thead></column></row><row><column><entrymorerows="1"></entry><entrymorerows="1">A</entry><entrymorerows="1">B</entry><entrymorerows="1">C</entry><entrymorerows="1">D</entry><entrymorerows="1">E</entry><entrymorerows="1">F</entry><entrymorerows="1">G</entry><entrymorerows="1">H</entry><entrymorerows="1">I</entry><entrymorerows="1">J</entry><entrymorerows="1">K</entry><entrymorerows="1">L</entry><entrymorerows="1">M</entry><entrymorerows="1">N</entry><entrymorerows="1">O</entry><entrymorerows="1">P</entry><entrymorerows="1">Q</entry><entrymorerows="1">R</entry><entrymorerows="1">S</entry><entrymorerows="1">T</entry><entrymorerows="1">U</entry><entrymorerows="1">V</entry><entrymorerows="1">W</entry><entrymorerows="1">X</entry><entrymorerows="1">Y</entry><entrymorerows="1">Z</entry></column></row></thead><tbody></column></row><row><column><entrymorerows="1">1</entry><entrymorerows="1">B</entry><entrymorerows="1">A</entry><entrymorerows="1">D</entry><entrymorerows="1">C</entry><entrymorerows="1">G</entry><entrymorerows="1">F</entry><entrymorerows="1">E</entry><entrymorerows="1">K</entry><entrymorerows="1">M</entry><entrymorerows="1">L</entry><entrymorerows="1">H</entry><entrymorerows="1">J</entry><entrymorerows="1">I</entry><entrymorerows="1">Q</entry><entrymorerows="1">S</entry><entrymorerows="1">T</entry><entrymorerows="1">N</entry><entrymorerows="1">U</entry><entrymorerows="1">O</entry><entrymorerows="1">P</entry><entrymorerows="1">R</entry><entrymorerows="1">Z</entry><entrymorerows="1">X</entry><entrymorerows="1">W</entry><entrymorerows="1">Y</entry><entrymorerows="1">V</entry></column></row></column></row><row><column><entrymorerows="1">2</entry><entrymorerows="1">E</entry><entrymorerows="1">F</entry><entrymorerows="1">G</entry><entrymorerows="1">D</entry><entrymorerows="1">C</entry><entrymorerows="1">A</entry><entrymorerows="1">B</entry><entrymorerows="1">Q</entry><entrymorerows="1">I</entry><entrymorerows="1">J</entry><entrymorerows="1">H</entry><entrymorerows="1">L</entry><entrymorerows="1">K</entry><entrymorerows="1">M</entry><entrymorerows="1">P</entry><entrymorerows="1">O</entry><entrymorerows="1">U</entry><entrymorerows="1">N</entry><entrymorerows="1">S</entry><entrymorerows="1">T</entry><entrymorerows="1">W</entry><entrymorerows="1">Y</entry><entrymorerows="1">V</entry><entrymorerows="1">R</entry><entrymorerows="1">Z</entry><entrymorerows="1">X</entry></column></row></column></row><row><column><entrymorerows="1">3</entry><entrymorerows="1">M</entry><entrymorerows="1">P</entry><entrymorerows="1">O</entry><entrymorerows="1">U</entry><entrymorerows="1">N</entry><entrymorerows="1">S</entry><entrymorerows="1">T</entry><entrymorerows="1">W</entry><entrymorerows="1">Y</entry><entrymorerows="1">V</entry><entrymorerows="1">X</entry><entrymorerows="1">R</entry><entrymorerows="1">Z</entry><entrymorerows="1">K</entry><entrymorerows="1">L</entry><entrymorerows="1">H</entry><entrymorerows="1">J</entry><entrymorerows="1">I</entry><entrymorerows="1">Q</entry><entrymorerows="1">B</entry><entrymorerows="1">A</entry><entrymorerows="1">C</entry><entrymorerows="1">D</entry><entrymorerows="1">G</entry><entrymorerows="1">F</entry><entrymorerows="1">E</entry></column></row></column></row><row><column><entrymorerows="1">4</entry><entrymorerows="1">U</entry><entrymorerows="1">S</entry><entrymorerows="1">N</entry><entrymorerows="1">M</entry><entrymorerows="1">O</entry><entrymorerows="1">P</entry><entrymorerows="1">V</entry><entrymorerows="1">X</entry><entrymorerows="1">R</entry><entrymorerows="1">T</entry><entrymorerows="1">W</entry><entrymorerows="1">Y</entry><entrymorerows="1">H</entry><entrymorerows="1">I</entry><entrymorerows="1">J</entry><entrymorerows="1">Z</entry><entrymorerows="1">L</entry><entrymorerows="1">K</entry><entrymorerows="1">D</entry><entrymorerows="1">G</entry><entrymorerows="1">F</entry><entrymorerows="1">C</entry><entrymorerows="1">Q</entry><entrymorerows="1">B</entry><entrymorerows="1">A</entry><entrymorerows="1">E</entry></column></row></tbody></tgroup></column></row><table></tables>第一行的字母在不同的行映射成不同的字母。2、每拍发一个字母更换一种字母排列的映射方法以26个拉丁字母的标准顺序号作为字母代号,如A代号是1,Z代号是26,电文字母按《字母排列表》的行数编流水号(循环编号),以每个电文字母的流水号为行标,代号为列标,在《字母排列表》中相应位置就能找到对应的密码字母。译码时以密码字母的流水号为行标,在《字母排列表》的那一行中找到该密码字母,以其所在列的列标为代号的字母就是译码字母。3、利用编码函数产生字母排列的方法,以及把电文字母数作为编码参数的设计,包括如下五类变换。例N=[asinx]N=[asin(2VJ)N=[alnx〗N=[a5/F]N=[ax/lnx]N-(a)expxN-(x)expa([]表示四舍五入后取整数绝对值)a:预先设定的正数,用来调整编码函数。x:电文字母数,作为编码参数。第一类变换N:总变换次数。从基本字母排列第一个字母开始相邻字母对调一次。间隔N字母顺序对调,至最后一个字母对调完(后面字母间隔不够可接开头数)后者重复N-l遍。第二类变换N:总变换次数。先把基本字母排列倒序排列,再从第一个字母开始间隔N字母顺序对调,至最后一个字母对调完(后面字母间隔不够可接开头数)后者重复N-1遍。第三类变换N:总变换次数。先把基本字母排列的双号前置,再从第一个字母开始间隔N字母顺序对调,至最后一个字母对调完(后面字母间隔不够可接开头数)后者重复N-l遍。第四类变换N:从基本字母排列第一个字母开始分别间隔N的各位数字对调,一直到最后一个字母对调完(后面字母间隔不够可接开头数)。第四类变换适合于N为2位以上的数。第五类变换字母排列的数字化,每一个字母用其顺序号代替的方法。标准排列ABCDEFGHIJKLMNOPQRSTUVWXYZ顺序号1234567891011121314151617181920212223242526例字母排列KFVIPJNZELUBAODMYXWGRQHTCS转化成数字M=1162291610142651221211541325242371817820319编码函数N=aM将N两位分组,把每组中符合顺序号的数字挑出来映射成字母,(第一位数字>8作为0处理)选过的字母不再选,如果字母选不够,把字母排列中剩余的未选字母排在后面组成新的字母排列,如取a:V^"^exp21N=768938219415…UD0…也可由编码函数N^(a)expx或N=(x)eXpa计算出N再由上述方法产生字母排列。4、编码伪装技术利用《拼音汉字编码》在组词时具有的縮写功能(如en与n读音相同,碰到en、em时可随意省略e例gemvxin(更新)可写为gmvxin,—些词根组词时可以词缀化例xroirrau(袭扰)可写为xrirrau也可写为xirrau,zhchsh可縮写为z'c's'),在编码中用来调节电码长短的方法,把电文组成8个字母一组,不足的用V补足,译电时再把多余的V去掉的方法。例拼音汉字编码0KJUNDVZHENZHEMVY0IKTKUSHDDADKIZHIH0WYRUM我军的真正意图是打敌之后援编码伪装后0KJUNDWVZHNZHMVYIKTKUSHDDADKIZIH0WYRUMV转化成密码BLMXXKHMSGAJNBXCIE0EVXVRDPIMNENREALYRYXS同样还可以选6个字母一组的方案-伪装编码0KJUNDVZNZMVYIKTKUSHDDAVDKIZHIH0WVWYRUMW密码BLMXXKH00GSXURVNNSKBZMFXDLYGAEYFWS0XUUHK0X全文摘要拼音汉字编码通讯密码,是在《拼音汉字编码》发明(公告号101266521A)的基础上,设计的一种拉丁字母密码。是一种新的非数字密码技术。通过随机打乱26个拉丁字母顺序实现密码组合。由于汉语的词大多由6-8个拉丁字母组成,平均每类字母组合对应3万多个词,不知字母的对应含义,字、词无法切分,无法通过统计规律和计算机检索破译,这是基于汉语特点设计的密码。由于采用每拍发一个字母更换一种字母排列的编码技术,使电文各部分都相互独立,敌方即使知道部分电文内容也无法用来破译其余内容。由于可供选择的码本种类有(4.033*10exp26)exp(4.033*10exp26)种,敌方即使知道这套编码方法也无法用电脑破译。该密码易学、易记、易更换,保密性强。文档编号G06F3/023GK101639729SQ20081017086公开日2010年2月3日申请日期2008年3月28日优先权日2008年3月28日发明者严鲁生申请人:严鲁生
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1