CodeExplorer xor64 example
for ($i = 8;
$i--;
) { $v[$i] =
$ctx[0
][$i];
} $v[ 8
] = self::
$iv[0
];
$v[ 9
] = self::
$iv[1
];
$v[10
] = self::
$iv[2
];
$v[11
] = self::
$iv[3
];
$v[12
] = self::
xor64($ctx[1
][0
], self::
$iv[4
]);
$v[13
] = self::
xor64($ctx[1
][1
], self::
$iv[5
]);
$v[14
] = self::
xor64($ctx[2
][0
], self::
$iv[6
]);
$v[15
] = self::
xor64($ctx[2
][1
], self::
$iv[7
]);
for ($r = 0;
$r < 12; ++
$r) { $v = self::
G($r, 0, 0, 4, 8, 12,
$v,
$m);
$v = self::
G($r, 1, 1, 5, 9, 13,
$v,
$m);
$v = self::
G($r, 2, 2, 6, 10, 14,
$v,
$m);
$v = self::
G($r, 3, 3, 7, 11, 15,
$v,
$m);
$v = self::
G($r, 4, 0, 5, 10, 15,
$v,
$m);
$v = self::
G($r, 5, 1, 6, 11, 12,
$v,
$m);
for ($i = 8;
$i--;
) { $v[$i] =
$ctx[0
][$i];
} $v[ 8
] = self::
$iv[0
];
$v[ 9
] = self::
$iv[1
];
$v[10
] = self::
$iv[2
];
$v[11
] = self::
$iv[3
];
$v[12
] = self::
xor64($ctx[1
][0
], self::
$iv[4
]);
$v[13
] = self::
xor64($ctx[1
][1
], self::
$iv[5
]);
$v[14
] = self::
xor64($ctx[2
][0
], self::
$iv[6
]);
$v[15
] = self::
xor64($ctx[2
][1
], self::
$iv[7
]);
for ($r = 0;
$r < 12; ++
$r) { $v = self::
G($r, 0, 0, 4, 8, 12,
$v,
$m);
$v = self::
G($r, 1, 1, 5, 9, 13,
$v,
$m);
$v = self::
G($r, 2, 2, 6, 10, 14,
$v,
$m);
$v = self::
G($r, 3, 3, 7, 11, 15,
$v,
$m);
$v = self::
G($r, 4, 0, 5, 10, 15,
$v,
$m);
$v = self::
G($r, 5, 1, 6, 11, 12,
$v,
$m);