1.一種預(yù)定函數(shù)的混淆執(zhí)行的方法,其中,對(duì)于預(yù)定函數(shù),存在一個(gè)或多個(gè)對(duì)應(yīng)的第一函數(shù)使得,對(duì)于用于該函數(shù)的輸入集,可以通過(guò)以下步驟生成對(duì)應(yīng)的輸出集:(a)將輸入集表示為對(duì)應(yīng)的值集,其中,每個(gè)值都包括對(duì)應(yīng)的多個(gè)輸入中的每一個(gè)輸入的至少一部分,(b)從值集生成一個(gè)或多個(gè)結(jié)果的集合,其中,通過(guò)向值集中的一個(gè)或多個(gè)值的對(duì)應(yīng)集合應(yīng)用對(duì)應(yīng)的第一函數(shù)來(lái)生成每個(gè)結(jié)果,以及(c)將每個(gè)輸出構(gòu)成為結(jié)果中對(duì)應(yīng)的一個(gè)的一部分,或者為對(duì)應(yīng)的多個(gè)結(jié)果中的每個(gè)結(jié)果的至少一部分的組合;
其中,該方法包括:
為值集中的每一個(gè)值獲取所述值的一個(gè)或多個(gè)對(duì)應(yīng)的變換版本,其中,所述值的每個(gè)變換版本為向所述值應(yīng)用與所述變換版本對(duì)應(yīng)的相應(yīng)雙射的結(jié)果;以及
生成與結(jié)果集對(duì)應(yīng)的變換結(jié)果集,其中,每個(gè)變換結(jié)果對(duì)應(yīng)于相應(yīng)的結(jié)果且每個(gè)變換結(jié)果是通過(guò)向?qū)?yīng)于第一函數(shù)的一個(gè)或多個(gè)值的集合中的一個(gè)或多個(gè)值的變換版本應(yīng)用相應(yīng)的第二函數(shù)而生成的,所述第二函數(shù)對(duì)應(yīng)于與相應(yīng)結(jié)果對(duì)應(yīng)的第一函數(shù),其中,對(duì)于相應(yīng)的第二函數(shù),存在用于從所述變換結(jié)果獲取相應(yīng)結(jié)果的對(duì)應(yīng)雙射。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述獲取包括:
獲取值集;以及
針對(duì)所獲取的值集中的每個(gè)值生成所述值的所述一個(gè)或多個(gè)對(duì)應(yīng)變換版本,其中,所述值的所述一個(gè)或多個(gè)對(duì)應(yīng)變換版本中的每一個(gè)是通過(guò)向所述值應(yīng)用對(duì)應(yīng)于所述變換版本的所述相應(yīng)雙射而生成的。
3.根據(jù)權(quán)利要求2所述的方法,其中,獲取值集包括:
獲取輸入集;以及
從輸入集生成值集。
4.根據(jù)權(quán)利要求1所述的方法,其中,所述獲取包括在執(zhí)行所述獲取和所述生成的第一模塊處從第二模塊接收所述值集中的每個(gè)值的所述一個(gè)或多個(gè)變換版本。
5.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,包括:
通過(guò)向每個(gè)變換結(jié)果應(yīng)用雙射而從變換結(jié)果集生成結(jié)果集,所述雙射對(duì)應(yīng)于針對(duì)該變換結(jié)果的第二函數(shù)。
6.根據(jù)權(quán)利要求5所述的方法,包括:
從結(jié)果集獲取輸出集。
7.根據(jù)權(quán)利要求1至4中的任一項(xiàng)所述的方法,包括將變換結(jié)果集從執(zhí)行所述獲取和所述生成的第一模塊輸出至第二模塊。
8.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中,對(duì)于值集中的每一個(gè)值,對(duì)應(yīng)的多個(gè)輸入中的每一個(gè)輸入的至少一部分包括所述對(duì)應(yīng)的多個(gè)輸入中的每一個(gè)輸入的全部。
9.根據(jù)權(quán)利要求1至8中的任一項(xiàng)所述的方法,其中,對(duì)于值集中的每一個(gè)值,對(duì)應(yīng)的多個(gè)輸入中的每一個(gè)輸入的至少一部分包括所述對(duì)應(yīng)的多個(gè)輸入中的每一個(gè)輸入的預(yù)定數(shù)目的位。
10.根據(jù)權(quán)利要求9所述的方法,其中,所述預(yù)定數(shù)目為1。
11.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中,所述預(yù)定函數(shù)對(duì)應(yīng)于查找表,其將輸入集中的輸入映射至輸出集中的對(duì)應(yīng)輸出。
12.一種將處理器配置成以混淆的方式實(shí)現(xiàn)預(yù)定函數(shù)的方法,其中,對(duì)于預(yù)定函數(shù),存在一個(gè)或多個(gè)對(duì)應(yīng)的第一函數(shù)使得,對(duì)于針對(duì)該函數(shù)的輸入集,可以通過(guò)以下步驟生成對(duì)應(yīng)的輸出集:(a)將輸入集表示為對(duì)應(yīng)的值集,其中,每個(gè)值都包括對(duì)應(yīng)的多個(gè)輸入中的每一個(gè)輸入的至少一部分,(b)從值集生成一個(gè)或多個(gè)結(jié)果的集合,其中,通過(guò)向值集中的一個(gè)或多個(gè)值的對(duì)應(yīng)集合應(yīng)用對(duì)應(yīng)的第一函數(shù)來(lái)生成每個(gè)結(jié)果,以及(c)將每個(gè)輸出構(gòu)成為結(jié)果中對(duì)應(yīng)的一個(gè)的一部分或者為對(duì)應(yīng)的多個(gè)結(jié)果中的每個(gè)結(jié)果的至少一部分的組合;
其中,該方法包括:
針對(duì)每個(gè)第一函數(shù):
為針對(duì)第一函數(shù)的一個(gè)或多個(gè)值的對(duì)應(yīng)集合中的每個(gè)值指定對(duì)應(yīng)雙射;
為第一函數(shù)指定雙射;以及
基于指定的雙射,確定與第一函數(shù)對(duì)應(yīng)的第二函數(shù),其中,第二函數(shù)在應(yīng)用于當(dāng)在它們對(duì)應(yīng)的雙射下變換時(shí)的針對(duì)第一函數(shù)的一個(gè)或多個(gè)值的相應(yīng)集合中的一個(gè)或多個(gè)值時(shí)輸出在針對(duì)第一函數(shù)的雙射下的與第一函數(shù)對(duì)應(yīng)的結(jié)果的變換版本;以及
將處理器配置成使用所確定的區(qū)段函數(shù)實(shí)現(xiàn)根據(jù)權(quán)利要求1所述的方法。
13.一種裝置,其被布置成實(shí)現(xiàn)根據(jù)權(quán)利要求1至12中的任一項(xiàng)的方法。
14.一種計(jì)算機(jī)程序,其當(dāng)由處理器執(zhí)行時(shí)引起處理器實(shí)現(xiàn)根據(jù)權(quán)利要求1至12中的任一項(xiàng)的方法。
15.一種存儲(chǔ)根據(jù)權(quán)利要求14的計(jì)算機(jī)程序的計(jì)算機(jī)可讀介質(zhì)。