SNTRUP优化封装算法

输入:编码后的公钥 K ¯ ( x )

输出:密文C

1、对编码后的公钥 K ¯ ( x ) 解码,生成 K ( x ) 多项式

2、生成一个属于t-small的多项式 r ( x )

3、使用Toom-Cook算法对 K ( x ) r ( x ) 相乘进行优化生成 c ( x )

4、对相乘结果 c ( x ) 进行编码得到 c ¯ ( x )

5、对 K ¯ ( x ) 进行 h a s h 4 ( K ¯ ( x ) ) 运算

6、对 r ( x ) 进行编码生成 r ¯ ( x ) 再进行 h a s h 1 ( h a s h 3 ( r ¯ ( x ) ) ) 运算

7、密文C等于 c ¯ ( x ) h a s h 2 ( h a s h 3 ( r ¯ ( x ) ) ) h a s h 4 ( K ¯ ( x ) ) 的组合