• RC2加密算法


    1.introduction

    RC2是一种传统的私钥块加密算法,曾经被考虑作为DES算法的替代品。输入和输出块大小都是64bits。而密钥是可变的,从1byte到128bytes,现在常用的是8字节。

    1.1Algorithm description

    字:16比特位;‘+’:加;‘&’:表示比特敏感的与操作;‘XOR’:表示比特敏感的与或操作;‘~’:表示换位补码;‘^’:表示取幂运算;

    2.key expansion(密钥扩展)

    对于字操作,将规定缓存位置K[0],…,K[63];each K[i] is a 16 bit word

    对于比特位操作,将规定缓存位置L[0],…,L[127];each L[i] is an eight-bit字节。

    转换公式:K[i] = L[2*i] + 256*L[2*i+1].

    密钥扩张的目的就是根据提供的密钥将其扩张成要求的密钥长度。

    3.Encryption algorithm(加密算法)

    主要是两个操作,mix和mash操作。’x rol k’表示16比特位左转k位,高位补低位。

       3.1 Mix up R[i]

       3.2 Mixing round

       3.3 Mash R[i]

       3.4 Mashing round

       3.5 Encryption operation 

    4.Decryption algorithm(解密算法)

       4.1 R-Mix up R[i]

       4.2 R-Mixing round

       4.3 R-Mash R[i]

       4.4 R-Mashing round

       4.5 Decryption operation

    参考文献:RFC 2268

  • 相关阅读:
    Python基础—字符串
    Python基础—函数
    2019918练手爬虫日记
    python基础—列表
    Python urllib详解
    安装TesseractOCR显示无效的路径
    Sql server 关于ID突然自增问题解决方案
    Sql server 登陆后无法找不到数据库怎么解决
    Python常用语句及流程控制
    jquery cookie操作
  • 原文地址:https://www.cnblogs.com/maverick-fu/p/4347064.html
Copyright © 2020-2023  润新知