# Testing for significant binary attributes

I have binary vectors, each with a binary outcome: for example:

|A|B|C| outcome
1 0 0 -> 0
0 0 1 -> 0
1 0 1 -> 0
0 1 0 -> 1
0 1 1 -> 1


How can I test which of my attributes (A,B and C in this example) have a significant impact on my outcome? Test the summed quadratic difference (in this binary case the same as the absolute difference) between the outcome and each variable over all vectors against 0? If yes, how is this test statistic distributed?

Many attributes will be 1 in less than 1% of all cases including the outcome, but I have ca 1 million of those vectors. How do I deal with this while testing for significance? Do I even need to with this sample size?

To test for covariance I would just add constructed variables like A*B, A*C, B*C and A*B*C. Am I right with this approach?

You really want to look up logistic regression. A simple example of how you would do it in R might be the following:
m <- glm( outcome ~ A * B * C, family = 'binomial' )