idea 0.0.1

IDEA block cipher
Documentation
use super::*;

#[test]
fn test_sub_key_generation() {
    let key: [u8; 16] = [
        0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04,
        0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08
    ];
    let encryption_sub_keys: [u16; 52] = [
        0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006,
        0x0007, 0x0008, 0x0400, 0x0600, 0x0800, 0x0a00,
        0x0c00, 0x0e00, 0x1000, 0x0200, 0x0010, 0x0014,
        0x0018, 0x001c, 0x0020, 0x0004, 0x0008, 0x000c,
        0x2800, 0x3000, 0x3800, 0x4000, 0x0800, 0x1000,
        0x1800, 0x2000, 0x0070, 0x0080, 0x0010, 0x0020,
        0x0030, 0x0040, 0x0050, 0x0060, 0x0000, 0x2000,
        0x4000, 0x6000, 0x8000, 0xa000, 0xc000, 0xe001,
        0x0080, 0x00c0, 0x0100, 0x0140
    ];
    let decryption_sub_keys: [u16; 52] = [
        0xfe01, 0xff40, 0xff00, 0x659a, 0xc000, 0xe001,
        0xfffd, 0x8000, 0xa000, 0xcccc, 0x0000, 0x2000,
        0xa556, 0xffb0, 0xffc0, 0x52ab, 0x0010, 0x0020,
        0x554b, 0xff90, 0xe000, 0xfe01, 0x0800, 0x1000,
        0x332d, 0xc800, 0xd000, 0xfffd, 0x0008, 0x000c,
        0x4aab, 0xffe0, 0xffe4, 0xc001, 0x0010, 0x0014,
        0xaa96, 0xf000, 0xf200, 0xff81, 0x0800, 0x0a00,
        0x4925, 0xfc00, 0xfff8, 0x552b, 0x0005, 0x0006,
        0x0001, 0xfffe, 0xfffd, 0xc001
    ];

    let user_key = GenericArray::from_slice(&key);
    let idea = Idea::new(&user_key);

    assert_eq!(&idea.encryption_sub_keys[..], &encryption_sub_keys[..]);
    assert_eq!(&idea.decryption_sub_keys[..], &decryption_sub_keys[..]);
}