poseidon

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 16, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const BN254_FULL_ROUNDS int = 8
View Source
const BN254_PARTIAL_ROUNDS int = 56
View Source
const BN254_SPONGE_RATE int = 3
View Source
const BN254_SPONGE_WIDTH int = 4
View Source
const HALF_N_FULL_ROUNDS = 4
View Source
const N_PARTIAL_ROUNDS = 22
View Source
const POSEIDON_GL_HASH_SIZE = 4
View Source
const SPONGE_RATE = 8
View Source
const SPONGE_WIDTH = 12

Variables

View Source
var ALL_ROUND_CONSTANTS = []frontend.Variable{}/* 360 elements not displayed */
View Source
var FAST_PARTIAL_FIRST_ROUND_CONSTANT = []frontend.Variable{
	frontend.Variable(uint64(0x3cc3f892184df408)),
	frontend.Variable(uint64(0xe993fd841e7e97f1)),
	frontend.Variable(uint64(0xf2831d3575f0f3af)),
	frontend.Variable(uint64(0xd2500e0a350994ca)),
	frontend.Variable(uint64(0xc5571f35d7288633)),
	frontend.Variable(uint64(0x91d89c5184109a02)),
	frontend.Variable(uint64(0xf37f925d04e5667b)),
	frontend.Variable(uint64(0x2d6e448371955a69)),
	frontend.Variable(uint64(0x740ef19ce01398a1)),
	frontend.Variable(uint64(0x694d24c0752fdf45)),
	frontend.Variable(uint64(0x60936af96ee2f148)),
	frontend.Variable(uint64(0xc33448feadc78f0c)),
}
View Source
var FAST_PARTIAL_ROUND_CONSTANTS = []frontend.Variable{
	frontend.Variable(uint64(0x74cb2e819ae421ab)),
	frontend.Variable(uint64(0xd2559d2370e7f663)),
	frontend.Variable(uint64(0x62bf78acf843d17c)),
	frontend.Variable(uint64(0xd5ab7b67e14d1fb4)),
	frontend.Variable(uint64(0xb9fe2ae6e0969bdc)),
	frontend.Variable(uint64(0xe33fdf79f92a10e8)),
	frontend.Variable(uint64(0x0ea2bb4c2b25989b)),
	frontend.Variable(uint64(0xca9121fbf9d38f06)),
	frontend.Variable(uint64(0xbdd9b0aa81f58fa4)),
	frontend.Variable(uint64(0x83079fa4ecf20d7e)),
	frontend.Variable(uint64(0x650b838edfcc4ad3)),
	frontend.Variable(uint64(0x77180c88583c76ac)),
	frontend.Variable(uint64(0xaf8c20753143a180)),
	frontend.Variable(uint64(0xb8ccfe9989a39175)),
	frontend.Variable(uint64(0x954a1729f60cc9c5)),
	frontend.Variable(uint64(0xdeb5b550c4dca53b)),
	frontend.Variable(uint64(0xf01bb0b00f77011e)),
	frontend.Variable(uint64(0xa1ebb404b676afd9)),
	frontend.Variable(uint64(0x860b6e1597a0173e)),
	frontend.Variable(uint64(0x308bb65a036acbce)),
	frontend.Variable(uint64(0x1aca78f31c97c876)),
	frontend.Variable(uint64(0x0)),
}
View Source
var FAST_PARTIAL_ROUND_INITIAL_MATRIX = [N_PARTIAL_ROUNDS][11]frontend.Variable{
	{
		frontend.Variable(uint64(0x80772dc2645b280b)),
		frontend.Variable(uint64(0xdc927721da922cf8)),
		frontend.Variable(uint64(0xc1978156516879ad)),
		frontend.Variable(uint64(0x90e80c591f48b603)),
		frontend.Variable(uint64(0x3a2432625475e3ae)),
		frontend.Variable(uint64(0x00a2d4321cca94fe)),
		frontend.Variable(uint64(0x77736f524010c932)),
		frontend.Variable(uint64(0x904d3f2804a36c54)),
		frontend.Variable(uint64(0xbf9b39e28a16f354)),
		frontend.Variable(uint64(0x3a1ded54a6cd058b)),
		frontend.Variable(uint64(0x42392870da5737cf)),
	},
	{
		frontend.Variable(uint64(0xe796d293a47a64cb)),
		frontend.Variable(uint64(0xb124c33152a2421a)),
		frontend.Variable(uint64(0x0ee5dc0ce131268a)),
		frontend.Variable(uint64(0xa9032a52f930fae6)),
		frontend.Variable(uint64(0x7e33ca8c814280de)),
		frontend.Variable(uint64(0xad11180f69a8c29e)),
		frontend.Variable(uint64(0xc75ac6d5b5a10ff3)),
		frontend.Variable(uint64(0xf0674a8dc5a387ec)),
		frontend.Variable(uint64(0xb36d43120eaa5e2b)),
		frontend.Variable(uint64(0x6f232aab4b533a25)),
		frontend.Variable(uint64(0x3a1ded54a6cd058b)),
	},
	{
		frontend.Variable(uint64(0xdcedab70f40718ba)),
		frontend.Variable(uint64(0x14a4a64da0b2668f)),
		frontend.Variable(uint64(0x4715b8e5ab34653b)),
		frontend.Variable(uint64(0x1e8916a99c93a88e)),
		frontend.Variable(uint64(0xbba4b5d86b9a3b2c)),
		frontend.Variable(uint64(0xe76649f9bd5d5c2e)),
		frontend.Variable(uint64(0xaf8e2518a1ece54d)),
		frontend.Variable(uint64(0xdcda1344cdca873f)),
		frontend.Variable(uint64(0xcd080204256088e5)),
		frontend.Variable(uint64(0xb36d43120eaa5e2b)),
		frontend.Variable(uint64(0xbf9b39e28a16f354)),
	},
	{
		frontend.Variable(uint64(0xf4a437f2888ae909)),
		frontend.Variable(uint64(0xc537d44dc2875403)),
		frontend.Variable(uint64(0x7f68007619fd8ba9)),
		frontend.Variable(uint64(0xa4911db6a32612da)),
		frontend.Variable(uint64(0x2f7e9aade3fdaec1)),
		frontend.Variable(uint64(0xe7ffd578da4ea43d)),
		frontend.Variable(uint64(0x43a608e7afa6b5c2)),
		frontend.Variable(uint64(0xca46546aa99e1575)),
		frontend.Variable(uint64(0xdcda1344cdca873f)),
		frontend.Variable(uint64(0xf0674a8dc5a387ec)),
		frontend.Variable(uint64(0x904d3f2804a36c54)),
	},
	{
		frontend.Variable(uint64(0xf97abba0dffb6c50)),
		frontend.Variable(uint64(0x5e40f0c9bb82aab5)),
		frontend.Variable(uint64(0x5996a80497e24a6b)),
		frontend.Variable(uint64(0x07084430a7307c9a)),
		frontend.Variable(uint64(0xad2f570a5b8545aa)),
		frontend.Variable(uint64(0xab7f81fef4274770)),
		frontend.Variable(uint64(0xcb81f535cf98c9e9)),
		frontend.Variable(uint64(0x43a608e7afa6b5c2)),
		frontend.Variable(uint64(0xaf8e2518a1ece54d)),
		frontend.Variable(uint64(0xc75ac6d5b5a10ff3)),
		frontend.Variable(uint64(0x77736f524010c932)),
	},
	{
		frontend.Variable(uint64(0x7f8e41e0b0a6cdff)),
		frontend.Variable(uint64(0x4b1ba8d40afca97d)),
		frontend.Variable(uint64(0x623708f28fca70e8)),
		frontend.Variable(uint64(0xbf150dc4914d380f)),
		frontend.Variable(uint64(0xc26a083554767106)),
		frontend.Variable(uint64(0x753b8b1126665c22)),
		frontend.Variable(uint64(0xab7f81fef4274770)),
		frontend.Variable(uint64(0xe7ffd578da4ea43d)),
		frontend.Variable(uint64(0xe76649f9bd5d5c2e)),
		frontend.Variable(uint64(0xad11180f69a8c29e)),
		frontend.Variable(uint64(0x00a2d4321cca94fe)),
	},
	{
		frontend.Variable(uint64(0x726af914971c1374)),
		frontend.Variable(uint64(0x1d7f8a2cce1a9d00)),
		frontend.Variable(uint64(0x18737784700c75cd)),
		frontend.Variable(uint64(0x7fb45d605dd82838)),
		frontend.Variable(uint64(0x862361aeab0f9b6e)),
		frontend.Variable(uint64(0xc26a083554767106)),
		frontend.Variable(uint64(0xad2f570a5b8545aa)),
		frontend.Variable(uint64(0x2f7e9aade3fdaec1)),
		frontend.Variable(uint64(0xbba4b5d86b9a3b2c)),
		frontend.Variable(uint64(0x7e33ca8c814280de)),
		frontend.Variable(uint64(0x3a2432625475e3ae)),
	},
	{
		frontend.Variable(uint64(0x64dd936da878404d)),
		frontend.Variable(uint64(0x4db9a2ead2bd7262)),
		frontend.Variable(uint64(0xbe2e19f6d07f1a83)),
		frontend.Variable(uint64(0x02290fe23c20351a)),
		frontend.Variable(uint64(0x7fb45d605dd82838)),
		frontend.Variable(uint64(0xbf150dc4914d380f)),
		frontend.Variable(uint64(0x07084430a7307c9a)),
		frontend.Variable(uint64(0xa4911db6a32612da)),
		frontend.Variable(uint64(0x1e8916a99c93a88e)),
		frontend.Variable(uint64(0xa9032a52f930fae6)),
		frontend.Variable(uint64(0x90e80c591f48b603)),
	},
	{
		frontend.Variable(uint64(0x85418a9fef8a9890)),
		frontend.Variable(uint64(0xd8a2eb7ef5e707ad)),
		frontend.Variable(uint64(0xbfe85ababed2d882)),
		frontend.Variable(uint64(0xbe2e19f6d07f1a83)),
		frontend.Variable(uint64(0x18737784700c75cd)),
		frontend.Variable(uint64(0x623708f28fca70e8)),
		frontend.Variable(uint64(0x5996a80497e24a6b)),
		frontend.Variable(uint64(0x7f68007619fd8ba9)),
		frontend.Variable(uint64(0x4715b8e5ab34653b)),
		frontend.Variable(uint64(0x0ee5dc0ce131268a)),
		frontend.Variable(uint64(0xc1978156516879ad)),
	},
	{
		frontend.Variable(uint64(0x156048ee7a738154)),
		frontend.Variable(uint64(0x91f7562377e81df5)),
		frontend.Variable(uint64(0xd8a2eb7ef5e707ad)),
		frontend.Variable(uint64(0x4db9a2ead2bd7262)),
		frontend.Variable(uint64(0x1d7f8a2cce1a9d00)),
		frontend.Variable(uint64(0x4b1ba8d40afca97d)),
		frontend.Variable(uint64(0x5e40f0c9bb82aab5)),
		frontend.Variable(uint64(0xc537d44dc2875403)),
		frontend.Variable(uint64(0x14a4a64da0b2668f)),
		frontend.Variable(uint64(0xb124c33152a2421a)),
		frontend.Variable(uint64(0xdc927721da922cf8)),
	},
	{
		frontend.Variable(uint64(0xd841e8ef9dde8ba0)),
		frontend.Variable(uint64(0x156048ee7a738154)),
		frontend.Variable(uint64(0x85418a9fef8a9890)),
		frontend.Variable(uint64(0x64dd936da878404d)),
		frontend.Variable(uint64(0x726af914971c1374)),
		frontend.Variable(uint64(0x7f8e41e0b0a6cdff)),
		frontend.Variable(uint64(0xf97abba0dffb6c50)),
		frontend.Variable(uint64(0xf4a437f2888ae909)),
		frontend.Variable(uint64(0xdcedab70f40718ba)),
		frontend.Variable(uint64(0xe796d293a47a64cb)),
		frontend.Variable(uint64(0x80772dc2645b280b)),
	},
}
View Source
var FAST_PARTIAL_ROUND_VS = [N_PARTIAL_ROUNDS][11]frontend.Variable{
	{
		frontend.Variable(uint64(0x94877900674181c3)),
		frontend.Variable(uint64(0xc6c67cc37a2a2bbd)),
		frontend.Variable(uint64(0xd667c2055387940f)),
		frontend.Variable(uint64(0x0ba63a63e94b5ff0)),
		frontend.Variable(uint64(0x99460cc41b8f079f)),
		frontend.Variable(uint64(0x7ff02375ed524bb3)),
		frontend.Variable(uint64(0xea0870b47a8caf0e)),
		frontend.Variable(uint64(0xabcad82633b7bc9d)),
		frontend.Variable(uint64(0x3b8d135261052241)),
		frontend.Variable(uint64(0xfb4515f5e5b0d539)),
		frontend.Variable(uint64(0x3ee8011c2b37f77c)),
	},
	{
		frontend.Variable(uint64(0x0adef3740e71c726)),
		frontend.Variable(uint64(0xa37bf67c6f986559)),
		frontend.Variable(uint64(0xc6b16f7ed4fa1b00)),
		frontend.Variable(uint64(0x6a065da88d8bfc3c)),
		frontend.Variable(uint64(0x4cabc0916844b46f)),
		frontend.Variable(uint64(0x407faac0f02e78d1)),
		frontend.Variable(uint64(0x07a786d9cf0852cf)),
		frontend.Variable(uint64(0x42433fb6949a629a)),
		frontend.Variable(uint64(0x891682a147ce43b0)),
		frontend.Variable(uint64(0x26cfd58e7b003b55)),
		frontend.Variable(uint64(0x2bbf0ed7b657acb3)),
	},
	{
		frontend.Variable(uint64(0x481ac7746b159c67)),
		frontend.Variable(uint64(0xe367de32f108e278)),
		frontend.Variable(uint64(0x73f260087ad28bec)),
		frontend.Variable(uint64(0x5cfc82216bc1bdca)),
		frontend.Variable(uint64(0xcaccc870a2663a0e)),
		frontend.Variable(uint64(0xdb69cd7b4298c45d)),
		frontend.Variable(uint64(0x7bc9e0c57243e62d)),
		frontend.Variable(uint64(0x3cc51c5d368693ae)),
		frontend.Variable(uint64(0x366b4e8cc068895b)),
		frontend.Variable(uint64(0x2bd18715cdabbca4)),
		frontend.Variable(uint64(0xa752061c4f33b8cf)),
	},
	{
		frontend.Variable(uint64(0xb22d2432b72d5098)),
		frontend.Variable(uint64(0x9e18a487f44d2fe4)),
		frontend.Variable(uint64(0x4b39e14ce22abd3c)),
		frontend.Variable(uint64(0x9e77fde2eb315e0d)),
		frontend.Variable(uint64(0xca5e0385fe67014d)),
		frontend.Variable(uint64(0x0c2cb99bf1b6bddb)),
		frontend.Variable(uint64(0x99ec1cd2a4460bfe)),
		frontend.Variable(uint64(0x8577a815a2ff843f)),
		frontend.Variable(uint64(0x7d80a6b4fd6518a5)),
		frontend.Variable(uint64(0xeb6c67123eab62cb)),
		frontend.Variable(uint64(0x8f7851650eca21a5)),
	},
	{
		frontend.Variable(uint64(0x11ba9a1b81718c2a)),
		frontend.Variable(uint64(0x9f7d798a3323410c)),
		frontend.Variable(uint64(0xa821855c8c1cf5e5)),
		frontend.Variable(uint64(0x535e8d6fac0031b2)),
		frontend.Variable(uint64(0x404e7c751b634320)),
		frontend.Variable(uint64(0xa729353f6e55d354)),
		frontend.Variable(uint64(0x4db97d92e58bb831)),
		frontend.Variable(uint64(0xb53926c27897bf7d)),
		frontend.Variable(uint64(0x965040d52fe115c5)),
		frontend.Variable(uint64(0x9565fa41ebd31fd7)),
		frontend.Variable(uint64(0xaae4438c877ea8f4)),
	},
	{
		frontend.Variable(uint64(0x37f4e36af6073c6e)),
		frontend.Variable(uint64(0x4edc0918210800e9)),
		frontend.Variable(uint64(0xc44998e99eae4188)),
		frontend.Variable(uint64(0x9f4310d05d068338)),
		frontend.Variable(uint64(0x9ec7fe4350680f29)),
		frontend.Variable(uint64(0xc5b2c1fdc0b50874)),
		frontend.Variable(uint64(0xa01920c5ef8b2ebe)),
		frontend.Variable(uint64(0x59fa6f8bd91d58ba)),
		frontend.Variable(uint64(0x8bfc9eb89b515a82)),
		frontend.Variable(uint64(0xbe86a7a2555ae775)),
		frontend.Variable(uint64(0xcbb8bbaa3810babf)),
	},
	{
		frontend.Variable(uint64(0x577f9a9e7ee3f9c2)),
		frontend.Variable(uint64(0x88c522b949ace7b1)),
		frontend.Variable(uint64(0x82f07007c8b72106)),
		frontend.Variable(uint64(0x8283d37c6675b50e)),
		frontend.Variable(uint64(0x98b074d9bbac1123)),
		frontend.Variable(uint64(0x75c56fb7758317c1)),
		frontend.Variable(uint64(0xfed24e206052bc72)),
		frontend.Variable(uint64(0x26d7c3d1bc07dae5)),
		frontend.Variable(uint64(0xf88c5e441e28dbb4)),
		frontend.Variable(uint64(0x4fe27f9f96615270)),
		frontend.Variable(uint64(0x514d4ba49c2b14fe)),
	},
	{
		frontend.Variable(uint64(0xf02a3ac068ee110b)),
		frontend.Variable(uint64(0x0a3630dafb8ae2d7)),
		frontend.Variable(uint64(0xce0dc874eaf9b55c)),
		frontend.Variable(uint64(0x9a95f6cff5b55c7e)),
		frontend.Variable(uint64(0x626d76abfed00c7b)),
		frontend.Variable(uint64(0xa0c1cf1251c204ad)),
		frontend.Variable(uint64(0xdaebd3006321052c)),
		frontend.Variable(uint64(0x3d4bd48b625a8065)),
		frontend.Variable(uint64(0x7f1e584e071f6ed2)),
		frontend.Variable(uint64(0x720574f0501caed3)),
		frontend.Variable(uint64(0xe3260ba93d23540a)),
	},
	{
		frontend.Variable(uint64(0xab1cbd41d8c1e335)),
		frontend.Variable(uint64(0x9322ed4c0bc2df01)),
		frontend.Variable(uint64(0x51c3c0983d4284e5)),
		frontend.Variable(uint64(0x94178e291145c231)),
		frontend.Variable(uint64(0xfd0f1a973d6b2085)),
		frontend.Variable(uint64(0xd427ad96e2b39719)),
		frontend.Variable(uint64(0x8a52437fecaac06b)),
		frontend.Variable(uint64(0xdc20ee4b8c4c9a80)),
		frontend.Variable(uint64(0xa2c98e9549da2100)),
		frontend.Variable(uint64(0x1603fe12613db5b6)),
		frontend.Variable(uint64(0x0e174929433c5505)),
	},
	{
		frontend.Variable(uint64(0x3d4eab2b8ef5f796)),
		frontend.Variable(uint64(0xcfff421583896e22)),
		frontend.Variable(uint64(0x4143cb32d39ac3d9)),
		frontend.Variable(uint64(0x22365051b78a5b65)),
		frontend.Variable(uint64(0x6f7fd010d027c9b6)),
		frontend.Variable(uint64(0xd9dd36fba77522ab)),
		frontend.Variable(uint64(0xa44cf1cb33e37165)),
		frontend.Variable(uint64(0x3fc83d3038c86417)),
		frontend.Variable(uint64(0xc4588d418e88d270)),
		frontend.Variable(uint64(0xce1320f10ab80fe2)),
		frontend.Variable(uint64(0xdb5eadbbec18de5d)),
	},
	{
		frontend.Variable(uint64(0x1183dfce7c454afd)),
		frontend.Variable(uint64(0x21cea4aa3d3ed949)),
		frontend.Variable(uint64(0x0fce6f70303f2304)),
		frontend.Variable(uint64(0x19557d34b55551be)),
		frontend.Variable(uint64(0x4c56f689afc5bbc9)),
		frontend.Variable(uint64(0xa1e920844334f944)),
		frontend.Variable(uint64(0xbad66d423d2ec861)),
		frontend.Variable(uint64(0xf318c785dc9e0479)),
		frontend.Variable(uint64(0x99e2032e765ddd81)),
		frontend.Variable(uint64(0x400ccc9906d66f45)),
		frontend.Variable(uint64(0xe1197454db2e0dd9)),
	},
	{
		frontend.Variable(uint64(0x84d1ecc4d53d2ff1)),
		frontend.Variable(uint64(0xd8af8b9ceb4e11b6)),
		frontend.Variable(uint64(0x335856bb527b52f4)),
		frontend.Variable(uint64(0xc756f17fb59be595)),
		frontend.Variable(uint64(0xc0654e4ea5553a78)),
		frontend.Variable(uint64(0x9e9a46b61f2ea942)),
		frontend.Variable(uint64(0x14fc8b5b3b809127)),
		frontend.Variable(uint64(0xd7009f0f103be413)),
		frontend.Variable(uint64(0x3e0ee7b7a9fb4601)),
		frontend.Variable(uint64(0xa74e888922085ed7)),
		frontend.Variable(uint64(0xe80a7cde3d4ac526)),
	},
	{
		frontend.Variable(uint64(0x238aa6daa612186d)),
		frontend.Variable(uint64(0x9137a5c630bad4b4)),
		frontend.Variable(uint64(0xc7db3817870c5eda)),
		frontend.Variable(uint64(0x217e4f04e5718dc9)),
		frontend.Variable(uint64(0xcae814e2817bd99d)),
		frontend.Variable(uint64(0xe3292e7ab770a8ba)),
		frontend.Variable(uint64(0x7bb36ef70b6b9482)),
		frontend.Variable(uint64(0x3c7835fb85bca2d3)),
		frontend.Variable(uint64(0xfe2cdf8ee3c25e86)),
		frontend.Variable(uint64(0x61b3915ad7274b20)),
		frontend.Variable(uint64(0xeab75ca7c918e4ef)),
	},
	{
		frontend.Variable(uint64(0xd6e15ffc055e154e)),
		frontend.Variable(uint64(0xec67881f381a32bf)),
		frontend.Variable(uint64(0xfbb1196092bf409c)),
		frontend.Variable(uint64(0xdc9d2e07830ba226)),
		frontend.Variable(uint64(0x0698ef3245ff7988)),
		frontend.Variable(uint64(0x194fae2974f8b576)),
		frontend.Variable(uint64(0x7a5d9bea6ca4910e)),
		frontend.Variable(uint64(0x7aebfea95ccdd1c9)),
		frontend.Variable(uint64(0xf9bd38a67d5f0e86)),
		frontend.Variable(uint64(0xfa65539de65492d8)),
		frontend.Variable(uint64(0xf0dfcbe7653ff787)),
	},
	{
		frontend.Variable(uint64(0x0bd87ad390420258)),
		frontend.Variable(uint64(0x0ad8617bca9e33c8)),
		frontend.Variable(uint64(0x0c00ad377a1e2666)),
		frontend.Variable(uint64(0x0ac6fc58b3f0518f)),
		frontend.Variable(uint64(0x0c0cc8a892cc4173)),
		frontend.Variable(uint64(0x0c210accb117bc21)),
		frontend.Variable(uint64(0x0b73630dbb46ca18)),
		frontend.Variable(uint64(0x0c8be4920cbd4a54)),
		frontend.Variable(uint64(0x0bfe877a21be1690)),
		frontend.Variable(uint64(0x0ae790559b0ded81)),
		frontend.Variable(uint64(0x0bf50db2f8d6ce31)),
	},
	{
		frontend.Variable(uint64(0x000cf29427ff7c58)),
		frontend.Variable(uint64(0x000bd9b3cf49eec8)),
		frontend.Variable(uint64(0x000d1dc8aa81fb26)),
		frontend.Variable(uint64(0x000bc792d5c394ef)),
		frontend.Variable(uint64(0x000d2ae0b2266453)),
		frontend.Variable(uint64(0x000d413f12c496c1)),
		frontend.Variable(uint64(0x000c84128cfed618)),
		frontend.Variable(uint64(0x000db5ebd48fc0d4)),
		frontend.Variable(uint64(0x000d1b77326dcb90)),
		frontend.Variable(uint64(0x000beb0ccc145421)),
		frontend.Variable(uint64(0x000d10e5b22b11d1)),
	},
	{
		frontend.Variable(uint64(0x00000e24c99adad8)),
		frontend.Variable(uint64(0x00000cf389ed4bc8)),
		frontend.Variable(uint64(0x00000e580cbf6966)),
		frontend.Variable(uint64(0x00000cde5fd7e04f)),
		frontend.Variable(uint64(0x00000e63628041b3)),
		frontend.Variable(uint64(0x00000e7e81a87361)),
		frontend.Variable(uint64(0x00000dabe78f6d98)),
		frontend.Variable(uint64(0x00000efb14cac554)),
		frontend.Variable(uint64(0x00000e5574743b10)),
		frontend.Variable(uint64(0x00000d05709f42c1)),
		frontend.Variable(uint64(0x00000e4690c96af1)),
	},
	{
		frontend.Variable(uint64(0x0000000f7157bc98)),
		frontend.Variable(uint64(0x0000000e3006d948)),
		frontend.Variable(uint64(0x0000000fa65811e6)),
		frontend.Variable(uint64(0x0000000e0d127e2f)),
		frontend.Variable(uint64(0x0000000fc18bfe53)),
		frontend.Variable(uint64(0x0000000fd002d901)),
		frontend.Variable(uint64(0x0000000eed6461d8)),
		frontend.Variable(uint64(0x0000001068562754)),
		frontend.Variable(uint64(0x0000000fa0236f50)),
		frontend.Variable(uint64(0x0000000e3af13ee1)),
		frontend.Variable(uint64(0x0000000fa460f6d1)),
	},
	{
		frontend.Variable(uint64(0x0000000011131738)),
		frontend.Variable(uint64(0x000000000f56d588)),
		frontend.Variable(uint64(0x0000000011050f86)),
		frontend.Variable(uint64(0x000000000f848f4f)),
		frontend.Variable(uint64(0x00000000111527d3)),
		frontend.Variable(uint64(0x00000000114369a1)),
		frontend.Variable(uint64(0x00000000106f2f38)),
		frontend.Variable(uint64(0x0000000011e2ca94)),
		frontend.Variable(uint64(0x00000000110a29f0)),
		frontend.Variable(uint64(0x000000000fa9f5c1)),
		frontend.Variable(uint64(0x0000000010f625d1)),
	},
	{
		frontend.Variable(uint64(0x000000000011f718)),
		frontend.Variable(uint64(0x000000000010b6c8)),
		frontend.Variable(uint64(0x0000000000134a96)),
		frontend.Variable(uint64(0x000000000010cf7f)),
		frontend.Variable(uint64(0x0000000000124d03)),
		frontend.Variable(uint64(0x000000000013f8a1)),
		frontend.Variable(uint64(0x0000000000117c58)),
		frontend.Variable(uint64(0x0000000000132c94)),
		frontend.Variable(uint64(0x0000000000134fc0)),
		frontend.Variable(uint64(0x000000000010a091)),
		frontend.Variable(uint64(0x0000000000128961)),
	},
	{
		frontend.Variable(uint64(0x0000000000001300)),
		frontend.Variable(uint64(0x0000000000001750)),
		frontend.Variable(uint64(0x000000000000114e)),
		frontend.Variable(uint64(0x000000000000131f)),
		frontend.Variable(uint64(0x000000000000167b)),
		frontend.Variable(uint64(0x0000000000001371)),
		frontend.Variable(uint64(0x0000000000001230)),
		frontend.Variable(uint64(0x000000000000182c)),
		frontend.Variable(uint64(0x0000000000001368)),
		frontend.Variable(uint64(0x0000000000000f31)),
		frontend.Variable(uint64(0x00000000000015c9)),
	},
	{
		frontend.Variable(uint64(0x0000000000000014)),
		frontend.Variable(uint64(0x0000000000000022)),
		frontend.Variable(uint64(0x0000000000000012)),
		frontend.Variable(uint64(0x0000000000000027)),
		frontend.Variable(uint64(0x000000000000000d)),
		frontend.Variable(uint64(0x000000000000000d)),
		frontend.Variable(uint64(0x000000000000001c)),
		frontend.Variable(uint64(0x0000000000000002)),
		frontend.Variable(uint64(0x0000000000000010)),
		frontend.Variable(uint64(0x0000000000000029)),
		frontend.Variable(uint64(0x000000000000000f)),
	},
}
View Source
var FAST_PARTIAL_ROUND_W_HATS = [N_PARTIAL_ROUNDS][11]frontend.Variable{
	{
		frontend.Variable(uint64(0x3d999c961b7c63b0)),
		frontend.Variable(uint64(0x814e82efcd172529)),
		frontend.Variable(uint64(0x2421e5d236704588)),
		frontend.Variable(uint64(0x887af7d4dd482328)),
		frontend.Variable(uint64(0xa5e9c291f6119b27)),
		frontend.Variable(uint64(0xbdc52b2676a4b4aa)),
		frontend.Variable(uint64(0x64832009d29bcf57)),
		frontend.Variable(uint64(0x09c4155174a552cc)),
		frontend.Variable(uint64(0x463f9ee03d290810)),
		frontend.Variable(uint64(0xc810936e64982542)),
		frontend.Variable(uint64(0x043b1c289f7bc3ac)),
	},
	{
		frontend.Variable(uint64(0x673655aae8be5a8b)),
		frontend.Variable(uint64(0xd510fe714f39fa10)),
		frontend.Variable(uint64(0x2c68a099b51c9e73)),
		frontend.Variable(uint64(0xa667bfa9aa96999d)),
		frontend.Variable(uint64(0x4d67e72f063e2108)),
		frontend.Variable(uint64(0xf84dde3e6acda179)),
		frontend.Variable(uint64(0x40f9cc8c08f80981)),
		frontend.Variable(uint64(0x5ead032050097142)),
		frontend.Variable(uint64(0x6591b02092d671bb)),
		frontend.Variable(uint64(0x00e18c71963dd1b7)),
		frontend.Variable(uint64(0x8a21bcd24a14218a)),
	},
	{
		frontend.Variable(uint64(0x202800f4addbdc87)),
		frontend.Variable(uint64(0xe4b5bdb1cc3504ff)),
		frontend.Variable(uint64(0xbe32b32a825596e7)),
		frontend.Variable(uint64(0x8e0f68c5dc223b9a)),
		frontend.Variable(uint64(0x58022d9e1c256ce3)),
		frontend.Variable(uint64(0x584d29227aa073ac)),
		frontend.Variable(uint64(0x8b9352ad04bef9e7)),
		frontend.Variable(uint64(0xaead42a3f445ecbf)),
		frontend.Variable(uint64(0x3c667a1d833a3cca)),
		frontend.Variable(uint64(0xda6f61838efa1ffe)),
		frontend.Variable(uint64(0xe8f749470bd7c446)),
	},
	{
		frontend.Variable(uint64(0xc5b85bab9e5b3869)),
		frontend.Variable(uint64(0x45245258aec51cf7)),
		frontend.Variable(uint64(0x16e6b8e68b931830)),
		frontend.Variable(uint64(0xe2ae0f051418112c)),
		frontend.Variable(uint64(0x0470e26a0093a65b)),
		frontend.Variable(uint64(0x6bef71973a8146ed)),
		frontend.Variable(uint64(0x119265be51812daf)),
		frontend.Variable(uint64(0xb0be7356254bea2e)),
		frontend.Variable(uint64(0x8584defff7589bd7)),
		frontend.Variable(uint64(0x3c5fe4aeb1fb52ba)),
		frontend.Variable(uint64(0x9e7cd88acf543a5e)),
	},
	{
		frontend.Variable(uint64(0x179be4bba87f0a8c)),
		frontend.Variable(uint64(0xacf63d95d8887355)),
		frontend.Variable(uint64(0x6696670196b0074f)),
		frontend.Variable(uint64(0xd99ddf1fe75085f9)),
		frontend.Variable(uint64(0xc2597881fef0283b)),
		frontend.Variable(uint64(0xcf48395ee6c54f14)),
		frontend.Variable(uint64(0x15226a8e4cd8d3b6)),
		frontend.Variable(uint64(0xc053297389af5d3b)),
		frontend.Variable(uint64(0x2c08893f0d1580e2)),
		frontend.Variable(uint64(0x0ed3cbcff6fcc5ba)),
		frontend.Variable(uint64(0xc82f510ecf81f6d0)),
	},
	{
		frontend.Variable(uint64(0x94b06183acb715cc)),
		frontend.Variable(uint64(0x500392ed0d431137)),
		frontend.Variable(uint64(0x861cc95ad5c86323)),
		frontend.Variable(uint64(0x05830a443f86c4ac)),
		frontend.Variable(uint64(0x3b68225874a20a7c)),
		frontend.Variable(uint64(0x10b3309838e236fb)),
		frontend.Variable(uint64(0x9b77fc8bcd559e2c)),
		frontend.Variable(uint64(0xbdecf5e0cb9cb213)),
		frontend.Variable(uint64(0x30276f1221ace5fa)),
		frontend.Variable(uint64(0x7935dd342764a144)),
		frontend.Variable(uint64(0xeac6db520bb03708)),
	},
	{
		frontend.Variable(uint64(0x7186a80551025f8f)),
		frontend.Variable(uint64(0x622247557e9b5371)),
		frontend.Variable(uint64(0xc4cbe326d1ad9742)),
		frontend.Variable(uint64(0x55f1523ac6a23ea2)),
		frontend.Variable(uint64(0xa13dfe77a3d52f53)),
		frontend.Variable(uint64(0xe30750b6301c0452)),
		frontend.Variable(uint64(0x08bd488070a3a32b)),
		frontend.Variable(uint64(0xcd800caef5b72ae3)),
		frontend.Variable(uint64(0x83329c90f04233ce)),
		frontend.Variable(uint64(0xb5b99e6664a0a3ee)),
		frontend.Variable(uint64(0x6b0731849e200a7f)),
	},
	{
		frontend.Variable(uint64(0xec3fabc192b01799)),
		frontend.Variable(uint64(0x382b38cee8ee5375)),
		frontend.Variable(uint64(0x3bfb6c3f0e616572)),
		frontend.Variable(uint64(0x514abd0cf6c7bc86)),
		frontend.Variable(uint64(0x47521b1361dcc546)),
		frontend.Variable(uint64(0x178093843f863d14)),
		frontend.Variable(uint64(0xad1003c5d28918e7)),
		frontend.Variable(uint64(0x738450e42495bc81)),
		frontend.Variable(uint64(0xaf947c59af5e4047)),
		frontend.Variable(uint64(0x4653fb0685084ef2)),
		frontend.Variable(uint64(0x057fde2062ae35bf)),
	},
	{
		frontend.Variable(uint64(0xe376678d843ce55e)),
		frontend.Variable(uint64(0x66f3860d7514e7fc)),
		frontend.Variable(uint64(0x7817f3dfff8b4ffa)),
		frontend.Variable(uint64(0x3929624a9def725b)),
		frontend.Variable(uint64(0x0126ca37f215a80a)),
		frontend.Variable(uint64(0xfce2f5d02762a303)),
		frontend.Variable(uint64(0x1bc927375febbad7)),
		frontend.Variable(uint64(0x85b481e5243f60bf)),
		frontend.Variable(uint64(0x2d3c5f42a39c91a0)),
		frontend.Variable(uint64(0x0811719919351ae8)),
		frontend.Variable(uint64(0xf669de0add993131)),
	},
	{
		frontend.Variable(uint64(0x7de38bae084da92d)),
		frontend.Variable(uint64(0x5b848442237e8a9b)),
		frontend.Variable(uint64(0xf6c705da84d57310)),
		frontend.Variable(uint64(0x31e6a4bdb6a49017)),
		frontend.Variable(uint64(0x889489706e5c5c0f)),
		frontend.Variable(uint64(0x0e4a205459692a1b)),
		frontend.Variable(uint64(0xbac3fa75ee26f299)),
		frontend.Variable(uint64(0x5f5894f4057d755e)),
		frontend.Variable(uint64(0xb0dc3ecd724bb076)),
		frontend.Variable(uint64(0x5e34d8554a6452ba)),
		frontend.Variable(uint64(0x04f78fd8c1fdcc5f)),
	},
	{
		frontend.Variable(uint64(0x4dd19c38779512ea)),
		frontend.Variable(uint64(0xdb79ba02704620e9)),
		frontend.Variable(uint64(0x92a29a3675a5d2be)),
		frontend.Variable(uint64(0xd5177029fe495166)),
		frontend.Variable(uint64(0xd32b3298a13330c1)),
		frontend.Variable(uint64(0x251c4a3eb2c5f8fd)),
		frontend.Variable(uint64(0xe1c48b26e0d98825)),
		frontend.Variable(uint64(0x3301d3362a4ffccb)),
		frontend.Variable(uint64(0x09bb6c88de8cd178)),
		frontend.Variable(uint64(0xdc05b676564f538a)),
		frontend.Variable(uint64(0x60192d883e473fee)),
	},
	{
		frontend.Variable(uint64(0x16b9774801ac44a0)),
		frontend.Variable(uint64(0x3cb8411e786d3c8e)),
		frontend.Variable(uint64(0xa86e9cf505072491)),
		frontend.Variable(uint64(0x0178928152e109ae)),
		frontend.Variable(uint64(0x5317b905a6e1ab7b)),
		frontend.Variable(uint64(0xda20b3be7f53d59f)),
		frontend.Variable(uint64(0xcb97dedecebee9ad)),
		frontend.Variable(uint64(0x4bd545218c59f58d)),
		frontend.Variable(uint64(0x77dc8d856c05a44a)),
		frontend.Variable(uint64(0x87948589e4f243fd)),
		frontend.Variable(uint64(0x7e5217af969952c2)),
	},
	{
		frontend.Variable(uint64(0xbc58987d06a84e4d)),
		frontend.Variable(uint64(0x0b5d420244c9cae3)),
		frontend.Variable(uint64(0xa3c4711b938c02c0)),
		frontend.Variable(uint64(0x3aace640a3e03990)),
		frontend.Variable(uint64(0x865a0f3249aacd8a)),
		frontend.Variable(uint64(0x8d00b2a7dbed06c7)),
		frontend.Variable(uint64(0x6eacb905beb7e2f8)),
		frontend.Variable(uint64(0x045322b216ec3ec7)),
		frontend.Variable(uint64(0xeb9de00d594828e6)),
		frontend.Variable(uint64(0x088c5f20df9e5c26)),
		frontend.Variable(uint64(0xf555f4112b19781f)),
	},
	{
		frontend.Variable(uint64(0xa8cedbff1813d3a7)),
		frontend.Variable(uint64(0x50dcaee0fd27d164)),
		frontend.Variable(uint64(0xf1cb02417e23bd82)),
		frontend.Variable(uint64(0xfaf322786e2abe8b)),
		frontend.Variable(uint64(0x937a4315beb5d9b6)),
		frontend.Variable(uint64(0x1b18992921a11d85)),
		frontend.Variable(uint64(0x7d66c4368b3c497b)),
		frontend.Variable(uint64(0x0e7946317a6b4e99)),
		frontend.Variable(uint64(0xbe4430134182978b)),
		frontend.Variable(uint64(0x3771e82493ab262d)),
		frontend.Variable(uint64(0xa671690d8095ce82)),
	},
	{
		frontend.Variable(uint64(0xb035585f6e929d9d)),
		frontend.Variable(uint64(0xba1579c7e219b954)),
		frontend.Variable(uint64(0xcb201cf846db4ba3)),
		frontend.Variable(uint64(0x287bf9177372cf45)),
		frontend.Variable(uint64(0xa350e4f61147d0a6)),
		frontend.Variable(uint64(0xd5d0ecfb50bcff99)),
		frontend.Variable(uint64(0x2e166aa6c776ed21)),
		frontend.Variable(uint64(0xe1e66c991990e282)),
		frontend.Variable(uint64(0x662b329b01e7bb38)),
		frontend.Variable(uint64(0x8aa674b36144d9a9)),
		frontend.Variable(uint64(0xcbabf78f97f95e65)),
	},
	{
		frontend.Variable(uint64(0xeec24b15a06b53fe)),
		frontend.Variable(uint64(0xc8a7aa07c5633533)),
		frontend.Variable(uint64(0xefe9c6fa4311ad51)),
		frontend.Variable(uint64(0xb9173f13977109a1)),
		frontend.Variable(uint64(0x69ce43c9cc94aedc)),
		frontend.Variable(uint64(0xecf623c9cd118815)),
		frontend.Variable(uint64(0x28625def198c33c7)),
		frontend.Variable(uint64(0xccfc5f7de5c3636a)),
		frontend.Variable(uint64(0xf5e6c40f1621c299)),
		frontend.Variable(uint64(0xcec0e58c34cb64b1)),
		frontend.Variable(uint64(0xa868ea113387939f)),
	},
	{
		frontend.Variable(uint64(0xd8dddbdc5ce4ef45)),
		frontend.Variable(uint64(0xacfc51de8131458c)),
		frontend.Variable(uint64(0x146bb3c0fe499ac0)),
		frontend.Variable(uint64(0x9e65309f15943903)),
		frontend.Variable(uint64(0x80d0ad980773aa70)),
		frontend.Variable(uint64(0xf97817d4ddbf0607)),
		frontend.Variable(uint64(0xe4626620a75ba276)),
		frontend.Variable(uint64(0x0dfdc7fd6fc74f66)),
		frontend.Variable(uint64(0xf464864ad6f2bb93)),
		frontend.Variable(uint64(0x02d55e52a5d44414)),
		frontend.Variable(uint64(0xdd8de62487c40925)),
	},
	{
		frontend.Variable(uint64(0xc15acf44759545a3)),
		frontend.Variable(uint64(0xcbfdcf39869719d4)),
		frontend.Variable(uint64(0x33f62042e2f80225)),
		frontend.Variable(uint64(0x2599c5ead81d8fa3)),
		frontend.Variable(uint64(0x0b306cb6c1d7c8d0)),
		frontend.Variable(uint64(0x658c80d3df3729b1)),
		frontend.Variable(uint64(0xe8d1b2b21b41429c)),
		frontend.Variable(uint64(0xa1b67f09d4b3ccb8)),
		frontend.Variable(uint64(0x0e1adf8b84437180)),
		frontend.Variable(uint64(0x0d593a5e584af47b)),
		frontend.Variable(uint64(0xa023d94c56e151c7)),
	},
	{
		frontend.Variable(uint64(0x49026cc3a4afc5a6)),
		frontend.Variable(uint64(0xe06dff00ab25b91b)),
		frontend.Variable(uint64(0x0ab38c561e8850ff)),
		frontend.Variable(uint64(0x92c3c8275e105eeb)),
		frontend.Variable(uint64(0xb65256e546889bd0)),
		frontend.Variable(uint64(0x3c0468236ea142f6)),
		frontend.Variable(uint64(0xee61766b889e18f2)),
		frontend.Variable(uint64(0xa206f41b12c30415)),
		frontend.Variable(uint64(0x02fe9d756c9f12d1)),
		frontend.Variable(uint64(0xe9633210630cbf12)),
		frontend.Variable(uint64(0x1ffea9fe85a0b0b1)),
	},
	{
		frontend.Variable(uint64(0x81d1ae8cc50240f3)),
		frontend.Variable(uint64(0xf4c77a079a4607d7)),
		frontend.Variable(uint64(0xed446b2315e3efc1)),
		frontend.Variable(uint64(0x0b0a6b70915178c3)),
		frontend.Variable(uint64(0xb11ff3e089f15d9a)),
		frontend.Variable(uint64(0x1d4dba0b7ae9cc18)),
		frontend.Variable(uint64(0x65d74e2f43b48d05)),
		frontend.Variable(uint64(0xa2df8c6b8ae0804a)),
		frontend.Variable(uint64(0xa4e6f0a8c33348a6)),
		frontend.Variable(uint64(0xc0a26efc7be5669b)),
		frontend.Variable(uint64(0xa6b6582c547d0d60)),
	},
	{
		frontend.Variable(uint64(0x84afc741f1c13213)),
		frontend.Variable(uint64(0x2f8f43734fc906f3)),
		frontend.Variable(uint64(0xde682d72da0a02d9)),
		frontend.Variable(uint64(0x0bb005236adb9ef2)),
		frontend.Variable(uint64(0x5bdf35c10a8b5624)),
		frontend.Variable(uint64(0x0739a8a343950010)),
		frontend.Variable(uint64(0x52f515f44785cfbc)),
		frontend.Variable(uint64(0xcbaf4e5d82856c60)),
		frontend.Variable(uint64(0xac9ea09074e3e150)),
		frontend.Variable(uint64(0x8f0fa011a2035fb0)),
		frontend.Variable(uint64(0x1a37905d8450904a)),
	},
	{
		frontend.Variable(uint64(0x3abeb80def61cc85)),
		frontend.Variable(uint64(0x9d19c9dd4eac4133)),
		frontend.Variable(uint64(0x075a652d9641a985)),
		frontend.Variable(uint64(0x9daf69ae1b67e667)),
		frontend.Variable(uint64(0x364f71da77920a18)),
		frontend.Variable(uint64(0x50bd769f745c95b1)),
		frontend.Variable(uint64(0xf223d1180dbbf3fc)),
		frontend.Variable(uint64(0x2f885e584e04aa99)),
		frontend.Variable(uint64(0xb69a0fa70aea684a)),
		frontend.Variable(uint64(0x09584acaa6e062a0)),
		frontend.Variable(uint64(0x0bc051640145b19b)),
	},
}
View Source
var FAST_PARTIAL_ROUND_W_HATS_VARS = [N_PARTIAL_ROUNDS][11]frontend.Variable{
	{
		frontend.Variable(uint64(0x3d999c961b7c63b0)),
		frontend.Variable(uint64(0x814e82efcd172529)),
		frontend.Variable(uint64(0x2421e5d236704588)),
		frontend.Variable(uint64(0x887af7d4dd482328)),
		frontend.Variable(uint64(0xa5e9c291f6119b27)),
		frontend.Variable(uint64(0xbdc52b2676a4b4aa)),
		frontend.Variable(uint64(0x64832009d29bcf57)),
		frontend.Variable(uint64(0x09c4155174a552cc)),
		frontend.Variable(uint64(0x463f9ee03d290810)),
		frontend.Variable(uint64(0xc810936e64982542)),
		frontend.Variable(uint64(0x043b1c289f7bc3ac)),
	},
	{
		frontend.Variable(uint64(0x673655aae8be5a8b)),
		frontend.Variable(uint64(0xd510fe714f39fa10)),
		frontend.Variable(uint64(0x2c68a099b51c9e73)),
		frontend.Variable(uint64(0xa667bfa9aa96999d)),
		frontend.Variable(uint64(0x4d67e72f063e2108)),
		frontend.Variable(uint64(0xf84dde3e6acda179)),
		frontend.Variable(uint64(0x40f9cc8c08f80981)),
		frontend.Variable(uint64(0x5ead032050097142)),
		frontend.Variable(uint64(0x6591b02092d671bb)),
		frontend.Variable(uint64(0x00e18c71963dd1b7)),
		frontend.Variable(uint64(0x8a21bcd24a14218a)),
	},
	{
		frontend.Variable(uint64(0x202800f4addbdc87)),
		frontend.Variable(uint64(0xe4b5bdb1cc3504ff)),
		frontend.Variable(uint64(0xbe32b32a825596e7)),
		frontend.Variable(uint64(0x8e0f68c5dc223b9a)),
		frontend.Variable(uint64(0x58022d9e1c256ce3)),
		frontend.Variable(uint64(0x584d29227aa073ac)),
		frontend.Variable(uint64(0x8b9352ad04bef9e7)),
		frontend.Variable(uint64(0xaead42a3f445ecbf)),
		frontend.Variable(uint64(0x3c667a1d833a3cca)),
		frontend.Variable(uint64(0xda6f61838efa1ffe)),
		frontend.Variable(uint64(0xe8f749470bd7c446)),
	},
	{
		frontend.Variable(uint64(0xc5b85bab9e5b3869)),
		frontend.Variable(uint64(0x45245258aec51cf7)),
		frontend.Variable(uint64(0x16e6b8e68b931830)),
		frontend.Variable(uint64(0xe2ae0f051418112c)),
		frontend.Variable(uint64(0x0470e26a0093a65b)),
		frontend.Variable(uint64(0x6bef71973a8146ed)),
		frontend.Variable(uint64(0x119265be51812daf)),
		frontend.Variable(uint64(0xb0be7356254bea2e)),
		frontend.Variable(uint64(0x8584defff7589bd7)),
		frontend.Variable(uint64(0x3c5fe4aeb1fb52ba)),
		frontend.Variable(uint64(0x9e7cd88acf543a5e)),
	},
	{
		frontend.Variable(uint64(0x179be4bba87f0a8c)),
		frontend.Variable(uint64(0xacf63d95d8887355)),
		frontend.Variable(uint64(0x6696670196b0074f)),
		frontend.Variable(uint64(0xd99ddf1fe75085f9)),
		frontend.Variable(uint64(0xc2597881fef0283b)),
		frontend.Variable(uint64(0xcf48395ee6c54f14)),
		frontend.Variable(uint64(0x15226a8e4cd8d3b6)),
		frontend.Variable(uint64(0xc053297389af5d3b)),
		frontend.Variable(uint64(0x2c08893f0d1580e2)),
		frontend.Variable(uint64(0x0ed3cbcff6fcc5ba)),
		frontend.Variable(uint64(0xc82f510ecf81f6d0)),
	},
	{
		frontend.Variable(uint64(0x94b06183acb715cc)),
		frontend.Variable(uint64(0x500392ed0d431137)),
		frontend.Variable(uint64(0x861cc95ad5c86323)),
		frontend.Variable(uint64(0x05830a443f86c4ac)),
		frontend.Variable(uint64(0x3b68225874a20a7c)),
		frontend.Variable(uint64(0x10b3309838e236fb)),
		frontend.Variable(uint64(0x9b77fc8bcd559e2c)),
		frontend.Variable(uint64(0xbdecf5e0cb9cb213)),
		frontend.Variable(uint64(0x30276f1221ace5fa)),
		frontend.Variable(uint64(0x7935dd342764a144)),
		frontend.Variable(uint64(0xeac6db520bb03708)),
	},
	{
		frontend.Variable(uint64(0x7186a80551025f8f)),
		frontend.Variable(uint64(0x622247557e9b5371)),
		frontend.Variable(uint64(0xc4cbe326d1ad9742)),
		frontend.Variable(uint64(0x55f1523ac6a23ea2)),
		frontend.Variable(uint64(0xa13dfe77a3d52f53)),
		frontend.Variable(uint64(0xe30750b6301c0452)),
		frontend.Variable(uint64(0x08bd488070a3a32b)),
		frontend.Variable(uint64(0xcd800caef5b72ae3)),
		frontend.Variable(uint64(0x83329c90f04233ce)),
		frontend.Variable(uint64(0xb5b99e6664a0a3ee)),
		frontend.Variable(uint64(0x6b0731849e200a7f)),
	},
	{
		frontend.Variable(uint64(0xec3fabc192b01799)),
		frontend.Variable(uint64(0x382b38cee8ee5375)),
		frontend.Variable(uint64(0x3bfb6c3f0e616572)),
		frontend.Variable(uint64(0x514abd0cf6c7bc86)),
		frontend.Variable(uint64(0x47521b1361dcc546)),
		frontend.Variable(uint64(0x178093843f863d14)),
		frontend.Variable(uint64(0xad1003c5d28918e7)),
		frontend.Variable(uint64(0x738450e42495bc81)),
		frontend.Variable(uint64(0xaf947c59af5e4047)),
		frontend.Variable(uint64(0x4653fb0685084ef2)),
		frontend.Variable(uint64(0x057fde2062ae35bf)),
	},
	{
		frontend.Variable(uint64(0xe376678d843ce55e)),
		frontend.Variable(uint64(0x66f3860d7514e7fc)),
		frontend.Variable(uint64(0x7817f3dfff8b4ffa)),
		frontend.Variable(uint64(0x3929624a9def725b)),
		frontend.Variable(uint64(0x0126ca37f215a80a)),
		frontend.Variable(uint64(0xfce2f5d02762a303)),
		frontend.Variable(uint64(0x1bc927375febbad7)),
		frontend.Variable(uint64(0x85b481e5243f60bf)),
		frontend.Variable(uint64(0x2d3c5f42a39c91a0)),
		frontend.Variable(uint64(0x0811719919351ae8)),
		frontend.Variable(uint64(0xf669de0add993131)),
	},
	{
		frontend.Variable(uint64(0x7de38bae084da92d)),
		frontend.Variable(uint64(0x5b848442237e8a9b)),
		frontend.Variable(uint64(0xf6c705da84d57310)),
		frontend.Variable(uint64(0x31e6a4bdb6a49017)),
		frontend.Variable(uint64(0x889489706e5c5c0f)),
		frontend.Variable(uint64(0x0e4a205459692a1b)),
		frontend.Variable(uint64(0xbac3fa75ee26f299)),
		frontend.Variable(uint64(0x5f5894f4057d755e)),
		frontend.Variable(uint64(0xb0dc3ecd724bb076)),
		frontend.Variable(uint64(0x5e34d8554a6452ba)),
		frontend.Variable(uint64(0x04f78fd8c1fdcc5f)),
	},
	{
		frontend.Variable(uint64(0x4dd19c38779512ea)),
		frontend.Variable(uint64(0xdb79ba02704620e9)),
		frontend.Variable(uint64(0x92a29a3675a5d2be)),
		frontend.Variable(uint64(0xd5177029fe495166)),
		frontend.Variable(uint64(0xd32b3298a13330c1)),
		frontend.Variable(uint64(0x251c4a3eb2c5f8fd)),
		frontend.Variable(uint64(0xe1c48b26e0d98825)),
		frontend.Variable(uint64(0x3301d3362a4ffccb)),
		frontend.Variable(uint64(0x09bb6c88de8cd178)),
		frontend.Variable(uint64(0xdc05b676564f538a)),
		frontend.Variable(uint64(0x60192d883e473fee)),
	},
	{
		frontend.Variable(uint64(0x16b9774801ac44a0)),
		frontend.Variable(uint64(0x3cb8411e786d3c8e)),
		frontend.Variable(uint64(0xa86e9cf505072491)),
		frontend.Variable(uint64(0x0178928152e109ae)),
		frontend.Variable(uint64(0x5317b905a6e1ab7b)),
		frontend.Variable(uint64(0xda20b3be7f53d59f)),
		frontend.Variable(uint64(0xcb97dedecebee9ad)),
		frontend.Variable(uint64(0x4bd545218c59f58d)),
		frontend.Variable(uint64(0x77dc8d856c05a44a)),
		frontend.Variable(uint64(0x87948589e4f243fd)),
		frontend.Variable(uint64(0x7e5217af969952c2)),
	},
	{
		frontend.Variable(uint64(0xbc58987d06a84e4d)),
		frontend.Variable(uint64(0x0b5d420244c9cae3)),
		frontend.Variable(uint64(0xa3c4711b938c02c0)),
		frontend.Variable(uint64(0x3aace640a3e03990)),
		frontend.Variable(uint64(0x865a0f3249aacd8a)),
		frontend.Variable(uint64(0x8d00b2a7dbed06c7)),
		frontend.Variable(uint64(0x6eacb905beb7e2f8)),
		frontend.Variable(uint64(0x045322b216ec3ec7)),
		frontend.Variable(uint64(0xeb9de00d594828e6)),
		frontend.Variable(uint64(0x088c5f20df9e5c26)),
		frontend.Variable(uint64(0xf555f4112b19781f)),
	},
	{
		frontend.Variable(uint64(0xa8cedbff1813d3a7)),
		frontend.Variable(uint64(0x50dcaee0fd27d164)),
		frontend.Variable(uint64(0xf1cb02417e23bd82)),
		frontend.Variable(uint64(0xfaf322786e2abe8b)),
		frontend.Variable(uint64(0x937a4315beb5d9b6)),
		frontend.Variable(uint64(0x1b18992921a11d85)),
		frontend.Variable(uint64(0x7d66c4368b3c497b)),
		frontend.Variable(uint64(0x0e7946317a6b4e99)),
		frontend.Variable(uint64(0xbe4430134182978b)),
		frontend.Variable(uint64(0x3771e82493ab262d)),
		frontend.Variable(uint64(0xa671690d8095ce82)),
	},
	{
		frontend.Variable(uint64(0xb035585f6e929d9d)),
		frontend.Variable(uint64(0xba1579c7e219b954)),
		frontend.Variable(uint64(0xcb201cf846db4ba3)),
		frontend.Variable(uint64(0x287bf9177372cf45)),
		frontend.Variable(uint64(0xa350e4f61147d0a6)),
		frontend.Variable(uint64(0xd5d0ecfb50bcff99)),
		frontend.Variable(uint64(0x2e166aa6c776ed21)),
		frontend.Variable(uint64(0xe1e66c991990e282)),
		frontend.Variable(uint64(0x662b329b01e7bb38)),
		frontend.Variable(uint64(0x8aa674b36144d9a9)),
		frontend.Variable(uint64(0xcbabf78f97f95e65)),
	},
	{
		frontend.Variable(uint64(0xeec24b15a06b53fe)),
		frontend.Variable(uint64(0xc8a7aa07c5633533)),
		frontend.Variable(uint64(0xefe9c6fa4311ad51)),
		frontend.Variable(uint64(0xb9173f13977109a1)),
		frontend.Variable(uint64(0x69ce43c9cc94aedc)),
		frontend.Variable(uint64(0xecf623c9cd118815)),
		frontend.Variable(uint64(0x28625def198c33c7)),
		frontend.Variable(uint64(0xccfc5f7de5c3636a)),
		frontend.Variable(uint64(0xf5e6c40f1621c299)),
		frontend.Variable(uint64(0xcec0e58c34cb64b1)),
		frontend.Variable(uint64(0xa868ea113387939f)),
	},
	{
		frontend.Variable(uint64(0xd8dddbdc5ce4ef45)),
		frontend.Variable(uint64(0xacfc51de8131458c)),
		frontend.Variable(uint64(0x146bb3c0fe499ac0)),
		frontend.Variable(uint64(0x9e65309f15943903)),
		frontend.Variable(uint64(0x80d0ad980773aa70)),
		frontend.Variable(uint64(0xf97817d4ddbf0607)),
		frontend.Variable(uint64(0xe4626620a75ba276)),
		frontend.Variable(uint64(0x0dfdc7fd6fc74f66)),
		frontend.Variable(uint64(0xf464864ad6f2bb93)),
		frontend.Variable(uint64(0x02d55e52a5d44414)),
		frontend.Variable(uint64(0xdd8de62487c40925)),
	},
	{
		frontend.Variable(uint64(0xc15acf44759545a3)),
		frontend.Variable(uint64(0xcbfdcf39869719d4)),
		frontend.Variable(uint64(0x33f62042e2f80225)),
		frontend.Variable(uint64(0x2599c5ead81d8fa3)),
		frontend.Variable(uint64(0x0b306cb6c1d7c8d0)),
		frontend.Variable(uint64(0x658c80d3df3729b1)),
		frontend.Variable(uint64(0xe8d1b2b21b41429c)),
		frontend.Variable(uint64(0xa1b67f09d4b3ccb8)),
		frontend.Variable(uint64(0x0e1adf8b84437180)),
		frontend.Variable(uint64(0x0d593a5e584af47b)),
		frontend.Variable(uint64(0xa023d94c56e151c7)),
	},
	{
		frontend.Variable(uint64(0x49026cc3a4afc5a6)),
		frontend.Variable(uint64(0xe06dff00ab25b91b)),
		frontend.Variable(uint64(0x0ab38c561e8850ff)),
		frontend.Variable(uint64(0x92c3c8275e105eeb)),
		frontend.Variable(uint64(0xb65256e546889bd0)),
		frontend.Variable(uint64(0x3c0468236ea142f6)),
		frontend.Variable(uint64(0xee61766b889e18f2)),
		frontend.Variable(uint64(0xa206f41b12c30415)),
		frontend.Variable(uint64(0x02fe9d756c9f12d1)),
		frontend.Variable(uint64(0xe9633210630cbf12)),
		frontend.Variable(uint64(0x1ffea9fe85a0b0b1)),
	},
	{
		frontend.Variable(uint64(0x81d1ae8cc50240f3)),
		frontend.Variable(uint64(0xf4c77a079a4607d7)),
		frontend.Variable(uint64(0xed446b2315e3efc1)),
		frontend.Variable(uint64(0x0b0a6b70915178c3)),
		frontend.Variable(uint64(0xb11ff3e089f15d9a)),
		frontend.Variable(uint64(0x1d4dba0b7ae9cc18)),
		frontend.Variable(uint64(0x65d74e2f43b48d05)),
		frontend.Variable(uint64(0xa2df8c6b8ae0804a)),
		frontend.Variable(uint64(0xa4e6f0a8c33348a6)),
		frontend.Variable(uint64(0xc0a26efc7be5669b)),
		frontend.Variable(uint64(0xa6b6582c547d0d60)),
	},
	{
		frontend.Variable(uint64(0x84afc741f1c13213)),
		frontend.Variable(uint64(0x2f8f43734fc906f3)),
		frontend.Variable(uint64(0xde682d72da0a02d9)),
		frontend.Variable(uint64(0x0bb005236adb9ef2)),
		frontend.Variable(uint64(0x5bdf35c10a8b5624)),
		frontend.Variable(uint64(0x0739a8a343950010)),
		frontend.Variable(uint64(0x52f515f44785cfbc)),
		frontend.Variable(uint64(0xcbaf4e5d82856c60)),
		frontend.Variable(uint64(0xac9ea09074e3e150)),
		frontend.Variable(uint64(0x8f0fa011a2035fb0)),
		frontend.Variable(uint64(0x1a37905d8450904a)),
	},
	{
		frontend.Variable(uint64(0x3abeb80def61cc85)),
		frontend.Variable(uint64(0x9d19c9dd4eac4133)),
		frontend.Variable(uint64(0x075a652d9641a985)),
		frontend.Variable(uint64(0x9daf69ae1b67e667)),
		frontend.Variable(uint64(0x364f71da77920a18)),
		frontend.Variable(uint64(0x50bd769f745c95b1)),
		frontend.Variable(uint64(0xf223d1180dbbf3fc)),
		frontend.Variable(uint64(0x2f885e584e04aa99)),
		frontend.Variable(uint64(0xb69a0fa70aea684a)),
		frontend.Variable(uint64(0x09584acaa6e062a0)),
		frontend.Variable(uint64(0x0bc051640145b19b)),
	},
}
View Source
var MDS0TO0 = frontend.Variable(uint64(25))
View Source
var MDS0TO0_VAR = frontend.Variable(uint64(25))
View Source
var ZERO_VAR = frontend.Variable(uint64(0))

