A cyclic shift device configured to perform cyclic shifts of M = 187 pieces of input data and cyclic shifts of N pieces of input data with 2 ≤ N < M, wherein said N takes T multiple integer values N 1, N,..., N T, N t represents the t'th integer value in descending order and the T multiple integer values for N comprise N 1 =180, N 2 =128 and N 3 =127, said cyclic shift device comprising: a barrel shifter configured to perform cyclic shifts of M units for cyclically shifting parallel data made up of M pieces of input data to output M pieces of shift data; and a selecting circuit (62, 102) configured to select from said M pieces of shift data output by said barrel shifter M pieces of output data, said selecting circuit including N -1 selectors (111_2, 111_3,..., 111_N 1) each with T+1 inputs and 1 output wherein the n-1'th selector is configured to select from the n, n +(M-N 1), n+(M-N 2),..., n+(M-N T-1) and n+(M-N T)'th shift data with 2≤n≤N 1, n+ (M-N 1)≤M, n+(M-N 2)≤M,..., n+(M-N T)≤M, one output as the n'th output data; wherein, in the event of cyclically shifting N pieces of input data by a shift amount k less than said N, said N pieces of input data and appended M-N pieces of invalid data are supplied to the barrel shifter as first to N'th and N+1'th to M'th input data, respectively; said selecting circuit (62, 102) selects and outputs the first through N-k'th shift data, the first shift data being the head of said shift data in the direction of cyclic shift of said barrel shifter, as said first through N-k'th output data, and selects and outputs the N-k+1+(M-N) through N+(M-N)'th shift data as N-k+1 through N'th output data; and said selecting circuit (62, 102) outputs said first shift data as said first output data, selects and outputs said n'th shift data as said n'th output data with the first through N - k-1'th selectors, and selects and outputs said n+(M-N t)'th shift data as said n'th data output with the N t -k through N t -1'th selectors; wherein, in the event of cyclically shifting M pieces of input data by a shift amount k less than M, said selection circuit (62, 102) outputs said first shift data as said first output data, selects and outputs with said n-1'th selector said n'th shift data as said n'th output data, and outputs said N 1 +1 through M'th shift data as said N 1 +1 through M'th output data, a barrel shifter configured to perform cyclic shifts of M units for cyclically shifting parallel data made up of M pieces of input data to output M pieces of shift data; and a selecting circuit (62, 102) configured to select from said M pieces of shift data output by said barrel shifter M pieces of output data, said selecting circuit including N -1 selectors (111_2, 111_3,..., 111_N 1) each with T+1 inputs and 1 output wherein the n-1'th selector is configured to select from the n, n +(M-N 1), n+(M-N 2),..., n+(M-N T-1) and n+(M-N T)'th shift data with 2≤n≤N 1, n+ (M-N 1)≤M, n+(M-N 2)≤M,..., n+(M-N T)≤M, one output as the n'th output data; wherein, in the event of cyclically shifting N pieces of input data by a shift amount k less than said N, said N pieces of input data and appended M-N pieces of invalid data are supplied to the barrel shifter as first to N'th and N+1'th to M'th input data, respectively; said selecting circuit (62, 102) selects and outputs the first through N-k'th shift data, the first shift data being the head of said shift data in the direction of cyclic shift of said barrel shifter, as said first through N-k'th output data, and selects and outputs the N-k+1+(M-N) through N+(M-N)'th shift data as N-k+1 through N'th output data; and said selecting circuit (62, 102) outputs said first shift data as said first output data, selects and outputs said n'th shift data as said n'th output data with the first through N - k-1'th selectors, and selects and outputs said n+(M-N t)'th shift data as said n'th data output with the N t -k through N t -1'th selectors; wherein, in the event of cyclically shifting M pieces of input data by a shift amount k less than M, said selection circuit (62, 102) outputs said first shift data as said first output data, selects and outputs with said n-1'th selector said n'th shift data as said n'th output data, and outputs said N 1 +1 through M'th shift data as said N 1 +1 through M'th output data,