Due to the sensitivity and unpredictability of chaos to the initial value, chaos mapping is widely used in the field of image encryption. In this paper an image encryption algorithm based on image block and double diffusion is presented. The algorithm adopts the structure of permutation-diffusion-block diffusion, which can encrypt the image in only one round, and the security is high. On this basis, a fast diffusion algorithm with row and column simultaneous diffusion is proposed, and a block diffusion algorithm using the previous pixel to influence the current pixel is designed. The SHA-256 algorithm and cipher image are used to update the initial values and parameters of the chaotic system, which enhances the ability of the algorithm to resist the chosen plaintext attack. Experimental results and encryption performance analysis show that the algorithm runs fast and has high security.