1. A computer-implemented process for determining whether a computer user is a human or a computer program, comprising: using a computer for: generating a string of characters to be used as the foreground of a human interactive proof; arranging the characters spatially; tearing the characters into torn pieces by cutting an image of the arranged string characters into slices and dividing each of the slices into one or more parts, wherein the characters are arranged in a single line and characters are cut into upper and lower slices and wherein the upper and lower slices are based on a roughly horizontal curve defined by a set of cutting points; applying a conformal transform to the arranged torn characters, wherein the conformal transformation preserves the angles of any two crossing lines of any character of the string of characters to create a human interactive proof of the string of characters; requiring a computer user to identify the characters of the human interactive proof; comparing the computer user's identification of the characters of the human interactive proof to the string of characters; and determining whether the computer user is a human or a computer program by using the comparison of the computer user's identification of the characters of the human interactive proof to the string of characters.