pqc/crypto_kem/mceliece6960119f/vec/scalars_4x.inc
Thom Wiggers b3f9d4f8d6
Classic McEliece (#259)
* Add McEliece reference implementations

* Add Vec implementations of McEliece

* Add sse implementations

* Add AVX2 implementations

* Get rid of stuff not supported by Mac ABI

* restrict to two cores

* Ditch .data files

* Remove .hidden from all .S files

* speed up duplicate consistency tests by batching

* make cpuinfo more robust

* Hope to stabilize macos cpuinfo without ccache

* Revert "Hope to stabilize macos cpuinfo without ccache"

This reverts commit 6129c3cabe1abbc8b956bc87e902a698e32bf322.

* Just hardcode what's available at travis

* Fixed-size types in api.h

* namespace all header files in mceliece

* Ditch operations.h

* Get rid of static inline functions

* fixup! Ditch operations.h
2020-02-05 13:09:56 +01:00

361 lines
6.5 KiB
PHP

{{
0x3C3CF30C0000C003,
0x0CCCC3F333C0000C,
0x03C33F33FCC0C03C,
0x0003000F3C03C0C0,
0xF33FF33030CF03F0,
0x0CF0303300F0CCC0,
0xFF3F0C0CC0FF3CC0,
0xCF3CF0FF003FC000,
0xC00FF3CF0303F300,
0x3CCC0CC00CF0CC00,
0xF30FFC3C3FCCFC00,
0x3F0FC3F0CCF0C000,
0x3000FF33CCF0F000
},
{
0x0C0F0FCF0F0CF330,
0xF0000FC33C3CCF3C,
0x3C0F3F00C3C300FC,
0x3C33CCC0F0F3CC30,
0xC0CFFFFFCCCC30CC,
0x3FC3F3CCFFFC033F,
0xFC3030CCCCC0CFCF,
0x0FCF0C00CCF333C3,
0xCFFCF33000CFF030,
0x00CFFCC330F30FCC,
0x3CCC3FCCC0F3FFF3,
0xF00F0C3FC003C0FF,
0x330CCFCC03C0FC33
},
{
0xF0F30C33CF03F03F,
0x00F30FC00C3300FF,
0xF3CC3CF3F3FCF33F,
0x3C0FC0FC303C3F3C,
0xFC30CF303F3FF00F,
0x33300C0CC3300CF3,
0x3C030CF3F03FF3F3,
0x3CCC03FCCC3FFC03,
0x033C3C3CF0003FC3,
0xFFC0FF00F0FF0F03,
0xF3F30CF003FCC303,
0x30CFCFC3CC0F3000,
0x0CF30CCF3FCFCC0F
},
{
0x3F30CC0C000F3FCC,
0xFC3CF030FC3FFF03,
0x33FFFCFF0CCF3CC3,
0x003CFF33C3CC30CF,
0xCFF3CF33C00F3003,
0x00F3CC0CF3003CCF,
0x3C000CFCCC3C3333,
0xF3CF03C0FCF03FF0,
0x3F3C3CF0C330330C,
0x33CCFCC0FF0033F0,
0x33C300C0F0C003F3,
0x003FF0003F00C00C,
0xCFF3C3033F030FFF
}},
{{
0x0F0F0FF0F000000F,
0x00FFFFFFFF0000F0,
0xFFFF00FF00000F00,
0xFFF000F00F0FF000,
0xFFF0000F0FF000F0,
0x00FF000FFF000000,
0xFF0F0FFF0F0FF000,
0x0FFF0000000F0000,
0x00F000F0FFF00F00,
0x00F00FF00F00F000,
0xFFF000F000F00000,
0x00F00F000FF00000,
0x0000FF0F0000F000
},
{
0xF0FFFFFFF0F00F00,
0x00FFF0FFFF0000FF,
0x00FF00000F0F0FFF,
0xF000F0000F00FF0F,
0xFF000000FFF00000,
0xF0FF000FF00F0FF0,
0x0F0F0F00FF000F0F,
0x0F0F00F0F0F0F000,
0x00F00F00F00F000F,
0x00F0F0F00000FFF0,
0xFFFFFF0FF00F0FFF,
0x0F0FFFF00FFFFFFF,
0xFFFF0F0FFF0FFF00
},
{
0x0F0F00FF0FF0FFFF,
0xF000F0F00F00FF0F,
0x000FFFF0FFF0FF0F,
0x00F00FFF00000FF0,
0xFFFFF0000FFFF00F,
0xFFF0FFF0000FFFF0,
0xF0F0F0000F0F0F00,
0x00F000F0F00FFF00,
0xF0FF0F0FFF00F0FF,
0xF0FF0FFFF0F0F0FF,
0x00FFFFFFFFFFFFF0,
0x00FFF0F0FF000F0F,
0x000FFFF0000FFF00
},
{
0xFF0F0F00F000F0FF,
0x0FFFFFFFFF00000F,
0xF0FFFF000F00F0FF,
0x0F0000F00FFF0FFF,
0x0F0F0F00FF0F000F,
0x000F0F0FFFF0F000,
0xF0FFFF0F00F0FF0F,
0x0F0F000F0F00F0FF,
0x0000F0FF00FF0F0F,
0x00FFFF0FF0FFF0F0,
0x0000000F00F0FFF0,
0xF0F00000FF00F0F0,
0x0F0F0FFFFFFFFFFF
}},
{{
0x00FF0000000000FF,
0xFFFFFFFFFF00FF00,
0xFF0000FF00FF0000,
0xFFFF000000FF0000,
0xFF00000000FF0000,
0x00FFFFFFFF000000,
0xFF0000FFFFFF0000,
0xFF00FF00FFFF0000,
0x00FFFFFFFF00FF00,
0xFFFF000000000000,
0x00FF0000FF000000,
0xFF00FF00FF000000,
0x00FF00FFFF000000
},
{
0x00FF00FF00FF0000,
0xFF00FFFF000000FF,
0x0000FFFF000000FF,
0x00FFFF00FF000000,
0xFFFFFF0000FF00FF,
0x0000FFFF00FFFF00,
0xFF00FF0000FFFF00,
0x00000000FFFFFFFF,
0x0000FF0000000000,
0xFF00FFFF00FFFF00,
0x00FFFF00000000FF,
0x0000FF00FF00FFFF,
0xFF0000FFFFFF0000
},
{
0xFFFF00FF00FF00FF,
0x00FFFF000000FF00,
0xFFFF00FFFFFFFF00,
0x0000FFFF00FFFFFF,
0x00FF0000FF0000FF,
0xFFFF0000FF00FFFF,
0xFF000000FFFFFF00,
0x000000000000FFFF,
0xFF00FF00FFFF0000,
0xFFFF00FFFF00FFFF,
0xFFFFFFFFFF00FF00,
0xFFFF00FFFF0000FF,
0x0000FF00000000FF
},
{
0xFF0000FFFFFF00FF,
0xFFFF0000FFFFFFFF,
0xFFFF000000FFFFFF,
0x00FFFF00FF0000FF,
0xFFFFFF00FFFFFF00,
0x00FFFF00FFFF00FF,
0x0000FFFF00FF0000,
0x000000FFFF000000,
0xFF00FF0000FF00FF,
0x00FF0000000000FF,
0xFF00FFFF00FF00FF,
0xFFFFFFFFFFFFFFFF,
0x0000FF000000FFFF
}},
{{
0x000000000000FFFF,
0xFFFFFFFFFFFF0000,
0x0000000000000000,
0xFFFF0000FFFF0000,
0xFFFFFFFFFFFF0000,
0x0000FFFF00000000,
0x0000FFFFFFFF0000,
0xFFFF0000FFFF0000,
0x0000FFFF00000000,
0xFFFF000000000000,
0xFFFF000000000000,
0xFFFF000000000000,
0xFFFFFFFF00000000
},
{
0x0000FFFF00000000,
0xFFFFFFFF0000FFFF,
0x00000000FFFFFFFF,
0x0000000000000000,
0x0000FFFF00000000,
0xFFFF0000FFFF0000,
0x0000FFFFFFFF0000,
0x0000FFFF0000FFFF,
0xFFFFFFFF0000FFFF,
0x00000000FFFF0000,
0xFFFF0000FFFFFFFF,
0xFFFF0000FFFFFFFF,
0x0000000000000000
},
{
0xFFFFFFFFFFFFFFFF,
0xFFFFFFFF00000000,
0xFFFF000000000000,
0x0000FFFF00000000,
0x00000000FFFF0000,
0x0000FFFFFFFFFFFF,
0x0000FFFFFFFFFFFF,
0xFFFFFFFF00000000,
0x000000000000FFFF,
0x000000000000FFFF,
0xFFFFFFFFFFFF0000,
0xFFFFFFFF0000FFFF,
0xFFFF0000FFFFFFFF
},
{
0x0000FFFFFFFFFFFF,
0x0000FFFF0000FFFF,
0x0000FFFFFFFF0000,
0xFFFF0000FFFFFFFF,
0x00000000FFFF0000,
0xFFFF00000000FFFF,
0x0000FFFF0000FFFF,
0xFFFF00000000FFFF,
0x0000FFFF0000FFFF,
0x0000FFFF00000000,
0xFFFFFFFF00000000,
0x0000FFFFFFFF0000,
0x0000FFFFFFFFFFFF
}},
{{
0x00000000FFFFFFFF,
0x0000000000000000,
0xFFFFFFFF00000000,
0x0000000000000000,
0xFFFFFFFF00000000,
0xFFFFFFFF00000000,
0xFFFFFFFF00000000,
0x0000000000000000,
0xFFFFFFFF00000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0xFFFFFFFF00000000
},
{
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0x0000000000000000,
0x0000000000000000,
0x00000000FFFFFFFF,
0xFFFFFFFF00000000,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0x00000000FFFFFFFF,
0xFFFFFFFF00000000,
0xFFFFFFFFFFFFFFFF,
0xFFFFFFFFFFFFFFFF,
0xFFFFFFFF00000000
},
{
0x00000000FFFFFFFF,
0xFFFFFFFF00000000,
0xFFFFFFFF00000000,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0xFFFFFFFFFFFFFFFF,
0xFFFFFFFFFFFFFFFF,
0x0000000000000000,
0xFFFFFFFF00000000,
0x00000000FFFFFFFF,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0xFFFFFFFFFFFFFFFF
},
{
0xFFFFFFFFFFFFFFFF,
0x00000000FFFFFFFF,
0x0000000000000000,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0x0000000000000000,
0xFFFFFFFF00000000,
0x00000000FFFFFFFF,
0xFFFFFFFF00000000,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0xFFFFFFFF00000000,
0xFFFFFFFF00000000
}},
{{
0xFFFFFFFFFFFFFFFF,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000
},
{
0x0000000000000000,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0x0000000000000000,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0xFFFFFFFFFFFFFFFF,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0xFFFFFFFFFFFFFFFF,
0x0000000000000000
},
{
0xFFFFFFFFFFFFFFFF,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0x0000000000000000,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0xFFFFFFFFFFFFFFFF,
0x0000000000000000,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0xFFFFFFFFFFFFFFFF
},
{
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0x0000000000000000,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0xFFFFFFFFFFFFFFFF,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF,
0xFFFFFFFFFFFFFFFF,
0x0000000000000000,
0xFFFFFFFFFFFFFFFF
}},