zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    oeong.xyz
    Layui将前端数据传到PHP后台
    软件工程 —— 个人总结
    Beta冲刺 —— 个人总结
    小黄衫的故事
    Alpha冲刺 —— 个人总结
    Python实现批量MD5加密
    修改电脑快捷键
    第三次个人作业 —— 用例图设计
    crontab定时任务
  • 原文地址:https://www.cnblogs.com/maverick-fu/p/4347064.html
Copyright © 2011-2022 走看看