def build_deltas(db, algo, et): bare_cols = attacks_table_cols(algo) for bare_col in bare_cols: et["d" + bare_col] = models.vars.compute_ddelta( et["h1" + bare_col], et["h2" + bare_col]) et["r" + bare_col] = models.vars.compute_rdelta( et["h1" + bare_col], et["h2" + bare_col]) return et
def table_cols(algo): cols = [] bare_cols = attacks_table_cols(algo) for bare_col in bare_cols: cols.append("h" + bare_col) if algo.name == "md4" or algo.name == "md5": cols.append("family") cols.append("rounds") cols.append("min_round") cols.append("max_round") elif algo.name == "sha3": cols.append("rounds") cols.append("min_round") cols.append("max_round") cols.append("w") return cols
def table_cols(algo): cols = [] bare_cols = attacks_table_cols(algo) prefixes = ["h1", "h2", "d", "r"] for bare_col in bare_cols: for prefix in prefixes: cols.append(prefix + bare_col) if algo.name == "md4" or algo.name == "md5": cols.append("family") cols.append("input_family") cols.append("rounds") elif algo.name == "sha3": cols.append("rounds") cols.append("min_round") cols.append("max_round") cols.append("w") return cols