We focus on Gaussian interference channels (GICs) and study the Han-Kobayashi (HK) coding strategy for the twouser case with the objective of designing implementable (explicit) channel codes. Specifically, low-density parity-check (LDPC) codes are adopted for use over the channel, their benefits are studied and suitable codes are designed. Iterative joint decoding is used at the receivers, where independent and identically distributed (i.i.d.) channel adapters are used to prove that loglikelihood-ratios (LLRs) exchanged among the nodes of the Tanner graph enjoy symmetry when BPSK or QPSK with Gray coding is employed. This property is exploited in the proposed code optimization algorithm adopting a random perturbation technique. Code optimization and convergence threshold computations are carried out for different GICs employing finite constellations by tracking the average mutual information. Furthermore, stability conditions for the admissible degree distributions under strong and weak interference levels are determined. Via examples, it is observed that the optimized codes using BPSK or QPSK with Gray coding operate close to the capacity boundary for strong interference. For the case of weak interference, it is shown that nontrivial rate pairs are achievable via the newly designed codes which are not possible by single user codes with time-sharing. Performance of the designed codes is also studied for finite block lengths through simulations of specific codes picked with the optimized degree distributions with random constructions, where, for one instance, the results are compared with those of some structured designs.