# What do these symbols mean? I'm trying to understand them to make an app

What do the symbols `⊞` and `⊕` mean? I'm trying to understand them to make an app.

• From the context it is obvious that the squared + is simply an addition. Commented Mar 13, 2011 at 16:54
• There's some reference code here, but the single letter variables are giving me a headache. Why does crypto code always look evil to me? Commented Jan 12, 2015 at 15:18

I know for a fact that ⊕ means XOR, or eXclusive OR. With the variables A and B, Normal OR will return true if

• A=true and b=false
• A=false and B=true
• A=true and B=true

XOR on the other hand returns true only if

• A=false and B=true
• A=true and B=false

I'm not too sure about ⊞ though. In Unicode its under "SQUARED PLUS", but I don't know how that works in an algorithm

I know this is old, but I'll answer the question anyway for future readers:

• `⊕` is the XOR function, where two identical bits produce `0`, and two different bits produce `1`.
• `⊞` is a modular addition function, where the modulus must be clearly defined in advance (such as `a ⊞ b = a + b mod 2^32`).
• `<<n` is the left logical bit-shift operator, shifted n-bits (not circular). Left shifting 1-bit would be equivalent to multiplying by 2.
• `>>n` in the signed right logical bit-shift operator, shifted n-bits (not circular). Right shifting 1-bit would be equivalent to dividing by 2 and taking the floor of the result.