Merkel-Hellman背包算法在汉字加密中的应用与图算法解析

日期: 2025-02-18 17:07:35 |浏览: 61|编号: 74487

友情提醒:信息内容由网友发布,本站并不对内容真实性负责,请自鉴内容真实性。

Merkel-Hellman背包算法在汉字加密中的应用与图算法解析

基于汉字的背包公共密钥加密算法

Wang Junfeng 1 Meng Xiangjuan 2

(1。Xinjiang计算机培训中心830011,2。新疆医科大学830000)

(1×s

w jf @ sohu。 com,2mxjch@yahoo。 com。 C11)

抽象介绍了Merker-Hellman背包算法的加密思想,加密和解密原理,以及背包公钥的构造方法以及添加汉字。

加密算法,超级增量多项式解密算法以及可以实现汉字加密和解密操作的图形算法,而无需方程式求​​解,文章

处理方法和加密算法对于其他双字节字符的加密处理是共同的。

关键字公钥;私钥;纯文本;密码文字;背包;图算法

napsackpublickyalgorithm

对于下巴

加密

natetietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietietie t

(1.XinjianComputerApplicationscentca“ 830011)

(2.xinjiaag

医学无限830000)

abst:th th a ticl int int int s th s w w w w ll-knownm kl kl -h llmanknapsack llmanknapsack llmanknapsack

加密/解密原理

它,礼物

knapsackpublicking符合的方法,aknapsack

Publickyalgorithm

对于下巴

加密

andextraincrement

多项式解密,

Schemesa

图表

方法

实施

加密/解密

没有

设置任何

方程式。 t算法

和提供的方法

本文

适用的

解密

其他

双班院。

keywords:publickey; privateKey:cleaext; ciphertext; knapsack:图表

方法

1。简介

全球经济发展正在进入信息经济的时代,无论是数据库安全性,计算机信息机密性问题都变得越来越重要。

存储,IC卡存储,个人信息通信和电子商务活动迫切需要确保信息安全。信息安全的核心是密码

技术[L]。最重要,最重要的加密系统是不对称的公共密钥加密(PublicKeySystem)。加密密钥(公钥)

它可以向公众公开,任何人都可以使用它。解密者只知道解密密钥(秘密密钥)。非法用户可以使用公共加密

该密钥无法计算解密密钥。关键技术不仅可以确保机密信息的安全性,而且还可以实现数字签名示例和身份。

验证和其他系统安全功能。

分析汉字的不对称加密处理

非对称加密系统也称为公共密钥加密技术。在公共密钥加密系统中,加密和解密相对独立,加密和解密。

使用两个不同的键根据它们使用的数学算法分为:RSA算法,Merke-Euman背包算法,mceliece /:方法,方法,方法,方法,

e anamal算法和椭圆曲线算法等。

两个字节描述了一个汉字,每个字节ASC代码对应于1个弓小数号或8位二进制数字,一个汉字是正确的。

它应该是一个6位数字的数字或16位二进制数字。用背包公钥加密汉字被转换为中文字符的16位二进制数字的加密。

1722年

3。 e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e en e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e en

背包旅行系统是由1978年斯坦福大学的麦克默克尔(McMerkle)和梅尔曼(Meellman)提出的。

该想法基于被困背包的公共密钥加密系统[2]。 f3],称为I_M系统简称。

背包问题描述指的是:一个长度为l的背包,s和底部的底部区域和一组I-Valent圆柱体具有相同的直径,其厚度分别为α。

A2,…An,如何选择一个圆柱体以实现填充背包的效果。

已知该问题的数学描述可以解决XI

l = alxl+a2x2+…。 。 + ac ancnn】【i∈[O/1],i--1,2,…,11