Functions

This section is empty.

Types

type BN254Chip

type BN254Chip struct {
	// contains filtered or unexported fields
}

func NewBN254Chip

func NewBN254Chip(api frontend.API) *BN254Chip

func (*BN254Chip) HashNoPad

func (c *BN254Chip) HashNoPad(input []gl.Variable) BN254HashOut

func (*BN254Chip) HashOrNoop

func (c *BN254Chip) HashOrNoop(input []gl.Variable) BN254HashOut

func (*BN254Chip) Poseidon

func (c *BN254Chip) Poseidon(state BN254State) BN254State

func (*BN254Chip) ToVec

func (c *BN254Chip) ToVec(hash BN254HashOut) []gl.Variable

func (*BN254Chip) TwoToOne

func (c *BN254Chip) TwoToOne(left BN254HashOut, right BN254HashOut) BN254HashOut

type BN254HashOut

type BN254HashOut = frontend.Variable

type GoldilocksChip

type GoldilocksChip struct {
	// contains filtered or unexported fields
}

func NewGoldilocksChip

func NewGoldilocksChip(api frontend.API) *GoldilocksChip

func (*GoldilocksChip) ConstantLayerExtension

func (c *GoldilocksChip) ConstantLayerExtension(state GoldilocksStateExtension, roundCounter *int) GoldilocksStateExtension

