Fuzz introspector: fuzz_private_key
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
9 37 ellipticcurve.utils.der._generateLengthBytes call site: 00037 ellipticcurve.utils.der.encodePrimitive
5 63 ellipticcurve.publicKey.PublicKey.toDer call site: 00063 ellipticcurve.utils.der.encodeConstructed
2 22 ellipticcurve.utils.der._encodeInteger call site: 00022 ellipticcurve.utils.binary.hexFromInt
2 57 ellipticcurve.privateKey.PrivateKey.toPem call site: 00057 .len
2 113 ellipticcurve.publicKey.PublicKey.fromString call site: 00113 ellipticcurve.utils.binary.intFromHex
2 135 ellipticcurve.signature.Signature._toString call site: 00135 ellipticcurve.utils.der.encodePrimitive
2 138 ellipticcurve.signature.Signature.toDer call site: 00138 ellipticcurve.utils.compatibility.toBytes
2 144 ellipticcurve.signature.Signature.fromBase64 call site: 00144 .isinstance
1 50 ellipticcurve.utils.compatibility.safeBinaryFromHex call site: 00050 binascii.unhexlify
1 85 ellipticcurve.utils.compatibility.safeHexFromBinary call site: 00085 binascii.hexlify
1 89 ellipticcurve.utils.der._readLengthBytes call site: 00089 ellipticcurve.utils.binary.intFromHex
1 93 ellipticcurve.utils.der._getTagData call site: 00093 _hexTagToType.get

Fuzzer calltree

