位置:51电子网 » 技术资料 » 通信网络

利用汇编语言实现DES加密算法

发布时间:2008/5/27 0:00:00 访问次数:585

        作者:吉林大学 周 斌

     来源:《单片机与嵌入式系统应用》

     摘要:des算法是一种数据加密算法。自从1977年公布以来,一直是国际上的商用保密通信和计算机通信的最常用的加密标准。des算法的实现一般用高级语言。

    

    

     关键词:加密算法

     des 汇编语言

    

    

     目前在金融界及非金融界的保密通信中,越来越多地用到了des算法。des(data

     encryption standard)即数据加密算法,是ibm公司于 1977年研究成功并公开发表的。随着我国三金工程尤其是金卡工程的启动,des算法在pos、atm、磁卡及智能卡(ic卡)中被广泛应用,以此来实现关键数据的保密。如信用卡持卡人的pin的加密传输、ic卡与pos间的双向认证、金融交易中的密码键盘等,均用到des算法。由于密码键盘不可能使用高级语言,所以用汇编语言实现des就非常实用。

    

    1 des算法的简单原理

    

      des是一种分组密码。假定明文m是由0和1组成的长度为64位的符号串,密钥k也是64位的0、1符号串。

    

     设:m=m1m2m3…m64

    

       k=k1k2k3…k64

    

     加密过程可表达如下:

    

     des(m)=ip-1·t16·t15…t2·t1·ip(m)

    

     其中:ip(m)是初始置换,ip-1是逆置换,t16~t1是16次迭代。

    

     (1)初始置换ip

    

      功能是把输入的明文m按位重新组合,并把输出分为l0、r0两部分,每部分各长32位,其置换规则如下:

     58,50,42,34,26,18,10,2,

     60,52,44,36,28,20,12,4,

     62,54,46,38,30,22,14,6,

     64,56,48,40,32,24,16,8,

     57,49,41,33,25,17,9 ,1,

     59,51,43,35,27,19,11,3,

     61,53,45,37,29,21,13,5,

     63,55,47,39,31,23,15,7

    

     (2)逆置换ip-1

    

      经过16次迭代运算后,得到l16、r16,将此作为输入,进行逆置换。逆置换满足:

    

     ip·ip-1=ip-1·ip=i

    

     逆置换正好是初始置换的逆运算。

    

     (3)t16~t1的迭代计算

    

      des的迭代算法采用模2加法。

    

      在通信网络的两端,双方约定了一致的密钥。在通信的源点用密钥对核心数据进行加密并形成密文,然后,以密文的形式在公共通信网中传输到通信网络的终点。数据到达终点后,用同样的密钥对密文数据进行解密,便再现了明文形式的核心数据。这样,便保证了核心数据(如pin、mac等)在公共通信网中传输的安全性和可靠性。

    

    2 汇编语言的实现

    

      用汇编语言实现des算法有它的优势也有它的难点。优势是51汇编的位操作可以方便地实现置换功能。但用汇编语言实现算法的迭代运算及循环功

        作者:吉林大学 周 斌

     来源:《单片机与嵌入式系统应用》

     摘要:des算法是一种数据加密算法。自从1977年公布以来,一直是国际上的商用保密通信和计算机通信的最常用的加密标准。des算法的实现一般用高级语言。

    

    

     关键词:加密算法

     des 汇编语言

    

    

     目前在金融界及非金融界的保密通信中,越来越多地用到了des算法。des(data

     encryption standard)即数据加密算法,是ibm公司于 1977年研究成功并公开发表的。随着我国三金工程尤其是金卡工程的启动,des算法在pos、atm、磁卡及智能卡(ic卡)中被广泛应用,以此来实现关键数据的保密。如信用卡持卡人的pin的加密传输、ic卡与pos间的双向认证、金融交易中的密码键盘等,均用到des算法。由于密码键盘不可能使用高级语言,所以用汇编语言实现des就非常实用。

    

    1 des算法的简单原理

    

      des是一种分组密码。假定明文m是由0和1组成的长度为64位的符号串,密钥k也是64位的0、1符号串。

    

     设:m=m1m2m3…m64

    

       k=k1k2k3…k64

    

     加密过程可表达如下:

    

     des(m)=ip-1·t16·t15…t2·t1·ip(m)

    

     其中:ip(m)是初始置换,ip-1是逆置换,t16~t1是16次迭代。

    

     (1)初始置换ip

    

      功能是把输入的明文m按位重新组合,并把输出分为l0、r0两部分,每部分各长32位,其置换规则如下:

     58,50,42,34,26,18,10,2,

     60,52,44,36,28,20,12,4,

     62,54,46,38,30,22,14,6,

     64,56,48,40,32,24,16,8,

     57,49,41,33,25,17,9 ,1,

     59,51,43,35,27,19,11,3,

     61,53,45,37,29,21,13,5,

     63,55,47,39,31,23,15,7

    

     (2)逆置换ip-1

    

      经过16次迭代运算后,得到l16、r16,将此作为输入,进行逆置换。逆置换满足:

    

     ip·ip-1=ip-1·ip=i

    

     逆置换正好是初始置换的逆运算。

    

     (3)t16~t1的迭代计算

    

      des的迭代算法采用模2加法。

    

      在通信网络的两端,双方约定了一致的密钥。在通信的源点用密钥对核心数据进行加密并形成密文,然后,以密文的形式在公共通信网中传输到通信网络的终点。数据到达终点后,用同样的密钥对密文数据进行解密,便再现了明文形式的核心数据。这样,便保证了核心数据(如pin、mac等)在公共通信网中传输的安全性和可靠性。

    

    2 汇编语言的实现

    

      用汇编语言实现des算法有它的优势也有它的难点。优势是51汇编的位操作可以方便地实现置换功能。但用汇编语言实现算法的迭代运算及循环功

相关IC型号

热门点击

 

推荐技术资料

耳机的焊接
    整机电路简单,用洞洞板搭线比较方便。EM8621实际采... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!