the solution
a coin based on Whirlpool T, will be neither mineable by asics or gpus.
an overview
http://en.wikipedia.org/wiki/Whirlpool_(cryptography)
an example implementation in C
First take a look at Merkle–Damgård construction. Virtually all hash functions follow such construction. Informally, it applies a compression function iteratively to reduce the input size to get some fixed-length output. For instance, you can hash a whole DVD (~ 4.3 GB) and get a 128-bit code.
Let M be the input to an MD-based hash function. The MD construction appends a pad and the length of M to it, so as to prevent several attacks.
Whirlpool uses a compression function named W. W is similar to a block cipher named Rijndael, which is now standardized under the name AES (Advanced Encryption Standard). Rijndael has 3 variants: 128-bit, 192-bit, and 256-bit. The inventors of Whirlpool decided that no Rijndael variant is secure enough to be used as the compression function for a hash. Thus, W is designed so as it accepts 512-bit inputs, and produces 512-bit outputs. The key size of W is 512 bits as well.
Whirlpool works as follows. Let M be the input. M is divided into 512-bit segments: M=(M0,M1,…,Mt). Let h0 be some initial value (fixed by Whirlpool standard).
For i=1,2,…,t, apply W iteratively as follows:
where the first input to W is a block-to-be-encrypted, and its second input is the encryption key. ⊕ denotes the XOR operation.
ht is considered as the output of the Whirlpool hash function.
The whole complexity lies in designing W. As pointed out before, it is similar to Rijndael, so you can understand it if you get familiar with Rijndael, on which I have designed a set of slides. The slides are self-contained and do not assume any math background beyond high school.