비씨에이치 디코더는 수신된 코드워드로부터 신드롬 값들을 생성하는 신드롬 연산 블록; 상기 신드롬 값들에 기초하여 에러 위치 다항식을 생성하는 키-방정식 솔버(Key-Equatiion Solver); 상기 에러 위치 다항식에 기초하여 에러 위치를 계산하는 치엔 서치 블록; 및 상기 에러 위치에 기초하여 상기 수신된 코드워드의 에러를 정정하여 정정된 코드워드를 출력하는 에러 정정 블록을 포함한다. 상기 신드롬 연산 블록 및 상기 치엔 서치 블록 중 적어도 하나는 상기 해당 블록을 나타내기 위하여 사용되는 공통되는 하위 표현들을 공유하되 상기 공유되는 하위 표현들의 수는 N(N은 2 이상의 자연수) 개를 초과하지 않는다.