func (*GoldilocksChip) HashNToMNoPad

func (c *GoldilocksChip) HashNToMNoPad(input []gl.Variable, nbOutputs int) []gl.Variable

The input elements MUST have all it's elements be within Goldilocks field. The returned slice's elements will all be within Goldilocks field.

func (*GoldilocksChip) HashNoPad

func (c *GoldilocksChip) HashNoPad(input []gl.Variable) GoldilocksHashOut

The input elements can be outside of the Goldilocks field. The returned slice's elements will all be within Goldilocks field.

func (*GoldilocksChip) MdsLayerExtension

func (*GoldilocksChip) MdsPartialLayerFastExtension

func (c *GoldilocksChip) MdsPartialLayerFastExtension(state GoldilocksStateExtension, r int) GoldilocksStateExtension

func (*GoldilocksChip) MdsPartialLayerInitExtension

func (c *GoldilocksChip) MdsPartialLayerInitExtension(state GoldilocksStateExtension) GoldilocksStateExtension

func (*GoldilocksChip) MdsRowShfExtension

func (*GoldilocksChip) PartialFirstConstantLayerExtension

func (c *GoldilocksChip) PartialFirstConstantLayerExtension(state GoldilocksStateExtension) GoldilocksStateExtension

func (*GoldilocksChip) Poseidon

func (c *GoldilocksChip) Poseidon(input GoldilocksState) GoldilocksState

The permutation function. The input state MUST have all it's elements be within Goldilocks field (e.g. this function will not reduce the input elements). The returned state's elements will all be within Goldilocks field.

func (*GoldilocksChip) SBoxLayerExtension

func (*GoldilocksChip) SBoxMonomialExtension

func (*GoldilocksChip) ToVec

func (c *GoldilocksChip) ToVec(hash GoldilocksHashOut) []gl.Variable

type GoldilocksHashOut

type GoldilocksHashOut = [POSEIDON_GL_HASH_SIZE]gl.Variable

type GoldilocksState

type GoldilocksState = [SPONGE_WIDTH]gl.Variable

type GoldilocksStateExtension

type GoldilocksStateExtension = [SPONGE_WIDTH]gl.QuadraticExtensionVariable

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL