dea598e3创建于 2024年11月9日历史提交
@startuml md2_function
hide empty description
left to right direction


state "字节 t" as A

state "一次处理" as B {
  state "S盒变换" as B1
  state "异或" as B2

  state "第 1 个字节" as B3
  state "第 1 个字节" as B4

  note left of B3: 处理前的缓冲区
  note left of B4: 处理后的缓冲区
}


state "一次处理" as C {
  state "S盒变换" as C1
  state "异或" as C2
  state "第 2 个字节" as C3
  state "第 2 个字节" as C4
}


state "……" as D

state "一次处理" as E {
  state "S盒变换" as E1
  state "异或" as E2
  state "第 48 个字节" as E3
  state "第 48 个字节" as E4
}

state "t = (t+已进行处理轮数-1) mod 256" as F

A --> B1
B1 --> B2
B3 -left-> B2
B4 -right-> B2

B2 --> C1
C1 --> C2
C3 -left-> C2
C4 -right-> C2

C2 --> D

D --> E1
E1 --> E2
E3 -left-> E2
E4 -right-> E2

E2 -down-> F
F -left-> A

@enduml