In cryptography, the branch number is a numerical value that characterizes the amount of diffusion introduced by a vectorial Boolean function F that maps an input vector a to output vector . For the (usual) case of a linear F the value of the differential branch number is produced by:applying nonzero values of a to the input of F; calculating for each input value a the Hamming weight , and adding weights and together; selecting the smallest combined weight across for all nonzero input values: .