- poly.r[0] = (slice_to_le32(&key[0..4]) ) & 0x3ffffff;
- poly.r[1] = (slice_to_le32(&key[3..7]) >> 2) & 0x3ffff03;
- poly.r[2] = (slice_to_le32(&key[6..10]) >> 4) & 0x3ffc0ff;
- poly.r[3] = (slice_to_le32(&key[9..13]) >> 6) & 0x3f03fff;
- poly.r[4] = (slice_to_le32(&key[12..16]) >> 8) & 0x00fffff;
+ poly.r[0] = (u32::from_le_bytes(key[ 0.. 4].try_into().expect("len is 4")) ) & 0x3ffffff;
+ poly.r[1] = (u32::from_le_bytes(key[ 3.. 7].try_into().expect("len is 4")) >> 2) & 0x3ffff03;
+ poly.r[2] = (u32::from_le_bytes(key[ 6..10].try_into().expect("len is 4")) >> 4) & 0x3ffc0ff;
+ poly.r[3] = (u32::from_le_bytes(key[ 9..13].try_into().expect("len is 4")) >> 6) & 0x3f03fff;
+ poly.r[4] = (u32::from_le_bytes(key[12..16].try_into().expect("len is 4")) >> 8) & 0x00fffff;