背包向量A =(Al,…,AD,AI是一个正整数,找到向量X =(Xl,…,XD。此方程。

背包问题也称为子集和问题,这是一个著名的NTP完全困难的问题,而今天没有很好的解决方案。搜索所有可能的糟糕情况

不可能搜索。

但是,如果序列A1,A2,…。对于任何任意k,l≤k≤n,∑< kouzhou时都有多项式解决方案。这样的序列

它称为超级增量序列。

3.1密钥一代

用户首先构建一个超级增量背包组件B1,b2…k,长度为n选择两个正整数M≥∑a,w<m,w和m

f

相互元素gcd(w,m)= 1,然后有cow---------------------------------

做MH转换:ak-=wbk(modm),k ---1,2,…,n

mh背包的公共密钥加密系统将这样的FAI序列用作公钥。奥秘是背包有两种类型,一种可以是线性的。

如果要在一段时间内解决它,则无法解决其他类型,并将易于解决的背包问题修改为难以解决的背包问题。困难的背包{ai}用作公钥,并且易于解决

背包{AI)被用作私钥,不仅有助于解密操作,而且还实现了密文的安全性。

然后是一个公钥k。 (al,a2,…an,m),私钥k1 =(bl,b2…bli,m,to)

3.2加密算法

使用公共密钥在明文C = E(M,K)上执行加密操作

∑aiml = alml+a2m2+…。 +a - - g

i-1

c是密文ml,m2,...硫酮是o,1个符号符号n bit,a1,a2,...

M2,…M16是汉字的16位二进制数,公共密钥的长度{ad是16位。

使用私钥在纯文本M = D(C,KT)上执行解密操作

首先,公式的目标值是从密文中获得的

modm,从私钥创建解密方程

妻子抚摸四川= blxl + b2x升... + bnx。 dI解决方案集{x1。 。 。 x。 l是获得的纯文本

i-1

私钥{bi)是一个高个序列,并且有一个多项式解决方案。解决方案集FXL。 。 。 x )是一个o,l符号字符串。解密汉字时,解决方案为{x1。 。 。

x

16)是16位二进制数量的汉字。

中文特征加密和解密的实施解决方案

如图1所示,我们从要加密的纯文本中获取每个字符的二进制代码(包括中文字符),并使用公共密钥对纯文本的二进制代码进行加密以获取秘密

文本使用私钥处理密文来实现解密操作,获取每个字符的二进制编码,然后获得与二进制编码相对应的纯文本字符。

i・ —————————,}. ————————————

图1字符加密和解密实施过程

1723年

首先,定义转换为字符(易于执行)的二进制代码函数f(x),并定义转换为字符的函数f1(m)。

将公共密钥k分配给加密和私钥K1。加密和解密过程如下:

加密操作解密操作

第一步是,加密商获得了中文字符m = f(x)的二进制代码值,其中x∈中文,m∈二进制代码

第二步是,加密商从二进制代码值m和公共密钥K. e(m,k)获取CiphertextG。

其中m∈BinaryCode,ke键,cE ciphertext

第三步是解密密文C和私钥k1以获取汉字的二进制代码值m = d(c,ki)

其中c∈Ciphertext,k1∈Private键

第四步是解密二进制代码值以获得相应的字符(中文)x = f(m)

其中m∈Binary代码,XE字符(汉字)

5。汉字加密和解密的应用和实施

表L中文字符二进制代码表

中文字符ASCU =中心代码

依靠

214。2081101011011010000

国家185。问答0 1011100111111010

16386,32768),M = 65537,W = 10001基础

获取∞= 27549

假设纯文本为M = {中文L,ASC 0代码与每个中文字符和二进制代码相对应

该代码显示在表1中。构造

超级增量背包组件BL,b2…b,长n。 。 =(1,2,4,8,

16、32、64、128、256、512、1024、2048、4096、8192,

(65537,10001)= 1存在tol0001--1(mod

65537)请

MS转换实现(BI,B2…bn。) - (A1,A2,…AN)

从ai =; WBIMODM

aL = wb lmodm =10001×1MOD65537 =10001MOD65537 =1000L

Pb = _wb2MODM = 10001×2MOD65537 = 20002MOD65537 = 20002MOD65537 = 20002

A3 = WBTMODM = 10001×4MOD65537--40004MOD65537 =评论)004

ad-super 4mod

M = 10001×8MOD65537 = 80008MOD65537 = 14471

A椰子smodm = 10001×16mod65537 = 160016mod65537 = 28942

A6 = WB6MODM = 1000L×32MOD65537-320032MOD65537-5784

A7 = WB7MODM = 1000L×64MOD65537 = 640064MOD65537 = 50231

AG = WBGMODM = 10001×128mod65537 = 1280128mod65537 = 34925

ag =wboooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

ato = wblomod

M = 10001×512MOD65537-5120512MOD65537 = 8626

an = wbllmodm = 10001×1024MOD65537-10241024MOD65537 = 17252

a1 2 = wbl2modm = 10001×2048mod65537-2048mod65537 = 34504

A13 = WBL3MODM = 10001×4096MOD65537--40964096MOD65537 = 3471

A,4 = WBL4

modm = 1000L×8192MOD65537 = 81928192MOD65537 ----

A15 = WBL5MODM = 10001×16384MOD65537 = 163856384MOD65537 = 13884MOD65537 = 13884

A,6 = WBL6MOD

M = 10001×32768MOD65537 = 327712768MOD65537 = 27768MOD65537 = 27768

公钥:k =(Al,A2,……M)=(10001,20002,40004,14471,28942,5784,5784,50231,34925 4313,

8626,17252,34504,347L,6942,13884,27768,65537)

私钥:k1 =(b],b2…b .. m,∞)

=(1、2、4、8、16、32、64、128、256、512、1024、2048、4096、8192、16386、32768、65537、27549)

5.1使用公钥加密操作

(i xi)(i xi是汉字的二进制代码,每个汉字的相应密码文本是:

c1 = ai +a2+a4 +a ——— a -9 +a100a12

= 10001 + 20002 + 14471 + 578大陆0231 + 4313 + 8626 + 34504 = 200032 - 3421(rood65537)

c2=AI+a3+a4 +aa -9 +a10 +a1l +a12 +a13 +a15

=1000130004 +1447L +28942 +34925b13 +862「17252+34504 +3471 +3471 +13884

=210393313782(MOD65537)

在中文字符的加密操作111 =(中文)之后,获得了Ciphertext C =(Cl,C2)=(3421,13782)。有关计算结果的详细信息,请参阅表2

1724年

5.2理解公共密钥加密图计算表

表2中的第一列是公钥的16个组件,2.4.6…8。 16个二进制数字列为汉字[O/1],CI = AIMI公共密钥组件,并且

在第2.4.6.8列中乘以二进制数。乘以二进制数以获得3.5.7…9节。列表,第3.5.7…9节。列求和获取摘要行,摘要行是lil(m

65537)拿模具并获取模具线,这是与中文字符线相对应的密码文本。使用表2直接获取秘密而无需求解方程

文本(该表格可以水平扩展)。

5.3用私钥解密操作

表2中文加密图表

M 65537

依靠

国家

公钥

二进制乘法操作二进制乘法操作

1000L 1 10001 1 10(】01

20002 1 20002 0 o

40004 o o o o 040004

14471 1 14471 14471

Z8942 0 0 L 28942

5谎言1 57884 0 0

5023L L 50231 O

34925 0 0 1 34925

4313 1 4313 L 4313

8626 L 8626 1 8626

17252 0 0 L 17252

504 1 34504 1 34504

3471 0 O 1 347L

6942 o 0 0 o

13884 O 0 1 13884

z7768 o o o o

摘要200032 210393

找到342L 13782

表3中文解密图

m65537∞27549

秘密价值342L 13782

2923 24477

私钥值1文件解决方案值1可以解决

32768 2923 2923 0 24477 24477 O

i侧29 bar 3 2923 0 24 ruthenium 7 8093 L

8192 2923 2923 0 809B 8090 O

4096 2923 2923 0 8093 3997 L

20。Tao2923 875 1 3997 1949 L

1024 875 875 O 1949 925 1

512 875 363 1 925 413 1

256 363 107 L 413 157 L

128 107 107 o157 29 1

64 107 43 L 29 29 O

32 43 11 L 29 29 O

1725年

持续

m65537 M 27549

秘密价值342L 13782

它是

2923 24477

私钥值i值2解决方案i值2解决方案

16“ 11 0 29 13 L

8 LL 3 L 13 5 L

4 3 3 O 5 L 1

Z 3 1 1 1 1 L O

ll O 1 L 0 L

结果110101101101010000 1011111010

dI=CI∞Modm,获得方程式B1X1+B2X2+…+b。 xn = di

也就是说,方程的目标值C1-D1是从密文中获得的。

dL =Cl∞Modm=3421×27549mod65537 =2923 e

x1+2x -4x3 +8x1 16xS+32x6+6 44xt+128xs +256x-512x10 +10+10+10+20+10 +2048x1Z grounth /x+4096x13 +13 +13+13+13+8192x14 +14 x14 +14+14+16384x1

嫉妒32768x16 = 2923

解密过程如下

32768> 2923取x16 = 0 xl+2x2+…+16384x15 = 2923

16384 >2923取X15 = 0 x1 +2x…+8192x14 =2923

8192 >2923

取x14 = 0x1 + 2x升… + 4096x13 = 2923

4096 >2923取x13 = 0 x1+2)c≯…+2048x12 = 2923

2048年<2923取X Z Z Z l x1(2)

1024> 875取X11 = 0 xl+2)(2+…+512x10 = 875

512 <875取Xlo = l xii+2x2 +…+256x9=363

256号63取XG = lx】+2x-1…+128XS = 107

128 >107

取XS = O X1+2&+…+64x7 = 107

64 <107

取x7 = l xi+2)(2+…+32x6--43

32 <43取X6 =1 xl +2x2 +…+16x5=11

16>11取X5 = o x1(2)

8 <11取X4 =1 x1…+4x3 =3

4 >3取x3 =0 x1+2x2=3 3

2 <3取XZ =Iix1=1

ciphertext C1 = {110101101010000}的解决方案{xl ... x16)是单词'',

同样,表3中显示了密文C2的解释。

5.4了解公钥解密图计算表

在表3中,第一个行为关键参数;第二个行为加密字符密文;通过转换di = ciomodm获得的第三个行为密文

标准值;第一列(第4-20行)是私钥的16个组件(填充反向顺序);第2.5.8.11章...类是解密操作1的目标值;第3.6.9章。 12…

列为解密操作的目标值2;第4.7.10.13章...被列为解密操作的解决方案集,密文的最后行为对应于汉字的二进制代码(解决方案)

放)。

首先,密码文本D;。通过CI∞Modm转换获得的目标值在表格中的“值1”的空间(从上到下)填充,并因此而填充

找到私有密钥组件值之间的区别。如果不小于0,则将差值填充到“值2”中,而解决方案集组件值为1。否则,将“值1”内容填充到“值”中

在2英寸中,解决方案集的组件值为0,然后在“值2”中的数据在“值1”中填充,重复先前的判断以获得每个密码文本

解密后相应的16个项目解决方案设置组件。解决方案集组件(以相反顺序取出)是纯文本中文字符的二进制代码,值得通过二进制代码访问。

1726年

相应的普通汉字。使用表3,您可以直接获得纯文本而无需求解方程(可以水平扩展表)。

6。结论

本文提出了一种使用背包公共钥匙加密汉字的算法。该算法是不对称的公钥加密技术,在加密汉字时是安全且良好的。

对于其他双字节字符加密,文章的快速计算速度,加工方法和加密算法的特征是通用的。填写表2和表格

3-Graph算法使您可以直接获得无需求解方程的密码文本和纯文本的汉字加密和解密处理方法。

参考

[1] Feng Dengguo等。加密简介。北京:科学出版社,1999年

【21Yang Ming等。加密和网络安全:北京原理和实践:电子行业出版社,2001年

[3J Lin Bogang由网络和信息安全教程TM编辑]北京:机械行业出版社,2004年

[4]冯基辛。基本数理论[M1。 Hefei:中国科学技术出版社,1995年。

【5】ni chunsheng等数字签名在电子商务中的应用。计算机工程和应用,2003.21.112-114

作者个人资料

王·朱恩(Wang Junfeng),男性,1962年出生于北京理工大学的首席工程师,高级工程师,高级工程师,高级工程师,主要是研究

研究领域是软件工程技术。

Yun Xiangjuan,女性,出生于1970年,新疆,老师,讲师,北京理工大学的硕士学位学生,她的主要研究领域是软件工程

技术。

1727年

提醒:请联系我时一定说明是从铂牛网上看到的!