github.com/mad-day/Yawning-crypto@v0.0.0-20190711051033-5a5f8cca32ec/bcns/alice_test.go (about)

     1  //
     2  // Ring LWE (Alice) tests.
     3  //
     4  // To the extent possible under law, Yawning Angel waived all copyright
     5  // and related or neighboring rights to bcns, using the Creative
     6  // Commons "CC0" public domain dedication. See LICENSE or
     7  // <http://creativecommons.org/publicdomain/zero/1.0/> for full details.
     8  
     9  package bcns
    10  
    11  import (
    12  	"testing"
    13  )
    14  
    15  // Bob's side of this is non-deterministic, without code modifications, so
    16  // fuck it, just test that the reconciliation step works as intended with
    17  // values from the upstream code.
    18  
    19  var refAliceSk = [1024]uint32{
    20  	0xffffffd8, 0xffffffd8, 0xffffffd8, 0x00000026, 0x00000026, 0x00000027,
    21  	0xffffffd9, 0x00000026, 0x00000027, 0x00000027, 0xffffffd8, 0xffffffd8,
    22  	0xffffffe4, 0xffffffe4, 0x00000027, 0x00000027, 0xffffffd9, 0xffffffd8,
    23  	0xffffffd6, 0x00000029, 0x00000027, 0x00000027, 0x00000027, 0xffffffd8,
    24  	0xffffffd8, 0xffffffd8, 0x00000026, 0x00000029, 0x00000029, 0xffffffd6,
    25  	0x00000027, 0x00000027, 0xffffffd8, 0xffffffd6, 0x00000027, 0xffffffd8,
    26  	0x00000027, 0xffffffd8, 0xffffffd8, 0x00000027, 0x00000027, 0x00000027,
    27  	0x00000027, 0xffffffff, 0xffffffd8, 0x00000027, 0xffffffd8, 0x00000029,
    28  	0x00000026, 0xffffffd8, 0xffffffd6, 0xffffffd8, 0xffffffd8, 0xffffffd6,
    29  	0x0000001b, 0x00000029, 0xffffffd8, 0xffffffd8, 0xffffffd5, 0xffffffff,
    30  	0x00000029, 0x00000026, 0xffffffd8, 0x00000027, 0x00000027, 0xffffffff,
    31  	0xffffffd8, 0xffffffd8, 0xffffffd8, 0x00000027, 0x00000027, 0x00000027,
    32  	0xffffffd8, 0x00000027, 0xffffffd8, 0xffffffd8, 0xffffffd6, 0xffffffd5,
    33  	0x00000027, 0xffffffd8, 0x0000001b, 0xffffffd8, 0x00000029, 0x00000027,
    34  	0xffffffd8, 0xffffffd8, 0x00000027, 0x00000027, 0xffffffd9, 0xffffffd8,
    35  	0x00000026, 0x00000027, 0xffffffd8, 0x00000029, 0x00000000, 0xffffffd8,
    36  	0xffffffd7, 0xffffffd8, 0x00000027, 0x00000027, 0x00000026, 0x00000026,
    37  	0xffffffd8, 0x00000029, 0xffffffd8, 0xffffffd8, 0x00000027, 0xffffffd8,
    38  	0x00000027, 0x00000027, 0x00000027, 0x00000029, 0x00000027, 0xffffffd8,
    39  	0x0000001b, 0x00000027, 0xffffffff, 0x00000027, 0xffffffd8, 0x00000027,
    40  	0x00000026, 0x00000000, 0xffffffff, 0x00000027, 0xffffffd8, 0xffffffd6,
    41  	0x00000003, 0xffffffd5, 0x00000000, 0xffffffd8, 0xffffffd8, 0x00000026,
    42  	0x00000026, 0xffffffff, 0x00000000, 0x00000027, 0x00000027, 0x00000027,
    43  	0x00000028, 0xffffffd8, 0x00000029, 0x00000027, 0x00000028, 0xffffffd8,
    44  	0x00000029, 0x00000027, 0x00000027, 0xffffffd8, 0x00000029, 0xffffffd8,
    45  	0x00000027, 0xffffffd8, 0x00000027, 0x00000000, 0xffffffd7, 0x00000027,
    46  	0x00000028, 0xffffffd9, 0xffffffd8, 0xffffffd8, 0xffffffd6, 0xffffffd8,
    47  	0x00000026, 0xffffffd8, 0xffffffd7, 0x0000001b, 0xffffffd8, 0x00000000,
    48  	0x00000027, 0x0000001b, 0x00000027, 0x00000027, 0x00000027, 0x00000026,
    49  	0x00000003, 0x00000027, 0x00000028, 0xffffffff, 0xffffffd8, 0xffffffd8,
    50  	0xffffffd8, 0x00000027, 0x00000029, 0x00000027, 0xffffffd8, 0x00000027,
    51  	0x00000027, 0x00000027, 0xffffffd9, 0x00000027, 0xffffffd9, 0xffffffd8,
    52  	0xffffffe4, 0x00000027, 0x00000027, 0xffffffd9, 0xffffffd8, 0x00000027,
    53  	0x00000026, 0x00000028, 0xffffffd6, 0xffffffd6, 0x00000027, 0x00000027,
    54  	0x00000000, 0x00000027, 0xffffffd8, 0xffffffd7, 0xffffffff, 0x00000026,
    55  	0xffffffd9, 0x00000027, 0xffffffd8, 0xffffffd8, 0x00000026, 0xffffffd8,
    56  	0xffffffd8, 0xffffffd8, 0xffffffd9, 0xffffffd6, 0xffffffd8, 0xffffffd6,
    57  	0xffffffe4, 0x00000027, 0x00000027, 0xffffffd8, 0x00000027, 0xffffffd8,
    58  	0x00000000, 0xffffffd6, 0x00000027, 0x00000027, 0x00000027, 0xffffffd8,
    59  	0x00000027, 0x00000027, 0xffffffd8, 0x00000027, 0xffffffd8, 0x00000027,
    60  	0xffffffd8, 0x00000027, 0x00000000, 0xffffffd8, 0x0000001b, 0xffffffd8,
    61  	0xffffffd8, 0x00000000, 0x00000000, 0x00000027, 0xffffffd8, 0xffffffd9,
    62  	0xffffffff, 0xffffffd8, 0xffffffd8, 0x00000028, 0x00000027, 0xffffffd6,
    63  	0x00000027, 0xffffffd8, 0x00000027, 0x00000026, 0xffffffd8, 0x00000027,
    64  	0xffffffd8, 0xffffffff, 0xffffffd7, 0xffffffd7, 0x00000027, 0x00000000,
    65  	0x00000027, 0x00000027, 0x00000027, 0xffffffd8, 0x00000027, 0xffffffd8,
    66  	0xffffffd6, 0xffffffd9, 0x00000027, 0x00000027, 0x00000027, 0x00000028,
    67  	0xffffffd8, 0x00000027, 0xffffffd8, 0x00000027, 0x00000027, 0xffffffd8,
    68  	0x00000029, 0xffffffe4, 0xffffffd8, 0xffffffd9, 0x00000027, 0xffffffd8,
    69  	0xffffffd6, 0x00000026, 0x00000028, 0xffffffd8, 0x00000026, 0xffffffd9,
    70  	0xffffffd9, 0x00000028, 0xffffffe4, 0xffffffd8, 0x00000027, 0xffffffd7,
    71  	0x00000026, 0x00000027, 0xffffffd8, 0xffffffd8, 0xffffffff, 0x00000027,
    72  	0x0000001b, 0xffffffd9, 0xffffffd8, 0x00000027, 0x00000029, 0x00000027,
    73  	0x00000026, 0xffffffd9, 0xffffffd8, 0xffffffff, 0xffffffd8, 0xffffffd8,
    74  	0xffffffd8, 0xffffffd6, 0x00000027, 0xffffffd8, 0xffffffd8, 0x00000029,
    75  	0xffffffff, 0x00000026, 0x00000027, 0x00000027, 0x00000027, 0xffffffd6,
    76  	0x00000027, 0xffffffd8, 0x00000027, 0x00000027, 0xffffffd5, 0xffffffd9,
    77  	0x00000027, 0x00000027, 0x00000027, 0xffffffff, 0x00000027, 0x0000002a,
    78  	0x00000027, 0xffffffd8, 0xffffffd8, 0x00000027, 0xffffffd5, 0x00000027,
    79  	0x00000027, 0xffffffd9, 0x00000000, 0x00000026, 0x00000027, 0xffffffd5,
    80  	0x00000027, 0xffffffd8, 0x00000027, 0xfffffffc, 0xffffffd9, 0x00000027,
    81  	0x00000028, 0x00000028, 0x00000027, 0xffffffd8, 0x00000027, 0x00000027,
    82  	0xffffffd8, 0x00000003, 0xffffffd8, 0x00000027, 0xffffffd5, 0xffffffd8,
    83  	0x00000029, 0xffffffd8, 0xffffffd8, 0xffffffd6, 0x0000001b, 0xffffffd8,
    84  	0xffffffd6, 0x00000000, 0x00000027, 0xffffffd8, 0xffffffd8, 0x00000003,
    85  	0x00000000, 0x00000027, 0xffffffd8, 0x00000027, 0xffffffd8, 0xffffffd8,
    86  	0xffffffe4, 0x00000026, 0xffffffd8, 0x00000027, 0x00000027, 0x00000026,
    87  	0x00000029, 0xffffffd8, 0xffffffd8, 0xffffffd9, 0xffffffd6, 0xffffffd8,
    88  	0xffffffd8, 0xffffffd8, 0x00000027, 0x00000026, 0xfffffffc, 0xffffffff,
    89  	0xffffffd7, 0x00000027, 0x00000027, 0xffffffd6, 0x00000027, 0xffffffd8,
    90  	0xffffffd8, 0xffffffe4, 0x00000028, 0x00000027, 0xffffffd8, 0x00000027,
    91  	0xffffffd8, 0x00000027, 0xffffffd8, 0xffffffd8, 0x00000027, 0xffffffd8,
    92  	0xffffffff, 0x00000027, 0xffffffd9, 0x00000027, 0x00000027, 0xffffffd6,
    93  	0xffffffd6, 0xffffffd8, 0xffffffd6, 0xffffffd8, 0xffffffd8, 0xffffffd8,
    94  	0xffffffd6, 0xffffffd8, 0x00000027, 0xffffffd8, 0xffffffd6, 0x00000027,
    95  	0xffffffd9, 0x00000027, 0x00000027, 0x00000026, 0x00000027, 0x0000002a,
    96  	0x00000026, 0x00000027, 0x00000028, 0x00000026, 0x00000027, 0xffffffd8,
    97  	0x00000026, 0x00000026, 0xffffffd8, 0xffffffd8, 0xffffffd8, 0xffffffd8,
    98  	0xffffffd8, 0x00000029, 0x00000027, 0x00000028, 0xffffffd8, 0x0000002a,
    99  	0xffffffd8, 0xffffffd9, 0xffffffd8, 0xffffffd8, 0x00000029, 0xffffffd8,
   100  	0x00000026, 0xffffffd8, 0xffffffd5, 0x00000027, 0x00000029, 0xffffffd9,
   101  	0xffffffd6, 0xffffffd8, 0xffffffd9, 0x00000027, 0xffffffd8, 0x00000000,
   102  	0xffffffd8, 0x00000029, 0x00000029, 0x00000027, 0x00000029, 0x00000027,
   103  	0xffffffd8, 0x00000027, 0xffffffd8, 0x00000027, 0xffffffd6, 0x00000026,
   104  	0x00000027, 0x00000027, 0x0000002a, 0x00000027, 0x0000001b, 0xffffffff,
   105  	0xffffffd9, 0x00000029, 0x00000026, 0x00000000, 0x00000027, 0xffffffd8,
   106  	0x00000027, 0xffffffd8, 0x00000027, 0xffffffd8, 0x00000000, 0xffffffd8,
   107  	0xffffffd8, 0xffffffd8, 0x00000027, 0xffffffd8, 0x0000002a, 0xffffffd9,
   108  	0xffffffd8, 0xffffffd8, 0xffffffd6, 0x00000000, 0x00000027, 0xffffffd8,
   109  	0x00000000, 0x00000027, 0x00000027, 0xffffffd6, 0xffffffe4, 0xffffffd9,
   110  	0xffffffd8, 0x00000027, 0xffffffd8, 0xffffffd8, 0x00000027, 0xffffffd8,
   111  	0xffffffd8, 0xffffffd8, 0x00000027, 0x00000027, 0xffffffd6, 0x00000027,
   112  	0xffffffd6, 0xffffffd8, 0xffffffe4, 0xffffffd8, 0x00000027, 0xffffffd8,
   113  	0x0000002a, 0x00000026, 0x00000027, 0x00000027, 0x0000002a, 0xffffffd6,
   114  	0xffffffff, 0xffffffd9, 0xffffffd8, 0x00000027, 0xffffffd8, 0x00000027,
   115  	0x00000027, 0x00000027, 0xffffffd8, 0xffffffd8, 0x0000001b, 0xffffffd9,
   116  	0x00000000, 0x00000029, 0xffffffd8, 0x00000027, 0x00000026, 0x00000029,
   117  	0x00000026, 0x00000027, 0xffffffd8, 0x00000027, 0x00000027, 0xffffffff,
   118  	0xffffffd7, 0xffffffd8, 0xffffffd8, 0x00000027, 0x00000027, 0xffffffd8,
   119  	0xffffffff, 0x0000001b, 0x00000027, 0xffffffd8, 0xffffffd8, 0xffffffd8,
   120  	0x00000027, 0xffffffd8, 0xffffffd8, 0x00000028, 0xffffffe4, 0x00000026,
   121  	0x0000001b, 0xffffffd8, 0xffffffd8, 0x0000002a, 0x00000029, 0xffffffd6,
   122  	0x00000026, 0xffffffe4, 0xffffffd9, 0x00000027, 0x00000027, 0xffffffd8,
   123  	0x00000027, 0x00000027, 0x00000027, 0xffffffd8, 0x0000002a, 0x00000027,
   124  	0x00000027, 0xffffffd8, 0x00000027, 0x00000027, 0x00000026, 0xffffffd8,
   125  	0x00000027, 0xffffffff, 0x00000026, 0x00000027, 0xffffffd7, 0x00000027,
   126  	0xffffffd8, 0xffffffd8, 0x00000027, 0xffffffd8, 0x00000027, 0xffffffd9,
   127  	0x00000000, 0xffffffe4, 0xffffffd6, 0x00000027, 0xffffffd8, 0x00000027,
   128  	0x00000027, 0x00000026, 0xffffffd9, 0xffffffd6, 0x00000027, 0x00000000,
   129  	0x00000027, 0x00000027, 0x00000027, 0x00000027, 0x00000027, 0xffffffd8,
   130  	0x0000001b, 0x00000027, 0x0000001b, 0xffffffd6, 0xffffffd9, 0x00000027,
   131  	0xffffffe4, 0xffffffd6, 0x00000029, 0x00000027, 0xffffffd7, 0x00000028,
   132  	0x00000027, 0x00000029, 0xffffffd8, 0xffffffd8, 0xffffffd8, 0x00000027,
   133  	0x00000027, 0xffffffd8, 0xffffffd5, 0x00000000, 0xffffffd8, 0x00000029,
   134  	0x00000027, 0xffffffd6, 0x00000027, 0xffffffd8, 0x00000027, 0x00000027,
   135  	0xffffffd8, 0xffffffd7, 0xffffffd9, 0x00000027, 0x00000027, 0xffffffff,
   136  	0xffffffd7, 0x00000027, 0x00000026, 0x00000027, 0x0000002a, 0x00000027,
   137  	0x00000028, 0x00000027, 0xffffffd6, 0xffffffd6, 0xffffffd8, 0x00000027,
   138  	0xffffffd8, 0xffffffd8, 0x00000028, 0xffffffd6, 0x00000027, 0x00000027,
   139  	0x00000027, 0xffffffd8, 0xffffffd8, 0x00000027, 0x00000027, 0xffffffd9,
   140  	0x0000002a, 0x00000027, 0xffffffff, 0xffffffd8, 0xffffffd8, 0xffffffd7,
   141  	0x00000027, 0x00000027, 0xffffffd8, 0xffffffd9, 0x00000027, 0xffffffd8,
   142  	0x00000027, 0x00000000, 0xffffffd8, 0x00000027, 0xffffffd8, 0x00000027,
   143  	0x00000027, 0x00000027, 0xffffffd8, 0x00000027, 0x00000027, 0xffffffd8,
   144  	0xffffffd8, 0x00000026, 0x00000027, 0x00000026, 0x00000027, 0x00000027,
   145  	0x00000027, 0xffffffd6, 0x00000027, 0x0000002a, 0xffffffd9, 0xffffffd8,
   146  	0x00000027, 0x00000026, 0xffffffd8, 0xffffffe4, 0xffffffd8, 0x00000027,
   147  	0xffffffd8, 0x00000027, 0xffffffd8, 0xffffffd8, 0xffffffd6, 0xffffffd8,
   148  	0xffffffd8, 0x00000027, 0xffffffd9, 0x00000027, 0x00000000, 0xffffffd8,
   149  	0xffffffd9, 0xffffffd5, 0xffffffd8, 0x00000000, 0xffffffd6, 0xffffffe4,
   150  	0xffffffd6, 0xffffffd6, 0x00000027, 0xfffffffc, 0x00000027, 0x0000002a,
   151  	0xffffffd8, 0xffffffd8, 0xffffffd8, 0xffffffd5, 0xffffffd7, 0x00000027,
   152  	0xffffffd8, 0x00000029, 0xffffffd7, 0x00000027, 0xffffffd8, 0x00000029,
   153  	0xffffffd9, 0x00000029, 0xffffffd9, 0xffffffd8, 0x00000026, 0x0000002a,
   154  	0x00000028, 0x00000000, 0xffffffd8, 0x00000027, 0xffffffd8, 0x00000027,
   155  	0x00000027, 0x00000028, 0x00000027, 0x00000027, 0xffffffd8, 0xffffffd8,
   156  	0x00000029, 0xffffffd8, 0x00000026, 0xffffffd5, 0x00000027, 0x00000027,
   157  	0x00000027, 0xffffffd8, 0x0000001b, 0x00000027, 0x00000027, 0x00000000,
   158  	0xffffffd8, 0x00000027, 0xffffffd8, 0x00000026, 0xffffffd9, 0xffffffd8,
   159  	0x00000026, 0x00000027, 0xffffffd8, 0x00000026, 0xffffffd8, 0xffffffd8,
   160  	0x00000027, 0x0000002a, 0xffffffd6, 0x00000027, 0x00000027, 0xffffffd6,
   161  	0xffffffff, 0x00000000, 0xffffffd8, 0x00000027, 0xffffffd9, 0x00000027,
   162  	0xffffffd8, 0x00000027, 0x00000026, 0xffffffd8, 0x00000000, 0x0000001b,
   163  	0x00000027, 0xffffffd8, 0xffffffd6, 0xffffffd8, 0x00000000, 0x00000027,
   164  	0x00000029, 0x00000027, 0x00000027, 0x00000027, 0x00000027, 0xffffffd6,
   165  	0x00000027, 0x0000002a, 0x00000027, 0xffffffd8, 0xffffffd8, 0xffffffd8,
   166  	0x00000026, 0xffffffd8, 0x00000027, 0xffffffd6, 0xffffffd8, 0xffffffd8,
   167  	0x00000027, 0x00000027, 0xffffffd8, 0xffffffd8, 0x00000003, 0xffffffd8,
   168  	0x0000002a, 0xffffffe4, 0xffffffd9, 0x00000027, 0xffffffd9, 0xffffffd9,
   169  	0x00000026, 0x00000027, 0x00000029, 0x0000001b, 0x00000027, 0x00000026,
   170  	0x00000027, 0xffffffd9, 0x00000000, 0x00000026, 0x00000027, 0x00000029,
   171  	0xffffffd6, 0x00000027, 0x00000026, 0xffffffe4, 0x00000027, 0x00000028,
   172  	0xffffffd8, 0x00000026, 0x00000027, 0x00000026, 0xffffffd7, 0xffffffd8,
   173  	0xffffffd8, 0x00000027, 0xffffffd8, 0xffffffd8, 0xffffffe4, 0x00000000,
   174  	0xffffffd8, 0x00000029, 0x00000027, 0x00000027, 0x00000027, 0xffffffd8,
   175  	0x00000029, 0xffffffd8, 0x00000027, 0x00000027, 0x00000026, 0xffffffd8,
   176  	0xffffffd8, 0xffffffd9, 0x00000027, 0xffffffd8, 0xffffffe4, 0x00000003,
   177  	0x00000026, 0xffffffd8, 0xffffffd8, 0x00000003, 0x00000027, 0xffffffd8,
   178  	0x0000002b, 0x00000026, 0x00000026, 0x00000027, 0xffffffff, 0x00000027,
   179  	0x00000026, 0x00000027, 0x00000029, 0xffffffd9, 0x00000000, 0xffffffd8,
   180  	0xffffffd8, 0x00000026, 0xffffffd8, 0xffffffd8, 0x00000027, 0xffffffd8,
   181  	0x00000027, 0xffffffd9, 0xffffffd8, 0x00000027, 0x00000026, 0xffffffd7,
   182  	0xffffffd8, 0xffffffff, 0xffffffd8, 0xffffffd8, 0xffffffd9, 0xffffffd9,
   183  	0xffffffd9, 0x00000000, 0xffffffd6, 0xffffffd8, 0xffffffd7, 0x00000000,
   184  	0x00000027, 0x00000027, 0x00000027, 0xffffffd8, 0xffffffd8, 0x0000001b,
   185  	0xffffffd6, 0x00000026, 0x00000026, 0xffffffd8, 0x00000027, 0x00000027,
   186  	0xffffffd9, 0x00000027, 0xffffffd8, 0xffffffd8, 0x00000026, 0xffffffd9,
   187  	0x00000027, 0x00000027, 0x0000001b, 0xffffffd8, 0x00000027, 0xffffffe4,
   188  	0x00000027, 0xffffffd8, 0x00000000, 0xffffffd5, 0x00000027, 0x00000000,
   189  	0x00000027, 0x00000027, 0x00000027, 0x00000029, 0xffffffd8, 0xffffffd8,
   190  	0x00000027, 0x00000027, 0xffffffd6, 0x00000029,
   191  }
   192  
   193  var refBobPk = [1024]uint32{
   194  	0xbe985e4d, 0xfbacef9f, 0xe9115c91, 0x8d4f8513, 0x48d69349, 0x84871e92,
   195  	0x8c9980e2, 0xe8536e93, 0x75d2106b, 0xee394e71, 0xbef167f2, 0xaf1c9b5a,
   196  	0xf96d8083, 0xe21a3239, 0xcb5a4834, 0x42f564c0, 0x9a558b1f, 0xb296f8ce,
   197  	0x7e77e38d, 0xc4078f72, 0x463ef7a5, 0x50b055ab, 0xcdf90ab3, 0x3046e1f9,
   198  	0xaddf3c99, 0x28bae3ce, 0x46becec0, 0xa8fbc5af, 0x7652d53d, 0xfd5b736a,
   199  	0xd8f4713c, 0x3a44c582, 0xee684dbc, 0x39492297, 0x6874e59a, 0x2cd57cfe,
   200  	0xa276bced, 0x5f004866, 0x51dbe178, 0xd4bb51f1, 0x51b182c2, 0xa43cc11a,
   201  	0x7adeeaa6, 0x4bd761fd, 0x5d716aa7, 0xc9efc160, 0x68ae4ac9, 0xa3e8c76b,
   202  	0xef71d1e0, 0x11913f5f, 0x2e8f8dfc, 0xb3c883d2, 0xefa2bf3c, 0x655354fe,
   203  	0xc2f60e7e, 0xde5da865, 0xe22c252d, 0x15800280, 0x80c940b5, 0x25dd060f,
   204  	0x05570227, 0x70835707, 0xba9087ef, 0x19d7952d, 0xd7222300, 0x0a098a8a,
   205  	0xa5a495f5, 0x2f319977, 0x573a39b9, 0x5210d2da, 0x35bf9d89, 0xa1a61f3a,
   206  	0x3b5c58dd, 0xef8b2a82, 0x149035a8, 0x4634471b, 0x1a64bc02, 0xaf32f14c,
   207  	0x82621acd, 0xb895828f, 0xbae0488b, 0xf0865a2e, 0xeb8af3d9, 0x3d504cdc,
   208  	0x384a73cb, 0x914ff39e, 0xaccd1f32, 0x3293b381, 0x72af0a26, 0xef1be3de,
   209  	0x75652802, 0xd6492a05, 0x200300d2, 0x9cac5863, 0x1d805cdf, 0xfce02e02,
   210  	0x6ed8e492, 0x2de9e304, 0xa7dd3144, 0xd1ab8c7c, 0x1c312463, 0x9f1be797,
   211  	0xeea9e381, 0x82931ee4, 0x16f8a892, 0x43fab561, 0x41551cb3, 0xb598f30b,
   212  	0x2fa01513, 0x7f30467f, 0x3cc9114e, 0x0307bcbc, 0x752b71aa, 0xc0ede4b4,
   213  	0xc15cbe12, 0xc7fc58d4, 0x692358d4, 0xbdfbdb31, 0x800d6648, 0x14635f6a,
   214  	0x117ab8a6, 0xae654da5, 0x7d5199c0, 0xe0e4f255, 0x8973377e, 0x04e93acd,
   215  	0x776e4483, 0xd7fd6c2f, 0x5266cf09, 0x2c66111f, 0x232b84f7, 0x1f5d31a2,
   216  	0x07012574, 0x7aa357be, 0x29864d34, 0x45ba0491, 0xa413837b, 0x5336ffb4,
   217  	0x098def99, 0xd3625052, 0x14456791, 0xbabec498, 0x0f76cc0d, 0x6554b55b,
   218  	0x287d1975, 0x7d1abcb6, 0x19340b6e, 0x884963d8, 0x41c1ee84, 0xc4c94779,
   219  	0x7f04e020, 0xe94448b3, 0xa26fb8f5, 0xa87b8cce, 0xa7edccf0, 0x240966e3,
   220  	0xc2f53329, 0xf192109c, 0x4d63fd30, 0x89d5920f, 0x14903e11, 0x8ba00519,
   221  	0x05105ec9, 0x2d8bdebe, 0xd69009cf, 0x0acbd1f9, 0x32442feb, 0xd2022552,
   222  	0x4c8e7622, 0xbd189f78, 0x1ddef5c3, 0x5ffdd4a9, 0x81d78697, 0xf7057cc0,
   223  	0x65371a7e, 0x41c686b8, 0xcf69c412, 0x2dd32e00, 0x1f58acfe, 0x27aed095,
   224  	0x9ce290fe, 0xd1e20a25, 0x579c5a30, 0x7cf41ec2, 0xf91ffeca, 0xa15153e0,
   225  	0x2e0370e3, 0x49245ac6, 0x35b132dd, 0xd2e7f913, 0x7087c6a8, 0x87ca92da,
   226  	0x22ab67aa, 0x8683d136, 0x473c7c53, 0x723c4bac, 0xe7005954, 0x6043f0b6,
   227  	0x400c4982, 0x0caa553d, 0x6b90ed0e, 0x690e08b4, 0x592caf22, 0x6c22692b,
   228  	0x30c8d1c0, 0x76785541, 0xe6bbb0d8, 0x0e38ddcf, 0xc0585b7b, 0x4f4478d8,
   229  	0x41c18400, 0x1601fec5, 0xe4badb84, 0x5c88eccf, 0x2f1b5c26, 0x4928b4b3,
   230  	0x853026aa, 0x98dada03, 0x6f41442e, 0xe1254b10, 0x1a27c911, 0x2c10b227,
   231  	0x0729d477, 0xec06b2c2, 0x7def819b, 0x934df228, 0x8981c58a, 0xe7b802f6,
   232  	0x4c137c02, 0x17134cd9, 0x1e0da0a2, 0x003a8f80, 0x540f3ef2, 0x3381f1a0,
   233  	0x749ad4e9, 0xfe5a70ae, 0xa4d8145e, 0x6e68e268, 0xc0a1737f, 0xeed81b40,
   234  	0x8ba11287, 0x27bf50cf, 0x8a725b64, 0x5574ea3a, 0x78e35adb, 0x7459a727,
   235  	0x38957d42, 0x8d050eda, 0x9fa8a573, 0x312df195, 0xe0b67609, 0x3d0c7515,
   236  	0x508c5583, 0x0205f896, 0x1221c255, 0x1336052d, 0xf7bc69ab, 0x97ba2cac,
   237  	0x9edffced, 0x4a051aaf, 0x36fffb76, 0xca67ad15, 0x7f397eb9, 0xb971edeb,
   238  	0xe4077bfe, 0x23583948, 0x33c2799f, 0xd2181b4f, 0xad19e2f7, 0x11362271,
   239  	0x063f8e53, 0x2f7c038b, 0x5aa2b6f4, 0x7998e321, 0xdecd4f65, 0x6984c602,
   240  	0x097cbdab, 0xde9454a1, 0x4c28e726, 0x410c01b4, 0x4b809554, 0x18d8d62d,
   241  	0xaf1190f6, 0xfe47cb2a, 0xcdf93cb4, 0x257220e6, 0x029b535d, 0x71772de4,
   242  	0xdae105b6, 0x99eaaccd, 0x993fe974, 0x90b6699f, 0xf278288e, 0x066b9563,
   243  	0x57a7ff64, 0x41de5018, 0x0d663078, 0x32f4d0bd, 0x11429cae, 0xfe5c1631,
   244  	0x9b5da054, 0xd1bdf214, 0x134b78de, 0xef4d54ad, 0xd5549fe7, 0xeea30d51,
   245  	0xecffdf08, 0xce047b68, 0x8a5d9c8c, 0x895fd08f, 0xfbe84b4b, 0x1b3095f4,
   246  	0xf5286312, 0xe4f7feed, 0x132a7322, 0x24f7fd2e, 0x53f15e4c, 0x7c0f6f00,
   247  	0xef9ba992, 0x1e98a9d0, 0xa11a3483, 0xa07a1499, 0xdacfadf9, 0xac93f2a7,
   248  	0xc71cb204, 0xb9391b1f, 0xadc439c3, 0x26700780, 0xbab30ce4, 0xed6c5667,
   249  	0x64ed836e, 0xd8221a12, 0xc5f51e4d, 0x1f567fd8, 0x0a087843, 0xb747f1a0,
   250  	0x2fa76843, 0xe6181758, 0xc62f21db, 0xc812f17f, 0x4dd4b67b, 0xef01db36,
   251  	0x41893a65, 0xa705c912, 0x3b2bd218, 0x22e57b07, 0x8dc1586a, 0xe80a937d,
   252  	0x8091dd2f, 0xcd7a4e68, 0x4c886358, 0x8ff33fb7, 0xc467a732, 0xc661c330,
   253  	0x52aca97c, 0x5f2c2fe6, 0xa3023265, 0x946d503d, 0xc27e933d, 0xdb470660,
   254  	0x808e4b5d, 0x188bd518, 0x5c9bb047, 0x0cc2a601, 0xe0675ca7, 0xfeaf0f40,
   255  	0xcc99c343, 0x7edb0fdd, 0xa0b59af7, 0x3923ad5e, 0x8bfac136, 0x39f171e0,
   256  	0x778fc34a, 0xf2ac9b06, 0x55fb8226, 0x13dd557c, 0x612ed0cc, 0xb11b5bcb,
   257  	0xf3cb524b, 0x4b7ca2f8, 0x74f9cecd, 0xc441e452, 0x4f8ffcdb, 0xa0d82c91,
   258  	0xf31adc03, 0x30518bfa, 0xf681b0b5, 0x08eec15a, 0xacb1cf8e, 0xb1464132,
   259  	0x8b239302, 0xa7434c1f, 0xf8c43c78, 0x91096df3, 0x8cd30e35, 0x175f9dfe,
   260  	0x598cdbfa, 0x087290ae, 0x3eb65cf7, 0x18971d2b, 0x2b1f978a, 0x5aafd530,
   261  	0x9b00d8be, 0xa815ddde, 0x527cdecd, 0x9debfcfe, 0x68584ffb, 0x0c035e44,
   262  	0x06d26ff6, 0x588f5217, 0x9325c859, 0x926d74f5, 0x1386cc37, 0x0d589fd0,
   263  	0x176eb74b, 0xeb27f592, 0x1b4957d2, 0xd82c6107, 0x03f4b0cf, 0x011e43d3,
   264  	0x0f378bc1, 0x35b1495c, 0xbe26e674, 0x562c8797, 0x29167e4d, 0xcbf90aa0,
   265  	0xcc7d6440, 0x1bda9f97, 0x18b7956e, 0x0e4102f4, 0x2504f97d, 0x4e21219f,
   266  	0x29cdae2b, 0x4e4f4122, 0x73844ba0, 0xdfda513d, 0x6c1040a2, 0x503be2d8,
   267  	0xc3b756dd, 0xf13346eb, 0x9d50b36a, 0x80be830f, 0xa1c4b044, 0x5ba50f88,
   268  	0x7df7671a, 0xf68475fd, 0x518d3b29, 0xce9dcae8, 0xba718e8d, 0x00ffd62e,
   269  	0x44040474, 0x71adee51, 0x20df0338, 0xcd27354f, 0xf3803b5a, 0x438bfc4d,
   270  	0x735db3ae, 0xbc7a20f1, 0x3653fc63, 0x67423461, 0xe7bfc4b3, 0x63a68da5,
   271  	0xe9e1e4b2, 0xc79da596, 0x22f6cc36, 0xb9686b9a, 0xfcd87efb, 0x4cd7adce,
   272  	0xa10e51ed, 0x3c2b3a05, 0xcf7db8dd, 0x97181465, 0xc0017597, 0x577d5722,
   273  	0xbd372634, 0xf4dbf918, 0xdc7dbd9b, 0x11d03e44, 0x82a484ee, 0xcb0e84d9,
   274  	0xec52bd9c, 0xc50d1e06, 0xbf3a0514, 0xcaf43380, 0x51d05de3, 0x805af275,
   275  	0x8eb46735, 0x24ba260d, 0x5334c3d8, 0xf1d318ba, 0x3a654ef2, 0xf7cbf153,
   276  	0x4a1fb639, 0x8db2fe09, 0x48bbc3a4, 0x0366db94, 0xb9d13a58, 0x13ecf073,
   277  	0x5003c45b, 0x6af698bd, 0x87776799, 0xcb90230b, 0xe51e0ae0, 0xbbfcb2e2,
   278  	0x7597f7dc, 0x070202ee, 0xdacd68a8, 0xb277a537, 0x81c27ebf, 0x19d19e07,
   279  	0x6806450d, 0x703fbf44, 0xdbaee8d5, 0x84837304, 0xa4ae0652, 0x62d36567,
   280  	0x9ffac1c8, 0x9dee598a, 0x7642b289, 0x1f87728f, 0xb12e41c5, 0xc1739d2b,
   281  	0xa64759b4, 0x095a08ab, 0xc90d7714, 0xcbcde14a, 0xc9892da1, 0x05165257,
   282  	0xf5cba3f7, 0x3e0604b9, 0x0d303808, 0xca69849d, 0x8cd6678c, 0x2cf46bb6,
   283  	0x906f9742, 0xbd1ef013, 0xfb33acfe, 0xb6e6426c, 0xcf885e5d, 0x5ffa5fb9,
   284  	0xc38e7383, 0x3b5b0a83, 0xc33b5468, 0xa316fb1f, 0x18f77f54, 0xd4f54aa4,
   285  	0x949e8b7a, 0x237febf5, 0x6485d5eb, 0x20073fef, 0x22021447, 0x9a799478,
   286  	0x96ffc20d, 0xeeb1a70b, 0x846f9379, 0x8d91106e, 0x84d3a5c9, 0xab82d11f,
   287  	0x75e348de, 0x5e660272, 0x61f9c473, 0xc96a6ebc, 0x743aadb1, 0x54b333be,
   288  	0xa4067f31, 0x37f05b97, 0x14bd835f, 0xb3123d01, 0xa8f49559, 0xc08dea4e,
   289  	0xc546339d, 0xdde30a8c, 0xe73fe33c, 0x0e194cc0, 0x2687001f, 0x688dd6f4,
   290  	0x7d690c84, 0x7d44214e, 0xa95c6e44, 0xe7d2d3f7, 0x4fcc6e5a, 0x786c83c5,
   291  	0x98d8ac63, 0x28233b6f, 0x0c2b9cac, 0x4fea1a0f, 0xaaa461d8, 0xb95437b0,
   292  	0x069e2371, 0x3fe2815c, 0x2ad4fdcb, 0xe855f785, 0x0123648c, 0xa5e1c2ba,
   293  	0xc70191eb, 0x57791855, 0x3b09c59d, 0xbffe26c4, 0xb8765e60, 0x3ae91170,
   294  	0xea771c3b, 0xc61131b8, 0xf3dfebb5, 0xcb974ef5, 0x739d9e33, 0xe7e3f797,
   295  	0xff39ea3b, 0xbc91e0dd, 0x91156174, 0xca41652c, 0xe84c3e36, 0x697b7d91,
   296  	0x258aad60, 0xd0013276, 0xdeb28692, 0x135e1c7c, 0x34addce5, 0x1ec0f3f5,
   297  	0xf9c25b87, 0x1698237b, 0xe6881d9e, 0x56b4ea8d, 0x5d7d9ec4, 0xf8d89b1d,
   298  	0x82c3ed22, 0x5c79d0c8, 0x0de40787, 0x239f36a1, 0x84493a58, 0x7cca080e,
   299  	0x70b948fe, 0xf1b223ad, 0x7349ce0f, 0x8f012b3f, 0x0023488f, 0x6e512e82,
   300  	0x53e085f9, 0xc432526d, 0xed1e1041, 0xfa3e7028, 0xc51e4bad, 0x8cccd377,
   301  	0xf824b7ef, 0xaf09ab4b, 0x5529e67c, 0xb44b464b, 0x9cbd33ea, 0x11dee68b,
   302  	0xee8e1bf2, 0xa59677d4, 0x58212962, 0xeab73497, 0x41679797, 0xedaa1936,
   303  	0x2380842b, 0x335a2739, 0x5c93bd51, 0xb6404ea9, 0x59eddfb6, 0x8a044027,
   304  	0x6fbe4195, 0xdec23ed7, 0xc4ec80a5, 0x3c1569e2, 0x2f7f6642, 0x5ee1b77f,
   305  	0xeb860258, 0x78cc7968, 0x10fceac9, 0x2db9a06e, 0x3350b9ff, 0x02d226c6,
   306  	0x73801c52, 0x0aac680b, 0xdb4c8f01, 0x12718a2e, 0xf2d12ce6, 0x1924d393,
   307  	0x339aae9b, 0x132ae4c0, 0x69a09a41, 0x5127667d, 0x582e3697, 0x617ab1e8,
   308  	0x3bd64ed3, 0xe4435cde, 0xe5cf08f6, 0x375b0444, 0x248b424d, 0xdbdf054f,
   309  	0x39893a14, 0x53f3a440, 0xe9b8f1ac, 0x31cd5d20, 0xaf18668a, 0xb3f43e7a,
   310  	0x72f1ce6e, 0xe1f05656, 0x5b7c026e, 0x0592011c, 0x5dc6bdb7, 0xba9021ba,
   311  	0x011d91e5, 0x4232df50, 0x5e7c8522, 0x90e01c66, 0x68b19c21, 0xe3252a97,
   312  	0x29c94b07, 0x1b73fe7d, 0x919b2cd5, 0x485ca142, 0x6979abc3, 0xb5b4f2fa,
   313  	0xab2636bb, 0xdc340b48, 0xe1b59bd4, 0x6075f544, 0x727cfc1c, 0x052b9b89,
   314  	0xfac3b9fa, 0xbe30f9ab, 0x36968aac, 0x5939f1d2, 0xc54047e3, 0xabc247cd,
   315  	0xcb51b8fc, 0xcb5a1119, 0x0eaf060e, 0x7693b370, 0x7f1a0e9b, 0x41e30ba7,
   316  	0xf52811f8, 0x31c55f80, 0xa07b7ee3, 0x0fa38c92, 0x78918b13, 0xb090c739,
   317  	0xcf467ebb, 0x6f3143d0, 0x300f8c2c, 0xad822127, 0xe09e9b84, 0x8ab6a3ae,
   318  	0xda3cac6c, 0x7938d3d4, 0xc54c33ae, 0x4f331435, 0x24cf3222, 0x4c6cbf7a,
   319  	0x0d863319, 0x0283ab28, 0x262db4c9, 0xc02c7fae, 0x8f0617b5, 0x8ed42d10,
   320  	0xdd0ffdda, 0xb7a97b07, 0x05a9c45d, 0xf004f22a, 0xe05324b7, 0x906f25fc,
   321  	0xe521b393, 0xddfa77f9, 0xfa67b67a, 0x76f89a3a, 0xc193292a, 0x664b1ad0,
   322  	0x01705fe3, 0xed2df2a9, 0x3ba8b815, 0x9175c470, 0x3e5a570d, 0xb2b412b3,
   323  	0xf43f2f78, 0x554886c0, 0x499fa4d8, 0xfe7aa0ff, 0x8484bbb1, 0xa514265b,
   324  	0xd46745b9, 0x340ff23e, 0x65db1fcc, 0xf2c99746, 0x7ea1deb0, 0x44cbe89e,
   325  	0x9e101032, 0x76327bc4, 0xfb0b5d0e, 0x4b2c2e41, 0x0ce730c0, 0xa9afc2bb,
   326  	0x34d38bcd, 0xd1ef5825, 0xc818dbfd, 0x4bc87f00, 0xc8e017ec, 0x47e88a2b,
   327  	0x3d58fa90, 0xa912e386, 0x3bf56530, 0xd017109a, 0x1ad1e18f, 0xfec294ee,
   328  	0x94fb3bc7, 0x82cbb3ce, 0x1274b24c, 0x09267b29, 0xd7c2576d, 0xd82d9390,
   329  	0xa1149e32, 0x136c56a6, 0x162d0cbe, 0xa9cd49a6, 0xd16b24a4, 0xa400caa9,
   330  	0xaf8aea51, 0x39ae9bfe, 0xa8f4fed3, 0x1cfb7200, 0xde7e513f, 0xc4b098ee,
   331  	0x4670519b, 0x33099c71, 0x4466d5cc, 0xe2cd7060, 0x54b30485, 0x8fce0330,
   332  	0xdd511c3c, 0xba091ed0, 0xe9f5aebc, 0x499300fa, 0x74f2f45f, 0xe46bdd31,
   333  	0xe4798d52, 0x8bf8db9e, 0xc29145f2, 0xde2682bc, 0x990b8e6a, 0x80937f3c,
   334  	0xddffa0b6, 0xe9cf8706, 0x6625036b, 0x3b939c29, 0x16c1a751, 0x396a1ca2,
   335  	0xd621cdd7, 0x97ebde6d, 0xcd39e585, 0x8138abe7, 0x55b57e64, 0xc3947af8,
   336  	0xb9ac71de, 0x8ccdff27, 0xfff4b8b3, 0xbbd652e2, 0x9730a8d9, 0x59635465,
   337  	0x74938d91, 0x7310f18b, 0x211fdc03, 0xe4c31e78, 0xdd08783a, 0x9bc174da,
   338  	0x1910e8c5, 0xea9dc93c, 0x6a4f8c1f, 0x50e380b8, 0x9393b5b3, 0xc49826c0,
   339  	0x10e3941b, 0x33b57a85, 0x47504f7c, 0x4bd78543, 0xd8ead63e, 0x67e7312d,
   340  	0x61684022, 0x22858a33, 0x11fa8e9c, 0x829143a5, 0x8ccc2395, 0xd82de53f,
   341  	0xf578e4eb, 0x439725bd, 0x3289c6c0, 0x94ce8db4, 0x138cbe56, 0xf9469701,
   342  	0x028dda39, 0xa6fdb802, 0x07a55749, 0xca7dca3c, 0x8587f828, 0x39203a85,
   343  	0xcc9260d6, 0xd0957fc3, 0xd6663059, 0x811b5bc9, 0xe0fcd878, 0x30c2e0d6,
   344  	0x04e552c6, 0x5737e33c, 0x88984cb2, 0xd4643081, 0x582467a2, 0x7e1971e5,
   345  	0x2e277ec6, 0x4690741a, 0x290630fb, 0x4acfe1a5, 0x6512c87c, 0x4bb41e19,
   346  	0x08f845c1, 0x76b7125e, 0xd0fc7e94, 0xdf7fb0ce, 0x42693af9, 0x1d0af868,
   347  	0x9af0da9c, 0x52a089cf, 0xb6fe31cb, 0xb0e077d4, 0x3dacce2f, 0x38193ddd,
   348  	0xab053f48, 0xabb92103, 0xb7e5bcd5, 0xaa6d4bef, 0x43742940, 0x182da6fe,
   349  	0xfcc3dd2d, 0x072863a5, 0x2fdf91af, 0xb8e99b0f, 0x01083bf7, 0x77ceb08d,
   350  	0x281e90c2, 0xefbccb37, 0x505ef4c5, 0xcba3e9fa, 0x19482e6d, 0x506a1a1f,
   351  	0xe8e23503, 0x8771363c, 0xadf35c4d, 0xbe23950c, 0x1707e505, 0x865f4f6c,
   352  	0xe1ca501a, 0xd2fa114f, 0x17be93e9, 0x44918984, 0x9fefd650, 0xb83965a9,
   353  	0x52e24e0f, 0xb207c19d, 0x2dcdfac7, 0xf7d2d984, 0xf6f36301, 0x0dd792c8,
   354  	0x1d644adb, 0x5947a701, 0x56b9f0a9, 0x8e1fe397, 0x6b57eb28, 0x1970825d,
   355  	0xf855c8dc, 0x5345d0bc, 0x0630bfc3, 0x16491b6c, 0x60674052, 0x4a13d4ab,
   356  	0xa528d564, 0xf221f073, 0x35b7d798, 0x63ad27ee, 0xed8a1970, 0x2f43bc7c,
   357  	0x1c15c7c8, 0xf7f92c44, 0x78cfce5b, 0x43fd4f21, 0x942de402, 0x41504075,
   358  	0xe353f253, 0x5f80074c, 0xff58c4c5, 0xb6b64c69, 0x6a0d0d5d, 0xf3aad5c5,
   359  	0x708d8522, 0x80e553a1, 0x0271de21, 0x9da840ea, 0x4d88d30d, 0x21e3680e,
   360  	0x79d54fcc, 0x76d01a5f, 0xdf6ad769, 0x432946b3, 0xbfd62cba, 0x0e9b9c9b,
   361  	0xc3acf75d, 0x335afaa5, 0x9ad5b772, 0x9129f6ed, 0x7ff096e4, 0x89a51e56,
   362  	0x49a10878, 0x9fa0a7ab, 0xb438b1a3, 0x0a19ca3f, 0x7124b50d, 0x9e43a4aa,
   363  	0xaa7cb2ee, 0x9bb62047, 0xcdc0caeb, 0xeacaefe8, 0x4d860742, 0x28fd4c7a,
   364  	0x1284b8d2, 0xd9c29437, 0x979d3675, 0x325c7293,
   365  }
   366  
   367  var refRecData = [16]uint64{
   368  	0x58598ca55f4d8912, 0xaa693e5be14711cd, 0xb096c600ff027dd2,
   369  	0x1f40a812d0522802, 0xfb43bf4be660cb72, 0xcd728fc813f1497b,
   370  	0xe0a8113e69a7c6a0, 0x8c8f51d4c9c88f97, 0x80ab7f7bc39c76ff,
   371  	0xe8fef99aefe832df, 0x6dc92acda68b5f47, 0xc8c5f96245e7593a,
   372  	0xf39e826377d22c9b, 0xcd9d4b43dbf63766, 0x5edc00fd070c8c35,
   373  	0x0e276b9248602dad,
   374  }
   375  
   376  var refShared = [16]uint64{
   377  	0xbebb3fd98d7034e2, 0x29c4b2ea6a380c12, 0xa2ae45b71e5907d1,
   378  	0x9b56c7c1f0af49db, 0x32395d7fb86a2d24, 0xd053584ceb1c385a,
   379  	0xcc2c0237d34d314c, 0xad1a0c306dd9ccd4, 0x2855e6538d0ebbb8,
   380  	0xbe63c1c570c701a5, 0x1f5ddfe799faba45, 0xb80b47756a9bdfcf,
   381  	0x8c759c24104dc294, 0x0843f094d35ee7a1, 0x5e45e60f1679c9a0,
   382  	0xdb6cc179795d5336,
   383  }
   384  
   385  func TestComputeKeyAlice(t *testing.T) {
   386  	var shared [16]uint64
   387  	kexComputeKeyAlice(&refBobPk, &refAliceSk, &refRecData, &shared)
   388  
   389  	for i, v := range refShared {
   390  		if shared[i] != v {
   391  			t.Fatalf("shared mismatch: [%d]: %016x != %016x", i, shared[i], v)
   392  		}
   393  	}
   394  }