0 ...fuzz_private_key.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 ellipticcurve.privateKey.PrivateKey.__init__ [function] [call site] 00002
2 ellipticcurve.utils.integer.RandomInteger.between [function] [call site] 00003
3 random.SystemRandom [function] [call site] 00004
3 random.SystemRandom.randrange [function] [call site] 00005
1 ellipticcurve.privateKey.PrivateKey.publicKey [function] [call site] 00006
2 math.Math.multiply [function] [call site] 00007
2 ellipticcurve.publicKey.PublicKey.__init__ [function] [call site] 00008
1 ellipticcurve.privateKey.PrivateKey.toPem [function] [call site] 00009
2 ellipticcurve.privateKey.PrivateKey.toDer [function] [call site] 00010
3 ellipticcurve.privateKey.PrivateKey.publicKey [function] [call site] 00011
3 ellipticcurve.publicKey.PublicKey.toString [function] [call site] 00012
4 ellipticcurve.curve.CurveFp.length [function] [call site] 00013
5 <builtin>.len [function] [call site] 00014
4 ellipticcurve.utils.binary.hexFromInt [function] [call site] 00015
5 <builtin>.len [function] [call site] 00016
4 ellipticcurve.utils.binary.hexFromInt [function] [call site] 00017
3 ellipticcurve.utils.der.encodeConstructed [function] [call site] 00018
4 ellipticcurve.utils.der.encodePrimitive [function] [call site] 00019
5 ellipticcurve.utils.der._encodeInteger [function] [call site] 00020
6 <builtin>.abs [function] [call site] 00021
6 ellipticcurve.utils.binary.hexFromInt [function] [call site] 00022
6 <builtin>.len [function] [call site] 00023
6 ellipticcurve.utils.binary.hexFromInt [function] [call site] 00024
6 ellipticcurve.utils.binary.bitsFromHex [function] [call site] 00025
7 <builtin>.len [function] [call site] 00026
7 ellipticcurve.utils.binary.intFromHex [function] [call site] 00027
8 <builtin>.int [function] [call site] 00028
7 <builtin>.format [function] [call site] 00029
5 ellipticcurve.utils.oid.oidToHex [function] [call site] 00030
6 ellipticcurve.utils.binary.hexFromInt [function] [call site] 00031
6 ellipticcurve.utils.oid._oidNumberToHex [function] [call site] 00032
7 ellipticcurve.utils.binary.hexFromInt [function] [call site] 00033
5 ellipticcurve.utils.der._generateLengthBytes [function] [call site] 00034
6 <builtin>.len [function] [call site] 00035
6 ellipticcurve.utils.binary.hexFromInt [function] [call site] 00036
6 length.zfill [function] [call site] 00037
6 <builtin>.len [function] [call site] 00038
6 ellipticcurve.utils.binary.hexFromInt [function] [call site] 00039
3 ellipticcurve.utils.der.encodePrimitive [function] [call site] 00040
3 ellipticcurve.utils.binary.hexFromInt [function] [call site] 00041
3 ellipticcurve.utils.der.encodePrimitive [function] [call site] 00042
3 ellipticcurve.utils.der.encodePrimitive [function] [call site] 00043
3 ellipticcurve.utils.der.encodePrimitive [function] [call site] 00044
3 ellipticcurve.utils.der.encodePrimitive [function] [call site] 00045
3 ellipticcurve.utils.der.encodePrimitive [function] [call site] 00046
3 ellipticcurve.utils.binary.byteStringFromHex [function] [call site] 00047
4 ellipticcurve.utils.compatibility.safeBinaryFromHex [function] [call site] 00048
5 <builtin>.len [function] [call site] 00049
5 binascii.unhexlify [function] [call site] 00050
5 binascii.unhexlify [function] [call site] 00051
2 ellipticcurve.utils.binary.base64FromByteString [function] [call site] 00052
3 base64.b64encode [function] [call site] 00053
3 ellipticcurve.utils.compatibility.toString [function] [call site] 00054
4 base64.b64encode.decode [function] [call site] 00055
4 binascii.hexlify.decode [function] [call site] 00056
2 ellipticcurve.utils.pem.createPem [function] [call site] 00057
3 <builtin>.len [function] [call site] 00058
3 <builtin>.range [function] [call site] 00059
3 template.format [function] [call site] 00060
1 ellipticcurve.publicKey.PublicKey.toPem [function] [call site] 00061
2 ellipticcurve.publicKey.PublicKey.toDer [function] [call site] 00062
3 ellipticcurve.utils.der.encodeConstructed [function] [call site] 00063
3 ellipticcurve.utils.der.encodeConstructed [function] [call site] 00064
3 ellipticcurve.utils.der.encodePrimitive [function] [call site] 00065
3 ellipticcurve.utils.der.encodePrimitive [function] [call site] 00066
3 ellipticcurve.publicKey.PublicKey.toString [function] [call site] 00067
3 ellipticcurve.utils.der.encodePrimitive [function] [call site] 00068
3 ellipticcurve.utils.binary.byteStringFromHex [function] [call site] 00069
2 ellipticcurve.utils.binary.base64FromByteString [function] [call site] 00070
2 ellipticcurve.utils.pem.createPem [function] [call site] 00071
1 ellipticcurve.privateKey.PrivateKey.fromPem [function] [call site] 00072
2 ellipticcurve.utils.pem.getPemContent [function] [call site] 00073
3 template.format [function] [call site] 00074
3 pattern.splitlines [function] [call site] 00075
3 pem.splitlines [function] [call site] 00076
3 re.search [function] [call site] 00077
3 re.search.group [function] [call site] 00078
2 ellipticcurve.utils.binary.byteStringFromBase64 [function] [call site] 00079
3 base64.b64decode [function] [call site] 00080
2 ellipticcurve.privateKey.PrivateKey.fromDer [function] [call site] 00081
3 ellipticcurve.utils.binary.hexFromByteString [function] [call site] 00082
4 ellipticcurve.utils.compatibility.safeHexFromBinary [function] [call site] 00083
5 binascii.hexlify [function] [call site] 00084
5 ellipticcurve.utils.compatibility.toString [function] [call site] 00085
5 binascii.hexlify [function] [call site] 00086
3 ellipticcurve.utils.der.parse [function] [call site] 00087
4 ellipticcurve.utils.der._readLengthBytes [function] [call site] 00088
5 ellipticcurve.utils.binary.intFromHex [function] [call site] 00089
5 ellipticcurve.utils.binary.intFromHex [function] [call site] 00090
4 <builtin>.len [function] [call site] 00091
4 ellipticcurve.utils.der._getTagData [function] [call site] 00092
5 ellipticcurve.utils.binary.bitsFromHex [function] [call site] 00093
5 _hexTagToType.get [function] [call site] 00094
4 ellipticcurve.utils.der.parse [function] [call site] 00095
4 ellipticcurve.utils.der.parse [function] [call site] 00096
3 ellipticcurve.curve.getByOid [function] [call site] 00097
3 ellipticcurve.privateKey.PrivateKey.fromString [function] [call site] 00098
4 ellipticcurve.utils.binary.intFromHex [function] [call site] 00099
4 ellipticcurve.privateKey.PrivateKey.__init__ [function] [call site] 00100
3 ellipticcurve.privateKey.PrivateKey.publicKey [function] [call site] 00101
3 ellipticcurve.publicKey.PublicKey.toString [function] [call site] 00102
1 ellipticcurve.publicKey.PublicKey.fromPem [function] [call site] 00103
2 ellipticcurve.utils.pem.getPemContent [function] [call site] 00104
2 ellipticcurve.utils.binary.byteStringFromBase64 [function] [call site] 00105
2 ellipticcurve.publicKey.PublicKey.fromDer [function] [call site] 00106
3 ellipticcurve.utils.binary.hexFromByteString [function] [call site] 00107
3 ellipticcurve.utils.der.parse [function] [call site] 00108
3 ellipticcurve.curve.getByOid [function] [call site] 00109
3 ellipticcurve.publicKey.PublicKey.fromString [function] [call site] 00110
4 ellipticcurve.curve.CurveFp.length [function] [call site] 00111
4 <builtin>.len [function] [call site] 00112
4 ellipticcurve.point.Point.__init__ [function] [call site] 00113
4 ellipticcurve.utils.binary.intFromHex [function] [call site] 00114
4 ellipticcurve.utils.binary.intFromHex [function] [call site] 00115
4 ellipticcurve.publicKey.PublicKey.__init__ [function] [call site] 00116
4 ellipticcurve.point.Point.isAtInfinity [function] [call site] 00117
4 ellipticcurve.curve.CurveFp.contains [function] [call site] 00118
4 math.Math.multiply [function] [call site] 00119
1 fdp.ConsumeUnicode [function] [call site] 00120
1 ellipticcurve.ecdsa.Ecdsa.sign [function] [call site] 00121
2 ellipticcurve.utils.compatibility.toBytes [function] [call site] 00122
3 string.encode [function] [call site] 00123
2 hashlib.sha256 [function] [call site] 00124
2 ellipticcurve.utils.binary.numberFromByteString [function] [call site] 00125
3 ellipticcurve.utils.binary.hexFromByteString [function] [call site] 00126
3 ellipticcurve.utils.binary.intFromHex [function] [call site] 00127
2 ellipticcurve.utils.integer.RandomInteger.between [function] [call site] 00128
2 math.Math.multiply [function] [call site] 00129
2 math.Math.inv [function] [call site] 00130
2 ellipticcurve.signature.Signature.__init__ [function] [call site] 00131
1 ellipticcurve.signature.Signature.toBase64 [function] [call site] 00132
2 ellipticcurve.signature.Signature.toDer [function] [call site] 00133
3 ellipticcurve.signature.Signature._toString [function] [call site] 00134
4 ellipticcurve.utils.der.encodeConstructed [function] [call site] 00135
4 ellipticcurve.utils.der.encodePrimitive [function] [call site] 00136
4 ellipticcurve.utils.der.encodePrimitive [function] [call site] 00137
3 ellipticcurve.utils.binary.byteStringFromHex [function] [call site] 00138
3 <builtin>.chr [function] [call site] 00139
3 ellipticcurve.utils.compatibility.toBytes [function] [call site] 00140
2 ellipticcurve.utils.binary.base64FromByteString [function] [call site] 00141
1 ellipticcurve.signature.Signature.fromBase64 [function] [call site] 00142
2 ellipticcurve.utils.binary.byteStringFromBase64 [function] [call site] 00143
2 ellipticcurve.signature.Signature.fromDer [function] [call site] 00144
3 <builtin>.isinstance [function] [call site] 00145
3 <builtin>.ord [function] [call site] 00146
3 ellipticcurve.utils.binary.hexFromByteString [function] [call site] 00147
3 ellipticcurve.signature.Signature._fromString [function] [call site] 00148
4 ellipticcurve.utils.der.parse [function] [call site] 00149
4 ellipticcurve.signature.Signature.__init__ [function] [call site] 00150
1 ellipticcurve.ecdsa.Ecdsa.verify [function] [call site] 00151
2 ellipticcurve.utils.compatibility.toBytes [function] [call site] 00152
2 hashlib.sha256 [function] [call site] 00153
2 ellipticcurve.utils.binary.numberFromByteString [function] [call site] 00154
2 math.Math.inv [function] [call site] 00155
2 math.Math.multiply [function] [call site] 00156
2 math.Math.multiply [function] [call site] 00157
2 math.Math.add [function] [call site] 00158
2 v.isAtInfinity [function] [call site] 00159