A major obstacle when implementing circuits on clock domain crossings are hazardous signals. Extending the Boolean logic by a third value 'u' we can formally define hazards. In this thesis we describe a theory for design
and analysis of hazard-free circuits. We develop strategies for hazard-free encoding and construction of hazard-free circuits from finite state machines. Furthermore, we discuss clock synchronization algorithms and a possible combination of them.