/// <summary> /// def calculate_multiplication_complexity(base_length, modulus_length): /// max_length = max(base_length, modulus_length) /// words = math.ceil(max_length / 8) /// return words**2 /// </summary> /// <returns></returns> private static UInt256 MultComplexity(UInt256 baseLength, UInt256 modulusLength) { UInt256 maxLength = UInt256.Max(baseLength, modulusLength); UInt256.Mod(maxLength, 8, out UInt256 mod8); UInt256 words = (maxLength / 8) + ((mod8.IsZero) ? UInt256.Zero : UInt256.One); return(words * words); }