: Cryptographic algorithms – even when designed for easy implementability on general purpose architectures – still show a huge performance gap between implementations in software and those using dedicated hardware. Such hardware is usually only able to deal with one single algorithm or a very narrowly deﬁned set of algorithms. The tradeoff between speed/throughput and ﬂexibility can be eased by programmable crypto architectures. These can be existing general purpose architectures enhanced by specialized functional units which fulﬁll the requirements of typical cryptographic algorithms. Alternatively, a fully custom architecture can be designed. In this paper we describe the methods used to design a programmable crypto architecture from scratch. We will introduce a set of typical cryptographic algorithms, investigate their requirements, and ﬁnally show the weighted result leading to our Cryptonite architecture.