Esempio n. 1
0
    #--------------------------------- Analysis ---------------------------------#

    p("input loaded")
    graph_gen = GraphGen(nodes_all, val_time_1, val_pos_1, val_rad)
    p("graph made")
    nodes_val = graph_gen.nodes_val
    comm_plan_original, key2idx, potential_conns = graph_gen.genCommPlan()
    p("comm plan made")
    comm_plan_modified = Adversary.impersonation(nodes_val, comm_plan_original)
    p("impersonation done")
    sim_conns_original = graph_gen.genSimuConns(comm_plan_modified)
    p("connections simulated")
    sim_conns_modified = Adversary.dissemination(nodes_val, comm_plan_original,
                                                 sim_conns_original)
    p("dissemination done")
    id2edges = graph_gen.formEdges(sim_conns_modified, potential_conns,
                                   key2idx)
    p("edges formed")
    results = SybilDetection.runDetectionAlgorithms(nodes_val, id2edges)
    p("detection run")

    # Utils.printEdges("edges.csv", id2edges)

    g1 = graph_gen
    i2e1 = id2edges
    r1 = results

    # graph_gen = GraphGen(nodes_all, val_time_2, val_pos_2, val_rad)
    # p("graph made")
    # nodes_val = graph_gen.nodes_val
    # comm_plan_original, key2idx, potential_conns = graph_gen.genCommPlan()
    # p("comm plan made")
Esempio n. 2
0
# results = SybilDetection.createDummyResults(nodes_all)
# gui.addLocVal("val1", graph_gen, COMBINED_EDGES, results)
# syb_x, syb_y = GraphAnalysis.calcNodeLHCurve(COMBINED_EDGES["syb"])
# mal_x, mal_y = GraphAnalysis.calcNodeLHCurve(COMBINED_EDGES["mal"])
# gui.plotLHCurves(syb_x, {"syb":syb_y}, fig_idx=FIG_IDX, n_type="syb")
# gui.plotLHCurves(mal_x, {"mal":mal_y}, fig_idx=FIG_IDX, n_type="mal")
# gui.drawSim()
#-------------------------------------------------------------------#

#----------- TEST 4: FLIPPING COINS COMBINED W MOVEMEMNT -----------#
    adv_keys = {(i + 1): ("mal" + str(i)) for i in range(NUM_MAL)}
    adv_keys.update({0: "syb"})
    comm_plan, key2idx, potential_conns = graph_gen.genCommPlan_customBroadcasters(
        adv_keys)
    sim_conns = graph_gen.genSimuConns(comm_plan)
    id_to_edges = graph_gen.formEdges(sim_conns, potential_conns, key2idx)
    i = -1
    j = -1
    for syb_edge in id_to_edges[syb_node.id]:
        i += 1
        mal_node = nodes_mal[i % NUM_MAL]
        for mal_edge in id_to_edges[mal_node.id]:
            if mal_edge.node_src == syb_edge.node_src and mal_edge.time == syb_edge.time:
                syb_edge.successful = mal_edge.successful

                (xH, yH) = syb_edge.node_src.getPos(syb_edge.time)
                (xS, yS) = syb_edge.node_dst.getPos(syb_edge.time)
                (xM, yM) = mal_edge.node_dst.getPos(mal_edge.time)

                syb_dir = max([(yS - yH, "up"), (yH - yS, "down"),
                               (xH - xS, "left"), (xS - xH, "right")])[1]