1*e7b1675dSTing-Kang Chang"""Defines a set of genrules to copy test vectors from Wycheproof. 2*e7b1675dSTing-Kang Chang 3*e7b1675dSTing-Kang ChangThis is needed to assist the transition to using Bazel Modules, in that Bazel 4*e7b1675dSTing-Kang ChangModules packages use a different folder naming for dependencies compared to 5*e7b1675dSTing-Kang ChangWORKSPACE-based packages. 6*e7b1675dSTing-Kang Chang""" 7*e7b1675dSTing-Kang Chang 8*e7b1675dSTing-Kang Changpackage(default_visibility = ["//:__subpackages__"]) 9*e7b1675dSTing-Kang Chang 10*e7b1675dSTing-Kang Changlicenses(["notice"]) 11*e7b1675dSTing-Kang Chang 12*e7b1675dSTing-Kang Changgenrule( 13*e7b1675dSTing-Kang Chang name = "aes_cmac", 14*e7b1675dSTing-Kang Chang srcs = ["@wycheproof//testvectors:aes_cmac"], 15*e7b1675dSTing-Kang Chang outs = ["aes_cmac_test.json"], 16*e7b1675dSTing-Kang Chang cmd = "cp $(SRCS) $(@D)/", 17*e7b1675dSTing-Kang Chang testonly = 1, 18*e7b1675dSTing-Kang Chang) 19*e7b1675dSTing-Kang Chang 20*e7b1675dSTing-Kang Changgenrule( 21*e7b1675dSTing-Kang Chang name = "aes_gcm", 22*e7b1675dSTing-Kang Chang srcs = ["@wycheproof//testvectors:aes_gcm"], 23*e7b1675dSTing-Kang Chang outs = ["aes_gcm_test.json"], 24*e7b1675dSTing-Kang Chang cmd = "cp $(SRCS) $(@D)/", 25*e7b1675dSTing-Kang Chang testonly = 1, 26*e7b1675dSTing-Kang Chang) 27*e7b1675dSTing-Kang Chang 28*e7b1675dSTing-Kang Changgenrule( 29*e7b1675dSTing-Kang Chang name = "aes_gcm_siv", 30*e7b1675dSTing-Kang Chang srcs = ["@wycheproof//testvectors:aes_gcm_siv"], 31*e7b1675dSTing-Kang Chang outs = ["aes_gcm_siv_test.json"], 32*e7b1675dSTing-Kang Chang cmd = "cp $(SRCS) $(@D)/", 33*e7b1675dSTing-Kang Chang testonly = 1, 34*e7b1675dSTing-Kang Chang) 35*e7b1675dSTing-Kang Chang 36*e7b1675dSTing-Kang Changgenrule( 37*e7b1675dSTing-Kang Chang name = "aes_eax", 38*e7b1675dSTing-Kang Chang srcs = ["@wycheproof//testvectors:aes_eax"], 39*e7b1675dSTing-Kang Chang outs = ["aes_eax_test.json"], 40*e7b1675dSTing-Kang Chang cmd = "cp $(SRCS) $(@D)/", 41*e7b1675dSTing-Kang Chang testonly = 1, 42*e7b1675dSTing-Kang Chang) 43*e7b1675dSTing-Kang Chang 44*e7b1675dSTing-Kang Changgenrule( 45*e7b1675dSTing-Kang Chang name = "aes_siv_cmac", 46*e7b1675dSTing-Kang Chang srcs = ["@wycheproof//testvectors:aes_siv_cmac"], 47*e7b1675dSTing-Kang Chang outs = [ 48*e7b1675dSTing-Kang Chang "aead_aes_siv_cmac_test.json", 49*e7b1675dSTing-Kang Chang "aes_siv_cmac_test.json", 50*e7b1675dSTing-Kang Chang ], 51*e7b1675dSTing-Kang Chang cmd = "cp $(SRCS) $(@D)/", 52*e7b1675dSTing-Kang Chang testonly = 1, 53*e7b1675dSTing-Kang Chang) 54*e7b1675dSTing-Kang Chang 55*e7b1675dSTing-Kang Changgenrule( 56*e7b1675dSTing-Kang Chang name = "chacha20_poly1305", 57*e7b1675dSTing-Kang Chang srcs = ["@wycheproof//testvectors:chacha20_poly1305"], 58*e7b1675dSTing-Kang Chang outs = [ 59*e7b1675dSTing-Kang Chang "chacha20_poly1305_test.json", 60*e7b1675dSTing-Kang Chang "xchacha20_poly1305_test.json", 61*e7b1675dSTing-Kang Chang ], 62*e7b1675dSTing-Kang Chang cmd = "cp $(SRCS) $(@D)/", 63*e7b1675dSTing-Kang Chang testonly = 1, 64*e7b1675dSTing-Kang Chang) 65*e7b1675dSTing-Kang Chang 66*e7b1675dSTing-Kang Changgenrule( 67*e7b1675dSTing-Kang Chang name = "hmac", 68*e7b1675dSTing-Kang Chang srcs = ["@wycheproof//testvectors:hmac"], 69*e7b1675dSTing-Kang Chang outs = [ 70*e7b1675dSTing-Kang Chang "hmac_sha1_test.json", 71*e7b1675dSTing-Kang Chang "hmac_sha224_test.json", 72*e7b1675dSTing-Kang Chang "hmac_sha256_test.json", 73*e7b1675dSTing-Kang Chang "hmac_sha384_test.json", 74*e7b1675dSTing-Kang Chang "hmac_sha3_224_test.json", 75*e7b1675dSTing-Kang Chang "hmac_sha3_256_test.json", 76*e7b1675dSTing-Kang Chang "hmac_sha3_384_test.json", 77*e7b1675dSTing-Kang Chang "hmac_sha3_512_test.json", 78*e7b1675dSTing-Kang Chang "hmac_sha512_test.json", 79*e7b1675dSTing-Kang Chang ], 80*e7b1675dSTing-Kang Chang cmd = "cp $(SRCS) $(@D)/", 81*e7b1675dSTing-Kang Chang testonly = 1, 82*e7b1675dSTing-Kang Chang) 83*e7b1675dSTing-Kang Chang 84*e7b1675dSTing-Kang Changgenrule( 85*e7b1675dSTing-Kang Chang name = "rsa_pss", 86*e7b1675dSTing-Kang Chang srcs = ["@wycheproof//testvectors:rsa_pss"], 87*e7b1675dSTing-Kang Chang outs = [ 88*e7b1675dSTing-Kang Chang "rsa_pss_2048_sha1_mgf1_20_test.json", 89*e7b1675dSTing-Kang Chang "rsa_pss_2048_sha256_mgf1_0_test.json", 90*e7b1675dSTing-Kang Chang "rsa_pss_2048_sha256_mgf1_32_test.json", 91*e7b1675dSTing-Kang Chang "rsa_pss_3072_sha256_mgf1_32_test.json", 92*e7b1675dSTing-Kang Chang "rsa_pss_4096_sha256_mgf1_32_test.json", 93*e7b1675dSTing-Kang Chang "rsa_pss_4096_sha512_mgf1_32_test.json", 94*e7b1675dSTing-Kang Chang "rsa_pss_misc_test.json", 95*e7b1675dSTing-Kang Chang ], 96*e7b1675dSTing-Kang Chang cmd = "cp $(SRCS) $(@D)/", 97*e7b1675dSTing-Kang Chang testonly = 1, 98*e7b1675dSTing-Kang Chang) 99*e7b1675dSTing-Kang Chang 100*e7b1675dSTing-Kang Changgenrule( 101*e7b1675dSTing-Kang Chang name = "rsa_signature", 102*e7b1675dSTing-Kang Chang srcs = ["@wycheproof//testvectors:rsa_signature"], 103*e7b1675dSTing-Kang Chang outs = [ 104*e7b1675dSTing-Kang Chang # Signature verification 105*e7b1675dSTing-Kang Chang "rsa_signature_2048_sha224_test.json", 106*e7b1675dSTing-Kang Chang "rsa_signature_2048_sha256_test.json", 107*e7b1675dSTing-Kang Chang "rsa_signature_2048_sha512_test.json", 108*e7b1675dSTing-Kang Chang "rsa_signature_3072_sha256_test.json", 109*e7b1675dSTing-Kang Chang "rsa_signature_3072_sha384_test.json", 110*e7b1675dSTing-Kang Chang "rsa_signature_3072_sha512_test.json", 111*e7b1675dSTing-Kang Chang "rsa_signature_4096_sha384_test.json", 112*e7b1675dSTing-Kang Chang "rsa_signature_4096_sha512_test.json", 113*e7b1675dSTing-Kang Chang "rsa_signature_2048_sha3_224_test.json", 114*e7b1675dSTing-Kang Chang "rsa_signature_2048_sha3_256_test.json", 115*e7b1675dSTing-Kang Chang "rsa_signature_2048_sha3_384_test.json", 116*e7b1675dSTing-Kang Chang "rsa_signature_2048_sha3_512_test.json", 117*e7b1675dSTing-Kang Chang "rsa_signature_3072_sha3_256_test.json", 118*e7b1675dSTing-Kang Chang "rsa_signature_3072_sha3_384_test.json", 119*e7b1675dSTing-Kang Chang "rsa_signature_3072_sha3_512_test.json", 120*e7b1675dSTing-Kang Chang "rsa_signature_test.json", 121*e7b1675dSTing-Kang Chang # Signature generation 122*e7b1675dSTing-Kang Chang "rsa_sig_gen_misc_test.json", 123*e7b1675dSTing-Kang Chang ], 124*e7b1675dSTing-Kang Chang cmd = "cp $(SRCS) $(@D)/", 125*e7b1675dSTing-Kang Chang testonly = 1, 126*e7b1675dSTing-Kang Chang) 127*e7b1675dSTing-Kang Chang 128*e7b1675dSTing-Kang Changgenrule( 129*e7b1675dSTing-Kang Chang name = "ecdsa_webcrypto", 130*e7b1675dSTing-Kang Chang srcs = ["@wycheproof//testvectors:ecdsa_webcrypto"], 131*e7b1675dSTing-Kang Chang outs = ["ecdsa_webcrypto_test.json"], 132*e7b1675dSTing-Kang Chang cmd = "cp $(SRCS) $(@D)/", 133*e7b1675dSTing-Kang Chang testonly = 1, 134*e7b1675dSTing-Kang Chang) 135*e7b1675dSTing-Kang Chang 136*e7b1675dSTing-Kang Changgenrule( 137*e7b1675dSTing-Kang Chang name = "ecdsa", 138*e7b1675dSTing-Kang Chang srcs = ["@wycheproof//testvectors:ecdsa"], 139*e7b1675dSTing-Kang Chang outs = [ 140*e7b1675dSTing-Kang Chang "ecdsa_brainpoolP224r1_sha224_test.json", 141*e7b1675dSTing-Kang Chang "ecdsa_brainpoolP256r1_sha256_test.json", 142*e7b1675dSTing-Kang Chang "ecdsa_brainpoolP320r1_sha384_test.json", 143*e7b1675dSTing-Kang Chang "ecdsa_brainpoolP384r1_sha384_test.json", 144*e7b1675dSTing-Kang Chang "ecdsa_brainpoolP512r1_sha512_test.json", 145*e7b1675dSTing-Kang Chang "ecdsa_secp224r1_sha224_test.json", 146*e7b1675dSTing-Kang Chang "ecdsa_secp224r1_sha256_test.json", 147*e7b1675dSTing-Kang Chang "ecdsa_secp224r1_sha3_224_test.json", 148*e7b1675dSTing-Kang Chang "ecdsa_secp224r1_sha3_256_test.json", 149*e7b1675dSTing-Kang Chang "ecdsa_secp224r1_sha3_512_test.json", 150*e7b1675dSTing-Kang Chang "ecdsa_secp224r1_sha512_test.json", 151*e7b1675dSTing-Kang Chang "ecdsa_secp256k1_sha256_test.json", 152*e7b1675dSTing-Kang Chang "ecdsa_secp256k1_sha3_256_test.json", 153*e7b1675dSTing-Kang Chang "ecdsa_secp256k1_sha3_512_test.json", 154*e7b1675dSTing-Kang Chang "ecdsa_secp256k1_sha512_test.json", 155*e7b1675dSTing-Kang Chang "ecdsa_secp256r1_sha256_test.json", 156*e7b1675dSTing-Kang Chang "ecdsa_secp256r1_sha3_256_test.json", 157*e7b1675dSTing-Kang Chang "ecdsa_secp256r1_sha3_512_test.json", 158*e7b1675dSTing-Kang Chang "ecdsa_secp256r1_sha512_test.json", 159*e7b1675dSTing-Kang Chang "ecdsa_secp384r1_sha384_test.json", 160*e7b1675dSTing-Kang Chang "ecdsa_secp384r1_sha3_384_test.json", 161*e7b1675dSTing-Kang Chang "ecdsa_secp384r1_sha3_512_test.json", 162*e7b1675dSTing-Kang Chang "ecdsa_secp384r1_sha512_test.json", 163*e7b1675dSTing-Kang Chang "ecdsa_secp521r1_sha3_512_test.json", 164*e7b1675dSTing-Kang Chang "ecdsa_secp521r1_sha512_test.json", 165*e7b1675dSTing-Kang Chang "ecdsa_test.json", # deprecated: use the files above 166*e7b1675dSTing-Kang Chang ], 167*e7b1675dSTing-Kang Chang cmd = "cp $(SRCS) $(@D)/", 168*e7b1675dSTing-Kang Chang testonly = 1, 169*e7b1675dSTing-Kang Chang) 170*e7b1675dSTing-Kang Chang 171*e7b1675dSTing-Kang Changgenrule( 172*e7b1675dSTing-Kang Chang name = "eddsa", 173*e7b1675dSTing-Kang Chang srcs = ["@wycheproof//testvectors:eddsa"], 174*e7b1675dSTing-Kang Chang outs = [ 175*e7b1675dSTing-Kang Chang "ed448_test.json", 176*e7b1675dSTing-Kang Chang "eddsa_test.json", 177*e7b1675dSTing-Kang Chang ], 178*e7b1675dSTing-Kang Chang cmd = "cp $(SRCS) $(@D)/", 179*e7b1675dSTing-Kang Chang testonly = 1, 180*e7b1675dSTing-Kang Chang) 181*e7b1675dSTing-Kang Chang 182*e7b1675dSTing-Kang Changgenrule( 183*e7b1675dSTing-Kang Chang name = "ecdh", 184*e7b1675dSTing-Kang Chang srcs = ["@wycheproof//testvectors:ecdh"], 185*e7b1675dSTing-Kang Chang outs = [ 186*e7b1675dSTing-Kang Chang "ecdh_brainpoolP224r1_test.json", 187*e7b1675dSTing-Kang Chang "ecdh_brainpoolP256r1_test.json", 188*e7b1675dSTing-Kang Chang "ecdh_brainpoolP320r1_test.json", 189*e7b1675dSTing-Kang Chang "ecdh_brainpoolP384r1_test.json", 190*e7b1675dSTing-Kang Chang "ecdh_brainpoolP512r1_test.json", 191*e7b1675dSTing-Kang Chang "ecdh_secp224r1_test.json", 192*e7b1675dSTing-Kang Chang "ecdh_secp256k1_test.json", 193*e7b1675dSTing-Kang Chang "ecdh_secp256r1_test.json", 194*e7b1675dSTing-Kang Chang "ecdh_secp384r1_test.json", 195*e7b1675dSTing-Kang Chang "ecdh_secp521r1_test.json", 196*e7b1675dSTing-Kang Chang "ecdh_test.json", # deprecated use the files above 197*e7b1675dSTing-Kang Chang ], 198*e7b1675dSTing-Kang Chang cmd = "cp $(SRCS) $(@D)/", 199*e7b1675dSTing-Kang Chang testonly = 1, 200*e7b1675dSTing-Kang Chang) 201