Research Article

A High-Speed Elliptic Curve Cryptography Processor for Teleoperated Systems Security

Algorithm 2

Traditional modular reduction algorithm in SCA-256.
Input: Integer c = (c15, c14,…, c0) in base 232; .
Output: c mod p
(1)s1 = (c7, c6, c5, c4, c3, c2, c1, c0), s2 = (c15, c14, c13, c12, c11, 0, c9, c8),
s3 = (c14, 0, c15, c14, c13, 0, c14, c13), s4 = (c13, 0, 0, 0, 0, 0, c15, c14),
s5 = (c12, 0, 0, 0, 0, 0, 0, c15), s6 = (c11, c11, c10, c15, c14, 0, c13, c12),
s7 = (c10, c15, c14, c13, c12, 0, c11, c10), s8 = (c9, 0, 0, c9, c8, 0, c10, c9),
s9 = (c8, 0, 0, 0, c15, 0, c12, c11), s10 = (c15, 0, 0, 0, 0, 0, 0, 0),
s11 = (0, 0, 0, 0, 0, c14, 0, 0), s12 = (0, 0, 0, 0, 0, c13, 0, 0),
s13 = (0, 0, 0, 0, 0, c9, 0, 0), s14 = (0, 0, 0, 0, 0, c8, 0, 0)
Z = s1 + s2 + s3 + 2s4 + 2s5 + s6 + s7 + s8 + s9 + s10 − s11 − s12 − s13 − s14
(2)Return Z mod p